Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОС_Шабалин.doc
Скачиваний:
876
Добавлен:
21.05.2015
Размер:
1.73 Mб
Скачать

2.3.2 Адресация iPv6

Главным отличием IPv6 от IPv4 является длина сетевых адресов. IPv6-адреса имеют длину128 битов (16 байт), в то время как IPv4-адреса – всего 32 бита (4 байта). Следовательно, адресное пространство IPv4 содержит около 4 млрд адресов, IPv6 имеет 3,4 × 1038 уникальных адресов.

Как правило, адрес IPv6 состоит из двух логических частей: 64-битного префикса подсети и 64-битного адреса узла, который либо автоматически генерируется на основе MAC-адреса, либо устанавливается вручную [24].

Адреса IPv6 обычно записываются в виде восьми групп по четыре шестнадцатеричные цифры, где каждая группа разделяется двоеточием (:). Например, 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 является IPv6-адресом. Следовательно, каждая из групп может изменяться: в шестнадцатиричном виде – от 0000 до FFFF, в десятичном – от 0 до 65536, а в двоичном – от 0000000000000000 до 1111111111111111. В итоге рассмотренный выше адрес имеет следующее представление:

1) 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 – в шестнадцатеричном виде;

2) 8193:3512:34211:2259:4889:35374:880:29492 – в десятичном виде;

3) 10000000000001:110110111000:1000010110100011:100011010011: 1001100011001:1000101000101110:1101110000:111001100110100 – в двоичном виде.

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

Если одна или несколько из четырех групп цифр – нули (0000), они могут быть опущены и заменены двумя двоеточиями (::). Например, 2001:0db8:0000:0000:0000:0000:1428:57ab может быть сокращен до 2001:0db8::1428:57ab. Согласно этому правилу любое число последовательных 0000-групп может быть сокращено до двух двоеточий. Ведущие нули в группе могут быть опущены (например ::1 для localhost). Таким образом, запись следующих адресов идентична [28]:

1) 2001:0db8:0000:0000:0000:0000:1428:57ab;

2) 2001:0db8:0000:0000:0000::1428:57ab;

3) 2001:0db8:0:0:0:0:1428:57ab;

4) 2001:0db8:0:0::1428:57ab;

5) 2001:0db8::1428:57ab;

6) 2001:db8::1428:57ab.

Адрес с двумя двойными двоеточиями является недействительным, поскольку создает двусмысленность в интерпретации, и порождается большое количество противоположных вариантов. Например, сократив адрес IPv6 2001:0000:0000:FFD3:0000:0000:0000:57ab до 2001::FFD3::57ab, мы получим возможные комбинации:

1) 2001:0000:0000:0000:0000:FFD3:0000:57ab;

2) 2001:0000:FFD3:0000:0000:0000:0000:57ab и т.д.

Чтобы облегчить внедрение протокола IPv6 и обеспечить возможность существования обеих версий протоколов IP, проблемная группа проектирования Интернет установила два типа IPv6-адресов, содержащих IPv4-адреса. Они называются IPv4-совместимыми адресами (IPv4-compatible address) и IPv4-преобразованными адресами (IP-mapped address). Первые 80 бит обоих типов состоят только из нулей. Последние 32 бита каждого из них содержат IPv4-адрес, который можно представить способом, обычным для адресов протокола IPv4 (четыре десятичных числа, разделенные точками). Непосредственно предшествующие IPv4-адресу 16 бит устанавливаются по-разному, что позволяет установить различие между этими двумя типами адресов. В IPv4-совместимом адресе протокола IPv6 эти 16 бит состоят только из нулей (0х0000), а в IPv4-преобразованном адресе протокола IPv6 – только из единиц (0хFFFF), то есть IPv4 адрес 12.34.56.78 в IPv4-совместимой адресации IPv6 будет выглядеть ::12.34.56.78, а в IPv4-преобразованной адресации – ::ffff:c22:384e [11].

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

Несмотря на то что адрес имеет шестнадцатеричный вид, расчет адреса сети и хоста также осуществляется в двоичном виде, но уже с использованием технологии бесклассовой междоменной маршрутизации CIDR (Classes Inter-Domain Routing), которая была разработана для выдачи IPv4-адресов в Интернете с целью увеличения адресного пространства. Суть технологии CIDR сводится к следующему: так как маска сети представляет собой непрерывный ряд единиц, то смысл записи ее в десятичном виде отсутствует, а значит, можно изобразить только количество единиц. Так, адрес 192.168.200.35 с маской подсети 255.255.255.240 в записи технологии CIDR выглядит следующим образом: 192.168.200.35 /28. Число 28 (из 32 максимальных) показывает, сколько единиц в маске подсети отводится на маску подсети, и называется префиксом. Ситуация в IPv6 аналогичная, только, как отмечалось выше, 8 шестнадцатизначных чисел могут быть представлены 128 двоичными знаками, а соотвественно, префикс IPv6 может быть до 128. Например, 2001:0db8:1234::/48 обозначает сеть с адресами от 2001:0db8:1234:: до 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff [32].

Подобно адресам IPv4, есть ряд специальных адресов, которые имеют особое значение в IPv6:

1) ::/128 – адрес со всеми нулями является неопределенным адресом и будет использоваться только в программном обеспечении;

2) ::1/128 – адрес внутренней петли («loopback») localhost. Если узел посылает пакеты на этот адрес, IPv6 стек циклично возвращает эти пакеты обратно тому же узлу (соответствует 127.0.0.1 в IPv4);

3) ff00::/8 – многоадресный префикс применяется в широковещании.

Отдельно следует отметить случаи употребления IPv6 в качестве адресной строки URL (Uniform Resource Locator), используемой в браузерах. Сложность заключается в следующем: через двоеточие в адресной строке обозначается порт. Например, набранная строка 192.68.1.1:80 означает, что пользователь хочет подключиться к 80 порту (http-порт) компьютера с указанным адресом. Поэтому принято решение в качестве URL использовать IPv6 в квадратных скобках [IPv6]:80. Например, строка в браузере может иметь следующий вид: https://[2001:db8:85a3:8d3:1319:8a2e:370:7344]:443/.

Таким образом, по состоянию на май 2008 года на IPv6 приходится незначительная доля от используемых адресов в публично доступных сегментах Интернет. Пока все еще доминирует протокол IPv4. Скорость (и приблизительная дата) развертывания IPv6 определяется, в первую очередь, скоростью исчерпания адресного пространства IPv4, работу которого хотят продлить как можно дольше (Приложение Б). Так, существуют методы по увеличению объема IPv4-адресов, позволяющие использовать области адресного пространства IPv4, которые ранее были непригодны по техническим причинам. Например, существует возможность утилизации неиспользуемого адресного пространства, реорганизации хостов и маршрутизаторов, но это все искусственно затягивает повсеместное использование IPv6.