L2TP

L2TP (англ. Layer 2 Tunnelling Protocol — протокол туннелирования второго уровня) — в компьютерных сетях туннельный протокол, использующийся для поддержки виртуальных частных сетей. Главное достоинство L2TP состоит в том, что этот протокол позволяет создавать туннель не только в сетях IP, но и в таких, как ATM, X.25 и Frame Relay[1].

Несмотря на то, что L2TP действует наподобие протокола канального уровня модели OSI, на самом деле он является протоколом сеансового уровня и использует зарегистрированный UDP-порт 1701[2].

Что важно знать
L2TP
Название Layer 2 Tunneling Protocol
Уровень (по модели OSI) Сеансовый
Семейство TCP/IP
Создан в 1999
Порт/ID 1701/UDP,500/UDP(for IKE, to manage encryption keys),4500/UDP(for IPSEC NAT-Traversal mode),50/ESP(for IPSEC),51/AH(for IPSEC)
Назначение протокола построение VPN
Спецификация RFC 2661

История

Считается[кем?], что протокол L2TP вобрал в себя лучшие черты L2F и PPTP[1].

Обзор протокола

L2TP использует два вида пакетов: управляющие и информационные сообщения. Управляющие сообщения используются при установлении, поддержании и аннулировании туннелей и вызовов. Информационные сообщения используются для инкапсуляции PPP-кадров, пересылаемых по туннелю. Управляющие сообщения используют надежный управляющий канал в пределах L2TP, чтобы гарантировать доставку. Информационные сообщения при потере не пересылаются повторно.

Структура протокола:

PPP-кадры
информационные сообщения L2TP управляющие сообщения L2TP
информационный канал L2TP (ненадёжный) канал управления L2TP (надёжный)
Транспортировка пакетов (UDP, FR, ATM и т.д.)

Управляющее сообщение имеет порядковый номер, используемый в управляющем канале для обеспечения надежной доставки. Информационные сообщения могут использовать порядковые номера, чтобы восстановить порядок пакетов и детектировать потерю кадров. Все коды посылаются в порядке, принятом для сетей.

Формат заголовка

Пакеты L2TP для управляющего и информационного каналов используют один и тот же формат заголовка:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 31
T L x x S x O P x x x x Версия Длина(опц)
ID туннеля ID сессии
Ns (опц) Nr (опц)
Offset Size (опц) Offset Pad (опц)......
Payload data
  • Бит тип (T) характеризует разновидность пакета.

Он устанавливается равным 0 для информационных сообщений и 1 — для управляющих.

  • Если бит длины (L) равен 1, поле длина присутствует.

Для управляющих сообщений этот бит должен быть равен 1.

  • Биты x зарезервированы для будущих применений.

Все зарезервированные биты должны быть установлены равными 0 для исходящих сообщений и игнорироваться для входящих.

Бит S для управляющих сообщений должен быть равен 1.

  • Если бит смещения (O) равен 1, поле величины смещения присутствует.

Бит O для управляющих сообщений должен быть равен 0.

  • Бит приоритета (Р) должен быть равен 0 для всех управляющих сообщений. Для информационных сообщений — если этот бит равен 1, это информационное сообщение имеет приоритет в очереди.
  • Поле Ver указывает версию заголовка информационного сообщения L2TP.

Значение 1 зарезервировано для детектирования пакетов L2F в условиях, когда они приходят вперемешку с L2TP-пакетами. Пакеты, полученные с неизвестным значением поля Ver, отбрасываются.

  • Поле Длина (опционально) указывает общую длину сообщения в октетах.
  • ID-туннеля содержит идентификатор управляющего соединения. Идентификаторы туннеля L2TP имеют только локальное значение. То есть, разные концы одного туннеля должны иметь разные ID. ID-туннеля в каждом сообщении должно быть тем, которое ожидает получатель. ID-туннеля выбираются при формировании туннеля.
  • ID-сессии определяет идентификатор для сессии данного туннеля. Сессии L2TP именуются с помощью идентификаторов, которые имеют только локальное значение. ID-сессии в каждом сообщении должно быть тем, которое ожидает получатель. ID-сессии выбираются при формировании сессии.
  • Поле Ns определяет порядковый номер информационного или управляющего сообщения, начиная с нуля и увеличиваясь на 1 (по модулю 216) для каждого посланного сообщения.
  • Поле Nr содержит порядковый номер, который ожидается для следующего сообщения. Таким образом, Nr делается равным Ns последнего по порядку полученного сообщения плюс 1 (по модулю 216). В информационных сообщениях Nr зарезервировано и, если присутствует (это определяется S- битом), должно игнорироваться при получении.
  • Поле величина смещения (Offset Size), если имеется, специфицирует число октетов после заголовка L2TP, где должно начинаться поле данных. Содержимое заполнителя смещения не определено. Если поле смещения присутствует, заголовок L2TP завершается после завершающего октета заполнителя смещения.

