Полный дуплекс. Коммутаторы LAN

30.07.2019 Приложения

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

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

Симплексная связь

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

При симплексной передаче данных один узел связи имеет передатчик, а другой (другие) приёмник.


Полудуплексная связь

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

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

— Белка, Белка! Я Мадагаскар! Приём!

— Мадагаскар, я Белка. Приём!

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

Дуплексная связь

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

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

В предыдущей статье, я коротко упомянул о том, какие .

Сейчас мы ознакомимся с согласованием параметров между устройствами, а так же скорости и режима работы (full- duplex или half-duplex ).

По умолчанию, каждый порт Cisco настроен таким образом, что устройство само определяет какие настройки на этом порту использовать, какую скорость выбрать, какой режим передачи данных. Такая технология называется Auto-negotiation (Автоопределение). Так же эти параметры можно задать «вручную», на каждом порту устройства.

Cisco определяют автоматически скорость между сетевыми устройствами (например между портом коммутатора и сетевой картой компьютера), используя некоторые методы. Cisco коммутаторы используют для определния скорости Fast Link Pulse (FLP) , это некоторый электрический импульс, по которому устройства могут понять на каких оптимальных скоростях может установиться соединение между данными сетевыми устройствами.

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

Если на коммутаторе и на сетевом устройстве компьютера (для примера), установлены вручную скорости и они не совпадают, то соединение не будет установлено.

Примерно так же проходит и определение режима работы соединения: half-duplex или full-duplex .

Если оба устройства работают в режиме автоопределения, и устройства могут работать в duplex режиме, то этот режим и установится.

Если на устройствах автоопределение выключено, то режим будет присвоен по некоторым правилам «по умолчанию». Для 10 и 100 мегабитных интерфейсов установится режим half-duplex, для 1000 мегабитных установится Full-Duplex.

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

Ethernet устройства могут работать в режиме Full-Duplex (FDX ), только тогда, когда нет коллизий в передающей среде.

Современные технологии говорят что коллизии не происходят. Коллизии происходят только там где есть разделяемая среда передача данных, например при топологии шина, или при использовании такого устройства как hub (хотя сейчас увидеть такого «динозавтра» достаточно сложно 🙂).

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

Алгоритм, по борьбе с коллизиями называется CSMA/CD (Carrier Sense Multiple Access Collision Detection ), что означает множественный доступ с контроллем несущей и обнаружением коллизий.

Что такое коллизия вобще?

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

Теперь давайте рассмотрим как это работает.

  1. Устройство, которое желает отправить сначала слушает, свободна ли линия связи.
  2. Когда линия связи не занята, это устройство начинает отправлять фреймы в Ethernet.
  3. Устройство «слышит», что коллизия не происходит, значит все хорошо.
  4. Если все же коллизия произошла (а как же первый шаг? где устройство убеждалось, что линия не занята? Дело в том, что другое устройство могло тоже прослушивать линию, и эти два устройства отправили фреймы практически в одно и тоже время, поэтому и произошла коллизия). Теперь, когда отправляемые устройства «поняли», что произошла коллизия, они отправляют так называемый jam signal, который «говорит» другим участникам сети, что сейчас передача невозможно, так как возникла коллизия и придется немного подождать.
  5. После jam сигнала, у каждого отправляюшего устройства случайным образом определяется некоторое время, которое можно назвать «время простоя», когда устройство не может посылать никакие данные в сети.
  6. После истечения этого таймера, алгоритм переходит к 1 шагу.

Ответ:

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

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

    В симплексе достаточно просто реализуется один из основных режимов радиообмена в сетях ПМР - групповой вызов и различные его вариации. В современных дуплексных сетях возможна организация так называемой конференц-связи, однако для оперативной связи она малопригодна, так как включение режима требует определенного времени.

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

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

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

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

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

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

Обратная связь

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

Рисунок 2

В моей реализации преобразователи RS-.5 не имеют собственного источника питания трансмиттера. Дело в том, что кабель типа витая пара всегда имеет как минимум 2 пары проводов. Поэтому, я задействовал еще одну пару проводов для передачи напряжения питания всех трансмиттеров в линии/сети. Это позволяет избавиться от dc/dc конвертеров (вещь довольно не дешевая). Все приемопередающие части преобразователей можно питать от одного источника питания. Если сеть большая ИП может быть и больше чем один естественно.
На картинке нарисована коробочка с двумя портами и надписью RS-.5 Switch - на самом деле возможность коммутировать данные в сети асинхронной передачи данных определяется используемым протоколом. На практике я такого не встречал ни в одном протоколе, но реализовать нетрудно.

