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

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

Что представляют собой протоколы связи?

Протокол связи — это перечень унифицированных инструкций, которые устанавливают то, каким образом те или иные программные либо аппаратные интерфейсы должны обеспечивать передачу данных — например, текстовых, графических, аудио- и видеопотоков. Соответствующие протоколы создаются главным образом для облегчения масштабирования различных компьютерных сетей. Например, внедрение протокола 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. Таким образом, каждый стандарт имеет большую значимость и, более того, во многих случаях неразрывно связан с другими. Если один протокол связью прерван, то есть вероятность, что пользователь не сможет получить доступа к тем ресурсам, за организацию коммуникаций с которыми отвечают иные стандарты.

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

  1. протокол - Документ, представляющий объективное доказательство о проделанной работе или достигнутых результатах. Строительная терминология
  2. протокол - -а, м. 1. Документ, содержащий запись всего происходившего на заседании, собрании, судебном процессе и т. п. Протокол допроса. Вести протокол собрания. 2. Документ, удостоверяющий какой-л. факт. Составили протокол осмотра, записали показания понятых. Малый академический словарь
  3. протокол - протоко́л род. п. -а, уже у Куракина, 1707 г.; см. Христиани 30 и сл. Через франц. рrоtосоlе или нем. Рrоtоkоll (с 1536 г.; см. Шульц–Баслер 2, 708) из ср.-лат. рrоtосоllum от греч. πρωτόκολλον "приклеенный спереди лист на свитке папируса"; см. Смирнов 247. Этимологический словарь Макса Фасмера
  4. Протокол - Акт, составляемый уполномоченными на то должностными лицами в удостоверение тех или иных событий. П. бывают судебные и административные. Энциклопедический словарь Брокгауза и Ефрона
  5. протокол - сущ., кол-во синонимов: 6 админпротокол 1 акт 21 документ 82 интернет-протокол 1 протокольчик 1 соглашение 41 Словарь синонимов русского языка
  6. протокол - протокол м. 1. Документ с записью происходящего (на собрании, заседании, допросе и т.п.). 2. Документ, удостоверяющий какой-либо факт, происшествие. 3. Письменное соглашение между государствами (обычно по частным вопросам). Толковый словарь Ефремовой
  7. ПРОТОКОЛ - (от франц. protocole - первый лист) 1) документ, подписанный договаривающимися сторонами и фиксирующий результаты переговоров перед заключением договора; 2) запись происходившего на собрании с указанием участников и принятых решений. Экономический словарь терминов
  8. протокол - ПРОТОКОЛ, а, м. 1. Документ с записью всего происходящего на заседании, собрании, допросе. П. заседания. П. допроса. Вести п. Занести в п. 2. Документ, к-рым удостоверяется какой-н. факт. П. медицинского вскрытия. 3. Акт о нарушении общественного порядка. Толковый словарь Ожегова
  9. протокол - Протокол, протоколы, протокола, протоколов, протоколу, протоколам, протокол, протоколы, протоколом, протоколами, протоколе, протоколах Грамматический словарь Зализняка
  10. ПРОТОКОЛ - ПРОТОКОЛ (франц. protocole, от греч. protokollon - первый лист манускрипта) - 1) официальный документ, в котором фиксируются какие-либо фактические обстоятельства (ход собрания, процессуальные или следственные действия, судебное заседание). Большой энциклопедический словарь
  11. протокол - (фр. protocole, от гр. protokollon - первый лист манускрипта) 1) официальный документ, в котором фиксируются какие-либо фактические обстоятельства (ход собрания, процессуальные или следственные действия, судебное.заседание); 2) в международном праве... Большой юридический словарь
  12. протокол - орф. протокол, -а Орфографический словарь Лопатина
  13. Протокол - (от греч. protókollon - первый лист, приклеенный к свитку манускрипта) 1) в СССР официальный документ, в котором фиксируются: факт совершения административного проступка; ход и результаты процессуальных действий при расследовании уголовного дела... Большая советская энциклопедия
  14. ПРОТОКОЛ - ПРОТОКОЛ (от греч. protokollon - первый лист) - англ. report/record; нем. Protokoll. 1. Документ, содержащий описание произведенных действий и установленных фактов. Социологический словарь
  15. протокол - Документ, подписанный сторонами о результатах переговоров перед заключением договора или соглашения. Большой бухгалтерский словарь
  16. протокол - Заимствование из французского, в котором protocole восходит к греческому protokollon (protos – "первый" и kollan – "клеить"). Буквальное значение этого слова в греческом "первый приклеиваемый лист рукописи", который обычно включал указание на владельца, время, имя переписчика и т. п. Этимологический словарь Крылова
  17. протокол - Протокола, м. [новогреч. protokollon – первый лист, к которому приклеивается следующий в свитке] (офиц.). 1. Официальный документ, содержащий запись всего, что было сказано, сделано и решено на собрании, заседании, допросе. Протокол судебного заседания. Большой словарь иностранных слов
  18. протокол - ПРОТОКОЛ -а; м. [от греч. prōtokollon - первый лист, приклеиваемый к свитку манускрипта] 1. Документ с краткой записью хода собрания, заседания и т.п. П. допроса. Вести п. собрания. Запись в протоколе. Сделать выписку из протокола. Занести... Толковый словарь Кузнецова
  19. протокол - ПРОТОК’ОЛ, протокола, ·муж. (·новогреч. protokollon - первый лист, к которому приклеивается следующий в свитке) (офиц.). 1. Официальный документ, содержащий запись всего, что было сказано, сделано и решено на собрании, заседании, допросе. Толковый словарь Ушакова
  20. протокол - ПРОТОКОЛ м. судебная записка, с изложением дела, применением законов и решением; но протокол составляется нередко и вместо журнала, постановления вообще, и даже, в виде постановления о выдаче денег и пр., на основании журнала, вдвойне. Толковый словарь Даля

