logo search
Учебник проектирование и внедрение компьютерных

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

Транспортный уровень (transport layer) - подобно Канальному и Сетевому уровням - выполняет функции, обеспечивающие надежную пересылку данных от передающего узла к принимающему. Например, Транспортный уровень гарантирует, что данные передаются и принимаются в одном и том же порядке. Кроме этого, по завершении пересылки принимающий узел может послать подтверждение (иногда называемое квитанцией).

Когда в сети используются виртуальные каналы, Транспортный уровень отслеживает уникальные идентификаторы, назначенные каждому каналу. Эти значения называются портами, идентификаторами соединения или сокетами; они назначаются Сеансовым уровнем. Также Транспортный уровень обеспечивает проверку пакетов. При этом на самом верхнем уровне контроля гарантируется безошибочная передача пакетов от узла к узлу в заданный промежуток времени.

Протоколы, используемые для взаимодействия на Транспортном уровне, реализуют несколько механизмов обеспечения надежности. Простейшим является протокол Класса 0. Он не выполняет никаких проверок на наличие ошибок и не управляет потоком данных, передавая эти функции Сетевому уровню. Протокол Класса 1 отслеживает ошибки передачи пакетов и при наличии ошибки запрашивает у Транспортного уровня передающего узла повторную передачу пакета. Протокол Класса 2 проверяет наличие ошибок, передачи и обеспечивает управление потоком данных между Транспортным и Сеансовым уровнями. Функция управления потоком (flow control) гарантирует скорость передачи данных, чтобы одно устройство не посылало информацию быстрее, чем ее сможет принять сеть или обработать принимающее устройство. Протокол Класса 3 обеспечивает функции Классов 1 и 2, а также возможность восстановления потерянных в некоторых случаях пакетов. И, наконец, протокол Класса 4 выполняет те же функции, которые обеспечивает Класс 3, осуществляя кроме этого более сложные операции по исправлению ошибок и восстановлению пакетов.

Еще одной функцией Транспортного уровня является деление посылаемых сообщений на более мелкие фрагменты в тех случаях, когда в сетях используются разные протоколы с отличающимися размерами пакетов. Данные, разбитые на мелкие блоки Транспортным уровнем передающей сети, собираются в правильном порядке Транспортным уровнем принимающей стороны и интерпретируются Сетевым уровнем.

Именно Транспортный уровень обеспечивает получение каждого пакета или фрейма без потерь. Пользователи сотовых телефонов знают, что из-за наводок или помех могут пропадать куски фраз. Аналогичным образом в сети могли бы пропадать элементы данных при их слишком быстрой или слишком медленной передаче. Задача Транспортного уровня - обеспечить такую скорость передачи информации, чтобы не было ее потерь. Транспортный уровень также может регулировать размер «окон» данных, передаваемых между сигналами подтверждения приема, в результате чего объем переданных данных за единицу времени может увеличиться. Например, если компьютер посылает один пакет, а затем ждет в течение некоторого времени подтверждения от принимающей стороны, Транспортный уровень может увеличить «окно» так, чтобы между подтверждениями посылались четыре пакета, а не один, что в четыре раза ускорит передачу информации.