Транспортных протоколов в TCP/IP два — это TCP (Transmission Control Protocol, протокол управления соединением) и UDP (User Datagram Protocol). UDP обеспечивает более высокую скорость обмена данными за счёт простоты устройства. Пользовательские данные помещаются в единственный транспортный пакет-датаграмму, которой приписываются обычные для транспортного уровня данные: адреса и порты отправителя и получателя, после чего пакет уходит в сеть искать адресата. Проверять, был ли адресат способен этот пакет принять, дошел ли пакет до него и не испортился ли по дороге, предоставляется следующему — прикладному — уровню.
Другое дело — TCP. Этот протокол очень заботится о том, чтобы передаваемые данные дошли до адресата в целости и сохранности. Для этого предпринимаются следующие действия:
установление соеднинения;
обработка подтверждения корректной доставки;
отслеживание состояния абонентов.
Для просмотра всех существующих в настоящий момент сетевых соединений можно воспользоваться командой netstat:
Согласно стандартам Internet для большинства протоколов прикладного уровня существуют стандартные порты, на которых соответствующие приложения должны принимать соединения. Например, веб-сервер, выполняющий обработку соединений по протоколу HTTP, должен работать на порту с номером 80.
В UNIX существует прозрачный механизм именования протоколов прикладного уровня. В файле /etc/services можно увидеть список соответствия имён протоколов номерам портов. Этот файл используется базовой системной библиотекой сетевого взаимодействия, так что во всех утилитах вместо номера порта можно указывать имя соответствующего протокола.