- Что такое TCP/IP
- История стека протоколов 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. Преобразование IP-адресов
- Разница TCP и IP протоколов
- Для чего служит этот протокол и его особенности
- Уровни стека TCP/IP
- Что такое порты и сокет
- Проблемы протокола 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-адрес), применении прокси-серверов и внутрисетевой адресации, и виртуального хостинга веб-сайтов с доступом по доменному имени.
Собрать сервер
Собери свой сервер, под свои задачи и по минимальной цене!
Любой сервер можно сконфигурировать по-своему, изменив комплектующие или их количество на нужное Вам.
Статьи по теме
Серверная память против обычной. В чем отличия
Статья поможет понять разницу между серверной и обычной памятью и объяснит, почему они не взаимозаменяемы.
Что такое коммутатор?
В данной статье мы решили более подробно познакомить вас с коммутаторами и их особенностями.
Сервер против ПК: что лучше для бизнеса
Что лучше для бизнеса — сервер или ПК? Разберем сегодня в данной статье