IPv6
Протокол IPv4 был реализован в сетях Интернет в 1980 году. Двадцать лет спустя, в 2000 году, половина всех адресов Интернет была использована, причем 75% из них были закреплены за пользователями в Северной Америке. Начиная с конца 90-х годов, начался взрывной процесс развития Интернет, продвижение Интернет в страны Азии с миллиардным населением. В этих условиях стало очевидным, что адресное пространство, которое используют как абоненты, так и разные устройства, ограничивает повсеместное распространение Интернет. Чтобы сеть Интернет могла развиваться, необходимо было увеличить доступное адресное пространство, что и привело к разработке новой версии протокола IP, известной как IPv6. Однако, кроме проблемы адресов, при разработке новой версии был учтен еще ряд недостатков четвертой версии.
Формат пакета
Длина заголовка IPv6 равна 40 байтам, что в два раза больше, чем в версии v4. Первые две строки (8 байт) обеспечивают функции контроля, и структура этих двух строк существенно отличается от структуры строк, расположенных над адресной частью заголовка IPv4.
Заголовок IP пакета 6 версии имеет 8 основных полей, рассмотрим подробно структуру заголовка пакета:
1)Версия — в данном поле должно быть указано, какая именно версия протокола IP используется, для IPv6 там должно быть 6.
2)Класс траффика — поле класса трафика, определяет уровень качества услуг, который необходимо предоставить при обработке этого пакета. Имеет такое же значение, что и поле Type of service заголовка IPv4.
3)Метка потока — все пакеты принадлежащие одному и тому же потоку идентифицируются отправителем одной и той же меткой и обрабатываются промежуточными маршрутизаторами одинаковым образом, т.е. им предоставляется одинаковый уровень качества обслуживания.
4)Длина полезной нагрузки — длина полезной нагрузки в октетах, длина всего пакета кроме базового заголовка IPv6.
5)Следующий заголовок — тип следующего заголовка, им может быть либо один из расширенных заголовков IPv6, либо заголовок протокола верхнего уровня, такой как TCP, UDP и другие.
6)Ограничение числа шагов — аналог поля TTL в IPv4, но используется не как количество секунд до уничтожения пакета, а как количество пройденных маршрутизаторов.
7)IP-адрес отправителя —адреса отправителя и получателя имеют каждый по 16 байт (128 бит), то есть превышают аналогичные поля четвертой версии в четыре раза.
Основная форма представления адреса IPv6 имеет вид x:x:x:x:x:x:x:x, где 'x' шестнадцатеричные 16-битовые числа.
Например:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
Большое количество нулевых групп может быть пропущено с помощью двойного двоеточия, но акой пропуск должен быть единственным в адресе.
Существует три типа адресов:
unicast: идентификатор одиночного интерфейса. Пакет, посланный по уникастному адресу, доставляется интерфейсу, указанному в адресе.
anycast: идентификатор набора интерфейсов (принадлежащих разным узлам). Пакет, посланный по данному адресу, доставляется одному из интерфейсов, указанному в адресе (ближайший, в соответствии с мерой, определенной протоколом маршрутизации).
multicast:Идентификатор набора интерфейсов (обычно принадлежащих разным узлам). Пакет, посланный по данному адресу, доставляется всем интерфейсам, заданным этим адресом.
В IPv6 не существует широковещательных адресов, их функции переданы мультикаст-адресам.
8)IP-адрес получателя — имеет такую же структуру как и адрес отправителя.
Переход к протоколу IPv6
Было отмечено, что одним из основных минусов протокола IPv4 на современном этапе развития глобальной сети Интернет является недостаточный объем числа адресов, обусловленный взрывным ростом количества пользователей с середины 90-х годов прошлого столетия и появлением большого числа устройств, подключенных к сети Интернет.
Кроме расширения адресного поля, в версии 6 значительно увеличена полная длина заголовка пакета. Это расширение обеспечивает разделение служебной части пакета на основной и дополнительный заголовки и позволяет вынести ряд опциональных параметров в дополнительные поля.
В версии 4 опциональные параметры размещались в основном заголовке, и маршрутизаторы должны были обрабатывать значительный объем ненужной информации. В протоколе IPv6 предусматривается ряд процедур, снижающих нагрузку на маршрутизаторы, что позволяет уменьшить время обработки пакетов.
Еще одна проблема, решаемая с помощью протокола IPv6 – обеспечение гарантированных показателей качества обслуживания с помощью двух полей: «класс трафика» и «метка потока», реализуемых с помощью механизмов дифференцированного обслуживания.