Андрей Смирнов
Время чтения: ~23 мин.
Просмотров: 6

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

Открытые промышленные сети и стандарты PROFIBUS/NET компании Siemens

Немецкий концерн Siemens давно известен своими программируемыми логическими контроллерами (ПЛК), которые используется по всему миру.

Обмен данными между узлами автоматизированной системы под управлением оборудования Siemens реализуется как по полевой шине, которая называется PROFIBUS, так и в промышленной сети PROFINET.

Шина PROFIBUS использует специальный двужильный кабель с разъемами DB-9. У Siemens он фиолетовый, но мы на практике встречали и другие :). Для связи нескольких узлов разъем может соединять два кабеля. Также в нем есть переключатель для терминального резистора. Терминальный резистор должен быть включен на концевых устройствах сети, таким образом сообщается, что это первое или последнее устройство, а после него уже ничего нет, только мрак и пустота (все rs485 так работают). Если на промежуточном разъеме включить резистор, то следующий за ним участок будет отключен.

В сети PROFINET используется аналог витой пары, как правило, с разъемами RJ-45, кабель окрашен в зеленый цвет. Если топология PROFIBUS —шина, то топология сети PROFINET может представлять собой что угодно: хоть кольцо, хоть звезду, хоть дерево, хоть все вместе взятое.

Существуют несколько протоколов обмена по шине PROFIBUS и в сети PROFINET.

Для PROFIBUS:

  1. PROFIBUS DP — реализация этого протокола подразумевает связь с удаленными подчиненными устройствами, в случае с PROFINET этому протоколу соответствует протокол PROFINET IO.
  2. PROFIBUS PA — является по сути тем же PROFIBUS DP, только используется для взрывобезопасных исполнений передачи данных и питания (аналог PROFIBUS DP с другими физическими свойствами). Для PROFINET взрывобезопасного протокола по аналогии с PROFIBUS пока не существует.
  3. PROFIBUS FMS — предназначен для обмена данными с системами других производителей, которые не могут использовать PROFIBUS DP. Аналогом PROFIBUS FMS в сети PROFINET является протокол PROFINET CBA.

Для PROFINET:

  1. PROFINET IO;
  2. PROFINET CBA.

Протокол PROFINET IO делится на несколько классов:

  • PROFINET NRT (без реального времени) — используется в приложениях, где временные параметры не критичны. В нем используется протокол передачи данных Ethernet TCP/IP, а также UDP/IP.
  • PROFINET RT (реальное время) — тут обмен данными ввода/вывода реализован с помощью фреймов Ethernet, но диагностические данные и данные связи все еще передаются через UDP/IP. 
  • PROFINET IRT (изохронное реальное время) — этот протокол был разработан специально для приложений управления движением и включает в себя изохронную фазу передачи данных.

Что касается реализации протокола жесткого реального времени PROFINET IRT, то для коммуникаций с удаленными устройствами в нем выделяют два канала обмена: изохронный и асинхронный. Изохронный канал с фиксированной по времени длиной цикла обмена использует тактовую синхронизацию и передает критичные ко времени данные, для передачи используются телеграммы второго уровня. Длительность передачи в изохронном канале не превышает 1 миллисекунду.

В асинхронном канале передаются так называемые real-time-данные, которые тоже адресуются посредством MAC-адреса. Дополнительно передается различная диагностическая и вспомогательная информация уже поверх TCP/IP. Ни real-time-данные, ни тем более другая информация, разумеется, не может прерывать изохронный цикл.

Расширенный набор функций PROFINET IO нужен далеко не для каждой системы промышленной автоматики, поэтому этот протокол масштабируют под конкретный проект, с учетом классов соответствия или классов применения (conformance classes): СС-A, CC-B, CC-CC. Классы соответствия позволяют выбрать полевые устройства и магистральные компоненты с минимально необходимой функциональностью. 

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

Протоколы уровня 5 Session layer (Сеансовый уровень)

5-й уровень модели отвечает за поддержание сеанса связи, что позволяет приложениям взаимодействовать между собой длительное время. Сеансовый уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений. Синхронизация передачи обеспечивается помещением в поток данных контрольных точек, начиная с которых возобновляется процесс при нарушении взаимодействия.

  • 9P — протокол распределённой файловой системы, разработанный как часть Plan 9
  • NCP NetWare Core Protocol
  • NFS — Network File System сетевая файловая система
  • SMB Server Message Block
  • SOCKS «SOCKet Secure»

