Echo (przetwarzanie)

W telekomunikacji echo to lokalne wyświetlanie danych, albo początkowo , gdy są one lokalnie pozyskiwane i wysyłane, albo ostatecznie , gdy ich kopia jest odbierana z powrotem z odległego miejsca docelowego. Echo lokalne to miejsce, w którym lokalny sprzęt wysyłający wyświetla wysyłane dane. Zdalne echo to sytuacja, w której wyświetlacz jest kopią zwrotną danych otrzymanych zdalnie . Oba są używane razem w komputerowej formie wykrywania błędów , aby zapewnić, że dane odebrane w odległym miejscu docelowym telekomunikacji są takie same, jak dane wysłane z lokalnego źródła (a/k/a echoplex , kontrola echa lub kontrola pętli ). Kiedy (dwa) modemy komunikują się w trybie echoplex, zdalny modem wysyła echo wszystkiego, co otrzymuje z modemu lokalnego.

Zamieszanie terminologiczne: echo nie jest dupleksem

Wyświetlane „echo” jest niezależne od „dupleksowego” (lub dowolnego) protokołu transmisji telekomunikacyjnej. Prawdopodobnie z powodu ignorancji technicznej „półdupleks” i „pełny dupleks” są używane jako slang odpowiednio dla „lokalnego echa” (a/k/a echo on) i „zdalnego echa”, ponieważ zazwyczaj towarzyszą sobie nawzajem. Ściśle niepoprawne, powoduje to zamieszanie (patrz dupleks ). Zwykle „lokalne echo” towarzyszy transmisji półdupleksowej, która skutecznie podwaja przepustowość kanału, nie powtarzając (echo) danych z powrotem z miejsca docelowego (zdalnego), jak jest zarezerwowane dla „pełnego dupleksu” (który ma tylko połowę przepustowości „półdupleks”). Półdupleks można ustawić na „wyłączenie echa”, aby w ogóle nie było echa.

Jeden przykład „lokalnego echa” używanego razem z „zdalnym echem” (wymaga pełnego dupleksu) służy do sprawdzania błędów par znaków lub fragmentów danych (echoplex), zapewniając ich dwulicowość (lub jest to po prostu dodatkowa irytacja).

Podobnie, w innym przykładzie, w przypadku protokołu komunikacyjnego TELNET , lokalny protokół echa działa na szczycie bazowego protokołu pełnego dupleksu. Połączenie TCP , na którym działa protokół TELNET, zapewnia połączenie w trybie pełnego dupleksu, bez echa, przez które dane mogą być przesyłane jednocześnie w dowolnym kierunku. Podczas gdy wirtualny terminal sieciowy , który zawiera sam protokół TELNET, jest urządzeniem półdupleksowym z (domyślnie) lokalnym echem.

Urządzenia emitujące echo lokalnie

Terminale to jedna z rzeczy, które mogą wykonywać echo dla połączenia. Inne obejmują modemy, jakąś formę pośredniczącego procesora komunikacyjnego, a nawet sam system hosta. W przypadku kilku popularnych komputerowych systemów operacyjnych to sam system hosta wykonuje echo, jeśli jest to konieczne (co nie dotyczy, powiedzmy, wprowadzania hasła użytkownika, gdy terminal łączy się po raz pierwszy i użytkownik jest proszony o zalogowanie). Na przykład w OpenVMS echo jest wykonywane w razie potrzeby przez system hosta. Podobnie w typu Unix lokalne echo jest wykonywane przez sterownik urządzenia końcowego jądra systemu operacyjnego , zgodnie ze stanem flagi kontroli urządzenia, utrzymywanej w oprogramowaniu i modyfikowanej przez aplikacje za pośrednictwem wywołania systemowego ioctl() . Rzeczywiste terminale i modemy podłączone do takich systemów powinny mieć wyłączone lokalne funkcje echa (tak, aby działały w trybie bez echa ), aby hasła nie były lokalnie powtarzane w monitach o podanie hasła, a wszystkie inne dane wejściowe pojawiały się dwukrotnie. Dotyczy to zarówno emulujących terminal , takich jak C-Kermit , działających na komputerze, jak i prawdziwych terminali.