Сетевым протоколом называется набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть компьютерами. Фактически разные протоколы зачастую описывают лишь разные стороны одного типа связи; взятые вместе, они образуют так называемый стек протоколов. Названия <протокол> и <стек протоколов> также указывают на программное обеспечение, которым реализуется протокол.

  • Прикладной уровень (Application layer). Верхний (7-й) уровень модели, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления. Пример: HTTP, POP3, SMTP.
  • Уровень представления (Presentation layer). 6-й уровень отвечает за преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с уровня приложений, он преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям. На уровне представления может осуществляться сжатие/распаковка или кодирование/декодирование данных, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально.
  • Сеансовый уровень (Session layer). 5-й уровень модели отвечает за поддержание сеанса связи, что позволяет приложениям взаимодействовать между собой длительное время. Сеансовый уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений. Синхронизация передачи обеспечивается помещением в поток данных контрольных точек, начиная с которых возобновляется процесс при нарушении взаимодействия.
  • Транспортный уровень (Transport layer). 4-й уровень модели, предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. При этом неважно, какие данные передаются, откуда и куда, то есть он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Протоколы этого уровня предназначены для взаимодействия типа точка-точка. Пример: TCP, UDP
  • Сетевой уровень (Network layer). 3-й уровень сетевой модели OSI, предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и заторов в сети. На этом уровне работает такое сетевое устройство, как маршрутизатор.
  • Уровень звена данных (Data Link layer). Часто это уровень называется канальным. Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Данные, полученные с физического уровня, он упаковывает во фреймы, проверяет на целостность, если нужно исправляет ошибки и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня - MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты. В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS
  • Физический уровень (Physical layer). Самый нижний уровень модели, предназначен непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель или в радиоэфир и соответственно их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. Другими словами, осуществляет интерфейс между сетевым носителем и сетевым устройством. На этом уровне работают концентраторы (хабы), повторители (ретрансляторы) сигнала и медиаконверторы. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.

Основные протоколы используемые в работе Интернет:

  • TCP/IP
  • IMAP4
  • Gorpher

