Протокол устал?

Автор: Владимир Гуриев
Опубликовано в журнале "Компьютерра" №45 от 30 ноября 2004 года.

Редакцию «Компьютерры» нелегко найти с первого раза. Мы снимаем угол в доме №8 по 2-му Рощинскому проезду. Казалось бы, 1-й Рощинский проезд должен находиться поблизости. Но нечетных одноименных проездов, кажется, вообще не существует (Уже написав статью, я посмотрел карту. К моему удивлению, на ней нашлись 1-й, 3-й и 5-й Рощинские проезды, хаотично разбросанные вокруг Шаболовки. Заодно я уточнил, что Рощинская улица может быть только второй или третьей — по крайней мере, в пределах Замоскворечья). Минутах в десяти ходьбы от нас расположен 4-й Рощинский, по другую сторону Шаболовки — Рощинские улицы, а отсутствие 1-го и 3-го Рощинских проездов компенсируется только наличием шести Верхних Михайловских проездов, которые, слава богу, идут параллельно друг другу.

IP-адресация куда логичнее, однако к текущей версии протокола IPv4 у сетевиков накопилось достаточно претензий, чтобы несколько лет назад инициировать разработку протокола адресации следующего поколения, IPv6. Казалось, через год-два-три Интернет изменится неузнаваемо, — однако прошло куда больше времени, IPv4 трудится, как и раньше, а про IPv6, кажется, почти забыли, хотя протокол давно готов к использованию. Корневые серверы DNS ознакомились с IPv6-адресами лишь в июле, когда в них были внесены записи IPv6-адресов из корейской и японской зоны.
Чем же негож новый протокол и почему «рулевые» Интернета не торопятся его вводить?

Мест нет!

Главной претензией к IPv4 была и остается недостаточная емкость адресного пространства. Разрядность современного IP-адреса составляет 32 бита (четыре восьмибитных блока), что дает 232 (чуть больше 4 млрд.) возможных адресов. На самом деле, количество доступных адресов гораздо меньше за счет того, что адреса раздаются блоками и тот, кто успел к раздаче раньше, получил блок побольше. Так, например, Массачусетскому технологическому институту принадлежит блок из 16 млн. IP-адресов (так называемый блок /8), а какому-нибудь провайдеру средней руки приходится довольствоваться «жалкими», допустим, восемью тысячами адресов.

Нет никаких сомнений в том, что большинство современных состояний нажито нечестным путем, но когда дело касается капитала, состоящего из IP-адресов, их неравномерное распределение объясняется техническими трудностями. В начале 90-х можно было выделять только блоки адресов /8, /16 и /24 (соответственно — 16 млн., 65 тысяч и 254 адреса), поэтому крупные корпорации и научные институты не мелочились. Кто же знал, что Интернет еще кому-то понадобится? Кроме МТИ «успели к раздаче» Ford Motors, Apple, Hewlett-Packard, DEC, AT&T Bell Labs, IBM и Xerox. С полным списком «держателей крупных пакетов» можно ознакомиться на www.iana.org/assignments/ ipv4-address-space. Там, правда, указаны только владельцы подсетей класса А, однако в середине 90-х вовсю раздавались и /16 блоки, и далеко не все их владельцы жаждут делиться своей IP-собственностью.

Вот и получается, что адреса вроде бы есть, но на самом деле многие из них уже заняты (используются они или нет — вопрос десятый), а часть зарезервирована для будущих нужд. В начале эпохи бурного развития Интернета даже выражалось опасение, что пространство IP-адресов будет исчерпано уже в первые годы XXI века. Чтобы отдалить «катастрофу», были созданы новые технологические решения, позволяющие эффективнее использовать адресное пространство IPv4.

Пожалуй, главной из таких технологий стала CIDR (Classless Inter-Domain Routing, 1993 год), позволившая выделять малые блоки адресов вплоть до /30 (два адреса). Тогда же появились DHCP (Dynamic Host Configuration Protocol), технология раздачи динамических IP-адресов, и NAT (Network Address Translator), реализующий трансляцию IP-адресов из внешней сети во внутреннюю. Благодаря NAT стало возможным экономить внешние IP-адреса, выходя в Сеть с нескольких устройств под одним IP (если смотреть снаружи).

Технологическими улучшениями дело не ограничилось. Интернет-администраторы попытались — правда, без особого успеха — пересмотреть итоги «приватизации» и перераспределить IP-адреса по справедливости, а также ужесточили контроль над региональными регистраторами.

Старались они не зря. Роковой день удалось отодвинуть на двадцать лет. При нынешних темпах роста Интернета, согласно IPv4 Address Space Report (bgp.potaroo.net/ipv4), нерозданные пока адреса закончатся к 2018 году, а 32-битное IP-пространство исчерпается только к маю 2040 года.

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

IPv5, IPv8, IPv9, еще один IPv9 и IPv12


