Не путать с LCP — в математической теории оптимизации Линейная проблема взаимозависимости[англ.].
LCP — сокращение от Link Control Protocol — протокол управления соединением.
Назначение протокола
LCP является частью протокола Point-to-Point Protocol. При установлении соединения PPP передающее и принимающее устройство обмениваются пакетами LCP для уточнения специфической информации, которая потребуется при передаче данных.
Согласование параметров соединения проводится в форме переговоров.
LCP протокол осуществляет:
- проверку идентификации соединяемых устройств и, вследствие этого разрешает или отклоняет установку соединения
- определение приемлемого размера кадров для передачи MTU и приёма — MRU
- ограничение по ширине канала
- шифрование аутентификации соединения
- сжатие данных
- обнаружение петель маршрутизации
- проверку синтаксиса и поиск ошибок в конфигурации
- разрыв соединения, если какое-либо значение превышает заданный параметр
Устройства не могут передавать данные друг другу по сети прежде чем LCP пакеты не определят доступность устанавливаемого соединения.
Так как LCP инкапсулируется в кадры РРР, необходимо установление первоначального соединения РРР прежде, чем LCP сможет переопределить его. Пакет LCP поверх PPP содержит код протокола 0xC021 и имеет четыре поля — код, идентификатор, длина и данные.
Формат пакета LCP
Заголовок пакета LCP
|
Данные
|
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
|
nnn
|
Code (Код)
|
Identifier (Идентификатор)
|
Length (Длина)
|
Data (Данные)
|
Расшифровка значений первого байта заголовка — Code
Code
|
Значения
|
Описание
|
RFC
|
0 |
Vendor Specific999 |
Определяется производителем |
RFC 2153
|
1 |
Configure-Request |
Запрос конфигурации |
|
2 |
Configure-Ack |
Подтверждение конфигурации |
|
3 |
Configure-Nak |
Альтернативные значения |
RFC 1661
|
4 |
Configure-Reject |
Отказ в конфигурации |
|
5 |
Terminate-Request |
Запрос на разрыв соединения |
|
6 |
Terminate-Ack |
Подтверждение разрыва |
|
7 |
Code-Reject |
Отказ в принятии кода |
|
8 |
Protocol-Reject |
Отказ в принятии протокола |
|
9 |
Echo-Request |
Эхо-запрос |
|
10 |
Echo-Reply |
Эхо-ответ |
|
11 |
Discard-Request |
Запрос на отбрасывание |
|
12 |
Identification |
Идентификация |
RFC 1570
|
13 |
Time-Remaining |
Времени осталось |
RFC 1570
|
Расшифровка значений второго байта заголовка — Identifier
Идентификатор может принимать значения от 0 до 255.
Расшифровка значений третьего и четвёртого байта заголовка — Length
Поле Длина содержит общий размер в байтах всего пакета LCP, включая заголовок
Length = Code (1) + Identifier (1) + Length (2) + Data (n) = n + 4
где n — размер Данных кадра в байтах
Поле записывается в формате big endian (старший байт значения поля предшествует младшему в потоке данных)
Ссылки