요약

  • Sandy Fraser의 가상 회로 연구는 통신 허가와, 그 허가를 사용하는 버스트를 분리했습니다. 호출이 요청되고 수락되어 설치된 뒤에야 일반 바이트가 그 위에 의존할 수 있었습니다.
  • 이 절충은 간결한 포워딩과 이종 기기 간 공통 서비스를 얻어 주었지만, 동시에 오래된 매핑, 반개방 호출, 자원 회계, 검증 가능한 해제가 네트워크 정확성의 일부가 되도록 만들었습니다.

약속으로 만들어진 경로

Fraser의 1973년 특허에서 가장 계몽적인 패킷은 사용자 데이터가 아닙니다. 수락 메시지입니다. 발신 기기는 먼저 예약된 제어 채널로 연결 요청을 보냅니다. 착신 기기는 이를 수락하거나 거절할 수 있습니다. 수락되면 가상 채널을 할당하는 데 필요한 정보가 되돌아오고, 스위칭 유닛들이 링크 하나하나에 채널을 설치합니다. 그 후에야 통신이 시작됩니다.

이 순서 때문에 호출은 단순한 편의 레이블 이상이 됩니다. 분산된 약속입니다. 종단은 목적지를 요청했고, 상대편은 동의했고, 중간 스위치들은 로컬 채널 식별자를 다음 구간과 연관 지었으며, 네트워크는 호출이 끝날 때까지 그 연관을 유지할 의무를 떠안았습니다. 뒤따르는 바이트들이 여유로울 수 있는 것은 설정 단계가 장황한 작업을 미리 해두었기 때문입니다.

Fraser의 특허는 특히 경제적인 구분을 사용했습니다. 경로는 버스트 사이에 물리 전송 경로를 계속 점유하지 않으면서도, 필요한 특성을 저장한 채 가상으로 할당될 수 있었습니다. 실제 자원은 데이터가 도착할 때 활성화되었습니다. 이는 전용 전화 회로도, 완전히 자기기술적인 데이터그램의 연속도 아니었습니다. 기억된 경로 상태와 공유 용량의 버스트성 사용을 결합한 것입니다.

이 설계는 약속의 끝도 이름 붙였습니다. 발신 또는 착신 기기는 통화 종료 메시지를 보낼 수 있고, 그러면 해제가 링크 단위로 진행됩니다. 특허는 그 과정에서 전송 중인 데이터가 손실될 수 있다고 경고합니다. 따라서 해제는 단순한 서류 정리가 아니었습니다. 네트워크가 무엇을 잊어도 되는지를 바꾸는 작업이었습니다.

Spider에서 Datakit으로

Fraser 본인의 이력서는 이 아이디어가 제품보다 앞서 있었음을 보여줍니다. 이력서는 1969년의 가상 회로 스위칭과 1970년의 윈도우 흐름 제어를 기록하고 있으며, 둘 다 Spider 연구 네트워크에서 시연되었습니다. 벨 연구소의 연대기는 별도로 Spider의 구축 시작을 1970년으로 기록합니다. 이어서 Fraser는 1975년에 하드웨어 가상 회로 스위칭을 갖춘 모듈형 네트워크로 Datakit을 설계했다고 서술합니다.

이력서에 따르면 1990년까지 Datakit VCS는 벨 연구소를 지원했고 AT&T, 벨 계열 운영 회사 및 국제 고객 네트워크에서 사용되었습니다. 이 도달 범위가 중요한 이유는, 우아한 호출 다이어그램을 의무의 운영 체계로 바꾸기 때문입니다. 이름은 해석되어야 하고, 호출은 수락되거나 거절되어야 하며, 채널 상태는 구간마다 일치해야 하고, 장애는 경로가 여전히 존재하는지 판단할 만한 충분한 증거를 남겨야 합니다.

이 아키텍처는 또한 이질성에 대한 응답이었습니다. 디지털 기기들은 속도, 버퍼링, 프로토콜이 달랐습니다. Fraser의 초기 시스템은 기기들 사이에 프로그래밍 가능한 인터페이스 및 스위칭 기능을 배치하여 동일한 종단을 요구하는 대신 전송·수신 특성을 맞춰 주었습니다. 짧은 로컬 채널 번호가 완전한 목적지를 대신할 수 있었던 것은, 스위치가 그 번호에 의미를 부여하는 변환을 보관하고 있었기 때문입니다.

