Nearly every byte-oriented protocol has borrowed something from HDLC. In the case of PPP, it is the framing format, which is shown in Figure 9-5. PPP frames open and close with the familiar HDLC flag. Following the opening flag, PPP uses a 1-byte address field. The address field is normally all ones, which means it is a broadcast address. Serial lines deliver frames in the order in which they are received, so frames are unnumbered by default. As in HDLC, a single byte set to 0x03 is used to indicate unnumbered information.
The protocol field follows the control byte. Two bytes are used to identify the encapsulated protocol. PPP protocol numbers for higher-layer protocols are assigned so as to ensure that protocol numbers begin with zero and end with one. Additionally, the PPP protocol number for an NCP is obtained by adding 32,768 to the corresponding network protocol. Protocols in the range of 0xc000 to 0xffff are reserved for link layer operations. Table 9-3 shows common PPP protocol numbers.
Table 9-3. PPP protocol numbers
Protocol number (hexadecimal) |
Protocol |
---|---|
0021 |
IP |
8021 |
IPCP (NCP for IP) |
002d |
Van Jacobson TCP/IP header compression (RFC 1144) |
002f |
Van Jacobson IP header compression |
c021 |
Link Control Protocol |
c025 |
Link Quality Report |
The protocol numbers 802d and 802f are not used because Van Jacobson header compression is negotiated within IPCP. When header compression is in use, 0x002d and 0x002f are used on the link layer frames, but this does not require a dedicated LCP protocol number to negotiate options because that is done within IPCP. A frame check sequence (FCS) closes the PPP frame to provide protection against corrupted data.
3.129.25.231