Echo (computing)
In telecommunications, echo is the local display of data, either "initially" as it is locally sourced and sent, or "finally" as a copy of it is received back from a remote destination. Local echo is where the "local" sending equipment displays the outgoing sent data. Remote echo is where the display is a return copy of data as received "remote"ly. Both are used together in a computed form of error detection to ensure that data received at the remote destination of a telecommunication are the same as data sent from the local source (a/k/a echoplex, echo  check, or loop check). When (two) modems communicate in echoplex mode the remote modem echoes whatever it receives from the local modem. Terminological confusion: echo is not duplex. A displayed 'echo' is independent of 'duplex' (or any) telecommunications transmission protocol. Probably from technical ignorance, "half-duplex" and "full-duplex" are used as slang for 'local echo' (a/k/a echo on) and 'remote echo', respectively, as typically they accompany one another. Strictly incorrect, this causes confusion (see duplex). Typically 'local echo' accompanies half-duplex transmission, which effectively doubles channel bandwidth by not repeating (echoing) data back from its destination (remote ), as is reserved-for with 'full duplex' (which has only half of the bandwidth of 'half duplex'). Half-duplex can be set to 'echo off' for no echo at all. One example of 'local echo' used together with 'remote echo' (requires full-duplex) is for error checking pairs of data characters or chunks (echoplex) ensuring their duplicity (or else its just an extraneous annoyance). Similarly, for another example, in the case of the TELNET communications protocol a local echo protocol operates on top of a full-duplex underlying protocol. The TCP connection over which the TELNET protocol is layered provides  a full-duplex connection, with no echo, across which data may be sent in either direction simultaneously. Whereas the "Network Virtual Terminal" that the TELNET protocol itself incorporates is a half-duplex device with (by default) local echo. The devices that echo locally. Terminals are one of the things that may perform echoing for a connection. Others include modems, some form of intervening communications processor, or even the host system itself. For several common computer operating systems, it is the host system itself that performs the echoing, if appropriate (which it isn't for, say, entry of a user password  when a terminal first connects and a user is prompted to log in). On OpenVMS, for example, echoing is performed as necessary by the host system. Similarly, on Unix-like systems, local echo is performed by the operating system kernel's "terminal device driver", according to the state of a device control flag, maintained in software and alterable by applications programs via an codice_1 system call. The actual terminals and modems connected to such systems should have "their" local echo facilities switched off (so that they operate in "no echo" mode), lest passwords be locally echoed at password prompts, and  all other input appear echoed twice. This is as true for terminal emulator programs, such as C-Kermit, running on a computer as it is for real terminals. Controlling local echo. Terminal emulators. Most terminal emulator programs have the ability to perform echo locally (which sometimes they misname "half-duplex"): Modems. The Hayes commands that control local echo (in command mode) are for off and for on. For local echo (in data mode), the commands are and respectively. Note the reversal of the suffixed digits. Unlike the "" commands, the "" commands are not part of the EIA/TIA-602 standard. Host systems . Some host systems perform local echo themselves, in their device drivers and so forth.