Знакомство с IP v6

В этой  зпметке мы расскажем о том что же интересного есть в IPv6 и так ли уж он страшен и непонятен как иногда кажется.

Например, один из интернет-провайдеров Беларуси столкнулся с нехваткой IPv4. Точнее с этой проблемой столкнулись абоненты данного провайдера, так как попасть на сайт google.com стало периодически не возможно. Поэтому мы решили в данном письме поговорить про IPv6.

Ты, безусловно, знаешь такой замечательный протокол, как ARP (Address Resolution Protocol). Нужен он для того, чтобы любой узел в сети мог получить информацию о MAC-адресе узла назначения по его IP-адресу. Фактически, этот протокол лежит в основе работы любой LAN сети, и результат его работы мы видим в  ARP-таблице узла (компьютера, маршрутизатора и т.д.):

Host:~ user$ arp -a
? (192.168.1.1) at 0:26:ed:a8:9c:e9 on en0 ifscope [ethernet]
? (192.168.1.3) at 70:56:81:c0:f0:8b on en0 ifscope permanent [ethernet]
? (192.168.1.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]

Многие протоколы из IPv4 перекочевали в IPv6, должен был по логике перекочевать и ARP. Однако, в IPv6 ARP нет (как в СССР секса J).

Но функцию преобразования адреса как-то надо реализовывать, для чего был разработан специальный протокол – NDP (Neighbor Discovery Protocol), одна из функций которого заключается в узнавании MAC адресов по IPv6 адресам. Посмотреть результат работы данного  протокола можно таким образом:

R8#sh ipv6 neighbors
IPv6 Address                              Age    Link-layer Addr       State            Interface
2001:155:1:58::5                      0        aabb.cc00.0510      REACH          Et0/1.58
FE80::A8BB:CCFF:FE00:510        0        aabb.cc00.0510      DELAY          Et0/1.58
2001:155:1:108::10                            0        aabb.cc00.0a10      REACH          Et0/1.108
FE80::A8BB:CCFF:FE00:A10       0        aabb.cc00.0a10      STALE          Et0/1.108

Кроме того, как и ARP для IPv4, данный протокол лежит в основе функции DAD (Duplicate Address Detection), которая позволяет определять дублирующийся IP адрес в локальном сегменте LAN сети.
Чуть выше мы упоминали такой протокол, как Neighbor Discovery (ND), который является одним из краеугольных камней работы IPv6. Как минимум потому, что он выполняет функцию ARP, то есть преобразования адресов сетевого уровня (IP адресов) в адреса канального уровня (MAC адреса). Еще одна очень важная и полезная функция, которая реализована в этом протоколе – это автоматическая настройка интерфейсов узлов.

Как было дело в IPv4? Все мы помним такой замечательный протокол, как DHCP. Он прекрасно выполнял свои задачи, однако для его реализации необходим был выделенный сервер, ну или как минимум соответствующая настройка на маршрутизаторе. Задача простая, но тем не менее ее необходимо было решить.

В IPv6 протокол DHCP сохранился, но он стал больше играть функцию дополнительных сервисов, нежели использоваться для организации связи. Да, его можно использовать точно также, как и ранее, но проще использовать функции протокола ND. В рамках него есть механизм обмена сообщениями Router Advertisement (RA) и Router Solicitation (RS). Сообщения RA генерирует любой маршрутизатор и отправляет на multicast адрес всех узлов (FF02::1) с Hop Limit = 1 (аналог TTL в IPv4), чтобы данный пакет за приделы локального линка никуда не улетел, с частотой 600 секунд по умолчанию или в ответ на RS сообщения других узлов. В данном сообщении содержится информация о префиксе, который настроен на маршрутизаторе, его адресе link-local, маршрутах по умолчанию, дополнительная информация про настройку и многое другое. Так как генерируются эти (RA) сообщения по умолчанию на всех интерфейсах маршрутизаторов, где по умолчанию включен IPv6, то фактически нам надо с одной стороны линка указать префикс, а с другой включить автонастройку и установку маршрут по умолчанию:

R1(config)# interface Ethernet0/0
R1(config-if)# ipv6 address 2001:10:1:12::2/64

R2(config)# interface Ethernet0/0
R2(config-if)#ipv6 address autoconfig default

Итог:

R2(config-if)#do sh ipv ro
IPv6 Routing Table — default — 7 entries
Codes:
ND — ND Default, NDp — ND Prefix, DCE — Destination, NDr — Redirect
!
ND  ::/0 [2/0]
via FE80::A8BB:CCFF:FE00:200, Ethernet0/0
NDp 2001:10:1:12::/64 [2/0]
via Ethernet0/0, directly connected

Как видно, все работает очень даже прекрасно, связь в IPv6 установить быстрее.

 

Существует очень много мнений и мифов, относительно длинны и сложности ввода IPv6-адресов, Мы бы хотели этот миф развеять. Итак, сам миф: длинна IPv6 адреса в четыре раза больше, чем длинна IPv4 адреса (128 бит против 32), а значит его дольше вводить, сложнее запомнить, и потому он менее удобный,

Миф основан на реальном факте: IPv6 адрес в битах действительно в 4 раза длиннее, чем IPv4. Однако, это совсем не означает, что все эти биты надо вводить в явном виде, Во-первых, IPv6 адреса записываются в шестнадцатеричном виде, Во-вторых, существуют определенные правила сокращенной записи IPv6 адресов, которые регламентирует следующее,
Все лидирующие нули в блоке из 16 бит можно опускать
Можно сократить один или несколько идущих подряд блоков из нулей до записи «::».

Лучше всего показать действие этих правил на примере:
Оригинальный IPv6 адрес, 2001:0DB8:0000:0001:0000:0000:0000:0AD2.
Сокращаем лидирующие нули, 2001:DB8:0:1:0:0:0:AD2.
Убираем один блок из идущих подряд нулей, тут есть два варианту у нас: 2001:DB8::1:0:0:0:AD2 или 2001:DB8:0:1::AD2 (второй вариант по-короче).

К тому же, в отличие от IPv4 адресов, в IPv6 используется запись префикса, а не маски подсети. Да и в IPv6 в принципе нет такого понятия, как маска подсети. Есть только префикс. Для примера приведем запись IPv4 и IPv6 адресов на маршрутизаторе  (не забываем включить поддержку IPv6 маршрутизации и IPv6 CEF):

R1(config)# ipv6 unicast-routing
R1(config)# ipv6 cef
R1(config)# interface gig 1
R1(config-if)# ip address 10.10.0.1 255.255.255.0
R1(config-if)# ipv6 address 2001:10:10:0::1/64

Как по количеству введенных символов, так даже и короче, Безусловно, с ростом сетей вероятно увеличиться и количество вводимых символов. Но, с этим растет и возможность более гибкого управления адресацией, агрегации адресов и упрощения таблицы маршрутизации.

Не верьте всем мифам, друзья, Проверяйте вместе с нами,


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hide me
Получать регулярно свежие материалы, лабораторные и вебинары
Email Имя
Show me