Xerox 네트워크 시스템

Xerox Network Systems
XNS
프로토콜 스택
목적
개발자제록스
서론1977년; 45년 전 (연방)
영향받은3+공유, Net/One, IPX/SPX, VINES
하드웨어이더넷

Xerox Network Systems(XNS)는 Xerox 네트워크 시스템 아키텍처 내에서 Xerox에 의해 개발된 컴퓨터 네트워킹 프로토콜 스위트입니다.범용 네트워크 통신, 인터넷 워크 라우팅 및 패킷 전송, 신뢰성 높은 스트림, 리모트 프로시저 호출 등의 고급 기능을 제공합니다.XNS는 Open Systems Interconnection(OSI; 개방형 시스템 상호접속) 네트워킹 모델의 개발에 선행하여 영향을 미쳤으며, 1980년대에 로컬 영역 네트워킹 설계에 큰 영향을 미쳤습니다.

XNS는 1980년대 초 Xerox Systems Development Department에 의해 개발되었으며, Xerox PARC의 연구를 시장에 내놓는 역할을 담당했습니다.XNS는 1970년대 후반의 PARC Universal Packet(PUP; 유니버설패킷) 스위트를 기반으로 하고 있습니다.XNS 스위트의 일부 프로토콜은 Pup 스위트의 프로토콜보다 약간 수정된 버전입니다.XNS는 네트워크 번호의 개념을 추가해, 복수의 소규모 네트워크로부터 대규모 네트워크를 구축할 수 있도록 해, 네트워크간의 정보 플로우를 라우터가 제어합니다.

XNS용 프로토콜 스위트 규격은 1977년에 공개되었다.이는 XNS가 표준 로컬 영역 네트워킹 프로토콜이 되도록 도왔고, 1990년대에 실제로 사용되던 모든 네트워킹 시스템에 의해 다양한 수준으로 복사되었습니다.XNS는 3Com의 3+ShareUngermann-Bass의 Net/One에서 변경되지 않고 사용되었습니다.또한 Novell NetWare 및 Banyan VINES의 기반으로 XNS가 사용되었지만 상용화되지는 않았습니다. 일반적인 문제에 대한 다수의 XNS 솔루션이 AppleNet의 대체 제품인 AppleTalk에 사용되었습니다.

묘사

전체적인 설계

OSI 모델의 7개 계층에 비해 XNS는 이후의 인터넷 프로토콜 스위트와 같은 5개 [1]계층 시스템입니다.

OSI 모델의 물리 레이어와 데이터 링크 레이어는 XNS의 물리 레이어(레이어 0)에 대응합니다.이 레이어는 기본 하드웨어의 전송 메커니즘을 사용하도록 설계되어 데이터 링크를 분리하지 않습니다.특히 XNS의 물리 계층은 이더넷 로컬 영역 네트워크 시스템이며 동시에 Xerox에 의해 개발되고 있으며, 많은 설계 결정이 이 [1]사실을 반영하고 있습니다.이 시스템은 이더넷을 다른 시스템으로 대체할 수 있도록 설계되었지만 프로토콜에 의해 정의되지 않았습니다(또한 그렇게 할 필요도 없습니다).

XNS의 주요 부분은 OSI의 네트워크 계층에 대응하는 내부 전송 계층(레이어 1)의 정의이며, 여기서 주요 인터넷 워킹 프로토콜인 IDP가 정의됩니다.XNS는 OSI의 세션 레이어와 트랜스포트 레이어를 단일 프로세스 간 통신 레이어(레이어 2)로 통합했습니다.레이어 3은 OSI의 [1][2]프레젠테이션과 같은 자원 제어였습니다.

마지막으로, 두 모델 모두 위에 애플리케이션 계층이 있습니다.단, 이러한 계층은 XNS [1]표준에서 정의되어 있지 않습니다.

기본 인터넷 워크 프로토콜

주요 인터넷 워크 계층 프로토콜은 인터넷 데이터그램 프로토콜(IDP)입니다.IDP는 Pupp의 인터넷 작업 프로토콜의 가까운 하위 항목으로, 인터넷 프로토콜 [1]모음의 IP(Internet Protocol) 계층에 대략 해당합니다.

IDP는 이더넷의 48비트 주소를 자체 네트워크 주소 지정의 기반으로 사용합니다.일반적으로 머신의 MAC 주소를 주요 고유 식별자로 사용합니다.여기에 네트워킹기기에 의해 제공되는 다른 48비트주소 섹션이 추가됩니다.32비트는 라우터에 의해 제공되어 네트워크 내의 네트워크 번호를 식별하며, 다른 16비트는 단일 호스트 내에서 서비스를 선택하기 위한 소켓 번호를 정의합니다.주소의 network number 부분에는, 「이 네트워크」를 의미하는 특별한 값도 포함되어 있습니다.이 값은, 아직 [2]네트워크 번호를 모르는 호스트에 의해서 사용됩니다.

