맨위로가기

UUCP

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

UUCP(Unix to Unix Copy Protocol)는 1976년 벨 연구소에서 개발된 통신 프로토콜로, 유닉스 시스템 간의 파일 전송 및 원격 명령 실행을 위해 설계되었다. 초기에는 전화선을 이용한 모뎀 연결을 통해 작동했으며, 이후 인터넷 연결을 지원하도록 발전했다. UUCP는 이메일 라우팅, 특히 뱅 경로(Bang path)를 사용한 메일 전송에 널리 사용되었으며, UUCPNET이라는 비공식적인 네트워크를 형성했다. UUCP는 SLIP 및 PPP를 제공하는 인터넷 서비스 제공업체의 등장과 SMTP, NNTP와 같은 인터넷 프로토콜의 발전으로 인해 쇠퇴했지만, 특수한 상황이나 레거시 시스템에서는 여전히 사용되고 있다.

더 읽어볼만한 페이지

  • 파일 전송 프로토콜 - TFTP
    TFTP는 UDP 기반의 단순화된 파일 전송 프로토콜로, 구현이 간단하여 메모리가 제한적인 환경에서 라우터 부팅, 펌웨어 업데이트, 네트워크 부팅 등에 활용되며 보안 취약점 보완을 위한 고려 사항이 존재한다.
  • 파일 전송 프로토콜 - 제로넷
    제로넷은 중앙 서버 없이 P2P 방식으로 운영되어 검열에 저항성을 가지며 사용자가 직접 콘텐츠를 공유할 수 있는 분산 네트워크 플랫폼으로, 웹사이트 개발이 가능하고 제로넷-컨서번시 포크를 통해 기능 추가 및 새로운 P2P 네트워크로의 마이그레이션이 진행 중이다.
  • 유즈넷 - RSSSF
    RSSSF는 전 세계 축구 관련 통계 정보를 제공하는 웹사이트이자 프로젝트로, 자원봉사자들의 협력으로 광범위한 데이터를 구축하고 과거에는 '올해의 선수상'을 수여하기도 했다.
  • 유즈넷 - NNTP
    NNTP는 유즈넷 뉴스 그룹을 위한 트랜잭션 기반 프로토콜로 뉴스 서버 간에 뉴스 기사를 배포하는 데 사용되며, 초기 인터넷 커뮤니티 형성에 기여했으나 현재는 사용 빈도가 줄어들고 새로운 기술과의 융합을 모색하고 있다.
  • 네트워크 프로토콜 - 프레임 릴레이
    프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다.
  • 네트워크 프로토콜 - NMEA 0183
    NMEA 0183은 선박용 GPS, 자동식별장치(AIS) 등 항해 장비에서 데이터를 송수신하는 데 사용되는 ASCII 기반의 직렬 통신 프로토콜로, RS-422 전기 표준을 사용하며, 문장 형태의 데이터를 통해 정보를 전달하고, 물리 계층, 데이터 링크 계층, 애플리케이션 계층의 3가지 레이어로 구성되어 다양한 소프트웨어에서 지원된다.
UUCP - [IT 관련 정보]에 관한 문서
기본 정보
이름유유씨피 (UUCP)
개발자마이크 레스크
개발사AT&T 벨 연구소
출시일1979년
운영체제유닉스 및 유닉스 계열
도스
OS/2
OpenVMS
AmigaOS
클래식 맥 OS
CP/M
장르명령
웹사이트Aminet - 검색
관련 명령어
명령어`uucp`
`uux`
`uucico`
`uustat`
`uuxqt`
`uuname`
`uuencode`
`uudecode`
역사
개발1979년 AT&T 벨 연구소의 마이크 레스크가 개발
용도유닉스 시스템 간 파일을 복사하고 원격으로 명령을 실행하는 데 사용
초기 사용전화선을 통해 연결된 컴퓨터 간 통신에 사용
발전이후 다양한 네트워크 환경으로 확장
기술
통신 방식일반적으로 전화선을 통한 시리얼 통신 사용
프로토콜파일 전송 및 원격 명령 실행 프로토콜 포함
데이터 전송큐잉 방식을 사용하여 연결이 불안정한 환경에서도 데이터 전송 가능
구성 요소`uucico`: 통신을 처리하는 주요 프로그램
`uux`: 원격 시스템에서 명령을 실행하는 프로그램
`uucp`: 파일 전송 프로그램
`uustat`: 통신 상태를 확인하는 프로그램
`uuxqt`: 원격 명령 실행을 처리하는 프로그램
네트워킹USENET 뉴스 그룹에서 광범위하게 사용
영향
인터넷 초기인터넷의 초기 발전에 중요한 역할
이메일초기 이메일 시스템에 사용
UsenetUSENET 뉴스 전송에 필수적인 기술
기타
RFCRFC 976