КЛАССИФИКАЦИЯ КС ПО РАЗМЕРУ. НАЗВАНИЕ ТИПОВ КС, ИХ ПРИМЕРНАЯ ПРОТЯЖЕННОСТЬ И ПРИМЕНЕНИЕ .

Локальная сеть

Локальная сеть – это компьютерная сеть небольшой протяженности: в пределах комнаты, этажа, здания. Обычно такие сети действуют в пределах одного учреждения и имеют небольшой радиус действия: 1-10 км. Она сеть всегда является ведомственной. В настоящее время не существует четких ограничений на территориальный разброс абонентов локальной вычислительной сети. Обычно такая сеть привязана к конкретному месту. К классу локальных сетей относятся сети отдельных предприятий, фирм, банков, офисов и т.д. Локальная сеть обеспечивает высокие скорости передачи данных. А так как в этих сетях среда обычно контролируема, линии связи короткие, элементы структуры однородные, то частота ошибок в них низкая и протоколы обмена упрощены. В локальных сетях обычно не используются средства коммуникации общего назначения (телефонные линии) для организации обмена информацией. Дополнительное преимущество такой сети заключается в значительной экономии ресурсов. Так, вместо того, чтобы иметь принтер для каждого компьютера, можно иметь только один принтер. Любой компьютер в сети мог послать информацию для печати на этот принтер

Основные компоненты локальной сети: несколько ПК, снабженных сетевым адаптером, или сетевой картой; среда передачи, объединяющая необходимые узлы; сетевое программное обеспечение. Для объединения компьютеров в локальную сеть требуется вставить в каждый подключаемый к сети компьютер сетевой адаптер (контроллер), который позволяет компьютеру получать информацию из локальной сети и передавать данные в сеть, а также соединить компьютеры кабелями, по которым происходит передача данных между компьютерами и другими подключенными к сети устройствами (принтерами, сканерами и т.д.). В некоторых типах сетей кабели соединяют компьютеры непосредственно, в других соединение кабелей осуществляется через специальные устройства-концентраторы (или hub), коммутаторы и др. В небольших сетях обычно компьютеры соединяются кабелями с концентратором, который и передает сигналы от одних подключенных к нему компьютеров к другим. Технические средства определяют лишь потенциальные возможности компьютерных сетей. Истинные же ее возможности определяет программное обеспечение. Что же дают локальные сети? экономию места в памяти, т.к. многие пользователи применяют одни и те же программные продукты; хорошую систему защиты при записи информации; обеспечение связи между отдельными пользователями через компьютерную почту.

Региональные сети

Региональные сети – это сети, существующие обычно в пределах города, района, области, страны. Они связывают абонентов, расположенных на значительном расстоянии друг от друга. Обычно расстояние между абонентами региональной вычислительной сети составляет десятки-сотни километров. Они являются объединением нескольких локальных сетей и частью некоторой глобальной. Особой спецификой по отношению к глобальной не отличаются. Региональные вычислительные сети имеют много общего с локальными, но они, по многим параметрам, сложнее их. Например, помимо обмена данными и голосового обмена, региональные вычислительные сети могут передавать видео- и аудиоинформацию. Эти сети разработаны для поддержки больших расстояний, чем локальные вычислительные сети. Они могут использоваться для связывания нескольких локальных вычислительных сетей в высокоскоростные интегрированные сетевые системы. Региональные вычислительные сети сочетают лучшие характеристики локальной (низкий уровень ошибок, высокая скорость передачи) с большей географической протяженностью. В последнее время стали еще выделять класс корпоративных сетей. Они охватывают обычно крупные корпорации. Их масштаб и структура определяются потребностями предприятий – владельцев.

Глобальные сети

