Сетевые протоколы: для чего нужны и как устроены

Протокол ip — протокол интернет. формат заголовка ip-пакета.

Выделяемые уровни

На рисунке представлена модель TCP/IP в сравнении с моделью OSI.

модель TCP/IP в сравнении с моделью OSI.

Уровень доступа к сети (или Канальный уровень)

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

Канальный уровень иногда разделяют на 2 подуровня — LLC и MAC.

  • Logical Link Control (верхний) — подуровень управления логической связью. В его задачи входит управление передачей данных и обеспечение проверки и правильности передачи информации.
  • Media Access Control (нижний) — подуровень управления доступом к физической среде. Обеспечивает адресацию и механизмы управления доступом к каналам.

Кроме того, канальный уровень описывает среду передачи данных.

Уровень сети Интернет (или Межсетевой уровень)

Межсетевой уровень предназначен для передачи пакета из одной сети в другую.

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

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

Транспортный уровень

Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные. Два главных транспортных протокола — TCP и UDP.

  • TCP — «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.
  • UDP — протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.

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

Для передачи пакетов между процессами было принято выделить на каждом хосте виртуальные порты, которые могут прослушиваться процессами.

Порт — это число от 0 до 65535, которое присваивается процессу на время. Порт чем-то похож на кабинку, которую можно занять определённой программе (ну а совокупность портов можно представить как гостиницу).

Порт порт так же может определять, какой протокол используется на прикладном уровне.

Порты выделяются как для TCP, так и для UDP (т.е. порты для одного протокола не пересекаются с портами другого).

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

В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:

  • HTTP на TCP-порт 80 или 8080;
  • FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд);
  • SSH на TCP-порт 22;
  • запросы DNS на порт UDP (реже TCP) 53.

С этим уровнем взаимодействует пользователь. Поэтому протоколы на этом уровне могут разрабатывать и прикладные программисты.

Can You Ping a Specific Port?

Network devices use ICMP to send error messages and information on whether communication with an IP address is successful or not. ICMP differs from transport protocols as ICMP is not used to exchange data between systems.

Ping uses ICMP packets, and ICMP does not use port numbers which means a port can’t be pinged. However, we can use ping with a similar intention – to check if a port is open or not.

Some network tools and utilities can simulate an attempt to establish a connection to a specific port and wait to see if the target host responds. If there is a response, the target port is open. If not, the target port is closed, or the host is unable to accept a connection because there is no service configured to listen for connections on that port.

Что такое маска адреса (подсеть)

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

Маска — это параметр, который сообщает программному обеспечению о том, сколько компьютеров объединено в данную группу (подсеть). Маска адреса имеет такую же структуру как и сам IP-адрес: это набор из четырех групп чисел, каждое из которых может быть в диапазоне от 0 до 255. При этом, чем меньше значение маски, тем больше компьютеров объединено в данную подсеть. Для сетей небольших компаний маска обычно имеет вид 255.255.255.x (например, 255.255.255.224). Маска сети присваивается компьютеру одновременно с IP-адресом. Так, например, сеть 192.168.0.0 с маской 255.255.255.0 может содержать в себе компьютеры с адресами от 192.168.0.1 до 192.168.254. А сеть 192.168.0.0 с маской 255.255.255.128 допускает адреса от 192.168.0.1 до 192.168.0.127. Думаю, смысл понятен. Как правило сети с небольшим возможным числом компьютеров используются провайдерами с целью экономии IP-адресов. Например, клиенту, может быть назначен адрес с маской 255.255.255.252. Такая подсеть содержит в себе только два компьютера.

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

Из каких уровней состоит TCP/IP

Пора окунуться в детали и узнать, как модель TCP/IP устроена изнутри. Глобально она делится на четыре уровня:

  • канальный уровень — отвечает за взаимодействие по сетевому оборудованию, например по Ethernet-кабелю или Wi-Fi;
  • межсетевой уровень — помогает отдельным сетям общаться друг с другом;
  • транспортный уровень — отвечает за передачу данных между устройствами, например, по протоколам TCP и UDP;
  • прикладной уровень — помогает приложениям общаться друг с другом с помощью интерфейсов или API.


Структура модели TCP/IPИллюстрация: Оля Ежак для Skillbox Media

На каждом уровне есть свои протоколы, которые обеспечивают надёжность передачи данных между компьютерами в Сети. Всего модель TCP/IP поддерживает сотни разных протоколов.

