Читаем TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) полностью

Сервер BOOTP и клиент этой службы используются для неконфигурируемых устройств. Рабочая станция может получить для себя IP-адрес, свою маску адреса, узнать местоположение маршрутизатора по умолчанию, адреса наиболее важных серверов сети и, при необходимости, имя и местоположение на сервере boot загружаемого программного файла конфигурации. Программное обеспечение в рабочую станцию поступает через протокол Trivial File Transfer Protocol (см. главу 14).

Мы уже знаем, что сервер имен доступен через порт 53 и команду nslookup. Порты 161 и 162 используются протоколом Simple Network Management Protocol.

Кроме официально назначенных номеров, любая система с TCP/IP может резервировать диапазон номеров для важных сетевых служб и приложений.

Оставшиеся номера портов (выше 1023) предоставляются клиентам от программного обеспечения хоста по мере необходимости. Выделение предусматривает следующие шаги:

1. Пользователь запускает клиентскую программу (например, nslookup).

2. Клиентский процесс исполняет системную подпрограмму, имеющую смысл: "Я хочу выполнить коммуникацию UDP. Предоставьте мне порт".

3. Системная подпрограмма выбирает неиспользованный порт из пула доступных портов и предоставляет его клиентскому процессу.

Можно видеть, что TCP также идентифицирует источник и назначение своим 16-разрядным идентификатором порта. Например, порт 21 применяется для доступа к службе пересылки файлов, а порт 23 — для службы регистрации telnet.

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

<p>9.3 Адреса socket</p>

Используемая для коммуникации комбинация IP-адреса и порта называется адресом socket (дословно — гнездо, разъем). Отметим, что адрес socket обеспечивает для сервера или клиента всю информацию, необходимую для идентификации партнера по коммуникации.

Заголовок IP содержит IP-адреса источника и назначения. Заголовки UDP и TCP содержат номера портов источника и назначения. Следовательно, каждое сообщение UDP или TCP несет в себе адрес socket для источника и назначения.

Ниже приведен результат выполнения команды netstat -па, выводящей локальные и удаленные адреса socket для текущих активных коммуникаций с системой tigger. Адреса socket записаны в форме IP-адрес.номер_порта.

> netstat -na

Active Internet connections (including servers)

Proto Recv-Q Send-Q Local Address       Foreign Address     (state)

Tcp      0      0   127.0.0.1.1340      127.0.0.1.111       TIME_WAIT

Tcp      0      0   128.121.50.145.25   128.252.223.5.1526  SYN_RCVD

Tcp      0      0   128.121.50.145.25   148.7.9.160.65.3368 ESTABLISHED

Tcp      0    438   128.121.50.145.23   130.132.57.246.2219 ESTABLISHED

Tcp      0      0   128.121.50.145.25   192.5.5.1.4022      TIME_WAIT

Tcp      0      0   128.121.50.145.25   141.218.1.100.3968  TIME_WAIT

Tcp      0      0   128.121.50.145.25   35.8.2.2.3722       TIME_WAIT

Tcp      0      0   128.121.50.145.1338 165.247.48.4.25     ESTABLISHED

Tcp      0      0   128.121.50.145.25   128.173.4.8.3626    ESTABLISHED

Tcp      0      0   128.121.50.145.25   192.48.96.14.3270   ESTABLISHED

. . .

Udp      0      0   *.7                 *.*

Udp      0      0   *.9                 *.*

Udp      0      0   *.37                *.*

Udp      0      0   *.19                *.*

Udp      0      0   *.111               *.*

. . .

Перейти на страницу:

Похожие книги