2. 역사

UUCP는 1976년 벨 연구소의 마이크 레스크에 의해 개발되었다.[3] 초기 UUCP는 시스템 V UUCP라고 불렸으며, 이후 여러 차례 개선 및 재작성되었다.

1979년 유닉스 버전 7의 일부로 출시된 UUCP는[4] 미국에서 영국으로 최초의 이메일을 보내는 데 사용되었고, 1980년대 초 EUnet을 통해 유럽 국가 간 이메일 교환을 가능하게 했다.[5][6]

이후 벨 연구소의 피터 호니맨, 데이비드 노위츠, 브라이언 레드맨에 의해 'HDB'(HoneyDanBer) UUCP로 재작성되었고,[7] 이는 다시 BNU (Basic Network Utilities) UUCP로 발전했다. 1991년에는 이언 랜스 테일러가 GNU 일반 공중 사용 허가서에 따라 배포되는 테일러 UUCP를 개발했다.[8]

UUCP는 유닉스 뿐만 아니라 DOS 시스템에도 구현되었다. UUSLAVE/GNUUCP, UUPC/extended, FSUUCP와 같은 패키지들은 개인용 컴퓨터에 초기 인터넷 연결을 제공했다. FSUUCP는 메이저 BBS, 와일드캣! BBS와 같은 전자 게시판 시스템 패키지의 기반이 되었으며, UFGATE는 피도넷과 UUCP 프로토콜 간의 게이트웨이 역할을 했다. FSUUCP는 테일러 UUCP의 향상된 'i' 프로토콜을 구현한 유일한 구현이기도 했다.

2. 1. 초기 버전 (System V UUCP)

UUCP는 원래 벨 연구소의 마이크 레스크가 작성하였다.[3] 1978년까지 벨 시스템 내부의 82대의 유닉스 머신에서 주로 소프트웨어 배포를 위해 사용되었으며, 1979년 유닉스 버전 7의 일부로 출시되었다.[4] 이 초기 버전은 시스템 V UUCP라고 불렸다.

2. 2. HDB (HoneyDanBer) UUCP

벨 연구소의 피터 호니맨(Peter Honeyman), 데이비드 A. 노위츠(David A. Nowitz), 브라이언 E. 레드맨(Brian E. Redman)은 1983년경 UUCP를 재작성하였다.[7] 이 버전은 'HDB' 또는 'HoneyDanBer' uucp라고 불렸으며, 보안 기능이 강화되고 버그가 수정되었다.[7] 이후 'BNU UUCP' ("Basic Network Utilities")로 다시 패키징되었다.[7]

2. 3. BNU (Basic Network Utilities) UUCP

BNU (Basic Network Utilities) UUCP는 HDB UUCP의 개선판으로, 버그가 수정되고 기능이 개선되었다.[7] BNU UUCP는 HDB 또는 HoneyDanBer uucp라고 불리던 것을 더욱 보강하고 버그를 바로잡아 재포장한 것이다.[7]

2. 4. 테일러 UUCP (Taylor UUCP)

이언 랜스 테일러(Ian Lance Taylor)가 1991년에 처음부터 새로 작성한 자유 소프트웨어 버전이다.[8] GNU 일반 공중 사용 허가서에 따라 출시되었다. 테일러 UUCP는 이전 버전들의 보안 취약점을 해결하여, 원격으로 셸 명령을 실행하는 것을 막았다. 또한 이전 모든 버전의 UUCP 기능을 통합하여 다른 버전과 통신하고 유사한 설정 파일 형식을 사용할 수 있도록 했다.

3. 기술

