Что такое TCP/IP

6 Декабря 2021
История стека протоколов TCP/IP началась в 1972 году, с разработок на основе протокола NCP (Network Control Protocol). В 1976 г. осуществилась демонстрация передачи данных по трем различным сетям с использованием TCP (Transmission Control Protocol), а в 1978 г. TCP разделился на обособленные направления: TCP и IP (Internet Protocol), причем TCP отвечал за составление датаграмм из сообщений и его сборку в конечной точке, а IP контролировал транспортировку отдельных датаграмм. В январе 1983 года TCP/IP был принят в качестве официального стандарта Internet с четким описанием взаимодействующих уровней в технической документации RFC 1122.
Что такое TCP/IP
Протокол TCP/IP является обобщенной сетевой моделью, где описаны технологии передачи оцифрованных данных — составления пакетов, методик их передачи, маршрутизации, доставки, распаковки и взаимодействия с ПО. Для работы в интрасетях, базирующихся на стеке TCP/IP, всю информацию представляют специально сформированными блоками — IP-пакетами (IP packets) или IP-датаграммами (IP datagrams).
Основной принцип работы TCP/IP — это послойная группировка решений задач связи, причем пакеты данных пропускаются через все уровни сперва в прямом порядке перед отправкой на целевое устройство, а затем — в обратной последовательности для преобразования сообщения в первоначальный формат. Такой способ передачи данных позволяет стандартизировать процесс и не требует управления оборудованием и ПО.
TCP/IP дает самостоятельным сетям возможность подключения к Internet или объединения в частные интрасети с физическим соединением через IP-маршрутизаторы — оборудование, передающее пакеты внутри и между сетями.
Помимо сокета TCP/IP, группа протоколов представлена:
-
ARP (Address Resolution Protocol), который задействуется при конвертации 32-разрядных IP-адресов в физические адреса (к примеру, в 48-разрядные адреса Ethernet);
Для установки связки клиента с сервером TCP/IP использует систему трехстороннего квитирования, которое позволяет передавать одновременно несколько соединенных сокетов TCP в прямом и обратном направлениях. При этом устройством и сервером синхронизация и согласование информационных блоков проводится перед запуском процесса обмена данными.
Протокол TCP
TCP-протокол применяется для установки подключений и при передаче пакетированной информации — TCP-сегментов, состоящих из заголовков TCP и данных. Надежность протокола TCP обеспечивается здесь проверкой контрольных сумм, определяющим сохранность данных, и сообщениями о приеме полученных данных без нарушений их состояния и смысла.
Установка и поддержка каналов связи между приложениями и устройствами осуществляется TCP-протоколом до тех пор, пока ими не будет завершен обмен данными. Также протоколом TCP определяется схема разбивки исходного сообщения по номерам и пакетам, повторной сборки пакетов, их отправки через маршрутизаторы, шлюзы безопасности и коммутаторы к устройствам назначения.
Востребованность TCP обусловлена его возможностью выполнять сквозную доставку данных из высокоуровневых протоколов, таких как Telnet и SSH, а также из протоколов почтовых отделений (POP). Кроме того, TCP применяется для установки доступа в интернет по протоколу передачи гипертекста (HTTP).
Протокол IP. Преобразование IP-адресов
Протокол IP (IP-модуль) — это система отправки пакетов данных (IP-датаграмм) через маршрутизаторы между устройствами, каждое из которых идентифицируется уникальным IP-адресом. Обмен данными между отправными приложениями или устройствами и пунктами назначения осуществляется с применением различных методов и структур, размещающих теги адресных строк в пакетах данных.
Определение прямого или опосредованного маршрута доставки, и уточнение типа сетевого интерфейса, для отправляемых с модулей верхнего уровня IP-пакетов, производится IP-модулем по итогам поисков в маршрутной таблице (APR). В качестве ключа поиска выступает номер IP-сети, выделяемый из IP-адреса точки получения IP-пакета. При этом решение о маршрутизации принимается перед отправкой IP-пакета на сетевой драйвер и перед использованием ARP-таблицы.
При получении IP-пакетов, переданных с сетевого драйвера, модулем IP определяется необходимость перенаправки IP-пакета по другой сети или передачи его уровнем выше. При выполнении ретрансляции последующая работа с таким IP-пакетом осуществляется по тому же принципу, что и с отправляемым. Ретрансляция входящего IP-пакета никогда не проводится по сетевому интерфейсу, с которого был принят пакет.
Чтобы имя хоста в сети Internet оказалось легким для запоминания, пользователь имеет возможность применить предусмотренную в протоколе TCP/IP систему имен, позволяющую присваивать имя в сети как с одноуровневой, так и с иерархической структурой. В случае работы в одноуровневой структуре необходимо обратиться к файлу /etc/hosts, содержащему таблицу преобразования имен всех имеющихся хостов в IP-адреса. Иерархическая структура имен (DNS) в TCP/IP поддерживается протоколом DOMAIN, реализованным демоном named. Применяя такой демон, можно преобразовывать символьные имена сетей и хостов в IP-адреса.
Разница TCP и IP протоколов
Несмотря на то, что TCP и IP используются совместно при доставке данных в пункт назначения в сети, они являются самостоятельными протоколами, выполняющими разные функции:
- TCP обеспечивает передачу данных и их доставку на конкретное IP-устройство или на заданные приложения;
- IP определяет IP-адреса приложений и устройств и отвечает за получение данных этими устройствами.
Проводя аналогию TCP/IP с работой смартфона, можно сравнить IP-адрес с номером телефона, выделенным устройству, а TCP — считать компьютерной сетевой версией технологии, активирующей звонок смартфона и дающей возможность разговора.
Для чего служит этот протокол и его особенности
На сегодняшний день стек TCP/IP применяется для поддержки всех популярных стандартов физического и канального уровней:
- в локальных сетях — Ethernet, Token Ring, FDDI;
- в глобальных сетях — как протокол работы аналоговых коммутируемых и выделенных линий SLIP, PPP и как протоколы территориальных сетей Х.25 и 150К.
Также TCP/IP используется во всемирной сети Internet и в самых разнообразных корпоративных сетях.
TCP/IP имеет перечень команд и средств, позволяющих осуществлять:
- транспортировку файлов к другим системам;
- вход в удаленные системы;
- выполнение команд в удаленной системе;
- распечатку файлов из удаленных систем;
- отправку электронных сообщений удаленным пользователям;
- ведение интерактивных диалогов с удаленными пользователями;
- управление сетями.
Создание протокола ТСР/IР для сети Internet обеспечивает этому стеку такие особенности, как возможность фрагментировать пакеты (что важно для работы в сложных сетях с разным для каждой составляющей максимальным объемом фрагмента передаваемых данных), гибкость системы адресации, дающая возможность внедрять в многосоставную сеть подсети с технологиями разного рода, и экономное применение рассылок широкого вещания, важное условие работы на низкоскоростных каналах связи в территориальных сетях.
Уровни стека TCP/IP
Структура TCP/IP базируется на модели DARPA, включающей четыре уровня:
- прикладной уровень (Application Layer) — решающий вопросы поддержки сеансов связи, трансформации данных, взаимодействия с пользователями и сетями. Этот уровень применяет стандарты интерфейса API, что обеспечивает передачу команд на выполнение заданных процессов;
- транспортный уровень (Transport Layer) — отвечающий за контроль доставки пакетов данных без дублирования и за повторный запрос информации при обнаружении ошибок. Благодаря этому процессы передачи данных полностью автоматизируются и не зависят от скорости и качества связи на отдельных участках интернета или внутри конкретных подсетей;
- межсетевой (сетевой) уровень (Internet Layer) — регламентирующий маршрутизацию, происходящую через запрос на определенный IP-адрес с использованием маски, причем для хостов, маркированных одной маской и находящихся в общей подсети, передача данных проходит напрямую. В других случаях информация проходит до точки назначения по промежуточным звеньям, а IP-адрес назначается по стандарту IPv4 или IPv6 (при условиях их несовместимости);
- канальный уровень (Network Access Layer) — поддерживает шифровку данных, разбивку их на пакеты и транспортировку по конкретным каналам. Также в функционал этого уровня входит измерение параметров сигналов, таких, например, как задержка ответов или расстояние между хостами.
На канальном уровне дается определение передачи данных при помощи аппаратных средств и других передающих устройств (драйверов, устройств компьютера, кабелей Ethernet, сетевых интерфейсных карт (NIC) и беспроводных систем) через сети.
Что такое порты и сокет
Поскольку процессы, происходящие на Application Layer, связаны с Transport Layer, но воспринимаются им как «секретные материалы» с информацией в виде шифровок, для уточненного распределения пакетов по сети ему необходимо точно знать IP-адрес и порт приемного пункта данных.
IP-адреса и привязанные к нему номера портов носят название сокетов. При этом IP-адрес уникален для каждого хоста, а порт привязан к тому или иному приложению. Порты с 0 до 1023 резервируются для ОС, остальные, в диапазоне от 1024 до 49151, условно не заняты и могут задействоваться сторонними приложениями. Например, порт 21 предназначен для FTP, порт 25 — для SMTP-сервера, порт 110 — для почтового сервера POP3.
Проблемы протокола TCP/IP
Активное использование интернета на мобильных устройствах и постоянного соединения, расширение сети Интернет и создание систем виртуализации привело к повышению спроса на IP-адреса и, как результат, к исчерпанию адресного пространства IPv4.
Израсходование резерва нераспределенных адресов протокола IPv4 (изначально их насчитывалось 4,22 миллиарда) привело к вводу ограничений на их выдачу и к постепенному переходу на IPv6. Помимо этого, есть перспективы сокращения дефицита IP-адресов при использовании технологии NAT (когда нескольким компьютерам присваивается общий внешний IP-адрес), применении прокси-серверов и внутрисетевой адресации, и виртуального хостинга веб-сайтов с доступом по доменному имени.
Что такое модель TCP/IP протокола управления передачей данных?
Протокол управления передачей (TCP) — это стандарт связи, который позволяет прикладным программам и вычислительным устройствам обмениваться сообщениями по сети. Он предназначен для отправки пакетов по интернету и обеспечения успешной доставки данных и сообщений по сетям.
TCP является одним из основных стандартов, определяющих правила Интернета, и включен в стандарты, определенные Инженерным советом Интернета (IETF). Это один из наиболее часто используемых протоколов в рамках цифровой сетевой связи, который обеспечивает сквозную доставку данных.
TCP организует данные таким образом, чтобы они могли передаваться между сервером и клиентом. Это гарантирует целостность данных, передаваемых по сети. Перед передачей данных TCP устанавливает соединение между источником и его пунктом назначения, что обеспечивает его функционирование до начала обмена данными. Затем он разбивает большие объемы данных на пакеты меньшего размера, обеспечивая целостность данных на протяжении всего процесса.
В результате TCP используется для передачи данных из высокоуровневых протоколов, которые требуют получения всех данных. К таким протоколам относятся протокол передачи файлов (FTP), «безопасная оболочка» (SSH) и Telnet. Он также используется для отправки и получения электронной почты через протокол для доступа к электронной почте (IMAP), протокол почтового отделения (POP) и простой протокол передачи почты (SMTP), а также для доступа к интернету через протокол передачи гипертекста (HTTP).
Альтернативой TCP является протокол пользовательских датаграмм (UDP), который используется для установления соединений с низкой задержкой между приложениями и ускорения передачи. TCP может быть дорогостоящим сетевым инструментом, так как он включает в себя отсутствующие или поврежденные пакеты и защищает доставку данных с помощью таких средств управления, как подтверждения, запуск соединения и управление потоком.
UDP не обеспечивает ошибочное соединение или последовательность пакетов, а также не сигнализирует о месте назначения до передачи данных, что делает его менее надежным, но и менее дорогим. Таким образом, он является хорошим вариантом для ситуаций, когда время важно, таких как поиск системы доменных имен (DNS), IP-телефония и потоковые мультимедиа.
Что такое IP?
Интернет-протокол (IP) — это метод передачи данных с одного устройства на другое по интернету. Каждое устройство имеет определяющий его уникальный IP-адрес, который позволяет обмениваться данными с другими устройствами, подключенными к интернету.
IP-адрес отвечает за определение того, как приложения и устройства обмениваются пакетами данных друг с другом. Это основной протокол связи, отвечающий за форматы и правила обмена данными и сообщениями между компьютерами в одной или нескольких сетях, подключенных к интернету. Это достигается с помощью пакета протоколов интернета (TCP/IP), группы протоколов связи, разделенных на четыре уровня абстракции.
IP является основным протоколом на уровне интернета TCP/IP. Его основной целью является доставка пакетов данных между исходным приложением или устройством и пунктом назначения с использованием методов и структур, которые размещают теги, такие как адресная информация, в пакетах данных.
TCP или IP: в чем разница?
TCP и IP являются отдельными протоколами, которые работают вместе, чтобы обеспечить доставку данных в предполагаемое место назначения в сети. IP получает и определяет адрес (IP-адрес) приложения или устройства, на которое должны быть отправлены данные. TCP также несет ответственность за передачу данных и обеспечение их доставки на определенное IP-устройство или целевое приложение.
Другими словами, IP-адрес совпадает с номером телефона, назначенным смартфону. TCP — это компьютерная сетевая версия технологии, активирующая звонок смартфона и позволяющая пользователю разговаривать со звонящим. Два протокола часто используются вместе и полагаются друг на друга, чтобы данные имели место назначения и безопасно достигали его, поэтому этот процесс зачастую называют TCP/IP.
Как работает TCP/IP?
Модель TCP/IP была разработана Министерством обороны США для обеспечения точной и правильной передачи данных между устройствами. Она разбивает сообщения на пакеты, чтобы избежать необходимости повторной отправки всего сообщения в случае возникновения проблемы при передачи. Пакеты повторно собираются после того, как они достигают места назначения. Каждый пакет может принимать разные маршруты между источником и компьютером назначения, в зависимости от того, перегружен или недоступен исходный маршрут.
TCP/IP разделяет задачи связи на уровни, которые поддерживают стандартизацию процесса, без необходимости самостоятельного управления оборудованием и программным обеспечением. Пакеты данных должны проходить через четыре слоя перед их получением целевым устройством, затем TCP/IP проходит через слои в обратном порядке, чтобы вернуть сообщение в исходный формат.
В качестве протокола, ориентированного на подключение, TCP устанавливает и поддерживает соединение между приложениями или устройствами, пока они не завершат обмен данными. Он определяет, как исходное сообщение должно быть разбито на пакеты и номера, повторно собирает пакеты и отправляет их на другие устройства в сети, такие как маршрутизаторы, шлюзы безопасности и коммутаторы, а затем на их место назначения. TCP также отправляет и получает пакеты с сетевого уровня, обрабатывает передачу любых потерянных пакетов, управляет потоком и обеспечивает доставку всех пакетов в пункт назначения.
Хорошим примером того, как это работает на практике, является отправка электронного письма с помощью SMTP с сервера электронной почты. Уровень TCP сервера разделяет сообщение на пакеты, нумерует их и пересылает на уровень IP, который затем передает каждый пакет на целевой сервер электронной почты. Когда пакеты поступают, они передаются на уровень TCP для повторной сборки в исходный формат сообщения и передаются на сервер электронной почты, который доставляет сообщение на почтовый ящик пользователя.
TCP/IP использует трехстороннее квитирование для установления соединения между устройством и сервером, что обеспечивает одновременную передачу нескольких соединений сокетов TCP в обоих направлениях. Устройство и сервер должны синхронизировать и подтверждать пакеты до начала обмена данными, после чего они могут вести переговоры, разделять и передавать соединения сокетов TCP.
4 уровня модели TCP/IP
Модель TCP/IP определяет, как устройства должны передавать данные между ними, и обеспечивает связь через сети и большие расстояния. Модель представляет, как данные обмениваются и упорядочиваются по сетям. Она разделена на четыре уровня, которые устанавливают стандарты обмена данными и представляют, как данные обрабатываются и упаковываются при доставке между приложениями, устройствами и серверами.
Четыре слоя модели TCP/IP:
- Уровень канала передачи данных: определяет способ передачи данных, обрабатывает физическое действие отправки и получения данных и отвечает за передачу данных между приложениями или устройствами в сети. Он включает в себя определение того, как данные должны передаваться аппаратными средствами и другими передающими устройствами в сети, такими как драйвер устройства компьютера, кабель Ethernet, сетевая интерфейсная карта (NIC) или беспроводная сеть. Он также называется канальным уровнем, уровнем доступа к сети, уровнем сетевого интерфейса или физическим уровнем и представляет собой сочетание физических уровней и уровней каналов передачи данных сетевой модели OSI, которая стандартизирует коммуникационные функции в вычислительных и телекоммуникационных системах.
- Интернет-уровень: отвечает за отправку пакетов из сети и управление их движением по сети, чтобы обеспечить их доставку в пункт назначения. Он предоставляет функции и процедуры для передачи последовательностей данных между приложениями и устройствами по сетям.
- Транспортный уровень: отвечает за обеспечение надежного соединения данных между исходным приложением или устройством и его предполагаемым назначением. Это уровень, на котором данные делятся на пакеты и нумеруются для создания последовательности. Транспортный уровень затем определяет, сколько данных должно быть отправлено, куда они должны быть отправлены и с какой скоростью. Он гарантирует отправку пакетов данных без ошибок и последовательно и получает подтверждение того, что целевое устройство получило пакеты данных.
- Уровень приложения: относится к программам, которые нуждаются в TCP/IP для обеспечения их сообщения. Это уровень, с которым пользователи обычно взаимодействуют: например, системы электронной почты и платформы обмена сообщениями. Он объединяет сессии, презентации и приложения модели OSI.
Являются ли ваши пакеты данных частными по TCP/IP?
Пакеты данных, отправленные по TCP/IP, не являются частными. Это означает, что они могут быть видимы или перехвачены. Поэтому крайне важно избегать использования общедоступных сетей Wi-Fi для отправки личных данных и обеспечения шифрования информации. Одним из способов шифрования данных, передаваемых через TCP/IP, является виртуальная частная сеть (VPN).
Что такое мой TCP/IP-адрес?
Для настройки сети может потребоваться TCP/IP-адрес, который, скорее всего, требуется в локальной сети.
Поиск общедоступного IP-адреса — это простой процесс, который можно произвести с помощью различных онлайн-инструментов. Эти инструменты быстро определяют IP-адрес используемого устройства вместе с IP-адресом хоста пользователя, поставщиком интернет-услуг (ISP), удаленным портом и типом используемого браузера, устройства и операционной системы.
Другой способ обнаружения TCP/IP — это страница администрирования маршрутизатора, на которой отображаются текущий общедоступный IP-адрес пользователя, IP-адрес маршрутизатора, маска подсети и другая информация о сети.
Как Fortinet может помочь
Компания Fortinet позволяет организациям безопасно обмениваться данными и передавать их через модель TCP/IP с помощью решений VPN протокола интернет-безопасности (IPsec)/уровня защищенных сокетов (SSL) FortiGate. Высокопроизводительные масштабируемые крипто-VPN Fortinet защищают организации и их пользователей от продвинутых кибератак, таких как атаки типа «человек посередине» (MITM), а также от угрозы потери данных при передаче на высокой скорости. Это крайне важно для передачи данных через TCP/IP, который не защищает пакеты данных во время их передачи.
Решения VPN Fortinet обеспечивают безопасность коммуникаций организаций через интернет, по нескольким сетям и между конечными точками. Это достигается за счет использования технологий IPsec и SSL, использующих аппаратное ускорение Fortinet FortiASIC для обеспечения высокопроизводительной связи и конфиденциальности данных.
VPN Fortinet маскируют IP-адрес пользователя и создают частное соединение для обмена данными независимо от безопасности используемого интернет-соединения. Они устанавливают безопасные соединения путем шифрования данных, передаваемых между приложениями и устройствами. Это устраняет риск того, что конфиденциальные данные будут переданы третьим лицам во время передачи по TCP/IP, а также скроет историю просмотров, IP-адрес, местоположение, веб-активность и другую информацию об устройстве пользователя.
Ответы на вопросы
Для чего используется TCP?
TCP позволяет передавать данные между приложениями и устройствами в сети. Оно предназначено для разбивки сообщения, например сообщения электронной почты, на пакеты данных, чтобы оно было доставлено в пункт назначения как можно быстрее.
Что означает TCP?
TCP — протокол управления передачей, который является стандартом связи для доставки данных и сообщений через сети. TCP — это базовый стандарт, определяющий правила интернета и являющийся общим протоколом, используемым для передачи данных в средствах цифровой сетевой связи.
Что такое TCP и каковы его типы?
TCP — это протокол или стандарт, используемый для обеспечения успешной доставки данных из одного приложения или устройства в другое. TCP является частью протокола управления передачей/протокола интернета (TCP/IP), который является набором протоколов, изначально разработанных Министерством обороны США для поддержки построения интернета. Модель TCP/IP состоит из нескольких типов протоколов, включая протоколы TCP и IP, протокол разрешения адресов (ARP), протокол сообщений управления интернетом (ICMP), протокол разрешения обратных адресов (RARP) и протокол пользовательских данных (UDP).
TCP является наиболее часто используемым из этих протоколов и учетных записей для большинства трафика, используемого в сети TCP/IP. UDP является альтернативой TCP, которая не исправляет ошибок, является менее надежной и имеет меньше расходов, что делает ее идеальной для потоковой передачи.