Введение в IPv6 для администратора IPv4 [закрыто]


26

Я очень хорошо знаю IPv4, но мне никогда не приходилось использовать IPv6, и у меня никогда не было класса или читать документацию, которая имела смысл.

Может кто-нибудь указать мне хорошее введение (он-лайн или в книге) в IPv6 для администратора IPv4. Я в основном Windows, а не UNIX, но я могу следовать большинству объяснений UNIXy.


Вопросы, относящиеся к профессиональному образованию, не соответствуют теме пересмотренного FAQ .
sysadmin1138

Ответы:



39

Я написал это в прошлом году как внутренний справочный документ, когда некоторые наши инженеры запутались, когда меня попросили поместить адреса IPv6 в DNS. Я не обращался к DNS конкретно, но большая часть беспокойства касалась формата адресов, а не «понимания» того, как они работают. Может быть, это будет полезно и для других:


Итак, первое, что нужно признать, это то, что IPv6-аддеры выглядят ужасно. Они делают.

Но я думаю, что это только потому, что мы не привыкли иметь с ними дело, и мы не понимаем, что они означают на очень низком уровне, как мы делаем с адресами IPv4. Я думаю, что потребуется некоторое время, чтобы освоиться с ними, но мы должны с чего-то начать.

Еще одна важная вещь, которую следует помнить: адреса IPv4 - это 32-разрядные числа, а адреса IPv6 - это 128-разрядные числа. Когда маршрутизатор маршрутизирует или фильтрует межсетевой экран, они делают это на основе этого числа. То, как человек выбирает отображение этого числа, совершенно произвольно и в основном просто традиция. Таким образом, вся эта электронная почта объясняет, как люди выбирают эти цифры - машинам все равно, для них это все биты.

Адрес IPv4 составляет 32 бита или четыре байта. То, что мы называем «реальными» IP-адресами, является просто методом, который стал стандартным для представления этой битовой строки, разделения битов на 4 8-битных групп, представления каждых 8 битов в виде десятичного числа и разделения этих десятичных чисел этим Период. Итак, возьмите случайный IP-адрес 172.30.154.249. Когда маршрутизатор «думает» об этом IP-адресе, он действительно думает об этом так:

10101100000111101001101011111001

Который мы можем перевести вниз в нашу собственную форму:

10101100 = 172

00011110 = 30

10011010 = 154

11111001 = 249

Иногда вы также можете увидеть их в виде чистого десятичного числа:

10101100000111101001101011111001 = 2,887,686,905

