Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
47
Добавлен:
11.04.2015
Размер:
4.78 Mб
Скачать

Раздел 10 User Datagram Protocol (udp)

10.1 Назначение протокола

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

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

Официальная спецификация протокола UDP - RFC 768 [Postel 1980]

10.2 Определение окончательного места назначения

Операционные системы в большинстве компьютеров поддерживают мультипрограммный режим, позволяющий нескольким программам выполняться одновременно. Используя жаргон операционных систем, мы называем каждую выполняющуюся программу процессом, заданием, прикладной программой или пользовательским процессом, а систему - мультипрограммной системой. Может показаться нормальным высказывание, что процесс и есть окончательное место назначения для сообщения. Однако сказать, что отдельный процесс на отдельной машине - окончательное место назначения для дейтаграммы, было бы несколько ошибочно. Во-первых, так как процессы создаются и завершаются динамически, отправитель редко имеет информацию, достаточную для идентификации процесса на другом компьютере. Во-вторых, мы хотели бы иметь возможность заменять процессы, получающие дейтаграммы, без уведомления всех отправителей (например, перезапуск компьютера может изменить все процессы, но у отправителей не должно быть необходимости в получении информации о новых процессах). В третьих, нам нужно определять места назначения на основе выполняемых ими функций, ничего не зная о тех процессах, которые выполняют эти функции (например, позволять отправителю взаимодействовать с файл-сервером не зная, о том, какой процесс на машине получателя выполняет функцию файл-сервера). Более того, в системах, позволяющих одному процессу выполнять две и более функции, важно, чтобы мы дали возможность такому процессу определять, какая функция нужна отправителю.

Вместо того чтобы считать процесс конечным местом назначения, будем представлять, что каждый компьютер имеет набор абстрактных точек назначения, называемых протокольными портами. Каждый порт идентифицируется целым положительным числом. Локальная операционная система обеспечивает механизм взаимодействия, который процессы используют для указания порта, на котором они работают, или порта, доступ к которому нужен. Большинство операционных систем обеспечивают синхронный доступ к портам. С точки зрения отдельного процесса синхронный доступ означает остановку работы процесса на время работы с портом. Например, если процесс пытается извлечь данные из порта до их прибытия в порт, система останавливает (блокирует) процесс до прихода данных. Когда данные приходят, система передает их процессу и передает ему управление. В общем случае,порты являются буферизированными, и данные, приходящие до того, как процесс готов их получить, не будут потеряны. Чтобы реализовать буферизацию, протокольная программа, входящая в состав операционной системы, помещает прибывающие в конкретный порт пакеты в очередь (не бесконечную) до тех пор, пока процесс не извлечет их.

Чтобы связаться с портом на другой машине, отправитель должен знать как IР-адрес компьютера-получателя, так и номер порта в компьютере. Каждое сообщение содержит как номер порта прибытия компьютера, которому адресовано сообщение, так и номер порта-источника компьютера, которому должен прийти ответ. Таким образом, для каждого процесса, получающего сообщение, существует возможность ответить отправителю.

Соседние файлы в папке Методичка по протоколам