Характеристики транспортных протоколов

Опубликовано в Технологии > Серверные технологии

Характеристики протокола UDP

  • Связь "многие ко многим". В отличие от TCP, протокол UDP обеспечивают большую гибкость в определении числа приложений, взаимодействующих друг с другом. Он допускает отправку многими приложениями сообщений одному получателю или передачу одним приложением нескольким получателям. Еще более важно то, что протокол UDP позволяет использовать в приложениях для доставки сообщений средства групповой или широковещательной рассылки базовой сети.
  • Ненадежная доставка. Протокол UDP характеризуется ненадежной доставкой. Это означает, что сообщения, отправляемые по этому протоколу, могут быть потеряны, продублированы или доставлены не в том порядке, в каком они были отправлены. В нем не предусмотрены средства повторной передачи, а отправитель не информируется о возникновении подобных нарушений в работе.
  • Отсутствие управления потоком данных. Протокол UDP не предусматривает управления потоком данных: если дейтаграммы поступают быстрее, чем их может обработать принимающая система или приложение, дейтаграммы отбрасываются без предупреждения или извещения.
  • Дейтаграммная организация. Как уже было сказано, протокол UDP предоставляет дейтаграммную службу передачи данных. Отправитель, вызывая на выполнение функцию передачи данных, указывает точное число передаваемых байтов данных. Программное обеспечение UDP помещает эти данные в одно исходящее сообщение. С другой стороны, протокол UDP предусматривает доставку данных на принимающий компьютер по одному сообщению за один раз. Поэтому доставленные данные укладываются точно в такие же границы сообщений, которые были установлены приложением-отправителем.

8.6. Выбор транспортного протокола

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

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