Question

I'm working on some middleware between a modem and a network stack doing PPP. I'm having trouble with the initial configuration phase. The endpoints exchange LCP packets with configuration requests and then acks, and then one of them begins with an IPCP configuration request; shortly afterwards one of them gives up. Here's what I don't get:

The LCP packets use HDLC-like framing. They start with 0x7E, the address follows with 0xFF, when the control byte 0x7D23 = 3 followed by byte-stuffed payload, checksum, and the frame character 0x7E. These packets look something like this:

7EFF7D23C0217D217D207D207D347D227D267D207D2A7D207D207D257D267D2BE5E77D257D277D227D287D2295697E

The IPCP packets look totally different! They still begin and end with 0x7E and have the HDLC checksum, but there is no address or control bytes, and there's no byte-stuffing. These packets look like:

7E8021010000280206002D0F0103060000000081060000000082060000000083060000000084060000000079067E

Does this make sense? Why do these packets look so different from each other? Is something messed up here or is this typical?

Was it helpful?

Solution

During the LCP phase it's possible to negotiate "compression" options that'll get rid of the address and control fields. Take a look at this link.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top