Что не так с IPv4 и почему мы переходим на IPv6?

Мы используем IPv4 с тех пор, как RFC 791 был опубликован в 1981 году. В то время компьютеры были большими, дорогими и редкими. В IPv4 было предусмотрено 4 миллиарда IP адресов, что казалось огромным числом по сравнению с количеством компьютеров.

К сожалению, IP адреса не используются последовательно. Существуют пробелы в адресации. Например, компания может иметь адресное пространство из 254 (2^8-2) адресов и использовать только 25 из них.

Оставшиеся 229 зарезервированы для будущего расширения. Эти адреса не могут быть использованы кем-либо еще из-за способа маршрутизации трафика в сетях. Следовательно, то, что казалось большим числом в 1981 году, на самом деле является маленьким числом сейчас.

Рабочая группа по разработке Интернета (IETF) осознала эту проблему в начале 1990-х годов и предложила два решения: маршрутизаторы бесклассовых доменов Интернета (CIDR) и частные IP адреса.

До изобретения CIDR, вы могли получить один из трех размеров сети: 24 бита (16 777 214 адресов), 20 бит (1 048 574 адреса) и 16 бит (65 534 адреса). После изобретения CIDR стало возможным разбивать сети на подсети.

Так, например, если вам нужно 5 IP адресов, ваш провайдер предоставит вам сеть размером 3 бита, которая даст вам 6 IP адресов. Это позволит вашему провайдеру использовать адреса более эффективно.

Частные IP-адреса позволяют вам создать сеть, где каждая машина в сети может легко подключиться к другой машине в интернете, но где машине в интернете очень трудно подключиться обратно к вашей машине.

Ваша сеть является частной и скрытой. Ваша сеть может быть очень большой, 16 777 214 адресов, и вы можете разбить свою частную сеть на более мелкие сети, чтобы легко управлять своими адресами.

Вы, вероятно, используете частный адрес прямо сейчас. Проверьте свой собственный IP-адрес: если он находится в диапазоне 10.0.0.0 – 10.255.255.255 или 172.16.0.0172.31.255.255 или 192.168.0.0192.168.255.255, то вы используете частный IP-адрес. Эти два решения помогли предотвратить катастрофу, но это были временные меры, и теперь наступило время расплаты.

Еще одна проблема с IPv4 заключается в том, что заголовок IPv4 был переменной длины. Это было приемлемо, когда маршрутизация осуществлялась программно. Но теперь маршрутизаторы строятся аппаратно, а обрабатывать заголовки переменной длины в аппаратуре сложно.

Большие маршрутизаторы, которые позволяют пакетам проходить по всему миру, с трудом справляются с нагрузкой. Очевидно, что нужна новая схема с заголовками фиксированной длины.

Еще одна проблема с IPv4 заключается в том, что на момент выделения адресов Интернет был американским изобретением. IP-адреса для остального мира фрагментированы. Необходима была схема, позволяющая объединять адреса по географическому признаку, чтобы таблицы маршрутизации были меньше.

Еще одна проблема IPv4, и это может показаться удивительным, заключается в том, что его трудно настроить и трудно изменить. Это может быть неочевидно для вас, потому что ваш маршрутизатор позаботится обо всех этих деталях за вас. Но проблемы вашего провайдера сводят их с ума.

Все эти проблемы легли в основу рассмотрения следующей версии Интернета.

Особенности IPv6

В декабре 1995 года IETF представила следующее поколение IP. Новая версия была названа IPv6, поскольку число 5 по ошибке было присвоено чему-то другому.

Некоторые особенности IPv6 включали.

  • 128-битные адреса (3,402823669×10³⁸ адресов)
  • Схема логического объединения адресов
  • Заголовки фиксированной длины
  • Протокол для автоматической конфигурации и реконфигурации сети.

Давайте рассмотрим эти возможности по очереди:

Адреса IPv6

Первое, что все замечают в IPv6 – это огромное количество адресов. Почему их так много? Ответ заключается в том, что разработчики были обеспокоены неэффективной организацией адресов, поэтому существует так много доступных адресов, которые мы можем распределить неэффективно для достижения других целей.

Так что, если вы хотите построить свою собственную сеть IPv6, есть шанс, что ваш провайдер предоставит вам сеть из 64 бит (1.844674407×10¹⁹ адресов) и позволит вам разбить это пространство на подсети по своему усмотрению.

Агрегация адресов IPv6

С таким количеством адресов, которые можно использовать, адресное пространство может быть распределено неравномерно для эффективной маршрутизации пакетов. Так, ваш провайдер получает сетевое пространство в 80 бит. Из этих 80 бит 16 предназначены для подсетей провайдера, а 64 бита – для сетей клиентов. Таким образом, провайдер может иметь 65 534 сети.