초기 UUCP는 컴퓨터의 모뎀을 사용하여 전화선으로 다른 컴퓨터에 전화를 걸어 임시 지점 간 링크를 설정하는 방식으로 작동했다. UUCP 네트워크의 각 시스템에는 전화번호, 로그인 이름 및 암호 등이 포함된 이웃 시스템 목록이 있었다. 작업(파일 전송 또는 명령 실행 요청)이 이웃 시스템에 대기열에 추가되면 `uucico` 프로그램은 일반적으로 해당 시스템을 호출하여 작업을 처리했다.[9] 이 프로그램은 또한 정기적으로 이웃을 폴링하여 해당 측에 대기열에 있는 작업을 확인할 수 있도록 하여 전화 접속 기능이 없는 이웃도 참여할 수 있게 했다.

시간이 지남에 따라 전화 접속 링크는 인터넷 연결로 대체되었고, UUCP는 여러 가지 새로운 링크 계층 프로토콜을 추가했다. 이러한 새로운 연결은 새로운 네트워크를 활용하도록 개발된 새로운 응용 프로그램 프로토콜이 등장하면서 UUCP 자체에 대한 필요성을 줄였다. 오늘날 UUCP는 전화 접속 링크를 통해 거의 사용되지 않지만, 때때로 TCP/IP를 통해 사용되기도 한다.[9][10]

3. 1. 세션

UUCP 세션은 일반적으로 사용자가 대상 시스템에 로그인한 후 UUCP 프로그램을 실행하여 시작된다. 대부분 전송에 사용되는 알려진 사용자 계정에 로그인하여 자동화되며, 이 계정의 셸은 `uucico`로 설정되어 있다. 따라서 자동 전송을 위해 다른 기계는 호출된 기계에 모뎀 연결을 열고 알려진 계정에 로그인하기만 하면 된다.[9]

`uucico`가 실행되면 호출자 기계의 다른 UUCP 프로그램으로부터 명령을 받아 세션을 시작한다. 세션은 초기 핸드셰이크, 파일 요청, 최종 핸드셰이크의 세 단계로 이루어진다.

3. 1. 1. 초기 핸드셰이크

uucico가 실행되면 호출자 기계의 다른 UUCP 프로그램으로부터 명령을 받아 세션을 시작한다. 세션은 세 가지 단계로 이루어지는데, 그중 초기 핸드셰이크는 다음과 같다.

시작 시 uucico는 식별 문자열 `\20Shere=''호스트 이름''\0`을 보내 응답한다. 여기서 \20은 제어 문자 P이고, \0은 끝에 오는 널 문자이다. 호출자의 UUCP는 `\20S''호출자 이름'' ''옵션''\0`으로 응답한다. 여기서 ''옵션''은 하나 이상의 유닉스 스타일 옵션 스위치를 포함하는 문자열이다. 여기에는 패킷 및 창 크기, 최대 지원 파일 크기, 디버깅 옵션 등이 포함될 수 있다.

두 시스템의 설정에 따라 호출이 여기서 끝날 수 있다. 예를 들어, 호출자가 시스템 이름으로 응답할 때, 호출된 시스템은 호출자를 인식하지 못하는 경우 `RYou are unknown to me\0` 응답 문자열을 보낸 후 연결을 끊을 수 있다.

3. 1. 2. 파일 요청

두 시스템이 성공적으로 핸드셰이크를 완료하면, 호출자는 파일 요청을 보내기 시작한다. 파일 요청에는 다음과 같은 네 가지 유형이 있다.

  • '''S''': 호출자 시스템에서 호출된 시스템으로 파일을 보내는(업로드) 명령이다. 보내는 곳과 받는 곳의 이름을 지정하여 수신자 시스템에서 파일 이름을 변경할 수 있다. 호출된 시스템은 S 명령을 받으면, 성공하고 파일을 받을 준비가 되면 SY로 응답하고, 실패하면 SNx (x는 실패 이유)로 응답한다. 호출자가 SY를 받으면 초기 핸드셰이크에서 선택된 프로토콜을 사용하여 파일 업로드를 시작한다. 전송이 완료되면 호출된 시스템은 파일을 성공적으로 받았으면 CY, 실패했으면 CN5로 응답한다.
  • '''R''': 호출된 시스템이 호출자 시스템으로 파일을 보내도록(다운로드) 요청하는 명령이다. S와 유사하며, 명령이 수락되었고 데이터를 보내기 시작할 것이라는 RY, 문제가 발생했음을 나타내는 RN을 사용한다. 전송이 끝나면 호출자로부터 CY와 CN5를 받는다.
  • '''X''': 호출된 시스템에서 실행할 명령을 업로드하는 명령이다. 이 명령은 호출된 시스템이 다른 시스템을 호출하고 그 시스템에 파일을 전달하는 데 사용될 수 있다. 호출된 시스템은 성공하면 XY, 실패하면 XN으로 응답한다.
  • '''H''': 연결 종료(Hangup)를 나타내는 명령으로, 호출자가 작업을 완료했음을 알린다. 호출된 시스템은 성공하면 HY, 실패하면 HN으로 응답한다.[9][10]