Kontrolowanie lokalnego echa

Emulatory terminali

Większość programów emulujących terminale ma możliwość lokalnego wykonywania echa (które czasami błędnie nazywają „półdupleksem”):

  • W programie emulatora terminala C-Kermit lokalne echo jest kontrolowane przez polecenie SET TERMINAL ECHO , którym może być SET TERMINAL ECHO LOCAL (które umożliwia lokalne echo w samym programie emulatora terminala) lub SET TERMINAL ECHO REMOTE (gdzie wyłącza lokalne echo , pozostawiając to innemu urządzeniu w kanale komunikacyjnym — czy to modemowi, czy zdalnemu systemowi hosta — do wykonania zgodnie z potrzebami).
  • W ProComm jest to kombinacja Alt + E , która jest skrótem klawiszowym, którego można użyć w dowolnym momencie do włączania i wyłączania lokalnego echa.
  • W programie Terminal dostarczonym z systemem Microsoft Windows 3.1 echo lokalne jest kontrolowane przez pole wyboru w oknie dialogowym „Preferencje terminala”, do którego można uzyskać dostęp z menu okna programu terminala.

Modemy

Komendy Hayes AT dla sterujące lokalnym echem (w trybie komend) to E0 wyłączenia i E1 dla włączenia. W przypadku echa lokalnego (w trybie danych) poleceniami są odpowiednio F1 i F0 . Zwróć uwagę na odwrócenie cyfr z sufiksem. W przeciwieństwie do poleceń „ E ”, polecenia „ F ” nie są częścią standardu EIA/TIA-602.

Systemy hosta

Niektóre systemy hostów same wykonują lokalne echo w swoich sterownikach urządzeń i tak dalej.

  • W systemach zgodnych z Unix i POSIX echo lokalne jest flagą w interfejsie terminala POSIX , którą można ustawić programowo za pomocą funkcji tcsetattr () . Echo jest wykonywane przez urządzenie końcowe systemu operacyjnego (w sposób, który nie jest określony przez standard POSIX). Standardowym programem narzędziowym, który programowo zmienia tę flagę, jest stty , za pomocą którego można zmienić flagę ze skryptów powłoki lub powłoki interaktywnej. Polecenie włączenia lokalnego echa (przez system hosta) to stty echo , a polecenie jego wyłączenia to stty -echo .
  • W systemach OpenVMS sterownik terminala systemu operacyjnego zwykle wykonuje echo. Cechą terminala , która kontroluje, czy to robi, jest charakterystyka ECHO , którą można ustawić za pomocą polecenia DCL SET TERMINAL /ECHO i której nie można ustawić za pomocą SET TERMINAL /NOECHO .

przypisy

  1. ^ W starszym i zastąpionym interfejsie terminala Unix z siódmej edycji , interfejsie terminala BSD w wersji 4 i interfejsie terminala System III/System V można go było ustawić za pomocą wywołania systemowego ioctl () .
  2. ^ To może nie działać, jeśli jest używane interaktywnie. To działa. Jest po prostu natychmiast zastępowany. Niektóre powłoki, takie jak tcsh , resetują tryby terminala, w tym wyłączają lokalne echo, gdy mają poprosić o wprowadzenie danych. W rzeczywistości umieszczają terminal w trybie niekanonicznym z wyłączonym echem lokalnym i same obsługują echo, przywracając poprzednie atrybuty terminala po odczytaniu linii wejściowej. Każda powłoka lub inny program korzystający z GNU readline również wykazuje tę interakcję z stty -echo .
  3. ^ Należy zauważyć, że nie jest to to samo, co charakterystyka terminala LOCAL_ECHO , ustawiana za pomocą polecenia DCL SET TERMINAL /LOCAL_ECHO i nieustawiana za pomocą SET TERMINAL /NOLOCAL_ECHO . Ta cecha kontroluje, czy sam terminal wykonuje echo lokalne.

Co wspiera co

Wykorzystane źródła