Link Control Protocol
The protocol LCP (Link Control Protocol) is a term used in computer science .
This protocol is used to configure, establish and check a data connection in a PPP (Point-to-Point Protocol) connection.
Establishing a PPP connection
PPP establishes communication via a point-to-point connection in four phases:
- Connection establishment and configuration negotiation - A PPP output node sends LCP frames for configuration and establishment of the data connection.
- Determining the connection quality - The connection is tested to determine whether their quality for calling network layer protocols ( OSI sufficient layer). (optional phase)
- Authentication (optional phase)
- Negotiation of network layer protocol configuration - The PPP egress node sends NCP frames for selection and configuration. The protocols such as IP , IPX and Appletalk are configured so that packets can be sent from any protocol.
- Connection termination - The connection remains configured for communication until LCP or NCP frames terminate the connection or an external event occurs. (e.g. inactivity or user)
LCP packet formats
LCP header
LCP header (Link Control Protocol) | |||||||||||||||||||||||||||||||
0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | 10 | 11 | 12 | 13 | 14th | 15th | 16 | 17th | 18th | 19th | 20th | 21st | 22nd | 23 | 24 | 25th | 26th | 27 | 28 | 29 | 30th | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code (code) |
Identifier (identifier) |
Length (length) |
|||||||||||||||||||||||||||||
Data (data) |
Code Description Reference
The code is 8 bits long. Specifies the function to be performed.
code | description | reference |
---|---|---|
0 | Vendor Specific. | RFC 2153 |
1 | Configure request. | |
2 | Configure-Ack. | |
3 | Configure-Nak. | |
4th | Configure-Reject. | |
5 | Terminate request. | |
6th | Terminate-Ack. | |
7th | Code reject. | |
8th | Protocol reject. | |
9 | Echo request. | |
10 | Echo reply. | |
11 | Discard request. | |
12 | Identification. | RFC 1570 |
13 | Time remaining. | RFC 1570 |
The identifier field is 8 bits long. It is used to control the requests and responses.
The length field is 16 bits long. Size of the package including the header.
The data has a variable length. Zero or more bytes of data is described by the length field. This field contains one or more options.
LCP configuration options
LCP configuration options | ||||||||||||||||||||||||||||||
0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | 10 | 11 | 12 | 13 | 14th | 15th | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Option (options) |
Length (length) |
|||||||||||||||||||||||||||||
Data (data) |
The option field is 8 bits long.
option | Length | description | reference |
---|---|---|---|
0 | Vendor Specific. | RFC 2153 | |
1 | 4th | Maximum receive unit. | RFC 1661 |
3 | > = 4 | Authentication Protocol. | RFC 1334 , RFC 1661 , RFC 1994 |
4th | > = 4 | Quality Protocol. | RFC 1661 |
5 | 6th | Magic number. | RFC 1661 |
7th | 2 | Protocol-Field-Compression (Deprecated). | RFC 1661 |
8th | 2 | Address-and-Control-Field-Compression. | RFC 1661 |
9 | 3 | FCS alternatives. | RFC 1570 |
10 | 3 | Self-describing pad. | RFC 1570 |
11 | > = 4 | Numbered mode. | RFC 1663 |
12 | > = 8 | Identification. | RFC 1570 |
13 | > = 3 | Callback. | RFC 1570 |
14th | Connect-Time (Deprecated). | ||
15th | 2 | Compound frames (deprecated). | RFC 1570 |
16 | Nominal data encapsulation (deprecated). | ||
17th | 4th | Multilink Max-Receive-Reconstructed-Unit (MRRU). | RFC 1990 |
18th | 2 | Multilink Short Sequence Number Header Format. | RFC 1990 |
19th | variable | Multilink Endpoint Discriminator. | RFC 1990 |
20th | Proprietary. | ||
21st | DCE identifier. | ||
22nd | 4th | MP + Procedure option. | RFC 1934 |
23 | 4th | Link Discriminator for BACP. | RFC 2125 |
24 | LCP authentication option. | ||
25th | COBS, Consistent Overhead Byte Stuffing. | ||
26th | variable | Prefix Elision. | RFC 2686 |
27 | 4th | Multilink header format. | RFC 2686 |
28 | > = 7 | Internationalization. | RFC 2484 |
29 | 2 | Simple Data Link on SONET / SDH. | RFC 2823 |
30th | Reserved until 14-Oct-2002. |
The length field is 8 bits long. The length of the options in bytes including the two fields "Length" and "Option". That is the length of the option plus 2 bytes. Example:
LCP option MRU (1540 bytes) | |||
0 | 1 | 2 | 3 |
---|---|---|---|
0x01 | 0x04 | 0x0604 |
The data has a variable length. Zero or more bytes for specific options.
LCP configuration options
Maximum Receive Unit (MRU)
This option informs the communication partner which maximum packet size can be received. The standard value according to RFC 1661 is 1500 bytes. The sender can also send smaller packages.
Authentication protocol
Authentication protocols in RFC 1661 are
- Password Authentication Protocol PAP
- Challenge Handshake Authentication Protocol CHAP
Quality protocol
This configuration option can be used to negotiate a protocol for the exchange of connection quality data.
Web links
- RFC 1471 The Definitions of Managed Objects for the Link Control Protocol of the Point-to-Point Protocol.
- RFC 1661 The Point-to-Point Protocol (PPP).
- RFC 1663 PPP Reliable Transmission.
- RFC 1716 Towards Requirements for IP Routers.
- RFC 1812 Requirements for IP Version 4 Routers.
- RFC 1934 The Multilink Protocol Plus (MP +).
- RFC 1989 PPP Link Quality Monitoring.
- RFC 1990 The PPP Multilink Protocol (MP).
- RFC 1994 PPP Challenge Handshake Authentication Protocol (CHAP).
- RFC 2125 The PPP Bandwidth Allocation Protocol (BAP) The PPP Bandwidth Allocation Control Protocol (BACP).
- RFC 2153 PPP Vendor Extensions.
- RFC 2484 PPP LCP Internationalization Configuration Option.
- RFC 2686 The Multi-Class Extension to Multi-Link PPP. Describes LCP options 26 (Prefix elision) and 27 (Multilink header format).
- RFC 2823 PPP over Simple Data Link (SDL) using SONET / SDH with ATM-like framing. Describes LCP option 29.