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

[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]

Несколько однобитовых полей, следующих за полем смещения данных, используются для обработки блока данных TCP. Бит срочности URG обозначает, что указатель срочности сообщения содержит значащую информацию. Указатель срочности представляет собой поле 16 битов, идентифицирующее смещение в поле данных пользователя, которое содержит срочные данные. Бит подтверждения АСК указывает на присутствие подтверждения в поле номера подтверждения и уведомляет приемное устройство о том, что этот номер подтверждает ранее полученные последовательности. Бит внеочередной обработки PSH аналогичен биту срочности. Он уведомляет принимающий главный компьютер о том, что полученный блок данных должен обрабатываться немедленно. Бит восстановления RST вызывает восстановление сеанса. Обычно это означает, что все очереди, связанные с сеансом, отключаются и все присоединенные счетчики и таймеры устанавливаются в нуль. Бит синхронизации SYN используется, когда устанавливается логическое соединение, и указывает на то, что порядковые номера должны быть синхронизированы. Бит завершения FIN указывает на то, что данных для посылки больше нет и сеанс должен быть закрыт Затем сеанс должен быть завершен, а ресурсы освобождены для другого сеанса.

Поле окна (16 битов) используется в течение установления сеанса. Стороны должны согласовывать, какое число блоков данных может быть послано до подтверждения. Это число называется размером окна и определяется размером очереди и объемом обработки данных, уже полученных от других сеансов. Размер окна не может быть изменен после того, как сеанс установлен

Поле контрольной суммы (checksum), длиной 16 битов используется для контроля ошибок в заголовке, а также в пользовательских данных. В следующем параграфе будет показано, что в IP контрольная сумма не контролирует пользовательские данные IP, а проверяет только заголовок.

Поле опций может содержать самую разную информацию, например, максимальный размер ТСР-дейтаграммы. В конце заголовок дополняется нулями до размера, кратного 32-битовому слову.

В заключение данного параграфа предлагается тезисное описание некоторых процедур протокола TCP.

Соединение устанавливается с помощью команды OPEN с аргументами в виде IP-адреса и номера порта удаленного процесса. Команда OPEN используется в обоих случаях: когда процесс намерен передавать информацию и когда он ожидает поступления информации. Процедура установления соединения использует специальный флаг синхронизации SYN и состоит из трех тактов квитирующих сообщений, позволяющих синхронизировать потоки данных Завершение соединения осуществляется обменом пакетами, содержащими команду FIN.

Для проверки того, что все данные, переданные на уровень TCP, отправлены, существует функция «проталкивания пакета» - PUSH-функция. Назначение этой функции и PUSH-флага состоит только в «проталкивании» данных к пользователю, минуя механизм кэширования и не производя никаких дополнительных группировок или других действий над данными.

Механизм присвоения порядкового номера каждому передаваемому пакету данных и проверки подтверждения доставки аналогичен уже рассмотренным ранее в этой книге подобным механизмам. Этот механизм позволяет протоколу TCP работать с поврежденными, потерянными, дублированными или поступившими с изменением порядка следования пакетами.

10.3. ПРОТОКОЛЫ UDP и ICMP

Протокол дейтаграмм пользователя UDP (user datagram protocol) относится к протоколам без установления логического соединения и предназначен для обмена дейтаграммами между процессами компьютеров, входящих в единую сеть с коммутацией пакетов.



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

Структура заголовка UDP представлена на рис 10.3 и гораздо проще, чем в TCP Отсутствие подтверждений исключает из заголовка порядковые номера и поля номера подтверждения или возможности обработки срочных данных.

Порт источника (16 битов)

Порт назначения (16 битов)

Длина сообщения UDP (16 битов)

Контрольная сумма UPD (16 битов)

Данные

Рис. 10.3 Заголовок UDP

Существуют номера порта-отправителя (source port) и порта назначения (destinaion port), поля длины (length) и контрольной суммы (checksum). Поле порта-отправителя может, если нужно, содержать номер порта, из которого был отправлен пакет (например, если отправитель ожидает ответа). Если это поле не используется, оно заполняется нулями. Поле длины содержит сведения о длине дейтаграммы (в байтах), включая заголовок и данные. Минимальная длина равна 8. Поле контрольной суммы UDP-пакета содержит побитное дополнение 16-битовой суммы 16-битовых слов (аналогично TCP).