3. 1. 3. 최종 핸드셰이크

H 명령을 보낸 후, 호출 시스템은 최종 패킷(제어-P, 0이 여섯 개, 널 종료자)을 보내고, 피호출 시스템은 (제어-P, 0이 일곱 개, 널 종료자)로 응답한다.[9] 일부 시스템은 H 명령을 성공적으로 수신하면 단순히 연결을 끊고 최종 핸드셰이크를 수행하지 않는다.

3. 2. g-프로토콜

g-프로토콜은 UUCP 프로토콜 모음에서 오류 없이 정보를 전송하는 핵심적인 역할을 한다. 이 프로토콜은 원래 패킷 전달을 위한 범용 시스템으로 설계되었기 때문에, UUCP 패키지 전체에서 사용되지 않는 여러 기능들을 제공한다. 예를 들어, 파일 전송과 함께 명령 데이터를 보낼 수 있는 보조 채널, 전송 중 패킷 및 창 크기를 재협상하는 기능 등이 있다. 하지만 이러한 추가 기능들은 일부 UUCP 스택 구현에서는 지원되지 않을 수 있다.[11]

패킷 형식은 6바이트 헤더와 0~4096바이트의 페이로드로 구성된다. 패킷은 단일 \020 (제어-P)로 시작하며, 그 뒤에 "K"라는 단일 바이트가 온다. K는 1~8의 값을 통해 32~4096바이트의 패킷 크기를 나타내거나, 9의 값을 통해 제어 패킷임을 나타낸다. 많은 시스템은 K=2 (64바이트)만 지원한다. 다음 두 바이트는 헤더를 제외한 페이로드의 16비트 체크섬이다. 그 다음 바이트는 데이터 유형이고, 마지막 바이트는 헤더의 XOR이며, 페이로드와 별도로 확인할 수 있다.[11]

제어 바이트는 TTXXXYYY 형식의 세 개의 비트 필드로 구성된다. 각 필드의 의미는 다음과 같다.

  • TT: 패킷 유형 (0: 제어 패킷, 1: 대체 데이터, 2: 데이터, 3: 짧은 패킷)
  • XXX: 데이터 패킷의 경우 패킷 번호 (0~7), 제어 패킷의 경우 명령어
  • YYY: 올바르게 수신된 마지막 패킷 번호 (데이터 패킷), 다양한 매개변수 (제어 패킷)


이를 통해 최대 8개의 패킷을 창에 포함할 수 있다. 예를 들어, 전송은 TT=0 (제어), XXX=7, YYY는 창의 패킷 수를 가진 짧은 제어 패킷을 보내는 것으로 시작된다.[11]

g-프로토콜은 슬라이딩 윈도우 방식을 사용하여 긴 지연 시간을 처리한다. 패킷 크기는 64~4096바이트, 창 크기는 1~7개 패킷을 허용한다. 이론적으로는 4k 패킷과 7개 패킷 창 (4096x7)을 사용하면 ZMODEM과 같은 고성능 파일 전송 프로토콜과 동등하거나 그 이상의 성능을 낼 수 있다. 그러나 많은 구현에서 64x3 설정만 지원하여 성능이 저하되는 경우가 많았다. 이러한 혼란 때문에 항상 4096x3을 사용하는 G-프로토콜이 등장하기도 했다. Taylor UUCP는 G를 지원하지 않았지만, 유효한 요청된 창이나 패킷 크기를 모두 지원했기 때문에 G를 시작하는 원격 시스템은 Taylor의 g와 잘 작동했고, 두 개의 Taylor 시스템은 더 빠른 연결을 협상할 수 있었다.[11]

