Адресация с использованием номеров портов

Рубрика: Принципы работы сетей

Рассмотрим пример в одной из предыдущих статей, где компьютер одновременно получает и отправляет e-mail, мгновенные сообщения, веб страницы и телефонные звонки (VoIP).

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

Портовая Адресация

В заголовке каждого сегмента или датаграммы имеются два порта - источника и назначения. Номер порта источника - это номер для данной коммуникации, ассоциированный с приложением, инициирующим передачу на локальном хосте. Номер порта назначения является номером, ассоциированным с приложением, которому адресована коммуникация, на удаленном хосте.

Номера портов назначаются различными способами, в зависимости от того, является сообщение запросом или ответом. Серверные процессы имеют статические номера портов, а клиентские процессы динамически выбирают номер порта для каждого диалога.

Когда клиентское приложение посылает запрос приложению на сервере, порт назначения в заголовке указывает на демона службы, работающей на удаленном хосте. Клиентское ПО должно знать, какой номер порта ассоциирован с серверным процессом удаленного компьютера. Этот номер порта назначения конфигурируется вручную, либо устанавливается по умолчанию. Например, когда веб браузер делает запрос на веб сервер, браузер использует TCP и номер порта 80, если не указан другой номер. Это происходит потому, что TCP порт 80 по умолчанию ассоциирован с веб-приложениями. Многие распространенные приложения имеют номера, используемые по умолчанию.

Порт источника в заголовке сегмента или датаграммы клиентского запроса генерируется случайным образом из диапазона номеров портов больше 1023. В том случае, если номер не конфликтует с другими портами, используемыми в системе, клиент может выбрать произвольный номер порта из диапазона номеров портов по умолчанию для операционной системы. Этот номер порта действует наподобие обратного адреса для приложения, осуществляющего запрос. Транспортный уровень отслеживает этот порт и приложение, которое инициировало запрос, так что при передаче ответа, он может быть направлен корректному приложению. Номер порта запрашивающего приложения используется в качестве номера порта назначения в сообщении-ответе, возвращающемся с сервера.

Комбинация номера порта Транспортного уровня и IP адреса Сетевого уровня, назначенного хосту, однозначно определяет конкретный процесс, работающий на конкретном хостовом устройстве. Эта комбинация называется сокетом. Кое-кто использует термины порт и сокет взаимозаменяемо. В контексте этой и последующих статей, термин сокет будет подразумевать исключительно уникальную комбинацию IP адреса и номера порта. Пара сокетов, состоящая из IP адресов хостов источника и назначения, а также номеров портов, однозначно определяет конкретный диалог между двумя хостами.

Например, HTTP запрос веб страницы, посланный на веб сервер (порт 80), работающий на хосте с IPv4 адресом третьего уровня 192.168.1.20, будет направлен на сокет 192.168.1.20:80.

Если веб браузер, запрашивающий веб страницу, работает на хосте 192.168.100.48 и Динамический номер порта, назначенный веб браузеру, равняется 49152, то сокетом для веб страцицы будет 192.168.100.48:49152.

Далее: Типы номеров портов

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)