Я очень хорошо знаю IPv4, но мне никогда не приходилось использовать IPv6, и у меня никогда не было класса или читать документацию, которая имела смысл.
Может кто-нибудь указать мне хорошее введение (он-лайн или в книге) в IPv6 для администратора IPv4. Я в основном Windows, а не UNIX, но я могу следовать большинству объяснений UNIXy.
Я написал это в прошлом году как внутренний справочный документ, когда некоторые наши инженеры запутались, когда меня попросили поместить адреса IPv6 в DNS. Я не обращался к DNS конкретно, но большая часть беспокойства касалась формата адресов, а не «понимания» того, как они работают. Может быть, это будет полезно и для других:
Итак, первое, что нужно признать, это то, что IPv6-аддеры выглядят ужасно. Они делают.
Но я думаю, что это только потому, что мы не привыкли иметь с ними дело, и мы не понимаем, что они означают на очень низком уровне, как мы делаем с адресами IPv4. Я думаю, что потребуется некоторое время, чтобы освоиться с ними, но мы должны с чего-то начать.
Еще одна важная вещь, которую следует помнить: адреса IPv4 - это 32-разрядные числа, а адреса IPv6 - это 128-разрядные числа. Когда маршрутизатор маршрутизирует или фильтрует межсетевой экран, они делают это на основе этого числа. То, как человек выбирает отображение этого числа, совершенно произвольно и в основном просто традиция. Таким образом, вся эта электронная почта объясняет, как люди выбирают эти цифры - машинам все равно, для них это все биты.
Адрес IPv4 составляет 32 бита или четыре байта. То, что мы называем «реальными» IP-адресами, является просто методом, который стал стандартным для представления этой битовой строки, разделения битов на 4 8-битных групп, представления каждых 8 битов в виде десятичного числа и разделения этих десятичных чисел этим Период. Итак, возьмите случайный IP-адрес 172.30.154.249. Когда маршрутизатор «думает» об этом IP-адресе, он действительно думает об этом так:
10101100000111101001101011111001
Который мы можем перевести вниз в нашу собственную форму:
Иногда вы также можете увидеть их в виде чистого десятичного числа:
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:
Если бы мы представляли эти битовые строки так, как мы делаем битовые строки 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:
В нем все еще много пустого пространства, поэтому есть вероятность, что наибольшая строка нулей может быть опущена и представлена двойным двоеточием. Итак, вышеуказанный 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-битное целое число, чем отформатировать пунктирный квадрат для печати.
Я видел, что СПАМ-ссылки используют 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?
Люка нет имени
Я не участвовал в запросе диапазона, поэтому я не знаю деталей.
Так как вы, ребята, Windows, я думаю, что первая книга является исчерпывающим руководством по внедрению IPv6 в Microsoft Windows. 2-я и 3-я книги хороши для получения практического опыта в IPv6.
Ответы:
TechNet имеет интересную страницу IPV6 .
источник
Я написал это в прошлом году как внутренний справочный документ, когда некоторые наши инженеры запутались, когда меня попросили поместить адреса IPv6 в DNS. Я не обращался к DNS конкретно, но большая часть беспокойства касалась формата адресов, а не «понимания» того, как они работают. Может быть, это будет полезно и для других:
Итак, первое, что нужно признать, это то, что IPv6-аддеры выглядят ужасно. Они делают.
Но я думаю, что это только потому, что мы не привыкли иметь с ними дело, и мы не понимаем, что они означают на очень низком уровне, как мы делаем с адресами IPv4. Я думаю, что потребуется некоторое время, чтобы освоиться с ними, но мы должны с чего-то начать.
Еще одна важная вещь, которую следует помнить: адреса IPv4 - это 32-разрядные числа, а адреса IPv6 - это 128-разрядные числа. Когда маршрутизатор маршрутизирует или фильтрует межсетевой экран, они делают это на основе этого числа. То, как человек выбирает отображение этого числа, совершенно произвольно и в основном просто традиция. Таким образом, вся эта электронная почта объясняет, как люди выбирают эти цифры - машинам все равно, для них это все биты.
Адрес IPv4 составляет 32 бита или четыре байта. То, что мы называем «реальными» IP-адресами, является просто методом, который стал стандартным для представления этой битовой строки, разделения битов на 4 8-битных групп, представления каждых 8 битов в виде десятичного числа и разделения этих десятичных чисел этим Период. Итак, возьмите случайный IP-адрес 172.30.154.249. Когда маршрутизатор «думает» об этом IP-адресе, он действительно думает об этом так:
Который мы можем перевести вниз в нашу собственную форму:
Иногда вы также можете увидеть их в виде чистого десятичного числа:
Вряд ли кто-то использует эту форму специально (*), но это исторически верный способ написать адрес 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:
Если бы мы представляли эти битовые строки так, как мы делаем битовые строки IPv4 (преобразуем каждый 1-байтовый блок в десятичный, разделяя каждую точку), мы получили бы следующее:
Это имеет пару проблем. Во-первых, это выглядит как прикольный номер IPv4, что нехорошо, вам нужен надежный способ различать их. Другое - это то, что в нем много информации, много цифр и много пустого пространства. Таким образом, обе проблемы решаются путем использования другого разделителя (двоеточие (:) вместо точки (.)) И представления байтов в шестнадцатеричном формате вместо десятичного. Где IPv4 разделял 8-битные чанки, представленные в десятичном виде, с точками, IPv6 разделял 16-битные чанки, разделяемые двоеточиями. Итак, вот разбивка нашего примера IPv6 IP:
В нем все еще много пустого пространства, поэтому есть вероятность, что наибольшая строка нулей может быть опущена и представлена двойным двоеточием. Итак, вышеуказанный IP можно записать:
Я не видел этого много, но, насколько я понимаю, есть также четкое соглашение, позволяющее записывать последние 32-разрядные символы в виде префикса с точками-точками, что позволяет легко распознавать устаревшие адреса при переходе с IPv4 на IPv6. , Итак, как вы, наверное, заметили, мой пример IPv6-адреса заканчивается теми же 32-мя битами, которые полностью составляют мой пример IPv4. Это особенно полезно, когда вы пишете в этом стиле. В этом случае мой адрес IPv6 будет выглядеть так:
Чтобы вернуться к тому, с чего я начал с 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-битное целое число, чем отформатировать пунктирный квадрат для печати.
(**) Я указал название моей компании и префикс
источник
Проверь это:
Бесплатная ураганная сертификация IPv6
источник
Следующие ссылки были довольно информативными (об IPv6):
http://www.personal.psu.edu/dvm105/blogs/ipv6/ (учетная запись от первого лица на IPv6 - блог)
http://www.tcpipguide.com/free/t_InternetProtocolVersion6IPv6IPNextGenerationIPng.htm
http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-3/ipv6_internals.html
http://www.spirentcom.cn/download/Poster/ProtocolPoster_IPv6.pdf (плакат для печати IPv6)
источник
Я могу предложить как минимум 3 книги, которые помогут вам понять практику сетей IPv6:
Так как вы, ребята, Windows, я думаю, что первая книга является исчерпывающим руководством по внедрению IPv6 в Microsoft Windows. 2-я и 3-я книги хороши для получения практического опыта в IPv6.
источник