6to4 (6to4)
6to4 — это переходный механизм, позволяющий передавать IPv6-пакеты через IPv4-сети и не требующий создания двусторонних туннелей. Это, как правило, используется, когда конечный пользователь или сайт хотят получить соединение с IPv6-Интернетом, но не могут получить его от провайдера.
6to4 может использоваться как отдельным узлом, так и целой IPv6-сетью. При этом нужен как минимум один «белый» IPv4-адрес для шлюза, на каждый IPv4-адрес выделено до 1 208 925 819 614 629 174 706 176 (280) IPv6-адресов или до 65 536 (216) подсетей /64.
Как работает 6to4
[править | править код]6to4 выполняет три функции:
- Выделяет блок /48 адресного пространства IPv6 каждому узлу, у которого есть глобальный IPv4-адрес.
- Инкапсулирует IPv6-пакеты в IPv4-пакеты для передачи по сети IPv4.
- Позволяет передавать пакеты между 6to4-узлами и узлами с прямым подключением к IPv6-Интернету.
Выделение блока адресов
[править | править код]
Для каждого глобального адреса IPv4 выделена 48-битная приставка IPv6-адреса. Она может быть создана на основе IPv4-адреса. При этом адрес IPv4 ставится позади приставки 2002::/16, но в шестнадцатеричном виде.
Для каждого глобального адреса IPv4 выделена 48-битная приставка IPv6-адреса. Она может быть создана на основе IPv4-адреса. При этом адрес IPv4 ставится позади приставки 2002::/16, но в шестнадцатеричном виде.
Так IPv6-приставка для IPv4-адреса 192.0.2.4 будет равна 2002:C000:0204::/48.
Любой адрес IPv6, имеющий приставку 2002::/16, является 6to4-адресом.
Инкапсуляция
[править | править код]6to4-узел вкладывает пакет IPv6 в пакет IPv4 с типом протокола 41 («IPv6 (encapsulation)»). Перед тем, как отправить 6to4-пакет, узел проверяет адрес назначения на принадлежность к 6to4-сети и, если этот адрес соответствует 6to4, то он извлекает IPv4-адрес из 6to4-адреса и отправляет пакет по полученному адресу.
Маршрутизация между 6to4 и другими IPv6 сетями
[править | править код]Для того, чтобы 6to4-узлы могли отправлять пакеты в другие IPv6-сети, были созданы 6to4-ретрансляторы, которые подключены как к IPv4-сети, так и к IPv6-сети. Когда 6to4-узлу нужно отправить IPv6-пакет, он отправляет его по anycast адресу 192.88.99.1. Ретранслятор, получив 6to4-пакет, извлекает IPv6-пакет и отправляет его по IPv6-сети. Для IPv6-узлов 6to4-узлы выглядят как обычные IPv6-узлы и IPv6-пакет будет передан на ближайший 6to4-ретранслятор, анонсирующий префикс сети 2002::/16.
Обратный DNS
[править | править код]Если сайт использует статический глобальный IPv4-адрес, то возможно делегировать обратную DNS зону для 48-битного блока адресов полученного через 6to4. Регистрация обратной DNS-зоны производится Number Resource Organization в зоне 2.0.0.2.ip6.arpa на сайте 6to4.nro.net. Процесс полностью автоматизирован.
См. также
[править | править код]Литература
[править | править код]- B. Carpenter & K. Moore. Connection of IPv6 Domains via IPv4 Clouds. RFC 3056, February 2001.
- R. Gilligan & E. Nordmark. Transition Mechanisms for IPv6 Hosts and Routers. RFC 2893, August 2000.
- C. Huitema. An Anycast Prefix for 6to4 Relay Routers. RFC 3068, June 2001.
- P. Savola & C. Patel. Security Considerations for 6to4. RFC 3964, December 2004.