Немного истории
Internet Protocol был создан в 1981 году с целью «объединения сегментов сети в единую сеть, обеспечивая доставку пакетов данных между любыми узлами сети через произвольное число промежуточных маршрутизаторов» — из свойств протокола. Изначально применялась классовая адресация, но с ростом Глобальной сети она оказалась неэффективной по причине нерационального и неэкономного использования ресурсов IPv4 — отсутствовала возможность применения произвольных масок подсетей к различным подсетям. В конечном счете проблема была решена использованием бесклассовой адресации (CIDR), которая подразумевала использование маски подсети. IPv4 представляет собой 4 октета по 4 бита каждый, а значит, общее количество адресов не бесконечно и составляет всего 4 294 967 296, что представляет из себя подсеть 0.0.0.0/0. Согласно RFC1918, сети 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/24 были «отданы» для частных нужд и впоследствии стали называться серыми, так как они не маршрутизируются в Глобальной сети.
Устройств в Сети становилось все больше, а пул свободных IP-адресов постепенно иссякал. Провайдеры, обладающие малым пулом адресов (то есть у которых клиентов больше, чем доступных белых адресов), приступили к динамической выдаче со строгим протоколированием сессий. Для других провайдеров временным решением стала технология NAT (network address translation), которая позволяла выдавать один белый адрес для серой подсети.
1 февраля 2011 года последние 2 блока /8 (маска подсети 255.0.0.0, максимальное количество хостов 16 777 216) были отданы APNIC. Вопрос перехода на IPv6 для многих встал более остро.
Рисунок 1. Сравнение заголовков пакетов IPv4 и IPv6
IPv6, причины его внедрения и перспективы
IPv6 — новая версия широко известного протокола IP (называемого также IPv4). Запуск в эксплуатацию ознаменовался событием World IPv6 Launch, которое произошло 6 июня 2012 года после многочисленных тестов и доработок. Причиной такого шага явилось распределение IANA последних блоков IPv4-адресов между региональными регистраторами. По замыслу создателей, должен произойти плавный переход от IPv4 к IPv6, и постепенная нужда в IPv4 сойдет на нет с использованием метода двойного стека. Динамика видна на рисунке 2, представленном Geoff Huston.
Рисунок 2. Динамика сосуществования IPv4 и IPv6. Источник.
Все хорошо, но только на картинке. Этот проект, как и мультиплексирование средствами NAT, оказался провальным. По сути, будущее наступило, а многие оказались к этому не готовы.
Рассмотрим проблемы перехода и возможности их решения
Понимание
Первая и, на мой взгляд, главная проблема — в адаптации, принятии и понимании новых стандартов. С точки зрения человека — читаемость и понимание самих адресов. Не секрет, что у новичков в сфере информационных технологий первая ассоциация была с физическим адресом (mac) сетевой карты, «только цифр/секций больше». Примерно так же информацию восприняли и опытные специалисты, когда появились слухи об IPv6. Привычный адрес петли 127.0.0.1 в записи IPv6 станет ::1. Отдельного внимания заслуживает формат, который используется при работе в смешанном окружении IPv4 и IPv6. x:x:x:x:x:x:d.d.d.d, где x — это шестнадцатеричные значения шести шестнадцатиразрядных элементов адреса, а d — десятичные значения четырех восьмиразрядных фрагментов адреса (стандартное представление IPv4). В конечном счете проблема обучения персонала решаема. Сложности возникают в диалоге нового и морально устаревшего оборудования. И вот почему.
Оборудование, приобретенное до 2012 года, не имеет реализации IPv6 ни на программном, ни на аппаратном уровне (операционные системы в учет не берутся). Диалог устройств попросту невозможен. Более того, внезапно устаревшее оборудование все еще продолжает работать в сетях многих провайдеров. Замена парка коммутаторов и маршрутизаторов на что-то новое — достаточно затратное мероприятие. В дополнение к этому, программное обеспечение для устаревшего оборудования просто не разрабатывается. Реализация, пусть даже программного стека IPv6, была бы невозможной и повлекла бы увеличение нагрузки на центральный процессор и использование оперативной памяти ввиду аппаратных ограничений оборудования.
Доступность сетей IPv6 из IPv4 и наоборот
Вторая проблема вытекает из первой — невозможность диалога между устройствами, работающими на разных версиях протокола. IETF предлагает несколько вариантов решения, но все они сводятся к использованию IPv4-туннелей и двойного стека. Рассмотрим некоторые из них.
6to4 — для обеспечения связности с глобальным Интернетом IPv6 используются так называемые релеи 6to4 — шлюзы 6to4, являющиеся интерфейсом между сетями 6to4 и остальным Интернетом IPv6. Существенный недостаток — отсутствие контроля над релеем и, как следствие, невозможно гарантировать качества связи. Несмотря на популярность, применяется в основном в малых корпоративных сетях.
6rd — решает проблему доступа к IPv6 пользователям провайдера без необходимости поддержки IPv6 в сети самого провайдера, так как использует собственное адресное пространство IPv6 и вся зона функционирования 6rd ограничена сетью сервис-провайдера. Шлюзы 6rd встроены в конечное оборудование пользователя.
DS-lite — подразумевает, что сеть провайдера полностью поддерживает IPv6, но использует IPv4-туннели для доступа к ресурсам в ней. Суть заключается в использовании централизованного NAT либо CG-NAT. Обмен с сетью IPv4 происходит средствами мультиплексирования, доступ к сети IPv6 происходит без участия NAT. Данная схема не использует трансляцию протоколов.
NAT64 — применим только в том случае, если все-таки случится массовый переход на IPv6 и будет стоять вопрос о доступе к сетям IPv4. Также учитывается необходимость доступа из IPv4 к IPv6. Без реализации мультиплексирования потоков также не обойтись, однако нет необходимости в туннелировании трафика. Взаимодействие двух сетей происходит прозрачно, при этом появляется проблема поддержки DNS: для кого-то будет возвращен адрес IPv4, а для кого-то — IPv6. Проблема решается с помощью сервера приложений ALG — замещение адреса IPv4 на IPv6.
Рисунок 3. NAT64 + DNS
Несмотря на перспективность и простоту использования NAT64 да и NAT в целом, появляется третья проблема.
NAT не решает всех проблем
Учитывая, что все переходные методы в той или иной степени основаны на использовании NAT, а общее число пользователей Интернет неуклонно растет (статистику можно посмотреть тут), сам собой напрашивается вопрос о проблемах использования трансляции сетевых адресов. Вот некоторые из них:<
Качество связи может снизиться по причине фрагментации пакетов. Дополнительные устройства NAT могут стать источником дополнительных задержек.
Идентификация пользователей будет усложнена, так как один адрес может соответствовать нескольким пользователям.
Работа приложений может быть невозможна вследствие их особенностей: например, соединения, использующие строго определенные порты well known ports. В сети меньшего масштаба можно было бы использовать PAT (Port Forwarding) и опять же однократно.
Определенные факторы могут повлиять на безопасность. DDoS-атака одного IP-адреса затронет сегмент сети, находящийся за ним. Обратный вариант — атака от одного из клиентов сети негативно повлияет на санкции ко всему сегменту. Также не стоит забывать, что ограничение на использование портов для пользователя или приложения может привести к увеличению вероятности DDoS-атаки.
Преимущества IPv6
На фоне недостатков, связанных в основном с проблемой перехода, а не эксплуатации, IPv6 имеет ряд преимуществ перед IPv4.
Первое и, бесспорно, важное преимущество — огромное адресное пространство. Количество адресов IPv6 в 1028 больше, чем количество адресов в IPv4. Теоретически доступны 340,282,366,920,938,463,463,374,607,431,768,211,456 адреса. Это означает плотность примерно в 6,67 * 10^27 адресов IPv6 на квадратный метр нашей планеты.
Еще одним важным качеством является автоконфигурирование IP-адресов. Это стало возможно благодаря механизму SLAAC (Stateless Address Autoconfiguration). Может применяться как совместно с DHCP, так и без него. Принцип работы SLAAC сводится к тому, что при создании некой сети указывается адрес шлюза и префикс самой сети. Этой информации достаточно для предоставления IP-адреса устройствам сети. Информацию о конфигурации рассылает маршрутизатор с периодичностью раз в 200 секунд на multicast-адрес FF02::. Такие пакеты именуются как Router Advertisement (RA).
Упрощение маршрутизации — введение в протоколе IPv6 поля «Метка потока» значительно упростило процедуру маршрутизации однородного потока пакетов. В дополнение к этому предполагается упрощение multicast-транслирования. Следует отметить, что в протоколе определен новый тип адресов — anycast, который будет вести к ближайшему интерфейсу из списка адресов. Маршрутизаторы могут хранить в своих таблицах только агрегированные адреса сетей, что уменьшает средний размер таблицы маршрутизации до 8192 записей.
Облегчение заголовка пакета — из рисунка 1 видно, что заголовок пакета не содержит лишних полей, хотя его размер стал больше, он проще обрабатывается маршрутизатором. Передача информации становится более эффективной.
Поддержка качества обслуживания (QoS) — новое поле определяет, по каким критериям будет выбираться маршрут пакета. Просмотр этого поля позволяет маршрутизаторам идентифицировать и обеспечивать специальную обработку пакетов, относящихся к данном логическому соединению, между источником и получателем. Поскольку трафик идентифицирован в IPV6-заголовке, поддержка QoS может быть достигнута, даже когда данные в пакетах зашифрованы посредством IPSec.
Возможность криптозащиты и повышенная безопасность передачи данных — протокол IPsec позволит шифровать любые данные (в том числе UDP) без необходимости какой-либо поддержки со стороны прикладного ПО.
Нужно ли переходить на IPv6?
На момент написания статьи большинство устройств уже совместимы с IPv6. Во всяком случае операционные системы и современные маршрутизаторы поддерживают эталонную реализацию этого протокола. Однако, как уже было сказано, в сетях операторов связи еще присутствует подавляющее количество «старого» оборудования. Срочной необходимости в переходе на IPv6 нет. Технология двойного стека будет применяться еще долго, но факт перехода неизбежен.
Мы, как разработчик решений для операторов связи (DPI, СОРМ, BRAS), идем навстречу нашим клиентам и постоянно модифицируем свои продукты. В последних версиях СКАТ DPI мы добавили поддержку протокола IPv6, а в ближайшее время представим новый релиз с поддержкой Dual Stack (шейпинг, услуги, терминация, выдача адресов) и технологии NAT.
Более подробную информацию о преимуществах современной системы глубокого анализа трафика СКАТ DPI, ее эффективном использовании на сетях операторов связи, а также о миграции с других платформ вы можете узнать у специалистов компании VAS Experts, разработчика и поставщика системы анализа трафика СКАТ DPI.