
Урок № 7.
Транспортный уровень
Транспортный уровень выполняет роль посредника между приложением и сетью,
избавляя тем самым программистов от необходимости разработки средств предоставления
приложению различных уровней сервиса. В зависимости от специфики своей работы,
приложение может нуждаться в точной и надёжной передаче своих данных. Однако, как вы
уже знаете, данные в сети могут теряться, фрагментироваться, приходить в неправильном
порядке, что влечёт за собой необходимость обеспечить правильную сборку таких
фрагментов данных.
Или напротив, приложение стремиться избежать излишней сложности во взаимодействии в
целях экономии времени или пропускной способности канала. А может, и того хуже –
приложение, обычно не нуждающееся, например, в предварительной установке соединения,
может вдруг потребовать обслужить его иначе, а именно – установить логическое
соединение с получателем и подтвердить получение всех переданных в этом соединении
данных!
Очень неудобно было бы реализовывать подобные, чрезвычайно сложные алгоритмы
в каждом приложении, значительно лучше поручить выполние этих функций некоему
посреднику, а самому приложению просто обеспечить возможность выбрать нужный на
данный момент уровень качества обслуживания. Таким посредником и выступает
транспортный уровень.
Для обеспечения различных потребностей приложения по качеству передачи трафика
на транспортном уровне работают два протокола – TCP и UDP. TCP гарантирует надёжную
передачу данных в сетях любого масштаба и, захватывая функции сеансового уровня модели
OSI, осуществляет управление логическим соединением. Давайте познакомимся с этими
протоколами, опираясь на материалы Академии Cisco.
Итак, транспортный уровень, а вернее, один из его протоколов – TCP, обеспечивает:
1. Мониторинг и управление логическим соединением между взаимодействующими
приложениями на станции-клиенте и станции-сервере.сЛюбой хост может иметь
несколько приложений, взаимодействующих через сеть. Каждое из этих приложений
будет общаться с одним или несколькими приложениями на удаленных хостах. В
сферу ответственности TCP входит поддержание многочисленных
коммуникационных потоков между этими приложениями.
2. Формирование сегментов данных из исходного неструктурированного потока байтов,
генерируемого приложением и управление каждым таким сегментом. Тем самым
TCP подготавливает данные для отправки в блоках, которые представляют собой
независимые фрагменты данных, способные к самостоятельному путешествию по
сети. Каждый такой сегмент снабжается заголовком транспортного уровня,
содержащим идентификатор соединения, к которому этот сегмент принадлежит.
3. Сборка сегментов в потоки данных приложений. После прибытия на станцию-
получатель, каждый сегмент должен быть помещён на своё место для восстановления
исходного потока данных, опираясь на информацию, переданную в заголовке.
Необходимые операции также описывает протокол транспортного уровня, в нашем
случае TCP.
4. Идентификация различных приложений. Этот этап необходим для того, чтобы TCP