Главная  Классификация протоколов сигнализации 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [ 162 ] [163] [164] [165] [166] [167] [168] [169]

приоритета блока данных, применяемый для управления перегрузкой (блоки данных с меньшим приоритетом могут быть отброшены, в то время как блокам данных с более высоким приоритетом разрешается прохождение) и для управления потоком. Поле задержки D указывает, какова допустимая задержка при передаче пакета. Данное поле может принимать два значения: нормальная задержка и малая задержка. Значение 1 соответствует малой задержке. Поле пропускной способности Т указывает, какова должна быть пропускная способность средств доставки данного блока данных. Например, если блок данных сгенерирован приложением реального времени (интерактивный режим), приложение может запросить ускоренную доставку блоков данных, что требует высокой пропускной способности средств доставки. Допустимые значения - нормальная или высокая пропускная способность. Поле надежности R используется аналогичным образом, указывая, требует ли этот блок данных высокой или обычной надежности обслуживания. Поле «общая длина» (Total length, 16 битов), аналогичное полю длины TCP-заголовка, содержит измеряемую в байтах суммарную длину дейтаграммы, включая длину ГР-заголовка и данных. Этот параметр позволяет узлам определять длину поля данных путем вычитания из его значения длины заголовка. Максимально допустимая длина всей дейтаграммы целиком, считая байты, входящие в заголовок дейтаграммы, и данные, составляет 65535 байтов, т. е. длина дейтаграммы может достигать 2 -1! байтов. Однако длинные дейтаграммы не используются при работе ГР-протокола. Все хост-компьютеры и шлюзы сети, как правило, работают с длинами до 576 байтов. Число 576 выбрано из тех соображений, что этой длины пакета вполне достаточно для того, чтобы передать заголовок (64 байта) и блок данных (длиной 512 байтов).

Поле «идентификатор» (Identification, 16 битов) представляет собой уникальный номер, характеризующий конкретную дейтаграмму, и используется для связи фрагментов блока данных. Значение этого поля устанавливается отправителем и служит идентификатором дейтаграммы, например, в случае ее фрагментации.

Наличие поля флагов (Hags) и поля смещения (fi-agmentation) связано с тем, что, учитывая ограничения на длину кадра в конкретной реализации сети, протокол IP разбивает большой исходный блок данных на фрагменты и упаковывает их в пакеты. Для определения принадлежности пакетов - фрагментов одному блоку данных и обеспечения его правильной сборки, в поле флагов устанавливается специальный признак, а величины смещения помещаются в поле смещения. Поле флага содержит 3 бита: первый бит этого поля всегда имеет значение ноль, второй бит определяет, разрешена или нет фрагментация для блока данных. Величина поля смещения задает смещение в 64-битовых блоках. Первый фрагмент имеет нулевое смещение.

Поле «период жизни» (TTL - Time to live) содержит сведения о том, в течение какого времени дейтаграмме разрешено находиться в сети, и фактически представляет собой счетчик транзитов. Указанное в поле значение уменьшается на 1 на каждом этапе обработки дейтаграммы в процессе ее следования по сети, а при достижении нуля дейтаграмма уничтожается в целях экономии ресурсов сети. Таким же образом предотвращаются зацикленные маршруты в сети, когда группа маршрутизаторов может «гонять» блок данных по кругу из-за какой-то неисправности сети. Когда маршрутизатор обнаруживает, что значение параметра «период жизни» достигло нуля, он немедленно удаляет блок данных и передает сообщение источнику об ошибке с помощью рассмотренного выше протокола ICMP.

Поле «протокол» (protocol, 8 битов) содержит указание, какой протокол следует за IP. Каждый протокол, относящийся к ТСРЯР, идентифицируется фиксированным номером. В таблице 10.1 содержатся номера, назначенные стандартами для наиболее распространенных протоколов. Если имеется TCP-заголовок, то в этом поле будет стоять его номер.



Таблица 10.1. Значения поля протокола

Протокол

Протокол сообщений управления Интернет (ICMP)

Протокол управления группами Интернет (IGMP)

Межшлюзовой протокол (GGP)

Протокол управления передачей (TCP)

Протокол внешнего шлюза (EGP)

Протокол внутреннего шлюза (IGP)

Протокол дейтафаммы пользователя (UDP)

Поле контрольной суммы (Header checksum, 16 битов) служит для проверки правильности информации заголовка дейтаграммы. Контрольная сумма заголовка проверяет только данные заголовка, которые включают в себя адреса IP источника и пункта назначения. При проверке заголовка IP контрольная сумма анализирует правильность номера версии IP и подтверждает отличие поля «времени жизни» от нуля. Она также позволяет проверить отсутствие искажения заголовка IP и допустимость длины сообщения.

Поле опций содержит информацию о различных задачах, например, спецификации маршрутизации, и обычно используется сетевым управлением или для целей отладки. Данные, которые обеспечивают опции IP, варьируются и зависят от конкретного приложения, использующего их. Когда требуется услуга «записать маршрут», поле опции указывает и это.

Как это имело место в других протоколах, заголовок IP содержит поле выравнивания (padding), состоящее из нулей и выравнивающее 32-битовую границу.

