루프백

루프백(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

인터넷 구조
통신 회로