В этой статье мы продолжим рассказ о протоколе IPv6 и обсудим форматы адресов IPv6 (address formatting), а также различные типа адресов IPv6.
Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте:
В первой части этой статьи я рассказал о некоторых различиях представления IP адресов в протоколе IPv6, по сравнению с их представлением в протоколе IPv4. В этой статье я хочу продолжить это обсуждение и поговорить об анатомии адреса IPv6, способе разбиения адресов протокола IPv6 на подсети, а также о различных типах адресов IPv6. Если вы знакомы с протоколом IPv4, то вы знаете, что адрес IPv4 состоит из четырех различных октетов данных, каждый из которых отделяется точкой. Часть этого адреса является номером сети, а оставшиеся его биты указывают на конкретный компьютер в этой сети (network). Количество битов, которые отводятся на номер сети и на номер компьютера, меняется и зависит от маски подсети.
Точно также, как и адрес в протоколе IPv4, адрес в протоколе IPv6 разбивается на части. В предыдущей статье, мы узнали, что адреса протокола IPv6 имеют длину 128 байт. Если адрес протокола IPv6 записывается в полном виде, он выражается в виде восьми наборов из четырех номеров, каждый из наборов отделяется двоеточием. Каждый из этих наборов из четырех цифр представляет собой 16 битов данных. Каждые из этих 16 бит имеют свое собственное назначение.
Адрес протокола IPv6 разбивается на три различных части; префикс сайта, идентификатор подсети и идентификатор интрефейса. Эти три компонента идентифицируются положением битов внутри адреса. Первые три поля в адресе протокола IPv6 указывают на префикс сайта. Следующее поле представляет идентификатор подсети, а последние четыре поля используются для указания идентификатор интерфейса.
Префикс сайта аналогичен номеру сети в протоколе IPv4. Это номер, присваиваемый вашему сайту ISP. Обычно, все компьютеры внутри сайта имеют один и тот же префикс сайта. Префикс сайта уникально идентифицирует вашу сеть и обеспечивает доступ к вашей сети из интернет. В отличие префикса сайта, идентификатор подсети является частным, т.к. он является внутренним по отношению к вашей сети. Идентификатор подсети описывает топологию сетевого сайта. Идентификатор сети работает очень похоже на то, как работает разбиение на подсети в протоколе IPv4. Но самое большое различие заключается в том, что эти подсети могут иметь длину 16 байт, и выражаются в шестнадцатиричном формате, а не в десятичном формате, разделенным точками. Подсеть в протоколе IPv6 обычно соответствует основной сети также, как и подсеть в протоколе IPv4.
Идентификатор интерфейса работает аналогично номеру компьютера в протоколе IPv4. Этот номер уникально идентифицирует определенный компьютер в вашей сети. Идентификатор интерфейса (interface ID, который иногда также называют token или жетон) обычно настраивается автоматически в зависимости MAC адреса сетевого интерфейса. Идентификатор интерфейса можно настроить вручную в формате EUI-64.
Для того, чтобы увидеть, как адрес IPv6 разбивается на различные компоненты, давайте посмотрим на следующий адрес:
2001:0f68:0000:0000:0000:0000:1986:69af
Раздел, указывающий на префикс сайта в этом адресе будет: 2001:0f68:0000. Следующее поле, 0000, указывает на идентификатор подсети. Оставшиеся байты (0000:0000:1986:69af) составляют идентификатор интерфейса. Обычно, если выражается префикс, он записывается в специальном формате. Нули сжимаются с помощью трюка, который мы объясняли в предыдущей статье, а дальше через слеш идет номер. Этот номер после слеша отражает количество битов, которые включены в префикс. В ранее приведенном примере, я упоминал, что префикс сайта для адреса 2001:0f68:0000:0000:0000:0000:1986:69af – такой 2001:0f68:0000. Т.к. префикс имеет длину 48 бит, то мы должны добавить /48 в конец, чтобы отразить его по всем правилам. После всех преобразований, префикс будет выглядеть следующим образом: 2001:f68::/48
Еще одна уникальная вещь для протокола IPv6 заключается в том, что в действительности существуют три типа адресов IPv6 addresses; однонаправленный (Unicast), широковещательный (Multicast) и альтернативный (anycast). Однонаправленные адреса используются для идентификации определенного компьютера в сети. Широковещательные адреса, в свою очередь идентифицируют группу сетевых интерфейсов, которые обычно располагаются на нескольких компьютерах. Когда пакет данных посылается на широковещательный адрес, то этот пакет посылается на все сетевые интерфейсы в широковещательной группе.
Точно также, как и широковещательные адреса, адреса типа anycast идентифицируют особую группу сетевых интерфейсов, которые обычно располагаются на нескольких компьютерах. Так чем же тогда адрес альтернативного типа отличается от широковещательного адреса? Когда пакеты посылаются на широковещательный адрес, то они посылаются на все сетевые интерфейсы в группе. А когда пакеты данных посылаются на адреса альтернативного типа, то пакеты не посылаются всей группе. Вместо этого они посылаются члену, который имеет самое близкое физическое приближение к отправителю.
Ранее, когда я показывал вам формат адреса для протокола IPv6 и рассказывал, для чего используются различные биты, я показал вам пример однонаправленного адреса. Существует два различных типа однонаправленных адресов – глобальный однонаправленный адрес (global unicast addresses) и однонаправленный адрес локальной связи (link local unicast addresses). Как следует из названия, глобальный однонаправленный адрес доступ глобально, в то время как однонаправленный адрес локальной связи доступен только для других компьютеров из этой сети. Формат IP адреса, который я показал вам ранее был примером глобального однонаправленного адреса. Выбрал именного его, т.к. он наиболее часто встречается.
Формат однонаправленного адреса для локальной связи отличается от формата глобального однонаправленного адреса. Длина однонаправленного адреса для локальной связи такая же, как и у глобального однонаправленного адреса и составляет 128 байт. Отличие заключается в байты в нем распределяются по-разному и адрес использует специальный префикс сайта.
В однонаправленном адресе для локальной связи префикс сайта занимает лишь первые 10 битов адреса, а не первые 48 битов, как в случает с глобальным однонаправленным адресом. Префикс сайта, который используется в однонаправленном адресе для локальной связи будет: fe80.
Т.к. префикс сайта стал короче (по сравнению с глобальным однонаправленным адресом), то вы не удивитесь, когда узнаете, что пространство, отведенное под идентификатор подсети, увеличилось с 16 битов до 64 битов. Но что вас может удивить, так это то, что в действительности эти 64 бита не используются. Помните, что IP адрес локальной связи действителен лишь для компьютеров в одной сети. А раз так, то идентификатор подсети не нужен. Поэтому 64 бита адресного пространства, которые зарезервированы под идентификатор подсети, выражаются нулями. Идентификатор интерфейса для однонаправленного адреса для локальной связи имеет длину 54 бита. Идентификатор интерфейса практически всегда получается из 48 битного MAC адреса, который имеет сетевой интерфейс, с которыми связан протокол. Ниже представлен пример однонаправленного адреса для локальной связи:
Fe80:0000:0000:0000:0000:0000:23a1:b152
Конечно, вы очень редко увидите такой адрес, т.к. все лидирующие нули в нем опускаются. Поэтому технически более правильно будет записать этот адрес как:
Fe80::23a1:b152
Когда мы убрали все лидирующие нули из адреса, то он стал очень похож на любой другой адрес протокола IPv6. Помните, что вы можете всегда отличить однонаправленный адрес для локальной связи от любого другого адреса, потому что однонаправленный адрес для локальной связи всегда начинается с fe80.
В этой статье я рассказал о назначении различных битов в адресе для протокола IPv6. Я также рассказал о различиях между различными типами адресов для протокола IPv6. В третьей части этой статьи я продолжу это обсуждения и расскажу о широковещательных адресах и адресах типа anycast.
www.windowsnetworking.com
Tags: mac