이것이 레이블 스위칭 시스템에서 핵심적인 교환입니다. 모든 유닛에 전역 주소를 반복하면 대역폭과 처리량을 명시적 목적지 증거에 소모합니다. 매핑을 한 번 설치하면 제어 노력과 내구성 있는 상태를 소모합니다. 어느 쪽 비용도 사라지지 않습니다. 아키텍처는 비용이 어디서 지불될지만을 선택할 뿐입니다.

해석자로서의 호출 프로세서

이후의 벨 연구소 팀—Roy Campbell, Sean Dorward, Arun Iyengar, Charles Kalmanek, Gary Murakami, Ravi Sethi, Ce Kuen Shieh, See-Mong Tan—은 이 모델을 중심으로 호출 처리 소프트웨어가 어떻게 진화했는지를 설명했습니다. 가상 회로 스위치에 연결된 각 라인은 가벼운 라인 프로세스가 관리했습니다. 이 프로세스는 기기별 호출 요청을 하나의 통일된 내부 프로토콜로 번역했으며, 여러 논리 라인이 하나의 물리 링크를 공유할 수 있었습니다.

요점은 단지 구현의 우아함이 아니었습니다. 번역은 제도적 경계를 만들었습니다. 기기들은 자신의 로컬 관례로 말할 수 있었고, 스위치는 하나의 내부 호출 언어 위에서 추론할 수 있었습니다. 새 인터페이스를 추가하더라도 모든 스위칭 구성요소가 그 기기의 방언 전체를 배울 필요는 없었습니다. 라인 프로세스가 해석의 부담을 짊어지고 시스템 나머지에 정규화된 요청을 공급했습니다.

Plan 9의 후기 네트워크 인터페이스는 사용자 쪽에서 동일한 분리를 보여줍니다. 그 프로토콜 기기들은 Datakit과 인터넷 프로토콜에 대해 유사한 파일 같은 연산을 제공했고, 연결 서버가 목적지에 공통되는 네트워크와 프로토콜을 선택할 수 있었습니다. 애플리케이션은 모든 네트워크별 주소 체계를 하드코딩하지 않고도 다이얼이나 리슨을 요청했습니다. 호출은 여전히 실재했지만, 그 역학이 모든 프로그램을 오염시킬 필요는 없었습니다.

이는 상태를 "네트워크에" 두면 종단이 반드시 단순해진다는 주장에 대한 유용한 교정입니다. 복잡성은 이름 붙은 번역기, 연결 서버, 수락 결정, 스위치 테이블 속으로 이동했을 뿐입니다. 성취는 소거가 아니라, 검사 가능한 인터페이스 뒤로의 격리였습니다.

다른 서약을 하는 데이터그램

RFC 791은 인터넷 프로토콜을 연결 없고 신뢰할 수 없는 데이터그램 서비스로 정의합니다. IP 자체는 종단 간 신뢰성, 순서 보장, 흐름 제어를 제공하지 않습니다. 각 데이터그램은 네트워크에 종단 간 호출 설치를 먼저 요구하지 않고도 라우팅에 필요한 것을 닫아 갑니다.

IP를 Datakit 옆에 놓는다고 해서 역사적 격투가 생기는 것은 아닙니다. 두 시스템은 책임을 다르게 배분합니다. 비연결 계층은 포워딩 전에 모든 중간 노드가 장기적 호출별 상태에 동의해야 한다는 요구를 피합니다. 상위 계층과 종단은 네트워크가 약속하지 않는 연속성을 스스로 복구해야 합니다. 가상 회로 네트워크는 설정과 상태 비용을 지불하는 대신, 이후 트래픽이 확립된 처리를 이용할 수 있게 합니다.

