Найти в Дзене
EvaKotofeEva

TCP (Transmission Control Protocol)/IP (Internet protocol) протокол управления передачей данных – что это такое и как он работает?

Оглавление

Шпаргалка для администрирования сети

Начну пожалуй с определения 😺 которое потом часто встречается в тексте.

Протокол связи — это набор правил и стандартов, определяющих, как устройства обмениваются данными в сети. Он регулирует формат, передачу и управление информацией между устройствами, обеспечивая их взаимопонимание. Примеры: TCP/IP, HTTP, FTP.

Что такое TCP/IP?

TCP (Transmission Control Protocol) и IP (Internet Protocol) — это два ключевых но разных протокола связи, дополняющие функциональность друг друга, которые вместе образуют фундаментальную основу для передачи данных в интернете. Они работают на разных уровнях модели OSI (Open Systems Interconnection), обеспечивая надежное и упорядоченное соединение между устройствами.

  • TCP (Transmission Control Protocol) работает на транспортном уровне (4-й уровень) модели OSI. Он обеспечивает надежную передачу данных между устройствами.
  • IP (Internet Protocol) работает на сетевом уровне (3-й уровень) модели OSI. Он отвечает за адресацию и маршрутизацию пакетов данных через сеть.
OSI (Open Systems Interconnection)
OSI (Open Systems Interconnection)

IP - Internet Protocol

Интернет-протокол или IP доставляет пакеты данных (маршруты и адреса) между источником (устройством или приложением) и пунктом назначения. Он гарантирует, что эти пакеты дойдут до нужного места назначения. Он определяет правила и форматы для приложений и устройств для связи и обмена этими пакетами данных в определенной сети или между различными подключенными сетями.

  • IP : Отвечает за маршрутизацию данных по сети. Определяет путь для передачи данных между устройствами через их IP-адреса.

Основные функции IP (Интернет протокол):

  • Отвечает за маршрутизацию пакетов данных через сеть.
  • Присваивает уникальный IP-адрес каждому устройству в сети.
  • Управляет адресацией и маршрутизацией пакетов от источника к получателю.

TCP- Transmission Control Protocol

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

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

Основные функции TCP

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

Как работает TCP/IP?

Протокол IP работает с использованием различных правил и ресурсов, таких как IP-адреса. Для подключения к Интернету домены и устройства получают уникальный IP-адрес, который можно идентифицировать и разрешить взаимодействовать (обмениваться данными) с другими подключенными устройствами.

-4

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

IP — это протокол без установления соединения. Все пакеты данных просто адресуются, маршрутизируются и доставляются без подтверждения от пункта назначения к источнику. Этот недостаток устраняется посредством протокола управления передачей.

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

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

Как только все они достигают пункта назначения, TCP приступает к перестроению сообщения, снова объединяя все его части (пакеты) для правильной доставки.

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

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

Уровни TCP/IP

Самая обновленная модель TCP/IP включает следующие четыре уровня. Все они сотрудничают с одной и той же целью — передачей данных.

-5

1. Модель OSI и уровни TCP/IP

Модель OSI состоит из семи уровней, но TCP/IP обычно рассматривается как четырехуровневая модель:

  1. Сетевой интерфейс (Network Interface Layer) : Эквивалентен двум нижним уровням модели OSI (физический и канальный уровни). Обеспечивает связь между устройствами на физическом уровне. Уровень канала передачи данных и физический уровень модели OSI объединяются, образуя уровень доступа к сети. В нем описывается процесс, посредством которого данные фактически передаются по сети. В нем также рассматривается, как аппаратные компоненты, которые физически взаимодействуют с сетью, такие как медная витая пара, оптическое волокно и коаксиальный кабель, передают данные через оптические или электрические средства. Уровень доступа к сети — это нижний уровень модели TCP/IP.
  2. Интернет (Internet Layer) : Сопоставим с сетевым уровнем модели OSI. Работает с IP-пакетами и управляет маршрутизацией. Интернет-уровень, также известный как IP или сетевой уровень (не путать с уровнем доступа к сети), отвечает за отправку пакетов и обеспечение максимально точной передачи данных. Поскольку он контролирует направление и скорость движения, он чем-то похож на регулировщика на дороге. Кроме того, он предоставляет процедурные этапы и функциональные возможности для передачи последовательностей данных. Протоколы этого уровня включают IPv4 , IPv6 , ICMP и ARP .
  3. Транспорт (Transport Layer) : Сопоставим с транспортным уровнем модели OSI. Работает с TCP и UDP (User Datagram Protocol) для управления передачей данных. Он определяет объем данных и скорость их правильной передачи. Он получает сообщения с уровня приложения, делит их на части, транспортирует, перестраивает в правильной последовательности и решает возможные проблемы, чтобы гарантировать их целостность и правильную доставку. TCP работает на этом уровне.
  4. Приложение (Application Layer) : Объединяет три верхних уровня модели OSI (сеансовый, представительский и прикладной уровни). Включает такие протоколы, как HTTP, FTP, SMTP и другие. Это верхний уровень, предоставляющий интерфейс для взаимодействия приложений и сетевых служб. Он идентифицирует участников, участвующих в коммуникации, определяет доступ к ресурсам сети, правила взаимодействия протоколов приложений и транспортных сервисов. Уровень приложений включает в себя все протоколы более высокого уровня, такие как DNS, HTTP, SSH, FTP, SNMP , SMTP, DHCP и т. д.