Канальный уровень

Для чего нужен: устанавливать физическое соединение между устройствами в локальной сети с помощью радиоволн и проводов.

Примеры протоколов: Ethernet, Wi-Fi, Bluetooth.

Как работает: данные делятся на небольшие кусочки (фреймы) и передаются между устройствами. Каждый фрейм содержит часть передаваемой информации и служебные данные.

Чтобы понять, куда отправлять фреймы, используют адресацию канального уровня — MAC-адреса. Это уникальные физические адреса устройств — по ним протоколы канального уровня определяют отправителей и получателей.


Из чего состоит фреймИзображение: Skillbox Media

Ещё одна важная задача канального уровня — проверять, что данные передаются безошибочно. Для этого протоколы используют свои средства проверки:

  • Если возникла ошибка, устройство отправляет фрейм обратно, а второе устройство передаёт его ещё раз.
  • Если всё прошло удачно, то фрейм передаётся на следующий уровень для обработки.

Межсетевой уровень

Для чего нужен: строить маршруты между устройствами по всему интернету — этот процесс называется маршрутизацией.

Примеры протоколов: IP, ICMP, ARP.

Как работает: IP-протокол вычисляет местонахождение устройств по их IP-адресам, а также строит до них кратчайшие пути и делит данные на пакеты (или, как говорят на юге России, — кульки :)).

Чтобы определить, где находится получатель и как построить путь к нему, IP обращается к системе DNS — она знает IP-адреса всех устройств в интернете.

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


Из чего состоит пакетИзображение: Skillbox Media

После этого начинается передача пакетов по маршрутизаторам и коммутаторам. Но процессом отправки занимается уже следующий уровень — транспортный.

Транспортный уровень

Для чего нужен: передавать данные по маршруту, построенному на предыдущем уровне.

Примеры протоколов: TCP, UDP.

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

Главных протокола здесь два:

  • TCP (Transmission Control Protocol) — гарантирует передачу всех данных без потерь. Полезен при отправке текстовых файлов.
  • UDP (User Datagram Protocol) — не гарантирует передачу данных без потерь, но обеспечивает хорошую скорость. Полезен при просмотре видео или прослушивании музыки в интернете.


TCP решает всё медленно, но надёжно. UDP — быстро, но не факт, что качественноИллюстрация: Оля Ежак для Skillbox Media

И у нас остаётся последний уровень — прикладной.

Прикладной уровень

Для чего нужен: настраивать связи между приложениями — например, между браузером и серверным софтом.

Примеры протоколов: HTTP, FTP, SMTP.

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

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

  • HTTP (Hypertext Transfer Protocol) — самый популярный протокол для передачи данных по интернету.
  • FTP (File Transfer Protocol) — ещё один известный протокол, заточенный под передачу файлов.
  • SMTP (Simple Mail Transfer Protocol) — протокол для отправки электронных писем.

Из чего состоит HTTP

HTTP состоит из двух элементов: клиента и сервера. Клиент отправляет запросы и ждёт данные от сервера. А сервер ждёт, пока ему придёт очередной запрос, обрабатывает его и возвращает ответ клиенту.


Так взаимодействуют клиент и серверИллюстрация: Polina Vari для Skillbox Media

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

Поэтому типичная процедура отправки HTTP-запроса от клиента выглядит так:


В реальной жизни всё сложнееИллюстрация: Polina Vari для Skillbox Media

Клиентом может быть любое устройство, через которое пользователь запрашивает данные. Часто в роли клиента выступает веб-браузер, программы для отладки приложений или даже командная строка. Главная особенность клиента — он всегда инициирует запрос.

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

Прокси-серверы — это второстепенные серверы, которые располагаются между клиентом и главным сервером. Они обрабатывают HTTP-запросы, а также ответы на них. Чаще всего прокси-серверы используют для кэширования и сжатия данных, обхода ограничений и анонимных запросов. И ещё — обычно между клиентом и основным сервером находится один или несколько таких прокси-серверов.

Расскажи про DHCP?

Dynamic Host Configuration Protocol (DHCP) — это прикладной протокол (L7 по модели OS, передача данных производится при помощи протокола UDP), позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры (сетевую маску, адреса DNS серверов), необходимые для работы в сети TCP/IP. Доступен как для IPv4 (), так и для IPv6 ().

