Читаем Операционная система UNIX полностью

Номер портаНазваниеНазначение (протокол уровня приложений)
7echoEcho
20ftp-dataПередача данных по протоколу FTP
21ftpУправляющие команды протокола FTP
23telnetУдаленный доступ (Telnet)
25smtpЭлектронная почта (Simple Mail Transfer Protocol)
53domainСервер доменных имен (Domain Name Server)
67bootpsСервер загрузки Bootstrap Protocol
68bootpcКлиент загрузки Bootstrap Protocol
69tftpПередача файлов (Trivial File Transfer Protocol)
70gopherИнформационная система Gopher
80www-httpWorld Wide Web (HyperText Transfer Protocol)
110pop3Электронная почта (POP версии 3)
119nntpТелеконференции (Network News Transfer Protocol)
123ntpСинхронизация системных часов (Network Time Protocol)
161snmpМенеджмент/статистика (Simple Network Management Protocol)
179bgpМаршрутизационная информация (Border Gateway Protocol)
<p>User Datagram Protocol (UDP)</p>

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

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

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

Первые два поля, каждое из которых занимает по 2 октета, адресуют соответственно порты источника и получателя. Указание порта источника является необязательным и это поле может быть заполнено нулями. Поле Length содержит длину датаграммы, которая не может быть меньше 8 октетов. Поле Checksum используется для хранения контрольной суммы и используется только если протокол верхнего уровня требует этого. Если контрольная сумма не используется, это поле заполняется нулями. В противном случае она вычисляется по псевдозаголовку, содержащему IP-адреса источника и получателя датаграммы и поле Protocol из IP-заголовка. Вид псевдозаголовка представлен на рис. 6.10. То, что вычисление контрольной суммы включает IP-адреса, гарантирует, что полученная датаграмма доставлена требуемому адресату. Заметим, что для протокола UDP значение поля Protocol равно 17.

Рис. 6.10. Псевдозаголовок UDP

В качестве примеров протоколов уровня приложений, которые используют в качестве транспортного протокол UDP, можно привести:

□ Протокол взаимодействия с сервером доменных имен DNS, порт 53.

□ Протокол синхронизации времени Network Time Protocol, порт 123.

□ Протокол удаленной загрузки BOOTP, порты 67 и 68 для клиента и сервера соответственно.

□ Протокол удаленного копирования Trivial FTP (TFTP), порт 69.

□ Удаленный вызов процедур RPC, порт 111.

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

<p>Transmission Control Protocol (TCP)</p>

TCP является протоколом транспортного уровня, поддерживающим надежную передачу потока данных с предварительным установлением связи между источником информации и ее получателем. На базе протокола TCP реализованы такие протоколы уровня приложений, как Telnet, FTP или HTTP.

Протокол TCP характеризуется следующими возможностями, делающими его привлекательным для приложений:

Перейти на страницу:

Похожие книги