Transmission Control Protocol (TCP) — протокол управления передачей.
TCP это стандарт определяющий каким образом устанавливать и поддерживать сетевой диалог, благодаря которому программы могут обмениваться данными. TCP работает с Интернет-протоколом (IP), который определяет, как компьютеры отправляют друг другу пакеты данных. Вместе TCP и IP являются основными правилами, определяющими Интернет. Инженерная группа Интернета (IETF) определяет протокол TCP в стандарте RFC под номером 793.
Как работает TCP
TCP — это протокол который устанавливает и поддерживает соединение до тех пор, пока прикладные программы на каждом конце не закончат обмен сообщениями. Он определяет, как разбить данные приложения на пакеты, отправляет пакеты и принимает пакеты с сетевого уровня, управляет управлением потоком и, обрабатывает повторную передачу отброшенных или искаженных пакетов, а так же подтверждает все приходящие пакеты. В модели взаимодействия открытых систем (OSI) TCP охватывает части уровня 4, транспортного уровня, и части уровня 5, сеансового уровня.
Пример. Когда вы открываете сайт (по сути веб-страницу) веб-сервер с помощью браузера (браузер — прикладной уровень) отправляет вам HTML страницу. Для этого используется протокол передачи гипертекста (HTTP — уровень представлений и сеансовый уровень). Пакеты передаваемые HTTP идут на 80 порт (транспортный уровень). Веб-сервер находиться на компьютере который имеет статический IP-адрес (сетевой уровень). Пакеты передающиеся от вашего компьютера к серверу идут по сетевой карте (канальный и физический уровень).
Уровни TCP/IP
Набор протоколов TSP/IP основан на собственной модели, которая базируется на модели OSI.
- Прикладной, представления, сеансовый OSI = Прикладной TCP.
- Транспортный OSI = Транспортный TCP.
- Сетевой OSI = Интернет TCP.
- Канальный, физический OSI = Сетевой интерфейс TCP.
Для чего используется 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 более специфичен