Работаем в штатном режиме

Что такое TCP/IP

Что такое TCP/IP 5 Декабря 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);

  • FTP (File Transfer Protocol), задействующим TCP-соединения при передаче файлов между устройствами;
  • ICMP(Internet Control Message Protocol), служащим для отправки с IP-маршрутизатора сведений о сбоях и прочей управляющей информации на остальные IP-маршрутизаторы и центральные устройства сети. Передача ICMP-сообщений проводится в формате полей данных IP-датаграмм и неотъемлема к реализации для IP независимо от ее версии;
  • IGMP (Internet Group Management Protocol), работающим с подсетями Internet, который поддерживает распространение IP-датаграмм в multicast-режиме между компьютерами, принадлежащими к той или иной группе;
  • RARP (Reverse Address Resolution Protocol), преобразующим физические сетевые адреса в IP-адреса;
  • POP3 (Post Office Protocol version 3) и SMTP (Simple Mail Transfer Protocol), которые устанавливают формат сообщений, отправляемых по e-mail через SMTP-клиент на исходном устройстве на SMTP-сервер на принимающем;
  • UDP (User Datagram Protocol), передающим блоки данных в формате UDP-датаграмм. Надежность UDP невысока, потому что информация, подтверждающая прием такой датаграммы, отправителем не получается.

Для установки связки клиента с сервером 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-адрес), применении прокси-серверов и внутрисетевой адресации, и виртуального хостинга веб-сайтов с доступом по доменному имени.