Понимание черной магии адресов 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.