Глобальная вычислительная сеть объединяет абонентов, расположенных в различных странах, на различных континентах. Взаимодействие между абонентами такой сети может осуществляться на базе телефонной линии связи, радиосвязи и систем спутниковой связи. Глобальные вычислительные сети позволяют решить проблему объединения информационных ресурсов всего мира и организации доступа к этим ресурсам. Для подключения к удаленным компьютерам и компьютерным сетям используются телефонные сети. Процесс передачи данных по телефонным линиям должен происходить в форме электрических колебаний – аналога звукового сигнала, в то время как в компьютере информация хранится в виде кодов. Для того чтобы передать информацию от компьютера через телефонную линию, коды должны быть преобразованы в электрические колебания. Этот процесс носит название модуляции. Для того чтобы адресат смог почитать на своем компьютере то, что ему отправлено, электрические колебания должны быть обратно превращены в машинные коды – демодуляция. Устройство, которое осуществляет преобразования данных из цифровой формы, в которой они хранятся в компьютере, в аналоговую (электрические колебания), в которой они могут быть переданы по телефонной линии, и обратно, называется модем (сокращенно от МОдулятор ДЕМодуляции). Компьюте, в этом случае, должен иметь специальную телекоммуникационную программу, которая управляет модемом, а также отправляет и получает последовательности сигналов передаваемой информации. Глобальные вычислительные сети создаются путем объединения локальных и региональных вычислительных сетей. Они представляют собой конгломерат различных технологий. По сравнению с локальной вычислительной сетью большинство глобальных отличают медленная скорость передачи и более высокий уровень ошибок. Новые технологии в области глобальных вычислительных сетей нацелены на разрешение этих проблем. Глобальные сети, кроме того, что они охватывают очень большие территории, имеют и ряд других особенностей по сравнению с локальной сетью. Глобальные сети, в основном, используют в качестве каналов связи телефонные линии – это медленные каналы с высоким уровнем ошибок. Однако в настоящее время все более внедряются высокоскоростные оптоволоконные и радиоспутниковые каналы связи.

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

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

Модель OSI – это семиуровневая логическая модель работы сети. Модель OSI реализуется группой протоколов и правил связи, организованных в несколько уровней.

На физическом уровне определяются физические (механические, электрические, оптические) характеристики линий связи.

На канальном уровне определяются правила использования физического уровня узлами сети.

Сетевой уровень отвечает за адресацию и доставку сообщений.

Транспортный уровень контролирует очередность прохождения компонент сообщения.

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

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

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

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

Рассмотрим наиболее известные протоколы, используемые в сети Интернет.

HTTP (Hyper Text Transfer Protocol) – это протокол передачи гипертекста. Протокол HTTP используется при пересылке Web-страниц с одного компьютера на другой.

FTP (File Transfer Protocol)- это протокол передачи файлов со специального файлового сервера на компьютер пользователя. FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на свой или скопировать файл со своего компьютера на удаленный.

POP (Post Office Protocol) - это стандартный протокол почтового соединения. Серверы POP обрабатывают входящую почту, а протокол POP предназначен для обработки запросов на получение почты от клиентских почтовых программ.

Стандарт SMTP (Simple Mail Transfer Protocol) задает набор правил для передачи почты. Сервер SMTP возвращает либо подтверждение о приеме, либо сообщение об ошибке, либо запрашивает дополнительную информацию.

UUCP (Unix to Unix Copy Protocol) - это ныне устаревший, но все еще применяемый протокол передачи данных, в том числе для электронной почты. Этот протокол предполагает использование пакетного способа передачи информации, при котором сначала устанавливается соединение клиент- сервер и передается пакет данных, а затем автономно происходит его обработка, просмотр или подготовка писем.

TELNET – это протокол удаленного доступа. TELNET дает возможность абоненту работать на любой ЭВМ сети Интернет, как на своей собственной, то есть запускать программы, менять режим работы и т.д. На практике возможности лимитируются тем уровнем доступа, который задан администратором удаленной машины.

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

Какими свойствами и особенностями обладает хороший, годный грамотный, качественный протокол?

В идеале, протокол должен быть абстрагирован от более нижнего уровня взаимодействия, будь то передача по TCP, UDP, по serial порту, USB, Bluetooth, через цифровой радиосигнал, или даже по голубиной почте . И надо учитывать, что далеко не все из них гарантируют доставку и\или достоверность передающихся данных.