Стеки протоколов

TCP/IP — это стек протоколов, который управляет передачей данных как в локальной сети, так и в глобальной сети Интернет. Данный стек содержит 4 уровня, то есть по эталонной модели OSI каждый из них объединяет в себе несколько уровней.

  1. Прикладной (по OSI — прикладной, представления и сеансовый) За данный уровень отвечают протоколы:
    • TELNET — удаленный сеанс связи в виде командной строки
    • FTP — протокол передачи файлов
    • SMTP — протокол пересылки почты
    • POP3 и IMAP — приема почтовых отправлений
    • HTTP — работы с гипертекстовыми документами
  2. Транспортный (по OSI то же самое) — это уже описанные выше TCP и UDP.
  3. Межсетевой (по OSI — сетевой) — это протокол IP
  4. Уровень сетевых интерфейсов (по OSI — канальный и физический)За работу этого уровня отвечают драйверы сетевых адаптеров.

Не помогло

Условия для обмена данными

Созданием протоколов раньше занимались специализированные организации ISO или IEEE, а сейчас эти полномочия предоставлены IETF (в интернете) и ITU-T (в телекоммуникациях). При этом используется несколько моделей, регламентирующих порядок передачи сетевых данных. Наиболее строгие, а потому более универсальные правила прописаны для открытых систем в модели OSI (Open System Interconnection), состоящей из семи подуровней:

Physical layer (физический) касается сугубо технических параметров линий связи (проводных, оптических, радиочастотных). Здесь может описываться длина волны, распиновка коннектора, схема коммутации нескольких устройств (хабы, медиаконверторы, ретрансляторы). В компьютере за согласование параметров по этому уровню отвечает последовательный порт или сетевая карта (адаптер).
Data Link layer (канальный, в виде программного драйвера) поверят наличие связи между устройствами, осуществляет ее проверку с помощью тестовых команд и сообщает о характере обнаруженной ошибки. Этот уровень состоит из системы адресного доступа MAC (Media Access Control) для множества сетевых ПК, и LLC (Logical Link Control) обеспечивающего стабильность обмена данными.

Network layer (сетевой), определяет заданный или оптимальный маршрут по каналам обмена информацией, преобразует логические адреса в их физические аналоги и отвечает за надежность коммутации. Функционально реализован в маршрутизаторе.
Transport layer (транспортный) системный механизм передачи данных и контроля результата. С целью максимальной эффективности, использует пакетный протокол, при котором информация передается отдельными блоками оптимального размера (для этого файлы либо разбиваются, либо объединяются). Это позволяет не только обнаружить ошибку доставки, но и оперативно исправить ее, повторно переслав нужные пакеты.

Session layer (сеансовый) регламентирует взаимодействие при одновременном решении нескольких задач. Протокол задает порядок их выполнения, согласование взаимных запросов, и определяет степень выполнения запущенных процессов. При необходимости создает корректное завершение сеанса или его автоматическое восстановление при переходе в активный режим.
Presentation layer (уровень представления) занимается перекодированием данных в сетевой формат передачи, соответствующий конкретному типу линии. Преобразованию подвергаются не только файлы, но и передаваемые по сети команды и сигналы. На входе в устройство, производится обратное декодирование

Это важно не только для работы системы, но и для безопасности информации.
Application layer (верхний, прикладной) служит для непосредственного взаимодействия пользователя с сетевыми ресурсами и службами (выполнение запросов, электронная почта, скачивание файлов). В том числе позволяет выполнять функции администрирования и контролировать уровень доступа

Напрямую работает с разными видами протоколов (pop3, http).

Стек протоколов OSI считается более современным, и новые проекты создаются на базе прописанных в нм требований. Более ранняя модель TCP / IP модель базировалась на уже действующих в сети интернет стандартах, поэтому в ней задействованы только канальный, сетевой, транспортный и прикладной уровни.

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

