
- Ppp frame the field has a value of 11111111 how to#
- Ppp frame the field has a value of 11111111 serial#
As a result, if a receiver loses synchronisation, it can just read and discard bytes until it sees a 0x7e, at which points it knows it's at the start of a frame again. Other values can also be escaped if their presence would upset the modem. The flag sequence is escaped to 0x5e the control escape itself also has to be escaped, to 0x5d. Escaping is done by writing 0x7d, known as the control escape byte, followed by the byte to be escaped xor'd with 0x20.

Any occurrence of the flag byte in the content of the frame is escaped. The frame continues until the next flag byte. A byte value of 0x7e, called a flag sequence, indicates the start of the frame.
Ppp frame the field has a value of 11111111 serial#
PPP, over serial links like dialup, is framed using HDLC-like framing. In particular, the preamble, LCP, and FCS are at a higher level, and are not used to control framing. These sit right at the bottom of the protocol stack all the other details of the protocol are built on the idea of frames. It's difficult to find hard numbers for GFP's robustness, but a lot of modern protocols seem to use it so one can assume that they know what they're doing.īoth PPP and Ethernet have mechanisms for framing - that is, for breaking a stream of bits up into frames, in such a way that if a receiver loses track of what's what, it can pick up at the start of the next frame. Both are prone to errors if the payload just happens to contain a valid packet and line corruption causes the proceeding bytes to contain the "start of frame" byte sequence but that sounds highly improbable. The former is safer, the latter is more efficient.

If a target number N of successful frame detection has been achieved, then the receiver moves into the sync state. While in this intermediate state the receiver uses the tentative PLI (payload length indicator) field to determine the location of the next frame boundary. When the receiver finds a match it moves to the pre-sync state.

If no match is found the GFP moves forward by one byte as GFP assumes octet synchronous transmission given by the physical layer. The receiver is initially in the hunt state where it examines four bytes at a time to see if the CRC computed over the first two bytes equals the contents of the next two bytes. The GFP receiver synchronizes to the GFP frame boundary through a three-state process.

UPDATE: I found what I was looking for (which isn't strictly what I asked about) by looking up "GFP CRC-based framing".
Ppp frame the field has a value of 11111111 how to#
How does the protocol know where the next frame begins?ĭoes it just scan for the next occurrence of "flag" (in the case of PPP)? If so, what happens if the packet payload just so happens to contain "flag" itself? My point is that, whether packet-framing or "length" fields are used, it's not clear how to recover from invalid packets where the "length" field could be corrupt or the "framing" bytes could just so happen to be part of the packet payload. Looking at the data-link level standards, such as PPP general frame format or Ethernet, it's not clear what happens if the checksum is invalid.