Вряд ли кто-то использует эту форму специально (*), но это исторически верный способ написать адрес IPv4. Фактически, эта форма используется в RFC821, который определил SMTP в 1982 году. Если вы хотите вручную направлять почту на конкретный компьютер вместо DNS, вы можете использовать два разных типа литералов. Первой была знакомая форма «пунктирный квадрат» в скобках («user @ [172.30.154.249]»). Второй использовал десятичную форму IP с префиксом знака фунта («user @ # 2887686905»).

Все вышеперечисленное было просто для того, чтобы обеспечить основу для преобразования ваших знаний о том, как адреса IPv4 работают, в адреса IPv6. Так же, как IPv4 является 32-разрядным числом, адреса IPv6 являются 128-разрядными числами. АРИН назначил МОЕЙ УДИВИТЕЛЬНОЙ КОМПАНИИ (**) диапазон IP 2311: FD67 / 32. Ради примера для работы я собираюсь использовать IP 2311: FD67 :: AC1E: 9AF9.

Итак, вот битовая строка, представляющая этот ip6:

00100011000100011111110101100111000000000000000000000000000000000000000000000000000000000000000010101100000111101001101011111001

Если бы мы представляли эти битовые строки так, как мы делаем битовые строки IPv4 (преобразуем каждый 1-байтовый блок в десятичный, разделяя каждую точку), мы получили бы следующее:

35.17.253.103.0.0.0.0.0.0.0.0.172.30.154.249

Это имеет пару проблем. Во-первых, это выглядит как прикольный номер IPv4, что нехорошо, вам нужен надежный способ различать их. Другое - это то, что в нем много информации, много цифр и много пустого пространства. Таким образом, обе проблемы решаются путем использования другого разделителя (двоеточие (:) вместо точки (.)) И представления байтов в шестнадцатеричном формате вместо десятичного. Где IPv4 разделял 8-битные чанки, представленные в десятичном виде, с точками, IPv6 разделял 16-битные чанки, разделяемые двоеточиями. Итак, вот разбивка нашего примера IPv6 IP:

0010001100010001 = 2311

1111110101100111 = FD67

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

1010110000011110 = AC1E

1001101011111001 = 9AF9



2311:FD67:0:0:0:0:AC1E:9AF9

В нем все еще много пустого пространства, поэтому есть вероятность, что наибольшая строка нулей может быть опущена и представлена ​​двойным двоеточием. Итак, вышеуказанный IP можно записать:

2311:FD67::AC1E:9AF9

Я не видел этого много, но, насколько я понимаю, есть также четкое соглашение, позволяющее записывать последние 32-разрядные символы в виде префикса с точками-точками, что позволяет легко распознавать устаревшие адреса при переходе с IPv4 на IPv6. , Итак, как вы, наверное, заметили, мой пример IPv6-адреса заканчивается теми же 32-мя битами, которые полностью составляют мой пример IPv4. Это особенно полезно, когда вы пишете в этом стиле. В этом случае мой адрес IPv6 будет выглядеть так:

2311:FD67::172.30.145.249

Чтобы вернуться к тому, с чего я начал с IPv6, я упомянул, что нам было назначено 2311: FD67 / 32. / 32 является битовой маской, как и в адресах IPv4. По сути это означает, что нам статически были назначены первые 32 из 128 битов в адресе IPv4, который мы могли создать. Поскольку 2311: FD67 - 32 бита, это означает, что каждый IP-адрес, который мы создаем из этого диапазона, будет начинаться с него.

Другими словами, 172.17 / 16 можно рассматривать как «каждый IP между 172.17.0.0 и 172.17.255.255», 2311: FD67 / 32 можно рассматривать как «каждый IP между 2311: FD67: 0: 0: 0: 0: 0: 0 и 2311: FD67: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF ".

Я думаю, что пройдет много времени, прежде чем мы начнем переход на IPv6, но я надеюсь, что это объяснение поможет вам чувствовать себя более комфортно, используя их и ссылаясь на них.

Опять же, очень важно понять, что единственное, о чем я говорю, это буквально записать адрес IPv6. Похоже, в схему нумерации для маршрутизации встроено много интеллектуальных возможностей, которые я пока еще не совсем понял, так что сейчас я могу обратиться только к тому, как это выглядит =).

(*) Я видел десятичное представление IPv4 в некоторой программной отладке раньше, но я почти уверен, что это ошибка или лень, я думаю, что в коде C гораздо сложнее быстро вывести 32-битное целое число, чем отформатировать пунктирный квадрат для печати.

(**) Я указал название моей компании и префикс


2
Я видел, что СПАМ-ссылки используют 2887686905 / some / link форму IP-адреса, поэтому вы не можете сказать, куда идет ссылка.
Эдди

1
Я думаю, что одним из больших сдвигов в мышлении с IPv6 будет динамическое именование и обнаружение сервисов. Многие недоверчивые администраторы DNS не любят динамических изменений и не понимают обнаружение сервисов.
duffbeer703

«172.17 / 16» означает «172.0.0.17/16». Вы должны написать «172.17.0.0/16».
Тедди

3
Я хотел спросить вас: как, черт возьми, вы получили 32-битную маску подсети в публичном пространстве IPv6? Это смешно! Какой смысл в адресном пространстве IPv6, если мы собираемся выдавать его со скоростью, которую мы выдавали IPv4?
Люка нет имени

Я не участвовал в запросе диапазона, поэтому я не знаю деталей.
jj33


2

Следующие ссылки были довольно информативными (об IPv6):


2

Я могу предложить как минимум 3 книги, которые помогут вам понять практику сетей IPv6:

  1. Понимание IPv6, 2-е издание - Microsoft Press
  2. IPv6 на практике - Springer
  3. Миграция на IPv6 - Wiley

Так как вы, ребята, Windows, я думаю, что первая книга является исчерпывающим руководством по внедрению IPv6 в Microsoft Windows. 2-я и 3-я книги хороши для получения практического опыта в IPv6.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.