Ipv6 адрес: IPV6 — это весело. Часть 1 / Хабр
IPv6 — что это такое и как работает, подробно
13 октября, 2019
Автор: Maksim
Многие пользователи, знакомые с интернетом и не понаслышке знакомые с IP, слышали, что у этого протокола уже давно вышла более новая и функциональная версия для формирования айпи адресов и называется она IPv6.
Но не все понимают, зачем вообще нужно менять IPv4, ведь она прекрасно работает годами, такие адреса легко запоминаются и, в принципе, мы постоянно видим их в интернете и уже все к ним привыкли.
Из прошлой публикации вы могли узнать про адреса IPv4, сегодня мы рассмотрим более новую версию интернет протокола — IPv6, узнаем, какие между ними есть различия и чем шестая версия лучше.
IPv6 — что это такое?
IPv6 — это шестая версия интернет-протокола, которая позволяет создавать в 10 в 8 степени больше ИП-адресов, чем IPv4. Т.е. таких айпи хватит каждому! А это очень много, ведь четвертая версия интернет-протокола позволяла создавать всего 4.3 миллиарда IP.
Интересно! В статье — что такое ip адрес, вы можете более подробней ознакомится, какие бывают айпи, зачем они нужны и просто узнать для себя много нового.
Был разработан в 1995 году и, в отличие от своего предшественника, количество бит шестого протокола было увеличено по сравнению с четвертым с 32 бит до 128 бит.
Зачем нужен IPv6
Хоть адресов в IPv4 можно сделать и 4.3 миллиарда, с развитием интернета, появлением все новых устройств и гаджетов способных выходить в глобальную паутину — такого количества стало не хватать. Проблему попытались решить введением бесклассовой адресации с использованием маски подсети, но это не решило проблему. Поэтому и был разработан новый протокол с большими возможностями и лучшей масштабируемостью — IPv6.
Благодаря возможности создавать просто огромное количество возможных IP — их должно хватать на все устройства, подключающиеся к глобальной паутине. На данный момент идет плавный переход на новый протокол, но т.к. это стоит больших трудозатрат, финансовых вложений, перенастройки оборудования — процесс будет долгим.
IPv6 адреса
Как уже писалось выше данный протокол использует 128 бит или по-другому 16 байт для формирования айпи. Своей структурой он представляет 4 числа в шестнадцатеричной системе счисления в 8 ячейках, разделенных двоеточием. В каждом таком числе 16 бит или по-другому 2 байта.
Диапазон адресов IPv6 составляет от 0000:0000:0000:0000:0000:0000:0000:0000 до ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff.
Адрес этого сайта в IPv4 — 176.57.209.9, в IPv6 он уже будет писаться — 0000:0000:0000:0000:0000:FFFF:B039:D109.
Такой IP может быть записан в нескольких форматах:
- С пропуском начальных нулей: например, айпи этого же сайта мы можем записать так: 0:0:0:0:0:FFFF:B039:D109
- С заменой нулей на двоеточие: Технология шестой версии протокола позволяет пропускать нули, заменяя их еще одним двоеточием, так, мы можем сократить его еще и так — ::ffff:b039:d109.
IPv4 и IPv6 разница
1. Количество адресов на одного человека больше в 5 * 1028 раз больше, т.е. более 300 млн. ИП-адресов для каждого пользователя, который будет выходить в сеть. Такое огромное адресное пространство просто сделает NAT не таким обязательным.
2. 128 бит против 32 бит у IPv4. Шестая версия протокола использует восемь сегментов по 16 бит, а четвертая, четыре 8 битных сегмента.
3. В IPv4 для мультикаста (мультивещание) забронирована сеть 224.0.0.0/4. А в IPv6 применяется внутренне адресное пространство FF00::/8
4. Чтобы обмениваться широковещательными пакетами в шестой версии протокола применяются многоадресные группы, тогда, как в четвертой использовались широковещательные адреса.
5. IPv4 протокол, как неопределенный адрес применяет 0.0.0.0, а для обратной связи (loopback) — 127.0.0.1. В IPv6 же применяется :: и ::1.
6. В IPv4 применяются всемирные уникальные IP для всемирной паутины и локальные (частные) для внутренней сети. В шестерке же используются: одноадресные уникальные (Unicast) юникаст адреса, групповые (Anycast) и многоадресные (Multicast).
7. Заголовок пакета стал длиннее с 20 байт до 40, хотя размер адреса увеличился с 4 байт (32 бит) до 16 байт (128 бит).
Преимущества IPv6 или разница с IPv4
1. Возможность создания IP-адресов для всех возможных устройств, которые будут подключаться к сети сейчас и в будущем.
2. Присутствует отдельный тип айпи, который называется «anycast», он позволяет отсылать пакеты данных устройствам, которые находятся к отправителю ближе всего.
3. Авто конфигурирование IP-адресов.
4. Формат заголовка пакета данных в шестой версии был улучшен, некоторые поля, которые были в IPv4 были откинуты, а некоторые переделаны и усовершенствованы. Также добавили несколько новых полей, которые позволяют хосту (устройству) отправителю устанавливать приоритет для своих пакетов, и к тому же, задействовать потоковую обработку (без фрагментации пакетов, как было в IPv4), все это значительно ускоряет маршрутизацию.
5. После усовершенствований заголовка, количество его полей сократилось с 14 до 8, а это дает прирост к скорости обмена данными. Одним из таких заголовков является — контрольная сумма, зачем она в IP-заголовке, если канальный Ethernet и транспортные TCP и UDP протоколы, итак, включают в себя контрольные суммы. Интересно то, что шестой протокол позволяет добавлять в IP-заголовки и свои поля.
6. Повышенная безопасность и возможность шифрования — IPsec.
7. Сервис качества обслуживания, Quality of Service (QoS) — определяет пакеты, которые чувствительны к задержке. Определяет по каким критериям будет выбираться маршрут пакетов.
8. В суперскоростных сетях появилась возможность передавать очень большие пакеты данных — до 4 гб.
Когда будет переход на IPv6
Скорее всего еще не скоро, слишком много оборудования надо менять провайдерам. Не все роутеры поддерживают данную технологию. Хотя на данный момент многие ОС и роутеры уже готовы к переходу, но есть огромное, НО. Не все компании готовы вкладывать огромные деньги на обновление своего оборудования ПО и т.д.
Процесс будет долгим и неизвестно, когда мы все перейдем на IPv6. К настоящему времени всего 10% интернета использует этот протокол. А пока смысла самому переходить — попросту нет, т.к. у большинства провайдеров еще старое оборудование и постоянное переформирование одного формата в другой только замедлит работу в сети.
В заключение
Как видите, у шестой версии протокола много плюсов, но ждать пока мы сможем ими всеми воспользоваться еще придется видимо не один год. Надеюсь вам был полезен данный материал и до новых встреч.
введение в IPv6 / Хабр
Этой статьёй я хочу начать цикл, посвященный IPv6. Я являюсь инструктором академии Cisco, поэтому, если вы в совершенстве знаете материал нового CCNA Routing & Switching, то скорее всего, не найдёте в цикле ничего нового. Речь пойдёт о структуре и особенностях протокола IPv6, а также, применении его на маршрутизаторах Cisco (маршрутизация RIP, OSPF, EIGRP, списки контроля доступа, и др. – как пойдёт). В первой статье мы поговорим о структуре IPv6 пакета, записи адресов, префиксе. Вторая статья цикла доступна здесь. Информация подойдёт для новичков, имеющих, тем не менее, некоторые знания по IPv4 и модели OSI.
Цикл статей основан на материалах моего блога, которые, в свою очередь, основаны на опыте преподавания, работы с оборудованием и вольном переводе и обдумывании официального курса CCNA Routing & Switching.
Итак, начнём. Не буду останавливаться на стандартных рассуждениях о том, что IPv4 адресов мало, о том, что NAT и прокси – это костыли, о том, что костыли пока работают, и никто не хочет переходить на IPv6, вместо этого – сразу к сути.
Адреса IPv6
Адрес протокола IPv6 состоит из 128 бит, то есть, он в 4 раза длиннее 32-битного IPv4 адреса. Подобно IPv4, в этом адресе можно выделить две части: сеть и хост. То есть, не все биты в адресе имеют одинаковое значение. Часть битов слева (сколько именно зависит от префикса) обозначают сеть, остальные биты справа – идентифицируют устройство внутри сети. Часть, ответственная за хранение информации о хосте называется идентификатор интерфейса (interface id). В отличие от предыдущей версии протокола, в IPv6 не применяются маски подсети, так как они получились бы очень длинными, вместо этого используется префикс. который записывается так же через слеш после адреса. Например, префикс /64 означает, что из 128 бит, первые 64 – это сеть, а оставшаяся часть (в данном случае вторые 64) – это хост. Префикс описывает, сколько бит в адресе используется под хранение информации о сети.
Сам адрес записывают не в десятичном, а в шестнадцатеричном виде – так короче. Адрес разбивается на группы по 16 бит (хекстеты) и каждая группа представляется четырьмя шестнадцатеричными цифрами. Хекстеты отделяются друг от друга знаком двоеточия. Таким образом, адрес состоит из 8 хекстетов ([8 хекстетов]*[16 бит в хекстете]=[128 бит] – общая длина адреса).
Сокращение IPv6
Пример адреса: 2001:0DB8:AA10:0001:0000:0000:0000:00FB. С таким длинным адресом работать достаточно неудобно, поэтому применяют сокращённую запись.
Для того чтобы сократить данный адрес надо последовательно применить два правила.
Правило 1
В каждом хекстете (группе из 4-х цифр) ведущие нули удаляются. Например, во втором хекстете 0DB0 заменяется на DB0. То есть ноль слева удаляется, ноль справа мы не трогаем. Если хекстет состоит из одних нулей, то он заменяется на один нуль. Таким образом адрес 2001:0DB0:0000:123A:0000:0000:0000:0030 преобразуется в 2001:DB0:0:123A:0:0:0:30. А, например, адрес loopback 0000:0000:0000:0000:0000:0000:0000:0001 заменяется на 0:0:0:0:0:0:0:1.
Правило 2
Это правило применяется только после первого. В адрес выбирается одна самая длинная группа, состоящая из полностью нулевых хекстетов, то есть самая длинная последовательность «:0:0:0:» и заменяется на два двоеточия «::». Эту замену можно произвести только один раз и только с самой длинной последовательностью, так как, если бы мы, например, сделали такую замену в двух местах адреса, то потом нельзя было бы восстановить, сколько именно хекстетов мы заменили в первом и во втором случае. Важный момент: нельзя заменять одну группу из :0: на ::, правило два применимо только если есть более одной нулевой группы.
Для примера возьмём адрес из предыдущей замены 2001:DB0:0:123A:0:0:0:30. Самая длинная последовательность из полностью пустых хекстетов – это «:0:0:0:», она начинается сразу после хекстета «123A». Есть ещё последовательность из одного пустого хекстета (между «DB0» и «123A»), но эта – длиннее, так что заменять будем её. Адрес станет совсем небольшим: 2001:DB0:0:123A::30 конечно, длиннее IPv4 адреса, но гораздо короче исходного.
Получение исходного адреса по сокращённой записи
Эта процедура достаточно тривиальна, если мы уже умеем сокращать адреса.
Сначала надо посчитать, сколько хекстетов в адресе осталось. В нашем случае, в адресе 2001:DB0:0:123A::30 осталось 5 хекстетов. Мы знаем, что адрес должен состоять из восьми хекстетов – значит вместо «::» возвращаем три недостающих нулевых, получаем 2001:DB0:0:123A:0:0:0:30. Теперь в каждой группе, где меньше четырёх цифр дописываем слева такое количество нулей, чтобы в группе стало четыре цифры. В результате получим исходный адрес 2001:0DB0:0000:123A:0000:0000:0000:0030.
Примеры
Теперь, чтобы закрепить понимание, приведём несколько примеров сокращения адресов. Сокращать будем по правилам в два этапа.
- FF80:0000:0000:0000:0123:1234:ABCD:EF12 → FF80:0:0:0:123:1234:ABCD:EF12 → FF80::123:1234:ABCD:EF12
- FF02:0000:0000:0000:0000:0001:FF00:0300 → FF02:0:0:0:0:1:FF00:300 → FF02::1:FF00:300
- 2001:0DB8:0000:1111:0000:0000:0000:0200 → 2001:DB8:0:1111:0:0:0:200 → 2001:DB8:0:1111::200
- 0000:0000:0000:0000:0000:0000:0000:0001 → 0:0:0:0:0:0:0:1 → ::1
- 0000:0000:0000:0000:0000:0000:0000:0000 → 0:0:0:0:0:0:0:0 → ::
Адрес loopback выглядит в сокращённой записи особенно элегантно ::1. Даже если вы не пользуетесь IPv6, но работаете на одной из современных операционных, систем, у вас наверняка установлен этот протокол. Это легко проверить, пропинговав loopback.
ping ::1
Pinging ::1 with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Ping statistics for ::1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
При использовании IPv6 адреса в качестве URL, его необходимо заключать в квадратные скобки, при этом, если необходимо указать в URL-е порт, то его следует писать за пределами скобок – http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]:8080/.
Виды IPv6 адресов
Выделяется несколько типов адресов:
- Глобальный юникаст (Global unicast) – это аналог публичных адресов в IPv4. Большая часть всех адресов относятся именно к этому классу. Эти адреса должны быть уникальными в пределах всего интернета, они выдаются IANA региональным регистраторам, те выдают их провайдерам, а провайдеры – выдают клиентам. Диапазон этих адресов – это все адреса, у которых первые три бита равны «001», что означает все адреса, у которых первый хекстет лежит в диапазоне от 2000 до 3FFF. Из этой группы отдельно выделяется сеть 2001:0DB8::/32, которая, согласно спецификации, используется для примеров и документации.
- Локальные адреса (Link-local) – адреса, использующиеся для взаимодействия с другими устройствами в той же локальной сети. Отличительной особенностью этих адресов является то, что трафик «с» или «на» эти адреса не маршрутизируется и в принципе не может выйти за пределы той сети, в которой он был создан. Уникальность от этих адресов не требуется – в каждой сети они могут быть одними и теми же. Адреса применяются для разных специальных целей, например, для процедуры обнаружения соседей (аналог ARP в IPv6). Диапазон таких адресов FE80::/10 – что означает все адреса у которых первый хекстет в диапазоне от FE80 до FEBF.
- Мультикастовые адресе (Multicast) – адреса, использующийся для мультикастовой рассылки. Все эти адреса находятся в диапазоне FF00::/8, что по-русски означает «Всё что начинается с FF». Надо сказать, что мультикаст в IPv6 выполняет важную роль, так как в нём нет широковещательных пакетов и все рассылки делаются мультикастом. Это очень большая тема, поэтому о мультикастах в IPv6 мы поговорим в одной из следующих статей.
- Loopback – специальный адрес ::1. Все пакеты, идущие на него не выходят за пределы устройства, а попадают обратно на уровень IP. Таким образом, этот адрес аналогичен 127.0.0.1 в IPv4. Командой ping ::1 можно проверить, установлен ли на компьютере стек протоколов TCP/IP и IPv6 в частности.
- Неопределённый адрес (Unspecified address) – адрес, состоящий из одних нулей. Записывается в сокращённой форме как «::». Такой адрес не может быть назначен интерфейсу, но может использоваться в некоторых пакетах в качестве адреса отправителя. Например, когда устройство ещё не получило IP адрес с помощью автоматической конфигурации, о ней – тоже в одной из следующих статей.
- Уникальные локальные адреса (Unique local) – аналог приватных адресов в IPv4, то есть они могут маршрутизироваться в пределах нашей внутренней сети, но в интернет их анонсировать нельзя. Вообще, IPv6 подразумевает отказ от приватных адресов в том смысле, в котором они использовались до этого. В IPv4 приватные адреса применяются в основном из-за нехватки публичных и только иногда из соображений безопасности. В IPv6 использовать локальные адреса надо только в том случае, если по соображениям безопасности трафик из данной сети и в неё не должен уходить за пределы нашей зоны ответственности. Во всех остальных случаях следует использовать глобальные юникастовые адреса.
- Адреса IPv4, отображенные в IPv6 (IPv4 embedded) – это адреса вида ::ffff:xxxx:xxxx, где xxxx:xxxx – это некоторый IPv4 адрес, переведённый в шестнадцатеричный вид. Эти адреса используются для устройств, не поддерживающих IPv6 и обеспечивают способ отображения адресного пространства старой версии протокола в адресное пространство новой.
Выше было сказано, что клиенту, как правило, выдаётся огромная сеть (64 бита префикс), а первые 64 бита – это идентификатор сети. Понятно, однако, что сама эта сеть тоже имеет иерархическую структуру. Как правило, региональный регистратор отдаёт провайдеру сеть с префиксом /48, а провайдер добавляет от себя ещё 16 бит и получает 65536 сетей с префиксом /64, которые затем отдаёт своим клиентам.
UPD1: В комментариях подсказывают «Региональные регистраторы давно уже дают /32 сеть по умолчанию или больше адресов, если сможешь обосновать зачем.»
UPD2: Важное замечание в комментариях относительно IPv4 embedded адресов: «Mapped-адреса используются, прежде всего, в dual-stack. Когда создаётся один сокет IPv6 на оба протокола ( IPv4 и IPv6 ), и везде используется IPv6 адреса. Т. е. если через этот сокет пришли данные через IPv4, адрес будет показан всё равно в виде вышеописанного IPv6 mapped-адреса. На канальном уровне разницы не будет вообще. Там будет старый добрый IPv4, разница только в в унификации отображения для пользователя.»
UPD3: Готова вторая статья цикла.
UPD4: Внимательный пользователь сообщил мне на счёт сокращения адресов интересную информацию, о которой я не знал. Правило 2, по RFC5952, применимо только когда у нас более одной группы, состоящей из нулей. То есть …:0:… нельзя заменить на …::…, а …:0:0:… — уже можно.
что это такое, для чего нужен и 2 способа подключения
Всем доброго времени суток! И с вами снова Бородач. Сегодня мы возвращаемся к обучающим статьям «Для самых маленьких». И тема сегодняшнего урока будет: протокол IPv6 – что это такое, для чего нужен и как получить к нему доступ совершенно бесплатно, и в домашних условиях. Пока в России, да и в других странах СНГ, используется обычная IP адресация. IPv4 – это адресное пространство определенного вида, которое кодируется в виде 32-х битных адресов.
Скорее всего вы уже видели подобные циферки. IPv4 имеет вид 4 цифр в диапазоне от 0 до 255. В итоге у нас есть диапазон полных адресов от 0.0.0.0 до 255.255.255.255. Если посчитать, то полное число адресов, которые можно построить с помощью IPv4 – это 4 294 967 296 (2 в 32-ой степени). Приплюсуем сюда огромное количество зарезервированных адресов и получится ещё меньше.
И тут мы подходим к проблеме, которая уже долгие годы назревает на горизонте сетевого мира. А проблема банальна – IPv4 уже не хватает для охвата всех устройств, подключенных к интернету.
Тут-то и выходит на арену более тяжелый IPv6, который имеет больший размер в 128 бита, а это куда большее пространство устройств. И вот мы подошли к самому главному вопросу, а что же такое IPv6? – По сути это просто другой вид адресации с большим размером и некоторыми плюсами по сравнению с IPv6, о которых мы поговорим далее чуть подробнее.
Внешний вид
IPv6 конечно можно было бы представить в виде обычной 10-тичной системы исчисления, но тогда адрес был бы ну слишком большим. Именно поэтому для записи используется 16-тиричная система исчисления, где применяются не только всем нам известные цифры, но также и буквы.
Посмотрите на картинку выше, и вы явно увидите внешние отличия IPv4 от IPv6. Также хочу отметить, что на самом деле разделителей никаких нет – то есть точки и двоеточия ставит сам компьютер, чтобы человеку было проще воспринимать информацию. Куда проще понять число: 192.168.0.1 чем 19216801. Аналогично в IPv6 используются двоеточия, но только для зрительного упрощения.
Плюс
Давайте рассмотрим преимущества 6-го протокола IP. Про первое мы уже упомянули – оно гласит, что с помощью данной адресации мы можем раздать куда больше статических адресов в интернете. Следующий плюс в том, что у 6-го поколения IP присутствует более короткий заголовок. Не буду рассказывать из чего именно он состоит, так как вы скорее всего после этого уснете или просто закроете статью. Просто скажу: что данный заголовок упрощает маршрутизацию в сети и немного ускоряет отправку и прием пакетов. Плюс существенно уменьшается погрешность при высчитывании контрольной суммы.
СПРАВКА! Контрольная сумма необходима для того, чтобы конечный компьютер понял, что ему пришло сообщение в нужном виде. Если же контрольная сумма будет неправильная, то он отправит запрос на повторную отправку данного пакета.
Ещё один плюс в том, что за счет двойного стека IPv4 и IPv6 могут работать в одной сети.
Также есть возможность передавать пакеты IPv6 по сети IPv4. При данном способе идет некая инкапсуляция пакетов внутри сети 4-го поколения. Грубо говоря, они сначала запаковываются, а потом при использовании распаковываются или на устройстве, или в отведенной сети.
Также в технологию сразу вшита Quality of Service (QoS), которая позволяет уменьшить задержку при отправке и приеме пакетов. Ну и самое главное, при данной технологии есть возможность сразу использовать IPsec шифрование, которое позволяет практически полностью скрывать трафик. При этом его тяжелее перехватить и ещё тяжелее расшифровать. Можно сказать – практически невозможно.
Но в теории IPsec можно запустить и на IPv4, что проделывают некоторые провайдеры. Многие сейчас могут задуматься о том, что в теории скорость интернета немного подрастет с использованием 6-го IP. Да, возможно, на долю процента так и будет, но мы не будем забывать про то, что это возможно только в том случае, если весь интернет перейдет на данную адресацию, что в ближайшем будущем просто невозможно.
Длина префикса
А вот задержки на некоторых узлах уже наблюдаются из-за туннелирования, когда трафик IPv6 инкапсулируется в сетях IPv4. Также не забываем, что используется более грамотное разбиение адреса на подсети, что также улучшает связь.
Но почему при таком большом количестве плюсов ещё весь интернет не перешел на IPv6? Все дело в стоимости. Пока в интернете, а также в локальных сетях, используют оборудование, которое работает только с IPv4. А теперь представьте: сколько нужно средств, чтобы это оборудование поменять на другое? – очевидно, что очень много!
Как использовать?
Первое, что вы можете сделать, так это обратиться к провайдеру и, возможно, он и подключит вам IPv6. У некоторых компаний данная услуга стоит некоторую сумму средств. Но если у оператора нет поддержки данной технологии и, например, все оборудование древнее, – то придется довольствоваться IPv4. Есть, конечно, и обходные пути, о которых я расскажу чуть ниже.
ВНИМАНИЕ! Все нижеперечисленные действия вы делаете на свой страх и риск. Сайт WiFiGid за это ответственности не несет. Также подумайте: а оно вам надо вообще?! Так как переход на IPv6 может слегка замедлить соединение.
Способ 1
На Windows достаточно установить специальный пакет, который ставится через стандартную командную строку командой:
netsh interface ipv6 install
Как вариант, если у вас есть статический IPv4, то вы можете слать весь трафик через отведенный шлюз:
netsh int ipv6 6to4 set relay 192.88.99.1 enabled 1440
Если же ваш комп находится за пределами NAT, то можно воспользоваться Teredo – он уже должен быть установлен на Windows, но чаще всего ОС его самостоятельно выключает. Для включения нужно:
- Нажимаем одновременно на клавиши «Win» и «R» и далее прописываем команду: «gpedit.msc».
- Теперь проходим по пути: «Конфигурация компьютера» – «Административные шаблоны» – «Сеть» – «Параметры TCP/IP» – «Технология туннелирования IPv6» – находим параметр «Квалификация Teredo по умолчанию» и заходим внутрь.
- Включаем и применяем параметр.
- Теперь заходим в сетевые настройки вашего адаптера – жмем «Win+R» и прописываем «ncpa.cpl».
- Открываем «Свойство» адаптера, заходим в свойства 6-го протокола. Теперь в строку IPv6 можете ввести любой адрес IPv Можете сделать как я – выбрать адрес IPv4: например, 192.168.1.2 и перевести его в IPv6 вид. Длину префикса ставим: 48.
- Вводим команду в консоли:
route print
- Далее в строке «Interface List» смотрим номер и прописываем его в команде:
netsh interface ipv6 add route ::/0 interface=НОМЕР_ИЗ_СТРОКИ
- Проверяем подключение командой:
ping ipv6.google.com
- Если ничего нет, то попробуйте прописать ещё три команды:
netsh int teredo set state type=client
netsh interface ipv6 delete route ::/0 interface= НОМЕР_ИЗ_СТРОКИ
netsh interface ipv6 add route ::/0 interface= НОМЕР_ИЗ_СТРОКИ
ПРИМЕЧАНИЕ! Если все равно ничего не получается, то попробуйте вместо первой команды вписать: netsh int teredo set state type=enterpriseclient.
Способ 2
Он более простой, так как подключение к TCP/IP IPv6 address будет осуществлено с помощью программы.
- Скачиваем и устанавливаем программу «gogoCLIENT». Перед этим, кстати, может понадобится регистрация.
- После установки вас попросят установить драйвер программы – соглашаемся. После запуска программы на вкладке «Basic» нажимаем «Connect».
- Далее вы можете посмотреть свой новый адрес на вкладке «Status».
Также для проверки откройте браузер и вручную вбейте адрес: ipv6.google.com. Если вы перейдете на него, то значит вы все сделали правильно и теперь ваш компьютер подключен к интернету по IPv6.
Адресация IPv6 | Microsoft Docs
-
- Чтение занимает 3 мин
-
В этой статье
Длина IPv6-адресов составляет 128 бит.In the Internet Protocol version 6 (IPv6), addresses are 128 bits long. Одна из причин такого большого адресного пространства заключается в том, чтобы разделить доступные адреса на иерархию доменов маршрутизации, отражающих топологию Интернета.One reason for such a large address space is to subdivide the available addresses into a hierarchy of routing domains that reflect the Internet’s topology. Другая причина состоит в том, чтобы сопоставить адреса сетевых адаптеров (или интерфейсов), которые подключают устройства к сети.Another reason is to map the addresses of network adapters (or interfaces) that connect devices to the network. IPv6 обладает встроенной возможностью разрешать адреса на их самом низком уровне, который находится на уровне сетевого интерфейса, а также позволяет выполнять автоматическую настройку.IPv6 features an inherent capability to resolve addresses at their lowest level, which is at the network interface level, and also has auto-configuration capabilities.
Текстовое представлениеText Representation
Ниже приведены три стандартные формы, которые используются для представления адресов IPv6 в виде текстовых строк:The following are the three conventional forms used to represent the IPv6 addresses as text strings:
Шестнадцатеричный формат с двоеточием.Colon-hexadecimal form. Это предпочтительная форма n:n:n:n:n:n:n:n.This is the preferred form n:n:n:n:n:n:n:n. n представляет собой шестнадцатеричное значение одного из восьми 16-битных элементов адреса.Each n represents the hexadecimal value of one of the eight 16-bit elements of the address. Например,
3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562
.For example:3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562
.Сжатая форма.Compressed form. Из-за длины адреса часто используются адреса, содержащие длинную строку нулей.Due to the address length, it is common to have addresses containing a long string of zeros. Чтобы упростить написание этих адресов, следует использовать сжатую форму, в которой одна непрерывная последовательность из блоков нулей представлена символом двойного двоеточия (::).To simplify writing these addresses, use the compressed form, in which a single contiguous sequence of 0 blocks are represented by a double-colon symbol (::). Этот символ может содержаться в адресе только один раз.This symbol can appear only once in an address. Например, адрес многоадресной рассылки
FFED:0:0:0:0:BA98:3210:4562
в сжатом виде выглядит какFFED::BA98:3210:4562
.For example, the multicast addressFFED:0:0:0:0:BA98:3210:4562
in compressed form isFFED::BA98:3210:4562
. Адрес одноадресной рассылки3FFE:FFFF:0:0:8:800:20C4:0
в сжатом виде выглядит как3FFE:FFFF::8:800:20C4:0
.The unicast address3FFE:FFFF:0:0:8:800:20C4:0
in compressed form is3FFE:FFFF::8:800:20C4:0
. Петлевой адрес0:0:0:0:0:0:0:1
в сжатом виде выглядит как::
1.The loopback address0:0:0:0:0:0:0:1
in compressed form is::
1. Незаданный адрес0:0:0:0:0:0:0:0
в сжатом виде выглядит как::
.The unspecified address0:0:0:0:0:0:0:0
in compressed form is::
.Смешанная форма.Mixed form. Эта форма объединяет адреса IPv4 и IPv6.This form combines IPv4 and IPv6 addresses. В этом случае адрес имеет формат n:n:n:n:n:n:d.d.d.d, где n соответствует шестнадцатеричным значениям шести элементов 16-разрядного IPv6-адреса старшего порядка, а d соответствует десятичному значению IPv4-адреса.In this case, the address format is n:n:n:n:n:n:d.d.d.d, where each n represents the hexadecimal values of the six IPv6 high-order 16-bit address elements, and each d represents the decimal value of an IPv4 address.
Типы адресовAddress Types
Начальные биты в адресе определяют конкретный тип адреса IPv6.The leading bits in the address define the specific IPv6 address type. Поле переменной длины, содержащее эти начальные биты, называется префиксом формата (FP).The variable-length field containing these leading bits is called a Format Prefix (FP).
IPv6-адрес одноадресной рассылки состоит из двух частей.An IPv6 unicast address is divided into two parts. Первая часть содержит префикс адреса, а вторая часть — идентификатор интерфейса.The first part contains the address prefix, and the second part contains the interface identifier. Краткий способ сочетания IPv6-адреса и префикса выглядит следующим образом: ipv6-address/prefix-length.A concise way to express an IPv6 address/prefix combination is as follows: ipv6-address/prefix-length.
Ниже приведен пример адреса с 64-разрядным префиксом.The following is an example of an address with a 64-bit prefix.
3FFE:FFFF:0:CD30:0:0:0:0/64
.3FFE:FFFF:0:CD30:0:0:0:0/64
.
В этом примере префикс — 3FFE:FFFF:0:CD30
.The prefix in this example is 3FFE:FFFF:0:CD30
. Адрес также может быть написан в сжатом виде, например 3FFE:FFFF:0:CD30::/64
.The address can also be written in a compressed form, as 3FFE:FFFF:0:CD30::/64
.
IPv6 определяет следующие типы адресов:IPv6 defines the following address types:
Адрес одноадресной рассылки.Unicast address. Идентификатор для отдельного интерфейса.An identifier for a single interface. Пакет, отправленный на этот адрес, доставляется в определенный интерфейс.A packet sent to this address is delivered to the identified interface. Адреса одноадресной рассылки отличаются от адресов многоадресной рассылки по значению октета более высокого разряда.The unicast addresses are distinguished from the multicast addresses by the value of the high-order octet. Октет старшего порядка адресов многоадресной рассылки имеет шестнадцатеричное значение FF.The multicast addresses’ high-order octet has the hexadecimal value of FF. Любое другое значение для этого октета определяет адрес одноадресной рассылки.Any other value for this octet identifies a unicast address. Ниже приведены различные типы адресов одноадресной рассылки.The following are different types of unicast addresses:
Адреса локального канала.Link-local addresses. Эти адреса используются в одном канале и имеют следующий формат: FE80::InterfaceID.These addresses are used on a single link and have the following format: FE80::InterfaceID. Адреса локального канала используются между узлами в канале для автонастройки адресов, обнаружения окружения или при отсутствии маршрутизаторов.Link-local addresses are used between nodes on a link for auto-address configuration, neighbor discovery, or when no routers are present. Адрес локального канала используется главным образом во время запуска и в случае, когда система еще не получила адреса большей области.A link-local address is used primarily at startup and when the system has not yet acquired addresses of larger scope.
Адреса локальных узлов.Site-local addresses. Эти адреса используются в одном узле и имеют следующий формат: FEC0::SubnetID:InterfaceID.These addresses are used on a single site and have the following format: FEC0::SubnetID:InterfaceID. Адреса локальных узлов используются для адресации внутри узла и не требуют глобального префикса.The site-local addresses are used for addressing inside a site without the need for a global prefix.
Глобальные IPv6-адреса одноадресной рассылки.Global IPv6 unicast addresses. Эти адреса могут использоваться в Интернете и имеют следующий формат: 010 (FP, 3 бита) TLA ID (13 бит) Reserved (8 бит) NLA ID (24 бита) SLA ID (16 бит) InterfaceID (64 бита).These addresses can be used across the Internet and have the following format: 010(FP, 3 bits) TLA ID (13 bits) Reserved (8 bits) NLA ID (24 bits) SLA ID (16 bits) InterfaceID (64 bits).
Адрес многоадресной рассылки.Multicast address. Идентификатор набора интерфейсов (обычно принадлежащих разным узлам).An identifier for a set of interfaces (typically belonging to different nodes). Пакет, отправленный на этот адрес, доставляется во все интерфейсы, определенные адресом.A packet sent to this address is delivered to all the interfaces identified by the address. Типы адресов многоадресной рассылки заменяют IPv4-адреса широковещательной рассылки.The multicast address types supersede the IPv4 broadcast addresses.
Адреса произвольной рассылки.Anycast address. Идентификатор набора интерфейсов (обычно принадлежащих разным узлам).An identifier for a set of interfaces (typically belonging to different nodes). Пакет, отправленный на этот адрес, доставляется только в один интерфейс, определенный адресом.A packet sent to this address is delivered to only one interface identified by the address. Это ближайший интерфейс, определенный метриками маршрутизации.This is the nearest interface as identified by routing metrics. Адреса произвольной рассылки берутся из пространства адресов одноадресной рассылки и синтаксически не отличаются.Anycast addresses are taken from the unicast address space and are not syntactically distinguishable. Адресный интерфейс выполняет отличие адресов одноадресной рассылки от адресов произвольной рассылки в качестве функции его конфигурации.The addressed interface performs the distinction between unicast and anycast addresses as a function of its configuration.
Как правило, узел всегда имеет адрес локального канала.In general, a node always has a link-local address. У него может быть адрес локального узла и один или несколько глобальных адресов.It might have a site-local address and one or more global addresses.
См. такжеSee also
ipv6 для чайников | Настройка оборудования
Ближайшие пару-тройку лет в глобальной сети Интернет грядут перемены. Революционные перемены. Всё дело в том, что дальнейшее развитие глобальной сети Интернет невозможно без расширения адресного пространства. А это возможно только в помощью перехода к протоколу IPv6 — основному протоколу будущего, призванному решить проблему масштабирования сетей и расширить функциональность современных сетевых устройств и приложений. Но, обо всем по порядку.
А зачем нам IPv6?
В первой половине 2011 года Европейским отделением RIPE NCC был продан последний свободный блок из 16 миллионов уже привычных нам IP-адресов 4-й версии — подсеть 185.0.0.0/8. То есть фактически глобальный пуль IP-адресов стал равен 0. Чем это грозит рядовому пользователю?! Начать думаю стоит с того, что сейчас сетевой модуль — LAN, Wi-Fi или 3G — присутствует практически в каждом компьютере, ноутбуке, планшете и смартфоне, число сетевых устройств в мире увеличивается в геометрической прогрессии. Даже если учитывать что подавляющее большинство этих устройств выходят в сеть Интернет через абонентские устройства доступа — роутеры, модемы, оптические терминалы используя технологию NAT либо прокси-серверы, то всё равно такой рост сетевых устройств приведет к тому, что у провайдеров закончатся (а у некоторых уже закончились) свободные IP-адреса. Что делать провайдерам? А провайдеры начнут применять различные ухищрения типа PG-NAT (NAT на уровне провайдера) с выдачей абонентам серых IP-адресов из внутренней локальной сети и т.п. И чем дальше — тем больше абонентов будут сидеть за NAT провайдера. После этого у абонентов могут начаться проблемы со скоростью (особенно через torrent-сети а силу их особенностей), с онлайн-играми и т.п.
Как ни крути, выход один — переход на новый протокол IPv6. Конечно сразу одним махом перейти не получится при любом раскладе, но чем быстрее миграция начнется, тем быстрее проблема будет решаться, ведь по мере перехода будут освобождаться IPv4 адреса.
Казалось бы — всё это проблемы провайдеров, а рядовому пользователю в чем польза?
Конечно до конца ещё не известно в каком виде пользователю будет предоставляться IPv6 — в виде адреса или в виде целой подсети адресов (а подсетей в новом протоколе огромное количество). Но если будут предоставляться сразу подсети, то надобность в NAT’е на абонентских устройствах отпадет в принципе и пользователям не нужно будет в дальнейшем мучиться с пробросом портов на домашних роутерах — у всех компьютеров в домашней сети будут белые внешние адреса.
Второй значительных плюс — увеличение скорости в файлообменных сетях, особенно через Torrent. Правда поддержка IPv6 обязательна и со стороны файлообменных серверов и трекеров.
Третий значительные плюс — закрепление статически за пользователем определенной подсети адресов, которые не будут меняться динамически каждый раз при переподключении к провайдеру.
А разве IPv4 и IPv6 не похожи?
Нет. Совершенно не похожи. Уровень у протоколов один уровень — сетевой. На этом их сходство и заканчивается. IPv4 и IPv6 — это два совершенно разных протокола. Самое важное отличие протоколов, заметное даже визуально, заключается в длине адресного пространства. В то время как четвертая версия протокол использует 32-битные адреса в виде набора из четырех октетов, в шестой версии адрес имеет длину уже 128 бит. К тому же, IPv6 значительно более сложен и технологически сильно продвинут, вплоть до наличия элементов маршрутизации уже на уровне заголовков.
IP-адреса в IPv6.
IP-адрес в шестой версии имеет более сложную иерархическую структуру, нежели IPv4. Благодаря размеру адреса в 128 бит, для использования доступны 340.282.366.920.938.463.463.374.607.431.768.211.456 адресов. Согласитесь, огромная цифра.
На текущий момент определены 3 формата IPv6-адресов:
1) Стандартный, основной формат IPv6-адреса.
X:X:X:X:X:X:X:X, где каждое число X — это шестнадцатеричное 16-битное число, которое состоит из 4 символов в шестнадцатеричной системе. Пример IPv6 — адреса:
21DA:7654:DE12:2F3B:02AA:EF98:FE28:9C5A
2) Сжатый формат IPv6-адреса.
Если в адресе есть несколько групп, содержащие в себе только нулевые биты, то для удобства принят специальный тип сокращения вот такого вида «::». Выглядит это так:
был EF98:3:0:0:0:0:2F3B:7654 стал EF98:3::2F3B:7654
или был FF01:0:0:0:0:0:0:1 стал FF01::1
При этом существует такое ограничение: через два двоеточия можно заменять только одну группу байт.
Для наглядного примера пусть будет вот такой адрес: 1:0:0:0:1:0:0:1
Вот так можно: 1::1:0:0:1
И так можно: 1:0:0:0:1::1
А вот так — нельзя: 1::1::1
3) Альтернативный (переходный) формат.
Так как полный переход с IPv4 на IPv6 дело не двух дней, и займет оно весьма длительное время, то для удобство миграции существует 2 варианта переходных адресов — совместимые и отображенные.
Совместимые адреса предусмотрены для узлов сети, которые осуществляют туннелирование трафика из IPv6 в IPv4. Они будут широко применяться по перву на стыках сетей. Совместимые адреса имеют префикс ::/96 и выглядят так:
0:0:0:0:0:0:144.12.10.31 или сжато ::144.12.10.31
То есть из 128 бит адреса — 96 бит (6 октетов) нулей плюс 32 бита — IPv4-адрес.
Второй тип придуман специально для хостов, которые IPv6 не поддерживают. Таких тоже будет немало. Называются они «отображенные». Префикс отображенного IPv6-адреса — ::ffff:0:0/96 и выглядит вот так:
0:0:0:0:0:ffff:88.147.129.15 или сжато ::ffff:88.147.129.15
Здесь из 128 бит адреса первые 80 бит (5 октетов) занимают нули, затем 16 единичных бит, а затем 32 бита занимает IPv4-адрес.
Состав IP-адреса в IPv6
В IPv6 IP-адрес можно разделить на три составные части:
— глобальный префикс,
— идентификатор подсети,
— идентификатор интерфейса.
Рассмотрим для примера адрес:
21DA:7654:DE12:2F3B:02AA:EF98:FE28:9C5A.
В нем первые три поля в адресе протокола IPv6 указывают на префикс сайта — 21DA:7654:DE12. Глобальный префикс указывает в сети какого провайдера находится данный адрес. Четвертое поле — 2F3B — идентификатор подсети. Оставшиеся 4 поля — 02AA:EF98:FE28:9C5A — идентификатор интерфейса — аналогичен Host ID в IPv4 и определяет уникальный адрес хоста вашей сети.
А где в IPv6 маска подсети
В шестой версии протокола IP маска подсети не нужна как таковая. Её роль играет идентификатор подсети. Поля в 16 бит хватает для 65 535 подсетей.
Как работает IPv6
По умолчанию сетевой присваивается link-local адрес (fe80::/10), ну а затем хост используя этот адрес отправляет в сеть групповой ICMPv6-запрос — Router Solicitation — для поиска роутера.
Если роутер в сети есть, то он ответит хосту ICMPv6-сообщением — Router Advertisement. В ответе помимо IPv6-префикса сети могут так же присутствовать адрес шлюза, адреса DNS-серверов, MTU и пр. Затем, если на роутере запущен DHCPv6-сервер, то далее все пройдет как в случае обычного DHCP-сервера — интерфейсу присвоется адрес, маска, шлюз и DNS-серверы.
Если DHCP-сервера нет, то наш узел сам себе присвоит адрес с использованием этого префикса и своего физического MAC-адреса. Так же добавляется маршрут по умолчанию на найденный роутер.
Как использовать адреса IPv6 в URL
Каждому человеку, кто хотя бы раз настраивал роутер знакома ситуация, когда IP-адрес вводится в строке адреса браузера. Другой вариант, когда это приходится делать — в случае если кто-то запустил на компьютере веб-сервер без привязки доменного имени и Вам по какой-либо причине надо на него зайти. В случае IPv4 делается Вы просто пишете IP, например 192.168.0.1, в строке адреса и нажимаете кнопку Enter. Браузер преобразует IP-адрес в http, получаем такую строчку: http://192.168.0.1 По-умолчанию для Веб-сервера используется TCP-порт 80. Но иногда в настройках используют альтернативные порты, например 8080. В этом случае строка адреса будет выглядеть так: http://192.168.0.1:8080, т.е. порт указывается через двоеточие -:- после адреса.
Но что же делать в случае, когда используется IPv6, ведь там все числа через двоеточие и браузер будет думать что это порт.
Так вот в случае IPv6 IP-адрес в адресной строке браузера закрывается квадратными скобками. Выглядит это так:
http://[21DA:7654:DE12:2F3B:02AA:EF98:FE28:9C5A]/
Если надо указать ещё и порт, то так:
http://[21DA:7654:DE12:2F3B:02AA:EF98:FE28:9C5A]:8080/
IPv6, не дожидаясь провайдера
Держу пари: немногие из читателей обратили внимание на то, что 8 июня 2011 г. прошел так называемый World IPv6 Day. В этот день многие сетевые операторы, интернет-провайдеры и владельцы сайтов перевели свои ресурсы в режим работы, предполагающий полноценную одновременную поддержку и привычного нам IPv4 (который мы до сих пор знали как просто IP), и нового IPv6. Отсутствие громких сообщений и широкого резонанса свидетельствует о том, что достаточно масштабный эксперимент завершился вполне удачно и в дальнейшем мы по-прежнему можем рассчитывать на гладкую работу Интернета. Отвлеченному человеку вышесказанное может показаться пустяком, но с World IPv6 Day действительно были связаны определенные переживания.
Прежде всего, давайте разберемся, что же именно в этот день произошло, и каким образом это касается (или нет) каждого из нас. Дело в том, что по сей день подавляющее большинство веб-сайтов доступны исключительно по протоколу IPv4, т. е. даже если их инфраструктура формально и поддерживает IPv6, то символьное имя разрешается DNS именно в IPv4. Для заведомого использования IPv6-ресурсов, как правило, нужно указывать специальные имена — к примеру, ipv6.google.com (хотя сама по себе комбинация символов «ipv6» ни о чем не говорит).
Рис. 1. Отсутствие доступа к Интернету по IPv6 пока еще не сулит никаких проблем, в каком-то смысле без него даже спокойнее. Однако постепенно уже стоит начинать разбираться с новым протоколом.
Так вот, 8 июня одни и те же имена сайтов участников (а это порядка 400 официально зарегистрированных крупнейших компаний и, наверняка, некоторое количество более мелких) разрешались как в IPv4, так и в IPv6 — в недалеком будущем именно таким образом будет функционировать весь Интернет. При этом надо иметь в виду, что все современные ОС не только поддерживают IPv6, но и отдают ему предпочтение как более прогрессивному, обращаясь к IPv4 лишь в случае неудачи. Соответственно, у тех, кто не заметил никаких проблем, либо IPv6 был настроен корректно, либо по старинке использовался только IPv4. Признаком неправильной конфигурации IPv6 на пользовательских компьютерах либо у провайдера должны были стать ощутимые задержки при обращении к некоторым сайтам, связанные с обработкой тайм-аутов, которые составляют порядка:
- 4 секунды для Mac OS X;
- 20 секунд для Windows;
- 0—180 секунд для Linux.
Причем если конкретный сайт доступен по нескольким IPv6-адресам, то задержка вырастает в соответствующее число раз. Как при этом поведут себя различные программы, предсказать довольно сложно. Но в любом случае, эта проблема не должна была стать массовой, эксперты оценивали долю возможных «потерпевших» всего в 0,05% от общей Интернет-аудитории, хотя, конечно, любому было бы неприятно попасть в их число. Поэтому участники World IPv6 Day больше заботились не о нас, а о собственной репутации: ведь для непосвященного ситуация выглядела бы так, будто их ресурс «лежит». Это, кстати, и есть основная причина, по которой никто не торопится обеспечивать доступ по IPv6.
Впрочем, определенная забота о простых смертных все же имела место. Та же Google, к примеру, еще в Chrome 11.0.696.71 ограничила таймауты при работе по IPv6 величиной всего 300 мс. В свою очередь, Microsoft выпустила специальный FixIt-апплет для тех пользователей Windows, у кого все-таки возникли бы проблемы с доступом к популярным Интернет-ресурсам; он просто делает приоритетным протокол IPv4.
С подобными проблемами, конечно, можно будет столкнуться и в будущем — крупнейшие интернет-компании настолько вдохновились успехами World IPv6 Day, что оставили часть второстепенных ресурсов функционировать в «экспериментальном» режиме. В качестве примеров — www.xbox.com или developers.facebook.com, а в дальнейшем таких сайтов будет становиться все больше.
Рис. 2. Сайт www.xbox.com отзывается и по IPv4, и по IPv6 — чтобы убедиться в этом, достаточно использовать в команде ping ключи -4 и -6 соответственно. Без ключей ping использует приоритетный протокол, которым по умолчанию является IPv6 — если он, конечно, активен.
Также специалисты опасались, что World IPv6 Day привлечет внимание хакеров, которые могут поставить собственный эксперимент — к примеру, попытаться атаковать какие-то узлы сетевой инфраструктуры. Аргументом служило то, что поддержка IPv6, особенно его новых возможностей, еще недостаточно отлажена и вполне может оказаться легко уязвимой. Но ведь хакеры находятся в аналогичном положении, им тоже нужно адаптировать свои инструменты и методы. Кроме того, с их стороны это был бы чисто «научный» эксперимент, так как пользователи все еще предпочитают не задумываться о IPv6: хотя у некоторых крупных сетевых операторов 8 июня IPv6-трафик удваивался (причем львиная доля его приходится на P2P), в абсолютных цифрах он все равно не поднялся выше доли процента. Так или иначе, но ни о каких инцидентах информации не поступало, хотя, опять же, исключить их в будущем нельзя.
Почему IPv6?
В этом месте у многих наверняка возникнет закономерный вопрос: зачем вообще внедрять IPv6, если без него все прекрасно работает, а с ним могут быть связаны различные проблемы? Однако ответ на него не менее очевиден для тех, кто хоть немного в курсе дела: адресов IPv4 очень мало, свободных практически не осталось — занимающаяся их распределением организация IANA (Internet Assigned Numbers Authority) раздала последние блоки еще 3 февраля 2011 г. Естественно, в распоряжении региональных интернет-регистраторов (RIR) какое-то количество адресов еще имеется, но предположительно через год по крайней мере один из них тоже останется с пустыми руками. Также свободные адреса имеются у локальных провайдеров и крупных организаций (вроде Google и Microsoft), которые в свое время запрашивали их с большим запасом. Последние даже нашли юридические лазейки, чтобы выкупать остатки друг у друга (хотя в принципе это не было предусмотрено). Но так или иначе — ясно одно: 30 лет назад создатели IPv4 слишком самонадеянно посчитали 4 миллиарда (232) достаточно большим числом.
Западные журналисты склонны излишне драматизировать сложившуюся ситуацию, называя ее не иначе как IPcalypse или ARPAgeddon (от названия организации ARPA, или Advanced Research Projects Agency, чья сеть ARPAnet была прообразом Интернета). На самом деле все не так страшно, особенно в ближайшей перспективе. Во-первых, World IPv6 Day подтвердил состоятельность идеи так называемого «двойного стека», подразумевающей длительное сосуществование протоколов IPv4 и IPv6, которое позволит постепенно решить все возникающие технические проблемы. Во-вторых, в нашем распоряжении имеется технология NAT, позволяющая прекрасным образом пользоваться «фиктивными» адресами.
Однако долгосрочная перспектива, если не приложить достаточных усилий, выглядит не такой уж радужной. После реального исчерпания IPv4-адресов новые ресурсы будут работать уже только по IPv6, так что никакой «двойной стек» сам по себе не поможет добраться до них по IPv4. Далее, масштабное внедрение NAT провайдерами и сетевыми операторами таит в себе целый ряд неприятных моментов — и ограничения в работе с P2P-системами на самом деле еще мелочь. Массовая трансляция адресов существенно увеличит нагрузку на сетевую инфраструктуру, а кроме того может вызвать неадекватные реакции со стороны систем безопасности, которым, к примеру, будет сложно отличить наплыв пользователей из-за NAT от настоящей DDoS-атаки.
Справиться с этими и подобными явлениями как раз и призван протокол IPv6: давайте разберемся, за счет чего.
Что нового в IPv6
Главная новость для конечных пользователей состоит в том, что IPv6 оперирует 128-битными адресами против 32-битных в IPv4. Типичный IPv6-адреc записывается шестнадцатеричными цифрами таким образом:
2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d
В каждой группе, отделенной двоеточиями, ведущие нули могут опускаться, а двойное двоеточие (которое может встречаться только один раз) обозначает последовательность нулевых групп, обеспечивающую корректную длину всего адреса. Т. е. нулевой адрес может выглядеть просто как «::». Хотя в общем случае пытаться запоминать такие конструкции практически бесполезно, их все же можно использовать — к примеру, в адресной строке современных браузеров, заключая в квадратные скобки.
Даже если не вдаваться в математические подсчеты, понятно, что количество IPv6-адресов измеряется в полном смысле астрономическим числом. На самом деле, на текущий момент бо́льшая часть адресного пространства, порядка 85%, зарезервирована на будущее (к примеру, если нынешняя система распределения окажется не совсем удачной, будет возможность быстро ее скорректировать), но все равно ясно, что оперировать каждым конкретным адресом невозможно — слишком велики будут таблицы маршрутизации. Поэтому система задумана иерархической: в частности, адреса будут распределяться подсетями /48, т. е. первые 48 бит формируют так называемый глобальный идентификатор (префикс), следующие 16 бит будут определять подсеть, а следующие 64 — интерфейсы. С одной стороны, это обеспечит все разумные и неразумные потребности, с другой — существенно упростит маршрутизацию. Понятно, что префикс длиной в 64 бита позволяет зашить довольно много информации — так, если глобальные («обычные») IPv6-адреса выделяются в диапазоне 2000::/3, то, забегая несколько вперед, 2001::/32 обозначают Teredo-адреса, а 2002::/16 — 6to4. Соответственно, с корректным выявлением и обработкой двух последних не должно возникнуть никаких проблем.
Кроме того, в IPv6 имеются так называемые «уникальные локальные» адреса (диапазон fc00::/7) — по сути, аналоги зарезервированных в IPv4 для организации NAT. Они автоматически выделяются каждому интерфейсу, причем специальный алгоритм генерирует их на основе MAC-адреса таким образом, чтобы с высокой вероятностью действительно обеспечить их уникальность. В частности, это свойство означает априори готовность любой локальной сети к работе по IPv6 без дополнительной настройки и даже без DHCP, что, к примеру, очень удобно для организации так называемых спонтанных (ad-hoc) сетей.
Как видите, IPv6 — вовсе не «расширенный IPv4», тем более что обратной совместимости между ними нет. Разрабатывать IPv6 (первоначально его называли IPng, IP next generation) начали еще в 1992 г., первые спецификации появились в 1996 г., и только в 2004 г. началось, по сути, его реальное использование — с добавления соответствующих DNS-записей (обычно их условно обозначают AAAA, против A для IPv4) для японского и корейского национальных доменов. Кстати, нет никакой тайны и в том, почему за IPv4 следует сразу IPv6 — номер 5 успели задействовать для еще одного экспериментального протокола, предназначавшегося для передачи аудио и видео.
Соответственно, IPv6, как более прогрессивный и созданный с пониманием реальных ограничений своего предшественника, содержит немало и функциональных улучшений, прежде всего в области маршрутизации. Кроме уже упоминавшейся иерархической системы сюда же можно отнести освобождение маршрутизаторов от разбиения пакетов (теперь этим должна заниматься передающая сторона, что при определенных обстоятельствах как раз и может стать одним из источников уязвимостей) и подсчета контрольных сумм (на уровне IP они просто исчезли за ненадобностью). При этом максимальный размер пакетов может достигать 4 ГБ (так называемые «джамбограммы»), что, впрочем, найдет применение только в каких-то специальных случаях — к примеру, в суперкомпьютерах. Появились также многоадресное вещание, новые возможности QoS (к примеру, специальное поле срочности доставки, что особенно пригодится при потоковой передаче аудио и видео), IPSec стал обязательным и пр.
Таким образом достоинства IPv6 очевидны. Исключив необходимость в NAT и упростив маршрутизацию на уровне корневой инфраструктуры, он должен обеспечить даже лучшую производительность Интернета, а выделение «белых» адресов любым сетевым устройствам (обычно в качестве примера приводятся холодильники, но более интересно выглядят всевозможные счетчики и сенсоры, которые благодаря автоконфигурации смогут легко объединяться в локальные сети) наверняка откроет какие-то совершенно новые возможности. При этом теоретически должна улучшиться и ситуация с безопасностью — «белые» адреса усложнят жизнь спамерам и владельцам ботнетов, сканировать адресное пространство IPv6 не в пример сложнее IPv4, да и обнаруживаться такая деятельность будет легко.
Откуда берутся проблемы с IPv6
Но раз все должно быть хорошо, то почему мы говорим о каких-то проблемах? Действительно, на сегодняшний день можно считать, что сам по себе Интернет (на уровне корневой инфраструктуры) к IPv6 вполне готов, и то же самое, скорее всего, можно сказать о крупных сетевых операторах. Гораздо хуже дело обстоит с провайдерами доступа — вот они совсем не торопятся: тех, что официально начали поддерживать IPv6 на просторах СНГ, можно пересчитать по пальцам. Хотя отчасти их можно понять — на самом деле мало кто из их абонентов может полноценно воспользоваться IPv6. Дело в том, что подавляющее большинство пользовательского оборудования (модемы, маршрутизаторы, беспроводные точки) IPv6 не поддерживают. Соответствующие устройства непросто найти даже среди новых моделей — что уж говорить о тех, что были выпущены несколько лет назад.
При этом не факт, что ситуацию можно исправить обновлением их микропрограмм. Во-первых, это серьезная работа, на которую решится не всякий производитель; во-вторых, это не всегда возможно в силу аппаратных ограничений; в-третьих, очевидно, что гораздо выгоднее продать нам новое устройство, чем с непонятным результатом возиться со старым. Кое-что, конечно, можно предпринять и самостоятельно. К примеру, популярная альтернативная микропрограмма для беспроводных маршрутизаторов DD-WRT поддерживает IPv6, и ею можно воспользоваться на свой страх и риск (хотя, как известно, делается это не всегда просто). Правда, мне не встречалась информация о том, насколько надежно она работает.
И все же, снова утешу читателей — не все плохо. Описанные выше проблемы ни для кого не тайна, и IPv6 содержит целый ряд стандартных механизмов для своего использования даже без поддержки со стороны провайдера. К тому же, все сравнительно современные ОС и значительная часть прикладного ПО прекрасно работают с IPv6.
Как приобщиться к IPv6
Итак, очевидно, что ситуация, когда и провайдер, и ваше оборудование поддерживают IPv6 — все еще редкость. Поэтому придется обратиться к дополнительным ухищрениям, благо о них предусмотрительно позаботились и сетевые операторы, и разработчики ПО. Все они построены на технологиях туннелирования, т. е. инкапсуляции IPv6-трафика в IPv4-пакеты, которые, соответственно, где-то и кем-то должны быть расшифрованы и переданы по назначению.
Все дальнейшее относится к Windows 7, в которой IPv6 по умолчанию включен. В Windows Vista отличий быть не должно, в Windows XP с последним сервис-пакетом IPv6 необходимо предварительно установить, к примеру, таким образом:
netsh interface ipv6 install
Эта и другие команды должны выполняться от имени администратора, в Windows 7 для этого проще всего запустить с административными полномочиями командную строку.
Вариант первый — 6to4. Использование возможно в том случае, если у компьютера статический «белый» IPv4-адрес. Это принципиально, так как именно на его основе должен быть сформирован уникальный глобальный IPv6-адрес. Для активации достаточно выполнить всего одну команду:
netsh int ipv6 6to4 set relay 192.88.99.1 enabled 1440
Здесь 192.88.99.1 представляет специальный широковещательный (anycast) адрес, посредством которого находятся шлюзы 6to4. Один из них, независимо от своего размещения (маловероятно, что у отечественного провайдера), и будет задействован в результате, и на него будет маршрутизироваться весь 6to4-трафик. Соответственно, возможны проблемы с производительностью, хотя, учитывая малую распространенность IPv6, ни о чем подобном пока не сообщалось.
На случай, если компьютер находится за NAT, имеется другой способ под названием Teredo (аналог в Linux и Mac OS X — Miredo). Он более универсален, но требует и дополнительной настройки. Прежде всего, в Windows 7 Teredo присутствует, но в основном предназначен для самостоятельного использования различными сетевыми приложениями. Поэтому, в частности, в отсутствие IPv6-трафика ОС его быстро деактивирует. Соответственно, вначале нужно изменить такое положение дел в редакторе групповых политик (gpedit.msc): найти в разделе Computer Configuration → Administrative Templates → Network → TCPIP Settings → IPv6 Transition Technologies параметр Teredo Default Qualified и установить его в значение Enabled.
Рис. 3. Во избежание недоразумений и дополнительных действий, Teredo лучше сразу сделать постоянно активным.
Затем нужно в сетевых настройках назначить явный IPv6-адрес, к примеру 2002:c0a8:102:: (это аналог 192.168.1.2; при желании другие можно вычислить здесь), и указать длину префикса подсети — 48.
Затем — выполнить команду
route print
и в разделе Interface List выяснить номер интерфейса Teredo. Допустим, он равен 21, тогда осталось выполнить последнюю команду
netsh interface ipv6 add route ::/0 interface=21
подождать несколько секунд и проверить работоспособность IPv6:
ping ipv6.google.com
В некоторых случаях, впрочем, и после этого Teredo остается неактивным, тогда его нужно активировать принудительно:
netsh int teredo set state type=client
netsh interface ipv6 delete route ::/0 interface=21
netsh interface ipv6 add route ::/0 interface=21
Если внешний IPv4 выделяется динамически, две последние команды придется повторять после каждого выключения/включения маршрутизатора/модема либо при каждой смене адреса (обычно раз в сутки), для чего лучше всего создать пакетный файл.
Также в зависимости от настроек вашего маршрутизатора в первой команде иногда нужно указать другой тип клиента:
netsh int teredo set state type=enterpriseclient
Вообще-то он предназначен для доменной среды, но, по не вполне ясным причинам, иногда требуется и в других ситуациях.
Teredo имеет ряд особенностей, о которых следует знать. Во-первых, его поддержку формируют два типа серверов: вспомогательные, которые нужны только на этапе конфигурирования (один из них развернут самой Microsoft), и шлюзы, обеспечивающие обращение к реальным IPv6-адресам путем расшифровки инкапсулированного трафика (взаимодействие между Teredo-адресами происходит напрямую). Соответственно, производительность может зависеть от загрузки последних. Во-вторых, надо иметь в виду, что Teredo позволяет принимать входящие соединения, что создает потенциальную брешь в защите. На текущий момент это вряд ли является большой угрозой, т. к. сканировать IPv6-адреса (а Teredo даже сложнее, чем реальные) бесперспективно, да и мало какие приложения «слушают» IPv6. Но в принципе стоит предусмотреть дополнительную защиту с помощью брандмауэра — Windows Firewall будет достаточно.
В некоторых случаях, однако, Teredo также не будет работать. Например, из-за симметричного NAT или в случае фильтрации UDP. Кроме того, Teredo позволяет задействовать только один IPv6-адрес, т. е. раздать с его помощью IPv6 в локальной сети не удастся. На эти случаи имеется еще один вариант — так называемые туннельные брокеры. Сегодня их уже немало, причем многие поддерживаются сетевыми операторами, т. е. предположительно с их производительностью не должно быть больших проблем. При этом данные услуги предоставляются бесплатно, хотя взамен от пользователя обычно требуется регистрация.
Одни брокеры предполагают определенную ручную настройку, другие предлагают специальные клиентские утилиты, выполняющие все необходимые действия автоматически, но принцип остается неизменным — необходимо соответствующим образом настроить оба конца туннеля. Каждый из вариантов имеет свои преимущества и недостатки. В первом на самом деле также не придется слишком вникать в подробности — скорее всего, всё, что понадобится, это выполнить на своем компьютере предложенный набор готовых команд. Однако имейте в виду, что эту процедуру придется повторять при каждой смене внешнего IPv4-адреса (к примеру, создав пакетный файл и назначив с помощью планировщика его запуск при каждом старте системы). Во втором почти наверняка придется установить дополнительный драйвер, который зато сможет достаточно интеллектуально выполнять автоконфигурирование при каждой перезагрузке.
В общем случае второй вариант кажется более простым и потому предпочтительным. В случае сервиса gogo6 он реализуется следующим способом:
- Чтобы скачать клиентское ПО, придется зарегистрироваться. Хотя, забегая вперед, в дальнейшем регистрационные данные не являются обязательными. Более того, gogoCLIENT вроде бы распространяется с некоторыми дистрибутивами Linux.
- Установка клиентского ПО проходит достаточно традиционно, поэтому англоязычный интерфейс не является большим ограничением. Как обычно, придется согласиться с лицензией и при необходимости выбрать инсталляционную папку.
Рис. 4. Инсталляционная процедура ориентирована на наиболее стандартное применение, так что вмешиваться в настройки нет необходимости
- По умолчанию для установки отмечены все необходимые компоненты, рекомендую так и оставить. Tunnel Driver необходим для «пробивания» NAT (а также для более экзотического и совершенно не актуального сегодня туннелирования IPv4 через IPv6).
- Драйвер подписан, но его установку все равно необходимо подтвердить.
Рис. 5. Сетевой драйвер будет делать за вас всю техническую работу.
- Перезагрузка не потребуется, можно автоматически запустить gogoCLIENT с последнего инсталляционного экрана.
Рис. 6. Как правило, нет необходимости вникать в настройки gogoCLIENT, не обязательно даже вводить свои регистрационные данные — достаточно нажать кнопку Connect
- Вкладки Basic достаточно в подавляющем большинстве случаев; она предполагает, что клиентское ПО самостоятельно выберет оптимальные параметры. Advanced и Log нужны разве что для экспериментов и решения проблем (с которыми мне столкнуться ни разу не довелось). Подключаться можно анонимно или со своими регистрационными данными. Во втором случае вы получите статический IPv6-адрес и возможность использования своего компьютера в качестве IPv6-маршрутизатора. Для обычного доступа к Интернету по IPv6 все это лишнее. Флажок «Launch the gogoCLIENT service at system startup» также следует оставить включенным, это обеспечит автоконфигурацию, необходимую, если IPv4-адрес вам назначается динамически.
Рис. 7. При желании можно поэкспериментировать с настройками — к примеру, чтобы добиться лучшей производительности соединения.
- Через несколько секунд после нажатия кнопки Connect связь с сервером gogo6 будет установлена и IPv6 активизирован (напомним, теперь при обращении к Интернету приоритет будет отдаваться именно ему).
Рис. 8. Вуаля! Все работает без малейших усилий с вашей стороны.
Проверка
На сегодня существуют множество ресурсов, позволяющих проверить корректность функционирования IPv6. Самое простое — зайти в любом современном браузере на сайт, заведомо доступный только по IPv6 — к примеру, на ipv6.google.com. Также несложно убедиться в приоритетности нового протокола:
ping www.xbox.com
При этом адрес должен разрешаться именно по IPv6.
На сайте www.kame.net вы должны увидеть «пляшущую» черепашку (в случае использования Teredo она обычно остается неподвижной).
Более подробную диагностику соединения можно выполнить на сайте test-ipv6.com:
Рис. 9. Полная готовность к использованию обоих протоколов.
Наконец, уже имеются и специальные ресурсы для проверки производительности IPv6-соединения, хотя туннелирование вносит слабо предсказуемые флуктуации. Speedtest на ipv6.wcclan.net слишком нестабилен и дает чересчур большой разброс результатов, но среднее значение скорости загрузки в моем случае составляет около 10 Мбит/с:
Рис. 10. К сожалению, адекватно провести тест в Интернете крайне сложно. К примеру, ipv6.wcclan.net как правило показывает для IPv6 пропускную способность, вдвое меньшую, чем она есть в реальности для IPv4.
Примерно такие же результаты и на другом ресурсе — ipv6-test.com/speedtest (скорость по IPv4 соответствует действительности):
Рис. 11. На ipv6-test.com картина похожая, лучший результат, которого удалось добиться в одном из повторов — потеря 25% пропускной способности по сравнению с IPv4. Вероятно, несколько улучшить ситуацию можно, поэкспериментировав с выбором сервера в gogoCLIENT.
Понятно, что потери производительности будут всегда — как минимум, они обусловлены накладными расходами на туннелирование пакетов. Однако значительную роль играют расположение и загрузка туннельного сервера, который можно явно выбирать на вкладке Advanced утилиты gogoCLIENT.
В заключение еще раз обращу внимание читателей на то, что туннелирование является потенциально опасной операцией и ее стоит использовать при включенном локальном брандмауэре, благо IPv6 поддерживают как Windows Firewall, так и многие сторонние продукты.
Практика IPv6 — домашняя сеть / Хабр
Abstract: Рассказ про некоторые возможности IPv6 на примере конфигурации сложной домашней IPv6-сети. Включает в себя описания мультикаста, подробности настройки и отладки router advertisement, stateless DHCP и т.д. Описано для linux-системы. Помимо самой конфигурации мы внимательно обсудим некоторые понятия IPv6 в теоретическом плане, а так же некоторые приёмы при работе с IPv6.
Вполне понятный вопрос: почему я ношусь с IPv6 сейчас, когда от него сейчас нет практически никакой пользы?
Сейчас с IPv6 можно возиться совершенно безопасно, без каких-либо негативных последствий. Можно мирно разбираться в граблях и особенностях, иметь его неработающим месяцами и nobody cares. Я не планирую в свои старшие годы становиться зашоренным коболистом-консерватором, который всю жизнь писал кобол и больше ничего, и все новинки для него «чушь и ерунда». А вот мой досточтимый воображаемый конкурент, когда IPv6 станет продакт-реальностью, будет либо мне не конкурентом, либо мучительно и в состоянии дистресса разбираться с DAD, RA, temporary dynamic addresses и прочими странными вещами, которым посвящено 30+ RFC. А что IPv6 станет основным протоколом ещё при моей жизни — это очевидно, так как альтернатив нет (даже если бы они были, их внедрение — это количество усилий бОльшее, чем завершение внедрения IPv6, то есть любая альтернатива всегда будет отставать). И что адреса таки заканчиваются видно, по тому, как процесс управления ими перешёл во вторую стадию — стадию вторичного рынка. Когда свободные резервы спекуляций и хомячаяния адресов закончится, начнётся этап суровой консолидации — то есть выкидывание всего неважного с адресов, перенос всех «на один адрес» и т.д. Примерно в это время IPv6 начнёт использоваться для реальной работы.
Впрочем, рассказ не про будущее IPv6, а про практику работы с ним. В Санкт-Петербурге есть такой провайдер — Tierа. И я их домашний пользователь. Это один из немногих провайдеров, или, может быть, единственный в городе, кто предоставляет IPv6 домашним пользователям. Пользователю выделяется один IPv6 адрес (для маршрутизатора или компьютера), плюс /64 сетка для всего остального (то есть в четыре миллиарда раз больше адресов, чем всего IPv4 адресов быть может — и всё это в одни руки). Я попробую не просто описать «как настроить IPv6», но разобрать базовые понятия протокола на практических примерах с теоретическими вставками.
Структура сети:
(Оригиналы картинок: github.com/amarao/dia_schemes)
- 1, 2, 3 — устройства в локальной сети, работают по WiFi
- 4 — WiFi-роутер, принужденный к работе в роле access point (bridge), то есть коммутатора между WiFi и LAN
- 5 — eth4 сетевой интерфейс, который раздаёт интернет в локальной сети
- 6 — мой домашний компьютер (основной) — desunote.ru, который раздачей интернета и занимается, то есть работает маршрутизатором
- 7 — eth3, интерфейс подключения к сети Tiera
Я пропущу всю IPv4 часть (ничего интересного — обычный nat) и сконцентрируюсь на IPv6.
Полученные мною настройки от Tiera для IPv6:
- Адрес 2a00:11d8:1201:0:962b:18:e716:fb97/128 мне выдан для компьютера/шлюза
- Сеть 2a00:11d8:1201:32b0::/64 мне выдана для домашних устройств
У провайдера сеть 2a00:11d8:1201:32b0::/64 маршрутизируется через 2a00:11d8:1201:0:962b:18:e716:fb97 (то есть через мой компьютер). Заметим, это всё, что я получил. Никаких шлюзов и т.д. — тут начинается магия IPv6, и самое интересное. «Оно работает само».
Начнём с простого: настройка 2a00:11d8:1201:0:962b:18:e716:fb97 на eth3 для компьютера. Для удобства чтения все конфиги и имена файлов я оставлю на последнюю секцию.
Мы прописываем ipv6 адрес на интерфейсе eth3… И чудо, он начинает работать. Почему? Каким образом компьютер узнал, куда надо слать пакеты дальше? И почему /128 является валидной сетью для ipv6? Ведь /128 означает сеть размером в 1 ip-адрес и не более. Там не может быть шлюза!
Для того, чтобы понять, что происходит, нам надо взглянуть на конфигурацию сети (я вырежу всё лишнее, чтобы не пугать выводом):
# ip address show eth3
(обычно сокращают до ip a s eth3
)
eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 (skip) inet6 2a00:11d8:1201:0:962b:18:e716:fb97/128 scope global valid_lft forever preferred_lft forever inet6 fe80::218:e7ff:fe16:fb97/64 scope link valid_lft forever preferred_lft forever
Упс. А почему у нас на интерфейсе два адреса? Мы же прописывали один? Наш адрес называется ‘scope global’, но есть ещё и ‘scope link’…
Тут нас встречает первая особенность IPv6 — в нём определено понятие ‘scope’ (область видимости) для адреса.
Есть следующие виды scope:
- global — «обычный» адрес, видимый всему Интернету
- local или link-local — адрес, видимый только в пределах сетевого сегмента. Ближайшим аналогом этого является configless IPv4 из диапазона 169.254.0.0/16, на который сваливается любая windows, которой сказали автоматически получить адрес, а DHCP-сервера вокруг нет. Эти адреса не могут быть маршрутизируемы (то есть тарфик с них не передаётся дальше своей сети). Подробнее про link-local address (wiki).
- host, он же interface — видимость в пределах хоста. Примерный аналог — loopback адреса для IPv4 (127.0.0.0/8)
- admin-local — в живую не видел, но какая-то промеждуточная стадия
- site-local — видимость в пределах офиса. Аналог серых 192.168.0.0/16, то есть адреса, которые не должны выходить за пределы локальной сети
- organization-local — адреса, которые не выходят за пределы организации.
В процессе проектирования IPv6 вопрос ‘scope’ много и тщательно обсуждался, потому что исходное деление IPv4, даже с последующими дополнениями, явно не соответствовало потребностям реальных конфигураций. Например, если у вас объединяются две организации, в каждой из которых используется сеть 10.0.0.0/8, то вас ждёт множество «приятных» сюрпризов. В IPv6 решили с самого начала сделать множество градаций видимости, что позволило бы более комфортно осуществлять дальнейшие манипуляции.
Из всего этого на практике я видел использование только host/interface, link/local и global. В свете /64 и пусть никто не уйдёт обиженным, специально возиться с site-local адресами будет только параноик.
Второй важной особенностью IPv6 является официальное (на всех уровнях спецификаций) признание того, что у интерфейса может быть несколько IP-адресов. Этот вопрос в IPv4 был крайне запутан и часто приводил к ужасным последствиям (например, запрос получали на один интерфейс, а отвечали на него через другой, но с адресом первого интерфейса).
Так как в отличие от IPv4 у IPv6 может быть несколько адресов на интефрейсе, то компьютеру не нужно выбирать «какой адрес взять». Он может брать несколько адресов. В случае IPv4 сваливание на link-local адрес происходило в режиме «последней надежды», то есть по большому таймауту.
А в IPv6 мы можем легко и просто с самого первого момента, как интерфейс поднялся, сделать ему link local (и уже после этого думать о том, какие там global адреса есть).
Более того, в IPv6 есть специальная технология автоматической генерации link-local адреса, которая гарантирует отсутствие дублей. Она использует MAC-адрес компьютера для генерации второй (младшей) половинки адреса. Поскольку MAC-адреса уникальны хотя бы в пределах сегмента (иначе L2 сломан и всё прочее автоматически не работает), то использование MAC-адреса даёт нам 100% уверенность в том, что наш IPv6 адрес уникален.
В нашем случае это inet6 fe80::218:e7ff:fe16:fb97/64 scope link
. Обратите внимание на префикс — fe80 — это link-local адреса.
Как он делается?
Принцип довольно простой:
MAC-адрес eth3 — это 00:18:e7:16:fb:97, а локальный адрес ipv6 — F80:000218:e7ff:fe16:fb97. Да-да, именно так, как выделено жирным. Зачем было в середину всобачивать ff:fe — не знаю. Сам алгоритм называется modified EUI-64. Сам этот алгоритм очень мотивирован и полон деталей. С позиции системного администратора — пофигу. Адрес есть и есть. Интересным может быть, наверное, обратный алгоритм — из link-local узнать MAC и не более.
Итак, у нас на интерфейсе два адреса. Мы даже знаем, как появились они оба (один автоматически при подъёме интерфейса, второй прописали мы). Мы даже знаем, как система поняла, что адрес глобальный — он из «global» диапазона.
Но каким образом система узнала про то, кто его шлюз по умолчанию? И как вообще может жить /128?
Посмотрим на таблицу маршрутизации:
ip -6 route show
(обычно сокращают до ip -6 r s
, или даже ip -6 r
):
2a00:11d8:1201:0:962b:18:e716:fb97 dev eth3 proto kernel metric 256 fe80::/64 dev eth3 proto kernel metric 256 default via fe80::768e:f8ff:fe93:21f0 dev eth3 proto ra metric 1024 expires 1779sec
Что мы тут видим? Первое — говорит нам, что наш IPv6 адрес — это адрес нашего интерфейса eth3. Второе говорит, что у нас есть link-local сегмент в eth3. У обоих источник — это kernel.
А вот третье — это интрига. Это шлюз по умолчанию, который говорит, что весь трафик надо отправлять на fe80::768e:f8ff:fe93:21f0 на интерфейсе eth3, и источником информации о нём является некое «ra», а ещё сказано, что оно протухает через 1779 секунд.
Что? Где? Куда? Кто? За что? Почему? Зачем? Кто виноват?
Но перед ответом на эти вопросы нам придётся познакомиться с ещё одной важной вещью — multicast. В IPv4 muticast был этакой технологией «не от мира сего». Есть, но редко используется в строго ограниченных случаях. В IPv6 эта технология — центральная часть всего и вся. IPv6 не сможет работать без мультикаста. И без понимания этого многие вещи в IPv6 будут казаться странными или ломаться в неожиданных местах.
Кратко о типах трафика, возможно кто-то пропустил эту информацию, когда изучал IPv4:
- unicast — пакет адресуется конкретному получателю. Обычный трафик идёт юникастом.
- broadcast — пакет адресуется всем, кто его слышит. Например, в IPv4 так рассылается запрос о mac-адресе для данного IP-адреса.
- multicast — пакет адресуется некоторому множеству узлов, которые слушают специальный multicast-адрес. И если получают сообщение, то реагируют на него.
- anycast — пакет адресуется на адрес, общий для кучи узлов. Кто к запрашивающему ближе (и готов ответить) — тот и отвечает
Так вот, в IPv6 НЕТ БРОДКАСТОВ. Вообще. Вместо них есть мультикаст. И некоторые из мультикаст-адресов являются ключевыми для работы IPv6.
Вот примеры таких адресов (они все link-local, то есть имеют смысл только в контексте конкретного интерфейса):
- FF02::1 — все узлы сети. Считайте, старинный бродкаст канального уровня.
- FF02::2 — все маршрутизаторы сети
Полный список адресов, вместе с нюансами link-local, site-local, etc, можно посмотреть тут: www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml
В практическом смысле это означает, что мы можем отправить бродкаст пинг всем узлам, или всем маршрутизаторам. Правда, нам для этого придётся указать имя интерфейса, в отношении которого мы интересуемся cоседями.
ping6 -I eth3 FF02::2
64 bytes from fe80::218:e7ff:fe16:fb97: icmp_seq=1 ttl=64 time=0.039 ms 64 bytes from fe80::768e:f8ff:fe93:21f0: icmp_seq=1 ttl=64 time=0.239 ms (DUP!) 64 bytes from fe80::211:2fff:fe23:5763: icmp_seq=1 ttl=64 time=1.38 ms (DUP!) 64 bytes from fe80::5a6d:8fff:fef5:6235: icmp_seq=1 ttl=64 time=5.68 ms (DUP!) 64 bytes from fe80::cad7:19ff:fed5:25b8: icmp_seq=1 ttl=64 time=7.20 ms (DUP!) 64 bytes from fe80::22aa:4bff:fe1e:9e88: icmp_seq=1 ttl=64 time=8.19 ms (DUP!) 64 bytes from fe80::5a6d:8fff:fe4a:c643: icmp_seq=1 ttl=64 time=8.69 ms (DUP!) 64 bytes from fe80::205:9aff:fe3c:7800: icmp_seq=1 ttl=64 time=11.1 ms (DUP!) 64 bytes from fe80::20c:42ff:fef9:807a: icmp_seq=1 ttl=64 time=16.0 ms (DUP!)
Сколько маршрутизаторов вокруг меня… Первым откликнулся мой компьютер. Это потому, что он тоже роутер. Но вопрос маршрутизации мы рассмотрим чуть позже. Пока что важно, что мы видим все роутеры и только роутеры (а, например, ping6 -I eth3 FF002::1
показывает порядка 60 соседей).
Мультикаст-групп (группой называют все узлы, которые слушают данный мультикаст-адрес) много. Среди них — специальная группа FF02::6A с названием «All-Snoopers». Именно этой группе и рассылаются routing advertisements. Когда мы хотим их получать — мы вступаем в соответствующую группу. Точнее не мы, а наш компьютер.
В IPv6 придумали такую замечательную вещь — когда маршрутизатор рассылает всем желающим информацию о том, что он маршрутизатор. Рассылает периодически.
В отношении этого вопроса есть целый (всего один, что удивительно) RFC: tools.ietf.org/html/rfc4286, но нас интересует из всего этого простая вещь: маршрутизатор рассылает информацию о том, что он маршрутизатор. И, может быть, чуть-чуть ещё информации о том, что в сети происходит.
Вот откуда наш компьютер узнал маршрут. Некий маршрутизатор сказал ему «я маршрутизатор». И мы ему поверили. Почему мы выбрали именно его среди всех окружающих маршруштизаторов (см ответ на пинг на FF02::2 выше) мы обсудим чуть дальше. Пока что скажем, что этот «настоящий» маршрутизатор правильно себя анонсировал.
Таким образом, происходит следующая вещь:
У нас адрес 2a00:11d8:1201:0:962b:18:e716:fb97/128, и ещё есть link-local. Мы слышим мультикаст от роутера, верим ему, и добавляем в таблицу маршрутизации нужный нам адрес как default. С этого момента мы точно знаем, что адрес в сети. Таким образом, отправка трафика в интернет больше не проблема. Мы генерируем пакет с src=2a00:11d8:1201:0:962b:18:e716:fb97 и отправляем его на шлюз по умолчанию, который в нашем случае — fe80::768e:f8ff:fe93:21f0. Другими словами, мы отправляем трафик не своему «шлюзу» в сети, а совсем другому узлу совсем по другому маршруту. Вполне нормальная вещь как для IPv6, так и для IPv4, правда, для IPv4 это некая супер-крутая конфигурация, а для IPv6 — часть бытовой повседневности.
Но как трафик приходит обратно? Очень просто. Когда маршрутизатор провайдера получает пакет, адресованный 2a00:11d8:1201:0:962b:18:e716:fb97, то у него на одном из интерфейсов написано, что он там 2a00:11d8:1201::/64 via (я не знаю, как там называется интерфейс, но пусть) GE1/44/12. Маршрутизатор спрашивает всех соседей (neighbor discovery) об их адресах, и внезапно видит, что адрес такой-то в сети. Что может быть проще — мак есть, адрес есть, отправляем в интерфейс. Ура, наш компьютер видит трафик. Двусторонняя связь установлена.
Въедливый читатель может спросить несколько вопросов: что значит «написано на интерфейсе»? И что значит «neighbor discovery»?
Вопросы справедливые. Для начала попробуем выяснить, какие узлы у нас есть в сети из подсети 2a00:11d8:1201::/64
Для того, чтобы посмотреть router advertisement на интерфейсе нам поднадобится программа radvdump из пакета radvd. Она позволяет печатать анонсы, проходящие на интерфейсах, в человеческом виде. Заметим, сам пакет radvd нам ещё пригодится (так как его демон — radvd позволяет настроить анонсирование со своих интерфейсах).
Итак, посмотрим, что аносирует нам Tiera:
radvdump eth3
(и подождать прилично, ибо анонсы не очень часто рассылаются)
# # radvd configuration generated by radvdump 1.9.1 # based on Router Advertisement from fe80::768e:f8ff:fe93:21f0 # received by interface eth3 # interface eth3 { AdvSendAdvert on; # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump AdvManagedFlag on; AdvOtherConfigFlag on; AdvReachableTime 0; AdvRetransTimer 0; AdvCurHopLimit 64; AdvDefaultLifetime 1800; AdvHomeAgentFlag off; AdvDefaultPreference medium; AdvSourceLLAddress on; AdvLinkMTU 9216; prefix 2a00:11d8:1201::/64 { AdvValidLifetime 2592000; AdvPreferredLifetime 604800; AdvOnLink on; AdvAutonomous on; AdvRouterAddr off; }; # End of prefix definition }; # End of interface definition
Из всего этого важным является:
- Адрес, с которого получен анонс (в нашем случае fe80::768e:f8ff:fe93:21f0) — это и есть адрес шлюза.
- Указание на сетевой сегмент, в котором можно автоконфигурировать себе адреса
- Флаг AdvAutonomous on, указывающий, что этот анонс имеет смысл. Если бы флаг был off, то его бы можно было смело игнорировать.
Таким образом всё просто — адрес мы указали, маршрутизатор нам «себя» прислал, ядро маршрут обновило. Вуаля, у нас IPv6 на компьютере заработал.
Получить IPv6 адрес для компьютера — этого маловато будет. Хочется так, чтобы каждое мобильное устройство сидело не за позорным NAT’ом, а голой задницей с белым адресом в Интернете. Желательно ещё при этом так, чтобы злые NSA/google не могли по хвостику моего адреса (в котором закодирован MAC) отслеживать мои перемещения между разными IPv6-сетями (хотя в условиях установленного play services эта параноидальность выглядит наивной и беззащитной).
Но, в любом случае, у нас задача раздать интернет дальше.
Tiera, выдавая мне ipv6, настроила у себя маршрут: 2a00:11d8:1201:32b0::/64 via 2a00:11d8:1201:0:962b:18:e716:fb97
.
Так как fb97 уже является адресом моего компьютера, настройка машрутизации плёвое дело:
sysctl net.ipv6.conf.all.forwarding=1
… и у нас через пол-часика полностью отваливается IPv6 на компьютере? Почему? Кто виноват?
Оказывается, линукс не слушает routing advertisement, если сам является маршрутизатором. Что, в общем случае, правильно, потому что если два маршрутизатора будут объявлять себя маршрутизаторами и слушать маршруты друг друга, то мы быстро получим простейшую петлю из двух зацикленных друг на друга железных болванов.
Однако, в нашем случае мы всё-таки хотим слушать RA. Для этого нам надо включить RA силком.
Это делается так:
sysctl net.ipv6.conf.eth3.accept_ra=2
Заметим, важно, что мы слушаем RA не всюду, а только на одном интерфейсе, с которого ожидаем анонсы.
Теперь маршрутизация работает, маршрут получается автоматически, и можно на каждом мобильном устройстве вручную прописать IPv6 адрес и вручную указать IPv6 шлюз, и вручную прописать IPv6 DNS, и вручную… э… слишком много вручную.
Если мне выдали настройки автоматом, то я так же хочу раздавать их дальше автоматом. Благо, dhcpd отлично справляется с аналогичной задачей для IPv4.
Прелесть IPv6 в том, что мы можем решить эту задачу (раздачу сетевых настроек) без каких-либо специальных сервисов и в так называемом stateless режиме. Главная особенность stateless режима состоит в том, что никто не должен напрягаться и что-то сохранять, помнить и т.д. Проблемы с DHCP в IPv4 чаще всего вызывались тем, что один и тот же адрес выдавали двум разным устройствам. А происходило это из-за того, что злой админ стирал/забывал базу данных уже выданных аренд. А ещё, если железок много и они забывают «отдать аренду», то адреса заканчиваются. Другими словами, stateful — это дополнительные требования и проблемы.
Для решения тривиальной задачи «раздать адреса» в IPv6 придумали stateless режим, который основывается на routing advertisement. Клиентскую часть мы уже видели, теперь осталось реализовать серверную, дабы накормить IPv6 планшетик.
Для настройки анонсов используется специальная программа-демон — radvd. С утилитой из её комплекта (radvdump) мы познакомились чуть выше. Прелесть утилиты в том, что она выводит не просто полученные данные, а готовый конфиг radvd для рассылки аналогичных анонсов.
Итак, настраиваем radvd:
interface eth4 { AdvSendAdvert on; AdvHomeAgentFlag off; MinRtrAdvInterval 30; MaxRtrAdvInterval 100; prefix 2a00:11d8:1201:32b0::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; };
Главное тут — префикс и указание на AdvAutonomous.
Запускаем демона, берём ближайший ноутбук (обычная бытовая убунта с обычным бытовым network-manager’ом), рррраз, и получаем…
ip a show wlan0 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 10:0b:a9:bd:26:a8 brd ff:ff:ff:ff:ff:ff inet 10.13.77.167/24 brd 10.13.77.255 scope global wlan0 valid_lft forever preferred_lft forever inet6 2a00:11d8:1201:32b0:69b9:8925:13d9:a879/64 scope global temporary dynamic valid_lft 86339sec preferred_lft 14339sec inet6 2a00:11d8:1201:32b0:120b:a9ff:febd:26a8/64 scope global dynamic valid_lft 86339sec preferred_lft 14339sec inet6 fe80::120b:a9ff:febd:26a8/64 scope link valid_lft forever preferred_lft forever
Откуда у нас столько ipv6 мы поговорим в следующем разделе, а пока что отметим, что адреса сконфигурировались автоматически. И маршруты у нас такие:
ip -6 r 2a00:11d8:1201:32b0::/64 dev wlan0 proto kernel metric 256 expires 86215sec fe80::/64 dev wlan0 proto kernel metric 256 default via fe80::5ed9:98ff:fef5:68bf dev wlan0 proto ra metric 1024 expires 115sec
Надеюсь, читатель уже вполне понимает, что происходит. Однако… Чего-то не хватает. У нас нет dns-resolver’а. Точнее есть, но выданный dhcpd по IPv4. А у нас пятиминутка любви к IPv6, так то ресолвер нам тоже нужен IPv6.
Тяжело расчехляя aptitude ставим dhcpv6 и прописываем опции nameserver Как бы не так!
К счастью, IPv6 очень долго продумывался и совершенствовался. Так что мы можем решить проблему без участия DHCP-сервера. Для этого нам надо добавить к анонсу маршрута ещё указание на адреса DNS-серверов.
Описывается вся эта примудрость в RFC 6106. По сути — у нас есть возможность указать адрес рекурсивного DNS-сервера (то есть «обычного ресолвера») в анонсе, распространяемом маршрутизатором.
По большому счёту это всё, что мы хотим от DHCP, так что DHCP там тут не нужен. Компьютеры сами делают себе адреса непротиворечивым образом (то есть для исключения коллизий), знают адреса DNS-серверов. Интернетом можно пользоваться.
Для этого мы дописываем в конфиг radvd соответствующую опцию:
RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 { };
(полный конфиг — см. в конце статьи).
Пробуем подключиться снова — и, ура, всё работает.
ping6 google.com PING google.com(lb-in-x66.1e100.net) 56 data bytes 64 bytes from lb-in-x66.1e100.net: icmp_seq=1 ttl=54 time=25.3 ms ^C --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 25.312/25.312/25.312/0.000 ms
google.com выбран был не случайно. Сервисы гугля (в немалой степени youtube) — это едва ли не основной источник IPv6 трафика в настоящий момент. Второй источник — торренты, где можно увидеть аж 5-10% пиров в IPv6 варианте.
На этом рассказ можно было закончить, если бы не ещё одна важная деталь — что за третий IPv6-адрес на интерфейсе ноутбука? И что это за temporary dynamic?
Как я уже упомянул выше, автоматическое конфигурирование IPv6-адреса на основе MAC-адреса сетевого адаптера хорошо всем, кроме того, что создаёт практически идеальное средство для отслеживания пользователей в сети. Вы можете брать любые браузеры и операционные системы, использовать любых провайдеров (использующих IPv6, так что это всё пишется с прицелом на будущее) — но у вас будет один и тот же MAC-адрес, и любой гугуль, NSA или просто спамер смогут вас отслеживать по младшим битам вашего IPv6 адреса. Старшие будут меняться в зависимости от провайдера, а младшие сохраняться как есть.
Для решения этой проблемы были придуманы специальные расширения для IPv6, называющиеся privacy extensions (RFC 4941). Как любое RFC, его чтение — это обычно признак отчаяния, так что по сути этот стандарт описывает как с помощью шаманства и md5 генерировать случайные автоконфигурируемые адреса.
Как это работает?
Хост, в нашем случае обычная убунта на обычном ноутбуке, генерирует штатным образом IPv6 адрес из анонса маршрутизатора. После этого она придумывает себе другой адрес, проверяет, что этот адрес не является зарезервированным (например, нам так повезло, и md5 хеш сгенерировал нам все нули — вместо того, чтобы трубить об этом на всех углах, этот изумительный md5 хеш будет выкинут и вместо него будет взят следующий), и, главное, проверяет, что такого адреса в сети нет. Для этого используется штатный механизм DAD (см ниже). Если всё ок, то на интерфейс назначается новосгенерированный случайный адрес, и именно он используется для общения с узлами Интернета. Хотя наш ноутбук с тем же успехом ответит на пинг и по основному адресу.
Этот адрес периодически меняется и он же меняется при подключении к другим IPv6-сетям (и много вы таких знаете в городе?.. вздох). В любом случае, даже если мы намертво обсыпаны куками и отпечатками всех браузеров, всё-таки маленький кусочек сохраняемой приватности — это лучше, чем не сохраняемый кусочек.
Последняя практически важная фича IPv6 — это DAD. Во времена IPv4 на вопрос «а что делать, если адрес, назначаемый на хост, уже кем-то используется в сети» отвечали «а вы не используйте адреса повторно и всё будет хорошо».
На самом деле все вендоры реализовывали свою версию защиты от повторяющегося адреса, но работало это плохо. В частности, линукс пишет о конфликте IPv4 адресов в dmesg, Windows — в syslog… Event… Короче, забыл. В собственную версию журнала и показывает жёлтенко-тревожненький попапик в трее, мол, бида-бида. Однако, это не мешает использовать дублирующийся адрес, если он назначен статикой, и приводит к головоломным проблемам в районе ARP и времени его протухания (выглядит это так: с одного компьютера по сети по заданному адресу отвечает сервер, а с другого, по тому же адресу, допустим, залётный ноутбук, и они ролями периодически меняются).
Многие DHCP-сервера (циски, например), даже имели специальную опцию «проверять пингом» перед выдачей адреса.
Но всё это были доморощенные костыли для подпирания «а вы не нажимайте, больно и не будет».
В IPv6 проблему решили куда более изящно. При назначении IPv6 адреса запускается прописаный в RFC алгоритм (то есть выполняемый всеми, а не только premium grade enterprise ready cost saving proprietary solution за -цать тысяч). Этот алгоритм называется Optimistic DAD (RFC 4429), и его суть сводится к простому: кто первый встал, того и тапки. Включая прилагающийся IPv6 адрес.
Сам DAD работает отлично, но у него есть мааааленькая подлость, с которой я как-то столкнулся. Если (дополнительный) адрес на интерфейс вешать простым ip -6 address add
, то ip отработает раньше, чем закончится DAD. Так что если этот адрес используется дальше в скрипте или конфигах автостартующих демонов, то демоны могут отвалиться по причине «нет такого адреса» — линукс не экспортирует в список доступных для приложений те адреса, про которые нет уверенности, что их можно использовать.
Эту часть большинство пропустит не читая, ну, такова судьба конфигов — быть писанными, но не читанными.
/etc/network/interfaces:
auto lo eth3 eth4 iface lo inet loopback allow-hotplug eth3 eth4 iface eth3 inet static address 95.161.2.76 netmask 255.255.255.0 gateway 95.161.2.1 dns-nameservers 127.0.0.1 #У меня локальный ресолвер на базе bind'а iface eth3 inet6 static address 2a00:11d8:1201:0:962b:18:e716:fb97/128 dns-nameservers ::1 iface eth4 inet static address 10.13.77.1 netmask 255.255.255.0 iface eth4 inet6 static address 2a00:11d8:1201:32b0::1/64
/etc/sysctl.d/ra2.conf
net.ipv6.conf.eth3.accept_ra=2
/etc/sysctl.d/ip_forwarding.conf
net.ipv4.conf.all.forwarding = 1 net.ipv6.conf.all.forwarding = 1
/etc/radvd.conf
interface eth4 { AdvSendAdvert on; AdvHomeAgentFlag off; MinRtrAdvInterval 30; MaxRtrAdvInterval 100; prefix 2a00:11d8:1201:32b0::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 { }; };
/etc/dhcp/dhcpd.conf
ddns-update-style none; option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 10.13.77.0 netmask 255.255.255.0 { range 10.13.77.160 10.13.77.199; option routers 10.13.77.1; option domain-name-servers 10.13.77.1; }
У меня обычный домашний компьютер. Чуть-чуть raid, LVM XFS, BTRFS, LUCKS, свой почтовый и веб-сервера, dns-сервер и т.д. Я подключен к обычному домашнему провайдеру с IPv6.
Вот статистика использования интернета за четыре дня. Собиралась она простым способом:
iptables -t filter -A INPUT ip6tables -t filter -A INPUT (смотреть счётчики - iptables -L -v, и ip6tables -L -v)
И вот какая она получилась:
- 4.5% (2.7 Гб) IPv6
- 95.5% (59 Гб) — представители прочих, устаревающих, версий IP
Таким образом, IPv6 занимает второе место по распространённости в Интернете (если Майкрософту с виндофонами так желтить можно, почему мне нельзя?).
Если серьёзно, то столь значительные достижения IPv6 (только представьте себе — почти гигабайт трафика в день) большей частью объясняются ютубом и прочими сервисами гугла. Ещё небольшую долю IPv6 принёс пиринг, причём там львиная доля людей — это всякие туннели и teredo (то есть ненастоящие IPv6, использующиеся от безысходности).
С другой стороны, этот показатель почти в три раза больше моего прошлого замера (полтора года назад), когда доля IPv6 едва-едва переваливала за полтора процента.
Десктопные линуксы, понятно, IPv6 поддерживают и используют.
Андроиды (4+) тоже умеют и используют. Пока что найдена только одна забавная бага, это неответ на пинги по IPv6 (но ответ по IPv4) в deep sleep режимах.
Насколько я знаю, IOS’ы IPv6 поддерживают и используют.
Типы и формат адресов IPv6 с примерами
В этом руководстве подробно объясняется терминология IPv6-адресов, таких как узел, маршрутизатор, хост, ссылка и сеть, включая типы IPv6-адреса, такие как произвольный адрес, многоадресный адрес, одноадресный адрес, локальный адрес ссылки, локальный адрес сайта, адрес обратной связи, IPv4-совместимый адрес. .
Терминология IPv6-адреса
Узел
Любое устройство, на котором работает IPv6. Сюда входят маршрутизаторы и хосты.
Маршрутизатор
Узел, который может пересылать пакеты IPv6, которые явно не адресованы ему. В сети IPv6 маршрутизатор также обычно сообщает о своем присутствии и информацию о конфигурации хоста.
Хост
Узел, который не может пересылать пакеты IPv6, явно не адресованные ему (не маршрутизатор). Хост обычно является источником и получателем трафика IPv6, и он молча отбрасывает полученный трафик, который явно не адресован ему.
Протокол верхнего уровня
Протокол выше IPv6, использующий IPv6 в качестве транспорта.Примеры включают протоколы уровня Интернета, такие как ICMPv6, и протоколы транспортного уровня, такие как TCP и UDP (но не протоколы уровня приложений, такие как FTP и DNS, которые используют TCP и UDP в качестве транспорта).
Ссылка
Набор сетевых интерфейсов, которые ограничены маршрутизаторами и используют один и тот же 64-битный префикс одноадресного адреса IPv6. Другие термины для «ссылки» — это подсеть и сегмент сети.
Сеть
Две или более подсети, соединенные маршрутизаторами. Другой термин для обозначения сети — это объединенные сети.
Соседи
Узлы подключены к одному каналу. Соседи в IPv6 имеют особое значение из-за обнаружения соседей IPv6, которое имеет средства для разрешения адресов соседнего канального уровня, а также для обнаружения и отслеживания возможности доступа соседей.
Интерфейс
Представление физического или логического подключения узла к ссылке. Примером физического интерфейса является сетевой адаптер. Примером логического интерфейса является «туннельный» интерфейс, который используется для отправки пакетов IPv6 по сети IPv4 путем инкапсуляции пакета IPv6 внутри заголовка IPv4.
Адрес
Идентификатор, который может использоваться в качестве источника или назначения пакетов IPv6, который назначается на уровне IPv6 интерфейсу или набору интерфейсов.
Пакет
Блок данных протокола (PDU), который существует на уровне IPv6 и состоит из заголовка IPv6 и полезной нагрузки.
Ссылка
MTU Максимальный блок передачи (MTU) — количество байтов в самом большом пакете IPv6, который может быть отправлен по каналу. Поскольку максимальный размер кадра включает в себя заголовки и концы среды канального уровня, MTU канала не совпадает с максимальным размером кадра канала.MTU канала равен максимальному размеру полезной нагрузки технологии канального уровня. Например, для Ethernet, использующего инкапсуляцию Ethernet II, максимальный размер полезной нагрузки кадра Ethernet составляет 1500 байтов. Следовательно, MTU канала составляет 1500. Для канала с несколькими технологиями канального уровня (например, мостовой канал) MTU канала является наименьшим MTU канала из всех технологий канального уровня, присутствующих в канале.
Путь
MTU Пакет IPv6 максимального размера, который может быть отправлен без выполнения фрагментации хоста между источником и местом назначения по пути в сети IPv6.MTU пути обычно является наименьшим MTU канала из всех каналов пути.
Формат IPv6-адреса
В то время как IPv4-адреса используют десятичный формат с точками, где каждый байт находится в диапазоне от 0 до 255.
IPv6-адреса используют восемь наборов из четырех шестнадцатеричных адресов (16 бит в каждом наборе), разделенных двоеточием. (:) ,
как это: xxxx: xxxx: xxxx: xxxx: xxxx: xxxx: xxxx: xxxx (x будет шестнадцатеричным значением). Это обозначение обычно называют строковым.
Шестнадцатеричные значения могут отображаться в нижнем или верхнем регистре для чисел A – F.
Начальный ноль в наборе чисел можно опустить;
, например, вы можете ввести 0012 или 12 в одно из восьми полей — оба правильные.
Если у вас есть последовательные поля нулей в адресе IPv6, вы можете представить их как два двоеточия (: :). Например, 0: 0: 0: 0: 0: 0: 0: 5 можно представить как :: 5 ; и ABC: 567: 0: 0: 8888: 9999: 1111: 0 может быть представлено как ABC: 567 :: 8888: 9999: 1111: 0 . Однако вы можете сделать это только один раз в адресе: ABC :: 567 :: 891 :: 00 будет недопустимым, поскольку :: встречается в адресе более одного раза.Причина этого ограничения заключается в том, что если бы у вас было два или более повторения, вы не знали бы, сколько наборов нулей было пропущено в каждой части.
Неуказанный адрес представлен как :: , поскольку он содержит все нули.
Типы адресов IPv6
Anycast
Anycast-адрес идентифицирует один или несколько интерфейсов. Обратите внимание, что термин устройство не используется, поскольку устройство может иметь более одного интерфейса. Иногда люди используют термин узел для обозначения интерфейса на устройстве.По сути, anycast — это гибрид одноадресного и многоадресного адреса.
- При одноадресной передаче один пакет отправляется одному адресату;
- При многоадресной рассылке один пакет отправляется всем членам многоадресной группы;
- При использовании произвольной рассылки пакет отправляется любому члену группы устройств, для которых настроен произвольный адрес. По умолчанию пакеты, отправленные на произвольный адрес, пересылаются на интерфейс (узел), который основан на процессе маршрутизации, используемом для доставки пакета к месту назначения.При таком процессе произвольные адреса обычно называются адресами типа «один к ближайшему».
Многоадресная передача
- Представляют группу интерфейсов, заинтересованных в получении одного и того же трафика.
- Первые 8 бит установлены на FF.
- Следующие 4 бита — время жизни адреса: 0 — постоянный, 1 — временный.
- Следующие 4 бита указывают объем многоадресного адреса (как далеко может перемещаться пакет):
1 — для узла, 2 — для ссылки, 5 — для сайта, 8 — для организации,
и E — глобальный (Интернет).
Например, многоадресный адрес, который начинается с FF02 :: / 16 , является постоянным адресом ссылки , тогда как адрес FF15 :: / 16 является временным адресом для сайта. .
Одноадресная
Одноадресные IPv6-адреса
Одноадресные IPv6-адреса являются следующими типами адресов:
- Глобальные одноадресные адреса
- Локальные адреса ссылки
- Адреса локальной сети
- Уникальные локальные адреса
- Специальные адреса
- Адреса перехода
Глобальные одноадресные адреса
глобальных адресов IPv6 эквивалентны общедоступным адресам IPv4.Они имеют глобальную маршрутизацию и достижимы в Интернете IPv6. Глобальные одноадресные адреса предназначены для агрегирования или суммирования для создания эффективной инфраструктуры маршрутизации. В отличие от нынешнего Интернета на основе IPv4, который представляет собой смесь как плоской, так и иерархической маршрутизации, Интернет на основе IPv6 изначально разрабатывался для поддержки эффективной иерархической адресации и маршрутизации. Объем глобального адреса — это весь Интернет IPv6. RFC 4291 определяет глобальные адреса как все адреса, которые не являются неуказанными, кольцевыми, одноадресными или многоадресными адресами локального канала.Однако на рисунке показана структура глобальных одноадресных адресов, определенных в RFC 3587, которые в настоящее время используются в IPv6 Internet.
Структура глобальных адресов одноадресной рассылки, определенная в RFC 3587 Поля глобального адреса одноадресной рассылки описаны в следующем списке:
- Фиксированная часть установлена на 001, три старших бита установлены на 001.
- Префикс глобальной маршрутизации Указывает префикс глобальной маршрутизации для сайта конкретной организации. Комбинация трех фиксированных битов и 45-битного префикса глобальной маршрутизации используется для создания 48-битного префикса сайта, который назначается отдельному сайту организации.Сайт — это автономно работающая IP-сеть, подключенная к Интернету по протоколу IPv6. Сетевые архитекторы и администраторы на сайте определяют план адресации и политику маршрутизации для сети организации. После назначения маршрутизаторы в Интернете IPv6 пересылают трафик IPv6, соответствующий 48-битному префиксу, на маршрутизаторы сайта организации.
- ID подсети ID подсети используется на сайте организации для идентификации подсетей на сайте. Размер этого поля — 16 бит.Сайт организации может использовать эти 16 бит на своем сайте для создания 65 536 подсетей или нескольких уровней иерархии адресации и эффективной инфраструктуры маршрутизации. Благодаря 16-битной гибкости подсети глобальный одноадресный префикс, назначенный сайту организации, эквивалентен префиксу общедоступного адреса IPv4 класса A (при условии, что последний октет используется для идентификации узлов в подсетях). Структура маршрутизации сети организации не видна интернет-провайдеру.
- Идентификатор интерфейса Указывает интерфейс в определенной подсети на сайте.Размер этого поля — 64 бита. Идентификатор интерфейса в IPv6 эквивалентен идентификатору узла или идентификатору хоста в IPv4.
Локальные одноадресные адреса
Адреса одноадресной рассылки для локального использования не имеют глобальной области действия и могут использоваться повторно. Существует два типа локальных одноадресных адресов:
- Адреса локального канала используются между соседями по каналу и для процессов обнаружения соседей.
- Локальные адреса сайта используются между узлами, взаимодействующими с другими узлами в той же организации.
Локальные адреса каналов с FE8 :: по FEB ::
Адреса с локальной связью — это новая концепция IPv6. Эти типы адресов имеют меньшую область действия в отношении того, как далеко они могут перемещаться: только локальная ссылка (ссылка уровня канала данных). Маршрутизаторы будут обрабатывать пакеты, предназначенные для локального адреса канала, но не будут пересылать их по другим каналам. Чаще всего они используются для получения устройством одноадресной информации о локальной или глобальной одноадресной адресации, обнаружении шлюза по умолчанию и обнаружении других соседей уровня 2 в сегменте.Локальные адреса канала IPv6, идентифицируемые по начальным 10 битам, установленным на 1111 1110 10, а следующим 54 битам, установленным на 0, используются узлами при обмене данными с соседними узлами на том же канале. Например, в одноканальной сети IPv6 без маршрутизатора для связи между узлами в канале используются локальные адреса канала. Адреса локальной связи IPv6 аналогичны локальным адресам канала IPv4, определенным в RFC 3927, которые используют префикс 169.254.0.0/16. Использование локальных адресов IPv4 известно как автоматическая частная IP-адресация (APIPA) в Windows Vista, Windows Server 2008, Windows Server 2003 и Windows XP.Область локального адреса ссылки — это локальная ссылка. Локальный адрес канала требуется для некоторых процессов обнаружения соседей и всегда настраивается автоматически, даже при отсутствии всех других одноадресных адресов. Адреса локальных каналов всегда начинаются с FE80. При использовании 64-битного идентификатора интерфейса префикс для локальных адресов всегда будет FE80 :: / 64.
Маршрутизатор IPv6 никогда не пересылает локальный трафик канала за пределы канала.
Локальные адреса сайта FEC :: через FFF ::
представляют конкретный сайт или компанию.Эти адреса могут использоваться внутри компании, не тратя впустую общедоступные IP-адреса — не то чтобы это было проблемой, учитывая большое количество адресов, доступных в IPv6. Однако, используя частные адреса, вы можете легко контролировать, кому разрешено покинуть вашу сеть и получить обратно трафик, настроив политики трансляции адресов для IPv6. Локальные адреса сайта, идентифицируемые установкой первых 10 бит на 1111 1110 11, эквивалентны пространству частных адресов IPv4 (10.0.0.0/8, 172.16.0.0 / 12 и 192.168.0.0/16). Например, частные интрасети, которые не имеют прямого маршрутизируемого соединения с Интернетом IPv6, могут использовать локальные адреса сайта без конфликта с глобальными адресами. Адреса локального сайта недоступны с других сайтов, и маршрутизаторы не должны пересылать локальный трафик за пределы сайта. Адреса локальных сайтов могут использоваться в дополнение к глобальным адресам. Область локального адреса сайта — это сайт. В отличие от локальных адресов, локальные адреса сайта не настраиваются автоматически и должны назначаться либо с помощью автоконфигурации адресов без сохранения состояния, либо с сохранением состояния.Первые 10 битов всегда фиксированы для локальных адресов сайта, начиная с FEC0 :: / 10. После 10 фиксированных битов находится 54-битное поле идентификатора подсети, которое содержит 54 бита, с помощью которых вы можете создавать подсети в своей организации. У вас может быть плоская структура подсети, или вы можете разделить старшие биты поля Subnet ID, чтобы создать иерархическую и обобщенную инфраструктуру маршрутизации. После поля Subnet ID находится 64-битное поле Interface ID, которое идентифицирует конкретный интерфейс в подсети. Локальные адреса сайта официально объявлены устаревшими в RFC 3879 для будущих реализаций IPv6.Однако существующие реализации IPv6 могут продолжать использовать локальные адреса сайта.
Идентификаторы зоны для адресов локального использования
В отличие от глобальных адресов, адреса локального использования (локальные для ссылки и локальные адреса сайта) могут использоваться повторно. Адреса локальной ссылки повторно используются для каждой ссылки. Адреса локальных сайтов могут быть повторно использованы на каждом сайте организации. Из-за этой возможности повторного использования адресов адреса локальных ссылок и сайтов неоднозначны. Чтобы указать ссылку, по которой находится пункт назначения, или сайт, в пределах которого находится пункт назначения, необходим дополнительный идентификатор.Этот дополнительный идентификатор является идентификатором зоны (ID), также известным как идентификатор области, который идентифицирует подключенную часть сети, имеющую указанную область. Синтаксис, указанный в RFC 4007 для идентификации зоны, связанной с адресом локального использования, — это идентификатор зоны Address%, в котором Address — это локальный одноадресный IPv6-адрес, а идентификатор зоны — целое число, представляющее зону. Значения идентификатора зоны определяются относительно отправляющего хоста. Следовательно, разные хосты могут определять разные значения идентификатора зоны для одной и той же физической зоны.Например, хост A может выбрать 3 для представления зоны присоединенного канала, а хост B может выбрать 4 для представления той же ссылки.
Уникальные локальные адреса
Адреса локальных сайтов предоставляют частную альтернативу глобальным адресам для трафика интрасети. Однако, поскольку префикс локального адреса сайта может быть повторно использован для адресации нескольких сайтов внутри организации, префикс локального адреса сайта может быть продублирован. Неоднозначность локальных адресов сайтов в организации добавляет сложности и сложности для приложений, маршрутизаторов и сетевых администраторов.
Для замены локальных адресов сайта новым типом адреса, который является частным для организации, но уникальным для всех сайтов организации, RFC 4193 определяет уникальные локальные одноадресные IPv6-адреса. Первые 7 битов имеют фиксированное двоичное значение 1111110. Все локальные адреса имеют адресный префикс FC00 :: / 7. Флаг Local (L) установлен в 1, чтобы указать, что префикс назначен локально. Значение флага L, установленное на 0, не определено в RFC 3879. Следовательно, уникальные локальные адреса в организации с флагом L, установленным на 1, имеют префикс адреса FD00 :: / 8.Глобальный идентификатор идентифицирует конкретный сайт в организации и устанавливается на произвольно полученное 40-битное значение. Получив случайное значение для глобального идентификатора, организация может назначить своим сайтам статистически уникальные 48-битные префиксы. Кроме того, две организации, которые используют уникальные локальные адреса, которые сливаются, имеют низкую вероятность дублирования 48-битного уникального префикса локального адреса, что сводит к минимуму перенумерацию сайтов. В отличие от префикса глобальной маршрутизации в глобальных адресах, глобальные идентификаторы в уникальных префиксах локальных адресов не предназначены для суммирования.Уникальные локальные адреса имеют глобальную область действия, но их доступность определяется топологией маршрутизации и политиками фильтрации на границах Интернета. Организации не будут рекламировать свои уникальные префиксы локальных адресов за пределами своей организации или создавать записи DNS с уникальными локальными адресами в DNS в Интернете. Организации могут легко создавать политики фильтрации на своих границах Интернета, чтобы предотвратить пересылку всего уникального трафика с локальными адресами. Поскольку они имеют глобальную область действия, уникальные локальные адреса не нуждаются в идентификаторе зоны.Глобальный адрес и уникальный локальный адрес имеют одну и ту же структуру за пределами первых 48 бит адреса. В обоих адресах 16-битное поле идентификатора подсети определяет подсеть внутри организации. Благодаря этому вы можете создать инфраструктуру маршрутизации с подсетями, которая будет использоваться как для локальных, так и для глобальных адресов. Например, определенной подсети вашей организации можно назначить как глобальный префикс 2001: DB8: 4D1C: 221A :: / 64, так и локальный префикс FD0E: 2D: BA9: 221A :: / 64, где подсеть определяется для обоих типы префиксов по значению идентификатора подсети 221A.Хотя идентификатор подсети одинаков для обоих префиксов, маршруты для обоих префиксов должны по-прежнему распространяться по всей инфраструктуре маршрутизации, чтобы адреса на основе обоих префиксов были достижимы.
Сводные таблицы адресов IPv6
Адрес | Значение | Описание |
Глобальный | 2000 :: / 3 | Они назначаются IANA и используются в общедоступных сетях.Они эквивалентны глобальным IPv4-адресам (иногда называемым общедоступными). Интернет-провайдеры суммируют их, чтобы обеспечить масштабируемость в Интернете. |
Зарезервировано | (диапазон) | Зарезервированные адреса используются для определенных типов произвольной рассылки, а также для будущего использования. В настоящее время зарезервировано около 1/256 адресного пространства IPv6. |
Частный | FE80 :: / 10 | Как и IPv4, IPv6 поддерживает частную адресацию, которая используется устройствами, которым не требуется доступ к общедоступной сети.Первые две цифры — это FE, а третья цифра может находиться в диапазоне от 8 до F. |
Петля | :: 1 | Как и адрес 127.0.0.1 в IPv4, 0: 0: 0: 0: 0: 0: 0: 1 или :: 1 используется для локальных функций тестирования; В отличие от IPv4, который выделяет полный блок адресов класса A для локального тестирования, в IPv6 используется только один. |
Не указано | :: | 0.0.0.0 в IPv4 означает «неизвестный» адрес. В IPv6 это представлено как 0: 0: 0: 0: 0: 0: 0: 0 или ::, и обычно используется в поле адреса источника пакета, когда интерфейс не имеет адреса и является пытаясь получить один динамически. |
В нашей следующей статье мы поговорим о специальном IPv6-адресе, IPv4-адресе и их эквивалентах IPv6-адресах. А затем мы узнаем, как назначить эти адреса хосту, маршрутизатору и другим устройствам.
Следующие специальные адреса IPv6:
Адрес не указан
Неуказанный адрес (0: 0: 0: 0: 0: 0: 0: 0 или: 🙂 используется только для обозначения отсутствия адреса.Это эквивалентно неуказанному IPv4-адресу 0.0.0.0. Неуказанный адрес обычно используется в качестве адреса источника, если уникальный адрес еще не определен. Неуказанный адрес никогда не назначается интерфейсу и не используется в качестве адреса назначения.
Адрес обратной связи
Адрес обратной связи (0: 0: 0: 0: 0: 0: 0: 1 или :: 1) назначается интерфейсу обратной связи, что позволяет узлу отправлять пакеты самому себе. Он эквивалентен петлевому адресу IPv4 127.0.0.1. Пакеты, адресованные на адрес обратной связи, никогда не должны отправляться по ссылке или пересылаться маршрутизатором IPv6.
Адреса перехода
Чтобы облегчить переход от IPv4 к IPv6 и сосуществование обоих типов хостов, определены следующие адреса:
IPv4-совместимый адрес
IPv4-совместимый адрес, 0: 0: 0: 0: 0: 0: wxyz или :: wxyz (где wxyz — десятичное представление общедоступного IPv4-адреса, разделенное точками), используется узлами IPv6 / IPv4, которые обмениваются данными с IPv6 через инфраструктуру IPv4, которая использует общедоступные адреса IPv4, например Интернет.Адреса, совместимые с IPv4, объявлены устаревшими в RFC 4291 и не поддерживаются в IPv6 для Windows Vista и Windows Server 2008.
IPv4-сопоставленный адрес
Отображенный IPv4-адрес, 0: 0: 0: 0: 0: FFFF: w.x.y.z или :: FFFF: w.x.y.z, используется для представления IPv4-адреса как 128-битного адреса IPv6.
с 6 по 4 адрес
Адрес типа 2002: WWXX: YYZZ: ID подсети: ID интерфейса, где WWXX: YYZZ — шестнадцатеричное представление w.x.y.z в виде двоеточия (общедоступный адрес IPv4), назначается узлу для технологии перехода IPv6 с 6 на 4.
Адрес ISATAP
Адрес типа 64-битного префикса: 0: 5EFE: w.x.y.z, где w.x.y.z — это частный IPv4-адрес, назначается узлу для технологии перехода IPv6 по протоколу автоматической внутрисайтовой адресации туннелей (ISATAP).
Адрес Teredo
Глобальный адрес с префиксом 2001 :: / 32, назначенный узлу для технологии перехода Teredo IPv6. Помимо первых 32 битов, адреса Teredo используются для кодирования IPv4-адреса сервера Teredo, флагов и скрытой версии внешнего адреса клиента Teredo и номера порта UDP.
Адреса IPv4 и соответствующие им IPv6
IPv4-адрес | IPv6-адрес |
Классы интернет-адресов | Не применяется в IPv6 |
Групповые адреса (224.0.0.0/4) | Групповые адреса IPv6 (FF00 :: / 8) |
Адреса вещания | Не применяется в IPv6 |
Неуказанный адрес — 0.0,0.0 | Адрес не указан: |
Адрес обратной связи: 127.0.0.1 | Адрес обратной связи: 1 |
Общедоступные IP-адреса | Агрегатируемые глобальные одноадресные адреса |
частных IP-адресов (10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0 / 16) | Локальные адреса сайта (FEC0 :: / 48) |
адресов APIPA (169.254.0.0/16) | Адреса локальной связи (FE80 :: / 64) |
Текстовое представление: Десятичное представление с точками | Текстовое представление: Шестнадцатеричный формат двоеточия с подавлением начальных нулей и нулевым сжатием.Адреса, совместимые с IPv4, выражаются в десятичном формате с разделительными точками. |
Представление сетевых битов: Маска подсети в десятичном формате с разделительными точками или длина префикса | Представление сетевых битов: Только обозначение длины префикса |
Назначение IPv6-адреса устройствам
IPv6-адресов для хоста
Хост IPv4 с одним сетевым адаптером обычно имеет один IPv4-адрес, назначенный этому адаптеру.Однако хост IPv6 обычно имеет несколько адресов IPv6, назначенных каждому адаптеру. Интерфейсам на типичном хосте IPv6 назначаются следующие одноадресные адреса:
- Локальный адрес канала для каждого интерфейса
- Дополнительные одноадресные адреса для каждого интерфейса (которые могут быть одним или несколькими уникальными локальными или глобальными адресами)
- Адрес обратной связи (:: 1) для интерфейса обратной связи. Типичные узлы IPv6 всегда логически многодомны, потому что у них всегда есть как минимум два адреса, с которыми они могут принимать пакеты: локальный адрес канала для трафика локального канала и уникальный маршрутизируемый локальный или глобальный адрес.Кроме того, каждый интерфейс на хосте IPv6 прослушивает трафик по следующим групповым адресам:
- Адрес многоадресной рассылки для всех узлов локальной области интерфейса (FF01 :: 1)
- Адрес многоадресной рассылки для всех узлов в локальной области (FF02 :: 1)
- Адрес запрошенного узла для каждого назначенного одноадресного адреса
- Многоадресные адреса объединенных групп
IPv6-адреса для маршрутизатора
Интерфейсам на маршрутизаторе IPv6 назначаются следующие одноадресные адреса:
- Локальный адрес канала для каждого интерфейса
- Дополнительные одноадресные адреса для каждого интерфейса (которые могут быть одним или несколькими уникальными локальными или глобальными адресами)
- Адрес обратной связи (:: 1) для интерфейса обратной связи
- Кроме того, интерфейсам маршрутизатора IPv6 назначаются следующие произвольные адреса:
- Anycast-адрес подсети-маршрутизатора для каждой подсети
- Дополнительные произвольные адреса (необязательно)
- Кроме того, интерфейсы маршрутизатора IPv6 прослушивают трафик по следующим групповым адресам:
- Многоадресный адрес для всех узлов в локальной области интерфейса (FF01 :: 1)
- Многоадресный адрес для всех маршрутизаторов, локальный для интерфейса (FF01 :: 2)
- Адрес многоадресной рассылки для всех узлов в локальной области (FF02 :: 1)
- Адрес многоадресной рассылки для всех маршрутизаторов с локальной областью канала (FF02 :: 2)
- Многоадресный адрес для всех маршрутизаторов в локальной области (FF05 :: 2)
- Адрес запрошенного узла для каждого назначенного одноадресного адреса
- Многоадресные адреса объединенных групп
.
Как настроить IPv6-адрес в Windows
В этом руководстве подробно с примерами объясняется, как настроить IPv6-адрес в системе Windows из командной строки, а также из графического интерфейса пользователя, включая процесс автоконфигурации с отслеживанием и без сохранения состояния (Предварительный, Действительный, Предпочтительный, Устаревший и Недействительный).
Автоконфигурация — невероятно полезное решение, поскольку оно позволяет устройствам в сети обращаться к себе с помощью одноадресного локального адреса канала
.
Типы автоконфигурации
Существует три типа автоконфигурации:
- Конфигурация без сохранения состояния адресов и других настроек основывается на получении сообщений Router Advertising.В этих сообщениях флаги конфигурации управляемого адреса и другой конфигурации с отслеживанием состояния установлены на 0, и они включают в себя один или несколько параметров информации о префиксе, для каждого из которых установлен флаг автономности, равный 1.
- Конфигурация с отслеживанием состояния основана на использовании протокола конфигурации адреса, такого как DHCPv6, для получения адресов и других параметров конфигурации. Узел использует автоконфигурацию с отслеживанием состояния, когда он получает сообщение объявления маршрутизатора без параметров информации о префиксе и либо флаг конфигурации управляемого адреса, либо флаг другой конфигурации с отслеживанием состояния установлен в 1.Хост также может использовать автоконфигурацию с отслеживанием состояния, когда на локальном канале нет маршрутизаторов.
- Обе конфигурации основаны на получении сообщений Router Advertisement, которые включают параметры информации о префиксе, каждый из которых имеет автономный флаг, установленный на 1, и флаги конфигурации управляемого адреса или другой конфигурации с отслеживанием состояния, установленные на 1. Для всех типов автоконфигурации, локальный адрес ссылки всегда настраивается автоматически.
Конфигурация с отслеживанием состояния
Клиент обнаруживает маршрутизатор; клиент проверяет рекламные сообщения маршрутизатора, чтобы определить, установлен ли DHCPv6.Если маршрутизатор указывает, что DHCPv6 поддерживается, или сообщения с объявлением маршрутизатора не отображаются, клиент начнет поиск сервера DHCPv6, создав сообщение запроса DHCP. Это сообщение отправляется на многоадресный адрес ALL-DHCP-Agents с использованием локальной области действия, чтобы гарантировать, что сообщение не пересылается по умолчанию за пределы локальной ссылки. Агент — это либо сервер DHCPv6, либо ретранслятор, например маршрутизатор.
Автоконфигурация без сохранения состояния
Автоконфигурация без сохранения состояния — это расширение DHCPv6.клиент использует информацию в рекламных сообщениях маршрутизатора, чтобы настроить IPv6-адрес для интерфейса. Это достигается путем взятия первых 64 бита в адресе источника объявления маршрутизатора (префикса адреса маршрутизатора) и использования процесса EUI-64 для создания 64-битного идентификатора интерфейса. Автоконфигурация без сохранения состояния была разработана в первую очередь для сотовых телефонов, КПК, домашних сетей и оборудования для автоматического назначения адресов без необходимости управления инфраструктурой DHCP-сервера.Обычно маршрутизаторы генерируют периодические рекламные сообщения маршрутизатора (RA), которые клиент может прослушивать, а затем использовать для автоматической генерации своего адреса канала; однако, когда клиент загружается, ожидание RA может занять некоторое время. В этой ситуации клиент сгенерирует сообщение запроса маршрутизатора, предлагая маршрутизатору ответить RA, чтобы клиент мог сгенерировать свой адрес интерфейса.
Два шага к автонастройке IPv6
Автоматически настраиваемые состояния адреса
Адреса с автонастройкой находятся в одном или нескольких из следующих состояний:
- Под вопросом Адрес находится в процессе подтверждения как уникальный.Проверка происходит путем обнаружения повторяющегося адреса. Узел не может получать одноадресный трафик на предварительный адрес. Однако он может принимать и обрабатывать многоадресные сообщения Neighbor Advertising, отправленные в ответ на сообщение Neighbor Solicitation, которое было отправлено во время обнаружения дублирующегося адреса.
- Действителен Адрес может использоваться для отправки и получения одноадресного трафика. Допустимое состояние включает как предпочтительное, так и устаревшее состояния. Сумма времени, в течение которого адрес остается в предварительном, предпочтительном и устаревшем состояниях, определяется полем Valid Lifetime в параметре Prefix Information в сообщении Router Advertising или полем Valid-Lifetime адреса DHCPv6 IA (Identity Association). вариант.
- Предпочтительно Адрес действителен, его уникальность подтверждена, и его можно использовать для неограниченного количества сообщений. Узел может отправлять и получать одноадресный трафик на предпочтительный адрес и обратно. Период времени, в течение которого адрес может оставаться в предварительном и предпочтительном состояниях, определяется полем Preferred Lifetime в параметре Prefix Information в сообщении Router Advertisement или в поле Preferred-Lifetime в параметре DHCPv6 IA Address.
- Устарело Адрес действителен и его уникальность подтверждена, но его использование не рекомендуется для нового обмена данными.Существующие сеансы связи могут по-прежнему использовать устаревший адрес. Узел может отправлять и получать одноадресный трафик на устаревший адрес и обратно.
- Недействительный Адрес больше не может использоваться для отправки или получения одноадресного трафика. Адрес переходит в недопустимое состояние по истечении допустимого времени жизни.
Процесс автоконфигурации
Процесс автоконфигурации адреса, определенный в RFC 4862 для физического интерфейса узла IPv6, выглядит следующим образом:
- Предварительный локальный адрес канала выводится на основе префикса локального канала FE80 :: / 64 и идентификатора интерфейса, производного от EUI-64.
- Используя обнаружение повторяющегося адреса для проверки уникальности предварительного локального адреса канала, отправляется сообщение Neighbor Solicitation с полем целевого адреса, в котором установлен предварительный локальный адрес канала.
- Если получено сообщение Neighbor Advertisement (отправленное в ответ на сообщение Neighbor Solicitation), это означает, что другой узел на локальном канале использует предварительный локальный адрес канала и автоконфигурация адреса прекращается. На этом этапе необходимо выполнить ручную настройку узла.
- Если сообщение Neighbor Advertising (отправленное в ответ на сообщение Neighbor Solicitation) не получено, предполагается, что предварительный локальный адрес канала является уникальным и действительным. Для интерфейса инициализируется локальный адрес ссылки. Многоадресный адрес канального уровня запрошенного адреса узла, соответствующий локальному адресу канала, регистрируется в сетевом адаптере.
Для хоста IPv6 автоконфигурация адреса продолжается следующим образом:
- Хост отправляет сообщение запроса маршрутизатора.В то время как маршрутизаторы периодически отправляют объявления маршрутизатора, хост отправляет сообщение запроса маршрутизатора, чтобы запросить немедленное объявление маршрутизатора, вместо того, чтобы ждать следующего объявления маршрутизатора. По умолчанию отправляется до трех сообщений с запросом маршрутизатора.
- Если сообщения объявления маршрутизатора не получены, хост использует протокол конфигурации адреса для получения адресов и других параметров конфигурации.
- Если получено сообщение Router Advertisement, устанавливается предел скачка, время доступности, таймер повторной передачи и максимальная единица передачи (если эта опция присутствует).
- Для каждой представленной опции информации о префиксе выполняются следующие действия:
- Если флаг On-Link установлен на 1, префикс добавляется в список префиксов.
- Если флаг автономности установлен в 1, префикс и соответствующий идентификатор интерфейса используются для получения предварительного адреса.
- Обнаружение повторяющегося адреса используется для проверки уникальности предварительного адреса.
- Если предварительный адрес уже используется, использование адреса не инициализируется для интерфейса.
- Если предварительный адрес не используется, адрес инициализируется. Сюда входит установка допустимого и предпочтительного времени жизни на основе полей Допустимый срок службы и Предпочтительный срок жизни в параметре Информация о префиксе. При необходимости он также включает регистрацию многоадресного адреса канального уровня для адреса запрошенного узла, соответствующего новому адресу, с помощью сетевого адаптера.
- Если флаг конфигурации управляемого адреса в сообщении объявления маршрутизатора установлен на 1, протокол конфигурации адреса используется для получения дополнительных адресов.
- Если флаг другой конфигурации с отслеживанием состояния в сообщении объявления маршрутизатора установлен на 1, протокол конфигурации адреса используется для получения дополнительных параметров конфигурации.
Ниже приведены особенности автоконфигурации IPv6 в Windows Server 2008 и Windows Vista:
- Компьютеры под управлением Windows Server 2008 или Windows Vista по умолчанию генерируют случайные идентификаторы интерфейса для невременных автоматически настраиваемых адресов IPv6, включая общедоступные и локальные для ссылки адреса, вместо использования идентификаторов интерфейсов на основе EUI-64.
Общедоступный IPv6-адрес — это глобальный адрес, зарегистрированный в DNS и обычно используемый серверными приложениями для входящих подключений, например веб-сервером.
Вы можете отключить это поведение по умолчанию с помощью команды
netsh interface ipv6 set global randomizeidentifiers = disabled
. Вы можете включить поведение по умолчанию с помощью
netsh interface ipv6 set global randomizeidentifiers = enabled command . - При случайном полученном идентификаторе интерфейса вероятность дублирования локального адреса ссылки очень мала.Таким образом, компьютеры под управлением Windows Server 2008 или Windows Vista не дожидаются завершения обнаружения дублирующихся адресов (DAD) перед отправкой запросов маршрутизатора или отчетов об обнаружении многоадресного прослушивателя с использованием их производных локальных адресов канала. Это известно как оптимистичный DAD .
- Компьютеры под управлением Windows Server 2008 или Windows Vista не предпринимают попытки автоконфигурации адреса с отслеживанием состояния с помощью DHCPv6, если не получены объявления маршрутизатора.
- RFC 4862 не требует определенного порядка для отправки первоначального запроса маршрутизатора и выполнения обнаружения дублирующихся адресов для производного локального адреса канала.Протокол IPv6 для Windows Server 2008 и Windows Vista отправляет сообщение запроса маршрутизатора перед выполнением обнаружения повторяющегося адреса на локальном адресе канала. Таким образом, обнаружение дублирующихся адресов и обнаружение маршрутизатора выполняются параллельно, чтобы сэкономить время во время процесса инициализации интерфейса.
- Если производный локальный адрес ссылки является дубликатом, автоконфигурация адреса без сохранения состояния для протокола IPv6 для Windows Server 2008 и Windows Vista может продолжаться с получением многоадресного сообщения Router Advertisement, содержащего локальные, уникальные локальные или глобальные префиксы сайта.Запрошенный локальный адрес ссылки отображается с состоянием «Дубликат» на дисплее команды
netsh interface ipv6 show address
и локальным, уникальным локальным или глобальным адресом сайта, а не дублированным локальным адресом ссылки. — используется для процессов обнаружения соседей.
Автоматически настроенные адреса для протокола IPv6 для Windows Server 2008 и Windows Vista
По умолчанию следующие адреса IPv6 автоматически настраиваются для протокола IPv6 в Windows Server 2008 и Windows Vista:
- Адреса локальной сети с использованием произвольно полученных идентификаторов интерфейсов назначаются всем интерфейсам локальной сети (LAN).
- Если он включен в качестве префикса локального сайта в параметр «Информация о префиксе» объявления маршрутизатора с флагом «Автономность», установленным в 1, локальный адрес сайта, использующий случайно полученный идентификатор интерфейса, назначается интерфейсу LAN, получившему объявление маршрутизатора.
- При включении в качестве глобального или уникального локального префикса в параметр информации о префиксе объявления маршрутизатора с автономным флагом, установленным на 1, глобальный или уникальный локальный адрес, использующий произвольно полученный постоянный идентификатор интерфейса, назначается интерфейсу LAN, который получил маршрутизатор рекламное объявление.
- При включении в качестве глобального или уникального локального префикса в параметр информации о префиксе объявления маршрутизатора с автономным флагом, установленным на 1, временный глобальный или уникальный локальный адрес, использующий случайно полученный временный идентификатор интерфейса, назначается интерфейсу LAN, который получил реклама маршрутизатора. Это поведение по умолчанию для Windows Vista. Window Server 2008 по умолчанию не создает временные адреса. Вы можете включить временные адреса с помощью команды netsh interface ipv6 set privacy enabled.
- Если флаг M установлен в 1 в полученном сообщении Router Advertisement, IPv6-адрес с отслеживанием состояния, основанный на области DHCPv6 для подсети, назначается интерфейсу LAN, который получил сообщение DHCPv6 Reply.
- Если общедоступные IPv4-адреса назначаются интерфейсам компьютера и в сообщениях Router Advertisement не принимаются глобальные или уникальные локальные префиксы автоконфигурации, то интерфейсу туннелирования 6to4 назначаются соответствующие адреса 6to4, использующие идентификаторы интерфейса, производные от 6to4.6to4 описан в RFC 3056.
- Для компьютеров под управлением Windows Vista для всех IPv4-адресов, назначенных интерфейсам компьютера, соответствующие локальные адреса канала с использованием протокола ISATAP — производных интерфейсов (:: 0: 5EFE: wxyz или: : 200: 5EFE: wxyz) назначены интерфейсу туннелирования ISATAP. ISATAP описан в RFC 4214.
- Если включен как глобальный, уникальный локальный или локальный префикс сайта в параметр информации о префиксе объявления маршрутизатора, полученный на интерфейсе ISATAP, глобальный, уникальный локальный или локальный адрес сайта с использованием идентификатора интерфейса, производного от ISATAP, соответствующего IPv4-адрес, который является лучшим источником для доступа к маршрутизатору ISATAP, назначается интерфейсу ISATAP.
- Адрес обратной связи (:: 1) назначается псевдоинтерфейсу обратной петли 1.
Настройка IPv6 вручную в Windows
Один из вариантов, который у вас есть, — статически назначить одноадресный адрес интерфейсу устройства, используя любой из этих двух подходов:
Указать все 128-битные вручную
Использовать EUI-64
Вы можете вручную указать весь 128-битный адрес или вы можете указать идентификатор подсети, и устройство будет использовать метод EUI-64 для создания части идентификатора интерфейса адреса
Настройка протокола IPv6 вручную
В отличие от IPv6 в Windows XP и Windows Server 2003, протокол IPv6 в Windows Server 2008 и Windows Vista установлен и включен по умолчанию.Протокол IPv6 для Windows Server 2008 и Windows Vista предназначен для автоматической настройки. Например, он автоматически настраивает локальные адреса канала для связи между узлами канала. Если в подсети хоста есть маршрутизатор IPv6 или маршрутизатор ISATAP, хост использует полученные объявления маршрутизатора для автоматической настройки дополнительных адресов, маршрутизатора по умолчанию и других параметров конфигурации. Вы можете вручную настроить IPv6-адреса и другие параметры в Windows Vista, используя следующее:
- Свойства локальной карты формы
- Из командной строки
Свойства компонента Интернет-протокола версии 6 (TCP / IPv6)
Так же, как вы можете настроить параметры IPv4 через свойства компонента Интернет-протокол версии 4 (TCP / IPv4) в папке сетевых подключений, теперь вы можете настроить параметры IPv6 через свойства компонента Интернет-протокол версии 6 (TCP / IPv6). .Набор диалоговых окон для настройки IPv6 очень похож на соответствующие диалоговые окна для IPv4. Однако свойства компонента Интернет-протокола версии 6 (TCP / IPv6) предоставляют только базовую конфигурацию IPv6.
Команды в контексте ipv6 интерфейса netsh
Как и в Windows XP и Windows Server 2003, вы можете настроить параметры IPv6 для Windows Server 2008 или Windows Vista из контекста ipv6 интерфейса программы Netsh.exe . Хотя типичные хосты IPv6 не нужно настраивать вручную, маршрутизаторы IPv6 необходимо настраивать вручную.
Настройка IPv6 через свойства Интернет-протокола версии 6 (TCP / IPv6)
Чтобы вручную настроить параметры IPv6 через папку «Сетевые подключения», выполните следующие действия:
- В папке «Сетевые подключения» щелкните правой кнопкой мыши подключение или адаптер, для которого вы хотите вручную настроить IPv6, и выберите «Свойства».
- На вкладке «Сеть» свойств подключения или адаптера в разделе «Это подключение использует следующие элементы» дважды щелкните в списке «Протокол Интернета версии 6 (TCP / IPv6)».
Windows Vista отображает диалоговое окно свойств протокола Интернета версии 6 (TCP / IPv6).
Диалоговое окно свойств Интернет-протокола версии 6 (TCP / IPv6)
Вкладка «Общие»
На вкладке «Общие» диалогового окна «Свойства протокола Интернета версии 6 (TCP / IPv6)» можно настроить следующие параметры:
- Получить IPv6-адрес автоматически Указывает, что IPv6-адреса для этого соединения или адаптера автоматически определяются при автоконфигурации адресов с отслеживанием состояния или без отслеживания состояния.
- Использовать следующий IPv6-адрес < Указывает, что IPv6-адрес и шлюз по умолчанию для этого подключения или адаптера настраиваются вручную.
- IPv6-адрес Предоставляет место для ввода одноадресного IPv6-адреса. Вы можете указать дополнительные адреса IPv6 в диалоговом окне «Дополнительные параметры TCP / IP».
- Длина префикса подсети Предоставляет место для ввода длины префикса подсети для адреса IPv6.Для типичных одноадресных адресов IPv6 это значение должно быть установлено на 64, это значение по умолчанию.
- Шлюз по умолчанию Предоставляет место для ввода одноадресного IPv6-адреса шлюза по умолчанию.
- Получить адрес DNS-сервера автоматически Указывает, что IPv6-адреса для DNS-серверов автоматически определяются с помощью автоконфигурации адресов с отслеживанием состояния (DHCPv6).
- Использовать следующие адреса DNS-серверов. Указывает, что IPv6-адреса предпочтительного и альтернативного DNS-серверов для этого подключения или адаптера настраиваются вручную.
- Предпочитаемый DNS-сервер Предоставляет вам место для ввода одноадресного IPv6-адреса предпочтительного DNS-сервера.
- Альтернативный DNS-сервер Предоставляет место для ввода одноадресного IPv6-адреса альтернативного DNS-сервера. Вы можете указать дополнительные DNS-серверы в диалоговом окне «Дополнительные параметры TCP / IP».
Расширенные настройки TCP / IP
На вкладке «Общие» можно щелкнуть «Дополнительно», чтобы открыть диалоговое окно «Дополнительные параметры TCP / IP».Это диалоговое окно очень похоже на диалоговое окно «Дополнительные параметры TCP / IP» для компонента Интернет-протокола версии 4 (TCP / IPv4), за исключением того, что здесь нет вкладки WINS (IPv6 не использует NetBIOS и службу имен Интернета Windows [WINS]) или Вкладка Параметры (фильтрация TCP / IP определена только для трафика IPv4). Для IPv6 в диалоговом окне «Дополнительные параметры TCP / IP» есть вкладки «Параметры IP» и «DNS».
Вкладка IP Settings
На вкладке «Настройки IP» можно настроить следующие параметры:
- Несколько адресов IPv6 (щелкнув Добавить под IP-адресами) Для каждого одноадресного IPv6-адреса необходимо указать IPv6-адрес и длину префикса подсети.Кнопка «Добавить» доступна только в том случае, если на вкладке «Общие» диалогового окна «Свойства» Интернет-протокола версии 6 (TCP / IPv6) выбран параметр «Использовать следующий адрес Ipv6».
- Несколько шлюзов по умолчанию (щелкнув Добавить в разделе Шлюзы по умолчанию) Для каждого шлюза по умолчанию необходимо указать IPv6-адрес шлюза и указать, хотите ли вы, чтобы метрика для маршрута по умолчанию, связанного с этим шлюзом по умолчанию, была указана вручную или на основе скорости подключения или адаптера.
- Метрики маршрута Вы также можете указать, следует ли использовать конкретную метрику для маршрутов, связанных с конфигурацией адресов IPv6 или шлюзов по умолчанию, или метрику, определяемую скоростью соединения или адаптера.
Вкладка DNS
На вкладке DNS вы можете настроить следующее:
- IPv6-адреса DNS-серверов в порядке использования (щелкнув «Добавить» в разделе «Адреса DNS-серверов, в порядке использования»).
- Первичный DNS-суффикс и суффикс для конкретного соединения, а также поведение при регистрации и передаче имени.Эти настройки такие же, как для IPv4.
Настройка IPv6 с помощью инструмента Netsh.exe
Вы также можете настроить IPv6-адреса, шлюзы по умолчанию и DNS-серверы в командной строке, используя команды в контексте ipv6 интерфейса netsh.
Настройка адресов
Для настройки адресов IPv6 можно использовать команду netsh interface ipv6 add address со следующим синтаксисом:
netsh interface ipv6 добавить адрес [interface =] InterfaceNameorIndex [address =] IPv6Address [/ PrefixLength] [[type =] unicast | anycast] [[validlifetime =] Время | бесконечно] [[Prefixlifetime =] Время | бесконечно] [[store =] активный | постоянный]
- интерфейс Имя соединения или адаптера или индекс интерфейса.
- Добавляемый IPv6-адрес, за которым может следовать длина префикса подсети (по умолчанию 64).
- type Тип IPv6-адреса: одноадресный (по умолчанию) или одноадресный.
- validlifetime Время жизни, в течение которого адрес действителен. Значения времени могут быть выражены в днях, часах, минутах и секундах (например, 1d2h4m4s). Значение по умолчанию бесконечно.
- предпочтительное время жизни Время жизни, в течение которого адрес является предпочтительным. Значения времени могут быть выражены в днях, часах, минутах и секундах.Значение по умолчанию бесконечно.
- store Как сохранить IPv6-адрес — активный (адрес удаляется при перезапуске системы) или постоянный (адрес остается после перезапуска системы), что является значением по умолчанию.
Адрес
Например, чтобы настроить одноадресный IPv6-адрес 2001: db8: 290c: 1291 :: 1 на интерфейсе с именем «Подключение по локальной сети» с бесконечным допустимым и предпочтительным временем жизни и сделать адрес постоянным, используйте следующую команду:
интерфейс netsh ipv6 добавить адрес «Подключение по локальной сети» 2001: db8: 290c: 1291 :: 1
Добавление шлюзов по умолчанию
Чтобы настроить шлюз по умолчанию, вы можете использовать команду netsh interface ipv6 add route и добавить маршрут по умолчанию (:: / 0) со следующим синтаксисом:
netsh interface ipv6 add route [prefix =] :: / 0 [interface =] InterfaceNameorIndex [[nexthop =] IPv6Address] [[siteprefixlength =] Длина] [[metric =] MetricValue] [[publish =] нет | да | бессмертный] [[validlifetime =] время | бесконечное] [[предпочтительное время жизни =] время | бесконечное] [[store =] активный | постоянный]
- префикс Префикс IPv6-адреса и длина префикса для маршрута по умолчанию.Для других маршрутов вы можете заменить :: / 0 на AddressPrefix / PrefixLength.
- interface Имя соединения или адаптера или индекс интерфейса.
- nexthop Если префикс предназначен для пунктов назначения, которые не находятся на локальном канале, это IPv6-адрес следующего перехода соседнего маршрутизатора.
- siteprefixlength Если префикс предназначен для мест назначения в локальной ссылке, вы можете дополнительно указать длину префикса для префикса адреса, назначенного сайту, которому принадлежит этот узел IPv6.
- Значение, определяющее предпочтение использования маршрута. Предпочтительны более низкие значения.
- publish В качестве маршрутизатора IPv6 этот параметр указывает, будет ли префикс подсети, соответствующий маршруту, включаться в объявления маршрутизатора и будет ли время жизни для префиксов бесконечным (бессмертный вариант).
- validlifetime Время жизни, в течение которого действует маршрут. Значения времени могут быть выражены в днях, часах, минутах и секундах (например, 1d2h4m4s).Значение по умолчанию бесконечно.
- preferredlifetime Время жизни, в течение которого маршрут является предпочтительным. Значения времени могут быть выражены в днях, часах, минутах и секундах. Значение по умолчанию бесконечно.
- store Как сохранить маршрут, активный (маршрут удаляется при перезапуске системы) или постоянный (маршрут остается после перезапуска), что является значением по умолчанию.
Метрика
Например, чтобы добавить маршрут по умолчанию, который использует интерфейс с именем «Подключение по локальной сети» с адресом следующего перехода fe80 :: 2aa: ff: fe9a: 21b8 , используйте следующую команду:
интерфейс netsh ipv6 add route :: / 0 "Подключение по локальной сети" fe80 :: 2aa: ff: fe9a: 21b8
Добавление DNS-серверов
Для настройки IPv6-адресов DNS-серверов можно использовать команду netsh interface ipv6 add dnsserver со следующим синтаксисом:
netsh interface ipv6 add dnsserver [name =] InterfaceName [[address =] IPv6Address] [[index =] PreferenceValue]
- name Имя соединения или адаптера.
- адрес IPv6-адрес DNS-сервера.
- index Предпочтение для адреса DNS-сервера.
По умолчанию DNS-сервер добавляется в конец списка DNS-серверов. Если указан индекс, DNS-сервер помещается в эту позицию в списке, а другие DNS-серверы перемещаются вниз по списку.
Например, чтобы добавить DNS-сервер с IPv6-адресом 2001: db8: 99: 4acd :: 8 , который использует интерфейс с именем «Подключение по локальной сети», используйте следующую команду:
netsh interface ipv6 add dnsserver «Подключение по локальной сети» 2001: db8: 99: 4acd :: 8
.
IPv6 для начинающих
IPV6 был разработан для замены IPV4, у которого заканчиваются адреса.
Несмотря на то, что он существует уже почти 10 лет, он все еще не получил широкого распространения и поддержки.
Однако скорость внедрения быстро растет, и в феврале 2016 года трафик IPv6 преодолел 10% -ный порог (wiki).
Для сетей малого бизнеса / домашнего офиса и домашнего офиса, вероятно, пройдет много лет, прежде чем IPV6 станет проблемой.
Все современные компьютеры и мобильные телефоны поддерживают как IPv4, так и IPv6, и если вы посмотрите IP-адреса своего устройства, вы, вероятно, увидите оба.
В этом руководстве я хочу быстро взглянуть на адреса IPv6 и их связь с адресами IPv4.
Поэтому это поможет, если вы уже знакомы с IPv4 — см. Адресация IPv4 и классы для начинающих
IPv6-адресов
Адрес IPv6 использует 128 бит , в отличие от 32 бит в IPv4.
адресов IPv6 записываются в шестнадцатеричном формате, а не в десятичном формате с точками в IPv4. См. Объяснение двоичных чисел
Поскольку шестнадцатеричное число использует 4 бита, это означает, что адрес IPv6 состоит из 32 шестнадцатеричных чисел.
Эти числа сгруппированы по 4, что дает 8 групп или блоков . Группы обозначаются символом: (двоеточие) в качестве разделителя.
группа1: группа2: …… и т.д…. : group8
Вот пример IPv6-адреса :
Примечание: Из-за длины IPv6-адресов используются различные методы сокращения .
Основной метод состоит в том, чтобы опустить повторяющихся нулей , как показано в примере выше.
Адреса сети и узлов
В IPv4 адрес разделен на два компонента: сетевой компонент , и компонент узла .
Изначально это было сделано с использованием классов адресов , а затем с использованием маскировки подсети .
В IPv6 мы делаем то же самое. Первый шаг — разбить адрес на две части.
Адрес разделен на 2 64-битных сегмента, верхние 64 бита — это сетевая часть , а младшие 64 бита — узловая часть:
Старшие 64 бита используются для маршрутизации .
Младшие 64 бита определяют адрес интерфейса или узла и выводятся из реального физического или MAC-адреса с использованием формата расширенного уникального идентификатора (EUI-64) IEEE. См. Подробное описание в этой вики.
Если мы посмотрим на верхние 64 бита более подробно, то увидим, что они разделены на 2 блока по 48 и 16 бит соответственно, младшие 16 бит используются для подсетей во внутренних сетях и управляются администратором сети.
старших 48 бит используются для адресов глобальной сети и предназначены для маршрутизации через Интернет.
Типы адресов и область действия
IPv6-адреса бывают трех типов:
- Глобальный одноадресный адрес –Scope Internet- маршрутизируется в Интернете
- Уникальный локальный — Внутренняя сеть области действия или VPN с внутренней маршрутизацией, но Не маршрутизируется в Интернете
- Link Local — Scope network link- Not Routed внутренний или внешний.
Глобальные и общественные адреса
Глобальные адреса маршрутизируются через Интернет и начинаются с 2001:
Эти адреса известны как глобальных одноадресных адресов и эквивалентны общедоступным адресам сетей IPv4.
Интернет-власти выделяют блоки адресов интернет-провайдерам, которые, в свою очередь, распределяют их среди своих клиентов. См. Назначение глобального адреса
Внутренние адреса — локальные и уникальные локальные ссылки
Во внутренних адресах IPv4 используйте зарезервированные диапазоны номеров 10.0.0.0 / 8, 172.16.0.0/12 и 192.168.0.0/16 и 169.254.0.0/16 .
Эти адреса не маршрутизируются в Интернете и зарезервированы для внутренних сетей.
IPv6 также имеет два типа внутренних адресов .
Link Local
Они предназначены для использования внутри внутренней сети, и опять же, они , не маршрутизируются в Интернете.
Эквивалент IPv4-адресу 169.254.0.0 / 16 , который выделяется в сети IPv4, когда сервер DHCP не найден.
Локальные адреса ссылки начинаются с fe80
Они ограничены ссылкой и не маршрутизируются во внутренней сети или в Интернете.
Link Local Address — это , присвоенные самим себе , то есть для них не требуется DHCP-сервер .
Локальный адрес канала требуется на каждом интерфейсе IP6, даже если нет маршрутизации.
Unique Local
Unique Local предназначены для использования во внутренней сети.
Это с маршрутизацией во внутренней сети, но не с маршрутизацией в Интернете.
Они эквивалентны IPv4-адресам: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16
Адресное пространство разделено на два пространства / 8: fc00 :: / 8 для глобально назначенной адресации и fd00 :: / 8 для локально назначенной адресации.
Для ручного назначения организацией используйте префикс fd00 .
Использование адресов IPv6 в URL-адресах
В сетях IPv4 вы можете получить доступ к сетевому источнику, например веб-страница в формате
http://192.168.1.21/webpage
Однако адреса IPv6 содержат двоеточие в качестве разделителя и поэтому должны быть заключены в квадратные скобки.
http: // [IPv6-адрес] / веб-страница.
Обратная связь IPv6
Адрес обратной связи IPv6: :: 1.Вы можете пропинговать его следующим образом:
пинг :: 1
Видео
Вот хорошее видео, которое охватывает вышеупомянутые
Статьи и ресурсы по теме:
Оцените? И используйте Комментарии, чтобы сообщить мне больше
[Всего: 15 Среднее: 4.9 / 5].
Иерархический план адресации IPv6
Примеры адресов IPv6 для различных представлений и типов адресов IPv6
Адреса IPv6 — это 128-битные идентификаторы интерфейсов и наборов интерфейсов (RFC 4291). В его полной нотации адрес IPv6 представлен в восьми группах по четыре шестнадцатеричных цифры (восемь 16-битных блоков), разделенных двоеточием (:), например
2001: 0db8: 0a0b: 12f0: 0000: 0000: 0000: 0001
RFC 5952 рекомендует использовать сжатый формат для текстового представления адреса IPv6:
2001: db8: a0b: 12f0 :: 1
- Начальные нули ДОЛЖНЫ быть подавлены.
- Использование символа «::» ДОЛЖНО использоваться в максимальной степени.
- Символ «::» НЕ ДОЛЖЕН использоваться для сокращения только одного 16-битного поля 0.
- Символы «a», «b», «c», «d», «e» и «f» в адресе IPv6 ДОЛЖНЫ быть представлены в нижнем регистре.
Например, 2001: 0db8 :: 0001 недопустимо и должно быть представлено как 2001: db8 :: 1.
Например, 2001: db8: 0: 0: 0: 0: 2: 1 необходимо сократить до 2001: db8 :: 2: 1.
Например, представление 2001: db8: 0: 1: 1: 1: 1: 1 правильно, но
2001: db8 :: 1: 1: 1: 1: 1 неверно.
Форматы адресов IPv6 для использования с приложениями
IPv6-адресов в URL-адресах
В идентификаторах ресурсов, таких как URI и URL, символ двоеточия (:) используется для отделения IP-адреса от номера порта. Поскольку буквальное представление адресов IPv6 содержит символы двоеточия, это может вызвать конфликты. По этой причине буквальные адреса IPv6 заключаются в квадратные скобки «[» и «]».
В URL-адресе IPv6-адрес должен быть заключен в квадратные скобки [rfc3986]:
http: // [2001: db8: a0b: 12f0 :: 1] / index.html
http://[2001:db8:a0b:12f0::1]]] 80/index.html
IPv6-адресов, включая номер порта
Адреса IPv6, включая номер порта, должны быть заключены в квадратные скобки [rfc5952] [rfc3986]:
[2001: db8: a0b: 12f0 :: 1]: 21
IPv6-адресов с префиксом
Префикс добавляется к IPv6-адресу через косую черту «/» (нотация CIDR) [rfc4291]:
2001: db8: a0b: 12f0 :: 1/64
IPv6-адресов, включая идентификатор зоны (индекс зоны)
Идентификатор зоны в IPv6-адресе должен быть указан через символ «%» (процент) [rfc4007]:
2001: db8: a0b: 12f0 :: 1% eth0
Пример SSH:
имя пользователя ssh @ 2001: db8: a0b: 12f0 :: 1% eth0
Пример SCP:
scp файл.txt имя пользователя @ [2001: db8: a0b: 12f0 :: 1% eth0] / path /
IPv6-адресов в URI, включая идентификатор зоны (индекс зоны)
Идентификатор зоны в IPv6-адресе в URI следует указывать через «% 25» («% 25» — это представление буквального символа «%» в процентном кодировании) [rfc6874]:
2001: db8: a0b: 12f0 :: 1% 25eth0 или
[2001: db8: a0b: 12f0 :: 1% 25eth0]: 21
RFC 6874 предполагает, что парсеры URI (например, в браузерах) принимают по возможности голые знаки «%»:
[2001: db8: a0b: 12f0 :: 1% eth0]: 80
IP6.Адреса ARPA
Домен IP6.ARPA определен для поиска записи по IPv6-адресу. Назначение этого домена — предоставить способ сопоставления адреса IPv6 с именем хоста [rfc3596].
Адрес IP6.ARPA может быть образован шестнадцатеричными значениями адреса IPv6 в полной нотации в обратном порядке, разделенных точкой «.» и завершается доменом «IP6.ARPA».
Например, IP6.ARPA-адрес 2001: 0db8: 0a0b: 12f0: 0000: 0000: 0000: 0001 будет
.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.f.2.1.b.0.a.0.8.b.d.0.1.0.0.2.IP6.ARPA
Windows UNC (Uniform Naming Convention) нотация имени пути
Имена путей UNC (\\ server_ip \ share) не поддерживают символ двоеточия. По этой причине Microsoft создала алгоритм транскрипции для представления адресов IPv6 в именах путей UNC. Адреса в этой нотации разрешаются непосредственно программным обеспечением Microsoft без DNS-запросов.
Чтобы преобразовать адрес в этот формат, замените все двоеточия дефисом (-) и добавьте домен второго уровня «ipv6-literal».net »через точку до адреса.
2001-db8-a0b-12f0—1.ipv6-literal.net
Знак «%» для указания индекса зоны заменяется символом «s»:
2001-db8-a0b-12f0—1s4.ipv6-literal.net
Например, для доступа к каталогу \ Misc на сервере 2001: db8: a0b: 12f0 :: 1 используйте UNC-путь \\ 2001-db8-a0b-12f0—1s4.ipv6-literal.net \ Misc.
Другие представления IPv6-адресов
Целочисленный формат
Целочисленный идентификатор 2001: db8: a0b: 12f0 :: 1 — 42540766414390830568948465
Шестнадцатеричный идентификатор
Шестнадцатеричный идентификатор 2001: db8: a0b: 12f0 :: 1 — 0x20010db80a0b12f00000000000000001
Десятичный идентификатор с точками
Десятичный идентификатор 2001: db8: a0b: 12f0 :: 1, разделенный точками, равен 32.1.219.8.10.11.18.240.0.0.0.0.0.0.0.1
Идентификатор базы 85
Базовый 85 ID 2001 года: db8: a0b: 12f0 :: 1 равен 9r} Vstbyz7 $ 19 | O (~ JT0 [rfc1924]
Двоичный идентификатор
Двоичный идентификатор 2001: db8: a0b: 12f0 :: 1 — 001000000000000100001101101110000000101000001011000100101111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Воспользуйтесь калькулятором подсети, чтобы отобразить дополнительные сведения об адресе.
Фиг.1: IPv6-адрес обрабатывается в онлайн-калькуляторе подсети GestióIP
Типы IPv6-адресов
RFC 4291 определяет три типа адресов IPv6:
Одноадресная
Идентификатор единственного интерфейса. Пакет, отправленный на одноадресный адрес, доставляется на интерфейс, идентифицированный этим адресом.
Пример одноадресного IPv6-адреса: 3731: 54: 65fe: 2 :: a7
Anycast
Идентификатор набора интерфейсов (обычно принадлежащих разным узлам).Пакет, отправленный на произвольный адрес, доставляется на один из интерфейсов, идентифицированных этим адресом («ближайший», в соответствии с мерой расстояния протоколов маршрутизации).
Адреса произвольной рассылки выделяются из адресного пространства одноадресной рассылки и синтаксически не отличаются от адресов одноадресной рассылки. Назначение одноадресного адреса более чем одному интерфейсу делает одноадресный адрес произвольным. Узлы должны быть явно настроены для распознавания того, что адрес является произвольным адресом.
Anycast можно использовать для увеличения доступности и скорости критически важных серверов. Все корневые серверы имен Интернета реализованы как кластеры узлов с использованием произвольной адресации. Anycast также используется механизмами перехода IPv6 и сетями доставки контента [rfc7094].
Пример произвольного адреса IPv6: 3731: 54: 65fe: 2 :: a8
Многоадресная передача
Идентификатор набора интерфейсов (обычно принадлежащих разным узлам). Пакет, отправленный на групповой адрес, доставляется на все интерфейсы , идентифицированные этим адресом.
Примером многоадресного IPv6-адреса является FF01: 0: 0: 0: 0: 0: 0: 1
В IPv6 нет широковещательных адресов , их функции заменены многоадресными адресами.
Области IPv6-адресов
Каждый IPv6-адрес, кроме неуказанного (: :), имеет определенную область. Область действия — это топологический диапазон, в котором адрес может использоваться как уникальный идентификатор интерфейса или набора интерфейсов [rfc4007].
Ожидается, что интерфейс IPv6 будет иметь несколько адресов IPv6 из разных областей, связанных с ним.Это ключевое отличие от IPv4, где интерфейсу обычно назначается только один адрес. Интерфейсы IPv6 всегда имеют локальный адрес ссылки и обычно один или несколько уникальных локальных (ULA) или глобально уникальных адресов.
Глобальная область одноадресного адреса
Глобальное пространство одноадресной рассылки IPv6 охватывает всю область адресов IPv6. Исключениями являются диапазон многоадресной рассылки ff00 :: / 8 и те диапазоны, которые были выделены для других целей (см. Таблицу «Адреса специального назначения IPv6»).Он предназначен для уникальной идентификации интерфейсов в любом месте Интернета.
Назначение одноадресных адресов IANA в настоящее время ограничено диапазоном одноадресных адресов IPv6 2000 :: / 3 [IANA].
Адреса специального назначения IPv6 [IANA] [rfc6890] [rfc8190]
имя | пример | Описание | RFC |
не указано :: / 128 | :: / 128 | Неуказанный адрес указывает на отсутствие адрес.Один из примеров его использования — в поле «Исходный адрес» любые пакеты IPv6, отправленные инициализирующим хостом до того, как он узнал собственный адрес. Его нельзя назначать ни одному узлу. | [rfc4291] |
шлейф :: 1/128 | :: 1/128 | Одноадресный адрес 0: 0: 0: 0: 0: 0: 0: 1 называется адресом обратной связи. Узел может использовать его для отправки самому себе пакета IPv6. Это должно не может быть назначен какому-либо физическому интерфейсу. Это рассматривается как имеющее Link-Local, и может рассматриваться как одноадресная Link-Local адрес виртуального интерфейса (обычно называемый «петлевой» interface «) на воображаемую ссылку, которая никуда не ведет | [rfc4291] |
IPv4-сопоставленный адрес :: ffff: a.b.c.d / 96 | :: ffff: 10.0.0.3/96 | Механизм перехода IPv6. IPv6-адрес, содержащий встроенный 32-битный IPv4-адрес. Адреса с отображением IPv4 используются для представления адресов IPv4 с помощью API IPv6 (например, в сокетах AF_INET6). Пакеты IPv4, поступающие в приложения IPv6 на узле с двойным стеком, достигают места назначения, поскольку их адреса отображаются с использованием адресов IPv6, отображаемых в IPv4. | [rfc4291] [rfc3493] [rfc4038] [rfc4942] |
IPv4-транслируемый IPv6-адрес 64: ff9b :: / 96 | 0064: ff9b: 0000: 0000: 0000: 0000: 1234: 5678/96 0064: ff9b: 0000: 0000: 0000: 0000: 18.52.86.120 / 96 | 64: ff9b :: / 96 — это общеизвестный префикс (WKP) для IPv4-адресов, переводимых в IPv6. Этот тип IPv6-адресов может быть назначен узлам IPv6 для использования с трансляцией без сохранения состояния. У них есть явное сопоставление с адресами IPv4. Транслятор без сохранения состояния использует соответствующие адреса IPv4 для представления адресов IPv6. Транслятор с отслеживанием состояния не использует этот вид адресов, поскольку хосты IPv6 представлены пулом адресов IPv4 в трансляторе через динамическое состояние.IPv4-преобразованные адреса IPv6 имеют тот же формат, что и встроенные IPv4-адреса [rfc6052]. См. Таблицу «Другие адреса IPv6». | [rfc6144] |
IPv4-транслируемый IPv6-адрес (локальное использование) 64: ff9b: 1 :: / 48 | 0064: ff9b: 0001: 1122: 0033: 4400: 0000: 0001/48 | [rfc8215] резервирует 64: ff9b: 1 :: / 48 для локального использования в доменах, которые включают механизмы трансляции IPv4 / IPv6. Это облегчает сосуществование нескольких механизмов трансляции IPv4 / IPv6 в одной сети, не требуя использования специфичного для сети префикса, назначаемого из выделенного оператором глобального пространства одноадресных адресов. | [rfc8215] |
Блок адреса только для удаления 100 :: / 64 | 100 :: / 64 | Блокировка с целью реализации конфигурации удаленной управляемой черной дыры IPv6 (RTBH). | [rfc6666] |
Назначения протокола IETF 2001 :: / 23 | Первоначальные назначения идентификаторов агрегирования под-верхнего уровня IPv6 (ID под-TLA) реестрам адресов. Он предназначен в качестве технического материала для Управления по присвоению номеров в Интернете в качестве входного материала для процесса разработки руководящих принципов по распределению адресов IPv6. | [rfc2928] | |
Тередо 2001: 0000 :: / 32 | 2001: 0000: 6dcd: 8c74: 76cc: 63bf: ac32: 6a1 / 64 | Протокол туннелирования IPv6. Туннелирование Teredo позволяет узлам, расположенным за одной или несколькими трансляциями сетевых адресов IPv4 (NAT), получать возможность подключения IPv6 путем туннелирования пакетов через UDP. Для запуска службы требуется помощь «серверов Teredo» и «реле Teredo». | [rfc4380] |
Протокол управления портами Anycast 2001: 1 :: 1/128 | 2001: 1 :: 1/128 | Anycast-адреса протокола управления портами (PCP) позволяют клиентам PCP передавать сигнальные сообщения ближайшему к ним NAT, межсетевому экрану или другому промежуточному устройству с поддержкой PCP без необходимости узнавать IP-адрес этого промежуточного устройства через какой-либо внешний канал. | [rfc7723] |
Обход с использованием реле вокруг NAT Anycast 2001: 1 :: 2/128 | 2001 год: 1 :: 2/128 | Текущий обход с использованием реле вокруг NAT (TURN) механизмы обнаружения сервера относительно статичны и ограничены явной конфигурацией. Обычно они находятся под административным контролем приложения или поставщика услуг TURN, а не предприятия, интернет-провайдера или сети, в которой находится клиент. Предприятиям и интернет-провайдерам, желающим предоставить свои собственные серверы TURN, необходимы механизмы автоматического обнаружения, которые клиент TURN мог бы использовать с минимальной конфигурацией или без нее.Этот документ описывает три таких механизма для обнаружения сервера TURN. | [rfc8155] |
Бенчмаркинг 2001: 0002 :: / 48 | 2001: 0002: cd: 65a: 753 :: a1 / 64 | Назначен Рабочей группе по методологии эталонного тестирования (BMWG) для эталонного тестирования IPv6 (соответствует 198.18.0.0/15 для эталонного тестирования IPv4) | [rfc5108] |
AMT 2001: 0003 :: / 32 | 2001: 0003: cd: 65a: 753 :: a1 / 64 | Автоматическое многоадресное туннелирование (AMT) — это протокол для доставки многоадресного трафика от источников в сети с поддержкой многоадресной рассылки получателям, у которых отсутствует возможность многоадресного подключения к исходной сети.Протокол использует инкапсуляцию UDP и одноадресную репликацию для обеспечения этой функциональности. | [rfc7450] |
AS112-v6 2001: 0004: 0112 :: / 48 | 2001: 4: 112: cd: 65a: 753: 0: a1 / 64 | AS112 предоставляет механизм для обработки обратного поиска по IP-адресам, которые не являются уникальными (например, адреса RFC 1918). Такой подход позволяет любому администратору зоны DNS направлять трафик, относящийся к частям глобального пространства имен DNS, находящимся под их контролем, в инфраструктуру AS112 без согласования с операторами инфраструктуры AS112. | [raft-ietf-dnsop-as112-dname-06] |
EID Пространство для LISP (под управлением RIPE NCC) 2001: 5 :: / 32 | 2001: 5 :: / 32 | Для использования с протоколом разделения локаторов и идентификаторов (LISP). Префикс будет использоваться для локальной внутридоменной маршрутизации и глобальной идентификации конечной точки сайтами, развертывающими LISP в качестве адресного пространства идентификатора конечной точки (EID). | [rfc7954] |
ORCHID (устарело) 2001: 0010 :: / 28 | 2001: 11 :: 3f4b: 1aff: f7b2 / 28 | Не рекомендуется с 2014-03.Overlay Routable Cryptographic Hash Identifiers (ORCHID) — это экспериментальный класс идентификаторов, подобных IPv6-адресам. Эти идентификаторы предназначены для использования в качестве идентификаторов конечных точек в приложениях и интерфейсах прикладного программирования (API), а не в качестве идентификаторов для сетевого местоположения на уровне IP, то есть локаторов. Они предназначены для отображения как объекты уровня приложения и в существующих API IPv6, но не должны отображаться в фактических заголовках IPv6. | [rfc4843] |
ORCHID2 2001: 0020 :: / 28 | 2001: 21 :: 3f4b: 1aff: f7b2 / 28 | Overlay Routable Cryptographic Hash Identifiers (ORCHID) — это класс идентификаторов, подобных IPv6-адресу.Эти идентификаторы предназначены для использования в качестве идентификаторов конечных точек в приложениях и интерфейсах прикладного программирования (API), а не в качестве идентификаторов для сетевого местоположения на уровне IP, то есть локаторов. Они предназначены для отображения как объекты уровня приложения и в существующих API IPv6, но не должны отображаться в фактических заголовках IPv6. В наложенных маршрутизируемых криптографических хэш-идентификаторах, изначально определенных в RFC 4843, отсутствовал механизм криптографического алгоритма. | [rfc7342] |
Документация 2001: db8 :: / 32 | 2001 год: db8 :: a3 / 64 | Используется только для документации. | [rfc3849] |
6to4 2002 :: / 16 | 2002 год: 6dcd: 8c74: 6501: fb2: 61c: ac98: 6be / 64 | Протокол туннелирования IPv6. Подключение доменов IPv6 через облака IPv4. 6to4 использует выделенные ретрансляционные маршрутизаторы для транспортировки инкапсулированных пакетов IPv6 по сети IPv4. Это не требует явной настройки туннеля. Пакеты IPv6 инкапсулируются путем добавления заголовка IPv4 с полем протокола, установленным на 41. Механизм предназначен в качестве средства перехода при запуске, используемого в период сосуществования IPv4 и IPv6.Это не является постоянным решением. | [rfc3056] |
Служба прямого делегирования AS112 2620: 4f: 8000 :: / 48 | 2620: 4ф: 8000 :: / 48 | Проект AS112 направлен на создание распределенного приемника для DNS-запросов для частных адресов, чтобы снизить нагрузку на соответствующие авторитетные серверы в Интернете. | [rfc7534] |
Уникальные локальные адреса (ULA) fc00 :: / 7 | fd07: a47c: 3742: 823e: 3b02: 76: 982b: 463/64 | Уникальные локальные адреса IPv6 (локальная область сайта) имеют глобально уникальный общеизвестный префикс и предназначены для локального взаимодействия, обычно внутри сайта.Ожидается, что эти адреса не будут маршрутизироваться в глобальной сети Интернет. ULA сопоставимы с частными адресами IPv4 (10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16). | [rfc4193] |
Локальные адреса ссылок fe80 :: / 10 | fea3: c65: 43ee: 54: e2a: 2357: 4ac4: 732/64 | Адреса Link-Local (область Link-Local) предназначены для использования для адресации по одному каналу в таких целях, как автоматическая настройка адреса, обнаружение соседей или отсутствие маршрутизаторов.Маршрутизаторы не должны пересылать пакеты с локальными адресами источника или назначения по другим каналам. | [rfc4291] |
Другие адреса IPv6
имя | пример | Описание | RFC |
IPv4-совместимый (устаревший) :: a.b.c.d / 96 | :: 10.0.0.3/96 | IPv6-адрес, содержащий встроенный 32-битный IPv4-адрес. Адрес IPv6, назначенный узлу IPv6 / IPv4, который имеет 96-битный префикс высокого порядка 0: 0: 0: 0: 0: 0 и адрес IPv4 в 32-битных младших разрядах.IPv4-совместимые адреса использовались автоматическим туннелированием; теперь они устарели, потому что текущие механизмы перехода IPv6 больше не используют эти адреса. | [rfc4291] |
Адрес с преобразованием IPv4 :: ffff: 0: a.b.c.d / 96 | :: ffff: 0: 10.0.0.3/96 | Механизм перехода IPv6. Адреса с трансляцией IPv4 были определены для протокола трансляции IP / ICMP без сохранения состояния (SIIT) в RFC 2765. RFC 6145 отменяет RFC 2765 и больше не упоминает адреса с трансляцией IPv4.По разным причинам не рекомендуется использовать этот тип адресов. Проблема с адресами, преобразованными в IPv4, заключается в используемом префиксе и структуре адреса. Например, в BGP префикс обычно не обменивается. | [rfc2765] |
Встроенный IPv4-адрес IPv6 64: ff9b :: / 96 (известный префикс) | 2001: 0db8: 1234: 5678: 00aa: aaaa: aaaa: aaaa / 32 | IPv6-адрес, который содержит встроенный 32-битный IPv4-адрес, созданный в соответствии с правилами, определенными в RFC 6052. Встроенные IPv4-адреса IPv6 состоят из префикса переменной длины, встроенного IPv4-адреса и суффикса переменной длины. Биты 64-71 должны быть установлены в 0. Префикс IPv6 может быть либо общеизвестным префиксом IPv6 (ff9b :: / 96), либо специфическим для сети префиксом, уникальным для организации; во втором случае длина префикса IPv6 должна быть одной из 32, 40, 48, 56, 64 или 96.Встроенный в IPv4 IPv6-адреса с длиной префикса / 96 (общеизвестный префикс) в качестве альтернативы могут быть представлены с использованием адресов IPv4, представленных в десятичном формате с разделительными точками. | [rfc6052] |
IPv4-преобразованный адрес IPv6 | см. IPv4-встроенный IPv6-адрес | Адреса IPv6, используемые для представления узлов IPv4 в сети IPv6. У них есть явное сопоставление с адресами IPv4. Как преобразователи без сохранения состояния, так и преобразователи с отслеживанием состояния используют адреса, преобразованные в IPv4, для представления адресов IPv4.Преобразованные в IPv4 адреса IPv6 имеют тот же формат, что и встроенные IPv4-адреса [rfc6052]. | [rfc6144] |
ISATAP x: x: x: x: 0000: 5efe: x: x / 64 | fe80: 4: 6c: 8c74: 0000: 5efe: 109.205.140.116/64 (локальная ссылка) 24a6: 57: c: 36cf: 0000: 5efe: 109.205.140.116/64 (глобальная одноадресная передача) 2002: 5654: ef3: c: 0000: 5efe: 109.205.140.116/64 (глобальная одноадресная передача (6to4)) | Протокол автоматической внутрисайтовой адресации туннелей (ISATAP) — это механизм, который соединяет узлы / маршрутизаторы IPv6 через сети IPv4.Узлы с двойным стеком (IPv6 / IPv4) используют ISATAP для автоматического туннелирования пакетов IPv6 в IPv4, то есть ISATAP рассматривает сеть IPv4 как канальный уровень для IPv6 и рассматривает другие узлы в сети как потенциальные хосты / маршрутизаторы IPv6. Идентификаторы интерфейса ISATAP построены в модифицированном формате EUI-64 ([rfc4291], Приложение A). | [rfc4214] |
адресов EUI-64 [rfc4291] (используется в автоконфигурации адресов без сохранения состояния (SLAAC) [rfc4862])
SLAAC позволяет хосту генерировать свои собственные (глобальные) адреса, используя комбинацию локально доступной информации (например,г. MAC-адрес интерфейса) и информацию, объявленную маршрутизаторами. Маршрутизаторы объявляют префиксы, которые идентифицируют подсети, связанные с каналом, в то время как хосты генерируют «идентификатор интерфейса», который однозначно идентифицирует интерфейс в подсети. Адрес формируется путем объединения двух. В отсутствие маршрутизаторов хост может генерировать только локальные адреса канала. Однако локальных адресов канала достаточно для обеспечения связи между узлами, подключенными к одному и тому же каналу. Механизм SLACC — одно из ключевых преимуществ IPv6 над IPv4, поскольку он устраняет необходимость DHCP или ручной настройки.
Существуют разные подходы к созданию адресов EUI-64. Примером является адрес EUI-64 со встроенным MAC-адресом [rfc4862].
«Идентификатор интерфейса» адреса IPv6 EUI-64 со встроенными MAC-адресами формируется путем вставки шестнадцатеричного значения fffe в середину MAC-адреса и инвертирования 7. бита MAC-адреса. Вот пример адреса EUI-64, созданного из MAC-адреса 12: 34: 56: 78: 90: 00:
2001: db8: a: a: 1034: 56ff: fe78: 9000
IPv6 Multicast-адреса
IPv6 Multicast — это механизм передачи информации от одного источника многим получателям.Адрес многоадресной рассылки IPv6 — это идентификатор группы интерфейсов (обычно на разных узлах). Интерфейс может принадлежать к любому количеству групп многоадресной рассылки [rfc4291]. Адреса многоадресной рассылки IPv6 попадают в диапазон ff00 :: / 8.
([rfc2375] [IANA]).
Области многоадресной рассылки ([rfc4291] [rfc7346])
Адреса многоадресной рассылки IPv6 ограничены областями. Области действия определяются значением 4-го полубайта (биты 13–16) многоадресного адреса (ff0X :: / 8).
RFC 7346, обновляющий RFC 4291, определяет следующие значения:
0 — зарезервировано
1 — Интерфейс-локальный Область охватывает только один интерфейс на узле и используется только для кольцевой передачи многоадресной рассылки.Пакеты с локальной областью интерфейса, полученные от другого узла, должны быть отброшены.
2 — Link-Local области многоадресной рассылки охватывают ту же топологическую область, что и соответствующая область одноадресной рассылки.
3 — Realm-Local. Определение любой области Realm-Local для конкретной сетевой технологии должно быть опубликовано в RFC.
4 — Admin-Local область — это наименьшая область, которая должна быть настроена административно, т.е.е., не полученный автоматически из физического подключения или другой конфигурации, не связанной с многоадресной передачей.
5 — Site-Local предназначена для охвата одного объекта.
6 и 7 не присвоены
8 — Organization-Local предназначена для охвата нескольких сайтов, принадлежащих одной организации.
9 — D не назначены
E — Глобальный объем.
F — зарезервировано
Примеры IPv6 Multicast-адресов
Например, если «группе серверов NTP» назначен постоянный многоадресный адрес с идентификатором группы 101 (шестнадцатеричный), то
FF01: 0: 0: 0: 0: 0: 0: 101 означает, что все серверы NTP на одном интерфейсе (т.е.е., тот же узел), что и отправитель.
FF02: 0: 0: 0: 0: 0: 0: 101 означает, что все серверы NTP находятся на той же ссылке, что и отправитель.
FF05: 0: 0: 0: 0: 0: 0: 101 означает, что все серверы NTP находятся на том же сайте, что и отправитель.
FF0E: 0: 0: 0: 0: 0: 0: 101 означает все серверы NTP в Интернете.
Примеры использования
Обнаружьте все узлы в одной ссылке (локальная область связи), используя «Адрес всех узлов»:
ping6 -I eth0 ff02 :: 1 PING ff02 :: 1 (ff02 :: 1) от fe80 :: 74e6: b5f3: fe92: 830e eth0: 56 байтов данных 64 байта из fe80 :: 6ae3: b5ff: fe92: 330e: icmp_seq = 1 ttl = 64 time = 0.037 мс 64 байта из fe80 :: 20ab: 16d8: a479: 238d: icmp_seq = 1 ttl = 64 time = 0,537 мс 64 байта из fe80 :: 2a1: 9bff: fe9b: f268: icmp_seq = 1 ttl = 64 time = 0,545 мс 64 байта из fe80 :: 1c60: 4bff: fa71: 1a56: icmp_seq = 1 ttl = 64 time = 0,561 мс 64 байта из fe80 :: 2a3: aeff: fe53: 743e: icmp_seq = 1 ttl = 64 time = 0,565 мс ...
Пингуйте все NTP-серверы на том же сайте (локальная область сайта):
ping6 -I eth0 ff05 :: 101 PING ff05 :: 101 (ff05 :: 101) с 2001 года: db8 :: a: 74e6: b5f3: fe92: 830e eth0: 56 байтов данных 64 байта с 2001 года: db8 :: b: 2f4: 4bff: fa71: 1a56: icmp_seq = 1 ttl = 64 time = 0.561 мс 64 байта с 2001 года: db8 :: c: 69b: aeff: fe53: 743e: icmp_seq = 1 ttl = 64 time = 0,565 мс ...
.