Надеюсь, что изложенная мной информация, поможет лучшему пониманию процесса обмена данными по сети, или сориентирует вас в тематическом направлении, представляющем наибольший интерес. Что такое сетевой протокол надеюсь вам  общих чертах понятно.

Рад был общению с вами, мои дорогие друзья, но буду прощаться.

Протоколы для разных типов информации

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

Подобные стандарты прописаны и для разных способов сетевого обмена данными:

  • HTTP (Hyper Text Transfer Protocol) хорошо известен нам по веб-серфингу. Благодаря ему мы можем не просто просматривать сайт, но и активно использовать все представляемые им возможности (переход по ссылкам, просмотр видео, проходить аутентификацию при входе в личный кабинет).
  • POP3 (Post Office Protocol) и SMTP (Simple Mail Transfer Protocol) относятся к наиболее востребованным, поскольку первый отвечает за взаимодействие почтовых программ с серверами, а второй контролирует этот процесс на наличие ошибок.
  • FTP (File Transfer Protocol) обеспечивает взаимодействие в системе «клиент-сервер» и позволяет работать с двоичными и текстовыми файлами.
  • TELNET — правила взаимодействия двух устройств, при котором с первого осуществляется удаленное управление вторым (работа с ПО, администрирование).

Имеются и другие протоколы, работающие в узкоспециализированных сферах (например DTN, созданный NASA для космической связи.

Основные протоколы интернета

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

  • MAC или (Media Access Control) — это протокол низкого уровня, который используется для идентификации устройств в локальной сети. У каждого устройства, подключенного к сети есть уникальный MAC адрес, заданный производителем. В локальных сетях, а все данные выходят из локальной сети и попадают в локальную сеть перед тем, как попасть к получателю, используются физические MAC адреса для обозначения устройств. Это один из немногих протоколов уровня соединения, с которым довольно часто приходится сталкиваться.
  • IP ( Internet Protocol) — расположен уровнем выше, за MAC. Он отвечает за определение IP адресов, которые будут уникальными для каждого устройства и позволяют компьютерам находить друг друга в сети. Он относится к сетевому уровню модели TCP/IP. Сети могут быть связанны друг с другом в сложные структуры, с помощью этого протокола компьютеры могут определить несколько возможных путей к целевому устройству, причем во время работы эти пути могут меняться. Есть несколько реализаций протокола, но наиболее популярной на сегодняшний день является IPv4 и IPv6.
  • ICMP (Internet control message protocol) — используется для обмена сообщениями между устройствами. Это могут быть сообщения об ошибках или информационные сообщения, но он не предназначен для передачи данных. Такие пакеты используются в таких диагностических инструментах, как ping и traceroute. Этот протокол находится выше протокола IP;
  • TCP (Transmission control protocol) — это еще один основной сетевой протокол, который находится на том же уровне, что и ICMP. Его задача — управление передачей данных. Сети ненадежны. Из-за большого количества путей пакеты могут приходить не в том порядке или даже теряться. TCP гарантирует, что пакеты будут приняты в правильном порядке, а также позволяет исправить ошибки передачи пакетов. Информация приводится к правильному порядку, а уже затем передается приложению. Перед передачей данных создается соединение с помощью так называемого алгоритма тройного рукопожатия. Он предусматривает отправку запроса и подтверждение открытия соединения двумя компьютерами. Множество приложений используют TCP, это SSH, WWW, FTP и многие другие.
  • UDP (user datagram protocol) — это популярный протокол, похожий на TCP, который тоже работает на транспортном уровне. Отличие между ними в том, что здесь используется ненадежная передача данных. Данные не проверяются при получении, это может выглядеть плохой идеей, но во многих случаях этого вполне достаточно. Поскольку нужно отправлять меньше пакетов, UDP работает быстрее, чем TCP. Поскольку соединение устанавливать не нужно, то этот протокол может использоваться для отправки пакетов сразу на несколько машин или IP телефонии.
  • HTTP (hypertext transfer protocol) — это протокол уровня приложения, который лежит в основе работы всех сайтов интернета. HTTP позволяет запрашивать определенные ресурсы у удаленной системы, например, веб страницы, и файлы;
  • FTP (file transfer protocol) — это протокол передачи файлов. Он работает на уровне приложений и обеспечивает передачу файла от одного компьютера к другому. FTP — не безопасный, поэтому не рекомендуется его применять для личных данных;
  • DNS (domain name system) — протокол того же уровня, используемый для преобразования понятных и легко читаемых адресов в сложные ip адреса, которые трудно запомнить и наоборот. Благодаря ему мы можем получить доступ к сайту по его доменному имени;
  • SSH (secure shell) — протокол уровня приложений, реализованный для обеспечения удаленного управления системой по защищенному каналу. Многие дополнительные технологии используют этот протокол для своей работы.

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

Другие сетевые модели

Важное значение с точки зрения организации сетей имеет также модель DoD (Department of Defense — Министерство обороны США), так как в основе протоколов TCP/IP лежит не модель OSI, а именно эта модель. Поскольку модель DoD во многом совпадает с моделью OSI, тот факт, что она является фундаментом протоколов TCP/IP, может привести к некоторой путанице при изучении модели OSI

Верхние уровни модели DoD не совпадают с верхними уровнями модели OSI, поэтому в разных книгах можно встретить различные описания порядка расположения протоколов в модели OSI. Но здесь необходимо прежде всего учитывать, что фактически знание того, где должен быть указанный протокол модели OSI, необходимо в основном для успешной сдачи экзаменов; а на практике важнее всего понимание назначения каждого уровня модели.

Модели DoD и OSI

Модели OSI и DoD позволяют наглядно представить процесс сетевого взаимодействия, а компания Cisco применяет в своей работе иерархическую межсетевую модель, которая представляет собой многоуровневое отображение топологического проекта объединенной сети. Эта модель разработана в целях максимального повышения производительности; в то же время она обеспечивает оптимальную отказоустойчивость. Применение этой модели позволяет упростить конструкцию сети путем распределения функций по уровням сетевого проекта. Очевидным недостатком данной модели в сетях небольших и средних размеров является высокая стоимость проекта, но если задача состоит в создании высокопроизводительной, масштабируемой, резервируемой объединенной сети, то применение такого подхода является одним из наилучших способов реализации в проекте поставленных целей.

Иерархическая межсетевая модель Cisco состоит из трех уровней:

  1. Уровень ядра сети. Этот уровень объединенной сети соответствует опорной сети. Поскольку опорная сеть играет такую важную роль, любые серьезные нарушения в ее работе скорее всего будут заметны для всех, кто использует эту объединенную сеть. Кроме того, поскольку скорость здесь играет очень важную роль (в связи с огромным объемом трафика, который проходит по опорной сети), на этом уровне практически не должны быть реализованы функции, требующие значительных ресурсов маршрутизации или коммутации. Иными словами, маршрутизация, обработка списков доступа, сжатие, шифрование и все прочие функции, требующие больших затрат ресурсов, должны быть выполнены до того, как пакет поступит в ядро сети.
  2. Распределительный уровень. Этот уровень занимает промежуточное положение между уровнем ядра сети и уровнем доступа. Клиенты не взаимодействуют непосредственно с этим уровнем, но на нем выполняется основная часть функций обработки передаваемых ими пакетов. На этом уровне выполняется также основная часть вспомогательных функций. В частности, на нем функционируют службы маршрутизации, обеспечения качества обслуживания (Quality of Service — QоS), проверки списков доступа, шифрования, сжатия и трансляции сетевых адресов (Network Address Translation — NAT).
  3. Уровень доступа. На этом уровне пользователям предоставляется доступ к локальным сегментам. Характерной особенностью уровня доступа является применение соединений локальной сети, обычно в сетевой среде небольшого масштаба (такой как отдельное здание). Иными словами, именно на этом уровне происходит подключение клиентов к сети. Обычно на уровне доступа выполняется коммутация Ethernet и другие основные функции.

Пример практического применения этой модели приведен на рис.10.

Рис.10. Иерархическая межсетевая модель Cisco.

Формат заголовка IP-пакета

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

Номер версии

Первое поле номер версии. Сейчас используется две версии протокола IP 4 и 6. Большая часть компьютеров использует IPv4. Длина  адреса в этой версии 4 байта. Формат адреса IP версии 4 мы рассматривали подробно. Проблема в том, что адресов IPv4, четыре с небольшим миллиарда, что уже сейчас не хватает для всех устройств в сети, а в будущем точно не хватит. Поэтому была предложена новая версия IPv6 в которой длина IP адреса составляет 16 байт. Сейчас эта версия вводится в эксплуатацию, но процесс занимает очень долгое время.

Длина заголовка

Следующее поле длина заголовка. В отличии от Ethernet заголовок IP включает обязательные поля, а также может включать дополнительные поля, которые называются опции. В поле длина заголовка записывается полная длина, как обязательной части, так и опции.

Тип сервиса

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

Общая длина

Следующее поле общая длина. Общая длина содержит длину всего IP пакета, включая заголовок и данные. Максимальная длина пакета 65 535 байт, но на практике такие большие пакеты не используются, а максимальный размер ограничен размером кадра канального уровня, а для Ethernet это 1 500 байт. В противном случае для передачи одного IP пакета необходимо было бы несколько кадров канального уровня что неудобно.

Время жизни

Дальше идет поле время жизни. Время жизни Time To Live или TTL — это максимальное время в течение которого пакет может перемещаться по сети. Оно введено для того чтобы пакеты не гуляли по сети бесконечно, если в конфигурации сети возникла какая-то ошибка. Например, в результате неправильной настройке маршрутизаторов в сети, может образоваться петля. Раньше, время жизни измерялось в секундах, но сейчас маршрутизаторы обрабатывают пакет значительно быстрее чем за секунду, поэтому время жизни уменьшается на единицу на каждом маршрутизаторе, и оно измеряется в количествах прохождения через маршрутизаторы по-английски (hop) от слова прыжок. Таким образом название время жизни сейчас стало уже некорректным.

Тип протокола

После времени жизни, указывается тип протокола следующего уровня. Это поле необходимо для реализации функции мультиплексирования и демультиплексирования, то есть передачи с помощью протокола IP данных от разных протоколов следующего уровня. В этом поле указывается код протокола следующего уровня, некоторые примеры кодов для TCP код 6, UDP — 17 и ICMP — 1.

Контрольная сумма

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

IP адрес получателя и отправителя

После контрольной суммы идут IP адрес  отправителя, и IP адрес получателя. В IPv4 длина IP адреса четыре байта, 32 бита на этом обязательная часть IP заголовка заканчивается, после этого идут не обязательные поля которые в IP называются опции.

Опции

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

И опция — временные метки, при установке которой, каждый маршрутизатор записывает время прохождения пакеты.

Также опции позволяют отказаться от автоматической маршрутизации, и задать маршрут отправитель:

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

Опции в заголовке IP может быть несколько и они могут иметь разный размер. В то же время длина IP заголовка должна быть кратна 32, поэтому при необходимости, в конце IP заголовок заполняются нулями до выравнивание по границе 32 бита. Следует отметить, что сейчас опции в заголовке IP почти не используются.

В статье был рассмотрен протокол IP (Internet Protocol) — протокол межсетевого взаимодействия. Протокол IP является основой интернета. В OSI находится на сетевом уровне.

Протоколы уровня 7 Application layer (Прикладной уровень)

Верхний (7-й) уровень модели, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления. Пример: HTTP, POP3, SMTP.

  • ADC (Advanced_Direct_Connect) — peer-to-peer-протокол обмена файлами
  • AFP, Apple Filing Protocol
  • BACnet, Building Automation and Control Network protocol
  • BitTorrent — peer-to-peer-протокол обмена файлами
  • BOOTP, Bootstrap Protocol
  • DIAMETER — протокол аутентификации, авторизации и работы с аккаунтами
  • DICOM содержит определение сетевого протокола
  • DICT — словарный протокол
  • DNS — система доменных имён
  • DHCP, Dynamic Host Configuration Protocol
  • ED2K (eDonkey2000 (сеть)) — peer-to-peer-протокол обмена файлами
  • FTP — протокол передачи файлов
  • Finger — протокол, возвращающий информацию о пользователях на удалённом компьютере
  • Gnutella — peer-to-peer-протокол скачивания файлов
  • Gopher — иерархический протокол на основе гиперссылок
  • HTTP, Hypertext Transfer Protocol
  • IMAP, Internet Message Access Protocol
  • IRC — протокол для чата
  • ISUP, ISDN User Part
  • XMPP — протокол мгновенного обмена сообщениями
  • LDAP Lightweight Directory Access Protocol
  • MIME, Multipurpose Internet Mail Extensions
  • MSNP, Microsoft Notification Protocol (используется в Windows Live Messenger)
  • MAP, Mobile Application Part
  • NetBIOS — протокол общего пользования файлами и разрешения имен — основа обмена файлами в Windows.
  • NNTP — сетевой протокол передачи новостей
  • NTP — сетевой протокол времени
  • NTCIP, National Transportation Communications for Intelligent Transportation System Protocol
  • POP3 — почтовый протокол версии 3
  • RADIUS — протокол аутентификации, авторизации и работы с аккаунтами
  • Rlogin — протокол удаленного входа в UNIX
  • rsync — протокол передачи файлов для резервного копирования, копирования и зеркалирования
  • RTP, Real-time Transport Protocol
  • RTSP, Real-time Transport Streaming Protocol
  • SSH, Secure Shell
  • SISNAPI, Siebel Internet Session Network API
  • SIP, Session Initiation Protocol, сигнальный протокол
  • SMTP, Simple Mail Transfer Protocol
  • SNMP, Simple Network Management Protocol
  • SOAP, Simple Object Access Protocol
  • STUN, Session Traversal Utilities for NAT
  • TUP, Telephone User Part
  • Telnet — протокол удаленного доступа к терминалу
  • TCAP, Transaction Capabilities Application Part
  • TFTP, Trivial File Transfer Protocol, простой протокол передачи файлов
  • WebDAV, Web Distributed Authoring and Versioning
  • DSM CC Digital Storage Media Command and Control

Формализация

ТЗпротоколOSIприкладном уровне

Клиент Данные Сервер
Определение списков для синхронизации
Синхронизация справочника товаров
Синхронизация пользователей
Синхронизация списков:
1. Добавление на сервер
2. Добавление на клиента
3. Обмен изменениями
Передача списков, требующих обмена изменениями; первый уровень иерархии.
  1. ID списка
  2. Хеш списка
  3. Хеш его потомков:
    • Пользователей
    • Элементов
Анализ хешей:
Уведомление о совпадении хешей. 1. Все совпадают – конец синхронизации.
Конец синхронизации.
Требование передать:
  1. Изменённые на клиенте поля списка – в случае несовпадения его хеша.
  2. Подробности по прямым потомкам – в случае отличия хеша потомков.
2. Хотя бы один не совпадает.
Передача затребованных данных. Второй уровень иерархии.
  1. Изменённые поля списка (если требуется)
  2. Детализация по его пользователям (если требуется):
    • ID
    • Хеш (если не удалён)
    • Добавлен (только для своего авторства)?
    • Удалён (только для своего авторства)?
  3. Детализация по его элементам (если требуется):
    • ID
    • Хеш (если не удалён)
    • Хеш его потомков – чата (если не удалён).
    • Удалён?

Уровни OSI

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

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

Задачи компьютера ОТПРАВИТЕЛЯ:

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

Задачи компьютера ПОЛУЧАТЕЛЯ:

  • Принять пакеты данных
  • Удалить из него служебную информацию
  • Скопировать данные в буфер
  • После полного приема всех пакетов сформаровать из них исходный блок данных
  • Отдать его приложению

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

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

Разберем их подробнее.

6. Уровень представления (Presentation Layer)

Переводит эти данные на единый универсальный язык. Дело в том, что каждый компьютерный процессор имеет собственный формат обработки данных, но в сеть они должны попасть в 1 универсальном формате — именно этим и занимается уровень представления.

5. Сеансовый уровень (Session Layer)

У него много задач.

  1. Установить сеанс связи с получателем. ПО предупреждает компьютер-получатель о том, что сейчас ему будут отправлены данные.
  2. Здесь же происходит распознавание имен и защита:
    • идентификация — распознавание имен
    • аутентификация — проверка по паролю
    • регистрация — присвоение полномочий
  3. Реализация того, какая из сторон осуществляет передачу информации и как долго это будет происходить.
  4. Расстановка контрольных точек в общем потоке данных для того, чтобы в случае потери какой-то части легко было установить, какая именно часть потеряна и следует отправить повторно.
  5. Сегментация — разбивка большого блока на маленькие пакеты.

4. Транспортный уровень (Transport Layer)

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

  • Протоколы, которые ориентированы на соединение — они отслеживают доставку данных и при необходимости запрашивают повторную отправку при неудаче. Это TCP — протокол контроля передачи информации.
  • Не ориентированные на соединение (UDP) — они просто отправляют блоки и дальше не следят за их доставкой.

3. Сетевой уровень (Network Layer)

Обеспечивает сквозную передачу пакета, рассчитывая его маршрут. На этом уровне в пакетах ко всей предыдущей динформации, сформированной другими уровнями, добавляются IP адреса отправителя и получателя. Именно с этого момент пакет данных называется собственно ПАКЕТОМ, у которого есть IP адреса (IP протокол — это протокол межсетевого взаимодействия).

2. Канальный уровень (Data Link Layer)

Здесь происходит передача пакета в пределах одного кабеля, то есть одной локальной сети. Он работает только до пограничного маршрутизатора одной локальной сети. К полученному пакету канальный уровень добавляет свой заголовок — MAC адреса отправителя и получателя и в таком виде блок данных уже называется КАДРОМ.

При передачи за пределы одной локальной сети пакету присваивается MAC не хоста (компьютера), а маршрутизатора другой сети. Отсюда как раз появляется вопрос серых и белых IP, о которых шла речб в статье, на которую была выше дана ссылка. Серый — это адрес внутри одной локальной сети, который не используетс яза ее пределами. Белый — уникальный адрес во всем глобальном интернете.

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

1. Физический уровень (Transport layer)

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

Виртуальная сеть

В этом случае абонент подключается с использованием VPN с обязательным вводом имени и кода доступа.

Этот вид разделяется на следующие типы подключения (зашифрованные протоколы связи):

  1. PPPoE. Это один из самых распространенных типов. С целью обеспечения доступа во всемирную паутину следует в мастере настроек кликнуть «Подключить к интернету». Далее клацнуть «Установить подключение вручную», указать одноименный тип подсоединения.
  2. PPTP. Чтобы соединиться с глобальной сетью, требуется просто в мастере настройки клацнуть «Подключиться к рабочему месту». После этого выбрать графу «Подключение к виртуальной частной сети». Затем ввести адрес ВПН сервера.
  3. L2TP. Многие современные провайдеры сейчас применяют этот вид подключения, поэтому он тоже получил широкое распространение. Для подключения сначала необходимо выполнить действия, описанные для второго типа и потом открыть свойства и перейти в закладку «Сеть», где указать в графе VPN: «L2TP с IPSec».

Чтобы узнать, какой тип ВПН используется в ПК, надо клацнуть значок соединения в правом углу панели задач и войти в раздел «Сведения».

Стеки

В настоящее время существет большое количество протоколов, которые предназначены для обеспечения связи, однако каждый из них выполняет собственные задачи. Несколько работающих одновременно протоколов выполняют следующие функции:

  • Подготовку информации
  • Ее передачу
  • Прием информации
  • Вспомогательные действия

Подобное разбиение на функции позволяет протоколам работать слаженно. Несколько протоколов, которые работают одновременно, в связке принято называть стеком. В большинстве современных протоколов уровни в стеке совпадают с уровнями основополгающей моделью OSI, которая была разработана и утверждена сертификационным комитетом ISO в 1984 году. Стек представляет собой некий конгломерат протоколов, являя собой единое целое. Стек делиться по алгоритмическим уровням. Каждый из этих уровней для выполнения своих задач использует собственный протокол. Для каждого уровня применим собственный набор правил. В соновном принято выделять три типа стеков:

  • Прикладные. Такие протоколы работают на высшем уровне в соответствии с моделью OSI. Они обеспечивают обмен данными между OSI-уровнями.
  • Сетевые. Эти протоколы обеспечивают поддержку сеансов связи между компьютерами. Фактически они являются гарантией качественной и надежной связи.
  • Транспортные. Такие протоколы наиболее популярны, и занимаются предоставлением услуг связи. На деле они управляют маршрутизацией, маршрутизацией, проверкой ошибок, а также запросами на повторную передачу данных.
Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации