В этом разделе мы детально рассмотрим функции и принципы работы протокола UDP. При необходимости мы рекомендуем вам вернуться к разделу «Принципы работы протоколов прикладного уровня» в главе 2, где приведен обзор модели обслуживания UDP, а также к разделу «Программирование UDP-сокетов», в котором приведен пример приложения, использующего протокол UDP.
Читать далее »
Архив за сентября, 2008
Функции и принципы работы протокола UDP
Мультиплексирование и демультиплексирование с установлением логического соединения
Для того чтобы понять суть демультиплексирования в протоколе TCP, необходимо сначала подробнее рассмотреть ТСР-сокеты и процесс установления ТСР-соедине-ния. Отличие ТСР-сокета от UDP-сокета заключается в том, что ТСР-сокет идентифицируется при помощи не двух, а четырех составляющих: IP-адреса отправителя, номера порта отправителя, IP-адреса получателя и номера порта получателя. Все четыре компонента используются хостом-получателем в процессе демультиплексирования (направления в нужный сокет) получаемых сегментов. В отличие от протокола TCP, сегменты с разными IP-адресами или номерами порта отправителя будут переданы разным сокетам даже при совпадении IP-адресов и номеров портов получателя. Обратимся к программам, приведенным в разделе «Программирование ТСР-сокетов» главы 2. Эти программы обладают следующими особенностями.
□ Программа-сервер использует «впускающий» сокет с номером порта 6789, принимающий запросы от клиентов на установление ТСР-соединения.
□ Программа-клиент генерирует запрос на установление соединения командойSocket clientSocket = new SocketC’serverHostName”, 6789);
□ Запрос на установление логического соединения представляет собой не что иное, как TCP-сегмент с номером порта 6789 и специальным битовым набором в заголовке (более подробное описание будет приведено в разделе «Протокол TCP — передача с установлением соединения» этой главы). Кроме того, сегмент также включает номер порта отправителя, определяемый программой-клиентом. Команда, приведенная выше, создает ТСР-сокет клиентского процесса, через который клиент осуществляет обмен информацией с сервером.
□ Получив запрос на установление соединения, серверный процесс создает сокет соединения командой