텔레비트(Telebit) 모뎀은 프로토콜 스푸핑을 사용하여 g-프로토콜 전송 성능을 향상시켰다. 이 방법은 원격 시스템으로 전송되는 패킷 끝 표시기를 감지하고 로컬 호스트로 ACK를 즉시 보내, 원격 시스템이 이미 패킷을 수신하고 올바르게 디코딩했다고 가정하는 방식이다. 이를 통해 전송이 거의 연속적으로 이루어지도록 했다. 두 모뎀 간의 데이터는 MNP를 기반으로 하는 독점 프로토콜을 사용하여 오류 수정되었는데, 이는 텔레비트의 반이중 연결에서 g-프로토콜보다 훨씬 더 잘 작동했다.[11] 일반적인 64x3 설정에서 원격 시스템은 저속의 반환 채널을 넘치게 하는 ACK의 일정한 스트림을 보낸다. 모뎀의 고유한 높은 데이터 속도와 결합하여 전반적인 처리량이 크게 향상되었고, 일반적으로 2400비트/초 모뎀 속도의 약 7배의 성능을 발휘했다.[12]

3. 3. 기타 프로토콜

f-프로토콜은 7비트 오류 정정 링크에서 실행되도록 설계되었다. 이것은 원래 1980년대에 널리 사용되었던 X.25 링크에서 사용하기 위한 것이었다. 이 프로토콜은 데이터를 패킷화하지 않고 전체 파일을 긴 문자열 하나로 보낸 다음 전체 파일 체크섬을 보낸다. 유사한 x-프로토콜은 거의 또는 전혀 사용되지 않은 것으로 보인다. d-프로토콜은 x와 유사하지만 벨 연구소의 많은 사무실을 연결하는 데이터킷 네트워크에서 사용하기 위해 설계되었다.[11]

t-프로토콜은 BSD 버전의 UUCP에서 유래했으며, 다른 유사한 프로토콜과 마찬가지로 8비트 오류 없는 TCP/IP 링크에서 실행되도록 설계되었다. 이 프로토콜에는 오류 수정 기능이 전혀 없으며, 명령과 파일 데이터를 512바이트 또는 1024바이트 패킷으로 나누어 일반적인 TCP 프레임에 쉽게 맞도록 구성된다.

e-프로토콜("e"는 이더넷을 의미)은 MASSCOMP의 Clem Cole이 개발했으며, Brian Redman이 후기 HoneyDanBer 버전에서 널리 배포했다. 이 프로토콜은 t-프로토콜보다 먼저 개발 및 배포되었지만, BSD 버전의 UUCP가 주요 구현이었기 때문에 t-프로토콜이 더 일반적으로 사용되었다. e-프로토콜은 t-프로토콜과 명령어가 패킷화되지 않고 일반 문자열로 전송되며 파일은 가장 가까운 20바이트까지 패딩된다는 점에서만 다르다.[11][13]

4. 메일 라우팅

UUCP 이메일 주소가 적힌 명함


UUCP영어는 이메일 전송을 위한 초기 라우팅 시스템을 제공했다. `uucp` 및 `uuxqt` 기능을 사용하여 시스템 간에 이메일을 보낼 수 있었으며, 간단한 UUCP 메일 주소는 인접 시스템 이름, 느낌표(종종 "뱅"이라고 발음됨), 그리고 인접 시스템의 사용자 이름으로 구성되었다. 예를 들어, "barbox!user" 주소는 인접 시스템 "barbox"의 사용자 "user"를 나타낸다.[14]

메일은 네트워크를 통해 라우팅될 수 있었으며, 목적지에 도착하기 전에 여러 개의 중간 노드를 통과할 수 있었다. 초기에는 뱅으로 구분된 중간 호스트 이름 목록과 함께 전체 경로를 지정해야 했다. 예를 들어, "barbox" 시스템이 로컬 시스템에 연결되어 있지 않지만, "barbox"가 로컬 시스템과 통신하는 "foovax" 시스템에 연결되어 있다면, 메일을 보낼 적절한 주소는 "foovax!barbox!user"이다.

