Interested Article - LCP

Не путать с 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 Определяется производителем
1 Configure-Request Запрос конфигурации
2 Configure-Ack Подтверждение конфигурации
3 Configure-Nak Альтернативные значения
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 Идентификация
13 Time-Remaining Времени осталось

Расшифровка значений второго байта заголовка — Identifier

Идентификатор может принимать значения от 0 до 255.

Расшифровка значений третьего и четвёртого байта заголовка — Length

Поле Длина содержит общий размер в байтах всего пакета LCP, включая заголовок

Length = Code (1) + Identifier (1) + Length (2) + Data (n) = n + 4

где n — размер Данных кадра в байтах

Поле записывается в формате big endian (старший байт значения поля предшествует младшему в потоке данных)

Ссылки

Источник —

Same as LCP