В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 20
Текст из файла (страница 20)
Этот заголовок имеет фиксированный разл<ер 40 байт, что вдвое превышает ствовапий, разработанных лля лучшего соответствия высоким скоростям современных сетей и смешанным потокам данных, включающим графику и видео, все более превалирующим в настоящее время. Но главная причина создания новой версии протокола заключалась в необходимости поддержания болыпего числа адресов. В применяемом сегодня протоколе 1Р для обозначения отправителя и получателя пакета используется 32-разрядный адрес.
При экспоненциальном росте Интернета и частных сетей. соединенных с Интернетом, такая длина адресного поля уже сейчас стала недостаточной, чтобы предоставить адреса всем системам, которым нужно подключение к Интернету. Чтобы удовлетворить этим все растущим требованиям, заголовок пакета формата 1Рчб содержит 126-разрядные поля адрсов отправителя и получателя.
Предполагается, что в конечном итоге все системы, использующие архитектуру протоколов ТСР/1 Р, перейдут с текущей версии протокола 1Р на 1рчб, хотя этот процесс может занять много лет, если пе десятилетий. В табл. 3.2 перечислены некоторые из ключевых документов, описываю>цих протокол 1Рчб. В данном разделе мы рассмотрим эту версию про >окала, делая особый упор на аспектах, относящихся к управлению графиком. обязательную часть заголовка 1Р>'4. Определены следующие заголовки расширения: ° ~ заголовок паранвтпров ретрансляционных >участков определяет специальные параметры, требующие обработки на уровне ретрансляционных участков; ф заголавокма)нирутизст<ии обеспечивает расширенную маршрутизацию.
сходную с маршрутизацией от источника в 1Р> 4; + заголовок ф)>агмвнта содержит информацию о фрагментации и повторной сборке; + заголовок а>утеитификации обеспечивает целостность и аутептифнкашпо пакета; + заголовок инхапстуляции заи<ии>енных данных обеспечивает секретность; + з<гголовох пара метров получателя содержит дополнительную информацшо для узла получателя. При применении нескольких заголовков расширения стандартом 1Рчб рекомендовано использовать их в следующем порядке: 1. Заголовок 1Рчб обязательный, он всегда должен быть первым. 2. Заголовок параметров ретрансляционных участков. 3.
Заголовок параметров получателя для параметров, которые будут обработаны первым получателем, указанным в адресе получателя 1Рчб, а так>ке последующил<и получателями, перечисленными в заголовке маршрутизации. 4. Заголовок мари>рутизации. 5. Заголовок фрагмента. 6. Заголовок аутентификации. 7.
Заголовок инкапсуляции защищенных данных. 8. Заголовок параметров получателя для параметров, которые должен обработать только конечный получатель пакета. На рис. 3.4 показан пример пакета 1Рчб, содержащий по одному экземпляру каждого заголовка. Обратите внимание нато, что заголовок 1Р< 6 и каждый заголовок расширения включают поле «Сз>е>туюптий за>'словак» (крол<еза>т>ловка инкапсуляции защищенных данных).
Это поле идентифицирует тип заголовка, следующего непосредственно за теку>цим. Если следующий зап>ловок является заголовком расширения, тогда это поле содержит признак типа этап> заголовка, В противном случае ато поле содержит идентификатор протокола верхнего уровня, используя>- щего протокол 1рчб (как правило, протокола транспортного уровня). В этом с тучае указываются те же значения, по и в протоколе! Р>'4. На рисунке протоколом верхнего уровня является протокол ТСР, поэтому данные верхнего уровня, пер<'- носимые пакетом 1Рчб, состоят из заголовка ТСР, за которым следует блок данных приложения. Мы сначала рассмотрим основной заголовок 1Рчб, а затем по очереди изучим все заголовки расширения. аб Глава 3. Протоколы ТСР и 1Р 8,4.
Протокол |Р гб ат Обязатепьный заголовок 1Рзб 40 Переменная Необяэатепьные заголовки расширения Переменная Переменная 20 (необязательная переменная часть) Тело пакета |Рзб Заголовок! Рчб Метка потока ~ Поле следующего заголовка Рис. 3 4. Пакет протокола 1Рзб с эаголоэкамн расширения (содержащий сегмент ТСР) Заголовок 1Рчб имеет фиксированную длину 40 байт и состоит иа перечисленных ниже полей (см. рис. 2.2 в главе 2): + Вврсин (4 бита). Номер версии протокола 1Р; значение равно 6. + Класс трагрика (8 бит). Может быть использовано узлами-отправителями и/ттли продвигающими данные маршрутиааторами для идентификации и разделения разных классов или приоритетов пакетов 1Рч6.
Вопрос использования этого поля все еще изучается. + Метка поглока (20 бит). Может быть использовано хостом для пометки пакетов, для которых запрашивается специальная обработка маршрутизаторами сети (подробнее см. ниже). + Пгтлвзная длина (16 бит). Длина остатка пакета 1Руб, следующая за ааголовком, в байтах.
Другими словами, зто суммарная длина всех заголовков расширения плюс модуль данных транспортного уровня. + Следующий заголовок (8 бнт). Идентифицирует тип заголовка, следующего непосредственно аа заголовком 1Ркб; это может быть заголовок расширения 1рт 6 или заголовок протокола более высокого уровня, например ТС Р или ()Т)Р. + Предел количества рвтрансляционяьх участков (8 бит). Оставшееся число допустимых ретрансляционных участков (хопов) для данного пакета.
Предел количества ретрансляционных участков устанавливается отправителем на некоторое желаемое максимальное значение и уменьшается на единицу на каждом узле, ретранслирующем пакет. Если значение этого поля достигает нуля, пакет отбрасывается. Этот алгоритм представляет собой упрощенный вариант алгоритма учета времени жизни пакета, как это предполагалось в 1Ру4. По общему мнению, дополнительные усилия по подсчету интервалов времени не влияют существенно на протокол.
В действительности, болыпинство маршрутизаторов 1Ртг4 обрабатывают поле времени жизни как обычный счетчик рет(хшсляционных участков, + Адрес источника (128 бит). Адрес отправителя пакета. + Адрес привзгника (128 бит). Адрес предполагаемого получателя пакета. Кагг будет показано далее, при наличии заголовка маршрутиаации этот адрес не обязательно означает последнего получателя пакета. Хотя заголовок 1Руб длиннее, чем обязательная часть заголовка 1Рт 4 (40 байт против 20 байт), он содержит меньшее количество полей (8 вместо 12). Таким образом, маршрутизаторы тратят меньше времени на обработку заголовка, что ускоряет процесс маршрутиаации. Класс трафика 8-битовое поле класса трафика позволяет источнику указать желаемые характеристики графика каждого пакета относительно других пакетов от того же источника.
Назначение этого поля — поддержка различных форм дифференцированного обслуживания, обсуждаемого в главе 17. На момент написания книги использование этого поля не было определено, а рекомендации имеются в документе ВЕС 2460: + Служебный интерфейс протокола 1Руб должен позволять протоколам более вь|сокого уровня устанавливать значение поля класса трафика. + Узлалй поддерживающим особое использование поля класса трафика, разрешается изменять аначение тех битов в пакетах, которые они отправляют, ретранслируют или получают, как это необходимо для данного варианта использования.
+ Протокол верхнего уровня не должен предполагать, что значение битов поля класса трафика в полученном пакете совпадает со значением, установленным в этом поле отправителем пакета. Стандартом 1Руб поток определяется как последовательность пакетов, отправленных одним источником одному (или нескольким в случае целевой или групповои рассылки) получателю, для которой отправителю требуется специальная обработка промеагуточными маршрутизаторами. Поток однозначно идентифицируется комбинацией адреса отправителя, адреса получателя и ненулевой 20-разрядной меткой потока. Таким образом, всем пакетам, которые должны быть частью одного и того же потока, отправителем присваивается одна и та же метка потока. 88 Глава 3.
Протоколы ТСР и 1Р 3.4. Протокол 1Р>>б 88 С точки зрения отправителя поток, как правило, предо>авляет собой последовательность пакетов, которые формируются одним акземпляром приложения, работающего на компьютере отправителя, и у которых име>отея одинаковые требования к службе связи. Поток может обслуживаться одним ТСР-соединением или даже несколькими ТСР-соединениями. Пример второго варианта — приложение передачи файлов, у которого может быть одно управляющее соединение и нес кол ько соединений для данных. Одно приложение может сформировать один поток или несколько потоков, как, например, мультимедийная конференция, у которой может быть адин поток для звука и один для графики, у каждого из которых могут быть различные требования, касающиеся скорости передачи данных, задержки и изменения значения задержки.
С точки зрения маршрутизатора поток представляет собой последовательность пакетов с общимп атрибутами, влияющими на то, как пакеты будут обрабатываться маршрутизатором. Эти атрибуты включают путь, распределение ресурсов, данные, влияющие на решение о том, какой пакет будет отвергнут в случае перегрузки маршрутизатора, атрибуты учета и безопасности.
Маршрутизатор может по-разному обрабатывать пакеты из разных потоков, например выделять для них буферы разного размера, давая различный приоритет при ретрансляции и запрашивая у сетей различные уровни качества обслуживания. Сами значения меток потока не пмек>т особого смысла.