Loopback (also written loop-back) is the routing of electronic signals or digital data streams back to their source without intentional processing or modification. It is primarily a means of testing the communications infrastructure.

Applications 
There are many example applications. It may be a communication channel with only one communication endpoint. Any message transmitted by such a channel is immediately and only received by that same channel.  In telecommunications, loopback devices perform transmission tests of access lines from the serving switching center, which usually does not require the assistance of personnel at the served terminal. Loop around is a method of testing between stations that are not necessarily adjacent, wherein two lines are used, with the test being done at one station and the two lines are interconnected at the distant station. A patch cable may also function as loopback, when applied manually or automatically, remotely or locally, facilitating a loop-back test.

Where a system (such as a modem) involves round-trip analog-to-digital processing, a distinction is made between analog loopback, where the analog signal is looped back directly, and digital loopback, where the signal is processed in the digital domain before being re-converted to an analog signal and returned to the source.

Telecommunications
In telecommunications, loopback, or a loop, is a hardware or software method which feeds a received signal or data back to the sender. It is used as an aid in debugging physical connection problems. As a test, many data communication devices can be configured to send specific patterns (such as all ones) on an interface and can detect the reception of this signal on the same port. This is called a loopback test and can be performed within a modem or transceiver by connecting its output to its own input. A circuit between two points in different locations may be tested by applying a test signal on the circuit in one location, and having the network device at the other location send a signal back through the circuit. If this device receives its own signal back, this proves that the circuit is functioning. 

A hardware loop is a simple device that physically connects the receiver channel to the transmitter channel. In the case of a network termination connector such as X.21, this is typically done by simply connecting the pins together in the connector. Media such as optical fiber or coaxial cable, which have separate transmit and receive connectors, can simply be looped together with a single strand of the appropriate medium. 

A modem can be configured to loop incoming signals from either the remote modem or the local terminal. This is referred to as loopback or software loop.

Serial interfaces
A serial communications transceiver can use loopback for testing its functionality. For example, a device's transmit pin connected to its receive pin will result in the device receiving exactly what it transmits. Moving this looping connection to the remote end of a cable adds the cable to this test. Moving it to the far end of a modem link extends the test further. This is a common troubleshooting technique and is often combined with a specialized test device that sends specific patterns and counts any errors that come back (see Bit Error Rate Test). Some devices include built-in loopback capability.

A simple serial interface loopback test, called paperclip test, is sometimes used to identify serial ports of a computer and verify operation. It utilizes a terminal emulator application to send characters, with flow control set to off, to the serial port and receive the same back. For this purpose, a paperclip is used to short pin 2 to pin 3 (the receive and transmit pins) on a standard RS-232 interface using D-subminiature DE-9 or DB-25 connectors.

Virtual loopback interface

Implementations of the Internet protocol suite include a virtual network interface through which network applications can communicate when executing on the same machine. It is implemented entirely within the operating system's networking software and passes no packets to any network interface controller. Any traffic that a computer program sends to a loopback IP address is simply and immediately passed back up the network software stack as if it had been received from another device. Unix-like systems usually name this loopback interface lo or lo0.

Various Internet Engineering Task Force (IETF) standards reserve the IPv4 address block , in CIDR notation and the IPv6 address  for this purpose. The most common IPv4 address used is . Commonly these loopback addresses are mapped to the hostnames localhost or loopback.

MPLS
One notable exception to the use of the  network addresses is their use in Multiprotocol Label Switching (MPLS) traceroute error detection, in which their property of not being routable provides a convenient means to avoid delivery of faulty packets to end users.

Martian packets
Any IP datagram with a source or destination address set to a loopback address must not appear outside of a computing system, or be routed by any routing device. Packets received on an interface with a loopback destination address must be dropped. Such packets are sometimes referred to as Martian packets. As with other bogus packets, they may be malicious and any problems they might cause can be avoided by applying bogon filtering.

Management interface
Some computer network equipment use the term "loopback" for a virtual interface used for management purposes.  Unlike a proper loopback interface, this type of loopback device is not used to talk with itself.

