Что такое IPv6 Link-Local Addresses?

cdp

Блок адресов IPv6 link-local выделен специально для использования в контексте одного L2 домена т.е. для организации взаимодействия в локальном сегменте сети. Пакеты, в которых адресом источника или адресом назначения является адрес из диапазона link-local не передаются маршрутизаторами из одного L2 сегмента в другой т.е. эти пакеты не маршрутизируются. Эти адреса необходимы для организации коммуникации в сегменте сети в отсутствии глобально маршрутизируемого префикса (globally routable prefix) или в случае необходимости ограничить распространения трафика локальным сегментом (например, в случае служебного трафика протоколов маршрутизации).

Link-local адреса определены в секции 2.5.6 RFC 4291, как имеющие десяти битный префикс 0xfe80 после которого следуют 54 нулевых бита и 64-bit interface ID :

 
 |   10     |
 |  bits    |         54 bits         |          64 bits           |
 +----------+-------------------------+----------------------------+
 |1111111010|           0             |       interface ID         |
 +----------+-------------------------+----------------------------+

Таким образом, считается, что link-local начинаются с 0xfe80. Однако, секция 5.3 RFC 4862 конкретизирует процесс назначения link-local address:

1.The left-most 'prefix length' bits of the address are those of the link-local prefix.
2.The bits in the address to the right of the link-local prefix are set to all zeroes.
3.If the length of the interface identifier is N bits, the right-most N bits of the address are replaced by the interface identifier.

1.Крайние с лева биты адреса заданные размером префикса являются link-local prefix.
2.Все биты адреса справа от link-local prefix устанавливаются равными нулю.
3.При длине interface id равной N бит, все N бит адреса крайние справа заменяются на interface id.

Другими словами, любой адрес имеющий префикс fe80::/10 является link-local address; а это диапазон включающий адреса начиная с fe80:: и заканчивая febf::. (Последний адрес этого префикса упирается в диапазон fec0::/10 назначенный для пространства site-local .) Но общей практикой все-же является использования 0xfe80 в качестве обозначения link local адресов.

В системе Cisco IOS, интерфейсу IPv6 должен быть назначен хотя-бы один link-local адрес. Адрес link-local назначается автоматически используя EUI-64 когда на интерфейсе настроен global IPv6 адрес либо в случае простого включения IPv6 на интерфейсе:

R1(config)# interface f0/0
R1(config-if)# ipv6 address 2001:db8:0:12::1/64
R1(config-if)# interface f0/1
R1(config-if)# ipv6 enable
R1(config-if)# do show ipv6 interface brief
FastEthernet0/0            [up/up]
    FE80::C001:37FF:FE6C:0
    2001:DB8:0:12::1
FastEthernet0/1            [up/up]
    FE80::C001:37FF:FE6C:1

Так-же адрес Link-local может быть настроен вручную :

R1(config-if)# ipv6 address fe80::1 ?
  link-local  Use link-local address

R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)# do show ipv6 interface brief 
FastEthernet0/0            [up/up]
    FE80::C001:37FF:FE6C:0
    2001:DB8:0:12::1
FastEthernet0/1            [up/up]
    FE80::1

Имейте ввиду, что аргумент link-local может быть использован только для адресов из описанного выше диапазона:

R1(config-if)# ipv6 address fe90::1 link-local
R1(config-if)# ipv6 address febf::1 link-local
R1(config-if)# ipv6 address 2001:db8:0:12::1 link-local
% Invalid link-local address

Использование команды «no ipv6 address link-local» приведет к автоматическому назначению link-local адреса.
Имейте ввиду, что в соответствии со своей природой link-local адреса не отображаются в таблице маршрутизации.

R1# show ipv6 route
IPv6 Routing Table - 3 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
C   2001:DB8:0:12::/64 [0/0]
     via ::, FastEthernet0/0
L   2001:DB8:0:12::1/128 [0/0]
     via ::, FastEthernet0/0
L   FF00::/8 [0/0]
     via ::, Null0

Т.к. подразумевается, что адреса с таким префиксом доступны через любой интерфейс устройства, при использовании команды ping для link-local адресов необходимо указывать интерфейс-источник.

R1# ping FE80::C002:37FF:FE6C:0
Output Interface: f0/0
% Invalid interface. Use full interface name without spaces (e.g. Serial0/1)
Output Interface: fastethernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::C002:37FF:FE6C:0, timeout is 2 seconds:
Packet sent with a source address of FE80::C001:37FF:FE6C:0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms

В более новых версиях IOS так-же поддерживается возможность использования символа % для указания интерфейса-источника:

R1# ping FE80::C002:37FF:FE6C:0%fastethernet0/0

Leave a Reply

Your email address will not be published.





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

Яндекс.Метрика