Сурков Л.В. - Построение виртуальных частных сетей VPN в сетевой среде Windows Server 2008 или 2003 (1075631), страница 3
Текст из файла (страница 3)
Примечание: РРТРсообщения Echo-Request и Echo-Reply не имеют никакого отношенияк ICMP-сообщениям Echo Request (Эхо-запрос) и Echo Reply (Эхоответ),WAN-Error-NotifyПосылается РРТР-сервером всем VPN-клиентам, чтобысообщить о какой-либо ошибке, возникшей на РРР-интерфейсе РРТРсервера.Set-Link-InfoПосылается РРТР-клиентом или сервером для установкисогласованных РРР-параметров.ReplyCall-Clear-RequestПосылается РРТР-клиентом для закрытия туннеля.Call-Disconnect-NotifyStop-Control-ConnectionRequestПосылается РРТР-сервером в ответ на сообщение Call-ClearRequest или по другим причинам. Указывает, что туннель долженбыть закрыт.Посылается РРТР-клиентом или сервером для уведомлениядругой стороны о закрытии управляющего соединения.Stop-Control-Connection-Ответ на сообщение Stop-Control-Connection-Request.ReplyТуннелирование данных средствами РРТРТакое туннелирование осуществляется путем многоуровневого инкапсулирования.Структура данных, туннелирования средствами РРТР, показана на рисунке 9.Рисунок 9МГТУ им.
БауманаКафедра ИУ-611Сурков Л.В.Корпоративные сетиПрактикум «Построение виртуальных частных сетей VPNв сетевой среде Windows Server 2008/2003» Rev. 2010Инкапсуляция РРР-кадраИсходные полезные данные РРР зашифровываются и инкапсулируются в кадр с РРРзаголовком (РРР-кадр). Затем этот кадр инкапсулируется в пакет с модифицированнымGRE-заголовком. GRE документирован в RFC 1701 и 1702, и изначально был разработан вкачестве простого универсального механизма инкапсуляции данных, передаваемых черезмежсетевые IP-среды. GRE является клиентским протоколом IP и используетидентификатор IP-протокола 47.GRE-заголовок модифицируется для РРТР следующим образом:Бит подтверждения указывает на наличие 32-битного поля подтверждения;Поле ключа заменяется 16-битными полями длины полезных данных иидентификатора вызова.
Последнее устанавливается РРТР-клиентом при созданииРРТР-туннеля;Добавляется 32-битное поле подтверждения.Внутри GRE-заголовка в поле типа протокола записывается значение Ох880В,используемое как значение EtherType для РРР-кадра.Инкапсуляция GRE-пакетаGRE-пакет далее инкапсулируется в пакет с IP-заголовком, в котором указываютсяIP-адреса отправителя и получателя (в роли которых выступают РРТР-клиент и сервер).Инкапсуляция канального уровняДля передачи по локальной сети (LAN) или WAN-каналу созданная на предыдущемэтапе IP-дейтаграмма инкапсулируется в пакет с заголовком и концевой частьюканального уровня, применяемого на данном физическом интерфейсе.
Например, припередаче через Ethernet-интерфейс IP-дейтаграмма инкапсулируется в пакет с Ethernetзаголовком и концевой частью, а при передаче по WAN-каналу типа «точка-точка»(аналоговой телефонной линии или ISDN) — в пакет с РРР-заголовком и концевойчастью.GRE иногда используется ISP для пересылки информации о маршрутизации внутрисвоих сетей. Чтобы эта информация не пересылалась на маршрутизаторы Интернетмагистралей (Internet backbone routers), ISP отфильтровывают GRE-трафик на периферии.В результате можно только создавать РРТР-туннели, но не пересылать туннелированныеданные.РРТР-пакеты и сетевая архитектура Windows 2008Рисунок 10 иллюстрирует путь, который проходят туннелированные данные (отVPN-клиента по VPN-соединению удаленного доступа, установленному с помощьюаналогового модема) через компоненты сетевой архитектуры Windows 2008.МГТУ им. БауманаКафедра ИУ-612Сурков Л.В.Корпоративные сетиПрактикум «Построение виртуальных частных сетей VPNв сетевой среде Windows Server 2008/2003» Rev.
2010TCP/IPIPXNetBEUIНачало следования пакетаNDISWANL2TPPPP-заголовокPPTPIPзаголовокAsyncGREзаголовокPPPзаголовокX.25Шифрованыеполезные данныеPPP (IP или IPXдейтаграмма либоNetBEUI-кадр)ISDNКонцевая частьPPPРисунок 101. IP- или IPX-дейтаграмма либо NetBEUI-кадр передается соответствующимпротоколом через NDIS (Network Driver Interface Specification) на виртуальныйинтерфейс, представляющий VPN-соединение;2. NDIS передает пакет NDISWAN, который расшифровывает и/или декомпрессируетданные и предоставляет РРР-заголовок, включающий только поле идентификатораРРР-протокола.
Поля флагов и FCS (Frame Check Sequence) не добавляются. Этопредполагает, что на LCP-этапе процесса установления РРР-соединения былосогласовано сжатие полей адреса и управления;3. NDISWAN передает данные драйверу протокола РРТР, который инкапсулирует РРРкадр в пакет с GRE-заголовком. В поле идентификатора вызова в GRE-зaголовкезаписывается значение, идентифицирующее туннель;4. Полученный пакет драйвер протокола РРТР передает драйверу протоколов TCP/IP;5. Этот драйвер инкапсулирует туннелированные средствами РРТР данные в пакет с IPзаголовком и передает его через NDIS интерфейсу, представляющему соединениеудаленного доступа с местным ISP;6.
NDIS передает пакет NDISWAN, который добавляет РРР-заголовок и концевую часть.7. NDISWAN передает полученный РРР-кадр минипорт-драйверу WAN,представляющему аппаратные средства удаленного доступа, например асинхронныйпорт (в случае модемного соединения).МожносогласоватьиспользованиешифруемогоРРР-соединенияпокоммутируемому соединению с ISP. Но следует помнить, что туннелированные данныеуже зашифрованы.L2TPL2TP (Layer Two Tunneling Protocol) — это комбинация РРТР и L2F (Layer 2Forwarding), технологии, предложенной компанией Cisco Systems Inc.
Чтобы дванесовместимых протокола туннелирования не конкурировали на рынке и не запутывализаказчиков, IETF распорядился скомбинировать эти две технологии в один протоколтуннелирования, который сочетал бы в себе лучшие качества РРТР и L2F.МГТУ им. БауманаКафедра ИУ-613Сурков Л.В.Корпоративные сетиПрактикум «Построение виртуальных частных сетей VPNв сетевой среде Windows Server 2008/2003» Rev. 2010L2TP документирован в RFC 2661.
L2TP инкапсулирует РРР-кадры, передаваемыепо сетям IP, X.25. Frame Relay или ATM. В настоящее время определен стандарт только наL2TP поверх IP. При передаче по межсетевой IP-среде L2TP-кадры инкапсулируются какUDP-сообщения. L2TP — протокол туннелирования, пригодный для применения как вИнтернете, так и в частных интрасетях.L2TP использует UDP-сообщения в межсетевых IP-средах для управлениятуннелями и передачи туннелированных данных. Полезные данные инкапсулированныхРРР-кадров могут быть зашифрованы и/или сжаты; однако L2TP-клиенты подуправлением Windows 2008 не могут использовать МРРЕ для L2TP-соединения. Поэтомушифрование для таких соединений реализуется за счет IPSec-протокола ESP.Windows 2008 позволяет создавать L2TP-соединения, не шифруемые с помощьюIPSec (IP-безопасность).
Но в таком случае Вы не получите VPN-соединение, несколькуконфиденциальные данные, инкапсулируемые L2TP, окажутся незашифрованными.Нешифруемые L2TP-соединения можно использовать в качестве временной меры приустранении каких-либо проблем с поддержкой соединения L2TP поверх IPSec; при этомисключаются IPSec-процессы аутентификации и согласования.L2TP требует наличия межсетевой IP-среды между L2TP-клиентом (VPN-клиентом,использующим протокол туннелирования L2TP и IPSec) и L2TP-сервером (VPN-сервером,использующим тот же протокол и IPSec). L2TP-клиент может быть уже подключен кмежсетевой IP-среде, через которую достижим L2TP-сервер, либо он может дозваниватьсядо сервера NAS и устанавливать IP-соединение — так же как и пользователь, получающийдоступ в Интернет по коммутируемой линии.
Аутентификация, выполняемая присоздании L2TP-туннелей, осуществляется с применением тех же механизмов, что и приустановлении РРР-соединений, — например, ЕАР, MS-CHAP, CHAP, SPAP и PAP.L2TP-сервер на основе Интернет-стандартов представляет собой сервер удаленногодоступа с поддержкой L2TP; при этом один из его интерфейсов подключен к Интернету, адругой — к интрасети. Пакеты с информацией, управляющей L2TP-туннелем, итуннелированными данными имеют одинаковую структуру.Поддержание туннеля с помощью управляющих L2TP-сообщенийL2TP — в отличие от РРТР — не требует для поддержания туннеля отдельного TCPсоединения.
L2TP-трафик передается между L2TP-клиентом и сервером в виде UDPсообщений. В Windows 2008 для этого используется UDP-порт 1701. Управляющиесообщения L2TP поверх IP посылаются как UDP-дейтаграммы. В варианте,реализованном в Windows 2008, эти UDP-дейтаграммы передаются в видезашифрованных полезных данных IPSec-протокола ESP (рисунок 11).Рисунок 11Поскольку TCP-соединение не используется, L2TP — чтобы гарантировать доставкуL2TP-сообщений — применяет их упорядочение (message sequencing). Поля Next-Received(по аналогии с TCP-полем подтверждения) и Next-Sent (по аналогии с TCP-полем номераМГТУ им. БауманаКафедра ИУ-614Сурков Л.В.Корпоративные сетиПрактикум «Построение виртуальных частных сетей VPNв сетевой среде Windows Server 2008/2003» Rev.
2010последовательности) внутри управляющего L2TP-сообщения предназначены дляслежения за последовательностью сообщений. Пакеты, выпадающие из должнойпоследовательности, отбрасываются. Поля Next-Sent и Next-Received могут такжеиспользоваться для упорядоченной доставки и управления потоком туннелированныхданных.L2TP поддерживает по несколько вызовов на каждом туннеле. С этой целью вуправляющем L2TP-сообщении в L2TP-заголовке туннелированных данных присутствуютполя идентификатора туннеля и идентификатора вызова (для данного туннеля).Основные управляющие L2TP-сообщения перечислены в таблице 2.Таблица 2Start-Control-ConitectionRequestStart- Control- Connection-Посылается L2TP-клиентом для установления управляющегосоединения.
До передачи любых других L2TP-сообщений длякаждого L2TP-туннеля нужно создать свое управляющеесоединение.ReplyПосылается L2TP-cepвepом в ответ на сообщение StartControl-Cormection-Request (см. Также ниже).Start-Control-ConnectionConnectedПосылается L2TP-клиентом в ответ на сообщение StarcControl-Connection-Reply.Outgoing-Call-RequestПосылается L2TP-клиентом для создания L2TP-туннеля. Вэто сообщение включается назначенный идентификатор вызова(Assigned Call ID), определяющий конкретный вызов по данномутуннелю.Outgoing-Call-ReplyПосылается L2TP-сервером в ответ на сообщение OutgoingCall-Request.Start-Control-ConnectionConnectedПосылается L2TP-клиентом в ответ на сообщение OutgoingCall-Reply.HelloПосылается L2ТР-клиентом или сервером для проверкиактивности соединения.
Если прием этого сообщения неподтверждается, L2TP-туннель через определенное времязакрывается.WAN-Error-NotifyПосылается L2TP-сервером всем VPN-клиентам, чтобысообщить о какой-либо ошибке, возникшей на РРР-интерфейсеL2TP-cepвepa.Set-Link-InfoПосылается L2TP-клиентом или сервером для установкисогласованных РРР-параметров.Call-Disconnect-NotifyПосылается L2TP-сервером или клиентом для уведомлениядругой стороны о том, что данный вызов в данном туннеле долженбыть завершен.Stop-Control-ConncctionNotificationПосылается L2TP-сервером или клиентом для уведомлениядругой стороны о том, что туннель должен быть закрыт.Туннелирование данных средствами L2TPТакое туннелирование осуществляется путем многоуровневого инкапсулирования.Структура данных, туннелированных средствами L2TP, показана на рисунке 12.МГТУ им.