- •Протоколы транспортного уровня tcp/ip, общее описание
- •Понятие портов
- •Протокол tcp Сегменты и потоки
- •Соединения
- •Установка связи по протоколу
- •Структура пакета протоколаTcp
- •Реализация скользящего окна вTcp
- •Протокол udp Общее описание
- •Порты протоколаUdp
- •Структура пакета протоколаUdp
- •Описание работыUdp
- •Сравнение производительностиTcp иUdp
Протокол udp Общее описание
Протокол UserDatagramProtocol(UDP) обеспечивает неориентированную на соединение службу доставки дейтаграмм по принципу «максимального усилия». Это означает, что получение всей дейтаграммы или правильной последовательности не гарантируется.
Протокол UDPиспользуется приложениями, не требующими подтверждения. Обычно такие приложения передают данные небольшого объема за один раз. К примеру, это: сервис именNetBIOS, сервисSNMP, сервис дейтаграммNetBIOS.
Порты протоколаUdp
Для использования протокола UDPприложение должно знатьIP-адрес и номер порта получателя. Порт действует как мультиплексная очередь сообщений, то есть он может получать несколько сообщение одновременно. Важно отметить, что портыUDP, перечисленные в таблице, отличаются от портовTCPнесмотря на использование одних и тех же значений номеров.
15 |
NETSTAT |
Состояние сети |
53 |
DOMAIN |
Сервер имен домена |
69 |
TFTP |
Протокол TFTP |
137 |
NETBIOS-NS |
Сервис имен NetBIOS |
138 |
NETBIOS-DGM |
Сервис дейтаграмм NetBIOS |
161 |
SNMP |
Сетевой монитор SNMP |
Структура пакета протоколаUdp
Поля 8-байтного заголовка UDP-пакета перечислены в таблице
Source port – порт отправителя |
UDPпорт узла-отправителя (не обязателен) |
Destination port – порт назначения |
UDPпорт узла-получателя, определяет конечную точку соединения |
Message Length – длина сообщения |
Размер сообщения. Минимально 8 байт – только размер заголовка |
Checksum– контрольная сумма |
Проверяет, поврежден ли заголовок |
Описание работыUdp
Порт UDP легче всего представить в виде очереди. В большинстве реализаций, когда прикладная программа «договаривается» с операционной системой об использовании данного порта, операционная система создает внутреннюю очередь, которая хранит приходящие сообщения. Часто приложение может указать или изменить размеры очереди.
Когда UDP получает дейтаграмму, он проверяет, нет ли порта назначения с таким номером среди используемых портов. Если нет, он посылает ICMP-сообщение об ошибке "порт недоступен" и уничтожает дейтаграмму. Если есть, UDP добавляет новую дейтаграмму в очередь порта, где прикладная программа может ее получить. Конечно, если очередь порта уже переполнена, то тогда UDP уничтожает новую дейтаграмму.
Ссылки
Таненбаум [1981] сравнивает взаимодействие с помощью дейтаграмм и виртуальных каналов. Болл [1979] описывает систему на основе сообщений без рассмотрения протокола сообщений. UDP протокол, описанный здесь, является стандарт для TCP/IP и определен Postel [RFC 768].
Сравнение производительностиTcp иUdp
Как видно из рисунка, протокол UDPработает намного быстрее, чемTCP. Данные по протоколуUDPотсылаются получателю друг за другом, не требуется получение подтверждения об успешной доставке данных получателю. ТакжеUDPне тратит время на установление связи в несколько этапов. Однако, стоит отметить, чтоTCPпутем механизма подтверждений гарантирует успешную доставку данных получателю, в то время, как данные посланные черезUDPмогут и не дойти до адресата.