Link Control Protocol
In computer networking, the Link Control Protocol (LCP) forms part of the Point-to-Point Protocol (PPP), within the family of Internet protocols. In setting up PPP communications, both the sending and receiving devices send out LCP packets to determine the standards of the ensuing data transmission.
The protocol:
- checks the identity of the linked device and either accepts or rejects the device
- determines the acceptable packet size for transmission
- searches for errors in configuration
- can terminate the link if requirements exceed the parameters
LCP packets are sent during the Link Establishment Phase of PPP, after the physical layer has been made ready from the Link Dead state. No transmission of network-layer protocols such as IP may be transmitted across PPP until after the Link Establishment or Authentication phases are complete. When a connection is requested by a peer to be terminated (or if Authentication fails), the Link Termination Phase is performed, and PPP returns to the Link Dead state.
Structure
[edit]Offsets | Octet | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Octet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Point-to-Point Protocol | |||||||||||||||||||||||||||||||||
0 | 0 | Flag (0x7E) | Address (0xFF) | Control (0x03) | Protocol (0xC0) | ||||||||||||||||||||||||||||
4 | 32 | Protocol, cont. (0x21) | |||||||||||||||||||||||||||||||
Link Control Protocol | |||||||||||||||||||||||||||||||||
0 | 0 | Code | Identifier | Length | |||||||||||||||||||||||||||||
Link Configuration | |||||||||||||||||||||||||||||||||
Code | 1 | Name | Configure-Request | Description | Peer requesting connection with the specified options over link defaults. | ||||||||||||||||||||||||||||
2 | Configure-Ack | Peer requesting connection with the specified options over link defaults. | |||||||||||||||||||||||||||||||
3 | Configure-Nak | Peer recognizes given options, but some are not acceptable. | |||||||||||||||||||||||||||||||
4 | Configure-Reject | Peer does not recognize or is prohibited from accepting some given options. | |||||||||||||||||||||||||||||||
4 | 32 | List of option data, size variable | |||||||||||||||||||||||||||||||
Link Termination | |||||||||||||||||||||||||||||||||
Code | 5 | Name | Terminate-Request | Description | Peer requesting to close the connection. | ||||||||||||||||||||||||||||
6 | Terminate-Ack | Peer accepts connection closure, or requires re-negotiation. | |||||||||||||||||||||||||||||||
4 | 32 | Uninterpreted data by the sender, size variable | |||||||||||||||||||||||||||||||
Link Maintenance | |||||||||||||||||||||||||||||||||
Code | 7 | Name | Code-Reject | Description | Peer does not recognize a provided LCP code. | ||||||||||||||||||||||||||||
4 | 32 | Faulting LCP Packet, size variable | |||||||||||||||||||||||||||||||
LCP-Specific Codes | |||||||||||||||||||||||||||||||||
Code | 8 | Name | Protocol-Reject | Description | Peer does not recognize a protocol used within the LCP Opened state. | ||||||||||||||||||||||||||||
4 | 32 | Rejected PPP Protocol | Faulting Packet, size variable | ||||||||||||||||||||||||||||||
Code | 9 | Name | Echo-Request | Description | Peer is requesting an Echo-Reply. | ||||||||||||||||||||||||||||
10 | Echo-Reply | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | |||||||||||||||||||||||||||||||
11 | Discard-Request | Peer is sending data to be discarded ("sinked") by the remote peer. | |||||||||||||||||||||||||||||||
4 | 32 | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | |||||||||||||||||||||||||||||||
8 | 64 | Uninterpreted data by the sender, size variable |
Link Configuration Option
[edit]Offsets | Octet | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Octet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 0 | Type | Length | ||||||||||||||||||||||||||||||
Type | 0 | Name | Vendor Specific | Description | Vendor specific data not defined by the PPP specification. | ||||||||||||||||||||||||||||
2 | 16 | Vendor's Organizationally Unique Identifier | Kind (OUI Subtype) | ||||||||||||||||||||||||||||||
6 | 48 | Vendor defined data, size variable | |||||||||||||||||||||||||||||||
Type | 1 | Name | Maximum-Receive-Unit | Description | Defines a peer's MRU, overriding the default of 1,500 octets. | ||||||||||||||||||||||||||||
2 | 16 | The maximum-receive-unit for this peer's implementation | |||||||||||||||||||||||||||||||
Type | 3 | Name | Authentication-Protocol | Description | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | ||||||||||||||||||||||||||||
2 | 16 | The requested authentication protocol, assigned by IANA[1] | Additional data for this protocol, size variable | ||||||||||||||||||||||||||||||
Type | 4 | Name | Quality-Protocol | Description | Defines a quality protocol for link quality monitoring. | ||||||||||||||||||||||||||||
2 | 16 | The requested quality protocol | Additional data for this protocol, size variable | ||||||||||||||||||||||||||||||
Type | 5 | Name | Magic-Number | Description | Defines a unique identifier for a peer. | ||||||||||||||||||||||||||||
2 | 16 | Magic number | |||||||||||||||||||||||||||||||
Type | 7 | Name | Protocol-Field-Compression | Description | No data. Refer to RFC 1661 Section 6.5 for details. | ||||||||||||||||||||||||||||
Type | 8 | Name | Address-and-Control-Field-Compression | Description | No data. Refer to RFC 1661 Section 6.6 for details. |
References
[edit]- ^ "Point-to-Point (PPP) Protocol Field Assignments". www.iana.org. Retrieved 2025-03-18.
External links
[edit]- RFC 1570: PPP LCP Extensions
- RFC 1661: The Point-to-Point Protocol (PPP)
- RFC 1663: PPP Reliable Transmission
- Kozierok, Charles. "PPP Link Control Protocol (LCP)". The TCP/IP Guide. Retrieved 4 December 2014.