В новой версии протокола IP* модель адресации претерпела существенные изменения по сравнению с IPv4. Так, например, теперь узел, подключенный у Интернету, может иметь несколько адресов — по одному на каждый свой сетевой интерфейс. Кроме того, в IPv6 отсутствуют широковещательные возможности, что снижает трафик и уменьшает нагрузку на элементы Сети. Изменилась и сама структура IP-адресов. Увеличение размеров с 32 до 128 бит позволило не только увеличить их число, но и использовать иерархическую организацию, позволяющую пресечь разрастание таблиц маршрутизации.
В IPv6, в отличие от IPv4, используется другое представление адресов. Теперь, вместо восьмеричной системы исчисления, используется шестнадцатеричная. Таким образом, адрес в IPv6 представляет собой восемь 16-битовых чисел, разделенных двоеточиями. Правда, в данный момент достаточно часто используется альтернативное представление. В нем присутствуют шесть 16-битовых чисел, разделенных двоеточиями и четыре 8-битовых, разделенных точками (представление адреса в IPv4). Появилась такая запись для удобства при работе одновременно с обеими версиями протокола. Кроме того, в адресах IPv6 очень часто используются длинные последовательности нулей. Поэтому, чтобы сделать запись более удобной, допускается замена 16 следующих друг за другом нулевых бит на символы "::". То есть обычный адрес в IPv6 будет выглядеть так: FF80:0000:0000:0000:0008:0000:100A:328B. А сокращенный так: FF80::::0008::100A:328B.
В IPv6 все адреса делятся на две большие группы: индивидуальные (unicast) и групповые (multicast)В IPv6 все адреса делятся на две большие группы: индивидуальные (unicast) и групповые (multicast). Разница между ними понятна из их названий. Адреса, относящиеся к первой группе, идентифицируют какой-то один определенный сетевой интерфейс. Ну а остальные используются для отправки информации сразу же нескольким получателям. Кроме того, в спецификациях протокола присутствуют еще и адреса, определяемые как «наиболее подходящий член группы» (anycast). Они определяют ближайший (в соответствии с мерой, определенной протоколом маршрутизации) интерфейс из указанной группы. Правда, на данный момент anycast-адреса могут присваиваться только маршрутизаторам. Но работа в этом направлении продолжается. И действительно, anycast-адреса очень перспективны. С их помощью можно будет легко и просто создать, например, распределенный веб-сервер, разбросанный по разным концам земного шара, при обращении к которому для каждого пользователя будет автоматически выбираться ближайший ПК. Ну а теперь давайте остановимся на разных группах IP-адресов подробнее.
Индивидуальные адреса
В общем случае индивидуальный адрес состоит из шести полейТип адреса в протоколе IPv6 определяется префиксом переменной длины, который размещается в самом начале. Для примера давайте разберем общий случай обычного глобального индивидуального адреса. Он состоит из шести полей, следующих друг за другом (RFC 2373
- FP (3 бита) — форматный префикс данного типа адресов, его значение равно 001;
- TLA ID (13 бит) — идентификатор агрегации верхнего уровня;
- RES (8 бит) — зарезервированное поле;
- NLA ID (24 бита) — идентификатор агрегации следующего уровня;
- SLA ID (16 бит) — идентификатор агрегации уровня производственной площадки;
- Interface ID (64 бита) — идентификатор сетевого интерфейса.
Маршрутиазация в IPv6 иерархическаяЕсли вглядеться в эту структуру, то становится ясно, что она иерархическая. Идентификатор агрегации TLA ID используется маршрутизаторами крупнейших провайдеров и точек обмена трафиком для отправки их в определенную «подсеть». Поле RES предназначено для увеличения других полей в случае возникновения в будущем такой необходимости. Идентификатор агрегации NLA ID предназначен для маршрутизаторов «подсетей». Ну и, наконец, значение SLA ID используется для сетей отдельных организаций (корпоративных сетей, провайдеров и т.п.). Таким образом, на каждом из уровней маршрутизаторы обрабатывают не весь адрес целиком, а только его часть, предназначенную именно для них. А поэтому размеры таблиц маршрутизации существенно уменьшаются, а скорость их обработки увеличивается.
Но помимо агрегируемых глобальных, есть еще и несколько других типов адресов. Так, например, в течение довольно долгого времени будут необходимы адреса, использующиеся для обеспечения совместимости IPv6 и IPv4. Самые простые из них присваиваются узлам, осуществляющим туннелирование трафика. Они представляют собой 96 нулевых бит, за которыми следует адрес в стандарте IPv4.
Немногим сложнее и те адреса, которые будут присваиваться узлам, поддерживающим только протокол IPv4. Естественно, их существование не продлится долго, однако на этот промежуток времени необходим какой-то выход из положения. Им стали адреса следующего вида: 80 нулевых бит и 16 единичных, за которыми следует значение согласно стандарту IPv4.
В стандарте IPv6 предусмотрено два вида локальных адресов. Они используются для внутреннего взаимодействия узлов в пределах одной физической сети или группы сетей, принадлежащих одной организации, и проведения автоматического конфигурирования. В первом случае адрес выглядит следующим образом: 10-битный префикс (1111111010), 54 нулевых бита и идентификатор сетевого интерфейса (64 бита). Во втором случае структура адреса несколько сложнее. Сначала идет 10-битный префикс (1111111011), затем 38 нулевых бит, 16-битовый индентификатор подсети и 64-битовый идентификатор сетевого интерфейса.
Ну и последний тип индивидуальных адресов, заслуживающих отдельного упоминания — anycast-адреса. Собственно говоря, их формат очень прост. Сначала указывается префикс подсети переменной длины, а недостающие биты заполняются нулевыми значениями. Фактически, это обозначает следующее. В адресе явно указан префикс подсети, но значение идентификатора сетевого интерфейса нулевое. Правильно понять и обработать пакет с таким адресом должны уметь все маршрутизаторы, входящие в указанную подсеть. Однако на самом деле информацию получит только один из них.
Групповые адреса
Структура группового адреса состоит из четырех полей
Первые восемь бит в любом групповом адресе имеют значение 1. Это и есть префикс, по которому маршрутизаторы и другие узлы Интернета отделяют их от индивидуальных. Следом идут четыре бита, называемые флагами. Первые три из них в данный момент не используются, они зарезервированы на будущее. Последний называется флагом Т. Если этот бит нулевой, то это обозначает, что адрес является стандартным (well-known) групповым, официально выделенным для глобального использования в Интернете. Если же T равен 1, то это указывает на временный (transient) адрес.
Следующие четыре бита группового адреса представляют собой поле Scop. Оно задает область действия данного адреса. На данный момент в стандарте зафиксировано пять значений, остальные же зарезервированы на будущее:
- 1 — группа локальна в пределах узла сети;
- 2 — группа локальна в пределах физической (под)сети;
- 5 — группа локальна в пределах производственной площадки;
- 8 — группа локальна в пределах организации;
- 14 — группа является глобальной.
Ну и, наконец, оставшиеся 112 бит являются идентификатором группы. А для примера давайте приведем адрес для группы с идентификатором 0000XXX. Полная запись для всех узлов, входящих в эту группу и расположенных в пределах одной сети будет выглядеть так: FF02:0000:0000:0000:0000:0000:0000:XXX (краткая запись: FF02:::::::XXX). Ну а адрес для всей группы будет выглядеть так: FF0E:0000:0000:0000:0000:0000:0000:XXX (FF0E:::::::XXX).
Отдельного упоминания заслуживают широковещательные адреса. Так, например, обращение ко всем узлам будет выглядеть следующим образом: FFXX:0000:0000:0000:0000:0000:0000:0001, где вместо XX необходимо установить нужное значение поля Scope, определяющее область выборки. Адрес для всех маршрутизаторов записывается так: FFXX:0000:0000:0000:0000:0000:0000:0002.
Ссылки по теме
Статья получена: hostinfo.ru