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

Добавлено 13 сентября 2020 в 22:37

Хотя на прикладном уровне (уровне приложений) TCP/IP существует множество протоколов, в транспортном уровене TCP/IP их гораздо меньше. Два наиболее часто используемых протокола транспортного уровня – это протокол управления передачей (TCP, Transmission Control Protocol) и протокол пользовательских датаграмм (UDP, User Datagram Protocol).

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

Восстановление после ошибок TCP

Чтобы понять, что делают протоколы транспортного уровня, вы должны вспомнить об уровне выше транспортного уровня, об уровне приложений. Зачем? Каждый уровень предоставляет услуги вышестоящему уровню, например, восстановление после ошибок, предоставляемое протоколом TCP протоколам прикладного уровня.

Например, Роб и Гарри использовали HTTP для передачи домашней страницы с веб-сервера Гарри в веб-браузер Роба (рисунок в предыдущей статье). Но что произошло бы, если бы HTTP-запрос GET Роба был потерян при передаче через сеть TCP/IP? Или что произошло бы, если бы ответ Гарри, в который входил контент домашней страницы, был утерян? Как и следовало ожидать, в любом случае страница не отобразилась бы в браузере Роба.

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

Рисунок 1 Служба восстановления после ошибок TCP, предоставленная протоколу HTTP
Рисунок 1 – Служба восстановления после ошибок TCP, предоставленная протоколу HTTP

На рисунке 1 показан веб-сервер Гарри, отправляющий веб-страницу веб-браузеру Роба, используя три отдельных сообщения. Обратите внимание, что на этом рисунке показаны те же заголовки HTTP, что и на рисунке в предыдущей статье, а также на нем показаны заголовки TCP. В заголовках TCP показан порядковый номер (SEQ) каждого сообщения. В данном примере в сети возникла проблема, и сеть не может доставить сообщение TCP (называемое сегментом) с порядковым номером 2. Когда Роб получает сообщения с порядковыми номерами 1 и 3, но не получает сообщение с порядковым номером 2, он понимает, что сообщение 2 было потеряно. Эта реализация TCP-логики заставляет Роба отправить TCP-сегмент обратно Гарри с просьбой снова отправить сообщение 2.

Взаимодействие на одном уровне и на смежных уровнях

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

На рисунке 1 также показан пример аналогичной функции, называемой взаимодействием на одном уровне. Когда определенный уровень на одном компьютере хочет обмениваться данными с тем же уровнем на другом компьютере, два компьютера используют заголовки для хранения информации, которой они хотят обмениваться. Например, на рисунке 1 Гарри установил порядковым номерам значения 1, 2 и 3, чтобы Роб мог заметить, если какие-либо данные не дойдут. Процесс TCP на компьютере Гарри создал TCP-заголовок с порядковым номером; процесс TCP на компьютере Роба получил и обработал сегмент TCP.

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

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

Теги

CCNACiscoTCPTCP/IPКомпьютерные сетиОбучениеТранспортный уровень

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.