EFTP는 1970년대 후반, 제록스 팔로알토 연구소(Xerox PARC)에서 개발된 PARC 유니버설 패킷(PUP) 프로토콜 스위트의 일부로 설계된 매우 간단한 파일 전송 프로토콜이다. 이후 TCP/IP 스위트의 TFTP(Trivial File Transfer Protocol)에 영감을 준 프로토콜로 알려져 있다.
기술적 특징
EFTP는 신뢰성 있는 바이트 스트림 프로토콜(Byte Stream Protocol) 위에서 동작하지 않고, 기본 인터네트워크 계층 위에서 직접 실행되었다. 초기 버전은 이더넷 패킷 위에서 직접 동작하기도 하였다. 또한 TFTP와 마찬가지로 단순한 Lock-step(잠금-단계) 방식으로, 언제나 하나의 패킷만이 전송 중인 상태로 유지되었으며, 어느 한쪽이 패킷을 수신할 때마다 전송이 종료될 때까지 하나의 응답 패킷이 반환되는 구조였다. TFTP와 달리 EFTP는 파일 이름을 전송의 일부로 포함하는 기능이 없었기 때문에, 파일 이름이 필요 없는 스풀링(spooling) 환경이나 부팅(booting) 과정처럼 다른 프로토콜과 함께 사용될 때만 활용될 수 있었다.
EFTP는 극도로 단순하여 매우 적은 메모리만으로도 구현이 가능했으며, 이는 당시 중요한 이점이었다. 제록스 알토(Xerox Alto) 컴퓨터의 이더넷 부팅과 레이저 프린터의 인쇄 스풀러로 파일을 전송하는 용도로 사용되었다.
EFTP의 여러 확장 명칭
EFTP라는 약어의 원래 의미에 대해서는 여러 확장형이 존재하며, 다음과 같은 명칭들이 사용되었다:
- Easy File Transfer Protocol
- Ether File Transfer Protocol
- Experimental File Transfer Protocol
역사적 의의
EFTP는 Noel Chiappa가 TFTP를 설계하는 데 직접적인 영감을 준 프로토콜로 기록되었다. Chiappa는 TFTP가 EFTP의 "단순한 도용(ripoff)"이었다고 밝힌 바 있다. TFTP는 UDP를 사용한 최초의 본격적인 응용 프로그램이었으며, EFTP의 중단(abort) 메시지에서 착안한 오류 처리 메커니즘을 채택하였다.
참고 자료
- Ed Taft, Spruce Protocols (Xerox PARC, Palo Alto, June 1979)
- Ed Taft, David Boggs, Alto Boot Protocol (Xerox PARC, Palo Alto, February 1979)
- John Shoch, EFTP: A PUP-based Ether File Transfer Protocol (Xerox PARC, Palo Alto, June 1976)
- Noel Chiappa, "UDP Length field", [email protected], December 2, 2020
- Karen R. Sollins, The TFTP Protocol, IETF IEN 133, January 29, 1980