Серия «стек протоколов TCP/IP» — транспортный уровень

Транспортный уровень модели TCP/IP включает в себя два протокола: протокол управления передачей (Transmission Control ProtocolTCP) и протокол пользовательских дейтаграмм (User Datagram ProtocolUDP). Транспортный уровень, как следует из его названия, предоставляет транспортные услуги от узла отправителя к узлу получателя. Он поддерживает логическое соединение между конечными точками сетевого маршрута.

Чтобы представить себе, что именно делает транспортный уровень, нужно сначала обратиться к верхнему уровню, а именно, к уровню приложений. Зачем? Каждый уровень многоуровневой модели предоставляет некоторые службы вышестоящему уровню. Так к примеру, в рассмотренном взаимодействии компьютера и веб сервера в статье Уровень приложений, использовался протокол HTTP для пересылки веб-страницы. А что произойдет, если, например, запрос на получение страницы от компьютера где-то «потеряется» по пути? Или ответ от сервера, содержащий текст веб-страницы, не будет получен? В любом из случае информация не отобразится в браузере компьютера.

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

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

Очевидно, что преимущества протокола TCP и его механизм коррекции ошибок не заметны до тех пор, пока не будут потеряны какие-либо данные. Предположим, что в нашем примере, передаваемые данные были потеряны. В такой ситуации протокол HTTP не будет предпринимать никаких дополнительных попыток, а механизм TCP должен повторно переслать данные и убедиться что они успешно доставлены. Такой случай иллюстрирует процесс взаимодействия смежных уровней в сетевой модели, когда два соседних уровня стека протоколов одного компьютера взаимодействуют друг с другом для передачи информации в сети. Протоколу верхнего уровня (HTTP) нужна функция, которой у него нет (возможность восстановления ошибок). Поэтому протокол верхнего уровня запрашивает протокол нижнего уровня (TCP) о выполнении нужной функции, и последний использует для этого какую-нибудь свою службу. Обычно протоколы нижних уровней предоставляют некоторые службы протоколам верхнего уровня, а не наоборот.

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



Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>