Протокол TCP


TCP (протокол управления передачей) — это стандарт, который определяет, как установить и поддерживать сетевой диалог, через который прикладные программы могут обмениваться данными. TCP работает с Интернет-протоколом ( IP ), который определяет, как компьютеры отправляют друг другу пакеты данных. Вместе TCP и IP являются основными правилами, определяющими Интернет. Инженерная группа Интернета ( IETF ) определяет протокол TCP в стандарте RFC под номером 793.

Как работает протокол управления передачей?
TCP — это протокол, ориентированный на соединение, что означает, что соединение устанавливается и поддерживается до тех пор, пока прикладные программы на каждом конце не закончат обмен сообщениями. Он определяет, как разбить данные приложения на пакеты, которые могут доставлять сети, отправляет пакеты и принимает пакеты с сетевого уровня, управляет управлением потоком и — поскольку он предназначен для обеспечения безошибочной передачи данных — обрабатывает повторную передачу отброшенных или искаженных пакетов и подтверждает все приходящие пакеты. В модели взаимодействия открытых систем (OSI) TCP охватывает части уровня 4, транспортного уровня , и части уровня 5, сеансового уровня .

Например, когда веб- сервер отправляет файл HTML клиенту , он использует для этого протокол передачи гипертекста ( HTTP ). Уровень программы HTTP просит уровень TCP установить соединение и отправить файл. Стек TCP делит файл на пакеты данных, нумерует их и затем пересылает их индивидуально на уровень IP для доставки. Хотя каждый пакет в передаче имеет один и тот же IP-адрес источника и назначения , пакеты могут отправляться по нескольким маршрутам. Программный уровень TCP на клиентском компьютере ожидает, пока все пакеты не будут доставлены, затем подтверждает те, которые он получает, и запрашивает повторную передачу тех, которых он не делает — на основе отсутствующих номеров пакетов. Затем уровень TCP собирает пакеты в файл и доставляет файл принимающему приложению.


Этот процесс обнаружения ошибок — повторная передача и переупорядочивание пакетов после их прибытия — может вызвать задержку в потоке TCP. Чрезвычайно чувствительные ко времени приложения, такие как передача голоса по IP ( VoIP ), потоковое видео и игры, обычно полагаются на транспортный процесс, такой как протокол дейтаграмм пользователя ( UDP ), поскольку он снижает задержку и джиттер — вариацию задержки — не беспокоясь о переупорядочении пакеты или получение отсутствующих данных повторно передаются.

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

Для чего используется TCP?
TCP используется для организации данных таким образом, чтобы обеспечить безопасную передачу между сервером и клиентом. Это гарантирует целостность данных, отправляемых по сети, независимо от их количества. По этой причине он используется для передачи данных из других протоколов более высокого уровня, которым требуется прибытие всех передаваемых данных. Примеры включают:

Secure Shell ( SSH ), протокол передачи файлов (FTP), Telnet : для однорангового обмена файлами и, в случае Telnet, входа на компьютер другого пользователя для доступа к файлу.
Простой протокол передачи почты ( SMTP ), протокол почтового отделения ( POP ), протокол доступа к сообщениям в Интернете ( IMAP ): для отправки и получения электронной почты
HTTP: для доступа в Интернет
Все эти примеры существуют на прикладном уровне стека TCP / IP и отправляют данные вниз в TCP на транспортном уровне.

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

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

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

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

Запросы поступают на сервер через стек, начиная с уровня приложения в виде данных. Оттуда информация разбивается на пакеты разных типов на каждом уровне. Данные перемещаются:

из приложения на транспортный уровень, где он сортируется по сегментам TCP;
на уровень Интернета, где он становится дейтаграммой ;
на уровень сетевого интерфейса, где он снова разбивается на биты и кадры; и
наконец, сервер отвечает, и информация проходит вверх по стеку, чтобы попасть на уровень приложения в виде данных.


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

Оставьте комментарий

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