Однако это распределение адресов не является чем-то неизменным, и если провайдер хочет иметь меньшие сети, он может это сделать (хотя, скорее всего, провайдер просто попросит еще одно пространство в 80 бит).

Верхние 48 бит дополнительно разделяются, чтобы провайдеры, находящиеся «близко» друг к другу, имели схожие диапазоны сетевых адресов, что позволяет объединять сети в таблицах маршрутизации.

Заголовок IPv6 фиксированной длины

Заголовок IPv4 имеет переменную длину. Заголовок IPv6 всегда имеет фиксированную длину 40 байт. В IPv4 дополнительные опции приводили к увеличению размера заголовка. В IPv6, если требуется дополнительная информация, она хранится в заголовках расширения, которые следуют за заголовком IPv6 и обычно не обрабатываются маршрутизаторами, а обрабатываются программным обеспечением в месте назначения.

Одним из полей в заголовке IPv6 является поток. Поток – это 20-битное число, которое создается псевдослучайным образом и облегчает маршрутизаторам маршрутизацию пакетов. Если пакет имеет поток, то маршрутизатор может использовать номер потока как индекс в таблице, что быстро, а не как поиск в таблице, что медленно. Эта особенность делает IPv6 очень простым для маршрутизации.

Автоматическая конфигурация IPv6

В IPv6, когда машина впервые запускается, она проверяет локальную сеть на предмет использования ее адреса другими машинами. Если адрес не используется, то машина ищет маршрутизатор IPv6 в локальной сети.

Если она находит маршрутизатор, то запрашивает у него IPv6-адрес для использования. Теперь машина настроена и готова к общению в Интернете – у нее есть IP-адрес для себя и маршрутизатор по умолчанию.

Если маршрутизатор выйдет из строя, то машины в сети обнаружат проблему и повторят процесс поиска маршрутизатора IPv6, чтобы найти резервный маршрутизатор. Это трудно сделать в IPv4.

Аналогично, если маршрутизатор захочет изменить схему адресации в своей сети, он сможет это сделать. Машины будут время от времени запрашивать маршрутизатор и автоматически менять свои адреса. Маршрутизатор будет поддерживать старые и новые адреса до тех пор, пока все машины не перейдут на новую конфигурацию.

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

Так что существует dhcp6, который делает то же самое, что и dhcp, только поскольку машина загружается в состоянии маршрутизации, один демон dhcp может обслуживать большое количество сетей.

Заменит ли IPv6 когда-нибудь IPv4?

Итак, если IPv6 настолько лучше IPv4, почему его внедрение не получило широкого распространения (по состоянию на март 2023 года, по оценкам Google, трафик IPv6 составляет около 39-43% от общего трафика)?

Основная проблема заключается в том, что приходит первым, курица или яйцо? Кто-то, управляющий сервером, хочет, чтобы сервер был как можно более широко доступен, что означает, что он должен иметь IPv4 адрес.

Он также может иметь IPv6 адрес, но мало кто будет его использовать, и вам придется немного изменить свое программное обеспечение, чтобы приспособить IPv6. Кроме того, многие маршрутизаторы домашних сетей не поддерживают IPv6.

Многие интернет-провайдеры не поддерживают IPv6. Я спросил об этом своего провайдера, и мне сказали, что они предоставят его, когда клиенты попросят об этом. Тогда я спросил, сколько клиентов попросили об этом. Только Вы.

Для сравнения, все основные операционные системы, Windows, OS X и Linux, поддерживают IPv6 «из коробки» и поддерживают уже много лет. В этих операционных системах даже есть программное обеспечение, которое позволяет пакетам IPv6 «туннелировать» внутри IPv4 до такой степени, что пакеты IPv6 могут быть удалены из окружающего пакета IPv4 и отправлены дальше.

IPv6 решит эти проблемы путем изменения стратегии выделения адресов, внесения улучшений для облегчения маршрутизации пакетов и упрощения настройки машины при ее первом подключении к сети.

Однако принятие и использование IPv6 происходило медленно, потому что перемены трудны и дороги. Хорошей новостью является то, что все операционные системы поддерживают IPv6, поэтому, когда вы будете готовы к изменениям, вашему компьютеру не потребуется много усилий для перехода на новую схему.

Сечинов Михаил Эксперт по компьютерному железу

Один из основателей проекта ITShaman.ru. Я люблю компьютерное железо. Люблю Intel, но дома и на работе использую AMD. Из-за этого много экспериментирую и тестирую.

Похожие статьи

Комментарии (0)