ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.10.2024
Просмотров: 105
Скачиваний: 0
СОДЕРЖАНИЕ
226 Глава 7_____________________________________
228 Глава 7_______________________________________
7.7. Национальные спецификации протокола ТфОп
230 Глава 7________________________
8.1. Протокол назначения несущих каналов
234 Глава 8_______________________________________
238 Глава 8_______________________________________
8.2. Протокол управления трактами интерфейса v5.2
246 Глава 8_______________________________________
248 Глава 8______________________________________
250 Глава 8_______________________________________
252 Глава 8_______________________________________
254 Глава 8 __________________________________
9.1. Модель взаимодействия открытых систем
258 Глава 9 ___________________________________
260 Глава 9 __________________________________
9.2. Сети с коммутацией пакетов х.25
262 Глава 9___________________________________.
264 Глава 9 ________________ _______________
266 Глава 9_______________________________________
9.4. Применения протокола х.25
10.1. Протоколы tcp/ip и модель osi
270 Глава 10______________________________________
10.2. Протокол управления передачей tcp
272 Глава 10____________________________________
274 Глава 10______________________________________
276 Глава 10______________________________________
278 Глава 10 ___________________________________
280 Глава 10___________________
282 Глава 10______________________________________
10.5. Протоколы нижнего уровня
Несколько однобитовых полей, следующих за полем смещения данных, используются для обработки блока данных TCP. Бит срочности URG обозначает, что указатель срочности сообщения
274 Глава 10______________________________________
содержит значащую информацию. Указатель срочности представляет собой поле 16 битов, идентифицирующее смещение в поле данных пользователя, которое содержит срочные данные. Бит подтверждения АСК указывает на присутствие подтверждения в поле номера подтверждения и уведомляет приемное устройство о том, что этот номер подтверждает ранее полученные последовательности. Бит внеочередной обработки PSH аналогичен биту срочности. Он уведомляет принимающий главный компьютер о том, что полученный блок данных должен обрабатываться немедленно. Бит восстановления RST вызывает восстановление сеанса. Обычно это означает, что все очереди, связанные с сеансом, отключаются и все присоединенные счетчики и таймеры устанавливаются в нуль. Бит синхронизации SYN используется, когда устанавливается логическое соединение, и указывает на то, что порядковые номера должны быть синхронизированы. Бит завершения FIN указывает на то, что данных для посылки больше нет и сеанс должен быть закрыт. Затем сеанс должен быть завершен, а ресурсы освобождены для другого сеанса.
Поле окна (16 битов) используется в течение установления сеанса. Стороны должны согласовывать, какое число блоков данных может быть послано до подтверждения. Это число называется размером окна и определяется размером очереди и объемом обработки данных, уже полученных от других сеансов. Размер окна не может быть изменен после того, как сеанс установлен.
Поле контрольной суммы (checksum), длиной 16 битов используется для контроля ошибок в заголовке, а также в пользовательских данных. В следующем параграфе будет показано, что в IP контрольная сумма не контролирует пользовательские данные IP, а проверяет только заголовок.
Поле опций может содержать самую разную информацию, например, максимальный размер ТСР-дейтаграммы. В конце заголовок дополняется нулями до размера, кратного 32-битовому слову
В заключение данного параграфа предлагается тезисное описание некоторых процедур протокола TCP.
Соединение устанавливается с помощью команды OPEN с аргументами в виде IP-адреса и номера порта удаленного процесса. Команда OPEN используется в обоих случаях: когда процесс намерен передавать информацию и когда он ожидает поступления информации. Процедура установления соединения использует специальный
Протоколы Интернет 275
флаг синхронизации SYN и состоит из трех тактов квитирующих сообщений, позволяющих синхронизировать потоки данных. Завершение соединения осуществляется обменом пакетами, содержащими команду FIN.
Для проверки того, что все данные, переданные на уровень TCP, отправлены, существует функция «проталкивания пакета» — PUSH-функция. Назначение этой функции и PUSH-флага состоит только в «проталкивании» данных к пользователю, минуя механизм кэширования и не производя никаких дополнительных группировок или других действий над данными.
Механизм присвоения порядкового номера каждому передаваемому пакету данных и проверки подтверждения доставки аналогичен уже рассмотренным ранее в этой книге подобным механизмам. Этот механизм позволяет протоколу TCP работать с поврежденными, потерянными, дублированными или поступившими с изменением порядка следования пакетами.
10.3. Протоколы udf и icmp
Протокол дейтаграмм пользователя UDP (user datagram protocol) относится к протоколам без установления логического соединения и предназначен для обмена дейтаграммами между процессами компьютеров, входящих в единую сеть с коммутацией пакетов.
В отличие от протокола TCP, в протоколе UDP отсутствует подтверждение приема блоков данных, что делает UDP намного проще, чем TCP, но относительно менее надежным. Данное обстоятельство не представляет опасности для таких применений как электронная почта и некоторые функции сетевого управления, когда мощные механизмы обеспечения надежности протокола TCP не требуются и когда протоколы верхнего уровня могут компенсировать недостатки UDP. Преимущество протокола UDP состоит в том, что он требует минимум установок и параметров для соединения двух процессов между собой и, если не требуется большого объема обработки, блоки данных могут быть посланы и приняты с очень малым временем задержки.
Структура заголовка UDP представлена на рис. 10.3 и гораздо проще, чем в TCP. Отсутствие подтверждений исключает из заголовка порядковые номера и поля номера подтверждения или возможности обработки срочных данных.
276 Глава 10______________________________________
Порт источника (16 битов) |
Порт назначения (16 битов) |
Длина сообщения UDP (16 битов) |
Контрольная сумма UPD (16 битов) |
Данные |
Рис. 10.3 Заголовок UDP
Существуют номера порта-отправителя (source port) и порта назначения (destination 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, Protocol=l.
Различные типы сообщений ICMP определяются полем «типа», которое показывает, почему генерировалось сообщение ICMP, например, «destination unreachable» (пункт назначения недосягаем). Для протокола определено 13 типов сообщений. Поле «код заголовка» также носит служебный характер и обеспечивает дополнительную информацию об ошибке, расширяя иерархию
Протоколы Интернет 277
сообщений данного типа. ICMP по нескольку раз в день пользуются администраторы сетей и разработчики сетевого программного обеспечения, поскольку на его основе работают такие популярные утилиты, как пакетный межсетевой щуп PING (packet internetwork grouper) и TRACEROUTE, позволяющая просматривать путь маршрутизации пакета от пользователя до удаленного хост-компьютера.
Тип (8 битов) |
Код (8 битов) |
Контрольная сумма UPD (16 битов) |
Данные |
Рис. 10.4. Заголовок ICMP
Обычно шлюзы генерируют сообщение ICMP с исходящим хост-компьютером в качестве получателя. Это означает, что программное обеспечение ICMP, находящееся в шлюзах, является более сложным, чем находящееся в хост-компьютерах.
Следует подчеркнуть, что ICMP не обеспечивает обнаружение ошибок для IP, а является просто средством, используемым IP для передачи сообщений об ошибках хост-компьютерам.