Протокол туннелирования уровня 2
В компьютерных сетях протокол туннелирования уровня 2 ( L2TP ) — это протокол туннелирования, используемый для поддержки виртуальных частных сетей (VPN) или как часть предоставления услуг интернет-провайдерами. Он использует шифрование («скрытие») только для своих собственных управляющих сообщений (с использованием необязательного предварительного секретного кода) и сам по себе не обеспечивает никакого шифрования или конфиденциальности содержимого. Скорее, он предоставляет туннель для уровня 2 (который может быть зашифрован), а сам туннель может передаваться по протоколу шифрования уровня 3 , например IPsec . [1]
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
История
[ редактировать ]Опубликованный в августе 1999 года как предлагаемый стандарт RFC 2661, L2TP берет свое начало в основном из двух старых протоколов туннелирования для связи «точка-точка»: Cisco протокола пересылки уровня 2 (L2F) и Microsoft . [2] Протокол туннелирования «точка-точка» (PPTP). Новая версия этого протокола, L2TPv3 , появилась как предложенный стандарт RFC 3931 в 2005 году. L2TPv3 обеспечивает дополнительные функции безопасности, улучшенную инкапсуляцию и возможность передавать каналы передачи данных, отличные от простого протокола «точка-точка» (PPP) по IP-сети. (например: Frame Relay , Ethernet , ATM и т. д.).
Описание
[ редактировать ]Весь пакет L2TP, включая полезную нагрузку и заголовок L2TP, отправляется в датаграмме протокола пользовательских дейтаграмм (UDP). Достоинство передачи по UDP (а не по TCP) заключается в том, что она позволяет избежать «проблемы сбоя TCP». [3] [4] Сеансы PPP обычно передаются в туннеле L2TP. L2TP сам по себе не обеспечивает конфиденциальности или строгой аутентификации. IPsec часто используется для защиты пакетов L2TP путем обеспечения конфиденциальности, аутентификации и целостности. Комбинация этих двух протоколов обычно известна как L2TP/IPsec (обсуждается ниже).
Две конечные точки туннеля L2TP называются концентратором доступа L2TP (LAC) и сетевым сервером L2TP (LNS). LNS ожидает новых туннелей. После установления туннеля сетевой трафик между узлами становится двунаправленным. Чтобы быть полезными для сети, протоколы более высокого уровня затем запускаются через туннель L2TP. L2TP сеанс Чтобы облегчить это, в туннеле устанавливается для каждого протокола более высокого уровня, такого как PPP. Либо LAC, либо LNS могут инициировать сеансы. Трафик каждого сеанса изолируется L2TP, поэтому можно настроить несколько виртуальных сетей в одном туннеле.
Пакеты, которыми обмениваются в туннеле L2TP, подразделяются на пакеты управления или пакеты данных . L2TP обеспечивает функции надежности для пакетов управления, но не обеспечивает надежность для пакетов данных. Надежность при желании должна обеспечивать вложенные протоколы, работающие внутри каждого сеанса L2TP-туннеля.
L2TP позволяет создать виртуальную частную коммутируемую сеть (VPDN). [5] подключить удаленного клиента к его корпоративной сети с помощью общей инфраструктуры, которой может быть Интернет или сеть поставщика услуг.
Туннельные модели
[ редактировать ]Туннель L2TP может распространяться на весь сеанс PPP или только на один сегмент двухсегментного сеанса. Это можно представить четырьмя различными моделями туннелирования, а именно:
- добровольный туннель
- принудительный туннель — входящий вызов
- принудительный туннель — удаленный набор
- L2TP Многопереходное соединение [6]
Структура пакета L2TP
[ редактировать ]Пакет L2TP состоит из:
Биты 0–15 | Биты 16–31 |
---|---|
Флаги и информация о версии | Длина (опция) |
Идентификатор туннеля | Идентификатор сеанса |
Нс (опция) | Нет (опционально) |
Размер смещения (опция) | Смещенная колодка (опция)...... |
Данные полезной нагрузки |
Значения полей:
- Флаги и версия
- флаги управления, указывающие пакет данных/управления и наличие полей длины, последовательности и смещения.
- Длина (необязательно)
- Общая длина сообщения в байтах, присутствует только в том случае, если установлен флаг длины.
- Идентификатор туннеля
- Указывает идентификатор управляющего соединения.
- Идентификатор сеанса
- Указывает идентификатор сеанса в туннеле.
- Нс (необязательно)
- порядковый номер для этого сообщения данных или управляющего сообщения, начиная с нуля и увеличиваясь на единицу (по модулю 2). 16 ) для каждого отправленного сообщения. Присутствует только тогда, когда установлен флаг последовательности.
- Номер (необязательно)
- порядковый номер ожидаемого сообщения, которое должно быть получено. Nr устанавливается равным Ns последнего полученного упорядоченного сообщения плюс один (по модулю 2 16 ). В сообщениях данных Nr зарезервирован и, если он присутствует (как указано битом S), ДОЛЖЕН игнорироваться при получении.
- Размер смещения (необязательно)
- Указывает, где расположены полезные данные после заголовка L2TP. Если поле смещения присутствует, заголовок L2TP заканчивается после последнего байта заполнения смещения. Это поле существует, если установлен флаг смещения.
- Смещенная подушка (опция)
- Переменная длина, определяемая размером смещения. Содержимое этого поля не определено.
- Данные полезной нагрузки
- Переменная длина (Максимальный размер полезной нагрузки = Максимальный размер пакета UDP — размер заголовка L2TP)
Обмен пакетами L2TP
[ редактировать ]Во время установки соединения L2TP между сервером и клиентом происходит обмен многими управляющими пакетами для установления туннеля и сеанса для каждого направления. Один одноранговый узел запрашивает другой одноранговый узел с помощью этих управляющих пакетов назначить конкретный туннель и идентификатор сеанса. Затем, используя этот туннель и идентификатор сеанса, происходит обмен пакетами данных со сжатыми кадрами PPP в качестве полезной нагрузки.
Список сообщений управления L2TP, которыми обмениваются LAC и LNS, для установления связи перед установлением туннеля и сеанса в методе добровольного туннелирования:
L2TP/IPsec
[ редактировать ]Из-за отсутствия конфиденциальности, присущей L2TP, его часто реализуют вместе с IPsec . Это называется L2TP/IPsec и стандартизировано в IETF RFC 3193. Процесс настройки L2TP/IPsec VPN выглядит следующим образом:
- Согласование ассоциации безопасности IPsec (SA), обычно посредством обмена ключами через Интернет (IKE). Это осуществляется через порт UDP 500 и обычно использует либо общий пароль (так называемые « предварительные общие ключи »), открытые ключи, либо сертификаты X.509 на обоих концах, хотя существуют и другие методы шифрования.
- Установление связи инкапсулирующей безопасности полезной нагрузки (ESP) в транспортном режиме. Номер IP-протокола для ESP равен 50 (сравните 6 в TCP и 17 в UDP). На этом этапе безопасный канал установлен, но туннелирование не происходит.
- Согласование и установление туннеля L2TP между конечными точками SA. Фактическое согласование параметров происходит по защищенному каналу SA с использованием шифрования IPsec. L2TP использует UDP-порт 1701.
По завершении процесса пакеты L2TP между конечными точками инкапсулируются IPsec. Поскольку сам пакет L2TP упакован и скрыт внутри пакета IPsec, исходный IP-адрес источника и назначения шифруется внутри пакета. Кроме того, нет необходимости открывать порт UDP 1701 на брандмауэрах между конечными точками, поскольку внутренние пакеты не обрабатываются до тех пор, пока данные IPsec не будут расшифрованы и удалены, что происходит только на конечных точках.
Потенциальной путаницей в L2TP/IPsec является использование терминов «туннель» и «защищенный канал» . Термин «туннельный режим» относится к каналу, который позволяет передавать нетронутые пакеты одной сети по другой сети. В случае L2TP/PPP это позволяет транспортировать пакеты L2TP/PPP по IP. — Безопасный канал это соединение, в рамках которого гарантируется конфиденциальность всех данных. В L2TP/IPsec сначала IPsec обеспечивает безопасный канал, затем L2TP обеспечивает туннель. IPsec также определяет протокол туннеля: он не используется при использовании туннеля L2TP.
Реализация Windows
[ редактировать ]В Windows имеется встроенная поддержка L2TP (настраиваемая в панели управления) начиная с Windows 2000 . В Windows Vista добавлены два альтернативных инструмента: оснастка MMC под названием «Брандмауэр Windows с повышенной безопасностью» (WFwAS) и « netsh инструмент командной строки advfirewall». Одним из ограничений обеих команд WFwAS и netsh является то, что серверы должны указываться по IP-адресу. В Windows 10 добавлены « Add-VpnConnection » и « Set-VpnConnectionIPsecConfiguration » команды PowerShell . Раздел реестра должен быть создан на клиенте и сервере, если сервер находится за устройством NAT-T. [1]
L2TP в сетях интернет-провайдеров
[ редактировать ]интернет-услуги, например, по ADSL или кабелю L2TP часто используется интернет-провайдерами, когда перепродаются . От конечного пользователя пакеты передаются по сети оптового поставщика сетевых услуг на сервер, называемый сервером широкополосного удаленного доступа ( BRAS ), который представляет собой конвертер протоколов и маршрутизатор вместе взятые. В устаревших сетях путь от оборудования конечного пользователя к BRAS может проходить через сеть ATM . Далее по IP-сети туннель L2TP проходит от BRAS (действующего как LAC) к LNS, который является пограничным маршрутизатором на границе IP-сети конечного целевого интернет-провайдера. [а]
Ссылки на RFC
[ редактировать ]- RFC 2341 Переадресация второго уровня Cisco (протокол) «L2F» (предшественник L2TP)
- RFC 2637 Протокол туннелирования «точка-точка» (PPTP)
- RFC 2661 Протокол туннелирования второго уровня «L2TP»
- RFC 2809 Реализация принудительного туннелирования L2TP через RADIUS
- RFC 2888 Безопасный удаленный доступ с помощью L2TP
- RFC 3070 Протокол туннелирования второго уровня (L2TP) через Frame Relay
- RFC 3145 Информация о причине отключения L2TP
- RFC 3193 Защита L2TP с помощью IPsec
- RFC 3301 Протокол туннелирования второго уровня (L2TP): сеть доступа ATM
- RFC 3308 Протокол туннелирования второго уровня (L2TP) Дифференцированные услуги
- RFC 3355 Протокол туннелирования второго уровня (L2TP) через уровень адаптации ATM 5 (AAL5)
- RFC 3371 Протокол туннелирования второго уровня "L2TP" База управляющей информации
- RFC 3437 Расширения протокола туннелирования второго уровня для согласования протокола управления каналом PPP
- RFC 3438 Протокол туннелирования второго уровня (L2TP). Назначенные номера Интернета: Обновление соображений Управления по присвоению номеров Интернета (IANA)
- RFC 3573 Сигнализация состояния модема на удержании в туннельном протоколе уровня 2 (L2TP)
- RFC 3817 Протокол туннелирования уровня 2 (L2TP) Реле активного обнаружения для PPP через Ethernet (PPPoE)
- RFC 3931 Протокол туннелирования второго уровня — версия 3 ( L2TPv3 )
- Расширения RFC 4045 для поддержки эффективной передачи многоадресного трафика в протоколе туннелирования уровня 2 (L2TP)
- Расширения RFC 4951 аварийного переключения для протокола туннелирования уровня 2 (L2TP) «переключение при отказе»
См. также
[ редактировать ]- IPsec
- Протокол пересылки уровня 2
- Протокол туннелирования «точка-точка»
- Протокол «точка-точка»
- Виртуальная расширяемая локальная сеть
Ссылки
[ редактировать ]- ^ IETF (1999), RFC 2661, Протокол туннелирования второго уровня "L2TP"
- ^ «Протокол туннелирования точка-точка (PPTP)» . TheNetworkEncyclepedia.com. 2013 . Проверено 28 июля 2014 г.
Протокол туннелирования «точка-точка» (PPTP) [:] Протокол канального уровня для глобальных сетей (WAN), основанный на протоколе «точка-точка» (PPP), разработанный Microsoft, который позволяет инкапсулировать и маршрутизируются через незащищенную общедоступную сеть, например Интернет.
[ постоянная мертвая ссылка ] - ^ Титц, Олаф (23 апреля 2001 г.). «Почему TCP поверх TCP — плохая идея» . Проверено 17 октября 2015 г.
- ^ Хонда, Осаму; Осаки, Хироюки; Имасе, Макото; Ишизука, Мика; Мураяма, Дзюнъити (октябрь 2005 г.). «Понимание TCP поверх TCP: влияние туннелирования TCP на сквозную пропускную способность и задержку». В Атикуззамане, Мохаммед; Баландин, Сергей I (ред.). Производительность, качество обслуживания и управление коммуникационными и сенсорными сетями следующего поколения III . Том. 6011. Бибкод : 2005SPIE.6011..138H . CiteSeerX 10.1.1.78.5815 . дои : 10.1117/12.630496 . S2CID 8945952 .
- ^ Поддержка Cisco: понимание VPDN - обновлено 29 января 2008 г.
- ^ Центр знаний IBM: Многоскачковое соединение L2TP
Внешние ссылки
[ редактировать ]Реализации
[ редактировать ]- Cisco: документация Cisco L2TP , также прочтите краткий обзор технологий от Cisco.
- Открытый исходный код и Linux: xl2tpd , Linux RP-L2TP , OpenL2TP , l2tpns , l2tpd (неактивный), сервер Linux L2TP/IPsec , многоканальный демон PPP FreeBSD , OpenBSD npppd(8) , ACCEL-PPP — сервер PPTP/L2TP/PPPoE для Linux
- Microsoft: встроенный клиент, входящий в состав Windows 2000 и выше; VPN-клиент Microsoft L2TP/IPsec для Windows 98/Windows Me/Windows NT 4.0
- Apple: встроенный клиент, включенный в Mac OS X 10.3 и более поздних версий.
- VPN на Cisco.com
Другой
[ редактировать ]- IANA присвоила номера для L2TP
- Рабочая группа по расширениям L2TP (l2tpext) - (где координируется будущая работа по стандартизации)
- Использование Linux в качестве VPN-клиента L2TP/IPsec
- L2TP/IPSec с OpenBSD и npppd
- Сравнение L2TP, PPTP и OpenVPN