IPv6/История

Материал из Urbanculture
Перейти к: навигация, поиск

Предпосылки[править]

Основной протокол, по которому в Интернете передадаются данные, называется IP (Internet Protocol). Всякие HTTP, ICQ и прочая ерунда работают поверх него (с TCP или UDP в промежутке, но это уже детали). IP умеет упаковывать данные в пакеты и передавать их между компьютерами. Понятно, желающим обменяться данными нужно как-то друг друга идентифицировать. Для этой цели используются IP-адреса.

А вот с адресами и начинаются проблемы. IP был придуман в 80-х годах XX века, когда никто и не предполагал, что доступ в Интернет через какие-то пятнадцать лет будет не то, что у каждой уважающей себя фирмы, а вовсе у каждого школьника. Поэтому адреса сделали длиной в четыре байта (от 0.0.0.0 до 255.255.255.255). Их 2^32 = 4294967296, казалось, что хватит всем. Прямо как 640 килобайт.

Но это еще не самый большой просчет. На ранних этапах развития сети адреса можно было получать не сколько тебе реально надо, а только блоками по 16777216, 65536 или 256 адресов. Если тебе надо 500 адресов, бери сразу 65536. Если надо 66000, бери 16 миллионов. Явно не самый эффективный расход адресного пространства.

Есть и еще один прикол: сеть 224.0.0.0/4 (268435456 адресов) выделили для многоадресной рассылки (через нее, в частности, работает IPTV), а адреса после нее зарезервировали для использования в будущем. Многие разработчики сетевого оборудования поставили аппаратный фильтр на эти зарезервированные адреса, и теперь если разрешить их использование, часть исторической инфраструктуры не сможет с ними работать.

Но до какого-то момента это все не имело значения, поскольку Интернет был только у военных и в университетах.

Когда число пользователей сети начало стремительно возрастать, стало ясно, что адресов не так уж и много. В первую очередь отказались от дурацкой классовой адресации (той самой выдачи блоками фиксированного размера) и сделали возможным выдавать адреса в минимально нужном количестве.

Потом и это перестало помогать, тогда подумали, что во имя спасения сети можно отказаться от уникальности адреса каждой машины и выдавать по одному уникальному адресу на сеть, чтобы все машины сети ходили в Интернет через него. Так появился NAT (Network Address Translation), который подменяет адрес источника у соединений вовне сети на адрес маршрутизатора. Для сетей за такими маршрутизаторами выделили всем теперь известные сети 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16.

Но это все временные меры, которые только помогли бы продержаться до внедрения нового протокола с большим адресным пространством.

Чем же плох NAT?[править]

Есть мнение, что новый протокол не нужен, а можно жить с NAT и дальше.

Чем же он плох? Да всем. Пока мы устанавливаем соединения изнутри сети, все не так уж и плохо. Но тоже не особо хорошо, поскольку машин существенно больше, чем реальных адресов, а для защиты от атак на отказ в обслуживании многие сервера ставят ограничение на число соединений с одного адреса. Можно получить самый настоящий бан на гугле.

А вот с соединениями из Интернета в нашу сеть проблем куда больше. Многие протоколы, в том числе SIP (для голоса поверх IP), FTP, да те же p2p-сети через NAT в его чистом виде работать не могут. Приходится строить костыли, либо встроенные в протокол (как у Skype и BitTorrent), либо на стороне маршрутизатора.

Кроме этого, в больших сетях NAT становится очень ресурсоемкой операцией. На десятимегабитном канале какой-нибудь DIR-300 вполне справляется, чтобы NAT'ить 100 мегабит, уже нужно достаточно мощное железо.

Что NAT повышает безопасность — это тоже миф. Закрыть лишние входящие соединения с тем же успехом можно и межсетевым экраном.

Новый протокол[править]

К 1996 году были выпущены спецификации протокола IPv6. Он предоставляет нам:

  • Огромное адресное пространство. Адреса стали длиной 128 бит, то есть всего их 2^128 = 340282366920938463463374607431768211456. Внушительно, правда?
  • Обязательная поддержка многоадресной рассылки (в IPv4 была опциальной).
  • Обязательная поддержка IPsec (шифрования трафика).
  • Автоматическая настройка адресов на машинах и поиск ими маршрутизатора.

Длинные адреса поначалу могут выглядеть страшно. И правда, 2001:db8:0000:0000:0000:0000:0000:0001 выглядит куда сложнее для запоминания, чем 192.0.2.1. Но две или более группы нулей можно заменить символом «::», а незначащие нули не писать. Выходит 2001:db8::1, совсем просто.

Кстати, несмотря на непонимание некоторых провайдеров, в IPv6 вообще не полагается выдавать пользователю единственный адрес. Только подсеть /64 на сегмент, /56 (или /48) на сеть из нескольких сегментов. Размер /64 выбран для того, чтобы можно было автоматически сгенерировать уникальный адрес каждого хоста из MAC-адреса.

Автономным системам (провайдерам, например), выдаются сети /32 вида 2001:db8::/32. А те самые /64 имеют вид 2001:db8:aa:bb::/64. Как видно, их куда проще запомнить, чем мелкие сети IPv4 типа /27, имеющие не такую красивую границу.

При использовании нового протокола автоматической настройки администратру достаточно включить ее на маршрутизаторе и прописать используемую подсеть, клиенты получат себе адреса и найдут маршрут наружу без его участия. Разве что адреса DNS-серверов сейчас так раздать нельзя, нужен DHCPv6. Но расширения для этой цели уже предложены.

Нынешнее состояние[править]

Большинство провайдеров очень не спешили с внедрением IPv6. Главная тому причина: на замену старого железа, которое его не поддерживает, нужно очень много денег. Один коммутатор третьего уровня стоит несколько сотен тысяч долларов. А еще нужно менять абонентские концентраторы, биллинг и еще много чего.

Поэтому возможностей получить IPv6 домой на данный момент (2011 год) практически нет. Только у некоторых в тестовом режиме (Comcast в США, например). А вот на точках обмена трафиком и в датацентрах он обычно есть.

Сайтов и сервисов с поддержкой IPv6 тоже пока немного, но ситуация исправляется. Но пользователей p2p там уже достаточно много.

И все же переход на IPv6 неизбежен. К концу 2000-х ситуация с адресами стала критической, а в феврале 2011 года последние пять блоков /8 были выданы региональным регистраторам для раздачи пользователям. Когда их все раздадут (вероятно, уже к концу 2011 года), адресов IPv4 больше не останется.