Адреса IPv6
128 бит
Главное отличие IPv6 от IPv4 - длина сетевых адресов. IPv6-адреса имеют длину128 (так определено в RFC 4291), в то время IPv4-адреса всего 32 бита. Таким образом адресное пространство IPv4 содержит около 4 млрд. адресов, IPv6 имеет 3,4 × 10^38 уникальных адресов.
Как правило адрес IPv6 состоит из двух логических частей: 64-битного префикса (под-)сети и 64-битного адреса узла, который либо автоматически генерируется на основе MAC-адреса или устанавливается вручную. Так как уникальный во всем мире MAC-адрес позволяет отслеживать пользователей оборудования, то в IPv6 были внесены изменения (RFC 3041) с возможности отключения постоянной привязки оборудования к IPv6 адресу. Таким образом, удалось восстановить некоторые возможности анонимности, существующие в IPv4. RFC 3041 определяет механизм, с помощью которого, вместо MAC-адресов могут быть использованы случайные битовые строки.
Нотация
Адреса IPv6, как правило, записываются в виде восьми групп по четыре шестнадцатеричные цифры, где каждая группа разделяется двоеточием (:). Например, 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 является IPv6-адресом.
Если одна или несколько из четырех групп цифр нули (0000), они могут быть опущены и заменены двумя двоеточиями (::). Например, 2001:0db8:0000:0000:0000:0000:1428:57ab может быть сокращен до 2001:0db8::1428:57. В соответствии с этим правилом, любое число последовательных 0000-групп может быть сокращены до двух двоеточий, до тех пор, пока существует только одно двойное двоеточие. Ведущие нули в группе могут быть опущены (например ::1 для localhost). Таким образом, следующие адреса правильны и идентичны:
2001:0db8:0000:0000:0000:0000:1428:57ab
2001:0db8:0000:0000:0000::1428:57ab
2001:0db8:0:0:0:0:1428:57ab
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab
Адрес с двумя двойными двоеточиями является недействительным, поскольку создает двусмысленность в нотации. Например, сократив 2001:0000:0000:FFD3:0000:0000:0000:57ab до 2001::FFD3::57ab мы получим возможные комбинации: 2001:0000:0000:0000:0000:FFD3:0000:57ab, 2001:0000:FFD3:0000:0000:0000:0000:57ab и т.д.
Последовательность из 4 байт в конце IPv6-адреса может быть записана в десятичной форме, используя в качестве разделителя точки. Эта нотация часто используется для совместимости с адресами. Кроме того, это решение удобно, когда речь идет о смешанной среде IPv4 и IPv6-адресов. Общее обозначение имеет форму х:х:х:х:х:х:d.d.d.d, где х - 6 групп шестнадцатеричных цифр верхнего октета, а d соответствует десятичным цифрам нижнего октета адреса, поскольку он в формате IPv4. Так, например, ::ffff:12.34.56.78 соответствует ::ffff:0c22:384e или 0:0:0:0:0:ffff:0c22:384e. Следует помнить, что использование данной нотации не рекомендуется и не поддерживается многими приложениями.
Дополнительная информация может быть найдена в RFC 4291 - IP Version 6 Addressing Architecture.
Использование IPv6-адресов в URL
В URL IPv6-адреса заключаются в скобки.
Пример:
http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7348]/
Эта нотация позволяет при разборе URL не перепутать IPv6-адрес и номер порта:
https://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443/
Также может быть использован сокращенный вариант
https://[2001:db8::1428:57ab]:443/
Дополнительную информацию можно найти в "RFC 2732 - Format for Literal IPv6 Addresses in URL's " и "RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax".
Сетевые нотации
IPv6-сети строятся с использованием CIDR-нотации.
IPv6-сети (или подсети) является непрерывной группой IPv6-адресов, размеры которой должны быть степенью двойки; первые биты адреса, которые являются одинаковыми для всех узлов в сети, называются префиксом сети.
Сеть задается первым адресом в сети и размером в битах префикса (в десятичной системе), разделенных косой чертой. Например, 2001:0db8:1234::/48 обозначает сеть с адресами от 2001:0db8:1234:0000:0000:0000:0000:0000 до 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff
Так как каждый узел может рассматриваться как сеть со 128-битным префиксом, их адреса, иногда следуют с /128.
|