Протокол TCP/IP определяет порядок обмена данными между вашим компьютером и другими компьютерами.
Чтобы упростить управление параметрами TCP/IP, рекомендуется использовать автоматический протокол DHCP. При использовании DHCP IP-адреса автоматически назначаются компьютерам в сети (если сеть поддерживает эту функцию). Если вы используете DHCP, то при перемещении компьютера в другое расположение вам не потребуется изменять параметры TCP/IP. При использовании DHCP не нужно вручную настраивать параметры TCP/IP, например DNS и WINS.
Включение DHCP и изменение других параметров TCP/IP
-
Нажмите кнопку «Пуск», а затем введите параметры. Выберите параметры >сети & Интернете.
-
Выполните одно из следующих действий:
-
Для Wi-Fi сети выберите Wi-Fi > управление известными сетями. Выберите сеть, для которой необходимо изменить параметры.
-
Для сети Ethernet выберите Ethernet, а затем выберите сеть Ethernet, к которой вы подключены.
-
-
Рядом с назначением IP-адреса выберите «Изменить».
-
В разделе «Изменение параметров IP-адресов сети» или «Изменение параметров IP-адреса» выберите «Автоматический (DHCP) или «Вручную«.
-
Указание параметров IPv4 вручную
-
В разделе «Изменение параметров IP-адреса сети » или «Изменить параметры IP-адреса» выберите «Вручную», а затем включите протокол IPv4.
-
Чтобы указать IP-адрес, введите параметры IP-адреса в полях IP-адреса, маски подсети и шлюза.
-
Чтобы указать адрес DNS-сервера, в полях Предпочитаемый DNS-сервер и Альтернативный DNS-сервер введите адреса основного и дополнительного DNS-серверов.
-
Чтобы указать, следует ли использовать зашифрованное (DNS по протоколу HTTPS) или незашифрованное подключение к указанному DNS-серверу или серверам, для DNS по протоколу HTTPS выберите нужный параметр:
-
Отключено. Все запросы DNS будут отправляться на DNS-сервер, незашифрованный в виде открытого текста по протоколу HTTP.
-
Включен (автоматический шаблон): запросы DNS шифруются и отправляются на DNS-сервер по протоколу HTTPS. Запросы DNS будут использовать параметры по умолчанию для автоматического шаблона или пытаться обнаружить их автоматически.
-
On (manual template): DNS-запросы шифруются и отправляются на DNS-сервер по протоколу HTTPS. Они будут использовать параметры, которые вы введете в поле шаблона DNS по протоколу HTTPS .
-
-
Если вы используете DNS по протоколу HTTPS (автоматический или ручной шаблон), включите или отключите резервный текст в виде обычного текста:
-
Если он включен, запрос DNS будет отправлен незашифрованным, если его невозможно отправить по протоколу HTTPS.
-
Если он отключен, запрос DNS не будет отправлен, если он не может быть отправлен по протоколу HTTPS.
-
-
-
Указание параметров IPv6 вручную
-
В разделе «Изменение параметров IP-адреса сети » или «Изменение параметров IP-адреса» выберите «Вручную», а затем включите протокол IPv6.
-
Чтобы указать IP-адрес, введите параметры IP-адреса в полях ip-адреса, длины префикса подсети и шлюза.
-
Чтобы указать адрес DNS-сервера, в полях Предпочитаемый DNS-сервер и Альтернативный DNS-сервер введите адреса основного и дополнительного DNS-серверов.
-
Чтобы указать, следует ли использовать зашифрованное (DNS по протоколу HTTPS) или незашифрованное подключение к указанному DNS-серверу или серверам, для DNS по протоколу HTTPS выберите нужный параметр:
-
Отключено. Все запросы DNS будут отправляться на DNS-сервер, незашифрованный в виде открытого текста по протоколу HTTP.
-
Включен (автоматический шаблон): запросы DNS шифруются и отправляются на DNS-сервер по протоколу HTTPS. Запросы DNS будут использовать параметры по умолчанию для автоматического шаблона или пытаться обнаружить их автоматически.
-
On (manual template): DNS-запросы шифруются и отправляются на DNS-сервер по протоколу HTTPS. Они будут использовать параметры, которые вы введете в поле шаблона DNS по протоколу HTTPS .
-
-
Если вы используете DNS по протоколу HTTPS (автоматический или ручной шаблон), включите или отключите резервный текст в виде обычного текста:
-
Если он включен, запрос DNS будет отправлен незашифрованным, если его невозможно отправить по протоколу HTTPS.
-
Если он отключен, запрос DNS не будет отправлен, если он не может быть отправлен по протоколу HTTPS.
-
-
-
Если выбрать параметр Автоматически (DHCP), параметры IP-адресов и адрес DNS-сервера устанавливаются автоматически маршрутизатором или другой точкой доступа (рекомендуется).
-
Если выбрать параметр Вручную, вы сможете вручную задать параметры IP-адресов и адрес DNS-сервера.
-
-
После внесения необходимых изменений, нажмите кнопку Сохранить.
Примечание: Чтобы установить IPv4, запустите командную строку с правами администратора, введите netsh interface ipv4 install, а затем нажмите клавишу ВВОД.
Включение DHCP и изменение других параметров TCP/IP
-
Нажмите кнопку Пуск и выберите Параметры > Сеть и Интернет.
-
Выполните одно из следующих действий:
-
Для Wi-Fi сети выберите wi-Fi > управление известными сетями. Выберите сеть, параметры которой нужно изменить, а затем выберите Свойства.
-
Для сети Ethernet выберите Ethernet, а затем выберите сеть Ethernet, к которой вы подключены.
-
-
В разделе Назначение IP нажмите кнопку Изменить.
-
В разделе Изменить параметры IP выберите параметр Автоматически (DHCP) или Вручную.
-
Указание параметров IPv4 вручную
-
В разделе Изменить параметры IP выберите параметр Вручную и включите параметр IPv4.
-
Чтобы указать IP-адрес, в полях IP-адрес, Длина префикса подсети и Шлюз введите параметры IP-адресов.
-
Чтобы указать адрес DNS-сервера, в полях Предпочитаемый DNS-сервер и Альтернативный DNS-сервер введите адреса основного и дополнительного DNS-серверов.
-
-
Указание параметров IPv6 вручную
-
В разделе Изменить параметры IP выберите параметр Вручную и включите параметр IPv6.
-
Чтобы указать IP-адрес, в полях IP-адрес, Длина префикса подсети и Шлюз введите параметры IP-адресов.
-
Чтобы указать адрес DNS-сервера, в полях Предпочитаемый DNS-сервер и Альтернативный DNS-сервер введите адреса основного и дополнительного DNS-серверов.
-
-
Если выбрать параметр Автоматически (DHCP), параметры IP-адресов и адрес DNS-сервера устанавливаются автоматически маршрутизатором или другой точкой доступа (рекомендуется).
-
Если выбрать параметр Вручную, вы сможете вручную задать параметры IP-адресов и адрес DNS-сервера.
-
-
После внесения необходимых изменений, нажмите кнопку Сохранить.
Примечание: Чтобы установить IPv4, запустите командную строку с правами администратора, введите netsh interface ipv4 install, а затем нажмите клавишу ВВОД.
Включение DHCP и изменение других параметров TCP/IP
-
Выполните одно из следующих действий:
-
В Windows 8.1 нажмите кнопку Пуск, начните вводить Просмотр сетевых подключений, а затем в отобразившемся списке выберите Просмотр сетевых подключений.
-
В Windows 7 откройте раздел Сетевые подключения. Для этого нажмите кнопку Пуск и выберите Панель управления. В поле поиска введите адаптер, а затем в разделе Центр управления сетями и общим доступом выберите Просмотр сетевых подключений.
-
-
Щелкните правой кнопкой мыши подключение, которое вы хотите изменить, и выберите Свойства. Если требуется ввести пароль администратора или подтвердить действие, введите пароль или предоставьте подтверждение.
-
Откройте вкладку Сеть . В разделе Отмеченные компоненты используются этим подключением выберите либо IP версии 4 (TCP/IPv4), либо IP версии 6 (TCP/IPv6), а затем нажмите кнопку Свойства.
-
Чтобы указать параметры IP-адреса IPv4, выполните одно из указанных ниже действий.
-
Чтобы автоматически получать параметры IP-адреса с помощью DHCP, выберите Получить IP-адрес автоматически, а затем нажмите кнопку ОК.
-
Чтобы указать IP-адрес, выберите Использовать следующий IP-адрес, а затем в полях IP-адрес, Маска подсети и Основной шлюз введите параметры IP-адреса.
-
-
Чтобы указать параметры IP-адреса IPv6, выполните одно из указанных ниже действий.
-
Чтобы автоматически получать параметры IP-адреса с помощью DHCP, выберите Получить IP-адрес автоматически, а затем нажмите кнопку ОК.
-
Чтобы указать IP-адрес, выберите Использовать следующий IPv6-адрес, а затем в полях IPv6-адрес, Длина префикса подсети и Основной шлюз введите соответствующие параметры IP-адреса.
-
-
Чтобы указать параметры адреса DNS-сервера, выполните одно из указанных ниже действий.
-
Чтобы автоматически получать адрес DNS-сервера с помощью DHCP, выберите Получить адрес DNS-сервера автоматически, а затем нажмите кнопку ОК.
-
Чтобы указать адрес DNS-сервера, выберите Использовать следующие адреса DNS-серверов, а затем в полях Предпочитаемый DNS-сервер и Альтернативный DNS-сервер введите адрес основного и дополнительного DNS-серверов.
-
-
Чтобы изменить дополнительные параметры DNS, WINS и IP-адреса, нажмите кнопку Дополнительно.
Примечание: Чтобы установить IPv4, запустите командную строку с правами администратора, введите netsh interface ipv4 install, а затем нажмите клавишу ВВОД.
Нужна дополнительная помощь?
При изменении параметров сети вручную в Windows 10 или Windows 11 через интерфейс приложения «Параметры» вы можете столкнуться с сообщением «Не удается сохранить параметры IP. Проверьте один или несколько параметров и повторите попытку».
В этой инструкции подробно о том, чем может быть вызвана проблема и как исправить ошибку сохранения параметров IP для рассматриваемой ситуации.
Указание длины префикса подсети вместо маски подсети, ошибки в указании IP
Чаще всего в последних версиях системы проблема вызвана тем, что в поле «Длина префикса подсети» пользователь указывает не длину (от 1 до 64 для IPv4 и от 1 до 128 для IPv6), а маску подсети, например, 255.255.255.0 — такой вариант больше не работает.
Для «стандартной» маски подсети 255.255.255.0 длина префикса будет равна 24 и именно её следует указать в соответствующем поле в параметрах — в этом случае ошибка «Не удается сохранить параметры IP» не появится.
И, на всякий случай, ещё одна возможная причина: ошибки, опечатки в указании IP-адресов — всё это тоже может привести к той же ошибке: например, вы указали в адресе меньше (или больше) разрядов чем возможно для IP-адреса, выходящие за диапазон 0-255 значения, использовали запятую вместо точки.
Изменение параметров IP через панель управления
Нельзя исключать вариант, что интерфейс изменения настроек IP через «Параметры» по какой-то причине сбоит, в этом случае можно использовать стандартный интерфейс панели управления для того, чтобы задать параметры IP вручную:
- Нажмите клавиши Win+R на клавиатуре, введите ncpa.cpl и нажмите Enter.
- В открывшемся окне выберите сеть, для которой требуется изменить параметры, нажмите по ней правой кнопкой мыши и выберите пункт «Свойства».
- В списке компонентов сети выберите протокол, для которого будут изменяться параметры, например, IP версии 4 (TCP/IPv4) и нажмите кнопку «Свойства».
- Задайте нужные параметры IP и сохраните их.
При использовании интерфейса панели управления проблем с изменением параметров обычно не возникает (при условии, что у вас есть права администратора в системе).
Если и этот способ не срабатывает, попробуйте сбросить IP перед его изменением с помощью двух команд в командной строке, запущенной от имени администратора:
ipconfig /release ipconfig /renew
Видео
Возникла у меня идея познакомить публику Хабра с IPv6 и настройкой протоколов на основе этого замечательного и еще плохо изученного сетевыми специалистами протокола. Для этих целей я остановлюсь на двух основных вендорах, это Juniper и Cisco. Моя статья будет состоять из трех частей. В первой части я соберу всю самую скучную, но очень нужную теорию. Рассмотрим поля протокола ipv6, принципы работы, разбиение на подсети и поставлю себе задачу, как можно больше акцентировать внимание на отличии его от любимого IPv4.
Ну что же, начнем, и начнем мы с плана.
План
• Заголовок IPv6 в сравнении с IPv4
• Представление IPv6-адресов
• Типы совместного использование протоколов IPv4 и IPv6
• Типы адресов
• Разбиение на подсети
Введение
Истощение адресного пространства IPv4 были мотивирующими факторами для перехода к IPv6.С тех пор как Африка, Азия и другие регионы мира приобретают все больше подключений к глобальной сети интернет, что приводит к нехватке адресов IPv4.В понедельник 31 января 2011 года IANA выделила последние ,8 блоков IPv4 адресов для RIRs.По прогнозам специалистов эти адреса будут заняты в период с 2015-2020.Но кроме нехватки адресного пространства,IPv6 имеет некоторые преимущества перед IPv4, об этом мы и поговорим в данной статье. Протокол IPv6 разработан как преемник протокола IPv4. В протоколе IPv6 больше 128-битного адресного пространства, что достаточно для 340 ундециллионов адресов. (Это число 340, за которым следует 36 нолей.) Однако IPv6 — не просто большие адреса. Когда специалисты IETF начали разработку преемника IPv4, они использовали эту возможность для устранения ограничений протокола IPv4 и внесения дополнительных улучшений.
Программисты постоянно соревнуются со Вселенной: они пытаются создать всё более идиотоустойчивые программы, а Вселенная создаёт всё более совершенных идиотов. Пока что Вселенная побеждает. (Rich Cook)
Заголовок IPv6 в сравнении с IPv4
Одним из основных конструктивных улучшений протокола IPv6 по сравнению с IPv4 является упрощённый заголовок IPv6. Заголовок IPv4 состоит из 20 октетов (до 60 байт, если используется поле «Параметры») и 12 основных полей заголовка, не учитывая поля «Параметры» и «Заполнитель». Заголовок IPv6 состоит из 40 октетов (главным образом из-за длины адресов IPv6 источника и назначения) и 8 полей заголовков (3 основных поля заголовков IPv4 и 5 дополнительных полей). Кроме того, в IPv6 добавлено новое поле, которое не используется в протоколе IPv4. Упрощённый заголовок IPv6 предлагает ряд преимуществ по сравнению с IPv4: повышенная эффективность маршрутизации для масштабируемости производительности и скорости пересылки; не требуется обработка контрольных сумм; упрощённые и более эффективные механизмы заголовков расширений (в отличие от поля «Параметры» в IPv4); поле «Метка потока» предназначена для обработки по потокам без необходимости открывать транспортный внутренний пакет для определения различных потоков трафика. В заголовке пакета IPv6 используются следующие поля:
Версия: поле, содержащее 4-битное двоичное значение, которое определяет версию IP-пакета. Для пакетов IPv6 в этом поле всегда указано значение 0110.
Класс трафика: 8-битное поле, соответствующее полю «Дифференцированные сервисы (DS)» в заголовке IPv4. Оно также содержит 6-битное значение точки кода дифференцированных сервисов (DSCP), которое используется для классификации пакетов, а также 2-битное значение явного уведомления о перегрузке (ECN), используемое для управления перегрузками трафика.
Метка потока: 20-битное поле, предоставляющее специальную службу для приложений реального времени. Используя это поле, маршрутизаторам и коммутаторам передается информация о необходимости поддерживать один и тот же путь для потока пакетов, что поможет избежать их переупорядочивания.
Длина полезной нагрузки: 16-битное поле, соответствующее полю «Общая длина» в заголовке IPv4. Оно определяет размер всего пакета (фрагмента), включая заголовок и дополнительные расширения.
Следующий заголовок: 8-битное поле, соответствующее полю «Протокол» в заголовке IPv4. Оно указывает тип полезной нагрузки данных, которые переносит пакет, что позволяет сетевому уровню пересылать данные на соответствующий протокол более высокого уровня. Это поле также используется в тех случаях, когда в пакет IPv6 добавляются дополнительные заголовки расширений.
Предел перехода: 8-битное поле, заменяющее поле «Время существования» (TTL) в IPv4. Это значение уменьшается на единицу каждым маршрутизатором, пересылающим пакет. Когда счетчик достигает 0, пакет отбрасывается, и на отправляющий узел пересылается сообщение ICMPv6, которое означает, что пакет не достиг своего назначения.
Адрес источника — 128-битовое поле, определяющее IPv6-адрес принимающего узла.
Адрес назначения: 128-битное поле, определяющее IPv6-адрес принимающего узла.
»
Основная проблема программистов состоит в том, что их ошибки невозможно предугадать. (Seymour Cray)
Представление IPv6-адресов
Длина IPv6-адресов составляет 128 бит, написанных в виде строки шестнадцатеричных значений.бита представлены одной шестнадцатеричной цифрой, причём общее количество шестнадцатеричных значений равно 32. Примеров перевода из шестнадцатеричной системы счисления в двоичную и десятичную в данной статье не будет. Любой уважающий себя сетевой специалист должен уметь в уме переводить из разных систем счисления, ведь не за красивые глазки сетевые специалисты получают деньги — и не маленькие.
Опишем два важных правила для правильного представления IPv6 адресов.
1) Правило номер 1:
Первое правила для сокращения записи IPv6-адресов — пропуск всех ведущих 0 в шестнадцатеричной записи. Например:
01AB можно представить как 1AB
09F0 можно представить как 9F0
0A00 можно представить как A00
00AB можно представить как AB
Это правило применяется только к ведущим нулям, а НЕ к последующим, иначе адрес будет записан неясно. Например, шестнадцатеричное число «ABC» может быть представлено как «0ABC» или «ABC0».
2) Правило номер 2:
Второе правила для сокращения записи адресов IPv6 заключается в том, что двойное двоеточие (::) может заменить любую единую, смежную строку одного или нескольких 16-битных сегментов (хекстетов), состоящих из нулей. Двойное двоеточие (::) может использоваться в адресе только один раз.
Неверный адрес:
2001:0DB8::ABCD::1234
Возможные расширения неоднозначно записанных сжатых адресов:
2001:0DB8::ABCD:0000:0000:1234
2001:0DB8::ABCD:0000:0000:0000:1234
2001:0DB8:0000:ABCD::1234
2001:0DB8:0000:0000:ABCD::1234
Для начала изучите теорию. Затем обретите собственный стиль программирования. И, наконец, забудьте об этой ерунде и просто пишите код. (George Carrette)
Типы совместного использование протоколов IPv4 и IPv6
Двойной стек: двойной стек позволяет протоколам IPv4 и IPv6 сосуществовать в одной сети. Устройства с двойным стеком одновременно работают с протокольными стеками IPv4 и IPv6 (рисунок прилагается):
Туннелирование — это способ транспортировки IPv6-пакетов через IPv4-сеть. IPv6-пакет инкапсулируется внутри IPv4-пакета, как и другие типы данных
Преобразование — преобразование сетевых адресов 64 (NAT64) позволяет устройствам под управлением IPv6 обмениваться данными с устройствами под управлением IPv4 с помощью метода преобразования, похожего на метод преобразования из NAT для IPv4. IPv6-пакет преобразовывается в пакет IPv4-пакет и наоборот.
Для начала изучите теорию. Затем обретите собственный стиль программирования. И, наконец, забудьте об этой ерунде и просто пишите код. (George Carrette)
Типы IPv6- адресов
Существует три типа IPv6–адресов:
Unicast (индивидуальный) – Служит для определения интерфейса на устройстве под управлением протокола IPv6
Multicast (Групповой) – Используется для отправки пакетов по нескольким адресам назначения (Заменил собой Broadcast адрес, имеется IPv6- адрес для всех узловБкоторый дает аналогичный результат.)
Anycast (Произвольный) – Любой индивидуальный адрес, который может быть назначен нескольким устройствам. Пакет, отправляемый на адрес произвольной рассылки, направляется к ближайшему устройству с этим адресом.
Для ознакомления с типами адресов нам понадобится следующая информация: префикс, или сетевая часть адреса IPv4, может быть обозначен маской подсети в десятичном формате с разделительными точками или длиной префикса (запись с наклонной чертой). Например, IP-адрес 192.170.6.11 с маской подсети в десятичном формате с разделительными точками 255.255.255.0 эквивалентен записи 192.170.6.11/24.
Протокол IPv6 использует длину префикса для обозначения части префикса адреса. IPv6 не использует для маски подсети десятичное представление с разделительными точками. Длина префикса обозначает сетевую часть IPv6-адреса с помощью адреса или длины IPv6-префикса.Диапазон длины префикса может составлять от 0 до 128. Традиционная длина IPv6-префикса для локальных и других типов сетей — /64. Это означает, что длина префикса, или сетевая часть адреса, составляет 64 бита, а оставшиеся 64 бита остаются для идентификатора интерфейса (узловой части) адреса.
Образование в сфере компьютерных технологий точно так же не сделает из вас отличного программиста, как изучение кистей и красок не сделает вас прекрасным художником. (Eric Raymond)
Unicast IPv6 адреса
Unicast адрес служит для определения интерфейса устройства под управлением протокола IPv6. Пакет, который отправляется на unicast адрес, будет получен интерфейсом, присвоенным для этого адреса. Как и в случае с протоколом IPv4, IPv6-адрес должен быть индивидуальным.
Существует шесть типов Unicast адресов:
Global unicast адрес
Global unicast адрес мало чем отличается от публичного IPv4-адреса. Эти адреса, к которым можно проложить маршрут по Интернету, являются уникальными по всему миру. Глобальные индивидуальные адреса могут быть настроены статически или присвоены динамически.
Link-local
Local IPv6-адрес канала позволяет устройству обмениваться данными с другими устройствами под управлением IPv6 по одному и тому же каналу и только по данному каналу (подсети). Пакеты с локальным адресом канала источника или назначения не могут быть направлены за пределы того канала, в котором пакет создаётся. В отличие от локальных IPv4-адресов канала, локальные адреса канала IPv6 играют важную роль в различных аспектах сети. Глобальный индивидуальный адрес не обязателен. Однако для содержания локального адреса канала необходим сетевой интерфейс под управлением протокола IPv6. Если локальный адрес канала не настроен вручную на интерфейсе, устройство автоматически создаёт собственный адрес, не обращаясь к DHCP-серверу. Узлы под управлением IPv6 создают локальный IPv6-адрес канала даже в том случае, если устройству не был назначен глобальный IPv6-адрес. Это позволяет устройствам под управлением IPv6 обмениваться данными с другими устройствами под управлением IPv6 в одной подсети, в том числе со шлюзом по умолчанию (маршрутизатором). Локальные IPv6-адреса канала находятся в диапазоне FE80::/10. /10
Loopback
Loopback-адрес используется узлом для отправки пакета самому себе и не может быть назначен физическому интерфейсу. Как и на loopback-адрес IPv4, для проверки настроек TCP/IP на локальном узле можно послать эхо-запрос на loopback-адрес IPv6. Loopback-адрес IPv6 состоит из нулей, за исключением последнего бита, который выглядит как ::1/128 или просто ::1 в сжатом формате.
Unspecified address
Неопределённый адрес состоит из нулей и в сжатом формате представлен как ::/128 или просто :: Он не может быть назначен интерфейсу и используется только в качестве адреса источника в IPv6-пакете. Неопределённый адрес используется в качестве адреса источника, когда устройству еще не назначен постоянный IPv6-адрес или когда источник пакета не относится к месту назначения.
Unique local
Unique local — IPv6-адреса имеют некоторые общие особенности с частными адресами RFC 1918 для IPv4, но при этом между ними имеются и значительные различия. Уникальные локальные адреса используются для локальной адресации в пределах узла или между ограниченным количеством узлов. Эти адреса не следует маршрутизировать в глобальном протоколе IPv6. Уникальные локальные адреса находятся в диапазоне от FC00::/7 до FDFF::/7.В случае с IPv4 частные адреса объединены с преобразованием сетевых портов и адресов (NAT/PAT) для обеспечения преобразования адресов из частных в публичные. Это делается из-за недостатка адресного пространства IPv4. На многих сайтах также используют частный характер адресов RFC 1918, чтобы обеспечить безопасность или защитить сеть от потенциальных угроз. Однако такая мера никогда не была целью использования данных технологий, и организация IETF всегда рекомендовала предпринимать правильные меры предосторожности при работе маршрутизатора в Интернете. Хотя протокол IPv6 обеспечивает особую адресацию для сайтов, он не предназначен для того, чтобы скрывать внутренние устройства под управлением IPv6 от Интернета IPv6. IETF рекомендует ограничивать доступ к устройствам с помощью наилучших мер безопасности
IPv4 embedded
Последними из рассматриваемых типов индивидуальных адресов являются встроенные IPv4-адреса. Использование этих адресов способствует переходу с протокола IPv4 на IPv6.
Global unicast адрес
Global unicast IPv6-адреса уникальны по всему миру и доступны для маршрутизации через Интернет IPv6. Эти адреса эквивалентны публичным IPv4-адресам. В настоящее время назначаются только глобальные индивидуальные адреса с первыми тремя битами 001 или 2000::/3. Это лишь 1/8 от всего доступного адресного пространства IPv6. Адрес 2001:0DB8::/32 был зарезервирован для документации, в том числе для использования в примерах.
Глобальный индивидуальный адрес состоит из трёх частей:
Префикс глобальной маршрутизации — Префикс глобальной маршрутизации — это префиксальная или сетевая часть адреса, назначаемая интернет-провайдером заказчику или узлу. В настоящее время /48 является префиксом глобальной маршрутизации, который в настоящее время интернет-регистраторы назначают своим заказчикам — корпоративным сетям и индивидуальным пользователям. Этого адресного пространства более чем достаточно для большинства заказчиков.
Идентификатор подсети — Идентификатор подсети используется организациями для обозначения подсетей в каждом узле.
Идентификатор интерфейса — Идентификатор IPv6-интерфейса эквивалентен узловой части адреса IPv4-адреса. Термин «идентификатор интерфейса» используется в том случае, когда один узел может иметь несколько интерфейсов, каждый из которых обладает одним или более IPv6-адресами.
Процесс EUI-64 – Организация IEEE разработала расширенный уникальный идентификатор (EUI) или изменённый процесс EUI-64. Этот процесс использует 48-битный MAC-адрес Ethernet клиента и в середину этого адреса вставляет ещё 16 бит для создания 64-битного идентификатора интерфейса. Преимущество EUI-64 MAC-адреса Ethernet заключается в том, что его можно использовать для определения идентификатора интерфейса. Кроме того, сетевые администраторы могут легко отслеживать IPv6-адрес до конечных устройств с помощью уникального МАС-адреса. Однако это беспокоит других пользователей в связи с угрозой их конфиденциальности. Они обеспокоены тем, что их пакеты можно отследить до физического компьютера. Чтобы избежать таких осложнений, можно использовать случайно сгенерированный идентификатор интерфейса. В зависимости от операционной системы устройство может использовать случайно сгенерированный идентификатор интерфейса вместо МАС-адресов и EUI-64. Вся эта операция нужна в случае настройки DHCPv6
В мире нет такого языка программирования, на котором разработчики не смогли бы написать плохую программу. (Larry Flon)
Multicast IPv6
Мало чем отличаются от multicast IPv4-адресов. Как вы помните, multicast адрес используется для отправки одного пакета по одному или нескольким назначениям (группе мультивещания). Multicast IPv6-адреса имеют префикс FF00::/8. Multicast адреса могут быть только адресами назначения, а не адресами источника. Существует два типа:
1) групповые IPv6-адреса:
2) присвоенный групповой адрес;
1) Групповой адрес запрошенного узла. Присвоенные групповые адреса зарезервированы для заданных групп устройств. Присвоенный групповой адрес — это один адрес, используемый для осуществления связи с группой устройств, работающих на одном протоколе или сервисе. Присвоенные групповые адреса используются вместе с конкретными протоколами, например с протоколом DHCPv6.
Рассмотрим две распространённые группы присвоенных групповых IPv6-адресов.
Группа мультивещания для всех узлов FF02::1 — Это группа мультивещания, к которой подключены все устройства под управлением протокола IPv6. Пакет, отправленный этой группе, получается и обрабатывается всеми IPv6-интерфейсами в канале или сети. Эта группа адресов работает так же, как широковещательный адрес в протоколе IPv4.
Группа мультивещания для всех маршрутизаторов FF02::2 — Это группа мультивещания, к которой подключены все IPv6-маршрутизаторы. Пакет, отправленный этой группе, получается и обрабатывается всеми IPv6-маршрутизаторами в канале или сети.
Групповой адрес запрашиваемого узла — это адрес, который соответствует только 24 битам глобального индивидуального IPv6-адреса устройства. Обрабатывать эти пакеты должны только те устройства, которые имеют аналогичные 24 бита в наименее значащей, крайней правой части идентификатора интерфейса.
2) Групповой IPv6-адрес запрашиваемого узла создаётся автоматически при назначении глобального индивидуального адреса или локального адреса канала. Групповой IPv6-адрес запрашиваемого узла создаётся посредством объединения специального префикса FF02:0:0:0:0:1:FF00::/104 с крайними правыми 24 битами его индивидуального адреса.
Групповой адрес запрашиваемого узла состоит из 2 частей.
Групповой префикс FF02:0:0:0:0:1:FF00::/104: первые 104 бита группового адреса запрашиваемого узла.
Наименее значимые 24 бита: последние или крайние правые 24 бита группового адреса запрашиваемого узла. Эти биты копируются из крайних правых 24 битов глобального индивидуального адреса или локального адреса канала устройства.
Существует вероятность того, что у нескольких устройств будет один и тот же групповой адрес запрашиваемого узла. Довольно редко в идентификаторах интерфейса устройств встречаются одинаковые крайние правые 24 бита. Это не влечёт за собой никаких проблем, поскольку устройство по-прежнему будет обрабатывать инкапсулированное сообщение, в котором содержится полный IPv6-адрес запрашиваемого устройства.
Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения. (Edsger W. Dijkstra)
Разбиение на подсети
Разбиение IPv6-сети на подсети подразумевает использование другого подхода, чем разбиение на подсети IPv4-сети. Пространство IPv6-адресов разбивается не с целью экономии адресов, а для обеспечения иерархической логической структуры сети. Разбиение на подсети в IPv6 возможна двумя вариантами, которые я ниже изложу и дополню картинками для лучшего понимания.
Разбиение на подсети с использованием идентификатора подсети: Как вы помните, блок IPv6-адресов с префиксом /48 содержит 16 бит идентификатора подсети, как показано на рисунке. Разбиение на подсети с использованием 16 бит идентификатора подсети даёт 65 536 возможных подсетей /64. Поэтому нет необходимости заимствовать биты из идентификатора интерфейса или узловой части адреса. Каждая IPv6-подсеть /64 содержит примерно 18 квинтиллионов адресов, что, как очевидно, гораздо больше, чем когда-либо понадобится в одном сегменте IP-сети.Подсети, созданные из идентификатора подсети, легко представить, поскольку не нужно выполнять преобразование в двоичный формат. Чтобы определить следующую доступную подсеть, достаточно рассчитать следующее шестнадцатеричное число.Необходимо применить расчёт части идентификатора подсети в шестнадцатеричной системе счисления.Префикс глобальной маршрутизации является одинаковым для всех подсетей. Для каждой подсети увеличивается только четырёхразрядный байт идентификатора подсети.
Разбиение на подсети с использованием идентификатора интерфейса — В IPv6-сетях по аналогии с заимствованием бит из узловой части IPv4-адреса можно позаимствовать биты из идентификатора интерфейса для создания дополнительных IPv6-подсетей. Как правило, это делается по соображениям безопасности, чтобы уменьшить число узлов в подсети и создавать дополнительные подсети. При расширении идентификатора подсети путём заимствования бит из идентификатора интерфейса рекомендуется создавать подсеть на границе полубайта. Полубайт — это 4 бита или одна шестнадцатеричная цифра. Префикс подсети /64 расширяется на четыре бита или один полубайт до подсети /68. Это позволяет уменьшить размер идентификатора на 4 бита (с 64 до 60). Разбиение на подсети по границе полубайта имеет значение только для масок подсетей, выровненных по полубайту. Начиная с /64, масками подсети, выровненными по полубайту, будут являться маски /68, /72, /76, /80 и т. д. Разбиение на подсети по границе полубайта позволяет создать подсети с использованием дополнительного шестнадцатеричного значения. Можно создать подсеть в пределах полубайта, используя шестнадцатеричную цифру, однако это не рекомендуется и, кроме того, в этом нет необходимости. Разбиение на подсети в пределах полубайта сводит на нет преимущества быстрого определения префикса из идентификатора интерфейса. Например, если используется длина префикса /66, первые два бита были бы частью идентификатора подсети, а вторые два бита — частью идентификатора интерфейса.
всегда пишите код так, как будто сопровождать его будет психопат, который знает, где вы живёте. (Martin Golding)
Список используемой литературы
1) Cisco CCNA RS
2) Cisco CCNP RS
3) IP Version 6 in Junos (EDU-JUN-IPV6)
4) XGU.RU
Выше я описал основные моменты IPv6 его отличия от IPv4. В следующих частях будет больше практической работы. Напомню, во второй части будет описана настройка основных протоколов на оборудовании CIsco, также опишу принцип работы DHCPV6. В третьей части будет описана настройка IPv6 уже на оборудовании Juniper.
Сети это круто, сетевой специалист звучит гордо.вторая часть здесь
Всем доброго времени суток! Из-за обилия чуши в интернете по данной тематике я решил написать собственную подробную и интересную статью, которая наконец-то раскроет вопрос: а что же такое маска подсети, для чего она нужна и где её принимать. Статья подойдёт как для чайников, так и для начинающих специалистов.
Содержание
- IP и маска
- Передача данных
- Задать вопрос автору статьи
IP и маска
Начнем, наверное, с самого начала, а именно с разбора IP 4-ой версии. IPv4 – применяется повсеместно почти во всех сетевых устройствах. Данный параметр нужен для адресации пакетов, а также для обозначения сетевого устройства. Всё аналогично, как на почте – без адреса почтальон не будет знать, куда отправлять информацию.
IPv4 состоит из 32 бита – например, 192.168.28.32. Каждая цифра кодируется в 8 битах и поэтому имеет максимальное число вариантов – 255. В итоге у нас получается диапазон от 0.0.0.0 до 255.255.255.255. Помимо IPv4, есть также и IPv6, который имеет бОльшую длину адреса – 128 бит.
Один бит может принимать вид нуля и единицы – именно эту информацию может понимать компьютер, современный смартфон, телевизор и другие устройства. А так как у нас этих битов 32, то суммарное количество адресов IPv4, которые могут существовать: 232 = 4 294 967 296.
ПРИМЕЧАНИЕ! Достаточно много «АйПи» зарезервированы под какие-то нужды. К таким адресам относят: 255.255.255.255, 0.0.0.0, 0.0.0.1 и т.д.
Итак, у нас есть 4 байтовый или 32 битовый адрес. Чаще всего один кусок адреса называют именно байтом, или так называемыми «октетом». Октет – это 1 байт адреса IPv4. Для удобства представления разделяются точками – так проще воспринимается информация.
Дома в домашних роутерах чаще всего используют 255.255.255.0 или 24я маска. Также часто используют:
- 29 – 255.255.255.248
- 30 – 255.255.255.252
- 27 – 255.255.255.224
- 26 – 255.255.255.192
- 32 – 255.255.255.255 (имеет только один узел)
- 23 – 255.255.254.0
Как определить маску подсети? Тут все зависит от потребности сети, а также от количества подсетей. Для шпаргалки можете сохранить верхнюю таблицу. Маску определяет системный администратор или инженер.
Передача данных
Как вы, наверное, знаете – информация в сети передается пакетами, примерно также как на почте. В пакете также есть и заголовок, где прописаны два адреса:
- Source IP – от кого отсылается пакет.
- Destination IP – к кому отсылать пакет.
Никакой маски в передаваемой информации нет, также сам адрес представлен в чистом виде без точек, запятых и без каких-либо разделителей – «голые» 4 байта. И тут сразу встает вопрос – а для чего тогда вообще нужна маска подсети, и где её применяют? – Вот мы и подошли к самой сути. В пакете информации маски нет. Так как она тут просто не нужна. Но вот при присвоении адреса какому-то устройству: будь это компьютер, смартфон, телевизор, сервер – каждому устройству также приписывается маска подсети.
Маска подсети (Mask) – позволяет понять компьютеру или другому сетевому устройству, в какой границе он находится по отношению к другим устройствам. Чтобы он понимал – что те или иные устройства находятся в одной с компьютером сети или нет. Если говорить вообще сельским языком: «С нашего двора или нет?!».
Для чего это вообще нужно? А нужно это для того, чтобы можно было отправлять пакеты информации напрямую. Например, если вы живете в одном городе с другом, то вам проще и быстрее сходить к нему в гости и передать что-то лично в руки. Но если друг живет за пределом города, то проще уже отправить посылку с помощью почты.
Аналогично все происходит в сети. Если устройство находится в пределах одной подсети (можно говорить и просто «сети»), то отправка идет напрямую. Если же устройство находится где-то там, то пакет отправляется через шлюз.
Теперь давайте посмотрим, какой же вид имеет маска сети. Самое главное правило, что при переводе в двоичный код (1 и 0), мы можем видеть строгое разделение единиц (1) и нулей (0).
255.255.248.0 = 11111111.11111111.11111000.00000000
То есть, идут сначала единицы, а потом нули. Не может быть такого, что 1 и 0 постоянно меняются и чередуются: «101010001». При этом идет определенное число единиц (1), а уже потом какое-то число нулей (0). Вот как раз число нулей и является длиной маски. Компьютер определяет границу, достаточно просто. Он переводим IP и маску в двоичный код и просто побитово перемножает два этих числа.
ПРИМЕЧАНИЕ! Всё как в математике 1*1 = 1, 0*1 = 0 и 0*0=0.
11000000.10101000.00001011.00001010 (192.168.11.10)
11111111.11111111.11111000.00000000 (255.255.248.0)
=
11000000.10101000.00001000.00000000 = 192.168.8.0
СОВЕТ! Если вы начинающий системный администратор или IT инженер, то вы должны знать – как переводятся десятичные, шестнадцатеричные числа в двоичные и обратно.
В итоге мы получаем адрес подсети – 192.168.8.0. Есть ещё одно понятие – «направленный броадкаст». Его можно получить, если перевести последние используемые байты в биты, а потом нули заменить на единицы, а единицы на нули. Тогда у нас получится число 192.168.15.255.
ВНИМАНИЕ! Оба этих адреса нельзя использовать в сети.
В итоге у нас получается диапазон от 192.168.8.1 до 192.168.15.254. Можно также записать более коротко как 192.168.8.0/21. В итоге все начальные единицы – это адрес или префикс сети (192.168.х.х). Длина префикса – это начальное количество единиц и нулей до последних сплошных нулей. А все нули, которые идут в самом конце – это идентификатор хоста внутри сети.
В итоге компьютер отсылает пакет второму устройству. Если второе устройство находится в той же подсети, то отправка идет напрямую. Если же второй аппарат находится в другой сети, то пакет отправляется маршрутизатору, который чаще всего выступает шлюзом. Обычно первый сегмент сети и является шлюзом. В нашем случае – это 192.168.8.1.
ПРИМЕЧАНИЕ! При отправке пакетов напрямую, шлюз не может контролировать их. В некоторых организациях для контроля отправки пакетов сети разбивают на несколько сетей, а между ними устанавливают маршрутизаторы, через которые и идут пакеты. Их ещё часто называют «файрволами».
Давайте расскажу на примере обычного Wi-Fi роутера и локальной домашней сети. Дома стоит маршрутизатор, к которому подключены: компьютер, ноутбук, смартфон и телевизор. Роутер раздает настройки сети и присваивает им свои IP и маску. Как я и говорил ранее, чаще всего используется: 255.255.255.0.
Если компьютер отправит пакет напрямую одному из локальных устройств, то пакет отправится сразу к адресату. Но если в пакете будет указан IP, который не находится в этой сети, то он поступит сначала к шлюзу, а именно к роутеру, а он, в свою очередь, отправит его дальше в интернет сеть.
В больших организациях всё куда сложнее, так как между сетями может быть достаточно много шлюзов, хостов, а также других важных устройств. Именно поэтому IT инженеру нужно заранее просчитывать все возможные варианты резервации IP для каждого сетевого устройства.
Содержание
- Способ 1: Замена маски подсети на длину префикса
- Способ 2: Настройка IP в панели сетевых подключений
- Способ 3: «Windows PowerShell»
- Способ 4: Сброс сетевых настроек
- Вопросы и ответы
В случае если при смене IP появилась ошибка, то в первую очередь проверьте запись на наличие опечаток. Переходите к способам в статье, если уверены, что все введено правильно.
Способ 1: Замена маски подсети на длину префикса
Обычно Windows автоматически получает IP-адрес, но иногда при ручной замене адреса, маски подсети и других данных в сетевых подключениях появляется ошибка, что не удается сохранить параметры.
В последних версиях операционной системы Windows 10 все чаще стала появляться такая неполадка с IP. Это связано с тем, что ранее указанные значения маски подсети больше не работают, поскольку нужно указывать длину префикса подсети. Если раньше в настройках IP прописывалось как 255.255.255.0, то теперь нужно использовать длину, равную 24. Она может варьироваться от 1 до 64 до IPv4, а для IPv6 – от 1 до 128.
Поскольку проблема возникает во время смены IP-адреса, то нет смысла описывать алгоритм действий для перехода в системные настройки с изменением параметров. Чтобы исправить ошибку, попробуйте заменить значения подсети – с маски на длину префикса.
Проблема в том, как узнать, какая длина префикса соответствует определенному значению маски подсети. Данные, включая 32-битный адрес, которые используются с адресом узла, можно отыскать в следующей таблице:
Также можно самостоятельно рассчитать длину префикса подсети. В привычном нам виде маска десятичная, и ее нужно преобразовать в двоичную, затем подсчитать, сколько 1 в непрерывной последовательности. Например, для маски 255.0.0.0 32-битный адрес – 11111111.00000000.00000000.00000000, и это значит, что единиц – 8, то есть длина префикса равна 8-ми.
Читайте также: Перевод чисел онлайн
Способ 2: Настройка IP в панели сетевых подключений
Попробуйте изменить данные IPv4 или IPv6 другим способом – через раздел с сетевыми подключениями в классической «Панели управления»:
- Чтобы напрямую перейти в окно «Сетевые подключения», вызовите диалоговое окно «Выполнить», одновременно зажав клавиши «Win + R». В специальной строке впишите
ncpa.cpl
и нажмите на кнопку «ОК» или клавишу «Enter». - В появившемся списке отыщите то подключение, которое используется, кликните правой кнопкой мыши по его названию и из меню выберите пункт «Свойства».
- Отобразится список компонентов, в котором нужно выбрать протокол для редактирования, например «IP версии (TCP/IPv4)», выделите его и нажмите на кнопку «Свойства» ниже.
- Отметьте пункты с ручным редактированием и введите нужные значения для IP-адреса и других параметров. Сохраните настройки.
Следует отметить, что в этом случае необходимо вводить маску подсети, а не длину префикса, как в предыдущем способе.
Способ 3: «Windows PowerShell»
Изменить параметры IP сети можно и с помощью консоли Windows 10 – «PowerShell», — используя специальные команды.
- Запустите «Windows PowerShell» от имени администратора. Щелкните по иконке «Пуск» правой кнопкой мыши и из контекстного меню выберите соответствующий пункт.
- Вставьте команду
netsh interface ip show config
, чтобы открыть список сетевого оборудования с его параметрами, и нажмите на клавишу «Enter». Обратите внимание на ту строку, где есть информация об активном адаптере, и запомните его название. - Затем вставьте следующую команду с параметрами, которые соответствуют настройке сети –
netsh interface ip set address name= "имя сети" static IP-адрес маска подсети шлюз
. В нашем случае это будет выглядеть так:netsh interface ip set address name= "Ethernet" static 192.168.1.2 255.255.255.0 192.168.1.1
. Нажмите на клавишу ввода, чтобы применить настройки.
Этот способ может сработать, если изменить параметры сети через приложение «Параметры» не удается из-за ошибки. Соответственно, неполадка сохранения IP может быть устранена.
Способ 4: Сброс сетевых настроек
Восстановить работу сетевого адаптера и избавиться от ошибки, при которой не удается сохранить параметры IP, может помочь сброс настроек TCP/IP, что предполагает полное обнуление сетевых параметров компьютера. Это можно проделать несколькими способами, включая приложение «Параметры» и «Командную строку». Также есть вариант полностью переустановить драйвер сетевого оборудования. В нашем отдельном материале более подробно описана процедура сброса настроек.
Подробнее: Способы сброса сетевых параметров в Windows 10
Еще статьи по данной теме:
Помогла ли Вам статья?
В этом руководстве объясняется, как настроить адрес IPv6 в системе Windows из командной строки, а также из графического интерфейса, включая процесс автоконфигурации Stateful и Stateeless Autoconfiguration и состояния (предварительные, действительные, предпочтительные, устаревшие и недействительные) подробно с примерами.
Autoconfiguration — невероятно полезное решение, поскольку оно позволяет устройствам в сети обращаться к себе с локальным адресом одноадресной связи.
Типы автоконфигурации
Существует три типа автоконфигурации:
- Stateless конфигурация адресов и других параметров основана на получении сообщений Router Advertising. Эти сообщения имеют флаги конфигурации управляемых адресов и других состояний, установленных в 0, и они включают в себя один или несколько параметров информации о префиксах, каждый из которых имеет свой флаг автономности, установленный в 1.
- Конфигурация Stateful основана на использовании протокола конфигурации адресов, такого как DHCPv6, для получения адресов и других параметров конфигурации. Хост использует автоконфигурацию с состоянием, когда он получает сообщение с рекламой маршрутизатора без опций информации о префиксах, и либо флаг конфигурации управляемого адреса, либо флаг другой конфигурации состояния установлен на 1. Хост также может использовать автосохранение с состоянием, если на маршрутизаторе нет маршрутизаторов локальная ссылка.
- Обе конфигурации основаны на получении рекламных сообщений маршрутизатора, которые включают в себя параметры информации о префиксах, каждый из которых имеет свой флаг Автономия, установленный в 1, и имеет флаги конфигурации управляемого порта или другого состояния, установленные в 1. Для всех типов автоконфигурации ссылка, локальный адрес всегда настраивается автоматически.
Конфигурация с отслеживанием состояния
Клиент обнаруживает маршрутизатор; клиент проверяет сообщения объявления маршрутизатора, чтобы определить, был ли установлен DHCPv6. Если маршрутизатор указывает, что DHCPv6 поддерживается, или никакие сообщения объявления маршрутизатора не замечены, клиент начнет находить сервер DHCPv6, генерируя сообщение запроса DHCP. Это сообщение отправляется на адрес многоадресной рассылки All-DHCP-Agents, используя локальную область связи, чтобы гарантировать, что сообщение не передано, по умолчанию, за пределами локальной ссылки. Агент-это либо сервер DHCPv6, либо ретранслятор, например маршрутизатор.
Автоконфигурация без сохранения состояния
Автоконфигурация без состояния является расширением DHCPv6. клиент использует информацию в сообщениях объявления маршрутизатора для настройки адреса IPv6 для интерфейса. Это выполнено путем принятия первых 64 битов в адресе источника объявления маршрутизатора (префикс адреса маршрутизатора) и использования процесса EUI-64 для создания 64-разрядного идентификатора интерфейса. Автоконфигурация без сохранения состояния была разработана в основном для мобильных телефонов, кпк, домашней сети и оборудования устройства для автоматического назначения адресов без необходимости управлять инфраструктурой DHCP-сервера.Обычно маршрутизаторы генерируют периодические сообщения объявления маршрутизатора (RA), которые клиент может слушать, а затем использовать для автоматического создания своего адреса связи; однако, когда клиент загружается, ожидание RA может занять некоторое время. В этой ситуации клиент будет генерировать сообщение запроса маршрутизатора, попросив маршрутизатор Ответить С RA, таким образом, клиент может генерировать свой адрес интерфейса.
Автоконфигурированные Состояния Адресов
Адреса Autoconfigured находятся в одном или нескольких из следующих состояний
- Ориентировочный адрес в процессе проверки на уникальность. Проверка выполняется путем обнаружения дубликатов адресов. Узел не может получать одноадресный трафик на предварительный адрес. Это может, однако, получить и обработать сообщения объявления Многоадресного соседа, отправленные в ответ на сообщение запроса соседа, которое было отправлено во время обнаружения дублирующего адреса.
- Действительный адрес может быть использован для отправки и приема одноадресного трафика. Допустимое состояние включает предпочтительное и устаревшее состояния. Сумма времени, в течение которого адрес остается в предварительном, предпочтительном и устаревшем состояниях, определяется полем допустимое время жизни в опции Префикс Information Сообщения объявления маршрутизатора или поле допустимое время жизни опции адреса DHCPV6 IA (Identity Association).
- Выбранный адрес является действительным, его уникальность была проверена, и он может быть использован для неограниченного общения. Узел может отправлять и получать одноадресный трафик с предпочтительного адреса. Период времени, в течение которого адрес может оставаться в предварительном и предпочтительном состояниях, определяется предпочтительным полем времени жизни в опции информации о Префиксе Сообщения объявления маршрутизатора или предпочтительным полем времени жизни опции адреса IA DHCPv6.
- Устаревший адрес является действительным, и его уникальность была проверена, но ее использование не рекомендуется для новых коммуникаций. Существующие сеансы связи могут по-прежнему использовать устаревший адрес. Узел может отправлять и получать одноадресный трафик на устаревший адрес и с него.
- Неверный адрес не может быть использован для отправки и приема одноадресного трафика. Адрес переходит в недопустимое состояние после истечения срока действия.
Процесс Автоконфигурации
Процесс автонастройки адреса, определенный в RFC 4862 для физического интерфейса узла IPv6, является следующим
- Предварительный локальный для канала адрес является производным на основе локального для канала префикса FE80:: / 64 и идентификатора интерфейса eui–64.
- Используя обнаружение дубликатов адресов для проверки уникальности предварительного локального адреса канала, сообщение запроса соседа отправляется с полем целевого адреса, которое установлено на предварительный локальный адрес канала.
- Если сообщение объявления соседа (отправленное в ответ на сообщение запроса соседа) получено, это указывает, что другой узел на локальном канале использует предварительное соединение-локальный адрес и автоконфигурация адреса останавливается. На этом этапе ручная настройка должна быть выполнена на узле.
- Если сообщение объявления соседа (отправленное в ответ на сообщение запроса соседа) не получено, предварительный локальный адрес ссылки считается уникальным и допустимым. Для интерфейса инициализируется локальный адрес. Адрес Групповой адресации на уровне канала адреса запрашиваемого узла, соответствующего локальному адресу канала связи, зарегистрирован в сетевом адаптере.
Для узла IPv6 автоконфигурация адресов продолжается следующим образом
- Хост отправляет сообщение запроса маршрутизатора. В то время как маршрутизаторы периодически передают объявления маршрутизатора, хост передает сообщение запроса запроса маршрутизатора к немедленному объявлению маршрутизатора, вместо того, чтобы ждать до следующего объявления маршрутизатора. По умолчанию отправляется до трех Сообщений запроса маршрутизатора.
- Если Сообщения объявления маршрутизатора не получены, хост использует протокол конфигурации адреса для получения адресов и других параметров конфигурации.
- Если сообщение объявления маршрутизатора получено, лимит перехода, достижимое время, Таймер ретрансляции и максимальный блок передачи (если эта опция присутствует) установлены.
- Для каждого параметра Префикс информация присутствует следующие действия:
- Если флаг 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
Случайным образом производным идентификатором интерфейса вероятность дублирования локального адреса канала очень мала. Таким образом, компьютеры под управлением Windows Server 2008 или Windows Vista не ждут завершения обнаружения дубликатов адресов (DAD) перед отправкой запросов маршрутизатора или отчетов об обнаружении прослушивателя многоадресной рассылки, используя свои производные локальные адреса. Это известно как optimistic DAD.
Компьютеры под управлением Windows Server 2008 или Windows Vista не предпринимают попытку автонастройки адресов с отслеживанием состояния с помощью DHCPv6, если не были получены объявления маршрутизатора.
RFC 4862 не требует определенного заказа для отправки первоначального запроса маршрутизатора и выполнения обнаружения дублирующегося адреса для производного локального адреса канала. Протокол IPv6 для Windows Server 2008 и Windows Vista отправляет сообщение запроса маршрутизатора перед выполнением обнаружения дубликатов адресов на локальном адресе канала. Таким образом, обнаружение дубликатов адресов и обнаружение маршрутизатора выполняются параллельно, чтобы сэкономить время во время процесса инициализации интерфейса.
Если полученный локальный адрес связи — это дубликат, автоконфигурация адреса без сохранения состояния для протокола IPv6 для Windows Server 2008 и Windows Vista может продолжаться с получением сообщения многоадресной рассылки маршрутизатора, содержащего локальные, уникальные локальные или глобальные префиксы сайта. Попытка локального адреса ссылки отображается с состоянием «Дубликат» на дисплее командой netsh interface ipv6 show address
и локальный, локальный или глобальный адрес сайта, а не дублирующий локальный адрес — используется для процессов обнаружения соседей.
Автоконфигурированные адреса для протокола IPv6 для Windows Server 2008 и Windows Vista
По умолчанию для IPv6-протокола для Windows Server 2008 и Windows Vista автоматически настроены следующие адреса IPv6:
- Локальные адреса, использующие случайные производные интерфейсные идентификаторы, назначаются всем интерфейсам локальной сети (LAN).
- Если он включен в качестве префикса локального сайта в опции «Информация о префиксах» в рекламе маршрутизатора с установленным в 1 Автономным флагом, локальный адрес сайта, используя случайный идентификатор интерфейса, назначается интерфейсу LAN, который получил рекламу маршрутизатора.
- Если он включен в качестве глобального или уникального локального префикса в опцию «Информация о префиксах» в рекламе маршрутизатора с установленным значением 1 для автономного флага, глобальный или уникальный локальный адрес с использованием случайного производного постоянного идентификатора интерфейса назначается интерфейсу LAN, который получил рекламу маршрутизатора.
- Если он включен в качестве глобального или уникального локального префикса в опцию «Информация о префиксах» в рекламе маршрутизатора с установленным в 1 Автономным флагом, временному глобальному или уникальному локальному адресу с использованием временного идентификатора временного интерфейса назначается интерфейс LAN, который получил маршрутизатор Реклама. Это поведение по умолчанию для Windows Vista. Окно Server 2008 не создает временные адреса по умолчанию. Вы можете включить временные адреса с помощью интерфейса netsh ipv6, установленного для обеспечения конфиденциальности.
- Если флаг M установлен в 1 в принятом рекламном сообщении маршрутизатора, для IP-адреса с поддержкой протокола IPv6 на основе области DHCPv6 для подсети назначается интерфейс LAN, который получил сообщение ответа DHCPv6.
- Если общедоступные IPv4-адреса назначены на интерфейсы компьютера, и нет глобальных или уникальных локальных префиксов автоконфигурации, полученных в рекламных сообщениях маршрутизатора, соответствующие 6to4-адреса с использованием идентификаторов интерфейса 6to4 назначаются интерфейсу туннелирования 6to4. 6to4 описывается в RFC 3056.
- Для компьютеров под управлением Windows Vista для всех адресов IPv4, назначенных для интерфейсов компьютера, соответствующие локальные локальные адреса с использованием идентификаторов интерфейса внутрисайтового автоматического туннельного адресата (ISATAP) (::0:5EFE:w.x.y.z or ::200:5EFE:w.x.y.z) назначаются интерфейсу туннелирования ISATAP. ISATAP описан в RFC 4214.
- Если он включен как глобальный, уникальный локальный или локально-локальный префикс в информации о префиксах рекламы маршрутизатора, полученной на интерфейсе ISATAP, глобальном, уникальном локальном или локальном адресе сайта с использованием идентификатора интерфейса ISATAP, соответствующего IPv4 адрес, который является лучшим источником для доступа к маршрутизатору ISATAP, назначается интерфейсу ISATAP.
Адрес петлевой петли (::1) присваивается псевдошуму Loopback 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 предназначен для автоматической настройки. Например, он автоматически настраивает локальные локальные ссылки для связи между узлами по ссылке. Если в подсети хоста или маршрутизаторе ISATAP есть маршрутизатор IPv6, хост использует полученные рекламные объявления маршрутизатора для автоматической настройки дополнительных адресов, маршрутизатора по умолчанию и других параметров конфигурации. Вы можете вручную настроить адреса IPv6 и другие параметры в Windows Vista, используя следующее:
- Формировать свойства lan-карты
- Из командной строки
Свойства компонента Internet Protocol Version 6 (TCP / IPv6)
Так же, как вы можете настроить параметры IPv4 с помощью свойств компонента Internet Protocol Version 4 (TCP / IPv4) в папке «Сетевые подключения», теперь вы можете настроить параметры IPv6 с помощью свойств компонента Internet Protocol Version 6 (TCP / IPv6). Набор диалоговых окон для конфигурации IPv6 очень похож на соответствующие диалоговые окна для IPv4. Однако свойства компонента Internet Protocol Version 6 (TCP / IPv6) обеспечивают только базовую конфигурацию IPv6.
Команды в интерфейсе netsh ipv6 context
Как и в 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 Internet Name Service [WINS]) или Вкладка «Параметры» (фильтрация TCP/IP определяется только для трафика IPv4). Для IPv6 в диалоговом окне «Расширенные параметры TCP/IP» есть настройки IP и вкладки DNS.
Вкладка «Параметры IP»
На вкладке «Параметры IP» вы можете настроить следующие параметры:
- Несколько адресов IPv6 (путем нажатия «Добавить под IP-адресами»). Для каждого адреса одноадресного IPv6 вы должны указать IPv6-адрес и длину префикса подсети. Кнопка «Добавить» доступна только в том случае, если выбран параметр «Использовать следующий адрес Ipv6» на вкладке «Общие» диалогового окна «Свойства протокола интернет-протокола версии 6 (TCP / 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 add address [interface=]InterfaceNameorIndex [address=]IPv6Address [/PrefixLength] [[type=]unicast|anycast] [[validlifetime=]Time|infinite] [[preferredlifetime=] Time|infinite] [[store=]active|persistent]
- interface Имя интерфейса или интерфейса или индекс интерфейса.
- address Адрес IPv6 для добавления, необязательно сопровождаемый длиной префикса подсети (по умолчанию 64).
- type Тип IPv6-адреса, одноадресный (по умолчанию) или anycast.
- validlifetime Время жизни, по которому действителен адрес. Значения времени могут быть выражены в днях, часах, минутах и секундах (например, 1d2h3m4s). Значение по умолчанию бесконечно.
- preferredlifetime Время жизни, по которому адрес является предпочтительным. Значения времени могут быть выражены в днях, часах, минутах и секундах. Значение по умолчанию бесконечно.
- store Как сохранить адрес IPv6 — активный (адрес удаляется при перезапуске системы) или постоянный (адрес остается после перезапуска системы), который является значением по умолчанию.
Например, чтобы настроить одноадресный IPv6-адрес 2001:db8:290c:1291::1 в интерфейсе с именем «Подключение по локальной сети» с бесконечными действительными и предпочтительными сроками службы и сделать адрес постоянным, вы используете следующую команду:
netsh interface ipv6 add address "Local Area Connection" 2001:db8:290c:1291::1
Добавление шлюзов по-умолчанию
Чтобы настроить шлюз по-умолчанию, вы можете использовать команду netsh interface ipv6 add route
и добавить маршрут по умолчанию (::/0) со следующим синтаксисом:
netsh interface ipv6 add route [prefix=]::/0 [interface=]InterfaceNameorIndex [[nexthop=]IPv6Address] [[siteprefixlength=]Length] [[metric=]MetricValue] [[publish=] no|yes|immortal] [[validlifetime=]Time|infinite] [[preferredlifetime=]Time|infinite] [[store=]active|persistent]
- prefix Префикс адреса IPv6 и длина префикса для маршрута по умолчанию. Для других маршрутов вы можете заменить ::/0 на AddressPrefix / PrefixLength.
- interface Имя интерфейса или интерфейса или индекс интерфейса.
- nexthop Если префикс предназначен для адресатов, которые не находятся в локальной ссылке, адрес IPv6 следующего шага соседнего маршрутизатора.
- siteprefixlength Если префикс предназначен для адресатов по локальной ссылке, вы можете указать длину префикса для префикса адреса, назначенного сайту, к которому принадлежит этот узел IPv6.
metric Значение, определяющее предпочтение использования маршрута. Более низкие значения являются предпочтительными. - publish. Как маршрутизатор IPv6, этот параметр указывает, будет ли префикс подсети, соответствующий маршруту, включенным в рекламные объявления маршрутизатора, и являются ли сроки жизни для префиксов бесконечными (бессмертная опция).
- validlifetime Время жизни, по которому маршрут действителен. Значения времени могут быть выражены в днях, часах, минутах и секундах (например, 1d2h3m4s). Значение по умолчанию бесконечно.
- preferredlifetime Время жизни, по которому маршрут является предпочтительным. Значения времени могут быть выражены в днях, часах, минутах и секундах. Значение по умолчанию бесконечно.
- store Как сохранить маршрут, активный (маршрут удален при перезапуске системы) или постоянный (маршрут остается после перезапуска), который является значением по умолчанию.
Например, чтобы добавить маршрут по умолчанию, который использует интерфейс с именем «Подключение по локальной сети» со адресом следующего перехода fe80::2aa:ff:fe9a:21b8, вы используете следующую команду:
netsh interface ipv6 add route ::/0 "Local Area Connection" 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 Имя соединения или адаптера.
- address Адрес IPv6 DNS-сервера.
- index Предпочтение для адреса DNS-сервера.
По-умолчанию DNS-сервер добавляется в конец списка DNS-серверов. Если указатель указан, DNS-сервер помещается в эту позицию в списке, а остальные DNS-серверы перемещаются по списку.
Например, чтобы добавить DNS-сервер с адресом IPv6 2001:db8:99:4acd::8, который использует интерфейс с именем «Подключение по локальной сети», вы используете следующую команду:
netsh interface ipv6 add dnsserver "Local Area Connection" 2001:db8:99:4acd::8
Префикс /64
Как вы помните, префикс, или сетевая часть адреса IPv4, может быть обозначен маской подсети в десятичном формате с разделительными точками или длиной префикса (запись с наклонной чертой). Например, IPv4-адрес 192.168.1.10 с маской подсети в десятичном формате с разделительными точками 255.255.255.0 эквивалентен записи 192.168.1.10/24.
Протокол IPv6 использует длину префикса для обозначения префиксной часть адреса. IPv6 не использует для маски подсети десятичное представление с разделительными точками. Длина префикса обозначает сетевую часть IPv6-адреса с помощью записи вида «IPv6-адрес/длина префикса».
Диапазон длины префикса может составлять от 0 до 128. Традиционная длина IPv6-префикса для локальных (LAN) и других типов сетей — /64. Это означает, что длина префикса, или сетевая часть адреса, составляет 64 бита, а оставшиеся 64 бита остаются для идентификатора интерфейса (узловой части) адреса.
Источник: Академия Cisco.
Метки: CCNA, Cisco, Routing and Switching.
Introduction
We are in the transition phase from IPv4 to IPv6 addressing structure, and I believe that the network engineers should easily plan their IPv6 addressing /subnetting infrastructure without any error. In this article, I tried to explain how IPv6 subnetting works by giving examples.
I also wrote and distributed a free IPv6 Subnetting Tool / Calculator both with C# and Java JDK 17 application frameworks. It lets you plan/subnet your assigned address for all 128bits. You can find the applications in the second part of this article.
I distributed the applications in the hope that it will be useful for your subnet calculations. I will try to develop the software continuously, so please don’t hesitate to comment/inform for any bugs or new feature suggestions.
1. How Does ‘/’ (slash or prefix-length notation) Work with IPv6?
The ‘/’ indicates the number of bits which are fixed for your subnetwork. Fixed means that you do not have any control on these bits, you must not change them (I like to call them «don’t touch only watch bits«). IPv6 is 128 bits long and your network/organization is assigned «128 minus /prefix-lengthValue» and these are the bits given under your control. You can do your subnetting with these bits and assign addresses to your computer/car/mobile/etc.
For example, assume that the prefix ‘2001:db8:1234::/48’ is assigned to your network by your service provider (or by RIPE, ARIN, etc). In this case, /48 indicates that starting from the left-most bit up to and including the 48th bit, these bits are fixed and must not be changed (don’t touch only watch). And the rest of the bits which have the length of 128-48=80bits are given to your control, i.e., for addressing and subnetting.
So, the importance of ‘/’ prefix-length is that it indicates the boundary of your network. In other words, from which number your assigned network starts and at which number it ends.
2. Finding IPv6 Start and End Addresses of our Subnet
If we have for example 192.168.3.0/24 subnet prefix, then 24 bits are fixed. You must not change these bits. And our netmask will be 255.255.255.0, we can do subnetting by using 32-24=8bits by taking care of subnet and broadcast addresses, as we all know very well with our IPv4 experience.
2.1 Three Useful Bitwise Operators: & , | , ~
& (AND), | (OR), ~ (NOT or bit INVERTER): We will use these three bitwise operators in our calculations. I think everybody is familiar -at least from university digital logic courses- and knows how they operate. I will not explain the details here again. You can search for ‘bitwise operators’ for further information.
Now with our IPv6 subnet-prefix assigned, how can we find our subnets and starting and end addresses of it? We can easily calculate them with the help of these three logic operators as follows. I will try to demonstrate on both IPv4 and IPv6.
With IPv4
What is our mask if we have ‘/24’? Remember CIDR notation, it is simply 255.255.255.0 which is 24 bits all ‘set‘ or ‘all one‘ starting from the left-most bit up to and including 24th bit.
Finding Start Address is to ‘AND
‘ the address with your mask which is:
(192.168.3.5) & (255.255.255.0) = 192.168.3.0
This is our Starting Address, or as we call Network address.
Finding End Address is to ‘OR
‘ the address with your inverted (NOT
) mask which is:
(192.168.3.5) | ~(255.255.255.0) = 192.168.3.255
This is our End Address, or as we call Broadcast address.
With IPv6
What is our mask if we have ‘/48’? Simply it is ffff:ffff:ffff:: for which all 48 bits are ‘set‘ or ‘all one‘ starting from the left-most bits up to and including 48th bit. As you can see, the evaluation way of the mask is exactly the same as in IPv4. As for our IPv6 subnet prefix ‘2001:db8:1234::/48’, again the same calculation method applies. It is also useful to remember that we always use ‘hexadecimal’ instead of decimal numbers for addressing since IPv6 is completely based on hexadecimal numbers. So,
Finding Start Address is to ‘AND
‘ the address with your mask which is:
(2001:db8:1234::) & (ffff:ffff:ffff::) = 2001:db8:1234::
Finding End Address is to ‘OR
‘ the address with your inverted (NOT
) mask which is:
(2001:db8:1234::) | ~(ffff:ffff:ffff::) = 2001:db8:1234:ffff:ffff:ffff:ffff:ffff
As a result, for the subnet-prefix ‘2001:db8:1234::/48’ we have the range or interval of our subnet:
IPv6 subnet Start Address> 2001:db8:1234:0:0:0:0:0 (or compressing zeros 2001:db8:1234::) IPv6 subnet End Address> 2001:db8:1234:ffff:ffff:ffff:ffff:ffff
Also remember that we don’t have broadcast mechanism in IPv6, so we don’t have broadcast address.
3. How to Subnet with IPv6 Subnet-prefix?
As we know, our first prefix-length indicates the fixed bits and we can borrow bits starting from (but excluding) prefix-length value towards the right-most bit (from left to right).
Example
Let’s use the subnet-prefix ‘2001:db8:1234::/48‘, and borrow 2 bits for subnetting.
The beauty of number conversion shows itself when we do hexadecimal to binary conversion. When converting from hex-to-binary or vice versa, you can simply and directly convert each hex-digit into binary form without caring about the digit weights. In hexadecimal notation, each hex-digit corresponds to 4 bits, usually called as ‘nibble‘. Our example address in expanded form and with nibbles are:
2 0 0 1 : 0 d b 8 : 1 2 3 4 : 0 0 ...(the rest zeros) 0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0000 0000 ...(the rest zeros)
Let’s borrow 2 bits which are 49th and 50th bits:
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0000 … (all the rest zeros)
By borrowing 2 bits, we can have 22= 4 unique subnets, which are:
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0000 ...(the rest zeros)
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0100 ...(the rest zeros)
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 1000 ...(the rest zeros)
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 1100 ...(the rest zeros)
Let’s convert these numbers back into hexadecimal and see the result:
2001:db8:1234:0000::/50 (First subnet)
2001:db8:1234:4000::/50 (Second subnet)
2001:db8:1234:8000::/50 (Third subnet)
2001:db8:1234:c000::/50 (Fourth subnet)
If you are a service provider, you can assign these subnet-prefixes to your customers one by one with ‘/50’ prefix-length, e.g., 2001:db8:1234:0000::/50 for one customer, and 2001:db8:1234:4000::/50 for other, etc.
And now your customers should know the End of their assigned address space. At this point, remember finding Start and End addresses of our subnet and perform the calculations.
First of all, your customers will have mask of ‘/50’ which is all 50 bits ‘set’ or all 50 bits are ‘ones’ giving us the mask of ‘ffff:ffff:ffff:c000::‘. Now using this mask, we can easily calculate the start-end addresses, i.e., the range or interval of our subnet. Let’s do it one by one.
1st. Customer subnet Start address= (2001:db8:1234:0000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:0000:0:0:0:0 = 2001:db8:1234:: 1st. Customer subnet End address= (2001:db8:1234:0000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:3fff:ffff:ffff:ffff:ffff 2nd. Customer subnet Start address= (2001:db8:1234:4000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:4000:0:0:0:0 = 2001:db8:1234:4000:: 2nd. Customer subnet End address= (2001:db8:1234:4000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:7fff:ffff:ffff:ffff:ffff 3rd. Customer subnet Start address= (2001:db8:1234:8000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:8000:0:0:0:0 = 2001:db8:1234:8000:: 3rd. Customer subnet End address= (2001:db8:1234:8000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:bfff:ffff:ffff:ffff:ffff 4th. Customer subnet Start address= (2001:db8:1234:c000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:c000:0:0:0:0= 2001:db8:1234:c000:: 4th. Customer subnet End address= (2001:db8:1234:c000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:ffff:ffff:ffff:ffff:ffff
Notice that each of the subnet-prefixes can also be used again to perform subnetting. For example, the 4th customer may use the subnet-prefix ‘2001:db8:1234:d000::/50’ to do subnetting by borrowing bits again say from /50 to /54, according to their needs of course.
4. Idea of Parent (or root) prefix
When you apply to your service provider (or RIPE, ARIN, APNIC, LACNIC, etc.) for an IPv6 prefix range, they will assign a prefix for you with ‘/xy’ prefix-length. For example, assume that ‘2001:db8:1234::/48’ was assigned for your network infrastructure. In this case, ‘2001:db8:1234::/48’ will be your parent (or root) prefix since all your sub-assignments must be created under your parent prefix. It is similar to the parent (root) node of a tree data structure – similarly used in our internet DNS system.
In addition, when you create new subnet prefixes, each of them may also be called as ‘parent (or root)’. We may say that it’s similar to ‘network address’ of a subnet that we use in IPv4. But keep in mind that we don’t have network or broadcast address mechanism in IPv6.
Let’s give an example: Assume that you have the prefix ‘2001:db8:1234:4000::/50’ and created 4 new sub-prefixes by borrowing 2 bits (similar to subnetting example above), which are:
p0> 2001:db8:1234:4000::/52 p1> 2001:db8:1234:5000::/52 p2> 2001:db8:1234:6000::/52 p3> 2001:db8:1234:7000::/52
Here we can say that ‘2001:db8:1234:4000::/50’ is the parent of the four prefixes above.
(Parent or root prefix) 2001:db8:1234:4000::/50 (Child prefixes) __ 2001:db8:1234:4000::/52 |_ 2001:db8:1234:5000::/52 |_ 2001:db8:1234:6000::/52 |_ 2001:db8:1234:7000::/52
Notice that each child prefix may also be a parent prefix. When you use the application, the prefix (first trackbar) value will define the parent prefix. If you use database with the application, parent prefixes are automatically inserted into the database as equal prefix and parent prefix values.
Summary
In order to find the starting and end address of your subnet, you only need to know IPv6 address and prefix-length value. Remember these bitwise operations (which are also valid for IPv4):
(IPv6 Address) & (/prefix-length mask) is equal to (IPv6 subnet Start address) (IPv6 Address) | ~(/prefix-length mask) is equal to (IPv6 subnet End address)
(Follow the link for the second part of this article: Subnetting with IPv6 Part 2/2[^] )
History
- 28th September, 2013: v1.0
- 26th January, 2014, v1.1: A few typing corrections
- 13th November, 2017, v2.0: Java application is based on JavaFX
- 23rd October, 2019: C# v4.0 (based on .NET 4.7.2) and JavaFX v3.3
- 6th January, 2020: C# v4.1 (based on .NET 4.8 and with IPv4 mode available)
- 9th June, 2022: C# v5.0 and Java v4.0 based on Java JDK 17 (JavaFX will not be used)
This article, along with any associated source code and files, is licensed under The BSD License
Introduction
We are in the transition phase from IPv4 to IPv6 addressing structure, and I believe that the network engineers should easily plan their IPv6 addressing /subnetting infrastructure without any error. In this article, I tried to explain how IPv6 subnetting works by giving examples.
I also wrote and distributed a free IPv6 Subnetting Tool / Calculator both with C# and Java JDK 17 application frameworks. It lets you plan/subnet your assigned address for all 128bits. You can find the applications in the second part of this article.
I distributed the applications in the hope that it will be useful for your subnet calculations. I will try to develop the software continuously, so please don’t hesitate to comment/inform for any bugs or new feature suggestions.
1. How Does ‘/’ (slash or prefix-length notation) Work with IPv6?
The ‘/’ indicates the number of bits which are fixed for your subnetwork. Fixed means that you do not have any control on these bits, you must not change them (I like to call them «don’t touch only watch bits«). IPv6 is 128 bits long and your network/organization is assigned «128 minus /prefix-lengthValue» and these are the bits given under your control. You can do your subnetting with these bits and assign addresses to your computer/car/mobile/etc.
For example, assume that the prefix ‘2001:db8:1234::/48’ is assigned to your network by your service provider (or by RIPE, ARIN, etc). In this case, /48 indicates that starting from the left-most bit up to and including the 48th bit, these bits are fixed and must not be changed (don’t touch only watch). And the rest of the bits which have the length of 128-48=80bits are given to your control, i.e., for addressing and subnetting.
So, the importance of ‘/’ prefix-length is that it indicates the boundary of your network. In other words, from which number your assigned network starts and at which number it ends.
2. Finding IPv6 Start and End Addresses of our Subnet
If we have for example 192.168.3.0/24 subnet prefix, then 24 bits are fixed. You must not change these bits. And our netmask will be 255.255.255.0, we can do subnetting by using 32-24=8bits by taking care of subnet and broadcast addresses, as we all know very well with our IPv4 experience.
2.1 Three Useful Bitwise Operators: & , | , ~
& (AND), | (OR), ~ (NOT or bit INVERTER): We will use these three bitwise operators in our calculations. I think everybody is familiar -at least from university digital logic courses- and knows how they operate. I will not explain the details here again. You can search for ‘bitwise operators’ for further information.
Now with our IPv6 subnet-prefix assigned, how can we find our subnets and starting and end addresses of it? We can easily calculate them with the help of these three logic operators as follows. I will try to demonstrate on both IPv4 and IPv6.
With IPv4
What is our mask if we have ‘/24’? Remember CIDR notation, it is simply 255.255.255.0 which is 24 bits all ‘set‘ or ‘all one‘ starting from the left-most bit up to and including 24th bit.
Finding Start Address is to ‘AND
‘ the address with your mask which is:
(192.168.3.5) & (255.255.255.0) = 192.168.3.0
This is our Starting Address, or as we call Network address.
Finding End Address is to ‘OR
‘ the address with your inverted (NOT
) mask which is:
(192.168.3.5) | ~(255.255.255.0) = 192.168.3.255
This is our End Address, or as we call Broadcast address.
With IPv6
What is our mask if we have ‘/48’? Simply it is ffff:ffff:ffff:: for which all 48 bits are ‘set‘ or ‘all one‘ starting from the left-most bits up to and including 48th bit. As you can see, the evaluation way of the mask is exactly the same as in IPv4. As for our IPv6 subnet prefix ‘2001:db8:1234::/48’, again the same calculation method applies. It is also useful to remember that we always use ‘hexadecimal’ instead of decimal numbers for addressing since IPv6 is completely based on hexadecimal numbers. So,
Finding Start Address is to ‘AND
‘ the address with your mask which is:
(2001:db8:1234::) & (ffff:ffff:ffff::) = 2001:db8:1234::
Finding End Address is to ‘OR
‘ the address with your inverted (NOT
) mask which is:
(2001:db8:1234::) | ~(ffff:ffff:ffff::) = 2001:db8:1234:ffff:ffff:ffff:ffff:ffff
As a result, for the subnet-prefix ‘2001:db8:1234::/48’ we have the range or interval of our subnet:
IPv6 subnet Start Address> 2001:db8:1234:0:0:0:0:0 (or compressing zeros 2001:db8:1234::) IPv6 subnet End Address> 2001:db8:1234:ffff:ffff:ffff:ffff:ffff
Also remember that we don’t have broadcast mechanism in IPv6, so we don’t have broadcast address.
3. How to Subnet with IPv6 Subnet-prefix?
As we know, our first prefix-length indicates the fixed bits and we can borrow bits starting from (but excluding) prefix-length value towards the right-most bit (from left to right).
Example
Let’s use the subnet-prefix ‘2001:db8:1234::/48‘, and borrow 2 bits for subnetting.
The beauty of number conversion shows itself when we do hexadecimal to binary conversion. When converting from hex-to-binary or vice versa, you can simply and directly convert each hex-digit into binary form without caring about the digit weights. In hexadecimal notation, each hex-digit corresponds to 4 bits, usually called as ‘nibble‘. Our example address in expanded form and with nibbles are:
2 0 0 1 : 0 d b 8 : 1 2 3 4 : 0 0 ...(the rest zeros) 0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0000 0000 ...(the rest zeros)
Let’s borrow 2 bits which are 49th and 50th bits:
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0000 … (all the rest zeros)
By borrowing 2 bits, we can have 22= 4 unique subnets, which are:
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0000 ...(the rest zeros)
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 0100 ...(the rest zeros)
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 1000 ...(the rest zeros)
0010 0000 0000 0001 : 0000 1101 1011 1000 : 0001 0010 0011 0100 : 1100 ...(the rest zeros)
Let’s convert these numbers back into hexadecimal and see the result:
2001:db8:1234:0000::/50 (First subnet)
2001:db8:1234:4000::/50 (Second subnet)
2001:db8:1234:8000::/50 (Third subnet)
2001:db8:1234:c000::/50 (Fourth subnet)
If you are a service provider, you can assign these subnet-prefixes to your customers one by one with ‘/50’ prefix-length, e.g., 2001:db8:1234:0000::/50 for one customer, and 2001:db8:1234:4000::/50 for other, etc.
And now your customers should know the End of their assigned address space. At this point, remember finding Start and End addresses of our subnet and perform the calculations.
First of all, your customers will have mask of ‘/50’ which is all 50 bits ‘set’ or all 50 bits are ‘ones’ giving us the mask of ‘ffff:ffff:ffff:c000::‘. Now using this mask, we can easily calculate the start-end addresses, i.e., the range or interval of our subnet. Let’s do it one by one.
1st. Customer subnet Start address= (2001:db8:1234:0000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:0000:0:0:0:0 = 2001:db8:1234:: 1st. Customer subnet End address= (2001:db8:1234:0000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:3fff:ffff:ffff:ffff:ffff 2nd. Customer subnet Start address= (2001:db8:1234:4000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:4000:0:0:0:0 = 2001:db8:1234:4000:: 2nd. Customer subnet End address= (2001:db8:1234:4000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:7fff:ffff:ffff:ffff:ffff 3rd. Customer subnet Start address= (2001:db8:1234:8000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:8000:0:0:0:0 = 2001:db8:1234:8000:: 3rd. Customer subnet End address= (2001:db8:1234:8000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:bfff:ffff:ffff:ffff:ffff 4th. Customer subnet Start address= (2001:db8:1234:c000::) & (ffff:ffff:ffff:c000::) = 2001:db8:1234:c000:0:0:0:0= 2001:db8:1234:c000:: 4th. Customer subnet End address= (2001:db8:1234:c000::) |~(ffff:ffff:ffff:c000::) = 2001:db8:1234:ffff:ffff:ffff:ffff:ffff
Notice that each of the subnet-prefixes can also be used again to perform subnetting. For example, the 4th customer may use the subnet-prefix ‘2001:db8:1234:d000::/50’ to do subnetting by borrowing bits again say from /50 to /54, according to their needs of course.
4. Idea of Parent (or root) prefix
When you apply to your service provider (or RIPE, ARIN, APNIC, LACNIC, etc.) for an IPv6 prefix range, they will assign a prefix for you with ‘/xy’ prefix-length. For example, assume that ‘2001:db8:1234::/48’ was assigned for your network infrastructure. In this case, ‘2001:db8:1234::/48’ will be your parent (or root) prefix since all your sub-assignments must be created under your parent prefix. It is similar to the parent (root) node of a tree data structure – similarly used in our internet DNS system.
In addition, when you create new subnet prefixes, each of them may also be called as ‘parent (or root)’. We may say that it’s similar to ‘network address’ of a subnet that we use in IPv4. But keep in mind that we don’t have network or broadcast address mechanism in IPv6.
Let’s give an example: Assume that you have the prefix ‘2001:db8:1234:4000::/50’ and created 4 new sub-prefixes by borrowing 2 bits (similar to subnetting example above), which are:
p0> 2001:db8:1234:4000::/52 p1> 2001:db8:1234:5000::/52 p2> 2001:db8:1234:6000::/52 p3> 2001:db8:1234:7000::/52
Here we can say that ‘2001:db8:1234:4000::/50’ is the parent of the four prefixes above.
(Parent or root prefix) 2001:db8:1234:4000::/50 (Child prefixes) __ 2001:db8:1234:4000::/52 |_ 2001:db8:1234:5000::/52 |_ 2001:db8:1234:6000::/52 |_ 2001:db8:1234:7000::/52
Notice that each child prefix may also be a parent prefix. When you use the application, the prefix (first trackbar) value will define the parent prefix. If you use database with the application, parent prefixes are automatically inserted into the database as equal prefix and parent prefix values.
Summary
In order to find the starting and end address of your subnet, you only need to know IPv6 address and prefix-length value. Remember these bitwise operations (which are also valid for IPv4):
(IPv6 Address) & (/prefix-length mask) is equal to (IPv6 subnet Start address) (IPv6 Address) | ~(/prefix-length mask) is equal to (IPv6 subnet End address)
(Follow the link for the second part of this article: Subnetting with IPv6 Part 2/2[^] )
History
- 28th September, 2013: v1.0
- 26th January, 2014, v1.1: A few typing corrections
- 13th November, 2017, v2.0: Java application is based on JavaFX
- 23rd October, 2019: C# v4.0 (based on .NET 4.7.2) and JavaFX v3.3
- 6th January, 2020: C# v4.1 (based on .NET 4.8 and with IPv4 mode available)
- 9th June, 2022: C# v5.0 and Java v4.0 based on Java JDK 17 (JavaFX will not be used)
This article, along with any associated source code and files, is licensed under The BSD License