따라서 유용한 질문은 데이터그램과 회로 중 어느 단어가 현대적으로 들리느냐가 아닙니다. 운영자가 어떤 장애를 증명할 수 있느냐입니다. 데이터그램에서는 증거가 도달 가능성, 포워딩 결정, 종단 복구에 집중됩니다. 호출에서는 증거가 추가로 설정 완료 여부, 각 구간이 보유한 매핑의 버전, 부여된 서비스, 해제가 상태를 보유한 모든 지점에 도달했는지까지 보여야 합니다.

XUNET이 청구서를 드러내다

Charles Kalmanek, Srinivasan Keshav, William Marshall, Stephen Morgan, Robert Restrick이 집필한 XUNET 2 회고는 가상 회로 계보가 더 빠른 속도와 더 넓은 야망 아래에서 어떻게 작동했는지 보여줍니다. XUNET 1은 Datakit 가상 회로 스위치로 연구 사이트들을 연결했습니다. XUNET 2는 ATM 스위치, 라우터, 광역 링크를 트래픽 관리, 스위치 설계, 제어의 실험실로 사용했습니다.

가상 회로 설정 중에 사용자는 서비스 클래스를 요청했습니다. 스위치 스케줄러는 회로를 구분했고, 회로별 큐와 버퍼 정책이 한 사용자의 트래픽을 다른 사용자로부터 보호했습니다. 연결 설정은 헤더 변환 항목과 버퍼 한도를 바꾸었습니다. 호출은 이제 단순한 경로가 아니라 강제 가능한 자원 약속을 실을 수 있었습니다.

그 정밀함에는 대가가 따랐습니다. 정적 회로별 버퍼는 활성 트래픽이 필요한 양보다 훨씬 많은 메모리를 소모할 수 있었습니다. 동적 할당은 메모리를 줄였지만 빠른 버퍼 상태와 할당 결정을 내리는 프로세서 사이의 신호 전달과 조율을 요구했습니다. 저자들은 스위치 감사, 원격 유지보수, 장애 관리를 부수물이 아니라 아키텍처적 작업으로 다뤘습니다.

여기서 낡은 호출 순서는 현대의 운영 교훈이 됩니다. 제어 평면은 포워딩 하드웨어가 그렇지 않은데도 매핑이 존재한다고 믿을 수 있습니다. 재시도는 첫 호출이 여전히 버퍼를 보유하는 동안 두 번째 호출을 만들 수 있습니다. 컨트롤러 재시작은 이름과 경로는 복구하되 레이블을 안전하게 만들었던 정확한 승인을 잃을 수 있습니다. 데이터 경로는 건강해 보이면서도 여전히 타인의 만료된 약속을 실을 수 있습니다.

Sandy Fraser의 오래 남은 기여

Fraser Research의 추모 기록은 Ferranti와 케임브리지에서 벨 연구소, AT&T Labs, 그가 훗날 설립한 연구소에 이르는 경력을 담고 있습니다. 그의 이력서는 ACM, IEEE, 미국 공학한림원의 상들을 가상 회로 스위칭, 흐름 제어, 패킷 네트워크 아키텍처와 연결합니다. 그 영예는 하나의 발명을 묘사합니다. Datakit의 더 지속적인 교훈은 네트워크 상태를 판독 가능하게 만드는 방법입니다.

설정 요청은 무엇이 필요한지 말했습니다. 수락은 동의를 기록했습니다. 채널 매핑은 그 결정을 실행 가능하게 만들었습니다. 흐름 제어는 사용을 경계 지었습니다. 통화 종료는 잊으라는 지시를 공급했습니다. 각 단계는 적어도 원칙적으로 관찰되고 반박될 수 있는 사실을 하나씩 만들어 냈습니다.

따라서 호출 위에 세워진 네트워크에는 빠른 스위치보다 더 많은 것이 필요합니다. 약속의 생애 전체에 대한 영수증이 필요합니다. Fraser의 아키텍처는 상태 보유 네트워크와 무상태 네트워크 사이의 논쟁을 종결하지 않았습니다. 네트워크가 우리를 위해 기억한다면, 정확성에는 정확히 무엇을 기억하는지 아는 것—그리고 언제 기억을 멈췄는지 아는 것—이 포함된다는 사실을 분명히 했습니다.

출처