"barbox!user" 사용자는 자신의 UUCP 이메일 주소를 "…!bigsite!foovax!barbox!user"와 같은 형식으로 공개했다. 이것은 메일을 "bigsite" 시스템(잘 알려지고 잘 연결된 시스템)으로 라우팅한 다음, "foovax" 시스템을 통해 "barbox" 시스템의 "user" 사용자 계정으로 전달하도록 안내하는 것이다. 그러나 전체 경로는 발신자의 위치에 따라 다르기 때문에, 발신자에 따라 다른 경로를 사용해야 했다. 예를 들어, 한 사이트의 Ann은 "gway!tcol!canty!uoh!bigsite!foovax!barbox!user" 경로를, 다른 곳의 Bill은 "pdp10!router22!bigsite!foovax!barbox!user" 경로를 사용해야 할 수 있었다. 따라서 많은 사용자는 다양한 대규모의 잘 알려진 사이트에서 여러 경로를 제안하여 메일 발신자에게 더 빠르고 안정적인 연결 서비스를 제공했다.

4. 1. 뱅 경로 (Bang path)

`uucp` 및 `uuxqt` 기능을 사용하여 시스템 간에 이메일을 보낼 수 있었다. 간단한 UUCP 메일 주소는 인접 시스템 이름, 느낌표(종종 "뱅"이라고 발음됨), 인접 시스템의 사용자 이름으로 구성되었다. 예를 들어, "barbox!user" 주소는 인접 시스템 "barbox"의 사용자 "user"를 나타낸다.[14]

메일은 네트워크를 통해 라우팅될 수 있으며, 목적지에 도착하기 전에 여러 개의 중간 노드를 통과할 수 있었다. 처음에는 뱅으로 구분된 중간 호스트 이름 목록과 함께 전체 경로를 지정해야 했다. 예를 들어, "barbox" 시스템이 로컬 시스템에 연결되어 있지 않지만, "barbox"가 로컬 시스템과 통신하는 "foovax" 시스템에 연결되어 있다면, 메일을 보낼 적절한 주소는 "foovax!barbox!user"이다.

"barbox!user" 사용자는 자신의 UUCP 이메일 주소를 "…!bigsite!foovax!barbox!user"와 같은 형식으로 공개했다. 이는 메일을 "bigsite" 시스템(잘 알려지고 잘 연결된 시스템)으로 라우팅한 다음, "foovax" 시스템을 통해 "barbox" 시스템의 "user" 사용자 계정으로 전달하도록 안내하는 것이다.

이러한 형식의 이메일 주소를 '''뱅 경로(bang path)'''라고 불렀다.

1981년 당시에는 8~10대의 컴퓨터(또는 ''홉'')를 거치는 뱅 경로가 드물지 않았으며, 심야 UUCP 전화 접속 링크는 1주일이나 걸리는 전송 시간을 초래하기도 했다. 메시지가 자주 손실되기 때문에 뱅 경로는 전송 시간과 안정성을 모두 고려하여 선택되었다.

5. UUCPNET 및 매핑

UUCPNET은 UUCP를 통해 연결된 컴퓨터 네트워크 전체를 가리키는 비공식적인 이름이었다. 이 네트워크는 수천 개의 민간 기업, 대학교 등이 소유한 시스템 간의 상호 협력 정신으로 유지되었으며, 특히 민간 부문에서는 회사 상층부의 공식 승인 없이 UUCP 링크가 설정되는 경우가 많았다. UUCP 네트워크는 새로운 시스템과 전화 접속 링크가 추가되고 다른 시스템이 제거되는 등 끊임없이 변화했다.

5. 1. UUCP 매핑 프로젝트

UUCP 매핑 프로젝트는 개방형 메일 릴레이였던 시스템 간의 연결 지도를 구축하고 관리되는 네임스페이스를 구축하려는 자원봉사자들의 노력이었으며, 상당히 성공적이었다. 각 시스템 관리자는 이메일을 통해 자신의 시스템이 연결되는 시스템 목록과 각 연결에 대한 순위를 제출했다. 이렇게 제출된 지도 항목은 자동 프로그램에 의해 처리되어 네트워크의 모든 연결을 설명하는 단일 파일 집합으로 결합되었다. 그런 다음 이 파일들은 이 목적을 위해 만들어진 뉴스그룹에 매달 게시되었다. 그러면 UUCP 지도 파일을 "pathalias"와 같은 소프트웨어에서 메일을 위한 한 시스템에서 다른 시스템으로의 최적 경로를 계산하고 이 경로를 자동으로 제공하는 데 사용할 수 있었다. UUCP 지도에는 사이트의 연락처 정보도 나열되어 있어 UUCPNET에 참여하려는 사이트가 잠재적인 이웃을 쉽게 찾을 수 있도록 했다.

