IPv6 (Internet Protocol version 6) – это последняя версия Интернет-протокола (IP), разработанная для решения ограничений IPv4, особенно проблемы исчерпания доступных IPv4-адресов.
Сегодня мы рассмотрим всё до мельчайших деталей на устройствах CISCO.
Протокол IP (Internet protocol) является протоколом сетевого уровня.
В версии 4 мы имеем 32бита для поля адреса.
максимум 11111111 11111111 11111111 11111111 в двоичной системе
или привычное глазу 4 294 967 295.
Что нам предлагает IPV6? 128 бит в поле адреса
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
И в десятичной системе. Т.е 2 в 128 степени
340 282 366 920 938 586 008 062 602 462 446 642 046
IP версия 6 (IPv6) — это новая версия Интернет-протокола, разработанная как преемник IP версии 4 (IPv4) [RFC-791].


IPv6 записывается в шестнадцатеричной системе счисления, используя цифры 0-9 и a-f. Один шестнадцатеричный символ представляет собой 4 бита или 16 десятичных единиц.

Каждому адресу IPv6 соответствует восемь групп из четырех шестнадцатеричных символов. Группы разделяются двоеточиями.Пример: 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765
Правильная запись IPv6
Адреса IPv6 должны быть записаны определенным образом. Это поможет быстрее и проще интерпретировать адреса как для людей, так и для программ.
Ведущие нули в каждой группе должны быть удалены. Адрес 2001:0db8::0001 следует записывать как 2001:db8::1.
“::” должно использоваться для представления наибольшего возможного количества 16-битных блоков, содержащих нули. Важно помнить, что «::» можно использовать только один раз в адресе. Если можно использовать “::” в нескольких местах и везде одинаково много нулей, ставьте его в начало, в первую группу с нулями.

Буквы в IPv6 должны быть записаны в нижнем регистре. 2001:DB8::1 неверно 2001:db8::1 верно
Для указания номера порта IPv6 пишем в квадратных скобках, а затем указываем порт, например: [2001:120::1]:21.
Примечание есть множество различных способов указать порт вот примеры:
1. [2001:db8::1]:80
2. 2001:db8::1:80
3. 2001:db8::1.80
4. 2001:db8::1 port 80
5. 2001:db8::1p80
6. 2001:db8::1#80
Символ «::» не должен использоваться для сокращения одного 16-битного блока с нулями. Например, запись 2001:db8:0:1:1:1:1:1 правильная, а вот 2001:db8::1:1:1:1:1 — неправильная.
Сокращение с «::» используется для улучшения читаемости адреса, но оно не изменяет саму структуру IPv6. Как к примеру если написать ping 127.1