TCP/IP와 달리 소켓 번호는 IDP 헤더의 전체 네트워크 주소의 일부이므로 상위 계층 프로토콜은 디멀티플렉싱을 구현할 필요가 없습니다. IDP는 패킷 유형도 제공합니다(IP와 달리).IDP 에는 패킷 전체를 커버하는 체크섬도 포함되어 있습니다만, 이것은 필수가 아닌 옵션입니다.이는 LAN의 오류율이 일반적으로 낮기 때문에 XNS는 성능을 개선하기 위해 하위 프로토콜에서 오류 수정을 제거했음을 나타냅니다.오류 수정은 프로토콜 스택의 상위 수준에서 선택적으로 추가될 수 있습니다. 예를 들어 XNS의 자체 SPP 프로토콜).이 설계 노트에 의해 [1]XNS는 IP보다 고속으로 간주되고 있습니다.

XNS는 가동되는 저지연 LAN 접속에 맞추어 짧은 패킷사이즈를 사용합니다.이것에 의해, 에러율이 낮고, 턴어라운드 시간이 짧은 경우에 퍼포먼스가 향상됩니다.IDP 패킷의 길이는 30 바이트의 IDP [2]헤더를 포함하여 최대 576 바이트입니다.이에 비해 IP에서는 모든 호스트가 최소 576을 지원해야 하지만 최대 65K 바이트의 패킷을 지원합니다.특정 네트워크상의 개개의 XNS 호스트쌍에서는 보다 큰 패킷이 사용되는 경우가 있습니다만, 이러한 패킷을 처리하기 위해서 XNS 라우터가 필요하지 않습니다.또, 개입하는 라우터가 보다 큰 패킷을 서포트하고 있는지를 검출하는 메카니즘은 정의되어 있지 않습니다.또한 패킷은 IP에서와 같이 fragment화할 수 없습니다.

Pup의 Gateway Information Protocol의 후속인 RIP(Routing Information Protocol)는 라우터 정보 교환 시스템으로 사용되며, (다른 프로토콜 모음의 구문에 맞게 약간 수정됨) 현재 인터넷 프로토콜 [2]모음과 같은 다른 프로토콜 모음에서는 여전히 사용되고 있습니다.

또한 XNS는 IP의 ping과 비슷하지만 네트워킹스택의 하위 수준에서 동작하는 단순한 에코 프로토콜을 인터넷 워크 계층에 구현합니다.Ping과 같이 ICMP 데이터를 payload로 IP 패킷에 추가하는 대신 XNS의 에코에 의해 기본 IDP 패킷 내에 [2]직접 명령어가 배치되었습니다.IP 헤더의 ICMP Protocol 필드를 확장함으로써 IP에서도 같은 것을 실현할 수 있습니다.

전송 계층 프로토콜

Pup의 이전 버전과 매우 다른 두 가지 주요 전송 계층 프로토콜이 있습니다.

  • SPP(Sequenced Packet Protocol)는 TCP와 유사한 인식된 전송 프로토콜입니다. 하나의 주요 기술적 차이점은 시퀀스 번호가 TCP 및 PUP의 BSP에서와 같이 바이트를 카운트하지 않고 패킷을 카운트한다는 것입니다. 이는 Novell의 IPX/SPX보다 직접 이전입니다.
  • PEP(Packet Exchange Protocol)는 본질적으로 UDP와 유사하며 Novell의 PXP보다 이전 버전인 커넥션리스 비신뢰성 프로토콜입니다.

XNS는 Pup과 마찬가지로 패킷 손실 등의 문제에 대한 보고 시스템으로 EP인 Error Protocol을 사용합니다.이것에 의해,[2] 문제를 검출하기 위해서 필터링 할 수 있는 일의의 패킷 세트가 제공되었습니다.

응용 프로그램 프로토콜

택배회사 RPC

