Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Enjoy The TCP/IP Guide? Get the complete PDF!
The TCP/IP Guide

Custom Search

Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Network Interface Layer (OSI Data Link Layer) Protocols
           9  TCP/IP Serial Line Internet Protocol (SLIP) and Point-to-Point Protocol (PPP)
                9  Point-to-Point Protocol (PPP)
                     9  PPP Protocol Frame Formats

Previous Topic/Section
PPP General Frame Format
Previous Page
Pages in Current Topic/Section
Next Page
PPP Link Control Protocol (LCP) Frame Formats
Next Topic/Section

PPP General Control Protocol Frame Format and Option Format
(Page 1 of 4)

A general frame format is used for all of the many frame types defined in the PPP protocol suite. Within that format, the Information field carries either encapsulated layer-three user data, or encapsulated control messages. These control messages contain specific information that is used to configure, manage and discontinue PPP links, and to implement the various features that comprise PPP.

As we saw in previous sections, there are many different PPP control protocols, which usually can be distinguished by the word “Control” appearing their names. These include the main PPP Link Control Protocol (LCP), a family of Network Control Protocols (NCPs) such as IPCP, IPXCP and so forth, and also control protocols for implementing features, such as CCP and ECP. The authentication protocols PAP and CHAP lack “Control” in the name but also fall into this category.

The control protocols each use control messages in a slightly different way, but there is also a great deal of commonality between the messages in many of them. This is because, as I explained in the topics describing the PPP protocols, most of the control protocols such as the NCP family, CCP and ECP are implemented as “subsets” of the functionality of the Link Control Protocol. They perform many of the same functions, so the PPP designers wisely “adapted” the LCP messaging system for these other control protocols.

This all means that control protocol frames have themselves a common format that fits within the overall general frame format in PPP. Even protocols like PAP and CHAP that aren't based on LCP use this general control frame format, which is described in Table 35.

Table 35: PPP Control Message Format

Field Name

Size (bytes)


Code (Type)


Code: A single byte value that indicates what type of control message is in this control frame. It is sometimes instead called “Type” in certain PPP standards.



Identifier: This is a label field, used to match up requests with replies. When a request is sent a new Identifier is generated. When a reply is created, the value from the Identifier field in the request that prompted the reply is used for the reply's Identifier field.



Length: Specifies the length of the control frame; this is needed because the Data field is variable in length. The Length field is specified in bytes and includes all the fields in the control frame including the Code, Identifier, Length and Data fields.



Data: Contains information specific to the message type. See below for more.

This entire structure becomes the payload of a PPP frame, meaning that it fits into the Information field of a PPP frame, as shown in Figure 34. Thus, the Length field is equal in size to that of the Information field in the PPP frame. The Protocol field of a control frame is set to match the protocol that generated the control frame. For example, it would be 0xC021 for an LCP frame.

Figure 34: PPP Control Message Format

The four fields of the PPP control message format fit within the Information field of the PPP general frame format. The Data field is subsequently filled in with data specific to the control message type.


Previous Topic/Section
PPP General Frame Format
Previous Page
Pages in Current Topic/Section
Next Page
PPP Link Control Protocol (LCP) Frame Formats
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $

Home - Table Of Contents - Contact Us

The TCP/IP Guide (
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.