Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекций ИС.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
13.79 Mб
Скачать

4.3.2. Адресация уровня 4

Порты TCP и UDP можно рассматривать как средства адресации уровня 4. Порты являются идентификаторами, точно так же, как и адреса, но они, в отличие от адресов, обозначают не хост, а приложение на этом хосте. Например, если при просмотре ресурсов Web на компьютере открыто несколько окон браузера, последний без труда определяет, какая Web-страница должна быть открыта в том или ином окне. Причем даже если в двух разных окнах браузера открыта одна и та же Web-страница, то при щелчке на кнопке поиска Search на одной из этих страниц не проходит путаница, и ответ на запрос появляется в том окне, где был выполнен щелчок. Дело в том, что для обозначения отдельных экземпляров программы браузера, применяемых для работы с разными окнами, используются различные номера портов.

Чтобы продолжить эту аналогию, рассмотрим жилой дом. Предположим, что в доме живет 500 человек, но используется только один почтовый адрес. Предположим также, что отправители не пишут на конвертах имена получателей, а только адреса, поскольку предполагают, что каждый конкретный получатель имеет собственный почтовый адрес. Как может действовать человек, живущий в этом доме вместе с 499 другими людьми, чтобы получить свою почту? Да, он должен не только просмотреть все конверты, но и открыть каждое письмо и прочитать его, чтобы узнать, не предназначено ли оно ему!

Именно так действовал бы компьютер без портов. На компьютере пришлось бы открывать все сообщения, предназначенные для 500 разных приложений, но поступающих по одному и тому же адресу, и читать часть каждого сообщения для определения того, предназначено ли оно, например, для программы Outlook, Ping или Internet Explorer. А благодаря использованию портов на компьютере выполняются такие же действия, как при правильной организации доставки почты в аналогии с жилым домом. В доме должны быть установлены отдельные почтовые ящики с одинаковым адресом, но разными номерами квартир, а на компьютере приложениям назначаются разные порты, которые имеют одинаковый адрес, но различные номера. Таким образом, если на компьютере работает Web-сервер и сервер Telnet, то на нем порт 23 назначается как входящий порт для сообщений Telnet, а порт 80 – как входящий порт для запросов HTTP. Поэтому при поступлении каких-либо данных через порт 80 предполагается, что эти данные предназначены для Web-сервера.

Для работы по протоколам TCP и UDP предназначено до 65536 портов (с номерами от 0 до 65535). Порты с номерами от 0 до 1023 называются стандартными. Распределением этих номеров управляет организация IANA, и их нельзя изменять по своему усмотрению. Каждый конкретный порт в этом диапазоне по умолчанию используется одним из распространенных сетевых приложений. Краткий список наиболее широко применяемых портов приведен в табл. 4.4.

Таблица 4.4. Некоторые наиболее широко применяемые порты TCP

Номер порта TCP

Наименование приложения

20

Данные FTP

21

Управление FTP

23

Telnet

25

SMTP

53

DNS

67

Сервер BOOTP

68

Клиент BOOTP

79

Finger

80

HTTP

110

POP3

119

NNTP (Network News Transfer Protocol – сетевой протокол передачи новостей)

137

NBNS (NetBIOS Name Service – служба имен NetBIOS)

143

IMAP (Internet Message Access Protocol – протокол доступа к сообщениям Internet)

161

SNMP

162

Прерывание SNMP

194

IRC (Internet Relay Chat – протокол перенаправления текстовых сообщений в Internet)

443

HTTPS (Hyper Text Transmission protocol, Secure- протокол защищенной передачи гипертекста)

Порты с номерами от 1024 до 49151 называются зарегистрированными. Эти порты также обычно применяются для серверных сетевых приложений, но не так строго определены, как стандартные порты. А любой порт с номером больше 49151 рассматривается как динамический и может использоваться приложениями по мере необходимости.

Номера портов используются с обеих сторон соединения. Например, предположим, что пользователь работает с одним и тем же Web-сервером, открыв два отдельных окна браузера. При отправке пользователем запроса через одно из этих окон (допустим, окно браузера №1) в заголовке TCP заполняется поле порта отправителя и поле порта получателя. В поле порта получателя, скорее всего, будет введено значение 80 (поскольку получателем является Web-сервер), а в поле порта – случайное число, которое превышает 49151 (пусть это будет 54200). Браузер контролирует это значение и запоминает, что оно используется именно для этого конкретного взаимодействия через окно браузера №1.

Если же теперь будет отправлен запрос через окно браузера №2, в заголовок TCP будет помещено другое обозначение порта отправителя (например 62900). После получения ответа в нем будет указан номер порта отправителя 80 (поскольку пакет поступил с Web-сервера), а номер порта получателя устанавливается равным 54200. Таким образом, браузер может определить, что полученное сообщение должно быть выведено в окно браузера №1, а не №2.