Распознавание типов адресов IPv6 в системах Windows с поддержкой DirectAccess — часть 2: подробный обзор технологий перехода IPv6
ИСАТАП
Протокол автоматической туннельной адресации внутри сайта (ISATAP) позволяет компьютерам, настроенным для поддержки адаптеров ISATAP, получать IPv6-адрес с сервера ISATAP. Windows Vista, Windows 7, Windows Server 2008 и Windows Server 2008 R2 имеют стандартную встроенную поддержку ISATAP.
Клиент ISATAP связывается с сервером ISATAP, используя DNS-запрос для . В среде DNS-сервера Windows может потребоваться разблокировать запросы для ISATAP, поскольку они заблокированы по умолчанию в Windows Server 2008 и Windows Server 2008 R2 (и более поздних версиях Windows 2003). После разрешения имени сервера ISATAP сервер ISATAP может предоставить клиенту префикс IPv6 (аналогичный идентификатору сети в IPv4), а идентификатор хоста основан на IPv4-адресе клиента. Эта комбинация префикса и идентификатора хоста (префикс всегда 64-битный, а идентификатор хоста всегда 64-битный) создает собственный адрес IPv6, который может использоваться клиентами и серверами IPv6 для связи с клиентскими и серверными приложениями, написанными для поддержки IPv6..
Этот адрес ISATAP назначается туннельному адаптеру ISATAP в системе. Когда хост ISATAP хочет подключиться к другому хосту ISATAP, связь маршрутизируется на основе IPv4-адресов источника и получателя с использованием заголовка IPv4, который инкапсулирует связь. Когда пакет IPv4 достигает пункта назначения, заголовок IPv4 удаляется, и связь IPv6 становится доступной.
Что интересно, если в вашей сети есть один сервер ISATAP, с точки зрения IPv6 будет казаться, что у вас есть , несмотря на то, что заголовок IPv4, который инкапсулирует это соединение, может видеть 5 переходов.
ISATAP назначает «настоящие» адреса IPv6, которые могут использоваться приложениями IPv6. Даже если у вас нет «родной» инфраструктуры IPv6 (с маршрутизаторами IPv6, DNS, DHCP и клиент-серверными приложениями), вы все равно можете развернуть приложения IPv6 в своей сети сегодня, потому что ISATAP делает это возможным для вас. В развертывании DirectAccess сервер DirectAccess может и часто выступает в качестве маршрутизатора ISATAP. ISATAP упрощает развертывание DirectAccess, поскольку он устраняет большую часть сложности, присущей собственной инфраструктуре IPv6, и позволяет использовать DirectAccess в среде, где имеются операционные системы, поддерживающие IPv6, сетевые стеки и клиент-серверные приложения.
фигура 1
6 до 4
Много говорят об исчерпании адресов IPv4. Я недавно читал, что предсказания, что у нас закончатся эти адреса, произойдут в ближайшие пару лет. Затем необходимо будет принять меры по возврату множества неиспользуемых адресов и перераспределению адресов, которые используются в настоящее время. Дело в том, что IP-адреса нужны не только компьютерам. Телефоны, карманные компьютеры, MP3-плееры и любые другие устройства могут быть подключены к сети — это вызывает бурный рост числа устройств, которым необходимо подключение к Интернету. В то время как NAT до сих пор был решением проблемы адресов, NAT создает проблемы, которые затрудняют работу с растущим числом приложений. IPv6 предоставит около 3,4 × 10 ^ 38 адресов, чего должно быть более чем достаточно, пока не появится IPv7.
Однако до тех пор, пока инфраструктура интернет-маршрутизации не обновится до IPv6, мы все еще будем работать с Интернетом IPv4. Для того чтобы клиент DirectAccess мог работать в Интернете IPv4, нам потребуется использовать какой-либо метод инкапсуляции пакетов IPv6 в заголовок IPv4, чтобы их можно было маршрутизировать через Интернет.
Одной из таких технологий является 6to4. Клиент 6to4 — это клиент, которому назначен действительный общедоступный интернет-адрес. Клиент Teredo настроен на использование определенного сервера Teredo. По умолчанию клиент 6to4 будет использовать предварительно настроенный сервер Teredo, используемый Microsoft. Однако в среде DirectAccess ваши клиенты Teredo будут настроены на использование сервера DirectAccess в качестве своего сервера Teredo.
Когда клиент 6to4 подключается к серверу 6to4, сервер 6to4 назначит 64-битный префикс клиенту Teredo. Клиент 6to4 назначит себе идентификатор хоста на основе собственного общедоступного IP-адреса. Эта комбинация префикса и идентификатора узла создает адрес IPv6, который будет инкапсулирован в заголовок IPv4, чтобы его можно было маршрутизировать через Интернет.
фигура 2
Когда инкапсулированный пакет IPv6 достигает сервера 6to4 (который в большинстве случаев будет вашим сервером DirectAccess), заголовок IPv6 удаляется, а затем он направляется к месту назначения IPv6 по вашей сети с использованием IPv6.
Помните, что 6to4 используется только тогда, когда ваш клиентский компьютер имеет общедоступный IP-адрес. Это происходит не очень часто, но вы заметите, что некоторые отели предоставляют вам возможность получить общедоступный IP-адрес, когда вы подписываетесь на их услуги. Они делают это в первую очередь для поддержки протоколов VPN сетевого уровня, которые плохо работают на устройствах NAT, таких как туннельный режим IPsec (когда NAT-T недоступен) и L2TP/IPsec (по той же причине, поскольку NAT-T требуется и здесь). В большинстве случаев у вас будет частный адрес с NAT. В этом случае вы будете использовать адресацию Teredo.
Тередо
Teredo — это еще один метод, который используется для инкапсуляции пакетов IPv6 в заголовки IPv4, чтобы они могли перемещаться по Интернету IPv4. Однако, в отличие от 6to4, Teredo используется только тогда, когда вы находитесь за устройством NAT. Это может быть простой маршрутизатор NAT или брандмауэр, использующий NAT между клиентом и Интернетом.
При развертывании сервера DirectAccess вы заметите, что вам потребуется назначить два общедоступных адреса для внешнего интерфейса сервера DirectAccess. Причиной этого является поддержка клиентов Teredo. Клиент Teredo использует эти два адреса, чтобы определить, за каким типом устройства NAT они находятся. Сам по себе протокол Teredo довольно сложен, и мы прибережем его подробное описание для следующей статьи. Ключевым моментом, который необходимо усвоить, является то, что Teredo используется для инкапсуляции пакетов IPv6 в заголовок IPv4, чтобы их можно было отправлять через Интернет IPv4, когда клиент находится за устройством NAT.
Адрес Teredo представляет собой комбинацию 64-битного префикса, который представляет собой комбинацию предварительно назначенного значения Teredo и общедоступного IPv4-адреса сервера Teredo. Клиенты Windows с поддержкой IPv6 автоматически настроятся на использование сервера Teredo, управляемого Microsoft, но при развертывании DirectAccess вы настроите клиентов на использование вашего сервера DirectAccess в качестве своего сервера Teredo. 64-битный идентификатор хоста клиента Teredo получается из порта UDP, используемого устройством NAT (и он закодирован для защиты «конфиденциальности» клиента), и закодированного значения для адреса publicIPv4 устройства NAT (по той же причине).
Рисунок 3
IP-HTTPS
Будут времена, когда у вас нет общедоступного IP-адреса, и вы находитесь за брандмауэром или веб-прокси в сети IPv4 с частным адресом, которая разрешает только исходящие HTTP/HTTPS. Это сложно, потому что вы ограничены только серверами, которые разрешают доступ к протоколу HTTP. Однако, чтобы реализовать цель DirectAccess, вы должны иметь возможность подключаться к корпоративной сети независимо от вашего местоположения, а это означает, что вы должны иметь возможность подключаться, когда единственным вариантом является HTTP.
Клиенты DirectAccess поддерживают протокол IP-HTTPS (IP через HTTPS). IP-HTTPS позволяет клиентам DirectAccess подключаться к серверу DirectAccess по протоколу HTTPS. Это обеспечивает подключение через брандмауэры, которые разрешают только HTTPS, и даже через устройства веб-прокси. Однако устройства веб-прокси не должны требовать проверки подлинности, поскольку в клиенте DirectAccess нет положения, позволяющего клиенту пересылать учетные данные на аутентифицирующий веб-прокси-сервер.
IP-HTTPS — наихудший сценарий для клиента DirectAccess. На это есть две основные причины:
- Клиент должен использовать циклы процессора для шифрования связи HTTPS в туннеле SSL. Это шифрование является дополнением к шифрованию IPsec, которое автоматически используется для защиты связи DirectAccess между клиентом и сервером DirectAccess. Это двойное шифрование не требуется при использовании Teredo из-за устройства NAT.
- Существуют значительные накладные расходы протокола. Пакет IPv6 инкапсулируется в IPv4, который затем инкапсулируется в заголовок протокола прикладного уровня HTTP, который затем шифруется с помощью SSL.
Ваши пользователи не будут счастливы при использовании IP-HTTPS, по крайней мере, они не будут так счастливы, как ваши пользователи Teredo и 6to4. Однако они, вероятно, будут более счастливы, чем ваши пользователи L2TP/IPsec VPN, потому что вашим пользователям IP-HTTPS не нужно вручную устанавливать свои соединения, и их общий опыт конечных пользователей намного лучше, чем у пользователей VPN сетевого уровня. Однако, если у них есть много больших копий файлов, они могут захотеть переехать в отель, в котором разрешены 6to4 или Teredo.
Префикс IP-HTTPS 64-битного адреса IPv6 получается из комбинации предварительно заданного значения, общедоступного адреса сервера DirectAccess и идентификатора подсети. 64-битный идентификатор хоста — это случайное значение, созданное сервером DirectAccess. Комбинация префикса и идентификатора хоста составляет сложный IPv6-адрес.
Рисунок 4
Помните, что IP-HTTPS используется только тогда, когда клиент DirectAccess находится за брандмауэром или веб-прокси, которые не разрешают исходящий доступ для подключений Teredo. Teredo требуется доступ к исходящему UDP 3544. Многие администраторы могут подумать, что IP-HTTPS должен быть предпочтительным протоколом, поскольку они знакомы с другими инкапсулированными протоколами HTTPS, такими как RPC/HTTP, но на самом деле вы хотите избежать IP-HTTPS, если Вы можете.
Резюме
В этой статье мы обсудили DirectAccess и IPv6, а также то, как клиенты DirectAccess могут использовать преимущества технологий перехода IPv6, чтобы клиентские и серверные приложения IPv6 могли взаимодействовать через Интернет IPv4. Обсуждаемые технологии перехода на IPv6 включали ISATAP, 6to4, Teredo и IP-HTTPS. ISATAP используется для назначения адресов IPv6 и маршрутизации пакетов через интрасеть IPv4, 6to4 используется для назначения адреса IPv6 хосту с общедоступным адресом IPv4 и туннелирования его через Интернет IPv4, Teredo используется для назначения адреса IPv6 хосту. за устройствами NAT и туннелировать его через Интернет IPv4, а IP-HTTPS используется для назначения адреса IPv6 хосту, расположенному за брандмауэром или веб-прокси, который разрешает только исходящий HTTP/HTTPS и туннелирует его через Интернет IPv6.
Технологии перехода IPv6 являются ключом к рабочему решению DirectAccess. Хотя глубокое понимание IPv6 было бы неплохо, факт в том, что вам не нужно глубокое понимание IPv6, чтобы сегодня получить работающее решение DirectAccess. Поскольку в настоящее время почти все сети поддерживают протокол IPv4, если вы получите представление о типах адресов IPv6 и технологиях перехода, вы будете в хорошей форме, чтобы работу над своим проектом DirectAccess. Ваши пользователи будут вас за это, а ваш начальник похлопает вас по спине и, возможно, даже повысит!
В следующий раз я продолжу, расскажу больше о различных типах IPv6-адресов и дам вам несколько советов и советов о том, как их легко распознать. Я также расскажу о том, как создаются эти адреса, что поможет раскрыть некоторые тайны. Я думаю, что это важно, поскольку одна из причин, по которой люди избегают IPv6, заключается в том, что адреса выглядят устрашающе! В следующей статье я сделаю все, что в моих силах, чтобы избавить вас от страха перед этими поначалу пугающими адресами, и, надеюсь, покажу вам, что они на самом деле забавны. До встречи! – Деб.