
мог передать данные нужному приложению. В каждом заголовке транспортного
уровня устанавливается идентификатор приложения, которому предназначены
данные. Этот идентификатор представлен в виде номера порта, который закреплён за
приложением. За каждым сетевым приложением закреплён определённый,
уникальный для этого хоста номер порта. Записанный в заголовке сегмента, он
позволяет одназначно определить приложение, которому адресован данный сегмент.
Транспортный уровень обеспечивает связь между верхними уровнями модели OSI, на
которых, в частности, работают всевозможные приложения, и нижними, ответственными за
транспортировку данных в сети. Он принимает данные от многих приложений, сегментирует
их и передаёт на сетевой уровень, где они в конечном итоге мультиплексируются в линии
связи. Транспортный уровень избавляет приложения от необходимости вникать в детали
работы сети, беспокоиться о типе используемой среды передачи, о возможных перегрузках в
сети. Всё, что теперь нужно делать приложению – это анализировать полученные данные и
генерировать новые данные для передачи. Аналогично, нижние уровни не осведомлены о
том, как работают верхние уровни. Их задача – передавать данные соответствующим
устройствам, где их потом TCP отсортирует и передаст соответствующим приложениям.
Как уже было сказано выше, разные приложения имеют разные потребности в
качестве передачи данных. Некоторые приложения могут успешно обработать данные
только в том случае, если эти данные пришли в правильном порядке (а порядок поступления
данных может изменяться по мере продвижения в сети), а другие способны вполне лояльно
переносить потерю нескольких пакетов, тем не менее, обоим типам приложений нужно
обеспечить возможность одновременно работать в одной сети. Столь разные требования
удовлетворяются применением двух разных протоколов транспортного уровня. Один из них
– UDP – обеспечивает только базовые функции для эффективной доставки данных между
соответствующими приложениями. UDP полезен для приложений, чувствительных к
задержкам данных. Другой транспортный протокол – описывает процессы, которые
обеспечивают дополнительные возможности, такие как обеспечение надежной доставки
между приложениями. Хотя эти дополнительные функции обеспечивают более надежную
связь на транспортном уровне, они имеют дополнительные накладные расходы и большие
требования к сети.
Компьютер, подключенный к сети, способен одномоментно поддерживать множество
соединений и выполнять разнообразные действия – принимать и отправлять почту,
просматривать web-сайты и т.д. Все приложения одновременно отправляют свои данные в
сеть, но почтовые сообщения не принимает браузер, а файл, скачиваемый с FTP-сервера, не
оказывается в почтовом клиенте.
Кроме того, пользователи требуют, чтобы сообщения электронной почты или
содержимое веб-страницы были полностью получены и представляли из себя целостную
информацию, которая могла бы быть признанной полезной. Незначительные задержки при
этом считаются приемлемыми при условии обеспечения корректного получения и
представления информации.
В противоположность этому, случайную потерю нескольких пакетов телефонного
разговора можно считать допустимой. Собеседник может восстановить содержимое
потерянных пакетов из контекста разговора или, в крайнем случае, попросить повторить
сказанное. Это будет предпочтительнее задержек, которые неминуемо возникнут в
результате повторной передачи недостающих фрагментов. В этом примере пользователь - а
не сеть - управляет повторной передачей отсутствующей информации.
Как уже было сказано, передача некоторых видов данных – например, видео -