Процесс передачи данных по TCP/IP

1. Установление соединения (Three-way Handshake)

Перед началом передачи данных TCP должен установить соединение между клиентом и сервером. Этот процесс называется "трёхстороннее рукопожатие" (three-way handshake):

-6
  1. SYN : Клиент отправляет серверу сообщение SYN (synchronize), указывая, что он хочет установить соединение.
  2. SYN-ACK : Сервер отвечает сообщением SYN-ACK (synchronize-acknowledgment), подтверждая готовность к соединению.
  3. ACK : Клиент отправляет сообщение ACK (acknowledgment), подтверждая, что соединение установлено.

После установления соединения данные разбиваются на пакеты и отправляются через сеть:

-7
  1. Сегментация : Данные разбиваются на более мелкие части (сегменты).
  2. Номера последовательности : Каждый сегмент маркируется номером последовательности, чтобы можно было собрать их в правильном порядке на принимающей стороне.
  3. Отправка пакетов : Пакеты отправляются через IP-сети, где каждый пакет может пройти разными маршрутами.
  4. Подтверждение получения : Получатель отправляет подтверждения (ACK) для каждого полученного сегмента. Если подтверждение не приходит в течение определенного времени, отправитель повторно отправляет пакет.

3. Закрытие соединения (Four-way Handshake)

Когда передача данных завершена, соединение должно быть закрыто. Это делается с помощью четырёхэтапного процесса:

  1. FIN : Клиент отправляет серверу сообщение FIN (finish), указывая, что он больше не будет отправлять данные.
  2. ACK : Сервер отправляет клиенту подтверждение ACK.
  3. FIN : Сервер отправляет клиенту сообщение FIN.
  4. ACK : Клиент отправляет серверу подтверждение ACK.

3. Пример работы TCP/IP

Предположим, вы хотите загрузить веб-страницу с сайта:

  1. Ваш браузер отправляет запрос DNS (Domain Name System) для преобразования доменного имени в IP-адрес.
  2. После получения IP-адреса ваш компьютер устанавливает TCP-соединение с веб-сервером через трёхстороннее рукопожатие.
  3. Браузер отправляет HTTP-запрос на веб-сервер для получения содержимого страницы.
  4. Веб-сервер обрабатывает запрос и отправляет HTML-код страницы обратно вашему браузеру по TCP/IP.
  5. Ваш браузер собирает все сегменты данных, восстанавливает исходный HTML-код и отображает страницу на экране.

В чем разница между TCP и IP?

TCP и IP — это два разных протокола компьютерной сети. Каждая функция в процессе передачи данных отличает TCP (протокол управления передачей) от IP (протокол Интернета). Используя IP, вы можете узнать, куда отправляются данные (у вашего устройства есть IP-адрес). Как только этот IP-адрес будет обнаружен, TCP гарантирует точную доставку данных. Эта пара составляет набор протоколов TCP/IP.

Другими словами, TCP отправляет и получает почту, а IP ее сортирует. Другие протоколы, такие как UDP (протокол пользовательских дейтаграмм), могут передавать данные внутри IP-системы без использования TCP, хотя эти два протокола обычно рассматриваются как пара. Но для того, чтобы TCP доставлял данные, ему нужен IP-адрес.

-8

Преимущества и недостатки TCP/IP

  • Надежность : TCP гарантирует доставку всех пакетов данных в правильном порядке
  • Глобальная совместимость : TCP/IP используется практически всеми сетями, что делает его стандартом де-факто для интернета.
  • Масштабируемость : TCP/IP легко масштабируется для поддержки миллионов устройств и сетей.
  • Это позволяет подключать различные виды устройств.
  • Это делает возможным межплатформенную связь между различными сетями.
  • Он поддерживает различные протоколы маршрутизации.
  • Он предлагает высокие возможности масштабируемости. Вы можете добавлять сети, не создавая проблем.
  • Он предоставляет IP-адреса устройствам для их идентификации.
  • Это не зависит от операционной системы.
  • Это открытый протокол. Никто не владеет им. Каждый может использовать его.
  • Это обеспечивает надежную связь посредством повторной передачи пакетов данных в случае потери, обеспечивая целостность данных.
  • Он предлагает надежные возможности обнаружения и исправления ошибок, повышая надежность передачи данных.

Недостатки TCP/IP

  • Заменить протоколы на TCP/IP непросто.
  • Он не дает четкого определения понятий сервисов, протоколов и интерфейсов. Может быть сложно присвоить категорию новым технологиям, включенным в современные сети.
  • Это работает для широких сетей. Он не подходит для маленьких (PAN или LAN ).
  • Подвержен уязвимостям безопасности, если не защищен должным образом, что делает шифрование и другие меры безопасности необходимыми.
  • Задержки : Из-за механизма подтверждения и повторной отправки данных TCP может вызывать задержки, особенно в случае потери пакетов.
  • Ресурсоемкость : TCP требует значительных ресурсов для управления соединениями и контролем потока данных.

Заключение

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