Больше ничего не требуется. Очевидно, именно это позволяет принимающим главным компьютерам обрабатывать блоки данных гораздо быстрее, так как все, что требуется - это передать принятые блоки данных соответствующему приложению, идентифицируемому номером порта.

Могут возникать ситуации, когда при передаче дейтаграммы возникают ошибки, о которых необходимо сообщить отправителю или другому хост-компьютеру Для передачи этих сообщений или информации служебного характера предназначен протокол передачи управляющих сообщений ICMP (Internet Control Message Protocol). Как и протоколы TCP и UDP, протокол ICMP использует IP в качестве протокола нижнего уровня, однако по своей структуре и назначению ICMP является частью IP, рассматриваемого в следующем параграфе.

На рис. 10.4 показана структура заголовка ICMP-пакета. Данному заголовку ICMP предшествует обычный IP-заголовок без поля опций (Options) и выравнивания (Padding), а поля TOS=0, ProtocoH.

Различные типы сообщений ICMP определяются полем «типа», которое показывает, почему генерировалось сообщение ICMP, например, «destination unreachable» (пункт назначения недосягаем). Для протокола определено 13 типов сообщений. Поле «код заголовка» также носит служебный характер и обеспечивает дополнительную информацию об ошибке, расширяя иерархию сообщений данного типа. ICMP по несколько раз в день пользуются администраторы сетей и разработчики сетевого программного обеспечения, поскольку на его основе работают такие популярные утилиты, как пакетный межсетевой щуп PING (packet internetwork grouper) и TRACEROUTE, позволяющая просматривать путь маршрутизации пакета от пользователя до удаленного хост-компьютера.



Тип (8 битов)

Код (8 битов)

Контрольная сумма UPD (16 битов)

Данные

Рис. 10.4. Заголовок ICMP

Обычно шлюзы генерируют сообщение ICMP с исходящим хост-компьютером в качестве получателя. Это означает, что программное обеспечение ICMP, находящееся в шлюзах, является более сложным, чем находящееся в хост-компьютерах.

Следует подчеркнуть, что ICMP не обеспечивает обнаружение ошибок для IP, а является просто средством, используемым IP для передачи сообщений об ошибках хост-компьютерам.

10.4. МЕЖСЕТЕВОЙ ПРОТОКОЛ IP

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

Структура IP-заголовка и его поля представлены на рис. 10.5. Поле «версия» (version, 4 бита) в заголовке IP предназначено для идентификации версии IP, использованной для создания заголовка. Если заголовок IP был создан в сети, использующей более новую версию IP, он может содержать информацию, которая не распознается более старой версией IP. В этом случае принимающая сеть, работающая со старой версией IP, уведомляется о необходимости пропустить нераспознаваемые поля. В данной главе рассматриваются версии 4 и 6.

Версия

Длина

Тип обе луж

Общая длина

Идентификатор

Флаги

Смещение фрагмента

Время жизни

Протокол

Контрольная сумма заголовка

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

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

Опции IP (необязательно)

Выравнивание фрагмента

Данные

Рис. 10.5. Заголовок IP

Поле «длина заголовка» (ШЕ- Internet Header Length, 4 бита) содержит длину заголовка IP-пакета в 32-разрядных словах. Значение этого поля не может быть меньше 5.

В поле «ТИП обслуживания» (TOS - Туре of Service, 8 битов) указывается требуемое качество обслуживания данных. В других протоколах это поле часто называют качеством обслуживания (QoS). Данное поле включает четыре параметра, содержащих информацию о приоритете дейтаграммы, о возможности поступления последовательности таких дейтаграмм с регулярными интервалами, о критичности ошибок, о важности скорости доставки дейтаграммы и, наконец, об относительной важности скорости по сравнению с надежностью на случай конфликта между двумя этими критериями. Введены следующие обозначения: РРР - приоритет, D - атрибуты задержки, Т - атрибуты пропускной способности, R - атрибуты надежности. Трехбитовый код РРР указывает уровень



[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.0014