원래 Xerox 개념에서 원격 인쇄, 파일링, 메일링 등의 애플리케이션 프로토콜은 Courier라는 이름원격 프로시저 호출 프로토콜을 사용했습니다.Courier는 Xerox의 Mesa 프로그래밍 언어 함수 호출의 대부분의 기능을 구현하기 위한 기본 요소를 포함하고 있습니다.응용 프로그램은 Courier에서 함수 호출을 수동으로 직렬화 및 직렬화 해제해야 했습니다. 함수 활성화 프레임을 RPC로 자동 변환하는 기능은 없었습니다(즉, "RPC 컴파일러"를 사용할 수 없었습니다).Courier는 모든 애플리케이션에서 사용되었기 때문에 XNS 애플리케이션 프로토콜 문서에서는 courier 함수 호출 인터페이스와 module+function 바인딩 튜플만 지정했습니다.Courier에는 함수 호출을 통해 대량 [2]데이터를 송수신할 수 있는 특별한 기능이 있었습니다.

처음에 XNS 서비스 로케이션은 일련의 확장 링브로드캐스트를 사용한 브로드캐스트리모트 프로시저 콜을 통해 실행되었습니다(로컬라우터와 협의하여 거리가 늘어나는 네트워크를 취득합니다).이후 서비스 로케이션을 수행하기 위해 Clearinghouse Protocol 3-level 디렉토리 서비스가 생성되었으며 확장링 브로드캐스트는 초기 Clearinghouse를 [2]찾기 위해서만 사용되었습니다.

기본 기술인 Mesa와의 긴밀한 통합으로 인해, 기존의 상위 레벨 프로토콜의 대부분은 XNS 시스템 자체의 일부가 아니었습니다.즉, XNS 프로토콜을 사용하는 벤더는 모두 파일 공유 프린터 지원을 위한 자체 솔루션을 개발했습니다.이들 서드파티 제품의 대부분은 이론적으로 패킷레벨로 서로 통신할 수 있지만 서로의 애플리케이션 서비스를 호출하는 기능은 거의 또는 전혀 없었습니다.이로 인해 XNS 시장은 완전히 단편화되어 IP가 쉽게 대체되는 이유 [1]중 하나로 꼽히고 있습니다.

인증

XNS 프로토콜에는 인증 프로토콜과 이를 지원하기 위한 인증 서비스도 포함되어 있습니다."강력한 자격 증명"은 나중에 Kerberos에 의해 사용된 동일한 니덤-슈로더 프로토콜을 기반으로 합니다.인증 서비스에 연락하여 자격 증명을 받은 후, 이 프로토콜은 디지털 방식으로 Courier 프로시저 호출에 서명할 수 있는 가벼운 방법을 제공했습니다. 따라서 수신자는 프로토콜 통신 세션 기간 동안 인증 서비스에 다시 연결할 필요 없이 XNS 인터넷을 통해 서명을 확인하고 발신자를 인증할 수 있습니다.를 클릭합니다.[3]

인쇄

Xerox의 인쇄 언어인 Interpress는 레이저 프린터를 제어하는 바이너리 형식의 표준이었습니다.이 언어의 디자이너인 John Warnock과 Chuck Geschke는 나중에 Xerox PARC를 떠나 Adobe Systems를 시작했다.떠나기 전에, 그들은 바이너리 인쇄 언어를 지정하는 것의 어려움, 즉 인쇄 작업을 직렬화하는 기능이 번거롭고 잘못된 인쇄 작업을 디버깅하는 것이 어렵다는 것을 깨달았습니다.프로그램 가능한 인쇄 작업과 디버깅이 용이한 인쇄 작업을 ASCII로 지정하는 가치를 실현하기 위해 Warnock과 Geschke는 Adobe에서 처음 개발한 제품 중 하나로 Postscript 언어를 만들었습니다.

원격 디버깅 프로토콜

Xerox 기업 인트라넷의 모든 8000 이상의 머신이 Wildflower 아키텍처(Butler Lampson에 의해 설계됨)를 실행했기 때문에 마이크로코드용 리모트 디버그 프로토콜이 있었습니다.기본적으로 Peek and Poke 기능은 C시리즈 또는 D시리즈 머신의 마이크로코드 상태를 지구 어디에서나 정지 및 조작한 후 기계를 재시작할 수 있습니다.

또한 world-swap [4]디버거를 위한 원격 디버깅 프로토콜도 있었습니다.이 프로토콜은 디버거 "nub"를 통해 워크스테이션을 정지시킨 다음 메모리의 다양한 부분을 엿보고 찌르고 변수를 변경하고 실행을 계속할 수 있습니다.디버깅 기호를 사용할 수 있는 경우, 크래시된 머신은 지구상의 어디에서나 리모트로 디버깅할 수 있습니다.

역사

이더넷과 PUP의 발신기지