Поля адресов IP-источника и IP-назначения используются маршрутизаторами и шлюзами в рамках сети для маршрутизации блока данных. Эти адреса остаются неизменными все время жизни блока данных и не преобразуются промежуточными сетями. Несмотря на то, что одной из основных функций межсетевого протокола IP является межсетевая и глобальная адресация, из соображений разумного объема книги целесообразно ограничиться только несколькими замечаниями о форматах адресов IP.

Для читателя, листающего эту книгу подряд главу за главой, уже стало привычным, что во всех протоколах адресация осуществляется на нескольких уровнях и определяет различные интерфейсы на всем пути передачи данных. Целесообразно начать рассмотрение с генерации адресов различных уровней, относящихся к IP. Первый уровень адресации определяет имя конкретного пользователя для приема данных. Например, при передаче кому-то сообщения по электронной почте нет необходимости задавать машинный адрес или индивидуальный IP-адрес. Все, что необходимо, - это адрес электронной почты, который может быть преобразован приемным сервером в имя пользователя и имя машины. Приложение уровня сети взаимодействия определит порт, который надо использовать для передачи, т.е внутренний логический адрес. Транспортный уровень определит адрес для протокола, который должен использоваться при передаче данных, и предоставит его приложению. Сетевой уровень будет, в зависимости от адресов IP, маршрутизировать блоки данных через разные сети, чтобы они достигли назначения. Маршрутизаторы будут считывать IP адреса, чтобы определить, через какой физический порт следует передать блок данных. Адреса, которые мы уже упоминали, прозрачны для уровня IP и обрабатываются только резидентным программным обеспечением хост-компьтера.

Рассмотренные в главе 3 данного тома точки доступа к услугам SAP в данном случае используются протоколом местной сети для адресации в пределах уровня логического управления звеном (LLC). Он является не частью протокола IP, а частью протоколов низших уровней, например Ethernet или Token Ring. Объединенные адреса IP и номера портов создают уникальный адрес гнезда (socket), обслуживаемый и контролируемый 180



операционной системой. Гнездо идентифицирует логический объект над уровнем LLC и является комбинацией исходящего IP адреса и номера порта. Операционная система обслуживает установление логического соединения по протоколу и обеспечивает так называемое гнездо. Концепция гнезда позволяет многим пользователям (идентифицированным адресами IP) адресоваться к одному и тому же приложению (идентифицированному адресом порта). Данная концепция была впервые реализована в версии UNIX Калифорнийского университета Беркли в 60-х годах.

Несмотря на эффективность указанных принципов, ситуация в отношении IP-адресов весьма серьезна уже сегодня. Согласно некоторым расчетам, последний доступный IP-адрес будет занят где-то между 2005 и 2010 годами. Однако кризис нехватки IP-адресов может проявиться еще раньше, если бум в отношении Интернет, наблюдаемый в Северной Америке и Западной Европе, охватит Индию, Китай и другие перенаселенные страны [102]. Проблема еще более усугубляется распространением кабельных модемов, рассмотренных в главе 2 данного тома. Ее решение возможно путем расширения текущей четвертой версии протокола IP (IPv4) с помощью межсетевого протокола следующего поколения (IPng), также известного как Интернет Protocol version 6 (IPv6).

Протокол IPv6 решает потенциальную проблему нехватки 1Радресов посредством использования 128-разрядных адресов вместо 32-разрядных адресов Ipv4, благодаря чему адресное пространство расширяется в 2 раз. Кроме того, в версии IPv6 предусмотрена возможность создания адресной иерархии со значительно большим количеством уровней. Добавление понятия зоны (scope) позволит при многопунктовой (multicast addressing) передаче отправлять дейтаграмму любому из группы адресов (anycast address). Некоторые поля заголовка IPv4, представленные на рис. 10.5, удалены или стали необязательными для использования. Введены также несколько новых функций, таких как поле метки идентификации пакетов, требующих специальной обработки; расширения заголовка для упрощения операций шифрования и идентификации, а также заголовок маршрутизации. 1Ру6-заголовок позволяет более эффективно использовать опции пересылки дейтаграмм по маршруту и предоставляет значительно больше возможностей для внесения изменений в опции и добавления новых параметров благодаря технологии «вложенных заголовков».

Поле «версия» (version, 4 бита) имеет значение, равное 6. Поле «приоритет» (prior, 4 бита) позволяет отправителю назначить дейтаграмме определенный уровень приоритета по отношению к другим отправляемым блокам данных. Возможные 16 значений этого поля разделены на две категории: значения поля от О до 7 используются для дейтаграмм, которые могут не передаваться при перегруженной линии, а значения от 8 до 15 назначаются пакетам, которые должны быть отправлены при любом состоянии линии. К первой категории относятся трафик TCP, передача e-mail, FTP, NFS, TELNET, X-interactive. Bo второй категории приоритет 8 назначается пакетам, которые отправляются в последнюю очередь при перегруженной линии, а приоритет 15 - в первую.

Версия

Приоритет

Метка потока

Длина данных

Следующий заголовок

Ограничение пересылок

Адрес IP источника

Адрес IP назначения

Рис. 10.6. Заголовок IPv6

Поле «метка потока» (flow label, 24 бита) используется отправителем для того, чтобы помечать пакеты, которые требуют специальной обработки сетевыми модулями IPv6. Хост-компьютеры или ШЛЮЗЫ, не поддерживающие этой опции, должны установить метку в О и игнорировать ее при обработке пакета. Поток представляет собой последовательность



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [ 162 ] [163] [164] [165] [166] [167] [168] [169]

0.0017