IPv4 и IPv6: в чём разница (и почему это важно)
IPAddress-Lookup.com ·
Каждому устройству, подключающемуся к Интернету, нужен адрес, и этот адрес бывает одного из двух типов: IPv4 или IPv6. Если вы когда-нибудь заглядывали в окно настроек сети и видели там что-то вроде 192.168.1.42 рядом с загадочной строкой, например 2001:0db8:85a3::8a2e:0370:7334, то вы уже лично познакомились с обоими протоколами. Они выполняют одну и ту же основную задачу — передают пакеты данных от одного устройства к другому, — однако построены на совершенно разных принципах. Понимание разницы между ними — это не просто академическая мелочь. От этого зависит, насколько быстрым вам кажется ваше соединение, насколько безопасен ваш трафик и сможет ли Интернет вообще продолжать расти. В этом руководстве подробно разъясняется, что представляет собой каждый из протоколов, как они сравниваются по отдельным функциям, почему переход на новый протокол занимает столько времени и что всё это означает для вас как для обычного пользователя или владельца веб-сайта.
Если сам термин «IP-адрес» для вас нов, стоит сначала прочитать наше введение в тему «Что такое IP-адрес», а затем вернуться сюда, чтобы подробно изучить обе версии.
Что такое IPv4?
IPv4, сокращение от «Internet Protocol version 4» (Интернет-протокол версии 4), является «рабочей лошадкой» Интернета с момента его стандартизации в 1981 году. Именно на него десятилетиями опиралось практически каждое подключение, и он по-прежнему обеспечивает передачу большей части трафика. Адрес IPv4 представляет собой 32-битное число. Тридцать два бита дают ровно 2 в степени 32 возможных комбинаций, что составляет 4 294 967 296 адресов, или примерно 4,3 миллиарда.
Поскольку исходное 32-битное двоичное число нечитаемо для человека, адреса IPv4 записываются в десятичной нотации с точками. 32 бита разделяются на четыре 8-битных блока, называемых октетами, каждый из которых преобразуется в десятичное число от 0 до 255 и отделяется точкой. Таким образом, адрес 172.16.254.1 на самом деле представляет собой двоичную последовательность 10101100.00010000.11111110.00000001. Каждый октет может принимать 256 значений (от 0 до 255), а произведение четырёх октетов даёт тот самый предельный показатель в 4,3 миллиарда.
Классы адресов и ранний Интернет
Вначале пространство IPv4 было разбито на жесткие классы адресов. Сети класса A использовали первый октет для сетевой части, а остальные три — для хостов, что давало несколько огромных сетей, каждая из которых имела около 16 миллионов адресов. В сетях класса B адрес делился пополам для сетей среднего размера, а в сетях класса C три октета использовались для сети, а всего один — для хостов, что позволяло использовать только 254 адреса на сеть, но создавало очень большое количество таких сетей. Классы D и E были зарезервированы для многоадресной рассылки и экспериментального использования.
Эта система с классами была неэффективной. Организация, которой требовалось 300 адресов, не могла уместиться в блоке класса C из 254 адресов, поэтому ей выделялся блок класса B, содержащий примерно 65 000 адресов, в результате чего десятки тысяч адресов оставались неиспользованными. Чтобы исправить эту ситуацию, отрасль перешла на безклассовую междоменную маршрутизацию (CIDR), которая позволяет подбирать размер сетей в соответствии с реальными потребностями с помощью длины префикса, например /24. Если вы хотите понять, как работают эти числа со слэшами, в нашем руководстве по подсетям и CIDR это подробно описано.
Исчерпание адресов и рост популярности NAT
Четыре миллиарда адресов казались бесконечным количеством в 1981 году, когда компьютер был редким и дорогим устройством. Они перестали казаться бесконечными, когда каждый телефон, ноутбук, термостат, дверной звонок и автомобиль стали требовать собственного адреса. В 2011 году на глобальном уровне иссяк резерв нераспределенных IPv4-адресов верхнего уровня, и с тех пор региональные реестры работают с использованием списков ожидания и повторно используемого адресного пространства.
Единственной главной причиной, по которой IPv4 просуществовал так долго, является преобразование сетевых адресов (NAT). NAT позволяет множеству устройств совместно использовать один публичный IPv4-адрес. Внутри вашего дома или офиса устройства используют частные адреса из зарезервированных диапазонов, таких как 192.168.x.x или 10.x.x.x. Эти адреса не маршрутизируются в публичном Интернете. Когда устройство отправляет пакет наружу, ваш маршрутизатор переписывает адрес источника на свой единственный публичный IP-адрес и записывает преобразование в таблицу вместе с номерами портов. Когда приходит ответ, маршрутизатор обращается к таблице и перенаправляет пакет на нужное внутреннее устройство. Фактически за одним публичным адресом скрываются сотни устройств. NAT продлил жизнь Интернету ещё на одно-два десятилетия, но при этом нарушил первоначальную архитектуру «от конца до конца», при которой любой хост мог напрямую связаться с любым другим хостом. Хотите узнать, какой у вас сейчас публичный IPv4-адрес? Вы можете мгновенно проверить это с помощью нашего инструмента «What Is My IPv4».
Что такое IPv6?
IPv6 был разработан в конце 1990-х годов специально для того, чтобы раз и навсегда решить проблему исчерпания адресов. Вместо 32 бит адрес IPv6 имеет длину 128 бит. Это не в четыре раза больше, а астрономически больше. 2 в степени 128 составляет примерно 340 ундециллионов адресов, число, состоящее из 39 цифр (340 282 366 920 938 463 463 374 607 431 768 211 456, если быть точным). Чтобы представить себе масштаб, этого достаточно, чтобы присвоить триллионы адресов каждому песчинку на Земле, и всё равно останется ещё много. Нехватка адресов просто не является проблемой в IPv6.
128-битное число слишком длинное для десятичной записи с точками, поэтому в IPv6 используется шестнадцатеричная запись. Адрес записывается в виде восьми групп по четыре шестнадцатеричных цифры, разделенных двоеточиями, например: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Каждая группа представляет 16 бит, а цифры идут от 0 до 9, а затем от a до f.
Правила сокращения и двойные двоеточия
Поскольку адреса IPv6 длинные и часто содержат много нулей, два правила сокращения делают их более удобными для восприятия. Во-первых, начальные нули в любой группе можно опускать, поэтому 0db8 получается db8 , а 0000 превращается в 0. Во-вторых, одну последовательность групп, состоящих исключительно из нулей, можно заменить двойным двоеточием ::. Применив оба правила, приведённый выше адрес легко сокращается:
- Полная форма:
2001:0db8:85a3:0000:0000:8a2e:0370:7334 - Сжатая:
2001:db8:85a3::8a2e:370:7334
Символ :: может встречаться в адресе только один раз, иначе невозможно было бы определить, сколько групп нулей он обозначает. Адрес обратной связи, который в IPv4 представляет собой знакомый 127.0.0.1, в IPv6 превращается просто в ::1 в IPv6.
Автоконфигурация, SLAAC и локальные адреса канала
Одной из самых элегантных особенностей IPv6 является автоконфигурация адресов без сохранения состояния (SLAAC). В IPv4 устройства обычно получают свой адрес от DHCP-сервера, который должен работать и находиться под управлением. С помощью SLAAC устройство может сгенерировать свой собственный действительный глобальный адрес, объединив сетевой префикс, объявленный локальным маршрутизатором, с идентификатором интерфейса, полученным на основе данных собственного оборудования. Для базового подключения не требуется центральный сервер.
Каждый интерфейс IPv6 также автоматически получает локальный адрес канала в fe80::/10 . Этот адрес работает только в локальном сегменте сети и никогда не маршрутизируется за его пределы, но он позволяет устройствам общаться со своими соседями и с маршрутизатором сразу же после включения питания, до того как будет назначен какой-либо глобальный адрес. Важно отметить, что, поскольку каждое устройство может иметь свой собственный глобально уникальный адрес, IPv6 восстанавливает исходную модель «от конца до конца», и NAT больше не требуется для экономии адресов. Чтобы узнать, есть ли у вашего подключения уже IPv6-адрес, посетите сайт What Is My IPv6.
IPv4 против IPv6: сравнение по отдельным функциям
В приведённой ниже таблице представлены основные технические различия в виде параллельного сравнения. Это самый быстрый способ понять, почему эти два протокола на практике ведут себя так по-разному.
| Характеристика | IPv4 | IPv6 |
|---|---|---|
| Длина адреса | 32 бита | 128 бит |
| Общее количество адресов | ~4,3 млрд | ~340 ундециллионов |
| Обозначение | Десятичная с точками (192.168.1.1) | Шестнадцатеричная с двоеточиями (2001:db8::1) |
| Размер заголовка | Переменный, от 20 до 60 байт | Фиксированный — 40 байт, проще в обработке |
| Сложность заголовка | Много полей, включая контрольную сумму | Оптимизирован, без контрольной суммы, расширительные заголовки |
| Безопасность (IPsec) | Необязательно, добавлено позже | Встроено с самого начала |
| Автоконфигурация | Требуется ручная настройка или DHCP | SLAAC позволяет осуществлять самонастройку |
| NAT | Широко используется для экономии адресов | Не требуется для экономии |
| Распределение адресов | Широковещательная, одноадресная, многоадресная | Одноадресная передача, многоадресная передача, anycast (без широковещательной передачи) |
| Фрагментация | Осуществляется маршрутизаторами и отправляющим хостом | Осуществляется только отправляющим хостом |
| Введено | 1981 | 1998 (внедрение продолжается) |
Некоторые из этих пунктов заслуживают более пристального внимания. Размер заголовка в IPv6 фиксирован и составляет 40 байт; при этом исключены несколько полей, которые маршрутизаторы IPv4 должны были проверять в каждом пакете, включая контрольную сумму заголовка. Меньшее количество полей означает, что маршрутизаторы могут обрабатывать пакеты более эффективно. Что касается адресации, то IPv6 полностью исключает широковещательную рассылку. Широковещательные передачи в IPv4 отправляют пакет на каждое устройство в сегменте, что создает избыточный трафик и неэффективно. IPv6 заменяет это целевым многоадресной рассылкой (отправка в конкретную группу) и вводит anycast (отправка ближайшему из нескольких равнозначных хостов), и оба этих метода гораздо более масштабируемы.
Почему переход происходит так медленно
IPv6 готов к производственному использованию уже более двух десятилетий, однако уровень его внедрения в мире по-прежнему значительно ниже полного покрытия. Почему миграция продвигается так медленно? Основная причина заключается в том, что IPv4 и IPv6 несовместимы напрямую. Хост, поддерживающий только IPv6, не может взаимодействовать с хостом, поддерживающим только IPv4, без промежуточного уровня преобразования. Это означает, что Интернет не может просто «переключить переключатель». Ему приходится параллельно поддерживать оба протокола в течение очень длительного периода перекрытия.
Задержку усугубляют и другие факторы:
- NAT сработала слишком хорошо. Позволив системам выжить в условиях исчерпания адресов IPv4, NAT сняла острую необходимость в переходе.
- Устаревшее аппаратное и программное обеспечение, поддерживающее только IPv4, по-прежнему используется в бесчисленных сетях.
- Затраты и инерция. Переобучение персонала, обновление правил брандмауэров и тестирование приложений на совместимость с IPv6 — это реальная работа, которая не приносит организации, её выполняющей, практически никакой немедленной выгоды.
Механизмы двойного стека и перехода
Наиболее распространённым переходным решением является двойной стек, при котором устройство или сеть одновременно используют протоколы IPv4 и IPv6. Устройство с двойным стеком имеет как IPv4-, так и IPv6-адрес и использует тот протокол, который поддерживают оба конечных устройства, отдавая предпочтение IPv6, когда он доступен. Двойной стек — это простой подход, но он требует одновременного поддержания двух полных сетевых конфигураций. Именно поэтому переход происходит так постепенно и в основном незаметно: ваши устройства незаметно отдают предпочтение IPv6, когда это возможно, и переключаются на IPv4, когда это необходимо.
Если сегмент сети поддерживает только один протокол, в действие вступает туннелирование. Туннелирование заключается в инкапсуляции пакетов одного протокола в пакеты другого, чтобы они могли проходить через несовместимую инфраструктуру. Например, метод под названием 6to4 инкапсулирует пакеты IPv6 в пакеты IPv4 для передачи трафика IPv6 по сети, поддерживающей только IPv4. Технологии преобразования, такие как NAT64, идут ещё дальше, активно преобразуя пакеты IPv6 в IPv4 (и обратно), чтобы клиенты, поддерживающие только IPv6, могли обращаться к серверам, поддерживающим только IPv4. Эти механизмы позволяют сохранить целостность Интернета в период перехода, хотя и за счёт некоторой дополнительной сложности.
Соображения, связанные с производительностью
Ускоряет ли IPv6 ваше соединение? Честный ответ: иногда, незначительно, и не по тем причинам, о которых люди думают. Сам по себе IPv6 не передает данные быстрее, чем IPv4. Однако в реальных условиях IPv6 может иметь преимущество благодаря двум факторам. Во-первых, его более простой заголовок фиксированного размера позволяет маршрутизаторам обрабатывать пакеты с чуть меньшими накладными расходами. Во-вторых, и что более важно, трафик IPv6 часто обходит уровни NAT, через которые должен проходить трафик IPv4. Каждый прыжок NAT добавляет небольшую задержку и операцию поиска преобразования, а NAT операторского уровня (когда ваш интернет-провайдер сам делит один адрес между многими клиентами) может привести к заметной задержке. Восстанавливая прямую сквозную связь, IPv6 позволяет сократить эти обходные пути.
В тестах, проведённых в крупных сетях распространения контента, соединения по IPv6 часто устанавливаются чуть быстрее, чем по IPv4, хотя разница невелика и зависит от маршрута. Для большинства людей разница в производительности незаметна. Более значительные практические преимущества носят архитектурный характер: отсутствие проблем с прохождением NAT для пиринговых приложений, игр и видеозвонков, которые работают более плавно, когда обе стороны имеют реальные, доступные адреса.
Что это значит для обычных пользователей
Если вы — обычный домашний или мобильный пользователь, хорошая новость заключается в том, что этот переход задуман так, чтобы быть незаметным, и вам не нужно ничего делать. Ваша операционная система, маршрутизатор и телефон автоматически поддерживают двойной стек. Когда вы посещаете веб-сайт, ваше устройство незаметно выбирает IPv6, если и вы, и сайт его поддерживаете, а в противном случае переключается на IPv4. Вам редко приходится об этом задумываться.
Однако эта тема становится актуальной при устранении неполадок и в контексте конфиденциальности. Поскольку IPv6 присваивает вашему устройству глобально уникальный адрес, некоторые люди беспокоятся о возможности отслеживания. Современные операционные системы решают эту проблему с помощью расширений конфиденциальности, которые периодически меняют часть адреса, относящуюся к хосту, благодаря чему ваш IPv6-адрес не является постоянным «отпечатком». Несколько практических моментов, о которых стоит помнить:
- Ваша домашняя сеть почти наверняка уже использует IPv6 наряду с IPv4.
- Вы можете одновременно иметь и IPv4-, и IPv6-адрес.
- Адреса IPv6 выглядят устрашающе, но вам редко приходится их вводить или запоминать.
- Обновление прошивки роутера и устройств — это лучшее, что вы можете сделать для обеспечения бесперебойной работы обоих протоколов.
Что это значит для владельцев веб-сайтов
Если вы управляете веб-сайтом или онлайн-сервисом, игнорирование IPv6 незаметно сужает вашу аудиторию. Все большая доля мобильных сетей и домашних интернет-провайдеров использует в первую очередь IPv6, иногда предоставляя клиентам только IPv6-подключение за NAT операторского уровня. Обслуживание вашего сайта через IPv6 означает, что эти пользователи получают к нему прямой доступ, а не через перегруженный шлюз преобразования, что повышает надежность и может улучшить воспринимаемую скорость.
Практические шаги для владельцев веб-сайтов включают:
- Добавьте в свой DNS запись AAAA (аналог записи A для IPv6), указывающую на IPv6-адрес вашего сервера.
- Убедитесь, что ваш хостинг-провайдер или CDN поддерживает IPv6, так как большинство крупных провайдеров делают это без дополнительной платы.
- Проверьте, правильно ли ваш брандмауэр и система ведения журналов приложений обрабатывают более длинный формат адресов IPv6.
- Работайте в режиме dual-stack, чтобы обслуживать оба протокола и не лишать доступа ни одного посетителя.
Как проверить, какая у вас версия
Проверка занимает всего несколько секунд. В командной строке выполните команду ipconfig в Windows или ifconfig / ip addr в macOS и Linux и посмотрите на адреса. Все, что написано в десятичном формате с точками, — это IPv4; все, что с двоеточиями, — это IPv6. Адрес, начинающийся с fe80:: — это локальный IPv6-адрес, который работает только в вашей локальной сети, тогда как глобальный IPv6-адрес обычно начинается с диапазона 2000::/3 . Самый простой способ — открыть браузер и воспользоваться онлайн-сервисом, который мгновенно покажет ваши публичные адреса без каких-либо действий в командной строке. Проверьте страницы «What Is My IPv4 address» и «What Is My IPv6 address», чтобы точно узнать, какие адреса ваша сеть предоставляет в Интернете.
Часто задаваемые вопросы
Полностью ли IPv6 заменит IPv4?
В конечном итоге — да, но не сразу. Сегодня эти два протокола работают параллельно благодаря технологии dual-stack, и IPv4 будет оставаться в эксплуатации ещё много лет из-за огромной базы устаревшего аппаратного и программного обеспечения. Считайте это длительной, постепенной сменной, а не резким переходом.
Может ли устройство с IPv4 напрямую взаимодействовать с устройством с IPv6?
Нет, напрямую — нет, поскольку эти два протокола несовместимы на уровне пакетов. Для связи между ними требуется механизм преобразования, такой как NAT64, или посредник с двойным стеком, поддерживающий оба протокола. Именно отсутствие встроенной совместимости является основной причиной того, что переход занимает столько времени.
Является ли IPv6 быстрее, чем IPv4?
Обычно лишь незначительно. IPv6 не передает данные быстрее, но его более простой заголовок и отсутствие дополнительных уровней NAT могут снизить задержку на некоторых маршрутах. Более значимым преимуществом является более плавное прямое соединение для игр, видеозвонков и приложений типа «peer-to-peer». При повседневном просмотре веб-страниц вы вряд ли заметите существенную разницу.
Является ли IPv6 более безопасным, чем IPv4?
IPv6 с самого начала разрабатывался с встроенной поддержкой IPsec, тогда как в IPv4 это было дополнительным модулем. Тем не менее, реальная безопасность гораздо больше зависит от того, как настроены сети и как сконфигурированы брандмауэры, чем от самой версии протокола. IPv6 не становится автоматически более безопасным только потому, что он новее.
Почему у меня по-прежнему есть частный IPv4-адрес, например 192.168.1.5?
Это частный адрес, присвоенный вашим маршрутизатором внутри локальной сети, и это совершенно нормально. Ваш маршрутизатор использует NAT для распределения одного общедоступного IPv4-адреса между всеми вашими устройствами. Частный адрес никогда не появляется в общедоступном Интернете; там виден только общедоступный адрес маршрутизатора.
Как узнать, какие адреса использует моё подключение?
Самый быстрый способ — воспользоваться онлайн-сервисом для проверки. Проверьте свои адреса «What Is My IPv4» и «What Is My IPv6», чтобы точно узнать, что ваша сеть представляет в Интернете. Если результат для IPv6 пуст, значит, ваша сеть или интернет-провайдер ещё не включили IPv6.