6. 인터넷과의 연결

초기 인터넷 시절, 특히 대학에 있는 많은 UUCP 호스트들은 인터넷에도 연결되어 있었으며, 인터넷 SMTP 기반 메일과 UUCP 메일 간의 이메일 게이트웨이가 개발되었다.[1] UUCP 연결이 있는 시스템의 사용자는 인터넷 사용자와 메일을 교환할 수 있었고, 인터넷 링크를 사용하여 느린 UUCP 네트워크의 많은 부분을 우회할 수 있었다.[1] 이러한 인터페이스를 용이하게 하기 위해 인터넷 도메인 네임스페이스 내에 "UUCP 존"이 정의되었다.[1]

이러한 인프라 구축으로, UUCP는 다른 협력 컴퓨터에 대한 전화 접속 모뎀 링크만으로 사이트가 인터넷 이메일과 유즈넷 연결을 얻을 수 있다는 장점이 있었다.[2] 이는 진정한 인터넷 접속에 인터넷 접속 지점에 대한 전용 데이터 선이 필요했던 시기로, 둘 다 비용이 많이 들고 준비하기 어려웠다.[2] 반면, UUCP 네트워크 연결은 예상되는 이웃 시스템 관리자에게 몇 번의 전화만으로 일반적으로 설정할 수 있었다.[2] 이웃 시스템은 종종 매우 기본적인 전화 요금을 제외하고는 모두 피할 수 있을 만큼 가까이 있었다.[2]

7. 원격 명령 실행

`uux`는 UUCP를 통한 원격 명령어 실행이다. `uux` 명령어는 원격 시스템에서 명령어를 실행하거나, 원격 시스템의 파일을 사용하여 로컬 시스템에서 명령어를 실행하는 데 사용된다.[1] 이 명령어는 `uucico` 데몬에 의해 실행되는데, 이 데몬은 원격 실행 요청을 다음 홉 노드가 사용 가능할 때 원격 시스템으로 일괄 전송할 또 다른 종류의 파일로 간단히 처리한다.[1] 그러면 원격 시스템은 요청된 명령어를 실행하고, 원래 시스템을 사용할 수 있을 때 결과를 반환한다.[1] 이러한 두 전송 모두 다중 홉 경로를 통해 간접적으로 이루어질 수 있으며, 사용 가능 시간대가 임의로 정해진다.[1] 항상 사용 가능한 이웃 시스템에서 명령어를 실행하는 경우에도 `uux`는 즉시 실행되지 않는다.[1]

8. 쇠퇴

저렴한 SLIP 및 PPP 서비스를 제공하는 인터넷 서비스 제공업체의 등장과 함께 UUCP 사용은 감소하기 시작했다. UUCP 매핑 프로젝트는 2000년 말 공식적으로 중단되었다.

UUCP 프로토콜은 이제 대부분 인터넷 TCP/IP 기반 프로토콜인 메일 전송을 위한 SMTP와 유즈넷 뉴스를 위한 NNTP로 대체되었다.

2012년 7월, 네덜란드 인터넷 제공업체 XS4ALL은 UUCP 서비스를 중단했는데, 당시 사용자는 13명에 불과했으며, "아마도 여전히 UUCP 서비스를 제공하는 세계 마지막 제공업체 중 하나일 것"이라고 주장했다. (XS4ALL은 서비스 중단 전 몇 년 동안 신규 사용자의 요청을 거부했다.)[15]

9. 현재의 사용 및 유산

UUCP는 특수 목적의 고가 링크(예: 해양 위성 링크)를 통해 오랫동안 사용되었으며,[16] 여전히 레거시로 사용되고 있다. 2021년에는 특히 HF 대역의 통신, 예를 들어 아마존강 유역의 지역 사회에서 이메일 교환 및 기타 용도를 위한 새롭고 혁신적인 UUCP 사용이 증가하고 있다. Ian의 UUCP에 대한 패치가 UUCP 데비안 리눅스 패키지에 기여되었으며,[17] 이는 UUCP HF 연결을 제공하는 HERMES(고주파 비상 및 농촌 멀티미디어 교환 시스템) 프로젝트에 적용되었다.[18]