Such an interface is assigned an address that can be accessed from management equipment over a network but is not assigned to any of the physical interfaces on the device.  Such a loopback device is also used for management datagrams, such as alarms, originating from the equipment.  The property that makes this virtual interface special is that applications that use it will send or receive traffic using the address assigned to the virtual interface as opposed to the address on the physical interface through which the traffic passes.

Loopback interfaces of this sort are often used in the operation of routing protocols, because they have the useful property that, unlike real physical interfaces, they will not go down when a physical port fails.

Other applications
The audio systems Open Sound System (OSS), Advanced Linux Sound Architecture (ALSA) and PulseAudio have loopback modules for recording the audio output of applications for testing purposes. Unlike physical loopbacks, this does not involve double analog/digital conversion and no disruption is caused by hardware malfunctions.

See also
 Feedback
 Loop device
 Virtual network interface

References

External links 
 National Instruments: Serial loopback testing

Communication circuits
Internet architecture
루프백(loopback, loop-back)이란 전기신호의 라우팅, 디지털 데이터 스트림(digital data streams), 또는 품목의 흐름이 의도적인 가공이나 수정 없이 원래의 장치나 장비로 돌아가는 것을 말한다. 이것은 주로 전송이나 수송 기반 시설을 테스트하는 수단으로 사용된다.

적용 예시 

 하나의 종단점(endpoint)만 가지는 커뮤니케이션 채널. 이러한 채널에서 전송된 메시지는 어떤 것이라도 같은 채널로부터만 즉시 수신된다.
 Serving switching center로부터 온 액세스 라인의 전송 테스트 수행 시 served terminal에서 인력을 필요로 하지 않다.
 두 라인이 사용되는 스테이션(반드시 인접할 필요는 없음)의 연결 테스트. 한 스테이션에서 그리고 멀리 떨어진 스테이션에 상호 연결된 두 라인에서 이루어지는 테스트를 동반함. 일반적으로 상호연결된 회로가 다이얼링에 의해 액세스 될 때 루프 어라운드(loop around)라고 불린다.
 루프-백(loop-back) 테스트를 용이하게 하는 패치 케이블(patch cable).

가상 루프백 인터페이스 (TCP/IP)
인터넷 프로토콜 스위트(Internet Protocol Suite)의 구현은 가상 네트워크 인터페이스를 포함한다. 같은 기기에서 작동하는 네트워크 응용 프로그램 클라이언트와 서버는 이 인터페이스를 통해 통신할 수 있다. 이 인터페이스는 운영 체제의 네트워킹 소프트웨어 내에서 완전히 구현되며 네트워크 인터페이스 컨트롤러에 패킷을 보내지 않는다. 컴퓨터 프로그램이 루프백 IP 주소로 보낼 수 있는 어떠한 트래픽도 다른 장치로부터 수신한 것처럼 간단하고 빠르게 네트워크 소프트웨어 스택으로 다시 보내진다.

유닉스 계열 시스템에서는 보통 이것을 루프백 인터페이스 lo 또는 lo0라고 명명한다.

다양한 IETF 기준은 IPv4 주소 블록 127/8 (127.0.0.1가 가장 일반적으로 사용됨), the IPv6 주소 ::1, 그리고 이 목적을 위한 localhost 이름을 보유한다..

네트워크 장비
일부 네트워크 장비들은 관리 목적으로 사용되는 가상 인터페이스에 대해 루프백이라는 용어를 사용한다. 정상적인 의미의 루프백 인터페이스와 달리, 이 루프백 장치는 장치 스스로의 전송 및 수신을 하기 위해 사용되지는 않는다.

그러한 인터페이스는 네트워크 상의 관리 장비로부터 액세스 될 수 있는 주소에 할당되지만, 장치의 실제 인터페이스에는 할당되지 않는다. 이 루프백 주소는 알람과 같이 장비에서 유래한 관리 데이터그램에도 사용된다. 이 가상 인터페이스의 특별한 점은 이 인터페이스를 이용하는 응용 프로그램들이 트래픽이 통과하는 물리적 인터페이스 주소가 아닌 가상 인터페이스에 할당된 주소를 이용해서 트래픽을 전송하거나 수신한다는 것이다.

