Сетевые технологии (17). Набор протоколов TCP/IP.

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

TCP/IP расшифровывается как Transmission Control Protocol / Internet Protocol и представляет собой набор протоколов связи, используемых для соединения сетевых устройств в Интернете. TCP/IP также используется в качестве протокола связи в частной компьютерной сети (интранете или экстранете).

Весь набор (stack) протоколов TCP/IP — это не только два основных протокола: TCP и IP, но и другие, добавленные позже. Сначала, в ходе разработки по заказу Министерства обороны США, это были действительно только два протокола, но потом, в ходе приспсобления TCP/IP для мультимедийных услуг, к ним добавились и другие. Называлось все это по прежнему TCP/IP. Набор протоколов TCP/IP тауже выролняет роль абстракции между интернет-приложениями и аппаратной инфраструктурой маршрутизации и коммутации.

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

Функции протоколов IP и TCP

Протокол TCP определяет, как приложения могут создавать каналы связи (links) в сети. Он также управляет тем, как сообщение разбивается на небольшие пакеты, прежде чем они будут переданы через Интернет и повторно собраны в правильном порядке по адресу назначения.

Протокол IP определяет, как адресовать и маршрутизировать каждый пакет, чтобы убедиться, что он достиг нужного места назначения. Каждый сетевой элемент (маршрутизатор, коммутатор и пр.) проверяет адрес полученного IP-пакета, чтобы определить, куда дальше пересылать сообщение (полезную нагрузку) содержащуюся в нём.

Маска подсети (subnet mask) сообщает компьютеру или другому сетевому устройству, какая часть IP-адреса используется для представления сети, а какая — для представления хостов или других устройста в сети.

Трансляция сетевых адресов NAT (Network Address Translation) помогает повысить безопасность и уменьшить количество внешних IP-адресов, необходимых организации.

Общие протоколы TCP/IP включают следующие:

  • Протокол передачи гипертекста (HTTP) управляет обменом данными между веб-сервером и веб-браузером.
  • Его разновидность HTTP Secure (https) обеспечивает безопасную связь между веб-сервером и веб-браузером.
  • Протокол передачи файлов FTP (File Transfer Protocol) обрабатывает передачу файлов между компьютерами.

Как работает TCP / IP?
TCP / IP использует модель взаимодействия «клиент-сервер», в которой пользователю или компьютеру клиента предоставляется некая услуга, например, отправка веб-страницы, компьютером сервера в сети.

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

Однако транспортный уровень сети работает с сохранением состояния (stateful). Он передаёт сообщение и установленное им соединение не разрывается, пока все пакеты в сообщении не будут получены и собраны в нужном порядке месте назначения.

Модель TCP/IP немного отличается от семиуровневой сетевой модели взаимодействия открытых систем (OSI), разработанной позже. Эталонная модель OSI определяет, как приложения могут взаимодействовать по сети.

Почему так важен TCP/IP?
TCP/IP не является чей-то интеллектуальной собственностью и, как следствие, не контролируется какой-либо отдельной компанией или организацией. Таким образом, структура пакета IP может быть легко изменена. TCP/IP совместим со всеми операционными системами (ОС), поэтому может взаимодействовать с любой из них, также взаимодействие разных ОС разных компьютеров между собой. Пакеты IP также совместимы со всеми типами компьютерного оборудования и сетей.

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

4-х уровневая модель TCP / IP

Функциональность TCP / IP разделена на четыре уровня, каждый из которых включает определённые протоколы:

  • Уровень приложений предоставляет приложениям стандартизированный обмен данными. Его протоколы включают HTTP, FTP, POP3 (Post Office Protocol 3), SMTP (Simple Mail Transfer Protocol) и SNMP (Simple Network Management Protocol). На уровне приложения полезная нагрузка пакета (payload) — это фактические данные приложения.
  • Транспортный уровень отвечает за поддержание сквозной передачи данных в сети. TCP управляет обменом данными между хостами и обеспечивает управление потоком, мультиплексирование и надёжность. Транспортные протоколы включают TCP и протокол пользовательских дейтаграмм UDP (User Datagramm Protocol), который иногда используется вместо TCP для определённых целей.
  • Сетевой уровень, также называемый интернет-уровнем, работает с пакетами и соединяет независимые сети для транспортировки пакетов через границы сети. Протоколы сетевого уровня — это IP и ICMP (Internet Control Message Protocol), который используется для сообщений об ошибках.
  • Физический уровень, также известный как уровень сетевого интерфейса или уровень канала данных, состоит из протоколов, которые работают только на канале — сетевом компоненте, который соединяет узлы или хосты в сети. Протоколы этого нижнего уровня включают Ethernet для локальных сетей и протокол разрешения адресов ARP (Address Resolution Protocol).

Использование TCP/IP

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

Плюсы и минусы TCP/IP

Преимущества использования модели TCP / IP включают следующее:

  • помогает установить связь между разными типами компьютеров;
  • работает независимо от ОС;
  • поддерживает множество протоколов маршрутизации;
  • использует архитектуру клиент-сервер, которая отличается высокой масштабируемостью;
  • может работать автономно;
  • поддерживает несколько протоколов маршрутизации; а также
  • TCP/IP не создаёт ненужной нагрузки на сеть или компьютер.

К недостаткам TCP / IP можно отнести следующее:

  • сложен в настройке и управлении;
  • транспортный уровень не гарантирует доставку пакетов;
  • заменить протоколы в архитектуре TCP/IP непросто;
  • не разделяет чётко концепции сервисов, интерфейсов и протоколов, поэтому не подходит для описания новых технологий в новых сетях; а также
  • уязвим для атаки типа «отказ в обслуживании» DOS (Denial Of Service), в которой злоумышленник использует TCP/IP.

