Связь между уровнями стека протоколов сети Интернет и адресацией Типы адресов Отношения уровней стека протоколов Интернет и адресов Физический адрес • Физический адрес (Media Access Control — MACадрес) используется для установления соединения в локальной сети (подсети). Этот адрес совпадает с номером сетевого адаптера (сетевой карты) компьютера и жестко устанавливается заводом-изготовителем из пула (диапазона) отведенных ему адресов. Записывается в виде шестнадцатеричных чисел, разделенных двоеточием, например, 08:00:06:3F:D4:E1, где первые три значения определяют фирмупроизводителя ( 00:10:5a:xx:xx:xx – 3Com, 00:03:ba:xx:xx:xx – Sun, 00:01:e3:xx:xx:xx – Siemens), а последующие – порядковый номер узла. • Компьютер может иметь несколько сетевых карт и, соответственно, несколько МАС-адресов. При замене аппаратуры изменяется и MAC-адрес, поэтому их использование в качестве сетевых адресов неудобно. Физические адреса: • индивидуальные (один единственный получатель) • групповые (группа получателей) • широковещательные (для получения всеми системами в сети). Некоторые сети поддерживают все три типа адресов. Например, Локальная сеть Ethernet поддерживает однонаправленные физические адреса (6 байт), адреса групповой рассылки и широковещательные адреса. Некоторые сети не поддерживают групповую рассылку или широковещательно передают физические адреса. Если кадр нужно передать группе получателей или системе для всей системы, адрес групповой рассылки или широковещательный адрес должен моделироваться, используя однонаправленные адреса. Это означает, что множество пакетов рассылаются, используя однонаправленные адреса. • Узел с физическим адресом 20 передает кадр узлу с физическим адресом 90. Эти два узла соединены линией связи. На канальном уровне этот кадр в заголовке содержит физические адреса (линии связи). Они — единственно необходимые адреса. Остальная часть заголовка включает в себя другую информацию, необходимую на этом уровне. Конечная информация обычно содержит дополнительные биты, необходимые для обнаружения ошибок. Интернет-адрес • Адреса Интернета необходимы для универсальных служб связи, которые не зависят от основных физических сетей. Физические адреса не адекватны в межсетевой среде, где различные сети могут иметь различные форматы адреса. Необходима универсальная система адресации, в которой каждый хост может быть идентифицирован уникально, независимо от основной физической сети. • Для этой цели применяются IP-адреса. Интернет(IP)адрес в настоящее время состоит из 32 бит. Он может уникально определить хост, подключенный к сети Интернет. Никакие два хоста на сети Интернет не могут иметь один и тот же самый IP-адрес • Данные передаются от узла с сетевым адресом A и физическим адресом 20, расположенного в одной локальной сети (LAN), к узлу с сетевым адресом P и физическим адресом 95, расположенному в другой локальной сети (LAN). Поскольку эти два устройства находятся на различных сетях, мы не можем использовать только адреса связи: адреса связи имеют локальное применение. Поэтому нужны универсальные адреса, которые могут пройти через границы LAN. Сетевые (логические) адреса гарантируют такое прохождение. Пакет на сетевом уровне содержит логические адреса, которые остаются теми же самыми от первоначального источника до конечного пункта назначения (на рис. – это адрес P соответственно). Они не будут изменяться, когда мы переходим от сети к сети. Однако физические адреса будут изменяться при передвижении пакета от одной сети к другой. Блок R – это маршрутизатор • Адрес IP и физический адрес необходимы для порции данных, перемещающихся от источника до хоста пункта назначения. Однако прибытие в хост пункта назначения — не конечная цель обмена сообщениями данных в Интернете. Система, которая передает только данные от одного компьютера до другого, не может считаться законченной. Сегодня компьютеры — устройства, которые могут выполнить множество процессов в одно и то же время. Конечная цель сети Интернет — коммутация процесса, работающего с другим процессом. Например, компьютер A общается с компьютером C, используя TELNET. В то же самое время компьютер A общается с компьютером с использованием протокола передачи файлов FTP. Для этих процессов, возникающих одновременно, нам надо иметь метод, позволяющий маркировать различные процессы. • Другими словами, процессы нуждаются в адресах. В архитектуре TCP/IP метка, назначаемая процессу, названа адресом порта. Адрес порта в TCP/IP — 16 битов длиной Данные, прибывающие от верхних уровней, имеют адреса порта j и k ( j — адрес процесса передачи, k — адрес процесса приема). В примере предполагается, что размер данных является большим, чем может обработать сетевой уровень, данные разбиты на два пакета, каждый пакет сохраняет адреса сервисной точки ( j и k ). Затем, на сетевом уровне, сетевые адреса (A и P) добавляются к каждому пакету. Пакеты могут перемещаться различными путями и достигнуть пункта назначения либо в том же порядке, либо в другом. Эти два пакета доставляются транспортному уровню пункта назначения, который отвечает за удаление заголовка сетевого уровня и объединение двух частей данных для доставки к верхним уровням. Символьные (доменные) адреса • Символьные (доменные) адреса предназначены для людей. Для работы в больших сетях символьные адреса имеют сложную иерархическую структуру, содержащую имя пользователя, имя подсети (поддомена), символьное имя страны или организации (домена). Например, адрес [email protected] обозначает, что адресат (Иван Сидоров) находится в подсети sk сети sut в России ru (впрочем, возможно и не в России), а адрес www.protocols.com – адрес домена коммерческой организации (как правило коммерческой). • За раздачей имен отвечает DNS сервер Промышленные сети Интерфейсы RS-485, RS-422 и RS-232 Основными его достоинствами являются: • двусторонний обмен данными всего по одной витой паре проводов; • работа с несколькими трансиверами, подключенными к одной и той же линии, т. е. возможность организации сети; • большая длина линии связи; • достаточно высокая скорость передачи. Электрические и временные характеристики интерфейса RS-485 • • • • • До 32 приёмопередатчиков в одном сегменте сети. Максимальная длина одного сегмента сети: 1200 метров. Только один передатчик активный. Максимальное количество узлов в сети — 256 с учётом магистральных усилителей. Характеристика скорость обмена/длина линии связи: – 62,5 кбит/с 1200 м (одна витая пара), – 375 кбит/с 500 м (одна витая пара), – 500 кбит/с, – 1000 кбит/с, – 2400 кбит/с 100 м (две витых пары), – 10000 кбит/с 10 м. Сетевые протоколы, использующие RS-485 • LanDrive • ProfiBus DP • ModBus • DMX512 • HDLC Промышленные сети, построенные на основе RS-485 • LanDrive • ProfiBus DP • ModBus Принципы построения • RS-485 - полудуплексный интерфейс. Прием и передача идут по одной паре проводов с разделением по времени. • В основе построения интерфейса RS-485 лежит дифференциальный способ передачи сигнала, когда напряжение, соответствующее уровню логической единицы или нуля, отсчитывается не от "земли", а измеряется как разность потенциалов между двумя передающими линиями: Data+ и Data-. При этом напряжение каждой линии относительно "земли" может быть произвольным, но не должно выходить за диапазон -7...+12 В. • Приемники сигнала воспринимают только разность между напряжениями на линии Data+ и Data-. При разности напряжений более 200 мВ, до +12 В считается, что на линии установлено значение логической единицы, при напряжении менее -200 мВ, до -7 В - логического нуля. • Напряжение на выходе передатчика должно быть не менее 1,5. Максимальная длина линии связи (1200 м) при низких скоростях передачи (менее 100 кбит/с). Благодаря симметрии линий относительно "земли" в них наводятся помехи, близкие по форме и величине. В приемнике с дифференциальным входом сигнал выделяется путем вычитания напряжений на линиях, поэтому после вычитания напряжение помехи оказывается равным нулю. В реальных условиях, когда существует небольшая асимметрия линий и нагрузок, помеха подавляется не полностью, но ослабляется существенно. • Для минимизации чувствительности линии передачи к электромагнитной наводке используется витая пара проводов. Токи, наводимые в соседних витках вследствие явления электромагнитной индукции, по "правилу буравчика" оказываются направленными навстречу друг-другу и взаимно компенсируются. Степень компенсации определяется качеством изготовления кабеля и количеством витков на единицу длины. • D (driver) - передатчик; R (receiver) - приемник; DI (driver input) - цифровой вход передатчика; RO (receiver output) - цифровой выход приемника; DE (driver enable) - разрешение работы передатчика; RE (receiver enable) - разрешение работы приемника; A - прямой дифференциальный вход/выход; B - инверсный дифференциальный вход/выход; Цифровой выход приемника (RO) подключается к порту приемника RX. Цифровой вход передатчика (DI) к порту передатчика TX. Поскольку на дифференциальной стороне приемник и передатчик соединены, то во время приема нужно отключать передатчик, а во время передачи - приемник. Для этого служат управляющие входы - разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне "0" - работа на прием, при "1" - на передачу. Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) переводит их в цифровой сигнал на выходе RO. Когда UAB > +200 мВ - приемник определяет "1", когда UAB < -200 мВ - приемник определяет "0". Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал. • При больших расстояниях между устройствами, связанными по витой паре и высоких скоростях передачи начинают проявляться так называемые эффекты длинных линий. Электрический сигнал имеет также свойство отражаться от открытых концов линии передачи и ее ответвлений. Грубая аналогия - желоб, наполненный водой. Волна, созданная в одном конце, идет по желобу и, отразившись от стенки в конце, идет обратно, отражается опять и так далее, пока не затухнет. Для коротких линий и малых скоростей передачи этот процесс происходит так быстро, что остается незамеченным. Однако, время реакции приемников - десятки/сотни нс. В таком масштабе времени несколько десятков метров электрический сигнал проходит отнюдь не мгновенно. И если расстояние достаточно большое, фронт сигнала, отразившийся в конце линии и вернувшийся обратно, может исказить текущий или следующий сигнал. У любой линии связи есть такой параметр, как волновое сопротивление Zв. Оно зависит от характеристик используемого кабеля, но не от длины. Для обычно применяемых в линиях связи витых пар Zв=120 Ом. Оказывается, что если на удаленном конце линии, между проводниками витой пары включить резистор с номиналом равным волновому сопротивлению линии, то электромагнитная волна дошедшая до "тупика" поглощается на таком резисторе. Отсюда его названия - согласующий резистор или "терминатор". Если |Uab| меньше порогового (около 0), то на выходе приемника RO могут быть произвольные логические уровни из-за несинфазной помехи. Такое может случиться либо при отсоединении приемника от линии, либо при отсутствии в линии активных передатчиков, когда никто не задает уровень. Чтобы в этих ситуациях избежать выдачи ошибочных сигналов на приемник UART, необходимо на входах A-B гарантировать разность потенциалов Uab > +200мВ. Это смещение при отсутствии входных сигналов обеспечивает на выходе приемника логическую "1", поддерживая, таким образом, уровень стопового бита. Добиться этого просто - прямой вход (А) следует подтянуть к питанию, а инверсный (B) - к "земле". • Rвх - входное сопротивление приемника (обычно 12 кОм); Rc - согласующие резисторы (120 Ом); Rзс - резисторы защитного смещения. • Величины сопротивлений для резисторов защитного смещения (Rзс) нетрудно рассчитать по делителю. Необходимо обеспечить Uab > 200мВ. Напряжение питания - 5В. Сопротивление среднего плеча - 120Ом//120Ом//12КОм на каждый приемник - примерно 57 Ом (для 10 приемников). Таким образом, выходит примерно по 650 Ом на каждый из двух Rзс. Для смещения с запасом - сопротивление Rзс должно быть меньше 650 Ом. Традиционно ставят 560 Ом. • В расчете номинала Rзс учитывается нагрузка. Если на линии висит много приемников, то номинал Rзс дожен быть меньше. В длинных линиях передачи необходимо так же учитывать сопротивление витой пары, которое может "съедать" часть смещающей разности потенциалов для удаленных от места подтяжки устройств. Для длинной линии лучше ставить два комплекта подтягивающих резисторов в оба удаленных конца рядом с терминаторами Четырехпроводной интерфейс Соединение трех устройств с интерфейсом RS485 по двухпроводной схеме Соединение трех устройств с интерфейсом RS-485 по четырехпроводной схеме • Интерфейс RS-485 имеет две версии: двухпроводную и четырехпроводную. Двухпроводная используется для полудуплексной передачи, когда информация может передаваться в обоих направлениях, но в разное время. Для полнодуплексной (дуплексной) передачи используют четыре линии связи: по двум информация передается в одном направлении, по двум другим - в обратном. • Недостатком четырехпроводной схемы является необходимость жесткого указания ведущего и ведомых устройств на стадии проектирования системы, в то время как в двухпроводной схеме любое устройство может быть как в роли ведущего, так и ведомого. • Достоинством четырехпроводной схемы является возможность одновременной передачи и приема данных, что бывает необходимо при реализации некоторых сложных протоколов обмена. Топология сети на основе интерфейса RS-485 • Топология сетей на основе интерфейса RS-485 определяется необходимостью устранения отражений в линии передачи. Поскольку отражения происходят от любой неоднородности, в том числе ответвлений от линии, то единственно правильной топологией сети будет такая, которая выглядит как единая линия без отводов, к которой не более чем в 32 точках подключены устройства с интерфейсом RS-485. • Любые варианты, в которых линия имеет длинные отводы или соединение нескольких кабелей в одной точке приводят к отражениям и снижению качества передачи. • Правильная (а) и неправильная (б) топология сети на основе интерфейса RS-485. Квадратиками обозначены устройства с интерфейсом RS485 а б Искажения 30 м от передатчика 15 м от от передатчика • Ответвление 3 м. • Если существует необходимость разветвления линии, то это можно сделать с помощью повторителей интерфейса или концентратора (хаба), Повторители позволяют разделить линию на сегменты, в каждом из которых выполняются условия согласования с помощью двух терминальных резисторов и не возникают эффекты, связанные с отражениями от концов линии, а длина отвода от линии до повторителя всегда может быть сделана достаточно малой Интерфейс RS-232 Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) — ООД (Оконечное Оборудование Данных), второе — DCE (Data Communications Equipment) — ОПД (Оборудование Передачи Данных). Длина провода не более 15 м. Распайка RS-232 В приведенной ниже таблице показано назначение контактов 9-контактного соединителя DB9. Таблица показывает распайку вилки оборудования обработки данных (DTE), например, компьютера. Розетка устройства передачи данных (DCE) распаяна так, что два разъема стыкуются напрямую Контакт 1 2 3 4 5 6 7 8 9 < < > > < > < < Направление передачи и название сигнала Carrier Detect (CD) Наличие несущей частоты Received Data (RD) Принимаемые данные Transmitted Data (TD) Передаваемые данные Data Terminal Ready (DTR) Готовность ООД Signal Ground Общий Data Set Ready (DSR) Готовность ОПД Request To Send (RTS) Запрос на передачу Clear To Send (CTS) Готов передавать Ring Indicator (RI) Наличие сигнала вызова Для передачи данных предназначены цепи RD и TD. Остальные цепи предназначены для индикации состояния устройств (DTR, DSR), управления передачей (RTS, CTS) и индикации состояния линии (CD, RI). При подключениях используется ограниченный набор цепей • Для соединения строго соответствующих стандарту устройств DTE и DCE нужен кабель "контакт в контакт". • Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода "перекрещиваются" в соответствии с назначением сигналов. На практике перед распайкой кабеля всегда следует разобраться с документацией на оба соединяемых устройства. • Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground. Вот, например, схема кабеля для соединения компьютера и контроллера ВАРИКОНТ Уровни сигналов • Все сигналы в интерфейсе потенциальные, с номинальными уровнями +12В и -12В относительно общего провода (Signal Ground). Логической единице соответствует уровень -12В, логическому нулю соответствует +12В. Передача данных • RS-232 называют последовательным интерфейсом, поскольку поток данных передается по одному проводу бит за битом. В отсутствие передачи данных линия находится в состоянии логической единицы (-12В). • Скорость передачи данных обычно выбирают из ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200 бит в секунду. В основном используется асинхронный режим работы, при котором данные передаются фреймами. Каждый фрейм состоит из стартового бита, битов данных, бита контроля четности, стопового бита. Биты байта данных передаются начиная с младшего бита. • Для правильной стыковки приемопередатчики на обоих устройствах должны быть запрограммированы одинаковым образом, т.е. должны совпадать скорость, количество битов данных (7 или 8), тип контроля по четности длина стопового бита (1, 1.5 или 2). • При точных расчётах времени на передачу массива байтов наряду с битами данных следует учитывать все служебные биты. • 8 битов данных, контроль по нечетности (parity odd), 1 стоповый бит. • Стартовый бит всегда идет уровнем логического нуля, стоповый — единицей. Состояние бита паритета определяется настройкой передатчика. Бит дополняет число единичных битов данных до нечетности (parity odd), четности (parity even), может не использоваться (parity none), быть всегда единицей (mark) или нулем (space). Profibus • Слово PROFIBUS получено из сокращений PROcess FIeld BUS, что приблизительно переводится как "промышленная шина для технологических процессов". Стандарт Profibus был первоначально принят в Германии в 1987 году, затем, в 1996 году, он стал международным (EN 50170 и EN 50254). • Слово PROFIBUS получено из сокращений PROcess FIeld BUS, что приблизительно переводится как "промышленная шина для технологических процессов". Стандарт Profibus был первоначально принят в Германии в 1987 году, затем, в 1996 году, он стал международным (EN 50170 и EN 50254). Profibus в соответствии с моделью OSI № Название уровня Profibus DP 7 Прикладной 6 5 4 3 Представления Сеансовый Транспортный Сетевой Канальный (передачи данных) 2 1 Физический Нет Profibus FMS Fieldbus Message Specification (FMS) Profibus PA Нет Нет FDL FDL IEC 1158-2 RS-485, оптоволоконный интерфейс RS-485, оптоволоконный интерфейс Интерфейс IEC 1158-2 • Profibus DP (Profibus for Decentralized Peripherals - "Profibus для децентрализованной периферии") использует уровни 1 и 2 модели OSI, а также пользовательский интерфейс, который в модель OSI не входит. Непосредственный доступ из пользовательского приложения к канальному уровню осуществляется с помощью DDLM (Direct Data Link Mapper "прямой преобразователь для канального уровня"). Пользовательский интерфейс обеспечивает функции, необходимые для связи с устройствами ввода-вывода и контроллерами. Profibus DP в отличие от FMS и PA построен таким образом, чтобы обеспечить наиболее быстрый обмен данными с устройствами, подключенными к сети. • Profibus FMS (Profibus с FMS протоколом) использует уровень 7 модели OSI и применяется для обмена данными с контроллерами и компьютерами на регистровом уровне. Profibus FMS предоставляет большую гибкость при передаче больших объемов данных, но проигрывает протоколу DP в популярности вследствие своей сложности. • Profibus FMS и DP используют один и тот же физический уровень, основанный на интерфейсе RS-485 и могут работать в общей сети. • Profibus PA (Profibus for Process Automation - "для автоматизации технологических процессов") использует физический уровень на основе стандарта IEC 1158-2, который обеспечивает питание сетевых устройств через шину и не совместим с RS-485. Особенностью Profibus PA является возможность работы во взрывоопасной зоне. • Profibus является многомастерной сетью (с несколькими ведущими устройствами). В качестве ведомых устройств выступают обычно устройства ввода-вывода, клапаны, измерительные преобразователи. Они не могут самостоятельно получить доступ к шине и только отвечают на запросы ведущего устройства. • На физическом уровне Profibus DP и FMS используют стандарт RS-485 при скорости передачи до 12 Мбит/с и с размерами сегментов сети до 32 устройств. Количество устройств можно увеличить с помощью повторителей интерфейса. • Канальный уровень модели OSI в Profibus называется FDL- уровнем (Fieldbus Data Link "промышленный канал связи"). • Объект MAC (Medium Access Control - "управление доступом к каналу") на канальном уровне определяет процедуру передачи данных устройствами, включая управление правами на передачу данных через сеть. • Протокол канального уровня обеспечивает выполнение следующих важных требований: - в процессе коммуникации между ведущими устройствами необходимо обеспечить выполнение каждым из них своей задачи в течение заранее определенного интервала времени; - взаимодействие ведущих устройств (контроллеров) с ведомыми должно происходить максимально быстро. • В сети Profibus для доступа ведущих устройств к сети используется метод передачи маркера. В этом методе сеть имеет логическую топологию кольца (т. е. кольца на уровне адресов устройств) и каждое ведущее устройство получает доступ к сети только при получении маркера. • Маркер выполняет роль арбитра, который предоставляет устройству право доступа. По истечении определенного времени это устройство должно передать маркер следующему ведущему устройству, которое получает доступ также на время, пока маркер находится у него. • Таким образом, каждому ведущему устройству выделяется точно заданный интервал времени. Этот интервал может быть установлен при конфигурировании системы. • Каждому мастеру в сети назначаются свои ведомые устройства • В методе "ведущий/ведомый" процедуру коммуникации с ведомыми устройствами выполняет мастер, который обладает маркером. • На время обладания маркером мастер становится ведущим также по отношению к другим мастерам, т.е. может выполнять с ними коммуникацию типа "мастер-мастер". • Profibus имеет также широковещательный режим работы, когда ведущее устройство посылает сообщение "всем", не ожидая уведомления о получении, и многоабонентский режим, когда ведущее устройство посылает одно и то же сообщение сразу нескольким участникам сети. • В задачи объекта MAC активного устройства (получившего маркер) входит обнаружение наличия или отсутствия маркера сразу после начала работы сети, передача маркера следующему устройству в порядке возрастания адресов, удаление адресов вышедших из строя или выключенных устройств и добавление новых, восстановление потерянного маркера, устранение дубликатов маркеров, устранение дублирования сетевых адресов и обеспечение заданного периода обращения маркера по сети. • Profibus использует два типа сервисов для передачи сообщений: SRD (Send and Receive Data with acknowledge - "отправка и прием данных с уведомлением") и SND (Send Data with No acknowledge - "отправка данных без уведомления"). • Сервис SRD позволяет отправить и получить данные в одном цикле обмена. Этот способ обмена наиболее распространен в Profibus и очень удобен при работе с устройствами ввода-вывода, поскольку в одном цикле можно и отправить, и получить данные. • Сервис SND используется, когда надо отправить данные одновременно группе ведомых устройств (многоабонентский режим) или всем ведомым устройствам (широковещательный режим). При этом ведомые устройства не отправляют свои уведомления мастеру. • Сообщение в Profibus называется телеграммой. • Телеграмма может содержать до 256 байт, из них 244 байта данных, плюс 11 служебных байт (заголовок телеграммы). • Все телеграммы имеют заголовки одинаковой длины, за исключением телеграммы с названием Data_Exchange • 11 байт служебной информации делают Profibus очень неэффективным при передаче коротких сообщений. Однако при больших объемах данных такой формат телеграммы достаточно эффективен. • • • • • • • • • • • SD - стартовый разделитель. Используется для указания начала телеграммы и ее формата. Имеется четыре типа разделителей для телеграмм запроса и ответа и один тип для короткого уведомления. Короткое уведомление имеет поле SD, но не в начале телеграммы; LE - длина передаваемых данных (DA+SA+FC+DSAP+SSAP+DU); LEr - повторение поля LE с целью его резервирования; DA - адрес устройства-получателя телеграммы; SA - адрес отправителя; FC - код типа телеграммы (запрос, уведомление, ответ, диагностические данные, тип устройства - мастер или ведомый, приоритет, уведомление); DSAP - устройство-получатель использует это поле чтобы определить, какой тип сервиса нужно выполнить; SSAP - COM порт отправителя; DU - данные длиной от 1 до 244 байт; FCS - контрольная сумма телеграммы (сумма значений полей DA+SA+ FC+DU, по модулю 255); ED - признак конца.