Казалось бы, зачем сейчас вообще вспоминать про IPv6? Ведь несмотря на то, что последние блоки IPv4 адресов были розданы региональным регистраторам, интернет работает без каких-либо изменений. Дело в том, что IPv6 впервые появился в 1995 году, а полностью его заголовок описали в RFC в 1998. Почему так? Да по той простой причине, что разрабатывался он без учёта угроз, с той же доверительной схемой, что и IPv4, и в процессе разработки стояли задачи сделать более быстрый протокол и с большим количеством адресов, а не более безопасный и защищенный.
Если изучать графики, которые предоставляет региональный регистратор IP-адресов и автономных систем, то можно обнаружить, что по состоянию на первое сентября 2014 года количество зарегистрированных IPv6 автономных систем уже перевалило за 20%. На первый взгляд, это серьёзная цифра, но если брать во внимание только реальное количество IPv6 трафика в мире, то сейчас это около 6% от всего мирового интернет-трафика, хотя буквально три года назад было всего 0,5%.
По самым скромным оценкам ожидается, что к концу 2015 года доля IPv6 трафика дойдёт как минимум до 10%. И рост будет продолжаться. Кроме того, недавно вступил в силу специальный протокол для региональных регистраторов. Теперь новый блок IPv4 адресов будет выдан только в том случае, если компания докажет, что внедрила у себя IPv6. Поэтому если кому-то потребуется подсеть белых IPv4 адресов - придётся внедрять IPv6. Этот факт также послужит дальнейшему росту IPv6 автономных систем и увеличению интернет-трафика. Что же касается рядовых пользователей, то уже по всему миру начали появляться провайдеры, которые предоставляют конечным абонентам живые IPv6 адреса, причём абсолютно бесплатно. Именно поэтому IPv6 будет встречаться всё чаще и чаще, и мы не можем оставить это без должного внимания.
Адрес записывается в виде восьми групп шестнадцатеричных значений. Например, IPv6 адрес может выглядеть как 2001:DB88:11::1. Важно отметить, что IPv6 адресов на одном интерфейсе может быть несколько, причём это стандартная ситуация. Например, на интерфейсе может быть частный адрес, белый адрес и ещё по DHCPv6 придёт дополнительный адрес. И всё будет штатно работать, для каждой задачи будет использоваться свой адрес. Если нужно выйти в интернет, то будет использоваться белый адрес. Нужно подключиться к соседнему серверу? - трафик пойдет через частный адрес. Всё это решается обычным анализом поля destination.
Все IPv6 адреса делятся на две группы: линк-локал и глобал юникаст. По названию очевидно, что Link local - это адрес, который используется только в пределах одного линка. Такие адреса в дальнейшем применяются для работы целого ряда механизмов вроде автоматической настройки адреса, обнаружения соседних хостов или при отсутствии маршрутизатора. Для выхода в интернет такие адреса использовать не допускается.
Link local адрес назначается автоматически, как только хост выходит в он-лайн, чем-то отдалённо такие адреса похожи на механизм APIPA в ОС Windows. Такой адрес всегда начинается с FE80, ну а последние 64 бита - это MAC адрес с FFFE, вставленным посередине, плюс один бит инвертируется. Механизм формирования такого адреса ещё называется EUI-64. В итоге адрес будет уникальный, так как MAC адреса обычно отличаются у всех хостов, но некоторые ОС используют случайный идентификатор вместо механизма EUI-64.
Если изучать графики, которые предоставляет региональный регистратор IP-адресов и автономных систем, то можно обнаружить, что по состоянию на первое сентября 2014 года количество зарегистрированных IPv6 автономных систем уже перевалило за 20%. На первый взгляд, это серьёзная цифра, но если брать во внимание только реальное количество IPv6 трафика в мире, то сейчас это около 6% от всего мирового интернет-трафика, хотя буквально три года назад было всего 0,5%.
По самым скромным оценкам ожидается, что к концу 2015 года доля IPv6 трафика дойдёт как минимум до 10%. И рост будет продолжаться. Кроме того, недавно вступил в силу специальный протокол для региональных регистраторов. Теперь новый блок IPv4 адресов будет выдан только в том случае, если компания докажет, что внедрила у себя IPv6. Поэтому если кому-то потребуется подсеть белых IPv4 адресов - придётся внедрять IPv6. Этот факт также послужит дальнейшему росту IPv6 автономных систем и увеличению интернет-трафика. Что же касается рядовых пользователей, то уже по всему миру начали появляться провайдеры, которые предоставляют конечным абонентам живые IPv6 адреса, причём абсолютно бесплатно. Именно поэтому IPv6 будет встречаться всё чаще и чаще, и мы не можем оставить это без должного внимания.
ЧТО НОВОГО В IPV6?
Первое, что бросается в глаза, - это адреса. Они стали длиннее, записываются в шестнадцатеричном виде и сложно запоминаются. Хотя, поработав некоторое время с IPv6, обнаруживаешь, что адреса в целом запоминаемые, особенно если используются сокращённые формы записи. Напомню, что IPv4 использует 32-битные адреса, ограничивающие адресное пространство 4 294 967 296 (2^32) возможными уникальными адресами. В случае IPv6 под адрес выделено уже 128 бит. Соответственно, адресов доступно 2^128. Это примерно по 100 адресов каждому атому на поверхности Земли. То есть адресов должно хватить на достаточно длительное время.Адрес записывается в виде восьми групп шестнадцатеричных значений. Например, IPv6 адрес может выглядеть как 2001:DB88:11::1. Важно отметить, что IPv6 адресов на одном интерфейсе может быть несколько, причём это стандартная ситуация. Например, на интерфейсе может быть частный адрес, белый адрес и ещё по DHCPv6 придёт дополнительный адрес. И всё будет штатно работать, для каждой задачи будет использоваться свой адрес. Если нужно выйти в интернет, то будет использоваться белый адрес. Нужно подключиться к соседнему серверу? - трафик пойдет через частный адрес. Всё это решается обычным анализом поля destination.
Все IPv6 адреса делятся на две группы: линк-локал и глобал юникаст. По названию очевидно, что Link local - это адрес, который используется только в пределах одного линка. Такие адреса в дальнейшем применяются для работы целого ряда механизмов вроде автоматической настройки адреса, обнаружения соседних хостов или при отсутствии маршрутизатора. Для выхода в интернет такие адреса использовать не допускается.
Link local адрес назначается автоматически, как только хост выходит в он-лайн, чем-то отдалённо такие адреса похожи на механизм APIPA в ОС Windows. Такой адрес всегда начинается с FE80, ну а последние 64 бита - это MAC адрес с FFFE, вставленным посередине, плюс один бит инвертируется. Механизм формирования такого адреса ещё называется EUI-64. В итоге адрес будет уникальный, так как MAC адреса обычно отличаются у всех хостов, но некоторые ОС используют случайный идентификатор вместо механизма EUI-64.
ЧТО ЕЩЁ НОВОГО
Только адресами изменения, естественно не заканчиваются, в IPv6 значительно упрощён заголовок:Теперь всё, что не является обязательным для маршрутизации пакета из точки А в точку Б, стало необязательным. А раз необязательное - значит, переезжает в extension header, который лежит между IPv6 заголовком и TCP/UDP данными. В этом самом extension-заголовке уже и проживают фрагментирование, IPSec, source routing и множество другого функционала.
Резко упростили задачу маршрутизаторам, ведь теперь не надо пересчитывать контрольные суммы, и в итоге IPv6 обрабатывается быстрее, чем IPv4. Контрольные суммы убрали вовсе. Во-первых, у фрейма на уровне L2 есть CRC, во-вторых, вышележащие протоколы (TCP и ему подобные) тоже будут обеспечивать целостность доставки. В итоге из заголовка выбросили все лишние поля, стало проще, быстрее и надёжнее.
Ещё добавили механизм Neighbor discovery - можно сказать, что это своеобразная замена ARP, которая помогает находить MAC адреса соседних хостов, маршрутизаторы и даже обнаруживать дублирующиеся адреса в сегменте (duplicate address detection - DaD), работает исключительно в multicast. Чистого broadcast в IPv6 уже нет, но не нужно забывать, что глупые трёхкопеечные коммутаторы весь мультикаст рассылают широковещательно, в итоге часть новых механизмов сводится на нет.
Резко упростили задачу маршрутизаторам, ведь теперь не надо пересчитывать контрольные суммы, и в итоге IPv6 обрабатывается быстрее, чем IPv4. Контрольные суммы убрали вовсе. Во-первых, у фрейма на уровне L2 есть CRC, во-вторых, вышележащие протоколы (TCP и ему подобные) тоже будут обеспечивать целостность доставки. В итоге из заголовка выбросили все лишние поля, стало проще, быстрее и надёжнее.
Автоконфигурирование и служебные протоколы
Существует два основных варианта назначения IPv6 адресов: stateless autoconfiguration - это когда маршрутизатор отправляет клиентам адрес сети, шлюза по умолчанию и прочую необходимую информацию и statefull autoconfiguration - когда используется DHCPv6 сервер. Поэтому если раньше DHCP был единственным вариантом раздачи информации, то в IPv6 он стал дополнительным. ICMPv6 тоже не остался без внимания, в него было добавлено множество фич. Например, механизм Router discovery - клиенты могут слушать, что сообщает им маршрутизатор (сообщения ICMPv6 тип 134 router advertisement, которые приходят в рамках процесса stateless autoconfiguration), и при включении могут сразу звать маршрутизатор на помощь, мол помоги сконфигурироваться (сообщения ICMPv6 тип 133 router solicitation).Ещё добавили механизм Neighbor discovery - можно сказать, что это своеобразная замена ARP, которая помогает находить MAC адреса соседних хостов, маршрутизаторы и даже обнаруживать дублирующиеся адреса в сегменте (duplicate address detection - DaD), работает исключительно в multicast. Чистого broadcast в IPv6 уже нет, но не нужно забывать, что глупые трёхкопеечные коммутаторы весь мультикаст рассылают широковещательно, в итоге часть новых механизмов сводится на нет.
No comments:
Post a Comment