2000년대 중반, SSH 프로토콜을 사용하여 암호화된 TCP/IP를 통한 UUCP는[10] 컴퓨터에 고정된 IP 주소가 없지만 Sendmail 또는 Postfix와 같은 표준 메일 전송 에이전트(MTA)를 실행하려는 경우 사용하기 위해 제안되었다.

Bang-like 경로는 유즈넷 네트워크 내에서 여전히 사용되지만 라우팅에는 사용되지 않는다. 이는 메시지 헤더에 해당 메시지가 통과한 노드를 기록하는 데 사용되며, 다음으로 이동할 위치를 지정하는 데 사용되지 않는다.[19] "Bang path"는 네트워크 호스트 간의 명시적으로 지정된 라우팅 경로를 나타내는 표현으로도 사용된다. 이러한 용법은 반드시 UUCP, IP 라우팅, 이메일 메시징 또는 유즈넷으로 제한되지 않는다.

지연 허용 네트워킹 프로토콜의 개념은 2000년대 초에 다시 검토되었다.[20] UUCP에서 사용되는 것과 유사한 기술은 지연이나 상당한 중단을 경험하는 다른 네트워크에도 적용될 수 있다.

참조

[1] 서적 UNIX(TM) TIME-SHARING SYSTEM: UNIX PROGRAMMER'S MANUAL, Seventh Edition, Volume 1 http://web.cuzuco.co[...] Bell Telephone Laboratories, Incorporated 1979-01-01
[2] 웹사이트 Aminet - Search https://aminet.net/c[...]
[3] 기술보고서 A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 http://www.cs.dartmo[...]
[4] 웹사이트 Version 7 Unix manual: "UUCP Implementation Description" by D. A. Nowitz, and "A Dial-Up Network of UNIX Systems" by D. A. Nowitz and M. E. Lesk http://a.papnet.eu/U[...]
[5] 웹사이트 Starting the Commercial Internet in the UK https://www.uknof.or[...] 2007-01-19
[6] 웹사이트 Networking in UK Academia ~25 Years Ago https://www.uknof.or[...] 2007-04-03
[7] 웹사이트 The History of ihnp4 and The Growth of the Email Network http://www.nobell.or[...] 1988-09-24
[8] 웹사이트 Beta release of new UUCP package available http://groups.google[...] 1991-09-01
[9] 웹사이트 UUCP 'f' Protocol http://www.airs.com/[...] 2003-06-01
[10] 웹사이트 UUCPssh http://uucpssh.org/
[11] 웹사이트 UUCP Internals Frequently Asked Questions http://www.math.utah[...] 1996-03-08
[12] 웹사이트 What You Need To Know About Modems http://www.umich.edu[...] 1991-12-25
[13] 서적 UUCP Management Guide, Rev C Massachusetts Computer Corporation 1988-02-01
[14] 메일링리스트 [Internet Policy] Why the World Must Resist Calls to Undermine the Internet https://mailarchive.[...] 2022-03-20
[15] 웹사이트 XS4ALL Weblog: Afscheid van UUCP (Goodbye to UUCP) https://blog.xs4all.[...] XS4ALL 2012-07-30
[16] 웹사이트 Linux Goes To Sea http://www.linuxjour[...] 1995-08-01
[17] 웹사이트 UUCP 1.07.27-changelog https://metadata.ftp[...] 2021-01-01
[18] 웹사이트 High-frequency Emergency and Rural Multimedia Exchange System https://www.rhizomat[...] 2021-01-01
[19] 인터넷표준 Netnews Article Format IETF 2009-11-01
[20] 학회논문 Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications - SIGCOMM '03 ACM SIGCOMM 2003-08-01
[21] 서적 プロフェッショナルUNIX 株式会社アスキー 1986-01-15
[22] 인터넷표준 Summary
[23] 서적 UNIX(TM) TIME-SHARING SYSTEM: UNIX PROGRAMMER'S MANUAL, Seventh Edition, Volume 1 http://web.cuzuco.co[...] Bell Telephone Laboratories, Incorporated 1979-01-01



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com