Небольшой дисклеймер: говоря о достоверности данных, я имею ввиду их неискаженность вследствие помех и иных ошибок в среде передачи. В статье я не буду затрагивать темы пласта технологий, связанных с безопасностью в ИТ. Допустим что наши Алиса и Боб могут друг другу доверять, и никакая Ева им помешать не может . (Например у коллег вопрос безопасности решается включением всех территориально разделенных участников взаимодействия в хорошо защищенный VPN, не имеющий в свою очередь доступа наружу)

В большинстве протоколов реализована схема «Вопрос-Ответ». Это можно представить как разговор, в котором на каждую реплику своего собеседника вы реагируете вербально, и в том же смысловом ключе. Таким образом участниками взаимодействия достигается уверенность в том, что их сообщения переданы и адекватно восприняты. Однако эта схема допустима и эффективна не для всех задач: в случаях когда задержка в общении должна быть минимизирована, или ответ на каждую из многочисленных реплик признается избыточным (например для отладочных сообщений), реализуется схема «Старт-Стоп». При получении сообщения на «Старт» ваш собеседник начинает сыпать в вас потоком реплик, и замолкает лишь при слове «Стоп». Сообщения, отправляемые в потоке, обычно имеют инкрементируемый порядковый номер, и если при принятии потока сообщений были проблемы с обработкой\было пропущено одно из них, его можно перезапросить отдельно по этому самому номеру.

Все протоколы можно разделить на две группы, (по представлению данных): символьные и бинарные .
Символьные протоколы, с которыми мне приходилось встречаться, базировались либо на XML, либо на JSON-строках. Из их достоинств можно упомянуть о более простой отладке взаимодействия (вследствие их читаемости), о простоте реализации (наличия готовых парсеров), и пресловутой универсальности.
Теперь о недостатках. Очевидно, что такие протоколы являются крайне избыточными, мизерная доля полезной информации плавает в массивной, неэффективной обёртке. При передаче любой числовой информации приходиться заниматься их конвертацией в строковое представление и обратно. Больным местом является передача бинарных данных (и хорошо, что без них бывает можно обойтись, но в ряде случаев это невозможно). Составители протоколов обычно выкручиваются применением Base64 , или даже просто передачей бинарной строки в её hex-овом представлении, по два символа на байт.
Также хочется отметить, что полная спецификация того же XML крайне обширна, и стандартные парсеры, при всей их полноте возможностей, достаточно громоздки и медлительны, поэтому распространена практика, когда отдел или контора в итоге пишет и пользуется собственным парсером.

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

Теперь бинарные протоколы. Сразу же надо вспомнить о Гулливерских войнах тупоконечников и остроконечников . Лично я симпатизирую big-endian, т.к. не считаю неявную типизацию little-endian «чем-то хорошим», да и в моей среде разработки big-endian является нативным.
Бинарные протоколы (не все, но те, которые я отношу к грамотным) можно разделить на два уровня: уровень контейнера и уровень данных. На плечи первого уровня ложится ответственность за целостность и достоверность передачи данных, а так же за доступность обнаружения сообщения в байтовом потоке, и, само собой, за хранение в себе сообщения уровня данных. Второй уровень должен содержать информацию, ради которой всё сетевое взаимодействие и затевалось, в удобном для обработки формате. Его структура в основном зависит от решаемых задач, но и по нему есть общие рекомендации (о которых ниже).

