Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Протокол UDP
В отличие от TCP, он не ориентирован на соединение и не обеспечивает подтверждение приема, управление потоком, сегментацию и гарантированную доставку. В результате UDP намного проще TCP и создает гораздо меньше нагрузки на сеть. Это связано не только с тем, что заголовок UDP короче заголовка TCP (8 байтов против не менее 20). В UDP нет специальных управляющих сообщений, например, сообщений для установки или разрыва соединения. Транзакция UDP состоит всего из двух сообщений — запроса и ответа, причем последний служит также неявным подтверждением приема. По этим причинам, приложения, использующие UDP, могут передавать лишь небольшие порции данных, которые могут уместиться в единственное сообщение. В основном сообщения UDP применяются протоколами прикладного уровня DNS и DHCP. В определенных ситуациях UDP можно использовать и для передачи больших объемов данных, например, в аудио- и видеопотоках. В данном случае использование UDP допустимо, поскольку периодическая потеря пакетов важной роли не сыграет.
Рис. 9. Формат сообщения UDP Функции полей сообщения UDP таковы. • Порт источника (Source Port) ( 2 байта)— идентификатор процесса в передающей системе, который • Порт приемника (Destination Port) (2 байта)— идентификатор процесса в принимающей системе, которому предназначается информация в поле данных. • Длина (Length) (2 байта)— длина заголовка и данных UDP в байтах. • Контрольная сумма (Checksum)(2 байта)— код CRC, вычисленный передающей системой. Целевая система использует его для обнаружения ошибок в заголовке UDP, данных и частях заголовка IP. • Данные (Data) (переменной длины)— данные, сгенерированные процессом прикладного уровня, номер которого указан в поле Source Port. Поля Source Port и Destination Port в заголовке UDP выполняют те же функции, что и в заголовке TCP. В поле Length указано количество данных, включенных в сообщение UDP. Как и в TCP, контрольная сумма вычисляется для заголовка сообщения, данных и псевдозаголовка IP. В стандарте UDP использование контрольной суммы не является обязательным. Если она не используется, передающая система заполняет поле Checksum нулями. По поводу включения контрольной суммы в сообщения UDP было много споров. В документе RFC 768 указано, что во все системы UDP должна включаться возможность проверки контрольной суммы, и этот метод обнаружения ошибок действительно используется в большинстве реализации протокола UDP. Как видно из нашего далеко не полного описания двух протоколов транспортного уровня стека TCP/IP, на один из них — TCP — возложена сложная и очень важная задача обеспечение надежной передачи данных через ненадежную сеть. С другой стороны, функциональная простота протокола UDP обусловливает простоту алгоритма его работы, компактность и высокое быстродействие. Поэтому те приложения, в которых реализован собственный, достаточно надежный, механизм обмена сообщениями, основанный на установлении соединения, предпочитают для непосредственной передачи данных по сети использовать менее надежные, но более быстрые средства транспортировки, в качестве которых по отношению к протоколу TCP и выступает протокол UDP. Протокол UDP может быть использован и в том случае, когда хорошее качество линий связи обеспечивает достаточный уровень надежности и без применения дополнительных приемов наподобие установления логического соединения и квитирования передаваемых пакетов. Заметим также, что поскольку протокол TCP основан на логических соединениях, он, в отличие от протокола UDP, не годится для широковещательной и групповой рассылки. Выводы · В то время как задачей протокола IP является передача данных между любой парой сетевых интерфейсов в составной сети, задача протоколов TCP и UDP заключается в передаче данных между любой парой прикладных процессов. · Системные очереди к точкам входа прикладных процессов называют портами. Порты идентифицируются номерами и однозначно определяют приложение в пределах компьютера. · Приложения, которые передают данные на уровень IP, используя протокол UDP, получают номера, называемые портами UDP. Аналогично, приложениям, обращающимся к протоколу TCP, выделяются порты TCP. · Если процессы представляют собой популярные общедоступные службы, такие как FTP, telnet, HTTP, TFTP, DNS и т. п., то за ними централизовано закрепляются стандартные присвоенные (assigned) номера. · Для тех служб, которые еще не стали столь распространенными, чтобы закреплять за ними стандартные номера, номера портов выделяются локальной операционной системой. Такие номера называют динамическими (dynamic). · Процессы, выполняющиеся на двух конечных узлах, устанавливают по протоколу TCP надежную связь через составную сеть, все узлы которой используют для передачи сообщений ненадежный дейтаграммный протокол IP. · Надежность передачи данных протоколом TCP достигается за счет того, что он основан на установлении логических соединений между взаимодействующими процессами. · Прикладной процесс в сети однозначно определяется сокетом (socket), который представляет собой пару (IP-адрес, номер порта). В свою очередь, пара сокетов взаимодействующих процессов идентифицирует соединение. Каждый процесс одновременно может участвовать в нескольких соединениях. · В рамках TCP-соединения происходит договорный процесс о следующих параметрах процедуры обмена данными между двумя процессами: максимальном размере сегмента, максимальном объеме данных, которые можно передавать без получения подтверждения (окне приема), о начальном порядковом номере байта, с которого начинается отсчет потока данных в рамках данного соединения. · Сторона-приемник передает стороне отравителю размер окна приема, исходя из того, с какой скоростью она сможет обрабатывать присылаемые данные. Однако управлять окном приема может и сторона-отправитель. Если отправляющая сторона фиксирует ненадежную работу линии связи, то она может по собственной инициативе уменьшить окно. В таких случаях действует правило: в качестве действующего размера окна выбирается минимальное из двух значений — значения, диктуемого приемной стороной, и значения, определяемого «на месте» отправителем.
|