logo
адресация сетей

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

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

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

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

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

Десятич. номер порта

Обозначение порта

Описание

в Интернет

в Unix

0

-

-

Зарезервировано

1

TCPmux

-

tcp Мультиплексор

2

Compressnet

-

Программа управления

3

Compressnet

-

Процесс сжатия

5

RJE

-

Вход в удаленную задачу

7

Echo

echo

Эхо

9

Discard

discard

Сброс

11

Users

systat

Активные пользователи

13

Daytime

daytime

Время дня

15

-

Netstat

Кто работает или netstat

19

Chargen

chargen

Генератор символов

20

FTP-data

ftp-data

FTP (данные)

21

FTP

ftp

Протокол пересылки файлов (управление)

23

telnet

telnet

Подключение терминала

24

-

-

Любая частная почтовая система

25

SMTP

smtp

Протокол передачи почтовых сообщений

31

MSG-auth

Распознавание сообщения (аутентификация)

35

-

-

Любой частный принт-сервер

37

Time

time

Время

39

RLP

-

Протокол поиска ресурсов

41

Graphics

Графика

42

nameserver

name

Сервер имен

43

Nicname

whois

Кто это? (whois-сервис)

45

MPM

-

Блок обработки входных сообщений

46

MPM-snd

-

Блок обработки выходных сообщений

48

Auditd

-

Демон цифрового аудита

49

login

-

Протокол входа в ЭВМ

50

RE-mail-ck

-

Протокол удаленного контроля почтовым обменом

53

Domain

nameserver

Сервер имен доменов (dns)

57

-

-

Любой частный терминальный доступ

59

-

-

Любой частный файл-сервер

64

covia

-

Коммуникационный интегратор (ci)

66

SQL*net

-

Oracle SQL*net

67

Bootps

Bootps

Протокол загрузки сервера

68

Bootpc

bootpc

Протокол загрузки клиента

69

TFTP

tftp

Упрощенная пересылка файлов

70

Gopher

-

Gopher (поисковая система)

71

-

Netrjs-1

Сервис удаленных услуг

77

-

rje

Любой частный RJE-сервис

79

Finger

finger

finger

80

WWW-HTTP

World Wide Web HTTP

81

Hosts2-NS

-

Сервер имен 2

87

-

-

Любая частная терминальная связь

88

Kerberos

Kerberos

92

NPP

-

Протокол сетевой печати

93

DCP

-

Протокол управления приборами

95

Supdup

supdup

Supdup протокол

97

Swift-rvf

-

swift-протокол удаленных виртуальных файлов

101

Hostname

hostnames

Сервер имен ЭВМ для сетевого информационного центра

102

ISO-Tsap

iso-tsap

ISO-Tsap

103

GPPitnp

Сети точка-точка

104

ACR-nema

ACR-nema digital IMAG. & comm. 300

108

Snagas

sna-сервер доступа

109

POP2

-

Почтовый протокол pop2

110

POP3

-

Почтовый протокол POP3

111

SUNRPC

sunrpc

SUN microsystem RPC

113

Auth

auth

Служба распознавания

114

Audionews

Аудио-новости

115

SFTP

Простой протокол передачи файлов

117

UUCP-path

uucp-path

Служба паролей uucp

118

SQLserv

SQL-сервер

119

NNTP

NNTP

Протокол передачи новостей

123

NTP

NTP

Сетевой протокол синхронизации

129

PWDgen

Протокол генерации паролей

130-132

Cisco

133

Statsrv

Сервер статистики

134

Ingres-net

Ingres-net-сервис

135

LOC-srv

Поисковый сервис

137

Netbios-SSN

-

Служба имен Netbios

138

Netbios-DGM

Служба дейтограмм netbios

139

Netbios-SSN

Служба сессий Netbios

147

ISO-IP

ISO-IP

150

SQL-net

SQL net

152

BFTP

Протокол фоновой пересылки файлов

156

SQLsrv

SQL-сервер

158

PCmail-srv

PC почтовый сервер

161

-

SNMP

Сетевой монитор SNMP

162

-

SNMP-trap

SNMP-ловушки

170

Print-srv

postscript сетевой сервер печати

179

BGP

Динамический протокол внешней маршрутизации

191

Prospero

Служба каталогов Prospero

194

IRC

Протокол Интернет для удаленных переговоров

201-206

Протоколы сетей Apple talk

213

IPX

ipx

348

CSI-SGWP

Протокол управления cabletron

396

Netware-IP

Novell-Netware через IP

398

Kryptolan

Kryptolan

414

Infoseek

Infoseek (информационный поиск)

418

Hyper-g

Hyper-g

444

SNPP

Простой протокол работы со страницами

512

-

biff (exec)

Unix Comsat (удаленное исполнение)

513

-

Who

Unix Rwho daemon

514

-

syslog

Дневник системы

515

Printer

Работа с буфером печати (spooler)

525

-

Timed

Драйвер времени

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

Рис. 5.5 Адресация 4-го уровня

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

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

Рис. 5.6 Пример Использования портов