Главная » Интернет и локальные сети

Транспортный уровень модели OSI

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

Два главных протокола этого уровня – протокол управления передачей (Transmission Control Protocol – TCP) и протокол передачи датаграмм пользователя (User Datagram Protocol – UDP). TCP чаще всего применяется службами Интернета: Telnet, HTTP (протокол веб-страниц), SMTP (почтовый протокол) и FTP (передача файлов) основаны на TCP. Одна из причин популярности TCP состоит в том, что он обеспечивает прозрачное и при этом надежное и двунаправленное соединение между двумя IP-адресами. Двунаправленное соединение в TCP похоже на разговор по телефону: после набора номера устанавливается соединение, позволяющее общаться между собой абонентам на обоих его концах. Надежность подразумевает, что TCP обеспечивает доставку данных адресату в правильном порядке. Если пакеты при передаче перемешаются и поступят в беспорядке, TCP обеспечит приведение их в правильный порядок для передачи на следующий уровень модели OSI. Если какие-то пакеты окажутся утраченными, получатель придержит свои пакеты, пока отправитель не передаст заново отсутствующие пакеты.

Все эти функции осуществляются с помощью ряда флагов TCP и отслеживания порядковых номеров пакетов. TCP использует следующие флаги:

Флаги SYN и ACK совместно используются при открытии соединения в процедуре установления связи, выполняемой в три шага. Желая установить соединение с сервером, клиент отправляет ему пакет с установленным флагом SYN и сброшенным флагом ACK. Сервер отвечает пакетом, в котором установлены оба флага SYN и ACK. Завершается открытие соединения отправкой клиентом пакета со сброшенным флагом SYN, но установленным флагом ACK. После этого во всех передаваемых в соединении пакетах будет установлен флаг ACK и сброшен флаг SYN. Только в первых двух пакетах в соединении установлен флаг SYN, потому что эти пакеты служат для синхронизации порядковых номеров.

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

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

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

Ваш комментарий появится после модерации.