베르네
Berknet버클리 네트워크(Berkeknet)는 1978년 버클리 캘리포니아 대학에서 개발된 초기 광역 네트워크로서 주로 에릭 슈미트가 석사 논문 [1]연구의 일환으로 개발했습니다.네트워크는 BSD를 실행하는[2] 약 12대의 컴퓨터를 지속적으로 연결하여 사용자에게 이메일, 파일 전송, 인쇄 및 원격 명령 실행 서비스를 제공했으며, 당시 사용하던 다른 두 개의 주요 네트워크인 ARPANET과 [3]UUCPNET에 연결했습니다.
네트워크는 초기 시스템에서는 1200bps의 고속 시리얼 링크를 사용하여 동작했습니다.이 소프트웨어 실장은 버클리 소프트웨어 배포 버전 2.0 [1]이후와 함께 출하되었습니다.이는 Unix [4]커널 내의 라인 부문, 머신 간에 전송되는 명령어 큐를 관리하는 데몬 세트 및 실제 명령어를 큐잉하는 사용자 레벨 프로그램 세트로 구성되어 있습니다.버클리 네트워크는 다음과 같은 기능을 도입했습니다..netrc 파일.
1979년 버전 7 Unix의 일부로 UUCP가 출시되면서 시스템에 대한 외부의 관심이 거의 없었습니다. Mary Ann Horton은 1984년에 "버킷은 이제 사라졌습니다."[5]라고 언급했습니다.Berknet의 사용자 지정 이메일 주소 지정 방식은 [4]1993년까지 Sendmail 프로그램에서 지원되었습니다.
역사
버크넷이 된 것의 개발은 에릭 슈미트의 고문인 밥 파브리에 의해 개발된 초기 개념에서 시작되었다.슈미트는 5월 휴가를 떠나기 전까지 이 시스템을 개발했다.이 시스템은 처음에 [6]Unix를 실행하는 PDP-11 머신의 A와 Q로 알려진2대의 머신만을 접속하도록 설계되어 있습니다.개발은 5월 말까지 계속되었다.5월 1일에 A와 Q라는 두 대의 기계를 연결하는 초기 시스템이 작동되었습니다.개발은 주로 A머신에서 이루어졌기 때문에 Q에게 코드를 배포하는 시스템도 사용되었습니다.코드를 Q로 이동하는 간단한 작업은 시스템 [6]자동화를 위한 초기 작업으로 이어졌습니다.
코드가 기능하기 시작하면서 다른 사용자들도 사용하기 시작했고, 이로 인해 A는 새로운 기계인 C에 연결되었습니다.이로 인해 원래 구현에서는 두 시스템 모두에서 동일한 사용자 로그인이 필요하다는 새로운 문제가 발생했으며 여러 시스템 간에 이를 동기화하려고 하면 A의 암호 파일이 너무 커졌습니다.이 문제에 대한 대처는 처음에 Berknet에 의해 사용된 두 머신에 전용 "공짜" 계정을 두고 필요할 [6]때 .netrc 파일을 사용하여 자동으로 로그인함으로써 처리되었습니다.
그리고 세 번째 기계인 코리가 [6]추가되었다.어카운트 문제에 대처하고 물리 루팅을 처리하기 위해 A는 C와 Cory 사이의 메시지를 저장하고 전송하는 허브가 되었습니다.이를 제어하기 위해 테이블 기반 라우팅 맵이 도입되었습니다.슈미트가 5월에 첫 번째 버전을 완성했을 때였다.그가 없는 동안 Computing Center는 시스템을 몇 가지 변경했습니다.그 결과, 호환되지 않는 버전의 Berknet이 몇 개 등장해, Sendmail 시스템이 [7]동작하지 않는 등, 시스템이 정기적으로 파손되었습니다.
슈미트가 10월에 시스템에 복귀했을 무렵에는 VAX 11/780 머신이 추가되어 지원 대상의 Unix의 3가지 버전이 되었습니다.그 후 make는 이전 버전의 코드를 사용하여 Unix 버전6을 실행하고 있는 Cory 머신을 부트스트랩하는 것을 포함한 코드를 구축하여 머신에 배포하는 데 사용되었습니다.는 7을 실행했습니다.추가 변경으로 인해 안정적인 버전과 문서화가 시작되었고 몇 개의 사이트가 추가되었습니다.퍼포먼스가 문제가 되었습니다.특히 포워딩 작업을 하는 머신에서는 시스템을 계속 [8]가동시키기 위해 수동 유지보수가 필요했습니다.
묘사
이 시스템은 실제 전송을 수행하는 Unix 데몬을 기반으로 한 배치 모드 파일 전송 시스템을 사용했을 뿐만 아니라 전화 기반 링크를 통해 데이터를 이동하기 위한 적절한 간단한 네트워크 프로토콜을 정의했다는 점에서 UUCP와 어느 정도 유사했습니다.이 프로토콜은 새로운 파일이 큐를 [8]나타내는 일련의 정의된 위치가 나타나는지 감시하는 넷 애플리케이션에 내장되어 있습니다.파일이 뜨면 net은 선택한 리모트머신에 대한 터미널 접속을 시작하고 명령어를 발행하여 파일 전송을 수행합니다.이것에 성공하면, [9]로컬파일의 접속을 해제해 삭제합니다.
유저의 관점에서는, 시스템을 구성하는 애플리케이션에는, 메일의 판독과 기입용의 애플리케이션, 머신간의 파일 이동용의 애플리케이션등이 있습니다.이 모든 작업은 파일을 적절한 큐에 배치하고 데이터를 자동으로 타깃 머신으로 이동하여 데이터를 재구성하고 사용자 디렉토리로 이동하여 [8]사용할 수 있도록 합니다.가장 많이 사용된 애플리케이션은 네트워크를 통해 파일을 복사하는 netcp였습니다.여기에는 두 개의 파일 이름이 제공되었습니다.첫 번째 파일명은 기존 파일에 대한 경로이고 두 번째 파일명은 원하는 최종 위치에 대한 경로입니다.경로는 시스템 이름 뒤에 콜론을 붙인 다음 일반 Unix 슬래시로 구분된 경로를 조합한 것입니다.예:
netcp 테스트파일txt Cory:/usr/pascal/sh
파일 테스트 파일을 복사합니다.txt를 Cory [9]머신의 경로 /usr/pascal/sh로 이동합니다.
마찬가지로 기존 메일 응용프로그램은 동일한 주소 지정 체계를 이해하도록 수정되었으며 메시지 발신지를 나타내는 헤더를 자동으로 추가하는 mmail 유틸리티에 의해 지원됩니다.수신측에서는, 새로운 애플리케이션 넷 메일은, net 를 사용해 이름 있는 리모트 머신에 로그인해, 거기서 검출된 메일을 읽습니다.이 작업이 완료되면 prmail은 메시지를 사용자의 로컬 메일에 복사하여 정상적으로 읽고 회신할 수 있습니다.이러한 개별 작업의 자동화가 신속하게 [10]도입되었습니다.
프로토콜
기본 전송 프로토콜은 세 개의 계층으로 배열되었습니다.가장 위에 있는 것은 명령어 프로토콜로 전체 파일 구조를 정의하며, 그 아래는 파일을 여러 패킷으로 분할하는 스트림 프로토콜이며, 맨 아래에는 [11]시리얼 포트를 사용하는 하드웨어 계층이 있습니다.
명령 계층은 주로 길이 표시기로 시작하는 파일 형식과 그 다음에 헤더, 원격 시스템에서 실행하는 명령 및 필요한 데이터로 구성됩니다.net 명령어는 파일을 조립하고 길이 표시기를 추가한 후 결과 파일을 적절한 큐에 넣습니다.헤더에는 발신기지 및 수신처 머신명, 양쪽에서 사용하는 로그인명, 버전 번호, 타임 스탬프, 그 후 "pseudo-command"가 포함됩니다.헤더 데이터는 일반 ASCII 텍스트로 쓰이고 필드는 [11]콜론으로 구분됩니다.
전송 중에 오류 수정을 위해 파일이 패킷으로 분할됩니다.패킷에는 패킷 내에서 최대 255바이트를 허용하는 길이 바이트로 구성된 헤더가 있으며, 그 뒤에 2바이트 패킷 번호, 1바이트 타입 인디케이터, 1바이트 체크섬, 그리고 데이터가 [11]이어집니다.체크섬은 패킷의 길이가 가변적이기 때문에 전면에 배치되어 코드가 간략화됩니다.명령어 정보 또는 데이터가 포함된 패킷유형은 여러 가지가 있습니다.이러한 패킷 중에는 리모트머신으로부터의 새로운 전송의 시작을 나타내는 「reset」패킷이 있습니다.이 프로토콜은 XMODEM과 복잡성이 매우 비슷하여 슬라이딩 윈도우나 스트리밍 확인 기능이 부족하여 향후 [12]버전에 추가될 것으로 생각되었습니다.
하드웨어 수준에서 시스템은 단순히 두 대의 기계를 연결하는 직렬 포트였습니다.다만, 기존의 Unix 시스템에서는, 8 비트의 ASCII 데이터를 직접 처리할 수 없기 때문에, 송신되는 데이터는, 인쇄 가능한 범위의 4 개의 6 비트 문자로 패키지 된 3 개의 8 비트 바이트로 부호화됩니다.이로 인해 33%의 오버헤드가 발생하였고,[12] 이는 또한 가능한 개선의 중요한 영역으로 간주되었다.
레퍼런스
인용문
- ^ a b Shacklette, Mark (2004). "Unix Operating System". The Internet Encyclopedia. Wiley. p. 497. ISBN 9780471222019. Retrieved April 28, 2020.
- ^ Lerner, Josh; Tirole, Jean (2000). "Some simple economics of open source" (PDF). NATIONAL BUREAU OF ECONOMIC RESEARCH. Retrieved April 30, 2020.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ Hauben, Michael; Hauben, Ronda (1997). Netizens: On the History and Impact of Usenet and the Internet. p. 170. ISBN 978-0-8186-7706-9.
- ^ a b Vixie, Paul A.; Avolio, Frederick M. (2002). Sendmail: Theory and Practice. Elsevier. p. 3. ISBN 9781555582296.
- ^ Horton, Mark R. (1986). What is a Domain?. Software Tools Users Group [Sof84]. pp. 368–372. Retrieved April 28, 2020.
- ^ a b c d 슈미트 1979, 페이지 2
- ^ 슈미트 1979, 페이지 3
- ^ a b c 슈미트 1979, 페이지 5
- ^ a b 슈미트 1979, 페이지 6
- ^ 슈미트 1979, 페이지 7
- ^ a b c 슈미트 1979, 페이지 8
- ^ a b 슈미트 1979, 페이지 9
참고 문헌
- Schmidt, Eric (1983) [1979]. "The Berkeley Network − A Retrospective" (PDF). UNIX Programmer's Manual, 4.2 Berkeley Software Distribution, Volume 2c.