После проработки основных принципов была разработана принципиальная схема UART to RS.5 трансмиттера (Рисунок 3).

Рисунок 3

Хотя там разрабатывать нечего. Оптроны выбрал самые дешевые из не самых медленных - H11L1. Заявленная скорость до 1Мб. На скорости 115200 работает хорошо. Хотя есть неприятный момент: один оптрон работал вплоть до скорости 921 600 бит в секунду, тогда как другой спотыкался уже на 230 400 бит в секунду. При осциллографической диагностике оказалось что все оптроны H11L1 перетягивают задний фронт. В общем это не проблема, можно оптроны подобрать по вкусу.
Так все выглядит в железе (конечно же это тестовые железки):

Рисунок 4

Рисунок 5

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

Дуплексный режим - наиболее универсальный и производительный способ ра­боты канала. Самым простым вариантом организации дуплексного режима явля­ется использование двух независимых линий связи (двух пар проводников или двух оптических волокон) в кабеле, каждая из которых работает в симплексном режиме, то есть передает данные в одном направлении. Именно такая идея ле­жит в основе реализации дуплексного режима работы во многих сетевых техно­логиях, например Fast Ethernet или ATM.

Иногда такое простое решение оказывается недоступным или неэффективным, например, когда прокладка второй линии связи ведет к большим затратам. Так, при обмене данными с помощью модемов через телефонную сеть у пользователя имеется только одна линия связи с телефонной станцией - двухпроводная. В та­ких случаях дуплексный режим работы организуется на основе разделения ли­нии связи на два логических канала с помощью техники FDM или TDM.

При использовании техники FDM для организации дуплексного канала диапазон частот делится на две части. Деление может быть симметричным и асимметрич­ным, в последнем случае скорости передачи информации в каждом направлении отличаются (популярный пример такого подхода - технология ADSL, исполь­зуемая для широкополосного доступа в Интернет). В случае когда техника FDM обеспечивает дуплексный режим работы, ее называют дуплексной связью с час­тотным разделением (Frequency Division Duplex, FDD).

При цифровом кодировании дуплексный режим на двухпроводной линии орга­низуется с помощью техники TDM. Часть тайм-слотов используется для переда­чи данных в одном направлении, а часть - в другом. Обычно тайм-слоты проти­воположных направлений чередуются, из-за чего такой способ иногда называют «пинг-понговой» передачей. Дуплексный режим TDM получил название дуп­лексной связи с временным разделением (Time Division Duplex, TDD).

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

Появление мощных процессоров DSP (Digital Signal Processor), которые могут выполнять сложные алгоритмы обработки сигналов в реальном времени, сдела­ло возможным еще один вариант дуплексной работы. Два передатчика работают одновременно навстречу друг другу, создавая в канале суммарный аддитивный сигнал. Так как каждый передатчик знает спектр собственного сигнала, то он вы­читает его из суммарного сигнала, получая в результате сигнал, посылаемый другим передатчиком.


Выводы

Для представления дискретной информации применяются сигналы двух типов: прямоуголь­ные импульсы и синусоидальные волны. В первом случае используют термин «кодирование», во втором - «модуляция».

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

Аналоговая информация может передаваться по линиям связи в цифровой форме. Это повы­шает качество передачи, так как при этом могут применяться эффективные методы обнаруже­ния и исправления ошибок, недоступные для систем аналоговой передачи. Для качественной передачи голоса в цифровой форме используется частота оцифровывания в 8 кГц, когда каж­дое значение амплитуды голоса представляется 8-битным числом. Это определяет скорость голосового канала в 64 Кбит/с.

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

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

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

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

Наиболее простым потенциальным кодом является код без возвращения к нулю (NRZ), однако он не является самосинхронизирующимся.

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

Коды Хэмминга и сверточные коды позволяют не только обнаруживать, но и исправлять мно­гократные ошибки. Эти коды являются наиболее часто используемыми средствами прямой коррекции ошибок (FEC).

Для повышения полезной скорости передачи данных в сетях применяется динамическая ком­прессия данных на основе различных алгоритмов. Коэффициент сжатия зависит от типа дан­ных и применяемого алгоритма и может колебаться в пределах от 1:2 до 1:8.

Для образования нескольких каналов в линии связи используются различные методы мультип­лексирования, включая частотное (FDM), временнбе (TDM) и волновое (WDM), а также мно­жественный доступ с кодовым разделением (CDMA). Техника коммутации пакетов сочетается только с методом TDM, а техника коммутации каналов позволяет использовать любой тип мультиплексирования.