Размеры сообщений (дискретных пакетов байт, которые можно обрабатывать независимо от предыдущих и последующих принимаемых данных) бывают фиксированными и переменными . Понятно, что с фиксированным размером сообщений всё проще - вычитается, начиная с заголовка (о нём позже), определенное количество байт и отправляется на обработку. Зачастую, для обеспечения гибкости, составители таких протоколов включают в сообщение область фиксированного размера (иногда до 80% от общего объема), зарезервированное под модификации нынешнего протокола. На мой взгляд, это не самый эффективный путь обеспечения гибкости, зато избыточность появляется еще какая.
Рассмотрим сообщения переменной длины.
Тут уже можно подробней поговорить о непременном атрибуте бинарного сообщения в любом протоколе - о заголовке (Это вышеупомянутый уровень контейнера).
Обычно заголовки начинаются с константной части, позволяющей, с определенной вероятностью обнаружить начало сообщения в непрерывном байтовом потоке. Очевидно, что имеется риск появления такой константы в произвольном потоке байт, и, хотя увеличение объема этот риск снижает (я встречал константы вида 0123456789VASIA9876543210), целесообразней использовать проверки на основе подсчета контрольной суммы .
За константой обычно следует номер версии протокола, который дает нам понять, в каком формате должно происходить дальнейшее считывание (и имеем ли мы вообще возможность обработать это сообщение - вдруг такая версия нам неизвестна). Следующая важная часть заголовка: информация о самом содержимом контейнера. Указывается тип содержимого (по факту, тот же номер версии протокола для уровня данных), его длина и контрольная сумма. Имея эту информацию, можно уже без проблем и опасений считать содержимое и приступить к его разбору.
Но не прямо сразу! Заголовок должна заключать контрольная сумма его самого (исключая из расчета конечно саму контрольную сумму) - только так мы можем быть уверены в том, что считали только что не белиберду, а валидный заголовок, за которым следуют предназначенные нам данные. Не совпала контрольная сумма? Придётся искать следующее начало нового заголовка дальше по потоку…

Представим, что мы дошли до этапа, что получили наконец неискаженное сообщение уровня данных. Его структура зависит от той области задач той системы, в которой реализован ваш сетевой обмен, однако в общем виде у сообщения тоже бывает быть свой заголовочек , содержащий информацию о типе сообщения. Можно различить как общую специфику сообщения, (например «Запрос Set», «Утвердительный Ответ на Set», «Отрицательный Ответ на Set», «Запрос Get», «Ответ Get», «Потоковое сообщение»), так и конкретную область применение сообщения. Попробую привести пример с потолка:
Тип запроса: Запрос Set (0x01)
Идентификатор модуля-адресата сообщения: PowerSupplyModule (0x0A)
Идентификатор группы сообщений: UPS Management (0x02)
Идентификатор типа сообщения: Reboot (0x01)
Дальше тело сообщения может содержать информацию об адресе ИБП, который Модуль управления энергообеспечением должен перезагрузить, через сколько секунд это сделать и т.п.
На это сообщение мы рассчитываем получить ответное сообщение с типом запроса «Утвердительный Ответ» и последующими 0x0A0201 в заголовке.
Конечно, такое подробное описание типа сообщения может быть избыточным когда межсетевое взаимодействие не предусматривает большого числа команд, так что формировать структуру сообщения надо исходя из требований ТЗ.
Так же будет полезно, если сообщение с «Отрицательным Ответом» будет содержать код ошибки, из-за которой не удалось ответить на команду утвердительно.

Заканчивая своё повествование, добавлю, что тема взаимодействия приложений весьма обширна и порою холиворна(что по факту означает, что в ней нет технологии «серебряной пули»), и отмечу, что те взгляды, что я излагаю, являются лишь компиляцией из опыта по работе с отечественными и зарубежными коллегами. Спасибо за внимание!

upd.
Имел удовольствие пообщаться с критиком своей статьи, и теперь прихожу к осознанию, что я осветил вопрос со своей если можно так выразиться, «байтолюбской», точки зрения. Конечно, раз идет курс на универсальность обработки хранения и передачи данных, то в таком ключе символьные протоколы (в первую очередь говорю об XML) могут дать фору любым другим решениям. Но относительно попытки повсеместного их применения позволю себе процитировать Вирта:
Инструмент должен соответствовать задаче. Если инструмент не соответствует задаче, нужно придумать новый, который бы ей соответствовал, а не пытаться приспособить уже имеющийся.