- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date | 25/06/29 01:30:32 |
Name | nothing |
Subject | 평행 세계에서의 인터넷 역사 |
아래 글은 하나부터 열까지 모두 허구입니다. 루루얍 님이 작성하신 "교통체계로 보는 경로의존성" (https://kongcha.net/free/15513?keyword=%EA%B2%BD%EB%A1%9C&ss=on&sc=on) 글을 보면서, "인터넷 초기 역사의 단추 하나가 조금 다르게 끼워졌다면 어떻게 발전해나갔을까" 라는 궁금증이 생겨서 ChatGPT 선생님이랑 둘이서 쿵짝거려가면서 써봤습니다. 인터넷에 대한 일종의 대체 역사물이라고 생각하고 읽어주시면 감사하겠습니다. --- 회선 기반 데이터 통신의 시작: CCL 프로토콜의 탄생1968년, 미 국방성 산하 고등정보통신연구국(HITRA: High-Integrity Telecommunications Research Agency)은 냉전 시기의 전략적 목적에 따라, 단일 장애점 없이도 안정적이고 통제 가능한 데이터 통신망을 구축할 필요성을 인식하게 되었다. 이들은 기존 전화망의 안정성과 운영 체계를 참고하여, 데이터 전송 또한 유사한 원칙 하에 설계할 것을 결정한다. 그 결과, HITRA 산하의 네트워크 구조 분과위원회(Working Group on Structured Networking, WGSN)가 구성되었고, 이들이 주도적으로 제정한 최초의 통신 규약이 바로 CCL 프로토콜(Control and Circuit Language)이다. CCL 의 기술적 원리CCL 프로토콜 하의 네트워크는 다음 세 가지 기본 구성 요소로 이루어졌다. - 단말 노드: CCL 프로토콜을 통해 통신 요청을 생성하거나 응답하는 컴퓨터. - 중앙 교환기 (CEX, Control Exchange): 각 네트워크 구역 (zone) 을 담당하는 데이터 교환기. 전화 교환원과 같이 통신 요청을 받아 발신자와 수신자 간의 가상 전용 회선 (VDC, Virtual Dedicated Circuit) 을 생성. - 경로 테이블: 각 CEX 에 내장된 라우팅 테이블로, 인접 CEX 및 종단 노드에 대한 경로를 저장하여 활용. CCL 통신은 아래와 같은 절차를 통해 이루어졌다. 1. 발신 단말 노드는 `REQCALL 2. CEX 는 자신의 경로 테이블을 참고하여 목적지까지의 도달 가능한 경로를 계산한 뒤, 인접 CEX 와 협의하여 일련의 가상 통신 회선을 설정한다. 회선이 구성된 경로 상의 모든 단말기와 CEX 는 통신이 종료되기 전까지 해당 상태를 유지한다. 3. 목적지 노드에서 통신을 수락하면, 회선 설정이 완료되고 양측 단말기는 가상 회선 상에서 스트림 데이터를 주고 받을 수 있다. 마치 전화 통화가 연결된 것과 같은 구조로, 주고 받는 데이터 상에 별도의 주소 지정이나 순서 지정이 필요없다. 4. 어느 한 쪽 노드가 `DISCONNECT` 명령을 내리면 회선은 상위 CEX 로부터 역순으로 해체된다. 미완성 회선은 30초 후 자동 해제된다. 패킷 기반 전송 방식 고려: '버클리 실험 사건'초기 CCL 프로토콜 제정 논의에서 패킷 기반 전송 방식도 유력한 대안으로 검토된 바 있다. 특히 1969년 버클리 대학의 라이먼 박사가 이끄는 연구팀은 데이터를 고정된 크기로 나누어 각 패킷에 목적지 주소, 순서, 에러 체크 정보를 포함하는 "주소 지능형 패킷화 전송" 기법을 실험적으로 구현하였다. 그러나 이 기술은 HITRA 로부터 받아들여지지 않았으며, 이후에 CCL 프로토콜이 표준으로 제정되면서 사장되었다. 당시 HITRA 가 패킷 기반 기술을 채택하지 않은 주된 이유는 보안 및 통제의 어려움이었다. CCL 프로토콜 상에서 CEX 는 회선을 명시적으로 제어함으로써 각 통신 세션을 추적 및 승인할 수 있었지만, 패킷 기반 방식은 구조상 세선 경계가 불명확하여 군사 보안상 위험 요소로 간주되었다. 특히 초기 실험에서 라우팅 지연이 불규칙하게 나타났으며, 당시 CCL 위원회는 이를 "신뢰할 수 없는 방식"이라 결론내렸다. 이후 이 실험은 조롱조로 "라이맨 패킷 소동"으로 불리게 되었으며, 패킷 기반 기술은 종적을 감추었다. 교환기 (CEX) 의 역할 확대당시 데이터 통신이 필요한 사용 사례들은 대부분 군사적 목적이었기 때문에 비대칭적 정보 전달이 필요했다. 예를 들어, 다수의 하위 부대에서 단일 상급 부대로 보고를 전달하거나, 상급 부대에서 하위 부대로 공지 및 명령을 하달하는 등의 목적으로 데이터 통신을 활용하고자 했다. 하지만 전통적인 1:1 회선 모델은 이러한 요구 사항을 처리하기에 비효율과 병목을 가질 수 밖에 없는 구조였다. CEX 는 수천 개의 개별 회선을 동시에 수립 및 관리해야 했으며, 상급 부대와 같은 다수와의 통신이 필요한 단말 노드에서는 상당한 회선 규모를 수용해야 했다. 이 문제를 해결하기 위해, HITRA 는 통신 모델을 단말 노드 중심에서 교환기 (CEX) 중심으로 개편하였다. CEX 는 단순한 회선 연결 장비를 넘어서, 통신 흐름을 조율하고 재구성하는 능동적 정보 노드로 진화하였다. 이를 통해 CCL 은 비대칭 다중 통신 기능을 포함할 수 있게 되었다. 다수의 발신자가 동일한 수신자에게 데이터를 전송해야 하는 경우 비대칭 다중 회선을 수립하여 논리적으로 동일한 회선을 공유할 수 있게 되었다. CEX 는 각 발신자의 메시지를 수신 측 회선에 자동으로 합성하여 전달하였다. 이 과정에서 CEX 는 발송된 메시지를 재구성하여 발신자의 ID 를 삽입하는 역할을 수행했다. 반대로 단일 송신자가 하나의 메시지를 여러 수신자에게 동시에 송신해야 하는 경우에도 비대칭 다중 회선을 통해 중앙 CEX 가 메시지를 복제하여 분산 전송하게 되었다. CCL 네트워크 상에서 기존에도 CEX 구조를 통해 모든 통신이 "누구와, 언제, 어떻게 연결되었는지를 정확하게 아는 것"이 가능했다. 이를 통해 특정 연결을 승인하거나 거부할 수 있었고, 다수의 메시지를 감시 및 차단할 수 있었다. 그리고 CEX 의 역할 확대는 이러한 구조의 심화로 이어졌다. CEX 는 단순한 "연결자"에서 사실상 "네트워크의 관할자"가 되었고, 중앙에서의 사전 허가와 연결 관리를 우선시하는 체계가 공고히 구축되었다. 차등 계위 체계의 도입당시 CCL 네트워크는 단순한 연결 장치가 아니라, 군 내에서 전투와 작전을 구성하는 명령 체계의 일부로 사용되었다. 따라서 각 단말 노드가 동일한 계위에서 통신하기 보다는 사용되는 부대의 지휘 체계에 따라 서로 다른 계위를 할당하는 제안이 표준으로 통과되었다. 이를 통해 계위는 네트워크 내부에서의 통신 권한, 회선 우선권, 응답 보장 수준 등을 결정짓는 엄격한 계층적 요소로 사용되었다. 이는 '통신 = 명령 전달' 이라는 군사 조직의 철학에서 비롯된 것이었으며, 정보의 흐름 자체가 명령 계보를 따라 구조화되는 결과로 이어졌다. 계위 체계 (NCL, Node Priority Hierarchy) 는 NCL-1 부터 NCL-5 까지 지정되었다. NCL-1 은 보조 감시 단말로써 회선을 통한 정보 수신만 가능했다. 최상위 NCL-5 은 회선을 강제 점유하고 타 회선을 중단할 수 있는 권한까지 가지고 있었다. 이를 통해 전시 상황에서 NCL-5 단말기는 전체 지역 CEX 에 있는 기존 회선을 즉시 강제로 해제하고, 자신이 설정한 회선을 최우선 처리할 수 있도록 명령할 수 있었다. CEX 는 이에 따라 회선 요청이 들어오면 요청자의 NCL 에 따라 다르게 동작하였다. 그리고 모든 절차는 CEX 로컬 로그와 중앙 통제 아카이브에 기록 보관하도록 구성되었다. 이러한 체계는 높은 계급일 수록 더 큰 정보 흐름 권한을 가진다는 기존의 원칙을 강력하게 제도화한 것이었다. CCL 의 민간으로의 이식1970년대 후반, CCL 네트워크는 미국 국방부 산하에서 군 지휘 체계, 상황 보고, 정보 분산 전파 등의 용도에 따라 안정적으로 운용되고 있었다. 이 네트워크는 정보의 흐름을 "누가 누구에게 어제 무엇을 보냈는가" 까지 정밀하게 기록할 수 있는 구조를 갖추고 있었기에, 책임있는 보고 체계를 중시하는 군대에 이상적으로 부합했다. 그러나 1980년대 초반, MIT 링컨 연구소와 존스 홉킨스 응용물리연구소는 학술 공동 연구 프로젝트에서 안정적인 원격 데이터 교환이 필요하다는 이유로 CCL 네트워크를 제한적으로 연구 기관에 이식하는 실험을 제안했다. 당시 이 시도는 기존 군사 통신망으로써 안정적으로 동작하고 있는 네트워크 체계를 연구 분야에 적용할 수 있는지를 탐색하는 성격이 강했다. 이로써 CCL 은 최초로 민간망으로 파생되기 시작했다. 냉전 속의 네트워크 확장 전략미국은 CCL 의 초기 확산을 자국 내 연구소와 국방 계열 하청업체를 중심으로 제한했으나, 소련과의 기술 경쟁이 격화됨에 따라 정보 지배력 확대를 위해 글로벌화를 모색하게 된다. 1985년 맺어진 NATO 통신 협약은 이러한 흐름의 성과 중 하나이다. 이를 통해 미국, 영국, 서독, 프랑스, 이탈리아 등 NATO 국가들은 공동 CCL 회선 허브 협약을 체결하였다. 각국의 정보 흐름은 자국 내 CEX 를 통해서만 접속 가능하고, 국제 회선 연결은 미국 본부의 통합 허브를 거쳐가도록 구성되었다. 이 구조를 통해 미국은 정보 주권을 유지하되, 흐름의 최상위 감시는 미국이 책임지는 형태를 완성하였다. CCL 네트워크의 핵심인 CEX 하드웨어 및 운영 소프트웨어는 '전략 통신 기술'로 분류되어 수출이 통제되는 품목이었다. 따라서 서방과 연결된 국가와 분리된 권역 간의 정보 격차가 심화되기 시작한 계기가 되었다. 소련은 미국의 CCL 네트워크 확장을 기술적 패권 도구이자 정보 전파 경로 통제 장치로 간주하고, 자국 독자 네트워크인 OGNET (Огневая Система Связи) 를 개발하기에 이른다. OGNET 은 구조적으로는 CCL 을 모방했으나, 모든 회선 설정 요청이 중앙 감시국을 통해 반드시 검열되도록 강제하였다. 이 체계는 강력한 검열/차단/우선순위 재설정 기능을 내장하였으며, 사실상 국가적 선전과 방첩망의 연장선으로 작동했다. 비동기 통신을 위한 CCL-DS 프로토콜의 등장1990년대에 이르러 민간을 통해 확산되기 시작한 CCL 기반의 네트워크는 그 구조적 한계에 따른 위기에 직면하고 있었다. 기존의 회선 모델은 동기식 통신을 기본으로 하기 때문에 실시간으로 회선을 확보한 상태에서 양 단말이 동시에 활성화되어 있을 때에만 가능했다. 그러나 민간에서는 원하는 시점에 메시지를 보내고 상대가 나중에 접속했을 때 이를 확인할 수 있는 비동기 방식의 통신에 대한 요구사항이 대두되기 시작했다. 이에 따라 HITRA 산하 프로토콜 위원회는 기존 CCL 을 확장하는 새로운 표준을 제정하게 된다. 1999년, 공식 제정된 CCL-DS (Circuital Control Language - Deferred Session) 프로토콜은 CCL 의 기본 철학인 회선 제어, 권한 계층, 중앙 관리를 유지하면서도 비동기 통신 및 자원 지향 구조를 도입한 최초의 구조적 진화였다. 이제 각 단말은 CEX 를 통해 단말 주소와 접근하고자 하는 리소스의 식별자를 함께 전달하였고 (ex. `REQ_ACCESS [NODE_ID:HAIEGS0453] [RESOURCE_ID:RPT-2489]`), 서버 단말은 요청된 리소스를 조회하여 응답할 수 있게 되었다. 다만 리소스 별 접근 권한은 소유 단말이 아닌 중앙의 CEX 가 결정했으며, 모든 데이터 통제권은 CEX 를 통해 중앙에서 관리되었다. CCL-DS 은 개인 간 통신을 위한 메일 기능도 내장하고 있었다. 이를 위해 국가 단위로 운영되는 '메일링 전용 단말 (MCN, Mail Control Node)' 이 각 네트워크에 추가되기 시작했다. 사용자의 모든 메일 데이터는 MCN 에 저장되었으며, 개별 단말은 CEX 를 통해 메일 조회 및 발송이 가능했다. CCL-DS 프로토콜은 리소스 기반 비동기 통신 기능과 메일링 기능을 포함하고 있었지만 모든 정보의 접근 권한을 중앙 CEX 에서 제어하는 구조를 포기하지 않았다. 이는 당시까지의 모든 접근 제어가 NCL 을 통해 이루어졌으며, NCL 데이터베이스에 접근하여 검증하는 역할은 CEX 에서만 가능했기 때문이었다. 더불어 이러한 권한 체계를 개별 단말에서 수행하게 된다면 분산 데이터가 국가 정보통제를 벗어날 보안 문제를 야기할 수 있었고, 나아가 모든 데이터 송수신 내역을 로그화하는 국가 보안 기관의 실시간 감시 기능이 불가능해질 수 있었다. 익명 회선 요청자 사건CCL 체계, 특히 CCL-DS 에 이르러서는 모든 통신 요청은 물리 회선 단위로 추적되었다. 사용자의 단말은 반드시 다음의 정보를 CEX 에 의해 자동으로 식별되도록 설계되어 있었다. - 단말의 물리 주소 (Device Physical Key, DPK) - 단말의 인증 ID (Terminal Credential Signature, TCS) - 위치 기반 인증값 (Location-Embedded Token, LET) - 발신 시간 및 요청 트래킹 서명 (Time-Signed Request Stamp, TSRS) 이는 개별 단말이 숨길 수 없는 하드웨어 수준의 인증 체계였으며, CEX 는 이를 통해 모든 요청자의 물리적 단말 식별이 가능해야만 회선을 승인했다. 따라서 이론상으론 익명 요청은 존재할 수 없었다. 하지만 2003년, 독일 프라이부르크 기술대학 소속 익명의 해커, 코드명 화자(Fazja) 가 발견한 CEX 하위 통신 스택의 취약점을 통한 최초의 익명 기반 통신이 발생하였다. 그는 폐기된 구형 CEX 교환기 (CEX-94/OS-3 모델)에서 사용되던 DPK 할당 알고리즘의 백업 펌웨어에 대한 리버스 엔지니어링을 수행했다. 이를 통해 그는 다음과 같은 구조적 허점을 발견했다. - CEX 는 특정 하위 회선 모듈이 고장나거나 재부팅될 경우, "이전 활성 회선의 마지막 인증 상태"를 복구 기준으로 삼는다. - 이때 DPK 재할당이 실패할 경우, 회선은 '수동 식별 대기 상태 (Pending Keyless)' 로 설정되며, CEX 는 이 회선을 '임시 비인가 인증 대상'으로 통과시킬 수 있도록 구성되어 있었다. 이는 원래 장비 복구 및 테스트를 위한 백도어 유지 조건으로 설계된 기능이었다. 화자는 단말기 펌웨어를 직접 수정하여, 고장 회선 시뮬레이션을 통해 DPK 재인증 루틴을 고의로 유도하였다. 회선이 PENDING 상태로 진입하면, 단말은 자신의 인증 정보 없이 CEX 에 연결 요청을 전송할 수 있었다. CEX 는 회선 오류로 판단하고 '임시 기술자 접근' 코드로 해당 요청을 임시로 승인했다. 이를 통해 리소스 요청 및 응답은 정상적으로 오가되, 로그 상 사용자 필드가 NULL 로 기록되게 되었다. 이를 통해 화자는 총 17건의 고급 민간 연구 리포트와 4건의 국방 사양 데이터를 요청했으며, 그 중 6건은 정상 수신되었고, 3건은 권한 부족으로 차단, 나머지는 접근 불가로 종료되었다. 문제는 그 어느 통신 로그에도 "누가 요청했는가"에 대한 정보가 존재하지 않았다는 것이다. CEX 내부 보고서에서는 해당 요청을 "미등록 장비에 의한 인증 시뮬레이션 테스트 요청"으로 분류하였으며, 이상 현상 자체가 은폐되었으나 독일 연방 정보감사청 내부 고발자에 의해 외부로 드러나게 되었다. 결국 이 사건은 CCL-DS 구조 내에서조차 철옹성처럼 보였던 신원 기반 회선 체계가 기술적으로 위협받을 수 있음을 보여준 최초의 사례였다. 화자는 끝내 신원이 밝혀지지 않았으며, "회선 위의 망령" 이라 불리게 되었다. 0
이 게시판에 등록된 nothing님의 최근 게시물
|
사실 대규모까지 생각할 필요도 없이
1984에서 보이는 수준의 통신을 유지하려 해도 메모리 문제가 걸릴 것 같습니다.
빌게이츠가 XT 설계할 때 640kB면 메인메모리로 충분할 것이라고 했다는 게 1980년대 중반이고
1980년대 초반에 설계된 8-bit 시스템인 MSX의 경우
64kB 기본에 확장팩이 256kB여서 그걸 1024M bit라고 메가롬 이라고 롬 확장팩을 쓰던 시절입니다.
32 bit 시스템인 386 및 그보다 약간 앞선 워크스테이션이 출시된 게 1980년대 후반으로 알고 있습니다.
즉 1984년이면 기... 더 보기
1984에서 보이는 수준의 통신을 유지하려 해도 메모리 문제가 걸릴 것 같습니다.
빌게이츠가 XT 설계할 때 640kB면 메인메모리로 충분할 것이라고 했다는 게 1980년대 중반이고
1980년대 초반에 설계된 8-bit 시스템인 MSX의 경우
64kB 기본에 확장팩이 256kB여서 그걸 1024M bit라고 메가롬 이라고 롬 확장팩을 쓰던 시절입니다.
32 bit 시스템인 386 및 그보다 약간 앞선 워크스테이션이 출시된 게 1980년대 후반으로 알고 있습니다.
즉 1984년이면 기... 더 보기
사실 대규모까지 생각할 필요도 없이
1984에서 보이는 수준의 통신을 유지하려 해도 메모리 문제가 걸릴 것 같습니다.
빌게이츠가 XT 설계할 때 640kB면 메인메모리로 충분할 것이라고 했다는 게 1980년대 중반이고
1980년대 초반에 설계된 8-bit 시스템인 MSX의 경우
64kB 기본에 확장팩이 256kB여서 그걸 1024M bit라고 메가롬 이라고 롬 확장팩을 쓰던 시절입니다.
32 bit 시스템인 386 및 그보다 약간 앞선 워크스테이션이 출시된 게 1980년대 후반으로 알고 있습니다.
즉 1984년이면 기기를 운영하는 시스템이 끽해야
16 bit address를 쓰던 시절이라 메모리 확장의 상향 한계가 뚜렷했으므로
모든 각각의 커넥션 유지에 관리 메모리를 할당한다는 생각을 아예 할 수도 없던 시절이라
결국 패킷통신으로 귀결될 수 밖에 없지 않았나 생각합니다.
지금의 3GPP 통신은 이제 말씀하신대로 각각의 커넥션을 유지하는 시대로 들어가 있지요.
메모리와 보안 기술이 그만큼 따라왔기 때문일 겁니다.
1984에서 보이는 수준의 통신을 유지하려 해도 메모리 문제가 걸릴 것 같습니다.
빌게이츠가 XT 설계할 때 640kB면 메인메모리로 충분할 것이라고 했다는 게 1980년대 중반이고
1980년대 초반에 설계된 8-bit 시스템인 MSX의 경우
64kB 기본에 확장팩이 256kB여서 그걸 1024M bit라고 메가롬 이라고 롬 확장팩을 쓰던 시절입니다.
32 bit 시스템인 386 및 그보다 약간 앞선 워크스테이션이 출시된 게 1980년대 후반으로 알고 있습니다.
즉 1984년이면 기기를 운영하는 시스템이 끽해야
16 bit address를 쓰던 시절이라 메모리 확장의 상향 한계가 뚜렷했으므로
모든 각각의 커넥션 유지에 관리 메모리를 할당한다는 생각을 아예 할 수도 없던 시절이라
결국 패킷통신으로 귀결될 수 밖에 없지 않았나 생각합니다.
지금의 3GPP 통신은 이제 말씀하신대로 각각의 커넥션을 유지하는 시대로 들어가 있지요.
메모리와 보안 기술이 그만큼 따라왔기 때문일 겁니다.
목록 |
|