Типы управляющих сообщений

Тип сообщения AVP определяет специфический тип посылаемого управляющего сообщения.

Управление управляющим соединением

  • 0 (зарезервировано)
  • 1 (SCCRQ) Start-Control-Connection-Request
  • 2 (SCCRP) Start-Control-Connection-Reply
  • 3 (SCCCN) Start-Control-Connection-Connected
  • 4 (StopCCN) Stop-Control-Connection-Notification
  • 5 (зарезервировано)
  • 6 (HELLO) Hello

Управление вызовами (Call Management)

  • 7 (OCRQ) Outgoing-Call-Request
  • 8 (OCRP) Outgoing-Call-Reply
  • 9 (OCCN) Outgoing-Call-Connected
  • 10 (ICRQ) Incoming-Call-Request
  • 11 (ICRP) Incoming-Call-Reply
  • 12 (ICCN) Incoming-Call-Connected
  • 13 (зарезервировано)
  • 14 (CDN) Call-Disconnect-Notify

Сообщения об ошибках

  • 15 (WEN) WAN-Error-Notify

Управление сессией PPP

  • 16 (SLI) Set-Link-Info

Протокольные операции

Необходимая процедура установления PPP-сессии туннелирования L2TP включает в себя два этапа:

  • установление управляющего канала для туннеля
  • формирование сессии в соответствии с запросом входящего или исходящего вызова.

Туннель и соответствующий управляющий канал должны быть сформированы до инициализации входящего или исходящего вызовов. L2TP-сессия должна быть реализована до того, как L2TP сможет передавать PPP-кадры через туннель. В одном туннеле могут существовать несколько сессий между одними и теми же LAC и LNS.

Реализация L2TP через специфическую среду

Протокол L2TP является самодокументируемым, работающим поверх уровня, который служит для транспортировки. Однако, необходимы некоторые детали[какие?] подключения к среде, для того, чтобы обеспечить совместимость различных[каких?] реализаций.

Соображения безопасности

Протокол L2TP сталкивается при своей работе с несколькими проблемами безопасности. Ниже рассмотрены некоторые подходы для решения этих проблем.

Безопасность на конце туннеля

Концы туннеля могут опционно выполнять процедуру аутентификации друг друга при установлении туннеля. Эта аутентификация имеет те же атрибуты безопасности, что и CHAP, и обладает разумной защитой против атак воспроизведения и искажения в процессе установления туннеля. Для реализации аутентификации LAC и LNS должны использовать общий секретный ключ.

Безопасность пакетного уровня

Обеспечение безопасности L2TP требует, чтобы транспортная среда могла обеспечить шифрование передаваемых данных, целостность сообщений и аутентификацию услуг для всего L2TP-трафика. Сам же L2TP ответственен за конфиденциальность, целостность и аутентифицированность L2TP-пакетов внутри туннеля.

L2TP и IPsec

При работе поверх IP, IPsec (безопасный IP) предоставляет безопасность на пакетном уровне. Все управляющие и информационные пакеты L2TP в конкретном туннеле выглядят для системы IPsec как обычные информационные UDP/IP-пакеты. Помимо транспортной безопасности IP, IPsec определяет режим работы, который позволяет туннелировать IP-пакеты, а также средства контроля доступа, которые необходимы для приложений, поддерживающих IPsec. Эти средства позволяют фильтровать пакеты на основе характеристик сетевого и транспортного уровней. В модели L2TP-туннеля аналогичная фильтрация выполняется на PPP-уровне или сетевом уровне поверх L2TP.

Править
Используя этот сайт интернет-энциклопедии «РУВИКИ», я соглашаюсь с Условиями использования и Политикой конфиденциальности и даю согласие на обработку своих пользовательских данных (файлов cookies), необходимых для корректного функционирования сайта.
Аналитические и рекламные файлы cookies обрабатываются с помощью системы веб-аналитики «Яндекс.Метрика» и/или иных систем веб-аналитики на условиях, указанных в Политике конфиденциальности, и могут быть изменены в настройках браузера.