Поэтому протоколы сетевого уровня и выше инвариантны к сетевой физической среде. |
Адресация в IP-сетях
7.5. Типы адресов IPv6
Протокол IPv6 предусматривает 3 типа адресов:
- Индивидуальный (unicast) - идентифицирует интерфейс устройства. Адрес источника сообщения всегда должен быть индивидуальным.
- Групповой (multicast) - реализует многоадресный режим передачи. Протокол IPv6 не предусматривает широковещательную передачу сообщений. Однако групповой метод может осуществить рассылку сообщений всем узлам локальной сети.
- Произвольный (anycast) - назначается нескольким устройствам (как при групповом методе передачи), но пакет с произвольным адресом назначения доходит только до ближайшего устройства с таким адресом.
7.5.1. Индивидуальные адреса IPv6
Протокол IPv6 предусматривает несколько типов индивидуальных адресов:
- Специальные адреса
- Глобальные индивидуальные адреса
- Локальные адреса канала
Специальные адреса
- Адрес логического интерфейса loopback ::1/128 или ::1 протокола IPv6 аналогичен адресу 127.0.0.1 протокола IPv4. Он служит для самотестирования, когда проверяется, установлен ли стек протоколов TCP/IP.
- Неопределенный адрес ::/128 или :: протокола IPv6 в некоторых случаях используется в качестве адреса источника в пакете, когда источнику еще не назначен постоянный индивидуальный адрес.
- Встроенные адреса IPv4 необходимы на период перехода от IPv4 к IPv6.
Для преобразования адреса IPv6 в адрес IPv4 разработан подтип адреса, в котором 4 младших байта содержат адрес предыдущей версии IPv4, а старшие 12 байт - содержат нули. При преобразовании адреса IPv4 в адрес IPv6 младшие 4 байта содержат адрес версии IPv4, байты 5 и 6 содержат единицы, а старшие 10 байт содержат нули.
Глобальные индивидуальные адресаIPv6
Глобальные индивидуальные адреса IPv6 являются уникальными во всей сети Интернет. Также как уникальные адреса IPv4 они либо назначаются администратором статически, либо присваиваются динамически.
Глобальный индивидуальный адрес IPv6 состоит из трех частей:
- префикса глобальной маршрутизации (48 старших бит адреса)
- идентификатора подсети (16 бит)
- идентификатора интерфейса (64 младших бита адреса).
Глобальные индивидуальные адреса могут либо назначаться администратором статически, либо динамически (автоматически).
Статическое конфигурирование интерфейсов IPv6 аналогично IPv4 и сводится к заданию адресов, включению интерфейсов, конфигурированию DCE на последовательных соединениях. Ниже приведен пример конфигурирования интерфейсов Cisco-маршрутизатора А сети IPv6 ( рис. 7.10). Префикс глобальной маршрутизации 2001:db8:a/48, подсети 1, 2, 3, 4.
R-A(config)#int g0/0 R-A(config-if)#ipv6 address 2001:db8:a:1::1/64 R-A(config-if)#no shutdown R-A(config-if)#int s0/0/1 R-A(config-if)#ipv6 address 2001:db8:a:2::1/64 R-A(config-if)#clock rate 64000 R-A(config-if)#no shutdown
Поскольку IPv6 позволяет устанавливать на интерфейс несколько адресов, то ошибочно введенный адрес необходимо удалить по команде no ipv6 address <адрес>, а не просто перезаписать новый, как в IPv4.
При автоматическом назначении глобальных индивидуальных адресов IPv6 используются три варианта:
- Автоконфигурирование без сохранения состояния адреса, когда адресную информацию (значение префикса, адрес шлюза по умолчанию) устройство получает от маршрутизатора.
- Всю адресную информацию устройство получает от сервера DHCP.
- Адресную информацию устройство получает от маршрутизатора, дополнительную информацию - от сервера DHCP.
В первом случае используются сообщения "Объявления маршрутизатора IPv6", которые маршрутизатор IPv6 рассылает периодически каждые 200 секунд в режиме многоадресной групповой рассылки. Для ускорения получения адресной информации устройство может послать "Запрос маршрутизатора IPv6", ответ на который приходит немедленно.
Во втором случае сервер DHCPv6 назначает устройству полный глобальный адрес, включающий префикс и идентификатор интерфейса. МАС-адрес, созданный EUI-64, позволяет определять идентификатор узла назначения, что снижает безопасность передачи данных по сети. Случайно сгенерированное значение идентификатора интерфейса повышает безопасность.
Третий случай - гибридный, часть адресной информации (префикс) узел получает от маршрутизатора, а дополнительную, например, адрес DNS - от сервера DHCPv6.
Конфигурирование адресов IPv6 интерфейсов маршрутизатора не достаточно для того, чтобы маршрутизатор мог функционировать, рассылая сообщения "Объявления маршрутизатора IPv6". Маршрутизация IPv6 включается после формирования команды ipv6 unicast-routing в режиме глобального конфигурирования:
R-A(config)#ipv6 unicast-routing
Кроме того, на маршрутизаторе необходимо сконфигурировать протокол динамической маршрутизации или сконфигурировать статические маршруты. После этого маршрутизатор сможет пересылать пакеты и отправлять служебные сообщения "Объявления маршрутизатора IPv6".
При конфигурировании устройств IPv6 необходимо учитывать, что устройство может получить индивидуальный IPv6-адрес динамически и, кроме того, на нем может быть сконфигурировано статически несколько IPv6-адресов одной сети. Устройство также может функционировать с несколькими шлюзами по умолчанию.
При рассылке сообщений "Объявления маршрутизатора IPv6" в качестве адреса источника сообщения и адреса шлюза по умолчанию используются локальные адреса.
Локальные индивидуальные адреса канала
Локальные индивидуальные адреса канала используются для обмена сообщениями внутри подсети (локального канала), где они должны быть уникальными. Пакеты с локальными адресами канала не могут пересылаться в другие подсети. Локальные индивидуальные адреса канала могут быть назначены администратором вручную или динамически, когда устройство автоматически создает его без обращения к серверу DHCP.
Локальные индивидуальные адреса канала назначаются из диапазона FE80::/10 - FEBF::/10. В двоичном коде эти адреса будут следующие: 1111 1110 1000 0000 - 1111 1110 1011 1111. Для локальных индивидуальных адресов канала обычно используется префикс FE80::/64 с идентификатором интерфейса, сгенерированным случайным образом или созданным механизмом EUI-64 ( рис. 7.11).
Локальный МАС-адрес действителен только в пределах сетевого сегмента канального уровня. Для определения адресов в других сетях узел может запросить информацию о настройках сети, отправив запрос протокола ICMPv6. Объединив сетевой префикс и идентификатор интерфейса, узел сформирует адрес назначения.
Динамическое назначение локальных индивидуальных адресов IPv6 производится даже тогда, когда глобальный адрес IPv6 не назначен. Шлюзу по умолчанию назначается локальный адрес маршрутизатора. Это позволяет сетевым устройствам обмениваться маршрутной информацией и пересылать сообщения внутри локального канала без использования глобальных адресов ( рис. 7.12). То есть, узел FE80::A1 может обмениваться сообщениями с любым узлом (FE80::A2, FE80::A3, FE80::A4,…) из своей локальной сети (из своего локального канала).
Локальные адреса используются:
- Для адресации шлюза по умолчанию
- Для обмена сообщениями протоколов маршрутизации
- Для адреса следующего перехода в таблицах маршрутизации
Локальные адреса IPv6 могут быть получены динамически или сконфигурированы вручную. Например, ниже приведен результат конфигурирования, когда локальные адреса были получены динамически:
R-А#show ipv6 interface brief GigabitEthernet0/0 [up/up] FE80::260:47FF:FE9A:1A01 2001:DB8:A:1::1 ... Serial0/0/1 [up/up] FE80::20A:F3FF:FEB5:CE02 2001:DB8:A:2::1 Vlan1 [administratively down/down]
Из распечатки следует, что идентификаторы интерфейсов локальных адресов FE80::260:47FF:FE9A:1A01 и FE80::20A:F3FF:FEB5:CE02 были созданы с использованием механизма EUI-64, поскольку в средину 48-разрядного МАС-адреса вставлено число FF:FE и получен идентификатор размером 64 бита. На каждом интерфейсе установлен как локальный, так и глобальный адрес.
Локальные адреса могут быть заданы администратором вручную:
R-А(config)#int g0/0 R-А(config-if)#ipv6 add fe80::1 link-local R-А(config-if)#int s0/0/1 R-А(config-if)#ipv6 add fe80::1 link-local
Ниже в распечатке приведены новые локальные адреса:
R-А#sh ipv6 int brief GigabitEthernet0/0 [up/up] FE80::1 2001:DB8:A:1::1 ... Serial0/0/1 [up/up] FE80::1 2001:DB8:A:2::1 Vlan1 [administratively down/down]
В вышеприведенном примере на всех интерфейсах маршрутизатора А был сконфигурирован одинаковый локальный адрес FE80::1. Это возможно, поскольку он должен быть уникальным только в пределах канала (подсети). На всех интерфейсах второго маршрутизатора В может быть сконфигурирован, например, локальный адрес ipv6 add fe80::2 link-local. При посылке пакета с локальным адресом назначения, например при выполнении команды ping, может потребоваться указать выходной интерфейс, поскольку одинаковый локальный адрес может быть в разных подсетях, присоединенных к разным интерфейсам.
Поскольку последовательные интерфейсы (serial) стандартно не имеют МАС-адреса, то для них могут использоваться МАС-адреса интерфейсов Ethernet.
Проверку состояния интерфейсов маршрутизатораIPv6 можно проводить с помощью рядакоманд: show running-config, show interfaces, show ipv6 interface brief, а также с помощью команды show ipv6 route.
Часть распечатки команды show ipv6 route приведена ниже:
R-A>sh ipv6 route IPv6 Routing Table - 5 entries ... C 2001:DB8:A:1::/64 [0/0] via ::, GigabitEthernet0/0 L 2001:DB8:A:1::1/128 [0/0] via ::, GigabitEthernet0/0 C 2001:DB8:A:2::/64 [0/0] via ::, Serial0/0/1 L 2001:DB8:A:2::1/128 [0/0] via ::, Serial0/0/1 L FF00::/8 [0/0] via ::, Null0 R-A
В распечатке отражены помеченные символом С непосредственно присоединенные сети, которые имеют префикс /64, и помеченные символом L локальные сети (интерфейсы) с префиксом /128. Через эти интерфейсы и присоединены сети. Назначение локальных маршрутов, помеченных символом L, облегчает маршрутизацию пакетов с адресом назначения данного интерфейса.
Следует отметить, что индивидуальный глобальный адрес не является обязательным, во многих случаях достаточно локального адреса канала, который создается при конфигурировании соответствующего интерфейса IPv6.