하버드 대학에서의 마지막 해에 Bob Metcalfe는 여러 회사에서 인터뷰를 시작했고, Xerox Alto가 될 네트워크 컴퓨터 워크스테이션에서 일하기 시작한 Xerox PARC에서 Jerry Elkind와 Bob Taylor의 열렬한 환영을 받았습니다.그는 논문을 옹호한 후 7월에 PARC에 가입하기로 합의했다.1970년 회의 참석 중 스티브 크로커의 집에서 카우치 서핑을 하던 중 멧칼프는 책을 읽다가 잠들기 위해 책상에서 '가을 조인트 컴퓨터 회의 진행'이라는 책을 집어 들었다.대신에, 그는 이전의 광역 네트워크 시스템인 ALOHAnet에 관한 기사에 매료되었다.6월까지 그는 네트워킹에 관한 자신만의 이론을 개발해 교수들에게 제시했지만 교수들은 이를 거부했고 교수들은 "나에게 [5]버림받았다"고 말했다.

Metcalfe는 그의 실패한 논문에도 불구하고 PARC에서 환영을 받았고, 곧 "ALOHAnet in a wire"라고 불리는 것을 개발하기 시작했습니다.그는 David Boggs와 협력하여 전자 구현을 지원했으며, 1973년 말에는 3 Mbit/s의 속도로 작동하는 하드웨어를 구축하고 있었습니다.그 후 이 두 사람은 시스템에서 실행되는 간단한 프로토콜 작업을 시작했습니다.이로 인해 PARC 유니버설 패킷(Pup) 시스템이 개발되어 1974년 후반에는 Pup이 이더넷 상에서 정상적으로 동작하게 되었습니다.Metcalfe는 이 개념에 대한 특허를 출원했고, Metcalfe는 이 개념에 대한 논문을 ACM의 Communications of the ACM에 제출했습니다.「이더넷:「로컬 컴퓨터 네트워크를 위한 분산 패킷 교환」은,[5] 1976년 7월에 출판되었습니다.

PUP에서 XNS로

1975년, PUP가 완성되기 훨씬 전에, Metcalfe는 이미 경직된 Xerox 관리 하에 시달리고 있었습니다.그는 Ethernet을 즉시 생산에 투입해야 한다고 생각했지만 고위 경영진의 관심은 거의 없었다.1974년 MIT의 유명한 인공지능 연구소교수들이 연구실에서 사용하기 위해 이더넷을 구입하려는 의도로 제록스에 접근했을 때 중요한 사건이 일어났다.제록스 경영진은 이더넷이 자사 기기의 판매를 돕는 데 더 적합하다고 믿고 거절했다.그리고 나서 AI 연구소는 그들만의 이더넷 버전[6]카오스넷을 만들 것이다.

Metcalfe는 결국 1975년 11월 제록스를 떠나 고급 상품 개발을 담당하는 씨티은행의 부서인 Transaction Technology로 갔다.그러나 7개월 후 데이비드 리들(David Liddle)은 PARC 개념을 시장에 내놓기 위해 최근 Xerox 내에서 시스템 개발 부문을 조직했습니다.Metcalfe는 즉시 이더넷을 20 Mbit/s로 동작하도록 재설계하기 시작했고 Pup을 생산품질 버전으로 재작성하기 위한 노력을 시작했습니다.펫칼프는 푸프에 대한 도움을 요청하며 스탠퍼드 대학의 빈트 서프 에서 논문을 완성하고 있던 요긴 달랄에게 접근했다.달랄은 칸의 ARPANET 팀(TCP/IP에서 일함)에도 중하게 영입되었지만, 세르프가 DARPA에 합류하기 위해 떠나자,[7] 달랄은 PARC로 이적하는 것에 동의하고 1977년에 그곳에서 시작했다.

Dalal은 William Crowther와 Hal Murray를 포함한 팀을 만들고 Pup에 대한 완전한 검토로 시작했다.Dalal은 또한 DARPA에서 진행 중인 TCP 작업에 계속 관여하려고 시도했지만 결국 포기하고 Pup에 완전히 집중했습니다.Dalal은 ARPANET에 대한 그의 경험을 Pup의 개념과 결합하여 1977년 말에 그들은 Xerox 네트워크 시스템 사양의 초안을 발표했다.이는 기본적으로 소켓 및 인터넷 워크 개념이 추가된 Pup 버전이며, 이를 통해 라우터는 연결된 네트워크 [8]간에 패킷을 전송할 수 있습니다.

1978년 초까지 새로운 시스템은 작동하고 있었지만 경영진은 여전히 그것을 상품화할 움직임을 보이지 않았다.Metcalfe의 표현대로:

1976년 제가 제록스로 돌아왔을 때는 제품 출하로부터 약 2년 반, 1978년에는 제품 [7]출하로부터 약 2년 반이었습니다.

더 이상의 조치가 취해지지 않자 Metcalfe는 1978년 [7]말에 회사를 떠났다.

영향

Xerox가 DocuTech 135 Publishing System과의 통신에 마지막으로 사용한 XNS는 IP의 보편성으로 인해 더 이상 사용되지 않습니다.그러나 소프트웨어 및 하드웨어 공급업체가 여러 네트워크 프로토콜 스택을 동시에 지원하는 컴퓨팅 플랫폼의 필요성을 심각하게 고려하도록 함으로써 1980년대 네트워킹 기술 개발에 중요한 역할을 했습니다.

다양한 전용 네트워킹 시스템이 XNS에 직접 기반하거나 이 주제에 대해 약간의 변화를 제공했습니다.그 중에는 Net/One, 3+,[1] Banyan[9] VINES, Novell의 IPX/[10]SPX 등이 있습니다.이러한 시스템은 XNS 어드레싱 및 라우팅 시스템 위에 독자적인 개념을 추가했습니다.VINES는 다른 서비스 중에서도 디렉토리 서비스를 추가했습니다.Novell NetWare는 인쇄나 파일 공유 등의 사용자용 서비스를 다수 추가했습니다.AppleTalk는 XNS와 같은 루팅을 사용했지만 짧은 번호를 사용하여 호환되지 않는 주소를 가지고 있었습니다.

, XNS는, 4.2 의 설계의 검증에도 도움이 되었습니다.BSD 네트워크 서브시스템은 인터넷 프로토콜과 상당히 다른 두 번째 프로토콜 스위트를 제공함으로써; 버클리 연구원들은 두 스택을 동일한 커널에 구현함으로써 설계가 IP [11]이상에 적합하다는 것을 증명하였다.결국 모든 범위의 개방형 시스템 상호 연결(OSI) 프로토콜을 지원하기 위해 추가적인 BSD 수정이 필요했습니다.

「 」를 참조해 주세요.

레퍼런스

인용문
  1. ^ a b c d e f g h 스티븐스 1989, 페이지 15
  2. ^ a b c d e f g h 시스코
  3. ^ "Xerox System Integration Standard 098404 - Authentication Protocol" (PDF). Xerox Corporation. 1984.
  4. ^ "World-stop debuggers". 1999-01-25. Retrieved 2013-07-05.
  5. ^ a b 펠키 2007, 6.7
  6. ^ 펠키 2007, 6.8
  7. ^ a b c 펠키 2007, 6.9
  8. ^ 펠키 2007, 6.10
  9. ^ Banyan VINES, Cisco
  10. ^ NetWare Protocols, Cisco
  11. ^ Larus, James (1983). "On the performance of Courier Remote Procedure Calls under 4.1c BSD" (PDF). UC Berkeley ECE Department. Retrieved 2013-07-05.
참고 문헌
  • Stephens, Mark (6 March 1989). "OSI Layer 3 Differentiates System Software". InfoWorld: 15.
  • cisco. "Xerox Network Systems". cisco.com.
  • Pelkey, James (2007). "Entrepreneurial Capitalism and Innovation: A History of Computer Communications 1968-1988".
  • Xerox 시스템 통합 표준 - 인터넷 전송 프로토콜 (Xerox, Stamford, 1981년)
  • Xerox 시스템 통합 표준 - 택배 회사: 원격 프로시저 호출 프로토콜 (Xerox, Stamford, 1981년)
  • D.C.의 Oppen과 Y.K.Dalal, The Clearinghouse: 분산 환경에서 명명된 개체를 찾기 위한 분산형 에이전트.Palo Alto: Xerox Corporation, Office Systems Division, 1981년 10월:기술 보고서 OSD-T8103.
  • 이스라엘, J.E. 및 T.A.의 Linden, Xerox의 Star and Network Systems 인증.Palo Alto: Xerox Corporation, Office Systems Division, 1982년 5월: Tech Report OSD-T8201.
  • Office Systems Technology - Xerox 8000 시리즈 제품 세계:워크스테이션, 서비스, 이더넷 및 소프트웨어 개발", (Ted Linden 및 Eric Harslem 편집), 기술 보고서 Xerox OSD-R8203, 1982년 11월Xerox STAR Workstation 및 네트워킹 프로토콜의 모든 측면을 설명하는 24개의 논문의 요약본으로, 대부분은 저널 및 컨퍼런스 출판물의 전재본이었습니다.

외부 링크