Понимание черной магии адресов IPv6

Мой роутер (AVM Fritz Box) поддерживает 6to4. Пока это работает, но я хочу понять, что происходит. Последние несколько часов я потратил на книгу по IPv6. Есть много вещей, которые я сейчас понимаю, но есть одна вещь, которую я не могу понять:

Адреса маршрутизатора:
Общедоступный IPv4-адрес: 93.209.83.121 (hex: 5dd1:5379)

Global Prefix:                   2002:5dd1:5379:00|00 :0000:0000:0000:0000/56
Global IPv6 address on WAN side: 2002:5dd1:5379:80 00|:0224:feff:fe19:0fde/64
Global IPv6 address on LAN side: 2002:5dd1:5379:00 00|:0224:feff:fe19:0fdc/64

Я положил вертикальную черту (|) в позицию, где заканчивается префикс.

Таким образом, глобальный префикс оканчивается на: 0000: но на стороне WAN он оканчивается на:8000:
Насколько я понимаю, это:8000: адрес не помещается в префикс /56, потому что первый байт отличается от: 0000:

Я ожидал, что подсети /64 начинаются со второго байта этого блока.
Например:0001:,:0002:, ...:00FF:

Но я могу пропинговать глобальный IPv6-адрес. Может ли кто-нибудь объяснить мне, что я ошибся?

1 ответ

Решение

Поскольку вы используете 6to4, у вас будет целое /48 для вас. Структура адреса следующая (возможно, включает в себя более подробную информацию, чем необходимо для вас, но просто на всякий случай):

  • IPv6-адреса в шестнадцатеричном формате
  • 2002 фиксированный префикс для 6to4 (16 бит)
  • 5dd1:5379 Ваш IPv4-адрес записан в шестнадцатеричном формате (2 * 16 бит)
  • Все, что после этого, принадлежит вам (или вашему маршрутизатору), как вам угодно:-)

Вы записываете это как 2002:5dd1:5379::/48, что технически совпадает с 2002:5dd1:5379:0000:0000:0000:0000:0000/48 если вы напишите все блоки и ведущие нули.

/48 означает, что первые 48 битов фиксированы (2002:5dd1:5379: часть) и что все остальное (0000:0000:0000:0000:0000 в ffff:ffff:ffff:ffff:ffff) является гибким (с вами, чтобы работать).

С IPv6 каждая сеть (ЛВС) получает /64, Первый из них 2002:5dd1:5379:0000::/64 (который обычно сокращается до (2002:5dd1:5379::/64) так как :: означает "как много блоков 0000 по мере необходимости здесь). Второй 2002:5dd1:5379:0001::/64и т. д. До 2002:5dd1:5379:ffff::/64,

Да, это означает, что вы получаете достаточно адресов для 65536 локальных сетей!

/56 упоминается как глобальный префикс просто неправильно. Как я уже упоминал ранее, это на самом деле /48, Поле Fritz!, похоже, использует правильные адреса, хотя и показывает неправильный размер префикса. Оно использует ...:0000:... для его интерфейса локальной сети и ...:8000:... для его интерфейса WAN. В этом нет ничего плохого, кажется, просто ошибка дисплея:-)

Одна важная вещь: 6to4 не всегда очень надежен. Ваш маршрутизатор будет отправлять исходящий трафик IPv6 через туннель IPv6-in-IPv4 на 192.88.99.1. В Интернете есть много маршрутизаторов с этим адресом (метод под названием anycast), и ваш исходящий трафик IPv6 будет в конечном итоге использовать тот, который сеть считает наиболее близким. То же самое касается обратного трафика в вашу сеть. Есть также много реле для этого, и то, какое из них используется, зависит от того, какое из них ближе к другой стороне. Если какое-либо из этих реле работает плохо, сломано, плохо обслуживается, не имеет достаточной пропускной способности и т. Д. И т. Д., То ваше соединение IPv6 будет разорвано. А поскольку входящий трафик будет использовать разные реле в зависимости от того, с какими другими системами вы общаетесь при отладке, это практически невозможно.

Т.е. Hurricane Electric (he.net / tunnelbroker.net) предлагает бесплатные туннели IPv6-in-IPv4, которые статически настроены. Вы всегда будете использовать один и тот же ретранслятор для входящего и исходящего трафика, и вы будете знать, кто за него отвечает, если он потерпит неудачу. Это, вероятно, избавит вас от многих головных болей:-)


Все это не зависит от вашего провайдера. Им не нужно предоставлять какую-либо услугу, связанную с 6to4, чтобы это работало, хотя, если вам повезет, они предоставляют исходящий ретранслятор для 6to4.

Другие вопросы по тегам