ICMPv6 и настройки firewall'а с ним связанные

Адреса hostA и hostB принадлежат одной сети. В круглых скобках указаны подробности ICMPv6 данных.

Осталось разобраться с допустимыми TTL

NS и NA (аналог ARP в IPv4)

hostA   =>   ff02::1:ff00:0/104  (ICMPv6 type: 135, Target: hostB, Option type: 1, HOPLIMIT=255)
hostA   <=   hostB               (ICMPv6 type: 136, Target: hostA, Option type: 2, HOPLIMIT=255)

Если мы являемся машиной A, то ответный пакет (с типом 136) будет принят через коннекшен трекинг. Если мы являемся машиной B, то начальный пакет (с типом 135) должен иметь hoplimit==255, и быть адресован на ff02::1:ffZZ:YYXX, где ZZ, YY, XX — последние 3 байта из MAC-адреса.

NUD (механизм очистки таблицы соседей)

hostA   =>   hostB               (ICMPv6 type: 135, Target: hostB, Option type: 1, HOPLIMIT=255, SRC=fe80::/64)
hostA   <=   hostB               (ICMPv6 type: 136, Target: hostA, Option type: 2, HOPLIMIT=255)

DAD (определение наличия дубликата IPv6 адреса в сети)

Некий хост не имеет адреса, и хочет сконфигурировать адрес hostB. Если данный адрес свободен, второго пакета не будет. Если адрес занят, идет бродкастный пакет, указывающий, на каком MAC адресе он настроен.

::      =>   ff02::1:ff00:0/104  (ICMPv6 type: 135, Target: hostB)
ff02::1 <=   hostB               (ICMPv6 type: 136, Target: hostB, Option type: 2, HOPLIMIT=255)

RS и RA (Автоматическая настройка маршрутизации.)

hostA   =>   ff02::2             (ICMPv6 type: 133, HOPLIMIT=255)
ff02::1 <=   routerB             (ICMPv6 type: 134, HOPLIMIT=255)

net/icmpv6_и_его_блокировка_на_firewall.txt · Последние изменения: 2015-03-19 11:47 — Andrew A. Sabitov