2.6.1. Транспортный уровень

IP модуль доставляет данные только между двумя компьютерами. Транспортный уровень и его протоколы передают данные между приложениями.

TCP/IP включает два транспортных протокола: протокол управления транспортировкой (собственно, транспортный протокол, TCP) и протокол пользовательских датаграмм (UDP). Ориентированный на соединение протокол управления транспортировкой для приема и передачи данных использует надежный поточно-байтовый способ доставки. Сетевое соединение устанавливается в виде виртуальной цепи. Протокол пользовательских датаграмм ненадежен, не ориентирован на соединение, передает и принимает данные при помощи датаграмм.

Понятие “порт” в терминологии TCP/IP очень похоже на IP-адрес компьютера. Только порт обозначает приложение, а IP-адрес — определенный компьютер (вернее, его сетевой интерфейс). Так же, как IP-датаграммы содержат адреса источника и получателя данных, транспортные протоколы хранят номера портов источника и получателя.

Порты персональных компьютеров имеют название и номер. Параллельные порты компьютера называются LPT1 и LPT2. Последовательные — СОМ1 и COM2. В сети Интернет номера портов протоколов только нумеруются. Порт протокола Интернет ассоциируется со вполне определенным приложением или функцией.

Некоторым, часто используемым приложениям, например ftp, telnet или электронной почты, присвоены официальные (well-known) номера портов. “Официальность” порта состоит в том, что его номер широко известен и применяется всеми компьютерами в Интернет, работающими с данным сетевым приложением или функцией (см. табл. 2.7).

Порт UDP

IP доставляет данные по сетевым компьютерам. UDP сортирует данные по портам. Приложения периодически проверяют свои порты и забирают данные. UDP не уведомляют приложения о приходе свежих данных.

Порт TCP

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

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

Поскольку транспортный уровень перемещает пакеты данных к прикладным программам и от них, он должен каким-то образом распознавать те программы, с которыми имеет дело. Любое приложение, независимо от того, сервер оно или клиент, имеет уникальный номер порта. Когда программа устанавливает соединение с сетью, ей присваивается определенный номер порта.

Таблица 2.7

Некоторые официальные номера портов протоколов Интернет

Протокол (сетевая служба)

Номер порта

Служба эхо (Echo Protocol)

7

Время суток (Daytime Protocol)

13

Протокол передачи файлов (File Transfer Protocol)

21

Протокол удалённого терминала (Telnet Protocol)

23

Простой протокол передачи почты (Simple Mail Transfer Protocol)

25

Точное время (Time Protocol)

37

Кто-есть-кто (Whois Protocol)

43

Протокол простой передачи файлов (Trivial File Transfer Protocol)

69

Информация о пользователях (Finger Protocol)

79