DHCPv4 включает три разных механизма распределения адресов:

  • Ручное распределение (Manual Allocation) — администратор назначает предварительно установленный IPv4-адрес клиенту, а DHCP сервер передает IPv4-адрес на устройство
  • Автоматическое распределение(Automatic Allocation) — DHCPv4 автоматически назначает статический IPv4-адрес на устройство, выбирая его из пула доступных адресов. Нет аренды (), и адрес постоянно назначается устройству
  • Динамическое распределение (Dynamic Allocation) — DHCPv4 динамически назначает или дает в аренду IPv4-адрес из пула адресов в течение ограниченного периода времени, выбранного сервером, или пока клиент больше не нуждается в адресе

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

Рассмотрим процесс получения адреса:

  • Когда клиент хочет присоединиться к сети, он начинает четырех-этапный процесс для получения аренды. Он запускает процесс с широковещательным () сообщением со своим собственным MAC-адресом для обнаружения доступных DHCP-серверов. Поскольку у клиента нет способа узнать подсеть, к которой он принадлежит, у сообщения адрес назначения IPv4 адреса — широковещательный адрес (т.е. отправляется всем устройствам в его сети на сетевом L3 уровне) и целевой MAC-адрес (тоже является широковещательным для канального L2 уровня). А поскольку у клиента еще нет настроенного адреса IPv4, то исходный IPv4-адрес —
  • Когда DHCPv4-сервер получает сообщение , он резервирует доступный IPv4-адрес для аренды клиенту. Сервер также создает запись ARP, состоящую из MAC-адреса клиента и арендованного IPv4-адреса DHCP сервер отправляет связанное сообщение запрашивающему клиенту, как одноадресная передача (), используя MAC-адрес сервера в качестве исходного адреса и MAC-адрес клиента в качестве адреса доставки
  • Когда клиент получает с сервера, он отправляет обратно сообщение . Это сообщение используется как для получения, так и для продления аренды
  • При получении сообщения сервер проверяет информацию об аренде с помощью ICMP-запроса на этот адрес, чтобы убедиться, что он уже не используется и создает новую ARP запись для аренды клиента, а затем отвечает одноадресным -сообщением. Это сообщение является дубликатом , за исключением изменения поля типа сообщения. Когда клиент получает сообщение , он регистрирует информацию и выполняет поиск ARP для назначенного адреса. Если ответа на ARP нет, клиент знает, что адрес IPv4 действителен и начинает использовать его как свой собственный

Прикладные протоколы[править]

Большинство прикладных протоколов базируется на TCP.

У многих протоколов прикладного уровня для серверов определены стандартные порты, используемые по умолчанию. Самые известные прикладные протоколы и их стандартные порты:

  • HTTP — основной протокол всемирной паутины (TCP-порт 80)
  • SMTP — протокол пересылки почты (TCP-порт 25)
  • FTP — протокол передачи файлов (TCP-порт 21)
  • DNS — протокол сопоставления доменных имен IP-адресам (UDP-порт 53)

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

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

Порты в диапазоне от 1 до 1023 называются хорошо известными. Службы, которыми используются эти порты, должны быть описаны как RFC и одобрены IESG. Далее идут зарегистрированные порты (1024 — 49151). Вы можете зарегистрировать в IANA (эта организация как раз занимается всем этим) один или несколько из этих портов под свою программу. Оставшиеся порты с 49152 по 65535 можно использовать без какой-либо регистрации.

Номера портов (IANA)

Описание модели TCP/IP в технической литературе

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

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

Kurose, Comer, Stallings Tanenbaum RFC 1122, Internet STD 3 (1989) Cisco Academy Mike Padlipsky’s 1982 «Arpanet Reference Model» (RFC 871) OSI model
Пять уровней Четыре + 1 уровень Пять уровней Пять уровней Четыре уровня Четыре уровня Три уровня Семь уровней
«Five-layer Internet model» or «TCP/IP protocol suite» «TCP/IP 5-layer reference model» «TCP/IP model» «TCP/IP 5-layer reference model» «Internet model» «Internet model» «Arpanet reference model» OSI model
Application Application Application Application Application (Прикладной) Application Application/Process Application
Presentation
Session
Transport Transport Host-to-host or transport Transport Transport (Транспортный) Transport Host-to-host Transport
Network Internet Internet Internet Internet (Сетевой) Internetwork Network
Data link Data link (Network interface) Network access Data link Link (Канальный) Network interface Network interface Data link
Physical (Hardware) Physical Physical Physical

