Установка, управление и разрыв сеанса
Согласно своему названию, транспортный уровень стека протоколов TCP/IP отвечает за транспортировку данных между приложениями устройства-получателя и устройства-отправителя. Знание принципов работы транспортного уровня является ключевым моментом, который необходим для глубокого понимания современных сетевых технологий. В последующих разделах подробно описаны функции и службы одного из самых важных уровней модели TCP/IP — транспортного.
В эталонной модели OSI несколько приложений могут одновременно использовать одно транспортное соединение. Функция транспортировки данных реализуются посегментно. Это означает, что различные приложения могут передавать данные по принципу ‘‘первым пришел, первым обслужен’’ (FIFO). Сегменты могут быть предназначены как одному получателю, так и разным. Это правило иногда называют механизмом мультиплексирования диалогов приложений верхнего уровня (рис. 3).
Рис. 3. Различные приложения самого верхнего уровня модели OSI используют транспортный уровень
Одна из основных функций транспортного уровня – это организация сеанса связи с установлением соединения с одноранговой системой. Чтобы начать передачу данных, приложения отправителя и получателя информируют свои операционные системы об инициализации соединения. Одна из станций инициализирует соединение, которое должно быть принято другой станцией. Модули операционных систем, отвечающие за работу протоколов, связываются между собой, отправляя специальное сообщение, и проверяют возможность передачи данных и готовность конечных узлов. После завершения процесса синхронизации и установки соединения начинается передача данных. В процессе пересылки обе станции не перестают обмениваться сообщениями, которые позволяют убедиться, что принимаемые данные верны. На рис. 4 проиллюстрировано типичное соединение между отправителем и получателем. Первое сообщение-запрос необходимо для синхронизации конечных узлов. Второе и третье необходимы для подтверждения начального запроса синхронизации; они также синхронизируют параметры соединения в обратном направлении. Последнее сообщение является подтверждением (acknowledgment), которое используется для информирования получателя о том, что обе стороны готовы установить соединение. После установления соединения начинается передача данных. Рис. 4. Процесс установления соединения с одноранговой системой
В процессе передачи данных перегрузка может возникнуть по двум причинам. Первая состоит в том, что быстродействующий компьютер способен генерировать поток данных быстрее, чем сеть сможет его передать. Вторая возникает в ситуации, когда многим компьютерам одновременно необходимо отправить данные одному получателю. В таком случае получатель может испытывать перегрузку, хотя каждый отправитель в отдельности проблем не вызывает. В тех случаях, когда дейтаграммы поступают слишком быстро и конечный узел или шлюз не успевают их обрабатывать, они временно сохраняются в памяти. Если интенсивность потока данных не уменьшается, то конечный узел или шлюз, исчерпав, в конце концов, свои ресурсы памяти, будут вынуждены отбрасывать все последующие дейтаграммы. Чтобы предотвратить потери данных, транспортная функция может посылать отправителю информационное сообщение ‘‘устройство не готово к приему’’. Действуя как красный сигнал светофора, такое сообщение-индикатор сигнализирует отправителю о необходимости прекратить пересылку данных. После того как получатель снова сможет обрабатывать дополнительные данные, он посылает транспортное сообщение-индикатор ‘‘устройство готово к приему данных’’, который подобен зеленому сигналу светофора. Получая такой индикатор, отправитель может возобновить передачу сегментов. После окончания передачи данных отправитель передает получателю сигнал, которой говорит о завершении передачи. Получатель подтверждает разрыв соединения, после чего соединение между машинами завершается.
|