Подробнее в RFC 5952
Почему стоит использовать IPv6 вместо IPv4?
Основная причина перехода на IPv6 заключается в его адресации. IPv4 использует 32-битную адресацию, что ограничивает количество адресов до 4,3 миллиарда. В свою очередь, IPv6 использует 128-битную адресацию и поддерживает 340 ундециллионов (340 триллионов адресов. Увеличение количества доступных адресов стало особенно важным с ростом числа умных устройств и расширением связности. IPv6 предоставляет более чем достаточно глобально уникальных IP-адресов для всех устройств, подключенных к сети, что помогает обеспечить возможность подключения большего количества IP-устройств в будущем.
Помимо адресации, IPv6 имеет следующие преимущества:
-
Автоконфигурация без состояния адресов
-
Опциональная поддержка NAT (Перевод сетевых адресов)
-
Упрощенная администрация с помощью DHCPv6
-
Улучшенное качество обслуживания благодаря маркировке потоков

IPv4 Header

-
Version: первое поле показывает, какая версия IP используется, и для IPv4 всегда будет стоять значение 4.
-
Header Length: это поле в 4 бита определяет, какова длина IP-заголовка. Минимальная длина заголовка — 20 байт, поэтому значение этого поля будет равно 5. Максимально возможное значение — 15, что соответствует заголовку в 60 байт. Такое поле также называют длиной интернет-заголовка (IHL).
-
Type of Service: это поле используется для управления качеством обслуживания (QoS). В нем есть 8 бит, которые могут быть использованы для метки пакета, чтобы назначить ему определенное обращение. Подробнее об этом можно узнать в материалах по IP-преоритетам и DSCP.
-
Total Length: это поле в 16 бит указывает общий размер IP-пакета (включая заголовок и данные) в байтах. Минимальная длина — 20 байт, если данных нет, а максимальная длина — 65 535 байт, что является максимальным значением для 16 бит.
-
Identification: если IP-пакет был фрагментирован, все фрагменты будут иметь одинаковый 16-битный идентификатор, который показывает, к какому исходному пакету они принадлежат.
-
IP Flags: эти 3 бита используются для фрагментации пакетов:
-
Первый бит всегда равен 0.
-
Второй бит называется DF (Don’t Fragment), и он указывает, что данный пакет не должен быть фрагментирован.
-
Третий бит называется MF (More Fragments) и устанавливается на всех фрагментах, кроме последнего.
пример в Wireshark
-
-
Fragment Offset: это поле в 13 бит указывает, на какой позиции в оригинальном пакете находится фрагмент.
-
Time to Live: каждый раз, когда IP-пакет проходит через маршрутизатор, его значение в поле времени жизни уменьшается на 1. Когда оно достигает 0, маршрутизатор удаляет пакет и отправляет сообщение ICMP о превышении времени на отправителя. Это поле предназначено для предотвращения бесконечных циклов маршрутизации.
-
Protocol: это 8-битное поле сообщает, какой протокол инкапсулирован в IP-пакете. Например, для TCP значение будет 6, а для UDP — 17.
-
Header Checksum: это 16-битное поле хранит контрольную сумму заголовка. Приемник может использовать ее, чтобы проверить целостность заголовка и выявить возможные ошибки.
-
Source Address: здесь указывается 32-битный IP-адрес источника.
-
Destination Address: а здесь — 32-битный IP-адрес назначения.
-
IP Option: это поле используется редко, оно необязательно и имеет переменную длину, зависящую от используемых опций. Если оно используется, длина заголовка увеличивается. Пример опции — «source route» (маршрут источника), когда отправитель требует, чтобы пакет шел по определенному маршруту.


IPv6 FixedHeader
Заголовок IPv6 является частью данных, которые передаются по сети интернет. Его длина всегда составляет 40 байт и в нем содержится информация о маршруте и способе доставки данных. Это помогает устройствам эффективно обмениваться информацией и поддерживать стабильную работу сети.
Version (4 бита)
Поле имеет размер 4 бита и определяет версию интернет-протокола. Для IPv6 это всегда значение 6, что представлено в виде последовательности битов 0110.
Traffic Class (8 бит)
Поле Traffic Class указывает на приоритет или класс IPv6 пакета, аналогичное полю Service в IPv4. Это значение помогает маршрутизаторам обрабатывать пакеты в зависимости от их приоритета. В случае перегрузки маршрутизатора пакеты с низким приоритетом могут быть отброшены. На данный момент используется только 4 бита, в то время как остальные биты еще исследуются. В диапазоне от 0 до 7 указаны пакеты с контролем перегрузки, а от 8 до 15 — пакеты с неконтролируемым трафиком.
Приоритет трафика с контролем перегрузки в IPv6 помогает маршрутизаторам эффективно обрабатывать пакеты в зависимости от их важности. Каждый приоритет определяет тип трафика, который используется для различных целей:

-
0 — Нет специфического трафика: используется, если нет конкретных требований к пакету.
-
1 — Фоновый трафик: для данных, которые не требуют немедленного внимания и могут быть отправлены в периоды низкой загрузки сети.
-
2 — Трафик данных без наблюдения: для данных, которые могут быть обработаны в фоновом режиме без необходимости в реальном времени.
-
3 — Зарезервировано: этот приоритет зарезервирован для будущего использования.
-
4 — Трафик с обслуживанием крупных данных: для больших объемов данных, которые требуют надежной доставки, но не обязательно в реальном времени.
-
5 — Зарезервировано: также зарезервировано для будущих целей.
-
6 — Интерактивный трафик: для данных, которые требуют немедленного отклика, например, для видеозвонков или онлайн-игр.
-
7 — Контрольный трафик: для данных, которые управляют трафиком и необходимы для мониторинга или контроля сети.
Метка потока (Flow Label) (20 бит)
Это 20-битное поле используется источником для маркировки последовательностей пакетов, принадлежащих одному и тому же «потоку» и требующих специальной обработки маршрутизаторами . Точное использование этого поля определено в RFC 6437 . Следует отметить, что это новое поле в IPv6, и оно не имеет прямого эквивалента в IPv4. Метка потока направлена на повышение эффективности маршрутизации и поддержку новых приложений за счет возможности идентификации связанных пакетов. Группируя пакеты в потоки, маршрутизаторы могут принимать более обоснованные решения о пересылке или применять определенные политики QoS ко всем пакетам в потоке.
Длина полезной нагрузки (Payload Length) (16 бит)
Это 16-битное целое число без знака указывает длину в октетах (байтах) полезной нагрузки IPv6. Полезная нагрузка включает в себя любые расширенные заголовки и данные протокола верхнего уровня . Это отличается от поля «Общая длина» (Total Length) в IPv4 , которое включает в себя длину заголовка IPv4. Максимальная длина полезной нагрузки составляет 65 535 байт. Поле «Длина полезной нагрузки» в IPv6 четко разделяет размер заголовка (фиксированный) и размер данных, что потенциально упрощает обработку пакетов. Маршрутизаторам не нужно вычитать длину заголовка, чтобы определить размер полезной нагрузки, как это делается в IPv4.
Следующий заголовок (Next Header) (8 бит)
Это 8-битное поле идентифицирует тип заголовка, который следует непосредственно за заголовком IPv6 . Это может быть расширенный заголовок или заголовок протокола верхнего уровня, такого как TCP или UDP . Оно использует те же значения, что и поле «Протокол» (Protocol) в IPv4 , которое определяет протокол, переносимый в разделе данных . Ниже представлена таблица с распространенными значениями этого поля, основанная на RFC 8200 и назначениях IANA .

Предел перехода (Hop Limit) (8 бит)
Это 8-битное целое число без знака представляет собой счетчик, который уменьшается на единицу каждым маршрутизатором (узлом пересылки), через который проходит пакет . Если предел перехода достигает нуля, пакет отбрасывается, чтобы предотвратить зацикливание маршрутов . Узлы назначения должны обрабатывать пакеты, даже если предел перехода равен нулю. Это поле аналогично полю «Время жизни» (Time to Live — TTL) в IPv4 , и хотя название отличается, основная цель — предотвращение бесконечной циркуляции пакетов — остается той же. Предел перехода обеспечивает стабильность сети, предотвращая бесконечное зацикливание пакетов в случае неправильной настройки маршрутизации. Ограничивая количество переходов, которые может совершить пакет, сеть избегает перегрузки и истощения ресурсов, вызванных пакетами, которые никогда не достигают своего назначения.
Адрес источника (Source Address) (128 бит)
Это 128-битный адрес отправителя пакета . Он значительно длиннее 32-битного адреса источника в IPv4 . IPv6 предоставляет значительно расширенное адресное пространство . 128-битный адрес источника позволяет использовать гораздо большее количество уникально адресуемых устройств и упрощает распределение адресов. Огромное адресное пространство устраняет необходимость в сложных методах управления адресами, таких как NAT, которые широко используются в сетях IPv4.
Адрес назначения (Destination Address) (128 бит)
Это 128-битный адрес предполагаемого получателя пакета . Этот адрес может не быть окончательным получателем, если присутствует заголовок маршрутизации . Как и в случае с адресом источника, он значительно длиннее 32-битного адреса назначения в IPv4 . Аналогично адресу источника, 128-битный адрес назначения способствует расширению возможностей адресации в IPv6. Это позволяет напрямую адресовать огромное количество устройств, облегчая сквозное подключение.
Расширенные заголовки IPv6
В IPv6 используются расширенные заголовки как механизм предоставления дополнительных функций, которые в IPv4 часто реализовывались в виде опций . В отличие от опций IPv4, расширенные заголовки IPv6 не имеют фиксированного максимального размера и могут быть объединены в цепочку . Поле «Следующий заголовок» в основном заголовке IPv6 указывает на первый расширенный заголовок, и каждый расширенный заголовок также имеет поле «Следующий заголовок», указывающее на следующий заголовок (другой расширенный заголовок или заголовок протокола верхнего уровня) . Если расширенные заголовки отсутствуют, поле «Следующий заголовок» в основном заголовке указывает непосредственно на протокол верхнего уровня.

Заголовок опций перехода (Hop-by-Hop Options Header): Содержит опции, которые должны быть проверены каждым маршрутизатором на пути следования пакета.
Заголовок маршрутизации (Routing Header): Используется для маршрутизации на основе источника, позволяя отправителю указать путь, по которому должен следовать пакет .
Заголовок фрагментации (Fragment Header): Применяется для фрагментации пакетов, если они слишком велики для MTU пути (хотя IPv6 предпочитает механизм обнаружения MTU пути, чтобы избежать фрагментации) . Следует отметить разницу с IPv4, где фрагментацию могут выполнять и маршрутизаторы . Такой подход IPv6 к фрагментации перекладывает ответственность на узел-источник, что направлено на повышение эффективности работы сети за счет снижения нагрузки на обработку маршрутизаторов. Используя обнаружение MTU пути, IPv6 стремится обеспечить правильное определение размера пакетов на источнике, сводя к минимуму или исключая необходимость фрагментации. Когда фрагментация все же необходима, она выполняется только источником.
Заголовок опций назначения (Destination Options Header): Содержит опции, которые должны обрабатываться только узлом(ами) назначения.
Заголовок аутентификации (Authentication Header — AH) и заголовок инкапсулирующей безопасности (Encapsulating Security Payload — ESP): Используются для обеспечения безопасности в рамках IPsec.

Globalroutingprefix (префикс глобальной маршрутизации): Это значение, которое назначается сети или сайту. Оно помогает идентифицировать группу подсетей или линков в интернете.
Subnet ID (идентификатор подсети): Это идентификатор конкретной подсети внутри сайта. Он помогает различать разные подсети в одном большом участке сети.
Interface ID (идентификатор интерфейса): Это уникальный идентификатор для каждого устройства или интерфейса в сети.

Все уникаст-адреса IPv6, за исключением тех, которые начинаются с префикса 000, используют 64-битный идентификатор интерфейса в формате EUI-64.
глобальный префикс маршрутизации — это значение, назначенное для идентификации сайта (кластера подсетей/линков)
идентификатор подсети — это уникальный идентификатор подсети внутри сайта
идентификатор интерфейса — это модифицированный формат EUI-64



Существует несколько типов IPv6-адресов
Глобальные Unicast-адреса (Global Unicast Addresses): Это общедоступные, маршрутизируемые в Интернете адреса, аналогичные публичным IPv4-адресам . Они начинаются с префикса 2000::/3 . Их структура включает префикс глобальной маршрутизации, идентификатор подсети и идентификатор интерфейса .
Уникальные локальные адреса (ULA — Unique Local Addresses): Это частные адреса для локальной коммуникации внутри организации, аналогичные частным IPv4-адресам . Они имеют префикс fc00::/7 или fd00::/8 . ULA пришли на смену устаревшим site-local адресам (fec0::/10)
Link-Local адреса: Используются для связи в пределах одного сегмента сети . Они автоматически настраиваются устройствами и имеют префикс fe80::/10 . Link-Local адреса необходимы для работы протокола обнаружения соседей (Neighbor Discovery Protocol).
Multicast-адреса: Используются для отправки пакетов группе устройств . Они начинаются с префикса ff00::/8 . Multicast-адреса заменяют широковещательные адреса IPv4, обеспечивая более эффективную групповую связь.
Anycast-адреса: Идентифицируют один из набора интерфейсов, предоставляющих определенную услугу (неявное знание). Пакеты, отправленные на anycast-адрес, доставляются ближайшему интерфейсу с этим адресом.

Адрес Loopback: ::1/128, эквивалентный 127.0.0.1 в IPv4 . Используется для тестирования локального хоста.

Неопределенный адрес: ::/128, используется в качестве адреса источника во время процесса обнаружения дубликатов адресов (DAD) . Указывает на отсутствие адреса.
Обнаружение дубликатов адресов (DAD) в IPv6 на устройствах Cisco: обеспечение уникальности адресов
DAD
DAD вы подумаете причем тут отец? Но нет DAD — Duplicate Address Detection Процесс обнаружения дубликатов адресов является важной частью IPv6, который гарантирует уникальность unicast-адресов перед их назначением интерфейсу . DAD использует сообщения Neighbor Solicitation (NS) и Neighbor Advertisement (NA) протокола обнаружения соседей (NDP) . Узел, желающий использовать определенный IPv6-адрес, отправляет сообщение NS с неопределенным адресом источника (::) и адресом назначения, являющимся multicast-адресом запрошенного узла (solicited-node multicast address) . Если другой узел в сети уже использует этот адрес, он отвечает сообщением NA . DAD является фундаментальным механизмом в IPv6 для предотвращения конфликтов IP-адресов в пределах одного сегмента сети.

Существует оптимизированная версия DAD, называемая Optimistic DAD, которая позволяет сократить задержки при настройке адресов 1 . Optimistic DAD позволяет использовать адрес сразу после отправки сообщения NS, с некоторыми ограничениями . Этот метод рекомендуется использовать для адресов, которые с высокой вероятностью являются уникальными, например, адресов, сгенерированных на основе EUI-64 или случайным образом .
Процесс DAD, основанный на сообщениях NDP, уязвим для атак типа «отказ в обслуживании» (DoS) . Злоумышленники могут отправлять поддельные сообщения NA, чтобы предотвратить настройку легитимными узлами своих IP-адресов . Стандартный процесс DAD не имеет встроенных механизмов безопасности .
Существуют различные сценарии, в которых DAD может работать некорректно. К ним относятся проблемы с петлями в сети, которые могут вызывать ложные срабатывания , гонки во время загрузки системы, когда службы пытаются привязаться к еще не проверенным адресам , а также разделение сети на сегменты .
На устройствах Cisco DAD включен по умолчанию , но его можно перенастроить или отключить как глобально, так и на уровне отдельных интерфейсов . DAD является частью протокола обнаружения соседей (NDP) . NDP также отвечает за обнаружение недоступности соседей (Neighbor Unreachability Detection) .
Subnetting IPv6 (Сетевое деление IPv6)
Когда мы делим сеть IPv6, важно понять, сколько бит мы используем для деления. Количество бит для деления вычисляется как разница между новой длиной префикса и исходной длиной. Например, если у нас есть сеть /48 и мы разбиваем её на сети /52, то разница 52-48 = 4. То есть мы используем 4 бита для деления.
Чем больше бит для деления, тем больше подсетей можно создать. Если у нас есть 4 бита для деления, то можно создать 16 подсетей (2^4 = 16).
Множество организаций получают префикс /48. Это означает, что они могут выделить множество внутренних сетей, и каждая из этих сетей будет иметь префикс /64, что считается лучшей практикой для сетей с конечными устройствами (например, компьютерами или телефонами).
Адрес IPv6 делится на 8 частей, каждая из которых состоит из 16 бит. Префикс /48 находится на границе между 3-й и 4-й частью.

Пример: если организации дали сеть 2001:db8:1::/48, то она может выделить 65536 подсетей /64. Это будет выглядеть так:
-
2001:db8:1:0::/64
-
2001:db8:1:1::/64
-
2001:db8:1:2::/64
-
2001:db8:1:3::/64
-
И так далее до 2001:db8:ffff::/64
Как видите, это довольно просто. Все внутренние сети начинаются с одинаковых первых трех частей (например, 2001:db8:1), а различаются только в четвертой части (2001:db8:1:0, 2001:db8:1:1 и так далее).

Если нужно разобраться в более сложных примерах, можно использовать калькулятор для подсетей IPv6. https://subnettingpractice.com/ipv6-subnet-calculator.html
IPv6 Multicast
Важное замечание: IPv6 не использует адреса вещания (broadcast)
IPv6 не использует адреса вещания, которые встречаются в сетях IPv4. В IPv4 адрес вещания отправляет данные всем устройствам в сети. В IPv6 эта концепция заменена на мультикаст.
Мультикаст в IPv6 позволяет отправлять данные группе устройств (например, всем хостам в сети), а не каждому устройству по отдельности. Чтобы достичь того же эффекта, что и вещание, IPv6 использует мультикаст-адрес «всем хостам».

Команда show ipv6 interface на маршрутизаторе R1 может показывать, какие multicast группы маршрутизатор слушает.

IPv6 Multicast Scope
Поле «scope» указывает на область сети IPv6, для которой предназначен мультикаст-трафик. Это поле имеет размер 4 бита. Помимо информации, предоставляемой протоколами маршрутизации для мультикаст, маршрутизаторы используют область действия (scope), чтобы определить, можно ли перенаправить мультикаст-трафик. Для мультикаст-адресов существует 14 возможных областей действия (некоторые из них еще не назначены), которые варьируются от локальной области интерфейса до глобальной (включая локальные на уровне сети и на уровне сайта).

-
Interface-Local Scope (Значение: 1): Эта область ограничена одним интерфейсом, то есть мультикаст-трафик будет отправляться только на интерфейсе, с которого он был отправлен. Для IPv4 аналог не назначен.
-
Link-local Scope (Значение: 2): Эта область относится к локальному сегменту сети (или линку). Мультикаст-трафик с таким scope будет отправляться только в пределах одного сегмента или сети т.е между двумя соседями. В IPv4 это соответствует префиксу 224.0.0.0/24.
-
Admin-Local Scope (Значение: 4): Эта область предназначена для административных целей в пределах организации, и для нее не существует аналогичного префикса в IPv4.
-
Site-local Scope (Значение: 5): Эта область предназначена для мультикаст-трафика внутри одного сайта (например, корпоративной сети). В IPv4 она соответствует префиксу 239.255.0.0/16.
-
Organisation-local Scope (Значение: 8): Эта область предназначена для использования внутри одной организации, охватывая более широкую территорию, чем site-local. В IPv4 она соответствует префиксу 239.192.0.0/14.
-
Global Scope (Значение: E): Это самая широкая область, и мультикаст-трафик с таким scope может передаваться по всему миру.
Чтобы понять визуально представлю вам такую картину.

IPv6 использует три типа адресов: Link-Local, Unique Local и Global.
В отличие от IPv4, где у интерфейса обычно один IP-адрес, в IPv6 каждый интерфейс автоматически получает Link-Local адрес. Эти адреса всегда начинаются с FE80::/64 , FE9, FEA или FEB.и используются для связи внутри одной локальной сети (сегмента).
Например, если компьютер подключается к сети, он сразу получает Link-Local адрес. Если в сети есть DHCP-сервер, устройство может запросить глобальный IP-адрес. Если DHCP-сервер недоступен, в IPv4 устройство получит адрес из диапазона 169.254.x.x (APIPA), чтобы временно подключиться к сети. Оно также проверит, не используется ли этот адрес другим устройством, отправив ARP-запрос.
В IPv6, даже без DHCP, интерфейс всегда имеет Link-Local адрес, что гарантирует базовую связь между устройствами в локальной сети. Префикс /64 означает, что первые 64 бита адреса указывают на сеть, а оставшиеся 64 — на конкретное устройство (хост).
Если адрес настроен вручную с помощью команды ipv6 address link-local, то он должен быть из диапазона FE80::/10. (1111=F E=1110 8=1000)= 10 бит т.к это остается неизменным применяется маска 10. Также если начинается с FE9, FEA или FEB т.к маска все равно
Link Local Address

Как создаются Link-Local IPv6 адреса?
Link-Local адреса в IPv6 могут генерироваться на основе MAC-адреса устройства (48 бит) с использованием стандарта EUI-64. Процесс включает несколько шагов:
-
Деление MAC-адреса на две части.
Например, для MAC-адреса 6C-94-66-FF-3B-1A:-
Первая часть: 6C-94-66.
-
Вторая часть: FF-3B-1A.
-
-
Добавление фиксированных битов.
Между двумя частями вставляется последовательность бит FF:FE, расширяющая MAC-адрес до 64 бит: -
6C-94-66-FF-FE-FF-3B-1A
-
Инвертирование 7-го бита (Universal/Local бит).
-
U/L бит находится в первом байте MAC-адреса (в данном случае — 6C, или 01101100 в двоичном виде).
-
Этот бит определяет, является ли адрес:
-
Глобально уникальным (0).
-
Локально администрируемым (1).
-
-
Инверсия 7-го бита меняет 01101100 на 01101110 (6C → 6E).
-

Итоговый идентификатор для MAC-адреса 6C-94-66-FF-3B-1A будет: FE80::6E94:66FF:FEFF:3B1A
U/L битом (Universal/Local bit) Этот бит определяет, является ли MAC-адрес:
-
Глобально уникальным (0):
Такой MAC-адрес был назначен производителем оборудования.Уникальность гарантируется на глобальном уровне, потому что производители получают блоки MAC-адресов от IEEE. Пример: MAC-адрес, прописанный на заводе в сетевой карте.
-
Локально администрируемым (1):
Такой MAC-адрес был изменен вручную пользователем или администратором.Уникальность не гарантируется, поскольку адрес задается локально.Пример: Если ты вручную изменил MAC-адрес на своем устройстве.
Команда ipv6 enable используется для включения IPv6 на интерфейсе и автоматического создания линк-локального адреса, без назначения глобальных IPv6-адресов. Это полезно на WAN-соединениях, где роутеры могут обмениваться данными, используя только линк-локальные адреса, не требуя глобальных адресов для маршрутизации. Протоколы маршрутизации, такие как OSPF, EIGRP, BGP, могут работать через линк-локальные адреса, если они настроены на этом интерфейсе.

Solicited-Node Multicast Addresses в IPv6

NDP (Neighbor Discovery Protocol) — протокол в IPv6, заменяющий ARP в IPv4. Он используется для нахождения соседей в сети, например, для разрешения MAC-адресов .
Как работает NDP? — Когда устройство хочет узнать MAC-адрес другого, оно отправляет Neighbor Solicitation (NS) на Solicited-Node Multicast Address (SNMA), связанный с нужным IP-адресом. Ответ приходит от устройства через Neighbor Advertisement (NA) .
SNMA (Solicited-Node Multicast Address) — это мультикаст-адрес, который используется в NDP для запросов MAC-адресов, чтобы уменьшить трафик. Каждый IPv6-адрес имеет свой SNMA, что позволяет запросить информацию только у нужных устройств, избегая широковещательных запросов . Таким образом, NDP с использованием SNMA минимизирует сетевой трафик, отправляя запросы только тем устройствам, которые могут на них ответить.
Как строится адрес: Solicited-Node Multicast Address начинается с префикса FF02::1:FF и заканчивается последними 6 шестнадцатеричными цифрами из локального IPv6-адреса хоста .
Пример: Если у роутера есть глобальный адрес 2001:DB8:1111:1::1/64, то solicited-node multicast адрес будет:
-
Для глобального адреса: FF02::1:FF00:0001.
-
Для link-local адреса FE80::AA:AAAA: FF02::1:FF00:AAAA.
Для вычисления Solicited-Node Multicast адреса из IPv6-адреса нужно взять последние 24 бита (6 последних шестнадцатеричных символов) из адреса. Эти 6 цифр добавляются к префиксу FF02::1:FF .

Пример: У вас есть IPv6 адрес, например 2001:db8::2aa:ff:fe28:9c5a. Извлекаются последние 6 цифр адреса: 28:9c5a. Эти цифры добавляются к префиксу FF02::1:FF, в итоге получается Solicited-Node Multicast адрес: FF02::1:FF28:9c5a.
Этот процесс повторяется для каждого юникастного адреса на интерфейсе, будь то глобальный или линк-локальный.
© Javid CCNP
ссылка на оригинал статьи https://habr.com/ru/articles/892366/
Добавить комментарий