25. Протоколы: UDP, ICMP, TCP.

Протокол датаграмм пользователя — UDP

User Datagram Protocol (RFC768) является протоколом более высокого уровня по отношению к IP. Данный протокол предоставляет прикладной программе процедуру для посылки сообщений другим программам, причем механизм протокола минимален. Протокол UDP ориентирован на транзакции, то есть для передачи коротких, независимых друг от друга сообщений. Получение датаграмм и защита от дублирования не гарантированы. Приложения, требующие гарантированного получения потоков данных, должны использовать протокол управления

пересылкой (Transmission Control Protocol — TCP). В то время как протокол IP является скрытым от клиентского программного обеспечения, UDP полностью доступен прикладному ПО. Если клиентское программное обеспечение «желает» пересылать данные в виде независимых датаграмм, то UDP представляет собой упрощенную форму IP. Формируя заголовок UDP-

датаграммы, клиент должен определить только порт отправителя, порт получателя и длину датаграммы (рис. 4.8 ). При пересылке, UDP упаковывается внутрь IP датаграммы. Для клиентского программного обеспечения это происходит незаметно. Одним из высокоуровневых протоколов, использующих UDP, является Trivial File Transfer

 

Протокол  — ICMP

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

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

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

Виды сообщений, предусмотренные в ICMP, представлены

в таблице 4.4.

 

Вид сообщения

Описание

Порт недостижим

Отправляется, если:

1)    в таблицах маршрутизации на шлюзах отсутствует путь до адреса назначения;

2)    датаграмма помечена как нефрагментируемая, но транспортирующая сеть не поддерживает требуемую длину кадра.

Превышение контрольно-го времени

Отправляется, если поле TTL в заголовке IP становится равным 0, но адрес назначения еще не достигнут.

Проблемы с параметрами

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

Требование приостанов-ки   отправи-теля

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

Сообщение о переадреса-ции

Если шлюз обнаруживает, что хост-компьютер посылает датаграмму неэффективным путем, то шлюз посылает ICMP-сообщение о том, что хост должен использовать дру-гой путь, и указывает этот путь. Хост должен повторить отправку новым маршрутом.

Эхо-сообще-ние и сооб-щение в от-вет на эхо

Используется для диагностики достижимости хоста. Хост-отправитель посылает ICMP сообщение на адрес назначе-ния. Хост получивший данное сообщение, извлекает из него идентификатор и отправляет эхо-сообщение с этим идентификатором.

Штамп времени и сообщение с ответом

Штамп времени отправления — это время, которое отпра-витель фиксировал последний раз перед посылкой сообще-ния. Штамп времени получения — это время, когда исход-ное сообщение впервые увидел    получатель первоначаль-

на штамп времени

ного сообщения. Штамп времени передачи — это время, которое фиксировал в последний раз компьютер, отправ-ляющий ответное сообщение. Время — это количество миллисекунд прошедших после наступления текущей даты по единому времени (UT).

Запрос информации и ответное сообщение с информа-цией

Данное сообщение может быть послано, когда в IP заголов-ке в полях отправителя и получателя записаны нули (это означает «именно эту» локальную сеть). В ответ должен быть послан IP модуль с полностью заданными адресами. Данное сообщение является способом, с помощью кото-рого хост-компьютер сможет определить номер сети, куда он подключен.

 

Механизм эхо-сообщений используется в такой сетевой утилите командной строки как ping.

 

Протокол контроля передачи — TCP

Transmission Control Protocol (RFC793) предназначен для использования в качестве надежного протокола общения между хост-компьютерами в коммуникационных компьютерных сетях

с коммутацией пакетов, а также в системах, объединяющих такие сети. TCP занимает в многоуровневой архитектуре протоколов нишу непосредственно над протоколом IP, который позволяет протоколу TCP отправлять и получать сегменты информации переменной длины, заключенные в оболочку IP-датаграмм. IP-датаграмма предоставляет средства для адресации отправителя и получателя сегментов TCP в различных сетях. IP также осуществляет любую фрагментацию и сборку сегментов TCP, необходимую для осуществления передачи и доставки через множество сетей и промежуточных шлюзов. Главной целью протокола TCP является обеспечение надежного, безопасного сервиса для логических цепей или соединений между парами процессов. Чтобы обеспечить такой сервис, основываясь на менее надежных коммуникациях Internet, система должна иметь возможности для работы в следующих областях:

- базовая передача данных;

- достоверность;

- управление потоком;

- разделение каналов;

- работа с соединениями;

- приоритет и безопасность.

Принцип действия TCP

Ключевым свойством TCP, определяющим всю структуру протокола, является то, что в TCP-соединении у каждого байта есть свой 32-разрядный порядковый номер. Отдельные 32-

разрядные порядковые номера используются для подтверждений и для механизма скользящего окна. Отправляющая и принимающая TCP-сущности (программы, использующие TCP соединение) обмениваются данными в виде сегментов. Сегмент состоит из фиксированного

20-байтового заголовка (плюс необязательная часть), за которой могут следовать байты данных. Размер сегментов определяется программным обеспечением TCP. Оно может объединять в один

сегмент данные, полученные в результате нескольких операций записи, или, наоборот, распределять результат одной записи между несколькими сегментами. Размер сегментов ограничен двумя пределами. Во-первых, каждый сегмент, включая TCP заголовок, должен помещаться в 65 515-байтное поле полезной нагрузки IP-пакета. Во-вторых, в каждой сети есть максимальная единица передачи (MTU, Maximum Transfer Unit), и каждый сегмент должен помещаться в MTU. На практике размер максимальной единицы передачи составляет обычно 1500 байт (что соответствует размеру поля полезной нагрузки Ethernet), и таким образом определяется верхний предел размера сегмента. Основным протоколом, используемым TCP-сущностями,

является протокол скользящего окна. При передаче сегмента отправитель включает таймер. Когда сегмент прибывает в пункт назначения, принимающая TCP-сущность посылает обратно

сегмент (с данными, если есть, что посылать, или без данных) с номером подтверждения, равным порядковому номеру следующего ожидаемого сегмента. Если время ожидания подтверждения истекает, отправитель посылает сегмент еще раз.

Hosted by uCoz