Некоторые из моделей в приведённой таблицы взяты из учебников, которые являются вторичными источниками и могут расходиться с RFC 1122 и другими IETF первоисточниками.

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

Изначально стек протоколов TCP/IP разработан в 1972 году на основе Network Control Protocol, но только спустя 4 года создана передача данных с применением протокола TCP. К концу 80-х было выделено две отдельные функции – TCP и IP. И уже к 1983 году удалось полностью перейти на современный протокол, что и считается отправной точкой развития Интернета.

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

IP (Internet Protocol)

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

  • Каждый узел на сетевом уровне в модели TCP/IP должен иметь IP-адрес, который состоит из 4 байт ()
  • Минимальной единицей измерения данных здесь является IP-пакет (который чаще всего инкапсулируется в Ethernet кадр)
  • При доставке IP-пакета возможна его фрагментация (дробление) на более мелкие (получатель должен будет его собрать обратно). Так же возможен и запрет на фрагментацию (отправителю будет отправлен ICMP-сообщение об ошибке)
  • Функция IP протокола заключается в том, чтобы доставить пакет из точки А в точку Б через множество промежуточных сетей (при этом IP-пакеты при передаче данных могут быть изменены, потеряны, повреждены, пакеты могут прийти получателю не в той последовательности, в которой они были отправлены — обо всем этом протокол IP не заботится, его задачей является организовать маршрут)
  • Протокол использует передачу данных без установки соединения

Размер заголовка IP-пакета составляет от 20 (обычный заголовок без дополнительных опций) до 60 байт.

TCP (Transmission Control Protocol)

Протокол транспортного уровня, управляющий передачей данных. Фактически, если IP протокол связывает между собой машины в сети, то TCP связывает конкретные приложения используя порты (которых одновременно на машине может быть до 65535, т.к. номер порта занимает 2 байта). Ключевые характеристики:

  • Требует установки соединения (для этого сервер делает passive open — ждёт входящие запросы, а клиент active open — отправляет серверу , на что сервер должен ответить + , клиент в ответ на это должен ответить , и после этого соединение считается установленным)
  • Нумерует пакеты, посылает подтверждения о получении данных () и запрашивает повторную передачу, если данные не получены или искажены (или истёк таймаут для ответа), т.е. обеспечивает гарантию доставки
  • Любое установленное TCP-соединение симметрично, и пакеты с данными по нему всегда идут в обе стороны (двунаправленная взаимосвязь)
  • Когда один из узлов решает, что пора заканчивать соединение, он посылает специальный пакет , после этого узлы прощаются и разрывают соединение
  • Использование принципа “скользящего окна” для увеличения скорости передачи ( не каждого сообщения, а определенной “пачки”; причём размер окна может меняться динамически)
  • Контролирует загруженность соединения

UDP (User Datagram Protocol)

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

Благодаря такой не избирательности и бесконтрольности, UDP доставляет пакеты данных (датаграммы) гораздо быстрее, потому для приложений, которые рассчитаны на широкую пропускную способность и быстрый обмен, UDP можно считать оптимальным протоколом. К таковым относятся сетевые и браузерные игры, а также программы просмотра потокового видео и приложения для видео (или голосовой) связи — от потери пакета, полной или частичной, ничего не меняется, повторять запрос не обязательно, зато загрузка происходит намного быстрее.

Я бы рассказал отличную шутку про , но боюсь, не до всех она дойдёт

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

Функции протоколов 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 обладает высокой масштабируемостью и, как протокол с маршрутизацией, может определять наиболее эффективный путь передачи пакета в сети. Он широко используется в современной архитектуре Интернета.

What Does Transmission Control Protocol/Internet Protocol (TCP/IP) Mean?

Transmission Control Protocol/Internet Protocol (TCP/IP) is the language a computer uses to access the internet. It consists of a suite of protocols designed to establish a network of networks to provide a host with access to the internet.

TCP/IP is responsible for full-fledged internet data connectivity and transmitting the data end to end by providing other functions, including addressing, mapping and acknowledgment. TCP/IP contains four layers, which differ slightly from the OSI model.

The technology is so common that one would rarely use the full name. In other words, in common usage the acronym is now the term itself.

Понравилась статья? Поделиться с друзьями:
Компьютерная помощь
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: