108 |
|
|
|
|
|
Глава 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Версия (Version) |
|
|
Длина заголовка |
|
|
|
Тип обслуживания |
|
|
|||
|
|
Общая длина |
|
|
||
|
Идентификатор фрагмента |
|
|
|||
|
Флаги |
|
|
Смещение фрагмента |
|
|
|
|
|
|
|
|
|
Время жизни
Протокол
Контрольная сумма заголовка
Адрес отправителя
Адрес получателя
Опциональные поля и заполнение
Данные
Рис. 4.2 IP&дейтаграмма
Поле тип обслуживания (Type of Service) содержит информацию, которая бывает нужна при поддержке сетью разных классов обслу& живания. Использование этого поля в Интернет будет возрастать по мере роста в IP&сетях возможностей передачи мультимедийного тра& фика с задаваемыми параметрами качества обслуживания. Более подробную информацию на эту тему можно найти в главе 10.
Поле общая длина (Total Length) определяет общую длину дейта& граммы в октетах (байтах), включая заголовок и полезную нагрузку. Максимальная длина дейтаграммы составляет 65535 октетов, одна& ко, на практике, все рабочие станции и маршрутизаторы работают с длинами, не превышающими 576 байтов. Это объясняется тем, что при превышении указанной длины, снижается эффективность рабо& ты сети.
Протокол IP использует 3 поля заголовка для управления фраг& ментацией/ сборкой дейтаграмм. Как уже упоминалось, фрагмента& ция необходима потому, что разные сети, по которым передаются дейтаграммы, имеют разные максимальные размеры кадра.
Идентификатор фрагмента (Identifier) обозначает все фрагменты одной дейтаграммы, что необходимо для ее успешной сборки на при& емной стороне.
Поле флагов (Flags) обеспечивает возможность фрагментации дейтаграмм и, при использовании фрагментации, позволяет иден& тифицировать последний фрагмент дейтаграммы.
Поле смещение фрагмента (Fragment Offset) определяет положе& ние фрагмента относительно исходной дейтаграммы в единицах, равных 8 октетам.
Протоколы сети Интернет |
109 |
|
|
Поле время жизни (TTL – Time To Live) используется для ограниче& ния времени, в течение которого дейтаграмма находится в сети. Ка& ждый маршрутизатор сети должен уменьшать значение этого поля на единицу, и отбрасывать дейтаграмму, если поле TTL приняло ну& левое значение. Наличие поля TTL ограничивает возможность бес& конечной циркуляции дейтаграммы по сети, например, в случае, если по какой&либо причине маршрут, по которому она следует, оказался «закольцованным».
Поле протокол (Protocol) идентифицирует протокол верхнего уровня (TCP, UDP и т.д.).
Поле контрольная сумма заголовка (Header Checksum) обеспечи& вает возможность контроля ошибок в заголовке. Алгоритм подсчета контрольной суммы весьма прост, поскольку обычно протоколы ниж& него уровня имеют более развитые средства контроля ошибок.
IP&дейтаграммы содержат в заголовке два адреса – отправителя (Source) и получателя (Destination), которые не меняются на протя& жении всей жизни дейтаграммы.
Подробнее структура и функции протокола IPv4 описаны в RFC&791.
Вначале 90&х годов интенсивное коммерческое использование Интернет привело к резкому росту количества узлов сети, измене& нию характеристик трафика и ужесточению требований к качеству обслуживания. Сообщество Интернет и весь телекоммуникационный мир начали решать новые задачи путем внедрения новых протоко& лов в рамках стека протоколов TCP/IP, таких как протокол резерви& рования ресурсов RSVP, MPLS и т.д. Однако стало ясно, что только таким путем развивать технологию нельзя – нужно идти на модерни& зацию святая святых стека – протокола IP, так как некоторые пробле& мы нельзя решить без изменения формата заголовка дейтаграмм
илогики его обработки.
Как уже отмечалось выше, самой насущной проблемой становит& ся нехватка адресного пространства, что требует изменения формата адреса.
Другой проблемой является недостаточная масштабируемость процедуры маршрутизации – основы IP–сетей. Быстрый рост сети вызывает перегрузку маршрутизаторов, которые уже сегодня выну& ждены поддерживать таблицы маршрутизации с десятками и сотня& ми тысяч записей, а также решать проблемы фрагментации пакетов. Облегчить работу маршрутизаторов можно, в частности, путем мо& дернизации протокола IP.
110 |
Глава 4 |
|
|
Комитет IETF намеревается решить существующие проблемы с помощью межсетевого протокола нового поколения – IPng, извест& ного также как IPv6.
Наряду с вводом новых функций непосредственно в протокол IP, целесообразно обеспечить более тесное взаимодействие его с но& выми протоколами, путем введения в заголовок пакета новых полей. Например, работу механизмов обеспечения гарантированного каче& ства обслуживания облегчает внесение в заголовок метки потока,
аработу IPSec – внесение в заголовок поля аутентификации.
Врезультате было решено подвергнуть протокол IP модерниза& ции, преследуя следующие основные цели:
•создание новой расширенной схемы адресации;
•улучшение масштабируемости сетей за счет сокращения функций магистральных маршрутизаторов;
•обеспечение защиты данных.
Работы по модернизации протокола IP начались в 1992 году, ко& гда было предложено несколько альтернативных вариантов специ& фикаций. С тех пор в рамках IETF была проделана огромная работа, в результате которой в августе 1998 года были приняты окончатель& ные версии стандартов, определяющих как общую архитектуру IPv6 (RFC 2460 «Internet Protocol, Version 6 (IPv6) Specification»), так и от& дельные компоненты данной технологии (RFC 2373 «IP Version 6 Ad& dressing Architecture»).
Итак, рассмотрим более подробно особенности IPv6.
Расширение адресного пространства. Протокол IP решает по& тенциальную проблему нехватки адресов за счет расширения адре& са до 128 битов. Однако такое существенное увеличение длины ад& реса было сделано, в значительной степени, не с целью снять про& блему дефицита адресов (для этого было бы достаточно гораздо бо& лее скромной размерности), а для повышения эффективности рабо& ты сетей на основе этого протокола. Главной целью было структур& ное изменение системы адресации, расширение ее функциональных возможностей.
Вместо существующих двух уровней иерархии адреса (номер сети
иномер узла) в протоколе IPv6 предлагается использовать четыре уровня, что предполагает трехуровневую идентификацию сетей
иодин уровень для идентификации узлов. За счет увеличения числа уровней иерархии в структуре адреса, новый протокол эффективно поддерживает технологию агрегации адресов (CIDR), которая упо& миналась выше. Благодаря этой особенности, а также усовершенст& вованной системе групповой адресации и введению нового типа ад& ресов (anycast), IPv6 позволяет уменьшить затраты ресурсов обору& дования на маршрутизацию.
Протоколы сети Интернет |
111 |
|
|
В 6 версии протокола IP принята новая форма записи адреса, так как при определении адреса сети граница маски часто не совпадает с границей байтов адреса, и десятичная запись в данном случае не& удобна. Теперь адрес записывается в шестнадцатеричном виде, при& чем каждые четыре цифры отделяются друг от друга двоеточием, например:
FEDC:0A96:0:0:0:0:7733:567A.
Для сетей, поддерживающих обе версии протокола – IPv4 и IPv6, – имеется возможность использовать для младших 4 байтов традици& онную десятичную запись, а для старших – шестнадцатеричную:
0:0:0:0:0:FFFF:194.135.75.104.
Типы адресов. Для IPv6 определены следующие основные типы адресов:
•unicast;
•multicast;
•anycast.
Типы адресов определяются содержимым нескольких старших битов адреса, которые получили название префикса формата.
Адрес типа unicast представляет собой уникальный идентифика& тор сетевого интерфейса рабочей станции или маршрутизатора и по смыслу полностью идентичен уникальному адресу IPv4. Однако в вер& сии 6 отсутствует понятие класса сети и фиксированное разбиение адреса на адрес сети и адрес узла по границам байтов.
Адрес типа multicast – групповой адрес, необходимый для много& адресной рассылки. Он характеризуется префиксом формата 11111111 и идентифицирует группу интерфейсов, относящихся к раз& ным рабочим станциям. Пакеты с такими адресами доставляются ко всем интерфейсам, входящим в группу. Существует также предопре& деленный адрес, обозначающий все интерфейсы подсети. В соста& ве группового адреса IPv6 имеется поле scope, которое определяет, входят ли в группу рабочие станции одной подсети, всех подсетей предприятия, или рабочие станции, рассредоточенные по сети Ин& тернет. Кроме того, предусмотрен признак, позволяющий опреде& лить, является ли группа постоянной или временной, что также об& легчает работу маршрутизаторов.
Адрес типа anycast – новый тип адреса, определяющий, как и mul& ticast, группу интерфейсов. Но пакет с таким адресом доставляется не всем членам группы, а какому&либо одному, как правило, «бли& жайшему» с точки зрения маршрутизатора. Такой адрес синтаксиче& ски никак не отличается от адреса типа unicast и выделяется из того же диапазона. Anycast–адрес может быть присвоен только сетевым интерфейсам маршрутизатора. Интерфейсам маршрутизатора бу&
112 |
Глава 4 |
|
|
дут присваиваться индивидуальные unicast–адреса и общий anycast– адрес. Адреса anycast ориентированы на определение маршрута уз& лом–отправителем. Например, у абонента есть возможность обес& печить прохождение своих пакетов через сеть конкретного постав& щика, указав в цепочке адресов маршрута anycast–адрес, присво& енный всем маршрутизаторам в сети этого поставщика. В таком слу& чае пакет будет передан на «ближайший» подходящий маршрутиза& тор именно этой сети.
Врамках системы адресации IPv6 имеется также выделенное про& странство адресов для локального использования, т.е. для сетей, не входящих в Интернет. Существует две разновидности локальных ад& ресов: для «плоских» сетей, не разделенных на подсети (Link&Local),
идля сетей, разделенных на подсети (Site&Local), различающиеся значением префикса.
Внастоящий момент распределено порядка 15% адресного про& странства IPv6, что определяет широкие возможности развития се& тей и приложений, их использующих.
Изменение формата заголовков пакетов. Многолетний опыт практического применения протокола показал неэффективность ис& пользования некоторых полей заголовка, а также выявил необходи& мость добавить поля, упрощающие идентификацию пакетов, кото& рые требуют специальной обработки, поля, облегчающие реализа& цию процедур шифрования, и некоторые другие.
Реализовать это позволяет новая схема организации «вложенных заголовков», обеспечивающая разделение заголовка на основной, который содержит необходимый минимум информации, и дополни& тельные, которые могут отсутствовать. Такой подход открывает бо& гатые возможности для расширения протокола путем определения новых опциональных заголовков, делая протокол открытым.
Основной заголовок дейтаграммы IPv6 длиной 40 байтов имеет следующий формат (рис. 4.3).
Версия |
Класс Трафика |
|
Метка Потока |
||
(4 бита) |
(8 битов) |
|
(20 битов) |
|
|
|
Длина |
|
След. Заголовок |
|
Лимит Переходов |
|
(16 битов) |
|
(8 битов) |
|
(8 битов) |
Адрес Отправителя (128 битов)
Адрес Получателя (128 битов)
Рис. 4.3 Формат основного заголовка дейтаграммы IPv6
Поле Класс Трафика (Traffic Class) эквивалентно по назначению полю Тип Обслуживания (Type Of Service), а поле Лимит Переходов