시리얼 인터페이스
시리얼 커뮤니케이션 송수신기(transceiver)는 기능을 테스트하기 위해 루프백을 이용할 수 있다. 예를 들어 장치의 수신 핀(receive pin)으로 연결되는 전송 핀(transmit pin)은 핀이 전송하는 것을 장치가 정확히 수신하도록 할 것이다. 이 루프 연결을 케이블의 remote end로 이동시킨 후 해당 케이블을 이 테스트에 추가한다. 그 연결을 모뎀 링크의 더 먼 지점으로 옮기면 테스트의 범위가 더욱 확장된다. 이것은 흔히 사용되는 문제 해결 기술이며, 특정한 패턴을 전송하고 반송되는 에러를 감지하는 특정 테스트 기기와 결합 되기도 한다 (비트 오류율 테스트-Bit Error Rate Test- 참조). 몇몇 기기들은 루프백이 가능한 장치를 내장하고 있다.

페이퍼클립 테스트(paperclip test)라고 불리는 간단한 시리얼 인터페이스 루프백 테스트는 때로 컴퓨터의 시리얼 포트를 알아내고 실행을 검증하기 위해 사용된다. 이 테스트는 터미널 에뮬레이터(terminal emulator) 응용 프로그램을 활용하여, 문자를 플로우 컨트롤 세트(flow control set)와 함께 시리얼 포트에 전송하고 같은 내용을 다시 수신한다. 이러한 목적을 위해 페이퍼클립은 D-서브 미니어처 DE-9 또는 DB-25 커넥터를 사용하는 표준 RS-232 인터페이스에서 핀 3(수신 핀과 전송 핀)에 대한 짧은 핀 2(short pin 2)로 사용된다.

통신
통신에서 루프백(짧게 루프라고 씀)이란 수신된 신호나 데이터를 전송자에게 피드(feed)하는 하드웨어나 소프트웨어 방법이다. 루프백은 물리적 연결 문제의 디버깅을 돕기 위해서 사용된다. 테스트로서 많은 데이터 커뮤니케이션 장치들이 인터페이스에서 특정 패턴(all ones와 같은)을 전송하기 위해 설정 될 수 있으며 같은 포트에서 이 신호들의 수신을 감지할 수 있다. 이것은 루프백 테스트라고 불리며 모뎀이나 송수신기내에서 아웃풋을 인풋과 연결시킴으로써 수행될 수 있다. 테스트 신호를 한 장소의 회로에 적용하고 다른 장소에 있는 네트워크 장치가 회로를 통해 신호를 되보내게 하여, 서로 다른 두 지점 사이의 회로를 테스트 할 수 있다. 만약 이 장치가 신호를 그대로 되돌려 받는다면 그 회로가 잘 작동하고 있다는 뜻이 된다.

하드웨어 루프는 수신 채널을 전송 채널에 물리적으로 연결하는 간단한 장치이다. X.21과 같은 네트워크 터미네이션 커넥터(network termination connector)의 경우, 간단히 커넥터의 핀들을 연결하는 것이 전형적이다. 분리된 전송과 수신 커넥터를 가지는 광섬유나 동축 케이블(coaxial cable) 같은 매개체들은 적절한 매개체들의 단선(single strand)으로 간단하게 루프될 수 있다.

모뎀은 원격 모뎀이나 로컬 터미널(local terminal)로부터 들어오는 신호를 루프하도록 설정될 수 있다. 이것은 루프백 또는 소프트웨어 루프라고 일컬어진다.

다른 응용 프로그램
명명된 파이프(named pipe) 또한 파일 시스템 단계에서 루프백으로 간주할 수 있다. 유닉스 도메인 소켓(Unix domain socket)과 네트워크 소켓이 프로세스간 커뮤니케이션을 위해 두 연결된 파일을 사용하는 동안, 명명된 파이프는 오로지 하나의 파일로 구성된다.

오디오 시스템인 OSS, ALSA, 그리고 PulseAudio 또한 응용 프로그램과 테스팅 목적의 음성 아웃풋을 녹음하기 위한 루프백 모듈을 가지고 있다. 물리적 루프백과 달리 이중 아날로그/디지털 변환이나 하드웨어 오작동으로 인한 중단이 없다.

같이 보기 
 Loop around

외부 링크 
  National Instruments: Serial loopback testing

인터넷 구조
통신 회로