IPv5 — неформальное название потокового протокола ST2, над которым велась работа в середине 1990-х гг. Распространения ST2 не получил, и сегодня о нем знают, пожалуй, только люди, интересующиеся историей компьютерных технологий. Однако создателям нового IP-протокола «пятерки», использованной в заголовке пакета ST2, оказалось достаточно, чтобы перескочить через версию и назвать свой протокол IPv6.

IPv9 — это и шутка, и реально существующая технология, которая не имеет ничего общего с IANA. Как шутка IPv9 впервые появилась в 1994 году, в RFC 1606 (RFC был выпущен, естественно, первого апреля). А почти всерьез об IPv9 заговорили десять лет спустя, летом 2004 года, когда стало известно, что в Китае собираются внедрять технологию с таким названием (www.chinatechnews.com/index.php?action=show&type=news&id=1405). В новостях сообщалось о десятизначной системе адресации, совместимой как с IPv4, так и с IPv6. На самом деле, имелось в виду следующее. Создатели IPv9 (www.em777.net) предложили использовать в качестве дополнительных имен сайтов десятизначные телефонные номера. Эта система является простой надстройкой над обычными DNS-серверами и переводит введенный в строку браузера телефонный номер в обычный IPv4- или IPv6-адрес. Кроме того, китайским разработчикам показалось, что 128-битного IPv6-адреса «маловато будет», и они предложили использовать 256-битную адресацию, но эта идея тоже не пришлась ко двору, а после открытого письма Винтона Серфа китайскому интернет-сообществу (крестный отец Интернета, надо сказать, в выражениях не стеснялся) и вовсе превратилась в воспоминание.

Для полноты картины следует упомянуть также протоколы IPv8 (www.ipv8.info), еще один IPv9 и IPv12, «разработанные» Джимом Флемингом, но, как справедливо отметил один из интернетчиков, эти протоколы существует только в воспаленном мозгу своего создателя.

IPv6

Малая емкость адресного пространства — самый наглядный, но не единственный недостаток IPv4. Создателям протокола и в голову не могли прийти многочисленные применения их разработки, поэтому сегодня IPv4 плох не только потому, что кому-то может не хватить адресов. Даже не будь этой проблемы, необходимость смены протокола назрела уже давно.

В IPv4, например, не поддерживается качество обслуживания (Quality of Service, QoS). Для загрузки файлов это, конечно, не критично, а вот для проведения интернет-трансляции жизненно важно доставлять пакеты в целости и сохранности, и вовремя. Теоретически такая возможность предусмотрена. На практике же любой «старорежимный» маршрутизатор может проигнорировать значения, выставленные в поле Type of Service.

От фрагментации пакетов, вынужденного использования NAT и DHCP, отсутствия криптозащиты на уровне протокола, усложненной маршрутизации — а все это издержки устаревшего IPv4 — тоже никому лучше не стало. Поэтому IPv6 — не только и не столько расширение адресного пространства, сколько попытка построить новую, более логичную и совершенную структуру Интернета.

Разумеется, есть у предложенной системы и недостатки. Причем первый из них в буквальном смысле бросается в глаза при ознакомлении со стандартным адресом, записанным в новой системе. Адрес этот выглядит примерно так:

2002:0ed8:71b6:0000:0000:4с4d:0000:8264.

Поскольку такая запись выглядит как-то не по-людски и запомнить ее невозможно, допускается сокращение адреса путем выбрасывания символов, необязательных для его понимания:

2002:ed8:71b6::4c4d:0:8264.

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

В отличие от IPv4, IPv6 обладает истинно иерархической структурой (что и облегчает маршрутизацию). Трудный для запоминания адрес устроен очень логично и состоит из следующих элементов:

FP — это форматный префикс. Для присваиваемых глобальных адресов его значение равно 001. Res (Reserved) — пока не используется. А идентификаторы TLA, NLA и SLA представляют собой идентификаторы для трех уровней маршрутизации. TLA ID (Top-Level Aggregation Identifier) обрабатываются точками обмена трафиком и крупнейшими провайдерами. Маршрутизаторы этих столпов Интернета направляют необходимые пакеты на уровень ниже, где в рассмотрение берется уже NLA ID (Next-Level Aggregation Identifier) — уровень маршрутизаторов подсетей (условно говоря, уровень провайдера, работающего с простыми смертными напрямую), а потом еще ниже — на «корпоративный» уровень, где маршрутизаторы анализируют SLA ID (Site-Level Aggregation Identifier). Такое разделение труда здорово облегчает работу маршрутизаторов IPv6 (их предшественники, вынужденные мириться с существованием IPv4, обрабатывают огромные таблицы маршрутизации — переход на новую версию протокола «ужмет» таблицы раза в четыре).

