Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013-04-08 Транспортный уровень модели OSI.docx
Скачиваний:
30
Добавлен:
26.05.2015
Размер:
174.06 Кб
Скачать

Транспортный уровень использует службы, предоставляемые сетевым уровнем:

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

􀂄 поток данных транспортного уровня является логическим соединением между конечными точками сети;

􀂄 механизм скользящего окна обеспечивает сквозное управление и надежность соединения, позволяет отслеживать последовательность номеров пакетов и уведомлений;

􀂄 для управления различными сетевыми соединениями в протоколах четвертого уровня TCP и UDP и для передачи информации верхним уровням используются так называемые порты (port).

Транспортный уровень стека TCP/IP

Согласно своему названию, транспортный уровень стека протоколов TCP/IP отвечает за транспортировку данных между приложениями устройства-получателя и устройства-отправителя. Знание принципов работы транспортного уровня является ключевым моментом, который необходим для глубокого понимания современных сетевых технологий. В последующих разделах подробно описаны функции и службы одного из самых важных уровней модели TCP/IP — транспортного.

Введение в транспортный уровень стека TCP/IP

Для описания четвертого, транспортного, уровня часто используется выражение качество обслуживания. Протокол UDP, который подробно рассматривается ниже, относится к транспортному уровню и обеспечивает работу транспортных служб без установления соединения. Однако основным протоколом, работающим на рассматриваемом уровне, является протокол TCP, который использует механизм установления соединения. Главными функциями этого протокола являются транспортировка и надежное управление потоком информации от отправителя к получателю. К основным функциям транспортного уровня относятся обеспечение сквозного управления передачей, управление потоком посредством механизма скользящего окна (sliding window) и гарантирование надежности доставки за счет установки последовательных номеров и использования подтверждений.

Для того чтобы понять, для чего нужна надежность передачи данных и управление потоком, представьте себе иностранца, который очень быстро говорит. Его слушатель, скорее всего, будет вынужден иногда переспрашивать отдельные слова (аналог надежности передачи) и просить говорить медленнее (аналог потока).

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

Поток данных транспортного уровня является логическим соединением между конечными точками в сети; на транспортном уровне также проверяется возможность установки соединения между приложениями. На рис. 11.2 проиллюстрирована работа транспортного уровня.

Транспортный уровень обеспечивает следующие функции:

  • сегментацию данных приложений верхних уровней;

  • управление сквозным взаимодействием;

  • передачу сегментов от одного конечного узла другому;

  • управление потоком посредством изменения размера окна;

  • обеспечение надежности путем назначения номеров и использования подтверждений.

Для транспортного уровня внешнюю сеть можно представить в виде некоторой среды (изображаемой обычно в виде облака), по которой передаются пакеты данных от отправителя получателю. Такая среда отвечает за то, какой маршрут является оптимальным для конкретного получателя. Уже на этом этапе можно понять, какую важную роль играют маршрутизаторы в процессе передачи данных в сети.

Набор протоколов TCP/IP состоит из двух отдельных протоколов: TCP и IP. Протокол IP является протоколом третьего уровня без установления соединения, который обеспечивает эффективную передачу данных по сети. TCP является протоколом четвертого уровня, представляет собой службу с установлением соединения и обеспечивает управление потоком данных и, следовательно, высокую надежность передачи. Сочетание указанных двух протоколов позволяет решать широкий круг задач по передаче данных. Конечно же, стек протоколов TCP/IP состоит и из многих других протоколов, однако протоколы TCP и IP являются основными. К слову, вся сеть Internet основана именно на стеке протоколов TCP/IP.

Управление потоком

Когда протокол TCP транспортного уровня пересылает сегменты данных, он может гарантировать целостность данных. Одним из методов достижения этой цели является управление потоком (flow control), которое позволяет избежать проблем, связанных с ситуациями, когда узел на одном конце соединения переполняет буферы станции на другом конце. Переполнение вызывает серьезные проблемы, поскольку может привести к потере данных.

Службы транспортного уровня позволяют пользователям требовать надежного транспорта данных между узлами-отправителями и получателями. Чтобы обеспечить надежную передачу данных между коммуникационными партнерами-системами, используется механизм работы с установлением соединения. Надежная транспортировка обеспечивает следующие функции:

  • гарантирует, что отправитель будет получать подтверждение о доставке каждого сегмента;

  • обеспечивает повторную пересылку любых сегментов, подтверждение о доставке которых не было получено;

  • позволяет сортировать сегменты в пункте назначения в правильном порядке;

  • не допускает перегрузку сети и обеспечивает управление заторами в случае их возникновения.

Установка, управление и разрыв сеанса

В эталонной модели OSI несколько приложений могут одновременно использовать одно транспортное соединение. Функция транспортировки данных реализуются посегментно. Это означает, что различные приложения могут передавать данные по принципу ‘‘первым пришел, первым обслужен’’ (FIFO). Сегменты могут быть предназначены как одному получателю, так и разным. Это правило иногда называют механизмом мультиплексирования диалогов приложений верхнего уровня (рис. 3).

Рис. 3. Различные приложения самого верхнего уровня модели OSI используют транспортный уровень

Одна из основных функций транспортного уровня – это организация сеанса связи с установлением соединения с одноранговой системой. Чтобы начать передачу данных, приложения отправителя и получателя информируют свои операционные системы об инициализации соединения. Одна из станций инициализирует соединение, которое должно быть принято другой станцией. Модули операционных систем, отвечающие за работу протоколов, связываются между собой, отправляя специальное сообщение, и проверяют возможность передачи данных и готовность конечных узлов.

После завершения процесса синхронизации и установки соединения начинается передача данных. В процессе пересылки обе станции не перестают обмениваться сообщениями, которые позволяют убедиться, что принимаемые данные верны. На рис. 4 проиллюстрировано типичное соединение между отправителем и получателем. Первое сообщение-запрос необходимо для синхронизации конечных узлов. Второе и третье необходимы для подтверждения начального запроса синхронизации; они также синхронизируют параметры соединения в обратном направлении. Последнее сообщение является подтверждением (acknowledgment), которое используется для информирования получателя о том, что обе стороны готовы установить соединение. После установления соединения начинается передача данных.

Рис. 4. Процесс установления соединения с одноранговой системой

В процессе передачи данных перегрузка может возникнуть по двум причинам. Первая состоит в том, что быстродействующий компьютер способен генерировать поток данных быстрее, чем сеть сможет его передать. Вторая возникает в ситуации, когда многим компьютерам одновременно необходимо отправить данные одному получателю. В таком случае получатель может испытывать перегрузку, хотя каждый отправитель в отдельности проблем не вызывает.

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

Чтобы предотвратить потери данных, транспортная функция может посылать отправителю информационное сообщение ‘‘устройство не готово к приему’’. Действуя как красный сигнал светофора, такое сообщение-индикатор сигнализирует отправителю о необходимости прекратить пересылку данных. После того как получатель снова сможет обрабатывать дополнительные данные, он посылает транспортное сообщение-индикатор ‘‘устройство готово к приему данных’’, который подобен зеленому сигналу светофора. Получая такой индикатор, отправитель может возобновить передачу сегментов.

После окончания передачи данных отправитель передает получателю сигнал, которой говорит о завершении передачи. Получатель подтверждает разрыв соединения, после чего соединение между машинами завершается.