FidoNet: 사전 인터넷 이메일 WAN의 아키텍처와 역사
FidoNet은 직접 다이얼 전화망에서 모뎀을 사용하여 전 세계적인 점대점(store-and-forward) 이메일 광역 네트워크(WAN)를 구축했습니다. 1984년에 개발되어 1993년까지 20,000개가 넘는 공용 노드로 성장했으며, 상업용 인터넷이 보편화되기 훨씬 이전에 전자 메일 및 뉴스(enews)를 위한 저비용 대안을 제공했습니다.
기술 아키텍처 및 프로토콜 효율성
FidoNet의 설계는 네트워크가 주로 개인에 의해 자금이 조달되었기 때문에 모뎀 및 전화 비용을 최소화해야 한다는 필요성에 의해 추진되었습니다.
전송 프로토콜
- Basic Standard: 원래 구현은 비효율적인 xmodem 기반 전송을 사용했으며, 비윈도우 ACK/NAK 프로토콜과 128바이트 패킷을 사용했습니다. 코딩은 간단했지만 호환성을 위한 최소 표준으로 남아 있었습니다.
- Advanced Transport: 대부분의 노드는 결국 zmodem 기반 스트리밍 전송 프로토콜을 채택했습니다. 이들은 ACK가 없고 오류 발생 시 NAK(부정 응답)만 전송하며, 파일 중간 재시작 복구를 지원하여 훨씬 효율적이었습니다.
계층형 주소 지정
FidoNet은 관리 계층 내에서 노드의 위치를 지정하기 위해 숫자 주소 체계를 사용했습니다: zone:net/node.point.
- Zone: 여섯 대륙 중 하나(예: 북미는 Zone 1).
- Net: 노드 밀도가 낮을 경우 도시 또는 그보다 큰 지역.
- Node: 로컬 네트워크 내의 특정 호스트.
- Point: 자체 연결 시간을 줄이기 위해 공용 노드에 연결하는 파워 유저를 위한 선택적 확장.
네트워크 토폴로지 및 라우팅
장거리 전화 요금을 줄이기 위해 FidoNet은 주소 계층을 근사하는 store-and-forward 토폴로지를 사용했습니다.
로컬 및 지역 라우팅
- Local Networks: 도시 내 노드들은 일반적으로 직접 메일을 교환했습니다. 요금 구역이 나뉜 경우 비용을 추가로 절감하기 위해 로컬 허브를 사용해 트래픽을 집중시켰습니다.
- Inbound Hosts: 모든 로컬 네트워크는 하나의 노드를 "inbound host"(
zone:net/0)로 지정했습니다. 로컬 네트워크 외부에서 온 모든 메일은 이 호스트에 전달되고, 이후 로컬로 배포되어 장거리 통화 횟수를 줄였습니다. - Outbound Hosts: 일부 네트워크는 도시 외부로 향하는 모든 메일을 하나의 호출로 집중시키기 위해 outbound host를 사용했습니다.
인터-존 라우팅
대륙 간 라우팅은 별칭 주소를 가진 "zonegates"(예: 북미에서 오세아니아로 가는 게이트는 1:1/3)에 의해 처리되었습니다. 이러한 게이트는 지정된 게이트웨이를 통해 메시지를 라우팅함으로써 비용이 많이 드는 대륙 간 통화를 피하고, 이후 메일을 목적지 존으로 전달했습니다.
인터넷 및 기타 네트워크와의 통합
1990년대 초에 FidoNet은 비용을 추가로 절감하고 도달 범위를 확대하기 위해 인터넷 및 uucp 네트워크와의 통합을 시작했습니다.
- IP Tunneling: 1991년 11월부터 실험 시스템은 인터넷을 사용해 유럽과 북미 간 메일을 IP로 전송했으며, zonegate 간 전통적인 전화 호출을 우회했습니다.
- DNS Integration: FidoNet은
fidonet.orgDNS 존을 통해 주소 지정이 가능해졌습니다.1:105/42와 같은 노드는f6.n105.z1.fidonet.org와 같은 도메인 이름을 갖게 됩니다. - Gateways: UFGATE 패키지와 같은 소프트웨어는 MS-DOS 노드가 uucp 호스트를 시뮬레이션하도록 허용했으며, 이를 통해 이메일 및 Usenet 뉴스( FidoNet의 "echomail" 회의를 통해) 교환이 가능했습니다.
FidoNet 노드의 소프트웨어 구성 요소
전형적인 FidoNet 시스템은 여러 개의 구별된 에이전트로 구성되었습니다:
- BBS (Bulletin Board System): 다이얼업 호출자를 위한 사용자 인터페이스(M/NUA).
- Editor: 시스템 운영자가 보다 정교한 편집을 위해 사용하는 콘솔 기반 M/NUA.
- Packer/Scanner: 내부 저장 형식을 표준화된 FTS-0001/4 전송 형식으로 변환하고 로컬 규칙 파일을 기반으로 라우팅 결정을 내리는 전송 에이전트(M/NTA).
- Mailer: 모뎀을 제어하고 세션 핸드셰이크(예: YooHoo/2U2)를 처리하며 비용 최적화를 위해 호출 타이밍을 관리하는 전송 계층.
- Nodelist Compiler: 매주 배포되는
nodediff(모든 활성 노드와 전화번호 목록)를 메일러와 BBS가 사용할 수 있는 형식으로 변환하는 도구.
사회 구조 및 거버넌스
FidoNet은 "협동적 무정부" 모델로 특징지어졌으며, 이는 모든 노드가 공용 nodelist를 사용해 다른 노드와 통신할 수 있어 중앙 권한을 우회할 수 있었기 때문입니다.
- Policy Evolution: 초기 정책은 기술 절차와 "national mail hour"에 초점을 맞췄습니다. 이후 "Policy-4"는 국제, 존, 지역, 네트워크 코디네이터의 보다 공식적인 계층 구조를 도입했습니다.
- Political Resilience: 1980년대 후반 일부 코디네이터가 사회적 통제를 시도했음에도 불구하고, 노드가 직접 통신할 수 있는 기술적 능력은 중앙 집중식 검열이나 네트워크 전체 통제를 방지했습니다.
역사적 관점 및 사용자 경험
FidoNet은 대학이나 기업 환경 밖의 취미인 및 전문가들에게 중요한 커뮤니케이션 다리를 제공했습니다.
"그때는 정말 마법 같았어요. 몇 일 만에 전국을 가로질러 메시지가 전달되는 걸 보니 완전히 무료였어요. 마치 다이얼업 모뎀 폰 익스프레스 같았죠!"
인프라가 열악한 지역, 예를 들어 1990년대 초 짐바브웨와 같은 곳의 사용자들에게 FidoNet은 이후의 인터넷보다 더 혁신적이었으며, 국제 통신을 위한 최초의 저렴한 수단을 제공했습니다. 공용 네트워크는 1993년에 약 20,000노드 정점에 달했지만, 이 기술은 AT&T와 같은 기업 내부와 아프리카 NGO에서도 널리 사용되었습니다.