Оставшиеся 64 бита — Interface ID — являются характеристикой конкретного устройства, подключенного к Сети. Предполагается, что в большинстве случаев Interface ID будет автоматически генерироваться из 48-битного MAC-адреса.
Стройную схему IPv6-адресации портят только IP-адреса для внутреннего пользования и адреса, совместимые с IPv4. Они устроены иначе.

IPv4 и IPv6

Очевидно, что переход на IPv6 будет плавным: одновременно перевести на новую инфраструктуру все подключенные к Сети устройства невозможно (куда проще было в свое время перейти на IPv4). Специально для «смутного времени» в IPv6 предусмотрено два типа «переходных» адресов. Первые выдаются узлам, ответственным за туннелирование трафика между IPv6 и IPv4, и состоят из 96 нулевых бит и привычного адреса IPv4. Вторые предназначены узлам, которые не поддерживают новую систему адресации: 80 нулевых бит плюс 16 единичных бит, а потом — адрес IPv4 (RFC 2373).

Локальных адресов тоже два типа: первые необходимы для организации работы внутренних сетей (site-local), вторые — для автоконфигурирования и работы в пределах одной сети без использования маршрутизатора (link-local). Соответственно и структура у них разная. Адреса для внутренней сети состоят из 10-битного префикса 1111111011, 38 нулевых бит, 16-битного идентификатора подсети и Interface ID. Во втором случае никакого идентификатора подсети нет, поэтому после 10-битного префикса 1111111010 идут нулевые биты, а вторая часть — Interface ID — остается неизменной.

Ну и зачем это все?

Читатель, продравшийся через несколько последних абзацев, имеет полное право спросить: зачем это все нужно? Какая нормальному человеку польза от того, что, начиная с какого-то там момента, будет доступно не четыре с копейками миллиарда, а, на минуточку, 340 282 366 920 938 463 463 374 607 431 768 211 456 адресов?

А никакой нормальному человеку от этого пользы нет. И кажущаяся бесполезность IPv6 и есть главная причина того, что мы до сих пор сидим на устаревшем протоколе. Все плюсы IPv6 — поддержка QoS, криптозащита, снижение нагрузки на маршрутизаторы и т. д., и т. п. — для нормального человека чисто умозрительны. Мы не смотрим видео в реальном времени по Сети, шифровать трафик тоже нужно далеко не всем, да и существующих более высокоуровневых средств защиты для 99,9(9)% интернетчиков хватает с лихвой, а о маршрутизаторах пусть голова болит у провайдера. Переход на IPv6 обещает решить проблемы, которых у обычного интернетчика пока нет.

Затрудняет переход на новые рельсы и обычный человеческий страх. Как произойдет переход, с какими проблемами придется столкнуться, когда весь парк машин начнет работать под новым протоколом, сегодня не скажет никто. В теории все довольно гладко: точечное использование IPv6 тоже пока ни к каким катастрофам не привело (к слову, если кто-то хочет попробовать, это можно сделать уже сегодня — например, на сайте www.sixxs.net/faq/account/?faq=10steps), но в процессе внедрения могут возникнуть неожиданные трудности, характер которых сейчас предсказать невозможно.

Поэтому внедрение новой версии протокола проходит ни шатко ни валко. Шебуршатся только азиатские страны, которые больше других опасаются дефицита IPv4-адресов. Китай, Япония и Южная Корея планируют перейти на IPv6 уже в 2006 году. Всем остальным придется подождать еще года три-четыре. Полностью же про IPv4 мы забудем, дай бог, лет через десять.

 

Разумная паутина

Определений Semantic Web придумано множество, но лучшее, пожалуй, предложил Клэй Ширки (Clay Shirky), описавший Semantic Web как машину для создания силлогизмов.

Стандартные средства разметки HTML-страниц позволяют довольно точно определить внешний вид документа, но описать данные с их помощью нельзя. Концепция Semantic Web предполагает дополнительную — смысловую, семантическую — разметку страницы, что, по идее, должно облегчить автоматический анализ веб-страниц. Это если передавать концепцию сухим языком.

Если же послушать апологетов идеи Semantic Web, то с внедрением новых технологий Сеть из паутины взаимных ссылок превратится в огромную и весьма эффективную базу данных, в которой найти нужную информацию будет намного проще, чем сегодня. Причем процесс поиска и анализа информации можно будет эффективно автоматизировать. Сегодня эффективный поиск в интернете без участия человека невозможен, хотя поисковые системы достигли больших успехов в оценке качества информации по косвенным признакам (используя PageRank, к примеру).

Станет ли Semantic Web частью нашей объективной реальности, пока сказать сложно. Несомненно одно: несмотря на то что главные строительные кирпичики для имплементации Semantic Web давно готовы (RDF и OWL), любимое детище Тима Бернерса-Ли по большому счету так и остается набором спецификаций, а также популярной темой для научно-популярных статей и диссертаций.

Мы же продолжаем исследовать веб по старинке.


<<Планетарный Интернет
Все материалы номера
Internet 2.0 >>