Чем отличаются TCP/IP и IP?

IP — это низкоуровневый интернет-протокол, который упрощает передачу данных через сеть Интернет. Его цель — доставлять пакеты данных, которые состоят из заголовка, который содержит информацию о маршрутизации, такую ​​как источник и место назначения данных, а также саму полезную нагрузку данных.

IP ограничен объёмом данных, которые он может отправить. Максимальный размер одного IP-пакета данных, который содержит как заголовок, так и данные, составляет от 21 до 65535 байтов. Это означает, что более длинные строки данных должны быть разбиты на несколько пакетов данных, которые должны быть отправлены независимо, а затем реорганизованы в правильный порядок после отправки.

Поскольку IP является только протоколом отправки и получения данных, он не проверяет действительно ли были получены отправленные пакеты данных.


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

TCP также может контролировать размер и скорость потока данных. Это гарантирует, что сети свободны от любых перегрузок, которые могут заблокировать получение данных.

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

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

Различия и сходства моделей TCP/IP и OSI

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

Протоколы TCP/IP определяют стандарты, на основе которых был создан Интернет, в то время как модель OSI даёт рекомендации относительно того, как должна осуществляться связь. Следовательно, TCP/IP — более практичная модель.

TCP/IP и OSI — наиболее широко используемые архитектуры (стеки) протоколов связи

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

  • Уровень 7, прикладной уровень, позволяет пользователю — программному обеспечению или человеку — взаимодействовать с приложением или сетью, когда пользователь хочет читать сообщения, передавать файлы или участвовать в других действиях, связанных с сетью.
  • Уровень 6, уровень представления, переводит или форматирует данные для уровня приложения на основе семантики или синтаксиса, которые принимает приложение.
  • Уровень 5, уровень сеанса, настраивает, координирует и завершает разговоры между приложениями.
  • Уровень 4, транспортный уровень, обрабатывает передачу данных по сети и предоставляет механизмы проверки ошибок и управления потоками данных.
  • Уровень 3, сетевой уровень, перемещает данные в другие сети и через них.
  • Уровень 2, уровень канала данных, обрабатывает проблемы, возникающие в результате ошибок передачи битов.
  • Уровень 1, физический уровень, передаёт данные с помощью электрических, механических или процедурных интерфейсов.
  • Верхним уровнем как модели TCP/IP, так и модели OSI является прикладной уровень. Хотя этот уровень выполняет одни и те же задачи в каждой модели, эти задачи могут различаться в зависимости от данных, которые каждая получает.

Функции, выполняемые в каждой модели, также похожи, поскольку каждая из них использует для работы сетевой и транспортный уровни. Каждая из моделей TCP / IP и OSI в основном используется для передачи пакетов данных. Хотя они будут делать это разными способами и разными путями, они все равно доберутся до места назначения.

Сходства между моделью TC/IP и моделью OSI включают следующее:

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

Различия между моделью TCP/IP и моделью OSI заключаются в следующем:

  • TCP/IP использует только один уровень (приложение) для определения функций верхних уровней, тогда как OSI использует три уровня (приложение, представление и сеанс).
  • TCP/IP использует один уровень (физический) для определения функций нижних уровней, тогда как OSI использует два уровня (физический и канал передачи данных).
  • Размер заголовка TCP / IP составляет 20 байтов, а заголовок OSI — 5 байтов.
  • TCP/IP — это протокол, ориентированный на стандарт, тогда как OSI — это общая модель, основанная на функциях каждого уровня.
  • TCP/IP следует горизонтальному подходу, тогда как OSI придерживается вертикального подхода.
  • В TCP/IP сначала были разработаны протоколы, а затем была разработана модель. В OSI сначала была разработана модель, а затем протоколы на каждом уровне.
  • TCP/IP помогает установить соединение между различными типами компьютеров, тогда как OSI помогает стандартизировать маршрутизаторы, коммутаторы, материнские платы и другое оборудование.

История TCP/IP и связанные с этим особенности
Агентство перспективных исследовательских проектов Министерства обороны США DARPA (Defense Advanced Research Projects Agency), исследовательское подразделение Министерства обороны США, создало модель TCP/IP в 1970-х годах для использования в ARPANET, глобальной сети, которая предшествовала Интернету.

Такое, военное предназначение протокола TCP/IP заложило основы как его преимуществ, так и его недостатков.

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

Дело в том, что основным пунктом техзадания, которое Минобороны США выдало DARPA, был такой, что сеть на базе этого протокола должна продолжать работать вне зависимости от того, какая часть сети внезапно окажется повреждённой или вышедшей из строя, например, в результате боевых действий.

Это предопределило, во первых, разбивку информации на пакеты и передачу их в виде пакетов.

Во-вторых, каждый узел сети (маршрутизатор и коммутатор) самостоятельно определяет (во всяком случае, оперативно, а не административно), на какой соседний узел отправить тот или иной пакет, в зависимости от его адреса назначения, а также с учётом окружающей обстановки. Например, если соседний узел, на который коммутатор хочет отправить пакет, оказывается неработоспособным, то коммутатор ищет другой соседний работоспособный узел и отправляет пакет туда.

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

В TCP/IP качество услуг, которое, в основном, определяется указанными двумя факторами, принесено в жертву надёжности доставки пакетов. Что, собственно, и требуется для военных применений.


Добавим, что TCP/IP изначально был разработан для ОС Unix и был встроен во все последующие ОС.

Модель TCP / IP и связанные с ней протоколы в настоящее время поддерживаются Инженерной группой Интернета IETF (Internet Engineering Task Force).

Об авторе Алексей Шалагинов

Независимый эксперт
Запись опубликована в рубрике Ликбез, Сетевые технологии с метками , , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.