*** Welcome to piglix ***

Echo (computing)


In computer telecommunications, echo is the display or return of sent data at or to the sending end of a transmission. Echo can be either local echo, where the sending device itself displays the sent data, or remote echo, where the receiving device returns the sent data that it receives to the sender (which is of course simply no local echo from the point of view of the sending device itself). That latter, when used as a form of error detection to determine that data received at the remote end of a communications line are the same as data sent, is also known as echoplex, echo check, or loop check. When two modems are communicating in echoplex mode, for example, the remote modem echoes whatever it receives from the local modem.

Whilst local echo and remote echo are sometimes referred to as "half-duplex" and "full-duplex", those latter appellations are strictly incorrect, and are misleading (see duplex for their correct meanings). Whilst local echo is often used with half-duplex transmission, so that bandwidth is not wasted upon remotely echoing data from the remote end of the communications channel, it is not the same as half-duplex transmission. A full-duplex communications channel can still employ local echo, and a half-duplex channel can still (albeit wastefully) employ remote echo, or no echo at all.

Indeed, for example, that is the case for echoplex error checking, which requires full-duplex communication, so that received data can be echoed back as they are being received.

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 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.

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 ioctl() 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.


...
Wikipedia

...