In telecommunications, Advanced Data Communication Control Procedures (or Protocol) (ADCCP) is a bit-oriented data link layer protocol developed by the American National Standards Institute. It is functionally equivalent to the ISO High-Level Data Link Control (HDLC) protocol.[1]
Although the ISO and ANSI standards writers coordinated their work, so the differences between the standards are mainly editorial, there is one meaningful difference: ADCCP's definition of the basic subset required to implement balanced asynchronous mode includes the RSET frame, while HDLC makes it optional.[2]
One major difference between the two is the unnumbered (U) format. When extended (7-bit) sequence numbers are used, I and S frames have two-byte control fields. Like early versions of HDLC,[3] ADCCP specifies a 2-byte control field format with the P/F flag duplicated.[4] Later HDLC specifications, in particular ISO/IEC 13239, changed that to specify that U frames have 1-byte control fields in all cases.
First byte | Second byte | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
0 | N(S) | P/F | N(R) | I frame, N(S) is a 3-bit send sequence number | ||||||||||||
1 | 0 | type | P/F | N(R) | S frame, N(R) is a 3-bit receive sequence number | |||||||||||
1 | 1 | type | P/F | type | U frame | |||||||||||
0 | N(S) | P/F | N(R) | Extended I frame, N(S) is a 7-bit sequence number | ||||||||||||
1 | 0 | type | —0— | P/F | N(R) | Extended S frame, N(R) is a 7-bit sequence number | ||||||||||
1 | 1 | type | P/F | type | P/F | —0— | Extended U frame (ADCCP only) |