Design Article
Guide to Embedded Systems Architecture - Part 1: Defining middleware
Tammy Noergaard
4/19/2010 2:29 PM EDT
How these phases interact to configure, maintain, and terminate a point-to-point link is shown in Figure 10-6.

Figure 10-6: PPP phases [10-1]
As defined by PPP layer 1 (i.e., RFC1662), data is encapsulated within the PPP frame, an example of which is shown in Figure 10-7.
Figure 10-7: PPP HDLC-like frame [10-1]
The flag bytes mark the beginning and end of a frame, and are each set to 0x7E. The address byte is a high-level data-link control (HDLC) broadcast address and is always set to 0xFF, since PPP does not assign individual device addresses. The control byte is an HDLC command for UI (unnumbered information) and is set to 0x03.
The protocol field defines the protocol of the data within the information field (i.e., 0x0021 means the information field contains IP datagram, 0xC021 means the information field contains link control data, 0x8021 means the information field contains network control data - see Table 10-2). Finally, the information field contains the data for higher level protocols, and the FCS (frame check sequence) field contains the frame's checksum value.
| Value (in hex) | Protocol Name |
| 0001 | Padding Protocol |
| 0003 to 001f | reserved (transparency inefficient) |
| 007d | reserved (Control Escape) |
| 00cf | reserved (PPP NLPID) |
| 00ff | reserved (compression inefficient) |
| 8001 to 801f | unused |
| 807d | unused |
| 80cf | unused |
| 80ff | unused |
| c021 | Link Control Protocol |
| c023 | Password Authentication Protocol |
| c025 | Link Quality Report |
| c223 | Challenge Handshake Authentication Protocol |

