Рассмотрим, как найти префикс адреса IPv6. IPv6 предназначен для решения многих проблем текущей версии протокола IPv4, связанных с истощением адресов, безопасностью, автоматической настройкой, расширяемостью и многим другим. IPv6-адрес состоит из 128 бит, которые, в зависимости от типа адреса, делятся на различные логические группы.
Содержание:
Введение
Адреса IPv4 имеют маску подсети, например, 255.255.255.0, а в IPv6 вместо маски подсети используется длина префикса. Ниже приведен пример префикса IPv6:
Пример означает, что 2001:1111:2222:3333 является префиксом (64 бит), и все, что находится за ним, может использоваться для узлов. Это почти то же самое, что и при использовании длины префикса в IPv4 192.168.1.1/24. Число за / — количество бит, которое используется для префикса.
При расчете подсетей для IPv4 используется маска подсети для определения сетевой части адреса и узловой. Для любого заданного IPv6-адреса можно рассчитать префикс (найти сетевую часть адреса).
Пример №1
Рассмотрим пример IPv6-адреса, который может быть назначен узлу:
Какая часть этого IPv6-адреса является префиксом и какая часть идентифицирует узел?
Поскольку в примере используется /64, это означает, что первые 64 бита являются префиксом (сетевой частью). Каждый шестнадцатеричный символ представляет 4 двоичных бита, это значит, что эта часть является префиксом:
Вышеприведенная часть имеет 16 символов. 16 x 4 = 64 бит. Остальная часть адреса IPv6 идентифицирует узел:
Теперь известно, что 2001:1234:5678:1234 является префиксом, но записывать его прямо так будет некорректно. Чтобы правильно записать префикс, нужно добавить нули в конце, чтобы он снова стал 128-битным адресом:
2001:1234:5678:1234:0000:0000:0000:0000/64 является допустимым префиксом, но можно его сократить. Эта строка нулей может быть удалена и заменена на «::».
Это самый короткий способ записать префикс.
Пример №2
Давайте рассмотрим другой пример:
Прежде чем понять, что такое префикс, необходимо записать полный адрес, поскольку этот был сокращен (см. ::). Просто добавим нули, пока не будет полный 128-разрядный адрес:
Здесь есть префикс длиной 64 бит. Один шестнадцатеричный символ представляет собой 4 двоичных бита, поэтому первые 16 символов являются префиксом:
Теперь можно добавить нули в конце, чтобы снова сделать его 128-битным адресом и вернуть необходимую длину префикса:
Адрес записан правильно, но можно сделать его ещё немного короче, сократив нули:
Теперь 4 нуля в строке могут быть заменены на один, поскольку в адресе уже присутствует двоеточие. Два знака «::» в одном IPv6-адресе не допускаются. Поэтому 3211:0:0:1234::/64 является самой короткой записью, с помощью который можно представить этот префикс.
Пример №3
В зависимости от длины префикса, вычисления могут быть легкими или трудными. В примерах выше оба префикса имели длину 64. В этом примере рассмотрим IPv6-адрес с префиксной длиной /53.
Каждый шестнадцатеричный символ представляет 4 двоичных бита. Когда длина префикса кратна 16, его легко вычислить, потому что 16 двоичных битов представляют 4 шестнадцатеричных символа.
Таким образом, с длиной префикса /64 имеются 4 «блока» с четырьмя шестнадцатеричными символами, каждый из которых позволяет легко производить вычисления с префиксом. Когда длина префикса кратна 4, это удобно, потому что граница будет одним шестнадцатеричным символом.
Если длина префикса не кратна 16 или 4, это означает, что следует выполнить некоторые двоичные вычисления. Рассмотрим такой пример на следующем IPv6-адресе:
Как узнать префикс этого адреса? Сначала определим, в каком «блоке» находится 53-й бит:
Где-то в четвертом блоке (5678) находится 53-й бит. Чтобы узнать префикс, нужно будет преобразовать эти шестнадцатеричные символы в двоичный вид:
5 | 6 | 7 | 8 |
0101 | 0110 | 0111 | 1000 |
Теперь есть блок, содержащий 53-й бит, где проходит граница между «prefix» и «host»:
Теперь установим биты узла в 0, чтобы остался только префикс. Наконец, преобразовываем из двоичного значения обратно в шестнадцатеричное:
Запишем блок 5000 вместо 5678 и установим все остальные биты узла в 0:
Теперь префикс выглядит так — 2001:1234:abcd:5000::/53.
Выводы
Спасибо за уделенное время на прочтение статьи. Теперь Вы знаете как найти префикс адреса IPv6.
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.