Сейчас многие устройства и программы умеют связываться друг с другом: компьютеры — между собой, телефон — с наушниками, а серверы — с браузером. И довольно часто всё происходит без сбоев. Этим мы обязаны протоколам — вот о них и поговорим.
Что такое протокол
Протокол в ИТ — это набор правил, по которым устройства и программы обмениваются данными. Можно сказать, что это язык — в смысле, что это набор правил общения. Можно сказать, что это грамматика языка. Короче — набор правил.
Обычно в протоколе будут правила:
- Как открывать общение и приветствовать другую сторону.
- Как договориться с другой стороной о параметрах передачи данных.
- Что делать в случае ошибок и недопонимания.
- Как понять, что передача данных завершена.
Когда мы говорили про умный дом , то там многое было завязано на протоколы. Именно по этой причине приборы от разных производителей часто не могут работать вместе — у них просто нет общего протокола.
Протокол MODBUS
Физические и логические протоколы
Протоколы делятся на два вида — физические и логические.
Физические протоколы регулируют то, как именно и какие сигналы будут идти от одного устройства к другому. Например, импульсами по 5 вольт 100 раз в секунду или на определённой частоте радиосигналов. Эти протоколы нужны для того, чтобы наладить связь между устройствами. А уже после налаживания связи можно передавать данные.
Физические протоколы часто называют сигнальными, потому что они регулируют передачу физических сигналов между устройствами.
Логические протоколы отвечают за смысл и передачу данных, когда связь уже установлена. Например, у нас есть два блютус-устройства, телефон и наушники, которые выяснили друг про друга, что они могут работать по одному и тому же проколу. После того как они наладили связь, они могут использовать протокол передачи данных, чтобы узнать друг о друге получше:
- какая версия блютуса стоит на каждом устройстве;
- кто что умеет делать — только играть музыку или ещё может работать как гарнитура;
- есть ли поддержка музыкальных кодеков;
- какой уровень заряда на каждом устройстве;
- нужно ли использовать энергосберегающий режим и так далее.
Получается, что задача физического протокола — установить связь между устройствами, а логического — передавать данные по этой установленной связи.
Сетевые модели
Скорее всего, вы уже знаете, что браузеры получают данные от серверов по протоколу HTTPS, файлы — по FTP-протоколу , а сервером можно управлять по SSH-протоколу . Но так как все они используют похожие схемы установления связи и логики работы, сетевые протоколы объединяют в модели передачи данных в сети.
Модель (в этом случае) — это сборник протоколов и других вещей, которые вместе помогают решать более сложные задачи, чем-то, на что способен один конкретный протокол.
Можно представить, что модель — это как комплексный обед в столовой. В него входит несколько блюд, в каждое блюдо входят какие-то продукты, а всё вместе — это сложный комплекс из питательных веществ, который помогает вам наесться, не думая о деталях: содержании клетчатки и витаминах, белках, жирах и углеводах.
TCP и UDP | Что это такое и в чем разница?
Соответственно, сетевая модель — это «комплексный обед» из протоколов, которые разложены на разных уровнях и служат каждый своей цели.
В ИТ есть две основных сетевых модели передачи данных — OSI и стек TCP/IP. OSI расшифровывается как Open Systems Interconnection Model, открытая модель взаимосвязей систем. Её разберём сейчас, а TCP/IP — в отдельной статье.
Как устроена модель OSI
В OSI всё делится на 7 уровней, каждый из которых отвечает за что-то своё.
- Физический уровень отвечает за физические параметры связи — будет ли это радиосвязь, передача тока по проводам или оптический канал связи.
- Канальный уровень регулирует то, как именно будет использоваться физический канал связи и как будут передаваться и приниматься сигналы по этому каналу.
- Сетевой уровень задаёт правила адресации и доставки сообщения — как сделать так, чтобы наше сообщение получил нужный нам адресат.
- Транспортный уровень делает так, чтобы все сообщения отправлялись по очереди, а не так, чтобы один всё время что-то отправляет, а второй не знает, как вклиниться.
- Сеансовый уровень отвечает за связь между двумя программами, которые работают на разных компьютерах.
- Уровень представления используется для того, чтобы внутренние данные компьютера представить в том формате, который нужен для передачи этих данных.
- Прикладной уровень обеспечивает понятный способ связи по сети для разных программ.
Предполагается, что более высокие уровни используют для своей работы более низкие уровни. Например, пятый, сеансовый уровень исходит из того, что все остальные четыре нижних уровня работают как нужно и ему про это думать не надо. Это позволяет разным программистам сосредоточиться каждый на своих задачах и не тратить силы на работу с другими уровнями.
Что это нам даёт
Как пользователю интернета вам не нужно знать, как работают протоколы и сетевые модели. Но как разработчику вам полезно понимать механизм, благодаря которому компьютеры могут друг до друга докричаться.
И вот этот механизм:
- У нас есть набор правил, которые приняли все компьютеры, которые друг друга понимают.
- Эти правила как бы вложены друг в друга. По-другому можно сказать, что более высокоуровневые правила сидят на низкоуровневых.
- Благодаря этой вложенности мы можем делать очень сложно взаимодействующие машины: нам не надо изобретать новый способ связи между устройствами, нам достаточно использовать общепринятые протоколы.
На основании этих базовых понятий мы расскажем о главной сетевой модели современности — TCP/IP. Это всё присказка, а сказка впереди.
Источник: dzen.ru
Протокол связи: передача данных
Функционирование как локальных, так и глобальных компьютерных сетей, мобильных и иных коммуникационных сервисов предполагает задействование различных протоколов связи. Какие из них можно считать самыми распространенными? В чем может заключаться значимость соответствующих стандартов?
Что представляют собой протоколы связи?
Протокол связи — это перечень унифицированных инструкций, которые устанавливают то, каким образом те или иные программные либо аппаратные интерфейсы должны обеспечивать передачу данных — например, текстовых, графических, аудио- и видеопотоков. Соответствующие протоколы создаются главным образом для облегчения масштабирования различных компьютерных сетей. Например, внедрение протокола TCP/IP позволило унифицировать передачу данных фактически по всему миру, благодаря чему стало возможно объединение компьютеров в глобальную сеть Интернет.
На современном рынке информационных технологий протоколы каналов связи используются на самых разных уровнях внедрения коммуникационных интерфейсов. Они постоянно дорабатываются, обновляются. Периодически разрабатываются новые протоколы, отражающие специфику развития коммуникационного рынка. Могут использоваться различные протоколы связи в сетях как бытового, так и промышленного назначения, реализованных на базе инфраструктуры научно-исследовательских центров и т. д. В числе самых распространенных стандартов соответствующего типа — Ethernet, CAN, HART.
Использование протоколов связи осуществляется также в сфере услуг мобильных коммуникаций. В числе таковых — 3G, 4G, GPRS.
Данные протоколы в сетях мобильных операторов различаются, в частности:
— по скорости передачи данных между абонентом и поставщиком коммуникационных услуг;
— по диапазонам частот;
— по показателям максимального расстояния коммуникационного устройства до базовой станции.
Что касается классификации протоколов компьютерной связи — она характеризуется достаточно высоким уровнем сложности. Рассмотрим ее специфику подробнее.
Классификация протоколов компьютерной связи
Классификация соответствующих протоколов может быть осуществлена с использованием достаточно большого количества подходов. Распространен тот, по которому стандарты связи могут быть подразделены на нижестоящие и вышестоящие уровни. В числе таковых:
Изучим их подробнее.
Прикладной уровень сетевых протоколов
Рассматриваемый уровень, в рамках которого может быть классифицирован тот или иной протокол связи, относится, прежде всего, к приложениям. То есть, он обеспечивает коммуникации между инфраструктурой сети и конкретными программами пользователя. Здесь используются такие протоколы, как HTTP, Telnet, DNS, IRC, BitTorrent и многие другие, посредством которых осуществляется поставка современных онлайновых сервисов.
Представительский уровень сетевых протоколов
На соответствующем уровне протокол связи предполагает представление тех или иных данных. Здесь могут осуществляться процедуры преобразования одних протоколов в другие, кодирование, сжатие файлов, управление различными запросами.
Конкретные приложения задают определенные запросы в сеть, после чего — преобразуются в язык, понятный серверу. Далее происходит обработка запроса. Затем ответ от сервера преобразуется, в свою очередь, в язык, понятный приложению. В числе популярных протоколов соответствующего типа — ASN, FTP, SMTP. Можно также в определенной степени отнести к таковым и HTTP, FTP.
Сеансовый уровень протоколов связи
На данном уровне протокол связи используется в целях осуществления конкретной операции — например, синхронизации тех или иных задач, создания сеанса связи, отправки или получения файла. В числе распространенных протоколов, что используются в подобных целях — ASP, DLC, SOCKS.
Транспортный уровень протоколов связи
Соответствующего типа стандарты используются в целях непосредственно доставки тех или иных типов данных от одного сетевого объекта к другому. Во многих случаях здесь осуществляется разделение файлов на отдельные элементы — для облегчения их передачи. К протоколам соответствующего типа можно отнести TCP, UDP, RMTP.
Сетевой уровень протоколов
Следующий тип стандартов, на основе которого может функционировать система связи — протоколы сетевого уровня. Они отвечают, прежде всего, за способы передачи данных, трансляцию адресов, коммутацию, мониторинг качества работы инфраструктуры. К таким протоколам можно отнести, в частности, тот же TCP/IP, ICMP. DHCP.
Канальный уровень протоколов
Данные стандарты применяются для обеспечения функционирования ключевых аппаратных компонентов сети. Соответствующие протоколы позволяют системе, прежде всего, проверить данные, поступающие с физического уровня, на наличие ошибок. При необходимости также осуществляется их корректировка.В числе таких стандартов — распространенный протокол связи PPP, такие алгоритмы, как SLIP, L2F, PROFIBUS. В принципе, к канальным протоколам можно отнести и Ethernet.
Физический уровень протоколов
Следующий уровень действия стандартов, о которых идет речь — физический. Здесь протокол связи — это инструмент, посредством которого осуществляется непосредственно передача потока цифровых данных — посредством направления сигнала по кабелю или же по радиоканалу.
В случае с проводной передачей могут задействоваться такие стандарты, как RS-232, xDSL, 100BASE-T. Распространенные протоколы беспроводной связи — в частности, реализованной с помощью Wi-Fi-роутеров — те, что относятся к типу IEEE 802.11.
Изученную нами классификацию стандартов можно считать очень условной. Так, в рамках нее может быть весьма проблематично отнести тот или иной протокол к конкретной категории: часто бывает, что стандарт применяется сразу на нескольких уровнях. Полезно будет рассмотреть более подробно специфику самых популярных на современном рынке информационных технологий протоколов. Таких как, например, протокол управления PPP (связью – именно она является объектом воздействия алгоритмов, которые предусмотрены соответствующим стандартом).
Что представляет собой протокол PPP?
Рассматриваемый протокол относится, как мы отметили выше, к стандартам, которые предназначены для обеспечения функционирования инфраструктуры сетей на канальном уровне. Он универсален: посредством соответствующего протокола можно реализовать аутентификацию устройства, задействовать механизм шифрования данных, при необходимости — сжатие файлов.
Рассматриваемый протокол обеспечивает функционирование сетей на базе распространенных коммуникационных ресурсов — таких как телефонные линии, каналы сотовой связи. Если в той или иной программе выскакивает надпись о том, что протокол PPP связью был прерван, то это, скорее всего, будет означать невозможность получения пользователем фактического доступа к сетевым ресурсам, что предоставляются его провайдером.
Существует несколько разновидностей соответствующего стандарта — например, PPPoE, PPPoA. При этом структура протокола, о котором идет речь, включает несколько стандартов: LCP, NCP, PAP, CHAP, MLPPP. Еще один распространенный на современном IT-рынке протокол — HTTP.
Что представляет собой протокол HTTP?
Соответствующий стандарт задействуется в целях обеспечения работы инфраструктуры обмена гипертекстовыми данными — в общем случае между компьютерами и серверами в интернете. Относится к основополагающим протоколам, которые обеспечивают работу Всемирной паутины. По умолчанию поддерживается большинством современных программных инструментов коммуникации в распространенных операционных системах. Отличается стабильностью — сложно представить ситуацию, при котором на экран пользователя выскочит сообщение HTTP-программы наподобие «протокол PPP-связью был прерван». В крайнем случае — если по каким-либо причинам инструменты для задействования стандарта HTTP недоступны, можно для передачи файлов в режиме онлайн задействовать, к примеру, протокол FTP, хотя во многих случаях его применение может быть не самым оптимальным решением.
Стандарт, о котором идет речь, предполагает передачу данных от программно-аппаратного объекта в статусе клиента к серверу и наоборот. Первый направляет второму запросы, а тот отвечает на них по установленному алгоритму. Существует несколько разновидностей рассматриваемого протокола: например, HTTPS, HTTP-NG. Главные преимущества, обуславливающие тот факт, что протокол связи HTTP стал одним из самых популярных:
— наличие широкой поддержки со стороны производителей программного обеспечения.
Есть и у него и ряд недостатков, выделяемых экспертами:
— достаточно большая величина отдельных сообщений;
— неприспособленность к распределенным вычислениям;
— отсутствие возможности осуществлять навигацию по ресурсам, размещенным на сервере.
Выше мы отметили, что рассматриваемый стандарт связи поддерживается основными пользовательскими операционными системами, а также распространенными программными продуктами. Однако, сфера применения данного протокола существенно шире, чем реализация коммуникационных алгоритмов в рамках пользовательских решений. Стандарт HTTP применим и в промышленности, системах видеонаблюдения, в инфраструктуре SCADA.
Большое количество производителей, рассматривая различные протоколы связи в сетях как базовые для выстраивания коммуникационной инфраструктуры, выбирают именно HTTP — как функциональный и надежный инструмент организации доступа к различным онлайн-ресурсам, конфигурирования объектов, управления различными девайсами.
Если говорить конкретно о сфере промышленности, то к числу самых востребованных протоколов в соответствующем сегменте рынка можно отнести Modbus.
Что представляет собой протокол Modbus?
Соответствующий стандарт применяется главным образом для обеспечения взаимодействия между различными элементами в рамках инфраструктуры автоматизации на производстве. Представлен соответствующий протокол может быть в тех разновидностях, что адаптированы к передаче данных по конкретному типу канала связи — проводному, беспроводному (в свою очередь, к ресурсам первого типа могут относиться медные, оптоволоконные кабели — и для них разработаны отдельные модификации протокола, о котором идет речь).
Есть версии Mobdus, адаптированные для передачи данных поверх TCP/IP. Еще одно популярное в среде промышленных предприятий решение — PROFIBUS-FDL.
Что представляет собой протокол PROFIBUS-FDL?
Рассматриваемый протокол функционирует в рамках сети PROFIBUS, которая получила распространение среди европейских промышленных предприятий. Ее прототип был разработан специалистами компании Siemens и подлежал применению на участках производства, где задействовались контроллеры.
Впоследствии на базе разработок немецкой корпорации была сформирована инфраструктура сети, в которой были объединены различные технологические, а также функциональные особенности последовательных коммуникаций, относящихся к полевому уровню. Рассматриваемый сетевой протокол позволил осуществить интеграцию разнотипных устройств автоматизации в рамках единой системы производства. Стоит отметить, что протокол PROFIBUS-FDL — не единственный, что функционирует а указанной промышленной сети. Однако, он является единым с точки зрения применимости в целях организации доступа к основной шине.
Так или иначе, рассматриваемый протокол связи дополняется следующими стандартами:
Протокол PROFIBUS DP используется в целях организации обмена данными между ведущими промышленными девайсами типа DP, а также устройствами, на которых ввод-вывод реализован по распределенной схеме. При этом указанный протокол позволяет организовать обмен данными на высокой скорости. Также он характеризуется относительно невысокой стоимостью внедрения, что может делать его популярным и на небольших предприятиях.
Стандарт PROFIBUS PA позволяет осуществить обмен данными между инфраструктурой, которая состоит из оборудования, относящегося к полевому уровню. Данный протокол оптимизирован для подключения различных датчиков и механизмов на общую линейную или же кольцевую шину.
Стандарт PROFIBUS FMS характеризуется универсальностью. Он предназначен, прежде всего, для организации обмена данными между высокотехнологичными компонентами промышленной инфраструктуры — компьютерами, программаторами, контроллерами.
В числе самых сильных сторон протоколов, функционирующих в сети PROFIBUS — открытость (то есть, они могут быть использованы любыми заинтересованными промышленными предприятиями), широкая распространенность (что обуславливает облегчение масштабирования промышленной инфраструктуры при расширении рынков, открытии новых производств).
Резюме
Итак, мы рассмотрели сущность протоколов связи, изучили особенности некоторых популярных разновидностей соответствующих стандартов. Основное их назначение — обеспечение передачи данных в рамках унифицированных форматов. То есть — тех, которые могут быть масштабированы в рамках инфраструктуры, как правило, значительно превышающей масштабы отдельно взятого предприятия.
Фактически речь идет о международных стандартах: современные протоколы сотовой связи, проводных, Wi-Fi-коммуникаций, распространены очень широко, общедоступны, относительно легко масштабируются. Безусловно, в ряде случаев даже на таких глобальных рынках, как оказание услуг сотовой связи возможно применение региональных протоколов, но в интересах крупнейших брендов — внедрять, если это не противоречит интересам бизнеса, а в ряде случаев — и государства, как можно более унифицированные стандарты, что позволит активизировать международные коммуникации.
Есть ряд фундаментальных протоколов связи. В контексте интернета к таковым можно отнести HTTP, TCP/IP. В сегменте услуг по предоставлению доступа в сеть к таковым может быть отнесен стандарт PPP.
Если пользователь видит сообщение о том, что протокол управления PPP-связью был прерван, то он, скорее всего, не сможет получить доступа к онлайновым ресурсам ни с помощью HTTP, ни с использованием TCP/IP. Таким образом, каждый стандарт имеет большую значимость и, более того, во многих случаях неразрывно связан с другими. Если один протокол связью прерван, то есть вероятность, что пользователь не сможет получить доступа к тем ресурсам, за организацию коммуникаций с которыми отвечают иные стандарты.
Протоколы связи — незаменимый инструмент решения сложных задач как в области обеспечения пользовательских коммуникаций, так и в промышленной, сервисной сферах. От грамотного выбора конкретного стандарта зависит успешность внедрения соответствующей инфраструктуры, а также ее эффективность — с точки зрения соотношения производительности системы и затрат на ее инсталляцию. Таким образом, заблаговременное изучение свойств сетевых протоколов, выбор оптимального — важная задача менеджеров предприятия, ответственных за внедрение и модернизацию коммуникационной инфраструктуры фирмы.
Источник: fb.ru
Сетевые протоколы — что это
Интернет очень большой, но на базовом уровне представляет собой связь между множество разных компьютерных устройств. Эта связь обеспечивается через сетевые протоколы — наборы правил, которые регулируют обмен информацией, его порядок и особенности. Протоколов создано много, и в этой статье мы рассмотрим наиболее известные из них, относящиеся к межсетевому, транспортному и прикладному уровню, а также затронем ещё несколько смежных тем.
Модели, на которых работает интернет
Долгое время моделью, отвечающей за установку открытой связи между двумя хостами, являлась Open Systems Interface (OSI), установившая семь уровней протоколов (физический, транспортный, сетевой и т. д.). Она не считалась сетевой архитектурой, так как просто задавала входные и выходные данные для каждого уровня. Поскольку современные протоколы научились работать сразу на нескольких уровнях модели OSI, её на смену пришла новая четырёхуровневая модель: TCP/IP.
Новая модель, как видно из названия, объединяет два основных протокола: Transmission Control Protocol и Internet Protocol. Первый отвечает за надёжную и передачу данных и её целостность, а второй — за маршрутизацию. Все новые сетевые протоколы разрабатываются на базе этой модели. Например, заходя на сайт Cloud4Y, вы используете протоколы IP, TCP и HTTPS.
Для большей наглядности сравним обе модели.
Популярные сетевые протоколы
UDP
User Datagram Protocol, о связке которого с протоколом TCP мы рассказывали, представляет собой протокол передачи данных, не требующий предварительной установки соединения между хостами. Он быстрый, но часто теряет пакеты данных во время доставки. А
TCP
Transmission Control Protocol — протокол сквозной связи, созданный в 1974 году и до сих пор востребованный в мире. Надёжный, но медленный. Перед тем, как начинать передачу данных, достигается рукопожатие для установления соединения, и лишь затем начинается передача пакетов. При необходимости пакеты дублируются.
FTP
File Transfer Protocol — протокол прикладного уровня для передачи файлов, появившийся в 1971 году. Использует два канала для передачи данных. Первый , управляющий процессом передачи, называют командным. Второй, передающий информацию — транспортным. FTP — надёжный протокол. Сервер в данном случае называют удалённым хостом, а клиент — локальным.
Работает по клиент-серверной модели. После аутентификации пользователь получает доступ к файловой системе. В некоторых случаях возможен анонимный доступ.
RTP
Real-time Transfer Protocol — транспортный протокол, работающий в реальном времени. Нужен для потоковой передачи аудио- и видеоданных. Умеет передавать данные нескольким получателям одновременно. Чаще всего применяется для передачи голоса в IP-телефонии.
DNS
Под аббревиатурой DNS прячется не только система доменных имён Domain Name System. Данное название носит и протокол, благодаря которому эта система и функционирует. Протокол помогает серверам DNS обмениваться базами данных, а клиентским устройствам — запрашивать у
ICMP
Internet Control Message Protocol — важный протокол, который нужен для слежения за ошибками во взаимодействии устройств. Он диагностирует проблемы и определяет, получены ли данные отправителем. Если нет, протокол ICMP генерирует ошибку для отправки на отправляющее устройство. Данный протокол иногда используется злоумышленниками для сетевых атак путём генерации большого объёма ICMP-сообщений.
HTTP
HyperText Transfer Protocol — протокол, который создавался для передачи HTML-файлов, но впоследствии пригодился для всех файлов в сети. Этот протокол клиент-серверного типа не сохраняет промежуточное состояние. Для обмена информацией обычно используется TCP/IP. У HTTP есть защищённая версия: HTTPS. Она поддерживает шифрование, а данные передаются поверх криптопротокола TLS.
NTP
Network Time Protocol — протокол для синхронизации локальных часов устройства с точным временем в интернете. NTP работает на базе алгоритма Марзулло поверх UDP. За счёт этого удаётся добиться более высокой точности времени и скорости передачи данных.
SSH
Secure Shell — защищённый протокол прикладного уровня, необходимый для удалённого управления ОС через протокол TCP. В SSH весь трафик шифруется с использованием заданного вами алгоритма шифрования. Протокол позволяет обрабатывать другие сетевые протоколы передачи, включая аудио- или видеопоток. Его удобно использовать для удалённого подключения клиента к серверу и работы оттуда.
Источник: www.cloud4y.ru