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 |