Еще раз про IPv6. Стратегии и механизмы перехода на протокол IPv6. Лекция 2.

Заголовки IPv4 и IPv6:

 

Payload Length (16 бит). Длина данных. Это длина данных пакета (в байтах), которые следуют за заголовком. Если величина этого поля равна 0, то длина данных дейтаграммы более 65535 и хранится в поле Jumbo Payload (сверхдлина) заголовка Hop-by-Hop Options (см. далее).
Поле протокола IPv4 Total Length было переименовано в протоколе IPv6 в поле Payload Length. Эти два поля сходны между собой, но не тождественны, поскольку поле Payload Length содержит длину данных после заголовка, в то время как поле Total Length учитывает длину заголовка.
Next Header (8 бит). Поле следующего заголовка. Это поле содержит информацию типа заголовка, который следует за заголовком IPv6.
Еще одно переименованное и измененное поле IPv4 — это поле Protocol. Оно превратилось в поле Next Header в IPv6. В IPv4 значение поля Protocol, например 6 для TCP или 17 для UDP, определяет, данные какого транспортного протокола следуют за IP-заголовком. В IPv6 поле Next Header позволяет вставлять дополнительные заголовки между данными IP и TCP или UDP. Оно также сообщает тип транспортных данных, следующих за основным или дополнительным IP-заголовком.

Hop-by-Hop Options Header
Заголовок (его формат представлен на рис. 5) содержит информацию, которая должна проверяться на каждом узле по пути следования пакета. Его идентификатор в основном заголовке — число 0

Заголовок Destination Options
Заголовок Destination Options используется для передачи дополнительной информации, которая будет просматриваться только на конечном узле(ах). Заголовок Destination Options идентифицируется значением Next Header = 60 в предшествующем непосредственно заголовке.

Заголовок Routing
Заголовок Routing используется источником пакетов IPv6 для указания одного или множества промежуточных узлов, которые пакет должен «посетить» на пути к адресату. Функционально этот заголовок очень похож на опции Loose Source и Record Route в заголовках IPv4. Заголовок Routing идентифицируется значением Next Header = 43 в предшествующем ему заголовке.

Заголовок Fragment
Заголовок Fragment используется отправителем IPv6 для передачи пакетов, размер которых превышает значение path MTU для получателя. Заголовок Fragment идентифицируется значением Next Header = 44 в непосредственно предшествующем заголовке.

Authentication header (заголовок аутентификации)
Заголовок аутентификации АН (Authentication Header) представляет собой механизм, который обеспечивает целостность передаваемых данных и аутентификацию отправителя на уровне IP-протокола как для IPv4, так и для IPv6. Он обеспечивает защиту передаваемой информации благодаря шифрованию данных на основе криптографического ключа с использованием асимметричных методов кодирования (например, RSA). Данный механизм безопасности более эффективен, чем ранее использовавшийся в IPv4.

Заголовок аутентификации (AH) и Encapsulating Security Payload (ESP) являются двумя протоколами нижнего уровня, используемыми IPsec, именно они осуществляют аутентификацию и шифрование+аутентификацию данных, передаваемых через соединение. Эти механизмы обычно используются независимо, хотя возможно (но не типично) их совместное применение.

Нет следующего заголовка
Значение 59 в поле Next Header заголовка IPv6 или любого заголовка расширения говорит об отсутствии последующих
заголовков в пакете. Если поле Payload Length в заголовке IPv6 показывает наличие октетов после завершения
заголовка, в котором Next Header = 59, эти октеты должны игнорироваться и пересылаться без изменений.



Стратегии перехода на IPv6:
Dual stack
Термин  «dual  stack»  означает,  что  хост  или  роутер  используют  и  IPv4,  и  IPv6  одновременно.
Туннелирование
чаще  всего  используется,  когда  две  сети  с  одной  технологией  необходимо  соединить  через  транзитную  сеть,  где  используется  другая  технология.
Трансляция
Два  рассмотренных  выше  механизма  взаимодействия  двух  протоколов  —  двойной  стек  и  туннелирование  —  рассчитывают,  что  хост  поддерживает,  по  меньшей  мере,  протокол  IPv6  или  даже  оба  протокола.  Как  бы  то  ни  было  в  отдельных  случаях  хосту,  который  работает  только  с  IPv6,  нужна  коммуникация  с  хостом,  который  работает  только  с  IPv4.  Для  этого  и  существует  третий  механизм  —  механизм,  который  преобразует  заголовки  IPv6  пакетов  в  заголовки  IPv4  и  обратно.

Туннелирование
    • MCT  —  Manually  Configured  Tunnels
    • Tunnel broker
    • ISATAP  (Intra-Site  Automatic  Tunnel  Addressing  Protocol)
    • 6to4 tunnel
    • IPv6 over MPLS (6PE)

Мы сейчас не будем говорить про технологии туннелирования DS Lite, 6rd и Teredo потому что первые две технологии ориентированы на провайдеров, а Teredo это протокол ориентированный на microsoft и не используется в сетях предприятий.

IPv6 MCT поддерживаются большинством маршрутизаторов. MCT определен в RFC 4213. Это один из первых механизмов трансляции разработанный для передачи IPv6 поверх существующих IPv4 сетей. MCT использует протокол 41 (IPv6 Encapsulation) для инкапсуляции трафика, а туннель статически конфигурируется на туннельном узле.
Пример захвата пакетов в туннеле. Мы видим что сначала у нас идет заголовок ipv4 пакета а уже в него инкапсулирован заголовок пакета ipv6

Tunnel Broker

Первоначально IPv6 сети использовали транспортные возможности предоставляемые сетями IPv4 используя настройки сделанные вручную.
Теннельные брокеры описываются в RFC 3053  и используют альтернативный подход к конфигурированию чтобы упростить создание туннелей. Этот метод отлично подходит для объединения небольших изолированных IPv6 сетей или хостов.
Туннельный брокер это место куда пользователь подключается для регистрации и активации туннеля. Сервис туннелей несет ответственность за управление, конфигурирование и удаление пользовательских туннелей. Кроме того, как показано на рисунке выше он имеет доступ к серверу доменных имен позволяет ему прописать адрес и имя пользователя IPv6.
Когда какой либо хост или клиентский интерфейс пытается получить доступ к туннельному брокеру пакеты IPv6, созданные хостом инкапсулируются в пакеты IPv4 для того, чтобы передать данные IPv6 между нашей системой и брокером тоннеля. После того, как пакеты были получены туннельным сервером (TS), который связан с глобальной сетью Интернет IPv6, он удаляет данные IPv4 и отправляет IPv6 пакеты через сеть IPv6.
Основной недостаток туннельных брокеров в том что клиентский компьютер или маршрутизатор должен принять конфигурацию от удаленного сервера и запустить ее с повышенными правами. 



P.S. все материалы и видеозаписи вы можете найти в группе вконтакте Школа Сисадмина

Комментарии

Популярные сообщения из этого блога

How to work with authentication in Zookeeper?

How-to use cUrl for work with ZKUI.

Consul-template: how to run exec command, if file changed? Create a "watcher" via consul-template.