Ipv4 vs ipv6: в чем разница?
Содержание:
- Зарезервированные адреса IPv6[9][10]
- Сравнение с IPv4
- Что такое IP адреса?
- Предпосылки к IPv6
- Адресация IPv4
- Факторы исчерпания адресов
- Публикация приложения в AppStore. Пьеса без диалогов в нескольких актах
- Почему ip-адреса — новый биткоин телекома?
- Настройка протокола IPv6 через графический интерфейс
- Чем же плох NAT?
- Правила сокращения IPv6 адресов
- Формат заголовка IPv6
- Основы адресации IPv6
- QoS
- Принцип работы протокола IPv4
- Внедрение IPv6
- Модель адресации
Зарезервированные адреса IPv6[9][10]
IPv6 адрес | Длина префикса (биты) | Описание | Заметки |
---|---|---|---|
:: | 128 | — | см. 0.0.0.0 в IPv4 |
::1 | 128 | loopback адрес | см. 127.0.0.0/8 в IPv4 |
::xx.xx.xx.xx | 96 | встроенный IPv4 | Нижние 32 бита это адрес IPv4. Также называется IPv4 совместимым IPv6 адресом. Устарел и больше не используется. |
::ffff:xx.xx.xx.xx | 96 | Адрес IPv4, отображённый на IPv6 | Нижние 32 бита — это адрес IPv4 для хостов, не поддерживающих IPv6. |
64:ff9b:: | 96 | NAT64 (англ.) | Зарезервирован для доступа из подсети IPv6 к публичной сети IPv4 через механизм трансляции NAT64 |
2001:: | 32 | Teredo | |
2001:db8:: | 32 | Документирование | |
2002:: | 16 | 6to4 | |
fe80:: — febf:: | 10 | link-local | Аналог 169.254.0.0/16 в IPv4 |
fec0:: — feff:: | 10 |
site-local |
|
fc00:: | 7 | Unique Local Unicast | |
ff00:: | 8 | multicast |
Сравнение с IPv4
Иногда утверждается, что новый протокол может обеспечить до 5·1028 адресов на каждого жителя Земли. Такое большое адресное пространство было введено ради иерархичности адресов (это упрощает маршрутизацию). Тем не менее, увеличенное пространство адресов сделает NAT необязательным. Классическое применение IPv6 (по сети /64 на абонента; используется только unicast-адресация) обеспечит возможность использования более 300 млн IP-адресов на каждого жителя Земли.
Из IPv6 убраны функции, усложняющие работу маршрутизаторов:
- Маршрутизаторы больше не должны фрагментировать пакет, вместо этого пакет отбрасывается с ICMP-уведомлением о превышении MTU и указанием величины MTU следующего канала, в который этому пакету не удалось войти. В IPv4 размер MTU в ICMP-пакете не указывался и отправителю требовалось осуществлять подбор MTU техникой . Для лучшей работы протоколов, требовательных к потерям, минимальный MTU поднят до 1280 байт. Фрагментация поддерживается как опция (информация о фрагментации пакетов вынесена из основного заголовка в расширенные) и возможна только по инициативе передающей стороны.
- Из IP-заголовка исключена контрольная сумма. С учётом того, что канальные (Ethernet) и транспортные (TCP и UDP) протоколы имеют свои контрольные суммы, ещё одна контрольная сумма на уровне IP воспринимается как излишняя. Кроме того, модификация поля hop limit (или TTL в IPv4) на каждом маршрутизаторе в IPv4 приводила к необходимости её постоянного перерасчёта.
Несмотря на больший по сравнению с предыдущей версией протокола размер адреса IPv6 (16 байтов вместо 4), заголовок пакета удлинился всего лишь вдвое: с 20 до 40 байт.
Улучшения IPv6 по сравнению с IPv4:
- В сверхскоростных сетях возможна поддержка огромных пакетов (джамбограмм) — до 4 гигабайт;
- Time to Live переименовано в Hop Limit;
- Появились метки потоков и классы трафика;
- Появилось многоадресное вещание.
Автоконфигурация (Stateless address autoconfiguration — SLAAC)
При инициализации сетевого интерфейса ему назначается локальный IPv6-адрес, состоящий из префикса fe80::/10 и идентификатора интерфейса, размещённого в младшей части адреса. В качестве идентификатора интерфейса часто используется 64-битный расширенный уникальный идентификатор , часто ассоциируемый с MAC-адресом. Локальный адрес действителен только в пределах сетевого сегмента канального уровня и используется для обмена информационными ICMPv6 пакетами.
Для настройки других адресов узел может запросить информацию о настройках сети у маршрутизаторов, отправив ICMPv6 сообщение «Router Solicitation» на групповой адрес маршрутизаторов. Маршрутизаторы, получившие это сообщение, отвечают ICMPv6 сообщением «Router Advertisement», в котором может содержаться информация о сетевом префиксе, адресе шлюза, адресах рекурсивных DNS серверов, MTU и множестве других параметров. Объединяя сетевой префикс и идентификатор интерфейса, узел получает новый адрес. Для защиты персональных данных идентификатор интерфейса может быть заменён на псевдослучайное число.
Для большего административного контроля может быть использован DHCPv6, позволяющий администратору маршрутизатора назначать узлу конкретный адрес.
Для провайдеров может использоваться функция делегирования префиксов клиенту, что позволяет клиенту просто переходить от провайдера к провайдеру, без изменения каких-либо настроек.
Что такое IP адреса?
IP адреса состоят из четырех чисел, разделенных точкой, например: 117.4.46.12. Это адреса протокола интернета и у каждого подключенного и интернету устройства есть такой адрес. IP адрес используется для идентификации устройства в интернете, а также для маршрутизации трафика к определенным устройствам. Все данные передаются с помощью пакетов, а каждый пакет имеет IP адрес отправителя и получателя в заголовке, которые и позволят ему достичь цели.
IP адреса раздаются на основе определенного набора правил под названием Internet Protocol Suite. Эти правила предусматривают как пакеты должны передаваться по сети интернет и достигать получателя.
Например, вы отправляете получателю 10 пакетов. Каждый пакет будет знать свой целевой IP адрес. Но пакеты могут передаваться различными маршрутами, поэтому до места назначения они могут добраться в неправильном порядке или вообще не добраться. Это потому что протокол IP не устанавливает соединение и не заботится о целостности передаваемых данных.
Если порядок и целостность данных важны, то нужно использовать протокол более высокого уровня — TCP. Он гарантирует, что все пакеты в конечном итоге будут получены в правильном порядке на целевом компьютере. Именно поэтому протоколы интернета чаще всего называется как TCP / IP.
Предпосылки к IPv6
Основной протокол, по которому в Интернете передадаются данные, называется IP (Internet Protocol). Всякие HTTP, ICQ и сервисы работают поверх него (с TCP или UDP в промежутке). IP умеет упаковывать данные в пакеты и передавать их между компьютерами. Понятно, желающим обменяться данными нужно как-то друг друга идентифицировать. Для этой цели используются IP-адреса.
А вот с адресами и начинаются проблемы. IP был придуман в 80-х годах XX века, когда никто и не предполагал, что доступ в Интернет через какие-то пятнадцать лет будет не то, что у каждой уважающей себя фирмы, а вовсе у каждого школьника. Поэтому адреса сделали длиной в четыре байта (от 0.0.0.0 до 255.255.255.255). Их 2^32 = 4294967296, казалось, что хватит всем. Прямо как 640 килобайт.
Но это еще не самый большой просчет. На ранних этапах развития сети адреса можно было получать не сколько тебе реально надо, а только блоками по 16777216, 65536 или 256 адресов. Если тебе надо 500 адресов, бери сразу 65536. Если надо 66000, бери 16 миллионов. Явно не самый эффективный расход адресного пространства.
Есть и еще один прикол: сеть 224.0.0.0/4 (268435456 адресов) выделили для многоадресной рассылки (через нее, в частности, работает IPTV), а адреса после нее зарезервировали для использования в будущем. Многие разработчики сетевого оборудования поставили аппаратный фильтр на эти зарезервированные адреса, и теперь если разрешить их использование, часть исторической инфраструктуры не сможет с ними работать.
Но до какого-то момента это все не имело значения, поскольку Интернет был только у военных и в университетах.
Когда число пользователей сети начало стремительно возрастать, стало ясно, что адресов не так уж и много. В первую очередь отказались от дурацкой классовой адресации (той самой выдачи блоками фиксированного размера) и сделали возможным выдавать адреса в минимально нужном количестве.
Потом и это перестало помогать, тогда подумали, что во имя спасения сети можно отказаться от уникальности адреса каждой машины и выдавать по одному уникальному адресу на сеть, чтобы все машины сети ходили в Интернет через него. Так появился NAT (Network Address Translation), который подменяет адрес источника у соединений вовне сети на адрес маршрутизатора. Для сетей за такими маршрутизаторами выделили всем теперь известные сети 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16.
Но это все временные меры, которые только помогли бы продержаться до внедрения нового протокола с большим адресным пространством.
Адресация IPv4
Каждому узлу IPv4-сети, например компьютеру, маршрутизатору или интернет-принтеру, присваивается IPv4-адрес, который используется для идентификации этого узла при взаимодействии с другими узлами в той же сети. В принципе, любой компьютер с публичным IPv4-адресом может отправлять данные любому другому компьютеру с IPv4-адресом. Однако IPv6 не имеет обратной совместимости с IPv4, поэтому отправить данные от компьютера только с IPv4 адресом к компьютеру с только IPv6-адресом можно, лишь используя специальные технологии. Стандартным решением является туннелирование.
IPv4-адрес имеет длину 4 байта (32 бита), и поэтому протокол Интернета версии 4 позволяет использовать 232 (примерно 4,3 миллиарда) адресов. Однако некоторые большие блоки IPv4-адресов зарезервированы для специальных нужд и недоступны для публичного использования, например адрес «обратной петли» 127/8, «серые» сети 10/8, 172.16/12, 192.168/16 (это специально ).
Структура адреса IPv4 позволяет использовать публично доступные адреса в количестве, недостаточном для того, чтобы обеспечить адрес для каждого связанного с Интернетом устройства или услуги. Эта проблема была частично решена на некоторое время при помощи изменений в системе распределения адресов. Переход от классовой адресации к бесклассовой позволил существенно отсрочить исчерпание адресного пространства IPv4.
Также технология NAT (англ. Network Address Translation) позволяет интернет-провайдерам маскировать собственные частные сети за одним публично доступным IPv4-адресом маршрутизатора вместо того, чтобы выделять публичные адреса каждому устройству в сети.
Факторы исчерпания адресов
Хотя основной причиной исчерпания адресного пространства IPv4 является недостаточная проектная мощность инфраструктуры Интернета, в которую не закладывался столь быстрый рост, ряд дополнительных факторов усугубляет эту проблему. Каждый из них связан со спросом на IP-адреса, который не был предусмотрен авторами оригинальной инфраструктуры сети.
- Мобильные устройства
- IPv4 стал стандартом де-факто в цифровой связи, а стоимость вложения дополнительной вычислительной мощности в портативные устройства упала. Поэтому мобильные телефоны стали полноценными интернет-хостами. Новые спецификации устройств 4G требуют использования адресации IPv6.
- Постоянные соединения
- На протяжении 1990-х годов доминирующим способом интернет-соединения являлся коммутируемый удалённый доступ при помощи телефонного модема. Быстрый рост основанных на dial-up сетей увеличил количество используемых адресов и пул присваиваемых IP-адресов был распределён между большим числом пользователей. В 2007 году процент использования широкополосного интернет-доступа начал превышать 50 % на многих рынках. В отличие от коммутируемого доступа, широкополосные соединения чаще всего постоянно активны, и сетевые устройства (маршрутизаторы, широкополосные модемы) редко выключаются. Это приводит к тому, что количество задействованных IP-адресов увеличивается.
- Расширение Интернета
- Существуют сотни миллионов домашних хозяйств в развитых странах мира. В 1990 году интернет-подключение имело только незначительное количество домохозяйств. Всего 15 лет спустя почти половина из них имеет постоянное широкополосное соединение. Большое количество новых пользователей интернета проживает в густонаселённых Китае и Индии, что ещё больше ускоряет исчерпание адресного пространства.
- Неэффективное использование адресов
- Организации, которые получили IP-адреса в 1980-х годах, часто имеют большее количество IP-адресов, чем им реально требуется, поскольку используемый изначально метод классовой адресации предопределяет недостаточно эффективное использование адресного пространства. Например, крупным компаниям или университетам были присвоены адресные блоки класса A, содержащие более 16 миллионов IPv4-адресов, так как предыдущая по размеру единица, блок класса B с 65 536 адресами, являлся слишком малым для предполагаемого количества используемых адресов.
- Многие организации продолжают использовать публичные IP-адреса для устройств, не доступных вне локальной сети. С точки зрения глобального распределения адресного пространства это неэффективно в большинстве случаев.
- Виртуализация
- С расширением технических возможностей, мощности процессоров серверов и улучшения оборудования стало возможным одновременное использование нескольких операционных систем на одном компьютере. Каждая из таких систем требует публичного IP-адреса.
Публикация приложения в AppStore. Пьеса без диалогов в нескольких актах
Из песочницы
Действующие лица: Исполнитель (мы), Заказчик, специалисты AppReview.
Акт 1
Действующие лица: Исполнитель (мы), Заказчик.
В рамках проекта нами было разработано мобильное приложение, работающее с серверным ПО Заказчика (на базе ОС от Microsoft), продаваемым клиентам Заказчика.
В отличие от многих мобильных приложений, данное приложение должно работать не с единым, доступным всем пользователям приложения, сервером. Сервер, выступающий бекендом приложения, устанавливается на территории и в локальной сети каждого клиента Заказчика, адрес сервера указывается в настройках приложения.
Почему ip-адреса — новый биткоин телекома?
Все мы используем ip-адреса в повседневной жизни. Маршрутизаторы для подачи интернета, работа принтеров в офисе, функционирование smart-техники, системы умный дом — все это было бы невозможно без ip-адресов.
Однако что скрывается за понятием ip-адреса? Кто именно регистрирует и выдает их? Почему спрос на них продолжает расти в геометрической прогрессии и что произойдет, когда используют последнюю IPv4 (четвертую версию IP-протокола) — ответы на эти вопросы рассмотрим в нашей статье.
Что такое IP-адрес и кто имеет право его выдавать?
Іp-адрес (internet protocol address) — это уникальный набор цифр, который позволяет идентифицировать конкретное устройство или пользователя в сети. То есть, простыми словами, ip — это адрес проживания определенного пользователя или устройства в интернет-сети.
Право выделять и регистрировать ip-адреса в мире закреплено за некоммерческой организацией Regional Internet Registry (RIR). На сегодня существует 5 интернет-регистраторов, за каждым из которых закреплен определенный регион мира: RIPE NCC, APNIC, AFRINIС, LACNIC и ARIN.
Настройка протокола IPv6 через графический интерфейс
Как правило, особенно в последней версии системы от Майкрософт всё происходит автоматически и данное подключение не является исключением. Всё-таки если произошла неполадка и есть надобность выполнить проверку и исправление, то нужно попасть в окно сетевых подключений. Для этого на кнопке «Пуск» рабочего стола следует кликнуть правой кнопкой мышки, а затем выбрать строку «Сетевые Подключения». Если у вас восьмая версия ОС, то после проделанного вы окажитесь на требуемом месте, для пользователей десятки нужно следовать дальше. Затем в открывшемся окне состояния сети следует выбрать пункт «Настройка параметров адаптера». Также всю процедуру можно проделать, используя горячие клавиши. Первое, вызвать утилиту «Выполнить» горячие клавиши Win + R. В поле окна программы вбить ncpa.cpl и нажать на «ENTER» или кнопку «OK» находящуюся справа. Обладателям Windows 7 нужно кликнуть левой кнопкой мышки по значку пуск рабочего стола и в появившемся поле поиска ввести слово «Выполнить» затем нажать на «ENTER». Далее следовать указаниям из предыдущего предложения (воспользоваться командой ncpa.cpl).
Затем в окне «Сетевые подключения» требуется выбрать ваше актуальное соединение, кликнуть по нему правой кнопкой мышки и зайти в пункт «Свойства». В окошке свойств актуального соединения нужно найти строку, отвечающую за подключения протокола IPv6 (IP версии 6 TCP/IPv6) и убедится, что там поставлена галочка если нет тогда исправьте. В большинстве случаев отсутствие галочки и является проблемой.
Затем для большей уверенности зайдите в свойства подключения протокола версии IPv6. Для этого фокус должен стоять на строке, обозначающей данное соединение, после чего нужно нажать на кнопку «Свойства» находящуюся справа. Во вновь появившемся окне радиокнопки должны быть установлены в положении обозначающим автоматическое определение.
Если в автоматическом режиме существуют неполадки тогда можно воспользоваться альтернативными адресами DNS от Google. В поле напротив предпочитаемого введите 2001:4860:4860::8888. Там, где нужен альтернативный следует прописать 2001:4860:4860::8844. После всех изменений требуется нажать на кнопку «OK». Радиокнопку, отвечающую за получение адреса IPv6 трогать не следует.
Выполнить проверку корректности подключения можно несколькими способами. Чтобы далеко не ходить в окне сетевых подключений кликните правой кнопкой мышки на своём соединении и выберите строку «Состояние». Во вновь открывшемся окошке нужно нажать на кнопочку «Сведения». После чего откроется новое и напротив строчки «Адрес IPv6» должен появиться ваш сетевой адрес. Также можно запустить Windows PowerShell (или командную строку) там вбить команду ipconfig /all затем нажать на «ENTER». В появившемся списке следует искать строку «IPv6-адрес» где будет требуемая запись. Также в конце стать я дам две ссылочки перейдя по которым вы сможете протестировать подключение.
Чем же плох NAT?
Есть мнение, что новый протокол не нужен, а можно жить с NAT и дальше.
Чем же он плох? Да всем. Пока мы устанавливаем соединения изнутри сети, все не так уж и плохо. Но тоже не особо хорошо, поскольку машин существенно больше, чем реальных адресов, а для защиты от атак на отказ в обслуживании многие сервера ставят ограничение на число соединений с одного адреса. Можно получить самый настоящий бан на гугле.
А вот с соединениями из Интернета в нашу сеть проблем куда больше. Многие протоколы, в том числе SIP (для голоса поверх IP), FTP, да те же p2p-сети через NAT в его чистом виде работать не могут. Приходится строить костыли, либо встроенные в протокол (как у Skype и BitTorrent), либо на стороне маршрутизатора.
Кроме этого, в больших сетях NAT становится очень ресурсоемкой операцией. На десятимегабитном канале какой-нибудь DIR-300 вполне справляется, чтобы NAT’ить 100 мегабит, уже нужно достаточно мощное железо.
Что NAT повышает безопасность — это тоже миф. Закрыть лишние входящие соединения с тем же успехом можно и межсетевым экраном.
Правила сокращения IPv6 адресов
Несмотря на то, что мы записываем IPv6 адреса с помощью шестнадцатеричных цифр, адреса все равно получаются очень длинными, поэтому были выработаны правила сокращения IP адресов для повышения удобства их записи.
Первое правило сокращения адресов IPv6 заключается в том, что ведущие нули в каждой группе чисел разделенных двоеточием, можно сократить. Например, мы можем удалить вот эти нули. (картинка ниже)
Адрес стал заметно короче, его удобнее записывать.
Но мы можем пойти дальше, следующее правило заключается в том, что если в нашем адресе IPv6 есть две или больше идущих подряд групп нулей, то эти группы можно пропустить. Например, вот эти две группы нулей мы можем пропустить, и у нас получится два двоеточия. (картинка ниже)
Это позволяет получить еще более короткую форму записи адреса IPv6. Данное правило особенно полезно для записи префиксов IPv6 или адресов подсети, в которых очень много нулей, все эти нули можно сократить, и префикс будет записываться гораздо короче. (картинка ниже)
Неправильные сокращения
Однако при сокращении IPv6 адресов нужно быть очень внимательными, и не совершать ошибки. Давайте рассмотрим, какие ошибки случаются чаще всего.
Во-первых нельзя сокращать нули, которые идут в конце группы цифр, например, нельзя удалить вот эти 3 нуля. (картинка ниже)
Потому что после сокращения не понятно, что должно быть вот в этой группе, должны ли быть нули перед единицей или после нее. (картинка ниже)
Допускается сокращение только ведущих нулей в группе, поэтому такое сокращение неправильное. Правильное сокращение вот такое, мы удаляем ведущие нули, а там где нули находятся в конце группы, их необходимо оставить. (картинка ниже)
Другая проблема возможна, если в нашем адресе IPv6, есть несколько групп идущих подряд нулей. Например, вот такой IP адрес здесь две подряд идущих группы нулей, и три подряд идущих группы нулей. (картинка ниже)
Если мы сократим обе группы, то никак нельзя понять куда и сколько нулей вставлять. Правильный вариант сокращения нужно пропустить ту группу, которая содержит больше всего подряд идущих нулей, в нашем случае это вторая группа, так как в ней три подряд идущих группы нулей, а в первой части мы просто сокращаем ведущие нули получаются вот такая форма записи.
Формат заголовка IPv6
Давайте рассмотрим формат заголовка протокола IPv6. Основное изменение это более длинные адреса отправителя и получателя, каждая из которых занимают по 16 байт.
- Первое поле в заголовке протокола IPv6 также, как и в заголовке протокола IPv4, это номер версии 4 для IPv4 и 6 для IPv6.
- Затем идет поле класс трафика, оно необходимо для реализации качества обслуживания. Самый простой вариант, разбиение трафика на два класса, обычный и важный. Маршрутизаторы, которые поддерживают обеспечение качества обслуживания, передают важный трафик быстрее используя специальную выделенную очередь, также возможны и другие варианты использования классов трафиков.
- Следующее поле в заголовке IPv6 это метка потока, это поле используется для того чтобы объединить преимущества сетей коммутации пакетов с сетями с коммутацией каналов. У набора пакетов, которые передаются от одного отправителя к одному получателю, и требует определенного типа обслуживания, устанавливается одна и та же метка. Маршрутизаторы, которые поддерживают работу в таком режиме, обрабатывают пакет на основе метки, что гораздо быстрее.
- Следующее поле это длина полезной нагрузки, в отличии от протокола IPv4, где в подобном поле указывается общая длина пакета, здесь указывается только размер данных без размера заголовка.
- Затем идет поле следующий заголовок, которое необходимо, если используются дополнительные заголовки, в этом поле указывается тип первого дополнительного заголовка.
- В IPv6 поле время жизни пакета переименовали в максимальное число транзитных участков, потому что на практике вместо времени жизни, даже в протоколе IPv4, указывается максимальное количество маршрутизаторов через которое может пройти пакет, перед тем как он будет отброшен.
По сравнению с заголовком протокола IPv4 в протоколе IPv6 нет полей, которые отвечают за фрагментацию, и за контрольную сумму. Расчет контрольной суммы создает большую нагрузку на маршрутизаторы, однако эта операция часто является излишней, так как контрольная сумма рассчитывается на канальном уровне, и на сетевом уровне. Поэтому от расчета контрольных сумм в протоколе IPv6, было решено отказаться.
Также было принято решение отказаться от фрагментации, потому что она так же как и расчет контрольной суммы, создает большую нагрузку на маршрутизаторы. На практике во многих сетях сейчас используется один и тот же размер пакета, соответствующий размеру кадра Ethernet 1500 байт, поэтому фрагментация часто являются ненужной. Если все же где-то по пути пакета встретиться сеть с меньшим максимальным размером пакета, то вместо фрагментации необходимо использовать технологию Path MTU Discovery.
Также как и заголовок протокола IPv4, заголовок протокола IPv6 состоит из двух частей обязательный и необязательной. В необязательные части может быть несколько дополнительных заголовков.
Дополнительные заголовки IPv6
В IPv6 могут быть дополнительные заголовки следующих типов:
- Заголовок параметры маршрутизации — содержит данные, которые необходимы маршрутизаторам для того, чтобы корректно обрабатывать пакеты.
- Заголовок параметры получателя — содержит данные, которые необходимы для обработки пакета на стороне получателя.
- Дополнительный заголовок маршрутизация — содержит список маршрутизаторов, через который пакет должен обязательно пройти.
В протоколе IPv6 фрагментация преимущественно не используется, вместо неё используется технология Path MTU Discovery, но как вариант все-таки маршрутизаторы могут фрагментировать пакеты, для этого используется не обязательная часть заголовка.
Важным добавлением в протокол IPv6 является механизм защиты данных, которых не было в IPv4 это аутентификация и шифрование. Обе технологии не являются частью протокола IPv6, а описаны в отдельных документах. RFC 2402 IP Authentication Header используется для аутентификации, а документ RFC 2406 описывает технологию шифрования IP Encapsulation Security Payload, сейчас активными являются обновленные версии этих документов.
Основы адресации IPv6
Существуют различные типы адресов IPv6: одноадресные (Unicast), групповые (Anycast) и многоадресные (Multicast).
Адреса типа Unicast хорошо всем известны. Пакет, посланный на такой адрес, достигает в точности интерфейса, который этому адресу соответствует.
Адреса типа Anycast синтаксически неотличимы от адресов Unicast, но они адресуют группу интерфейсов. Пакет, направленный такому адресу, попадёт в ближайший (согласно метрике маршрутизатора) интерфейс. Адреса Anycast могут использоваться только маршрутизаторами.
Адреса типа Multicast идентифицируют группу интерфейсов. Пакет, посланный на такой адрес, достигнет всех интерфейсов, привязанных к группе многоадресного вещания.
Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255) выражаются адресами многоадресного вещания IPv6. Крайние адреса подсети IPv6 (например, xxxx:xxxx:xxxx:xxxx:0:0:0:0 и xxxx:xxxx:xxxx:xxxx:ffff:ffff:ffff:ffff для подсети /64) являются полноправными адресами и могут использоваться наравне с остальными.
Группы цифр в адресе разделяются двоеточиями (например, fe80:0:0:0:200:f8ff:fe21:67cf). Незначащие старшие нули в группах могут быть опущены. Большое количество нулевых групп может быть пропущено с помощью двойного двоеточия (fe80::200:f8ff:fe21:67cf). Такой пропуск должен быть единственным в адресе.
Типы Unicast-адресов
Глобальные
Соответствуют публичным IPv4-адресам. Могут находиться в любом не занятом диапазоне. В настоящее время региональные интернет-регистраторы распределяют блок адресов 2000::/3 (с 2000:: по 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF).
Link-Local
Соответствуют автосконфигурированным с помощью протокола APIPA IPv4 адресам. Начинаются с FE80:.
Используется:
- В качестве исходного адреса для Router Solicitation(RS) и Router Advertisement(RA) сообщений, для обнаружения маршрутизаторов.
- Для обнаружения соседей (эквивалент ARP для IPv4).
- Как next-hop-адрес для маршрутов.
Unique-Local
Типы Multicast-адресов
Адреса мультикаст бывают двух типов:
- Назначенные (Assigned multicast) — специальные адреса, назначение которых предопределено. Это зарезервированные для определённых групп устройств мультикастовые адреса. Отправляемый на такой адрес пакет будет получен всеми устройствами, входящими в группу.
- Запрошенные (Solicited multicast) — остальные адреса, которые устройства могут использовать для прикладных задач. Адрес этого типа автоматически появляется, когда на некотором интерфейсе появляется юникастовый адрес. Адрес формируется из сети FF02:0:0:0:0:1:FF00::/104, оставшиеся 24 бита — такие же, как у настроенного юникастового адреса.
QoS
Приоритет пакетов маршрутизаторы определяют на основе первых шести бит поля Traffic Class. Первые три бита определяют класс трафика, оставшиеся биты определяют приоритет удаления. Чем больше значение приоритета, тем выше приоритет пакета.
Разработчики IPv6 рекомендуют использовать для определённых категорий приложений следующие коды класса трафика:
Класс трафика | Назначение |
---|---|
Нехарактеризованный трафик | |
1 | Заполняющий трафик (сетевые новости) |
2 | Несущественный информационный трафик (электронная почта) |
3 | Резерв |
4 | Существенный трафик (FTP, HTTP, NFS) |
5 | Резерв |
6 | Интерактивный трафик (Telnet, X-terminal, SSH) |
7 | Управляющий трафик (Маршрутная информация, SNMP) |
Принцип работы протокола IPv4
Internet Protocol представляет собой датаграмму, содержит заголовок и полезную нагрузку. Заголовок шифрует адреса источника и назначение информационного пакета, в то время как полезная нагрузка переносит фактические данные. В отличие от сетей прямой коммутации канала, критичных к выходу из строя любого транзитного узла, передача данных с помощью интернет-протокола IPv4 осуществляется пакетным способом. При этом используются разные маршруты передачи ip-пакетов. Допустима ситуация, когда пакеты нижнего уровня достигают конечного узла раньше, чем пакеты верхнего. Некоторые из них теряются во время трансляции. В этом случае посылается повторный запрос, происходит восстановление потерянных фрагментов.
Каждый сетевой узел в модели TCP/IP имеет собственный IP-адрес. Это обеспечивает гарантированную идентификацию устройств при установке соединения и обмене данными. В то же время отличают два уровня распределения адресов по протоколу TCP/ IPv4 – публичные и частные. Первые уникальны для всех без исключения устройств, осуществляющих обмен данными в общемировой WEB-сети. Например, IP-адрес 8.8.8.8 принадлежит компании Google и является адресом публичного DNS-сервера компании. При построении локальной подсети Ethernet идентификация внутренних устройств передачи данных осуществляется путем назначения собственных ip-адресов для каждой единицы оборудования. Коммутация осуществляется через порты роутера (маршрутизатора), каждому присваивается отдельный сетевой адрес с возможным дополнительным разделением на подсети за счет использования маски IP-адреса.
Изначально адресация в IP-сетях систематизировалась по классовому принципу путем деления на большие блоки, что делало ее неудобной в использовании как конечными пользователями, так и провайдерами. Ей на смену пришла бесклассовая схема под названием Classless Inter-Domain Routing (CIDR).
Основной атрибут протокола TCP/IPv4, его адрес, состоит из тридцати двух бит (четырех байт) и записывается четырьмя десятичными числами от 0 до 255, которые разделены точками. Есть альтернативные способы записи (двоичное, десятичное, без точки и т.д.), но они не меняют принципа работы протокола. В стандартном формате запись CIDR производится в виде IP-адреса, следующего за ним символа «/» и числа, обозначающего битовую маску подсети: 13.14.15.0/24. В данной комбинации число 24 означает количество битов в маске подсети, имеющих приоритетное значение. Полный IP-адрес состоит из 32 бит, маской являются старшие 24, соответственно, общее количество возможных адресов в сети составит 32 — 24 = 8 бит (256 IP-адресов). В этом диапазоне описываются сети, состоящие из различного количества доступных адресов путем их вариативной комбинации. Одна большая сеть может быть раздроблена на несколько более мелких подсетей нижнего уровня.
Внедрение IPv6
Таким образом, IPv6 это новый, улучшенный и упрощенный протокол сетевого уровня, который позволяет решить проблему нехватки и адресов IPv4. Однако проблема заключается в том, что протоколы IPv4 и IPv6 несовместимы друг с другом. На практике это означает, что если вы хотите использовать IPv6, то необходимо поменять оборудование и программное обеспечение, на то которое поддерживает протокол IPv6 и провести значительную перенастройку сетевого оборудования, и все эти действия заметны, как пользователям так и администраторам.
Заменить все сетевое оборудование и программное обеспечение в один момент невозможно, поэтому разработчики IPv6 предполагали, что две версии протокола, будут сосуществовать в интернет достаточно долгое время.
Для того, чтобы можно было плавно перейти на протокол IPv6 были предложены две возможные технологии:
- Первая технология это двойной стек, все современное оборудование и программное обеспечение поддерживает работу как, по протоколу IPv4, так и по протоколу IPv6. Таким образом, для того чтобы начать использование IPv6, вам нужно просто сконфигурировать протокол IPv6 на своем оборудовании, и скорее всего все начнет работать. Но имейте ввиду чтобы подключиться к интернет по протоколу IPv6, эту версию протокола должен поддерживать ваш провайдер.
- Другая возможность совместного использования протоколов IPv4 и IPv6, это туннелирование, предположим что у нас есть несколько сетей внутри которых используется протокол IPv6, но эти сети разрознены и между ними находится сеть IPv4. В этом случае можно создать так называемый туннель, в туннеле пакеты IPv6 будут вкладываться внутрь пакетов IPv4, и таким образом передаваться из одной сети IPv6 в другую сеть IPv6, между которыми есть соединение только по протоколу IPv4.
Для того чтобы ускорить внедрение протокола IPv6, многие крупные компании объединились и устроили мировой запуск протокола IPv6, он произошел 6 июня 2012 года, в нем участвовали многие крупные компании-производители сетевого оборудования, такие как Cisco и D-Link, интернет-компании такие как Google, Facebook, компании производители программного обеспечения, такие как Microsoft, а также большое количество других компаний.
Модель адресации
IPv6 адреса всех типов ассоциируются с интерфейсами, а не узлами. Так как каждый интерфейс принадлежит только одному узлу, уникастный адрес интерфейса может идентифицировать узел.
IPv6 уникастный адрес соотносится только с одним интерфейсом. Одному интерфейсу могут соответствовать много IPv6 адресов различного типа (уникастные, эникастные и мультикстные). Существует два исключения из этого правила:
- Одиночный адрес может приписываться нескольким физическим интерфейсам, если приложение рассматривает эти несколько интерфейсов как единое целое при представлении его на уровне Интернет.
- Маршрутизаторы могут иметь ненумерованные интерфейсы (например, интерфейсу не присваивается никакого IPv6 адреса) для соединений точка-точка, чтобы исключить необходимость вручную конфигурировать и объявлять (advertise) эти адреса. Адреса не нужны для соединений точка-точка маршрутизаторов, если эти интерфейсы не используются в качестве точки отправления или назначения при посылке IPv6 дейтограмм. Маршрутизация здесь осуществляется по схеме близкой к используемой протоколом CIDR в IPv4.
IPv6 соответствует модели IPv4, где субсеть ассоциируется с каналом. Одному каналу могут соответствовать несколько субсетей.