Адресация уровня 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 | Наименование приложения |
Данные FTP | |
Управление FTP | |
Telnet | |
SMTP | |
DNS | |
Сервер BOOTP | |
Клиент BOOTP | |
Finger | |
HTTP | |
POP3 | |
NNTP (Network News Transfer Protocol – сетевой протокол передачи новостей) | |
NBNS (NetBIOS Name Service – служба имен NetBIOS) | |
IMAP (Internet Message Access Protocol – протокол доступа к сообщениям Internet) | |
SNMP | |
Прерывание SNMP | |
IRC (Internet Relay Chat – протокол перенаправления текстовых сообщений в Internet) | |
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.
Дата добавления: 2015-04-15; просмотров: 1287;