устройства как принимающие так и передающие данные
Передача данных и виды связи
Передача данных играет очень большую роль в электронике.
В прошлых статьях по цифровой электронике я рассказывал о цифровых сигналах. Чем же так хороши эти цифровые сигналы? Как это бы странно не звучало, но цифровые сигналы по своей природе являются аналоговыми, так как передаются путем изменения значения напряжения или тока, но передают сигналы с ранее оговоренными уровнями. По своей сути, они являются дискретными сигналами. А что означает слово «дискретный»? Дискретный — это значит состоящий из отдельных частей, раздельный, прерывистый. Цифровые сигналы относятся как раз к дискретным сигналам, так как имеют только ДВА СОСТОЯНИЯ: «активно» и «не активно» — «есть напряжение/ток» и «нет напряжения/тока».
Главный плюс цифровых сигналов в том, что их проще передавать и обрабатывать. Для передачи чаще всего используют напряжение. Поэтому, принято два состояния: напряжение близко к нулю (менее 10% от значения напряжения) и напряжение близко к напряжению питания (более 65% от значения). Например, при напряжении питания схемы 5 Вольт мы получаем сигнал с напряжением 0,5 Вольт — «ноль», если же 4,1 Вольта — «единица».
Последовательный метод передачи информации
Есть просто два провода, источник электрического сигнала и приемник электрического сигнала, которые цепляются к этим проводам.
Это ФИЗИЧЕСКИЙ УРОВЕНЬ.
Как мы уже сказали, по этим двум проводам мы можем передавать только два сигнала: «есть напряжение/ток» и «нет напряжения/тока». Какие способы передачи информации мы можем реализовать?
Самый простой способ — сигнал есть (лампочка горит) — это ЕДИНИЧКА, сигнала нет (лампочка не горит) — это НОЛЬ
Если пораскинуть мозгами, можно придумать еще несколько различных комбинаций. Например, широкий импульс принять за единичку, а узкий — за ноль:
Или даже вообще взять за единичку и ноль фронт и срез импульса. Внизу рисунок, если подзабыли, что такое фронт и срез импульса.
А вот и практическая реализация:
Да можно хоть сколько придумать различных комбинаций, если «получатель» и «отправитель» согласуют прием и передачу. Здесь я привел просто самые популярные способы передачи цифрового сигнала. То есть все эти способы и есть ПРОТОКОЛЫ. И их, как я уже сказал, можно напридумывать очень много.
Скорость обмена данными
Представьте себе картину… Студенты, идет лекция… Преподаватель диктует лекцию, а студенты ее записывают
Но если преподаватель очень быстро диктует лекцию и в придачу эта лекция по физике или матанализу, то в результате получаем:
Почему же так произошло?
С точки зрения цифровой передачи данных, можно сказать, что скорость обмена данными между «Отправителем» и «Получателем» разная. Поэтому, может быть реальна ситуация, когда «Получатель» (студент) не в состоянии принять данные от «Отправителя» (преподавателя) из-за несоответствия скорости передачи данных: скорость передачи может быть выше или ниже той, на которую настроен приемник (студент).
Данная проблема в разных стандартах последовательной передачи данных решается по-разному:
Чаще всего, используется первый способ: в устройствах связи заранее устанавливается необходимая скорость обмена данными. Для этого используется тактовый генератор, который вырабатывает импульсы для синхронизации всех узлов устройства, а также для синхронизации процесса связи между устройствами.
Управление потоком
Также возможна ситуация, когда «Получатель»(студент) не готов принимать передаваемые «Отправителем»(преподавателем) данные по какой-либо причине: занятость, неисправность и др.
Решается эта проблема различными методами:
1) На уровне протоколов. Например, в протоколе обмена оговорено: после передачи «Отправителем» служебного сигнала «начало передачи данных» в течение определенного времени «Получатель» обязан подтвердить принятие этого сигнала путем передачи специального служебного сигнала «готовность к приему».
Данный способ называют «программным управлением потоком» — «Soft»
2) На физическом уровне — используются дополнительные каналы связи, по которым «Отправитель» ДО передачи информации запрашивает у «Получателя» о его готовности к приему). Такой способ называют «аппаратным управлением потоком» — «Hard»;
Оба метода очень распространены. Иногда они используются одновременно: и на физическом уровне, и на уровне протокола обмена.
При передаче информации важно засинхронизировать работу передатчика и приемника. Способ установки режима связи между устройствами называют «синхронизацией». Только в этом случае «Получатель» может правильно (достоверно) принять переданное «Отправителем» сообщение.
Режимы связи
Симплексная связь
В этом случае Получатель может только принимать сигналы от отправителя и никак не может на него повлиять. Это в основном телевидение или радио. Мы можем их только или смотреть или слушать.
Полудуплексная связь
В этом режиме и отправитель и получатель могут передавать друг другу сигналы поочередно, если канал свободен. Отличный пример полудуплексной связи — это рации. Если оба абонента будут трещать каждый в свою рацию одновременно, то никто никого не услышит.
— Первый, первый. Я второй. Как слышно?
— Слышу вас нормально, отбой!
Сигнал может посылать только отправитель, в этом случае получатель его принимает. Либо сигнал может отправлять получатель, а в этом случае отправитель его получает. То есть и отправитель и получатель имеют равные права на доступ к каналу (линии связи). Если они сразу оба будут передавать сигнал в линию, то, как я уже сказал, ничего из этого не получится.
Дуплексная связь
В этом режиме и прием и передача сигнала могут вестись сразу в двух направлениях одновременно. Яркий тому пример — разговор по мобильному или домашнему телефону, или разговор в Skype.
Шпионские устройства для контактного и бесконтактного получения информации
Делаем шпионское устройство своими руками из подручных средств
Существует множество различных способов шпионажа. Наверняка каждый из вас слышал о прослушивании с помощью лазера, либо через батареи отопления, либо при помощи микрофонов вмонтированных в стены здания. И всё это окутано каким-то мистическим смыслом, хотя на самом деле это просто и доступно для понимания и повторения каждым. А главное, все собирается из подручных средств.
Когда-то в лохматых годах, в одном популярном IT-издании писал подобную статью, но, наверное, толком не раскрыл сути, как именно это работает и как применять такие устройства. Да и будем честны, тот вариант, что я приводил в статье выглядел круто, но был не очень работоспособным.
«Шпионское» устройство того времени
В результате решил его изготовить сам и продемонстрировать, как это работает.
Важно!
Прежде чем мы пойдем дальше, надо понимать, что изготовление и использование шпионских устройств подпадает под статьи:
За себя скажу, что никоим образом не пытался ни за кем шпионить, так как считаю это, как минимум неэтичным. Игрался просто в комнате и на кухне, записывая сам себя. Не шалите, я предупредил!
Готовим железо
Устройство, которое мы будем делать, называется банально контактный микрофон. Оно никак не запрещено, инструкций по его изготовлению в интернетах море, но мало кто знает, что его можно использовать для негласного получения информации. Для его изготовления нам понадобится: пьезодинамик на голосовые частоты (любой, работающий в диапазоне между 300 и 3400 Гц), согласующий резистор, немного проводов и может быть даже паяльник, но поначалу я обходился даже без него. Все было приобретено в известном бутике для радиолюбителей.
В качестве записывающего устройства я хотел использовать мобильный телефон. Но, как оказалось, он определяет гарнитуру по сопротивлению. Этих резисторов у меня не оказалось, а второй раз ехать в модный бутик было лень. Однако же я расскажу о том, как это сделать, мало ли кто захочет мистические звуки записывать — это вполне легально. Надо собрать эквивалентную схему гарнитуры.
Электрическая схема гарнитуры телефона
Таким образом, чтобы телефон определял наш контактный микрофон, надо на место динамиков впаять резисторы 30 Ом, а на место микрофона параллельно пьезодинамику резистор 1,5 кОма. Почему так, расскажу чуть позже.
Я же для своих опытов выбрал старый кассетный магнитофон, который по воле случая откопал на антресолях. Наш контактный микрофон мы будем подключать вместо аудиоголовки одной из кассет. При всей несуразности этого решения, у него один громадный плюс: очень высокая чувствительность, ведь головка должна регистрировать еле заметные магнитные пульсации аудиокассеты. И мы получаем готовый усилитель.
Для записи аудио с большим трудом в центре Москвы удалось купить аудиокассету. Чистые кассеты стоят как чугунный мост, пришлось купить с записью.
Честно прослушал обе стороны этой кассеты, вытирая ностальгические слезы с лица и кровь с ушей. В результате сделал вывод, что будущее поколение ничего не потеряет, если я ее сотру.
Разбираю магнитофон и внутри вижу как три головки (одна для записи), приходят на материнскую плату магнитофона. Головки для воспроизведения имеют три контакта: левый, правый и землю (обычно оплетка). Левый и правый канал объединяю, а землю точно так же бросаю на оплетку. Провода обязательно следует использовать экранированные, иначе будет очень сильный гул наводок (у нас же высокочувствительный усилитель).
Разъем подключения головки
Из подручных материалов изготавливаю разъем вместо штатной головки правого кассетника, устанавливаю ее на место.
Теперь поговорим о датчике. Немного теории уровня школьной физики. Магнитная головка, как можно догадаться из ее названия — это катушка индуктивности очень малого сопротивления. Когда идет протяжка ленты, в ней наводится очень малая ЭДС и попадает на усилитель. Фактически магнитную головку можно представить как источник напряжения последовательно с сопротивлением. Пьезодинамик — это, по сути, конденсатор с очень большим омическим сопротивлением (можно считать равным бесконечности), который является источником тока и дает ток независимо от сопротивления. Кстати поэтому пьезоэлементы нашли применения в зажигалках: они дадут строго малый ток, независимо от сопротивления воздуха, тогда как напряжение может расти до огромных размеров.
Я отвлекся. Моя задача была сделать эквивалентную схему магнитной головки (читай ЭДС+сопротивление) из источника тока. Те, кто хорошо знают Теоретические Основы Электротехники, понимают о чем я. А те, кто не понял, смотрите схему ниже.
Таким образом, достаточно припаять эквивалентное сопротивление параллельно с пьезодатчиком и дело в шляпе. В моем случае это было около 50 Ом. Но буду честен, я припаял первый попавшийся резистор в доме, но он работал.
Наш готовый контактный микрофон
Все готово к злобным экспериментам!
Демонстрация работы
Лучше один раз увидеть и услышать, как это работает, чем тысячу раз прочитать. Поэтому вот видео, а далее мы разберем как же все это функционирует.
В этом видео я разобрал основные принципы шпионажа. Все они основаны на том, что тела вибрируют из-за звуковых колебаний. Конечно, вибрация происходит на частоте собственных колебаний, но если математическим фильтром или аналоговым фильтром убрать ее и нормализовать сигнал, то можно получить исходный голосовой сигнал. На этом принципе основан шпионаж с помощью коммуникаций или микрофонов, встроенных в стены, шпионаж посредством лазерного съема колебаний стекол, съема колебаний осветительных ламп и даже знаменитое шпионское устройство в посольстве США. Давайте подробнее разберем все эти методы.
Прослушивание посредством перехвата колебаний света лампы
Есть отличная статья (англ.), которая описывает принцип работы и демонстрирует видео подобного шпионажа.
Скриншот из видеодемонстрации
В своем видео я уже описывал принцип работы. Можно использовать тот же самый микрофон, только заменить пьезодатчик с резистором, на фототранзистор или фоторезистор (может понадобится дополнительное питание), либо просто солнечную батарею. Возможно, я бы повторил данный эксперимент, но отсутствует оптика. Поэтому расскажу сугубо теоретически.
Плафон любой лампы имеет частоту собственных колебаний. Когда мы говорим рядом с ним, мы возбуждаем его колебания. Визуально нам их не видно, но с улицы вполне можно зафиксировать эти колебания с помощью телескопа, освещать им любой оптический датчик и оцифровать. Можно было бы и камеру приладить, но она должна снимать не менее 22 000 кадров в секунду. Поэтому берем просто любой фотоэлемент. Потом эти данные мы оцифровываем. фильтруем, нормализуем удаляем шумы и получаем оригинал. Метод фильтрации подходит для всех остальных методов негласного получения информации. В любом случае всем рекомендую ознакомится со статьей подробнее.
Шпионаж с помощью лазера и окна
Метод легендарен и стар. Но весьма прост и доступен любому школьнику. Берем то же устройство, как в предыдущей главе. Только вместо телескопа у нас лазер.
Человек находится в помещении, разговаривает, а стекло в окне вторит его речи на частоте собственных колебаний. Облучаем стекло лазерным лучом и обратно его принимаем. Далее алгоритм вы знаете. Проблема этого метода очевидна: не всегда есть место для корректного размещения источника лазера и приемника. Поэтому он не очень активно применяется и используется только там, где позволяет местность.
Метод прослушивания через коммуникации
Вообще без всяких технических средств, приложите ухо к вашей батарее в будний день, когда орут дети у соседей, лают собаки и т.д. И окажется, что трубы, даже будучи вмурованные в стену, прекрасно передают звук.
Батарея начинает резонировать на частоте собственных колебаний, а металл прекрасно передает звуковые волны на очень дальние расстояния. Дальше нужно хорошо закрепить датчик. Кстати, мой метод крепления с помощью магнита не самый лучший. Надо, чтобы пьезодатчик имел прижим массой, так чтобы он хорошо деформировался от колебаний; и таким образом, чтобы площадь его контакта была максимальной. В моем случае он контачил небольшим участком как с лампой, так и с батареей. Думаю поэтому звук был не очень хороший.
Снятие колебаний предметов с помощью радиоволн
Может показаться, что это нечто из разряда фантастики. Но тем не менее таким образом, осуществлялся знаменитый шпионаж за посольством США, когда пионеры подарили послу герб и он его повесил в своем кабинете. А в данном гербе был жучок, который не имел никаких электронных устройств.
Знаменитый шпионский герб
На Хабре уже была статья про данный жучок, но там очень скудно рассказано о принципах его действия. Устроен он весьма просто.
По сути, мембрана улавливает звуковые колебания и меняет геометрию антенны! В доме напротив стоит передающие устройство, которое вещает на частоте 330 МГц. Просто генерирует чистый синус. Принимающая антенна, облучается этим полем, меняет свои геометрические размеры и переизлучает модулированное эхо. Все, остается только принять это. Данный принцип называется “высокочастотное навязывание”. Лучше всего принцип действия этого шпионского устройства можно посмотреть в указанном ниже видео.
Таким образом, даже вязальная спица, если она правильно закреплена и имеет определенную длину, может быть шпионским устройством. И это не ирония или попытка запугать, а суровая реальность.
Домашнее задание
Хотите почувствовать себя настоящим шпионом, не вставая с дивана? У меня есть игра для вас. Специально для вас записал речевое выступление, с закрепленным контактным датчиком на лампе.
Звуковой файл и программа для опытов
Задача разгадать что же я там говорю. Стенограмму присылать не нужно, можно просто назвать в комментариях произведение, которое я зачитываю. Сам файл тут.
Мне кажется, любой звукорежиссер сможет сделать это легко. В самом начале я специально щелкаю по лампе (на скрине перегрузки вначале) для того, чтобы вы смогли определить частоты собственных колебаний лампы, а потом выделить мой голос. Удачи!
Как жить дальше?
Если у вас нет паранойи, то это не значит, что за вами не следят!
«Родина слышит» худ. Вася Ложкин
Основы надежной передачи данных
Тем, кто стремится разобраться в сетях и протоколах, посвящается.
Протокол транспортного уровня
Обеспечивает логическое соединение между прикладными процессами, выполняющимися на разных хостах. Логическое соединение с точки зрения приложений выглядит как канал, непосредственно соединяющий процессы.
Протоколы транспортного уровня поддерживаются конечными системами, но не сетевыми маршрутизаторами (кроме — DPI). На стороне отправителя транспортный уровень преобразует данные прикладного уровня, которые получает от передающего прикладного процесса, в пакеты транспортного уровня, называемые сегментами.
Это делается разбиением (при необходимости) сообщений прикладного уровня на фрагменты и добавлением к каждому из них заголовка транспортного уровня.
Далее транспортный уровень передает сегмент сетевому уровню отправителя, где сегмент инкапсулируется в пакет сетевого уровня (дейтаграмму) и отсылается. На принимающей стороне сетевой уровень извлекает сегмент транспортного уровня из дейтаграммы и передает его вверх транспортному уровню. Далее транспортный уровень обрабатывает полученный сегмент таким образом, чтобы его данные стали доступны приложению-получателю.
Принципы надежной передачи данных
Надежная передача данных по совершенно надежному каналу
Простейший случай. Отправляющая сторона просто принимает данные от верхнего уровня, создает содержащий их пакет и отправляет его в канал.
Надежная передача данных по каналу с возможными ошибками
Следующим этап — это предположение, что все переданные пакеты получены в том порядке, в котором они были отправлены, но биты в них могут быть повреждены, в связи с тем, что канал иногда передает данные с искажениями.
В таком случае применяются механизмы:
Протоколы надежной передачи данных, обладающие подобными механизмами многократного повторения передачи, называются протоколами с автоматическим запросом повторной передачи (Automatic Repeat reQuest, ARQ).
Дополнительно, стоит предусмотреть возможность ошибок и в квитанциях, когда принимающая сторона не получит никакой информации о результатах передачи последнего пакета.
Решение этой задачи, используемое в том числе в TCP, состоит в добавлении в пакет данных нового поля, содержащего порядковый номер пакета.
Надежная передача данных по ненадежному каналу, допускающему искажение и потерю пакетов
Одновременно с искажениями, к сожалению, в сети присутствует потеря пакетов.
И для решения этой задачи требуются механизмы:
Дополнительно, кроме потери пакета, необходимо предусмотреть возможность потери квитанции или, если ничего не потеряно, ее доставки со значительной задержкой. Во всех случаях производится одно и то же: повторная передача пакета. Для контролирования времени в данном механизме используется таймер отсчета, который позволяет определить окончание интервала ожидания. Так в пакете net параметр TCPKeepAlive установлен на 15 секунд по умолчанию:
Передающей стороне необходимо запускать таймер каждый раз при передаче пакета (как при первой, так и при повторной), обрабатывать прерывания от таймера и останавливать его.
Итак, мы ознакомились с ключевыми понятиями протоколов надежной передачи данных:
Протокол надежной передачи данных с конвейеризацией
Применение конвейеризации приводит к:
Диапазон порядковых номеров и требования к размерам буферов зависят от действий, предпринимаемых протоколом в ответ на искажение, потерю и задержку пакета. В случае конвейеризации существуют два метода исправления ошибок:
Возвращение на N пакетов назад — протокол скользящего окна
Отправитель должен поддерживать три типа событий:
Выборочное повторение
Когда размер окна и произведение пропускной способности на задержку распространения велики, в конвейере может находиться большое количество пакетов. В таком случае ошибка отдельного пакета может вызвать повторную передачу большого количества пакетов, большинство из которых не требовались.
Пример
Лучшие теоритические практики собраны в практической реализации TCP. А если кто-то знает, как лучше — welcome.