В телекоммуникациях, echo - это локальное отображение данных, либо изначально, поскольку они локально получены и отправлены, либо, наконец, когда их копия получена обратно от удаленного пункта назначения. Локальное эхо - это место, где локальное передающее оборудование отображает исходящие отправленные данные. Удаленное эхо - это то место, где на дисплее отображается обратная копия данных, полученных удаленно. Оба используются вместе в вычисляемой форме обнаружение ошибок, чтобы гарантировать, что данные, полученные в удаленном пункте назначения электросвязи, совпадают с данными, отправленными из локального источника (a / k / a echoplex, проверка эха или проверка петли ). Когда (два) модема обмениваются данными в эхоплексном режиме, удаленный модем отражает все, что он получает от локального модема.
Отображаемое «эхо» не зависит от «дуплексного» (или любого) протокола передачи телекоммуникаций. Вероятно, из-за технического незнания термины «полудуплекс» и «полный дуплекс» используются как сленг для «локального эхо» (a / k / a echo on) и «удаленного эха» соответственно, поскольку обычно они сопровождают друг друга. Строго неправильно, это вызывает путаницу (см. дуплекс ). Обычно `` локальное эхо '' сопровождает полудуплексную передачу, которая эффективно удваивает полосу пропускания канала, не повторяя (эхо) данные обратно из пункта назначения (удаленного), как это зарезервировано для `` полнодуплексного '' (который имеет только половину полосы пропускания 'полудуплекс'). Для полудуплексного режима можно установить значение «выключить эхо», чтобы эхо вообще не было.
Один из примеров использования «локального эха» вместе с «удаленным эхо» (требуется полнодуплексный режим) - для проверки пар данных на ошибки символы или фрагменты (эхоплекс), обеспечивающие их дублирование (или это просто постороннее раздражение).
Аналогично, для другого примера, в случае протокола связи TELNET работает локальный протокол эхо поверх полнодуплексного базового протокола. Соединение TCP, по которому используется протокол TELNET, обеспечивает полнодуплексное соединение без эха, по которому данные могут отправляться в любом направлении одновременно. Принимая во внимание, что сетевой виртуальный терминал, который включает сам протокол TELNET, является полудуплексным устройством с (по умолчанию) локальным эхом.
Терминалы, являются одним из элементов, которые могут выполнить эхо для соединения. К другим относятся модемы, какой-то промежуточный коммуникационный процессор или даже сама хост-система. Для некоторых распространенных компьютерных операционных систем именно хост-система выполняет эхо, если это необходимо (что не для, скажем, ввода пароля пользователя, когда терминал впервые подключается и пользователь предложили авторизоваться). В OpenVMS, например, хост-система по мере необходимости выполняет эхо. Точно так же в Unix-подобных системах локальное эхо выполняется драйвером терминального устройства ядра операционной системы в соответствии с состоянием флага управления устройством, поддерживаемым в программном обеспечении и изменяемым прикладными программами через ioctl()
системный вызов. Фактические терминалы и модемы, подключенные к таким системам, должны иметь отключенные локальные средства эха (чтобы они работали в режиме без эха), чтобы пароли не отображались локально при запросе пароля, а все остальные входные данные отображались дважды. Это справедливо как для программ эмулятора терминала, таких как C-Kermit, работающих на компьютере, так и для реальных терминалов.
Большинство программ-эмуляторов терминала имеют возможность выполнять эхо локально (что иногда ошибочно называют "полудуплексным"):
SET TERMINAL ECHO
, которая может быть либо SET TERMINAL ECHO LOCAL
(которая включает локальное эхо в самой программе эмулятора терминала), либо SET TERMINAL ECHO REMOTE
(где отключает локальное эхо, оставляя это на усмотрение другого устройства в канале связи - будь то модем или удаленная хост-система - для выполнения соответствующих действий).Hayes AT-команды, управляющие локальным эхом (в команде режим): E0 для выключения и E1 для включения. Для локального эха (в режиме данных) используются команды F1 и F0 соответственно. Обратите внимание на перестановку цифр в суффиксе. В отличие от команд «E», команды «F» не являются частью стандарта EIA / TIA-602.
Некоторые хост-системы выполняют локальное эхо сами, в их драйверах устройств и так далее.
tcsetattr()
. Эхо выполняется оконечным устройством операционной системы (каким-то образом, который не определен стандартом POSIX). Стандартная служебная программа, которая изменяет этот флаг программно, - это команда stty
, с помощью которой можно изменить флаг из сценариев оболочки или интерактивной оболочки. Команда для включения локального эха (хост-системой) - stty echo
, а команда для его выключения - stty -echo
.ECHO
, которую можно установить с помощью команды DCL SET TERMINAL / ECHO
и отключить с помощью SET TERMINAL / NOECHO
.ioctl()
stty -echo
.LOCAL_ECHO
., устанавливается с помощью команды DCL SET TERMINAL / LOCAL_ECHO
и отключается с помощью SET TERMINAL / NOLOCAL_ECHO
. Эта характеристика определяет, выполняет ли сам терминал локальное эхо.