요약
- 데이브 밀스(Dave Mills)가 1983년에 기술한 Fuzzball PING은 이미 여러 해 동안 쓰인 다중 프로브 측정 패키지였으며, 마이크 무스(Mike Muuss)의 BSD ping은 관련은 있으나 별개의 Unix 구현이었다.
- 무스의 회고는 BSD 프로그램을 1983년 12월로 위치시키며, 호스트에서 유용하게 쓰이도록 만든 커널 지원, 반복되는 Echo 응답, 읽기 쉬운 왕복 시간 보고서를 설명한다.
기계가 응답합니다. 사람은 네트워크가 정상 동작하는지 알고 싶어 합니다. 이 두 사건 사이에는 측정 선택이 놓여 있습니다: 어떤 패킷을 보낼지, 무엇을 시간 측정할지, 무엇이 응답으로 인정될지. 초기 인터넷에서ping이라는 이름은 그 문제에 대한 하나 이상의 답을 아우르게 되었습니다. 가장 잘 문서화된 기원 이야기는 단일한 발명이 아니라, Fuzzball 연구 계측 도구와 BSD 유틸리티의 만남입니다.
프로토콜 기본 요소가 먼저였습니다. 1981년 9월,RFC 792는 ICMP Echo와 Echo Reply를 규정했습니다. 송신자는 데이터, 식별자, 일련번호를 포함할 수 있었고, 응답 호스트는 데이터와 일치하는 필드를 되돌려 보냈습니다. 이 표준은 해당 필드들을 요청과 응답을 대응시키는 보조 수단으로 기술했습니다. 반복 측정, 터미널 표시, 애플리케이션이 동작하는지에 대한 일반적 검사를 발명하지는 않았습니다. ICMP는 신뢰할 수 있는 전달을 약속하지도 않았습니다. 메시지나 그 응답이 도착할 것을 보장하지 않은 채 IP 통신 환경의 여러 측면을 보고했을 뿐입니다.
전혀 다른 종류의 ping이 이미 데이비드 밀스(David Mills)의 Fuzzball 시스템에서 사용되고 있었습니다. 그의 1983년 12월RFC 889는 이를 최초의 PING, 즉 “Packet InterNet Groper”로 풀어 쓰며, 그 앞선 6년 동안 수많은 인터넷 및 고객 네트워크 측정에 사용되었다고 말합니다. 밀스는 이를 계측된 LSI-11 호스트의 여러 패키지 중 하나로 기술합니다. ICMP Echo를 포함한 여러 종류의 프로브를 보내고, 그 응답을 처리하고, 경과 시간과 기타 관측값을 저장하고, 실시간 히스토그램과 추적을 생성할 수 있었습니다. 이 기술은 그 프로그램을 단순한 명령 프롬프트가 아니라 연구 장치 안에 위치시킵니다.
RFC 889는 그러한 장치가 무엇을 위한 것인지도 보여줍니다. 1983년 10월과 11월에 수행된 실험에서 Fuzzball은 선택된 길이와 타임스탬프를 담은 Echo 메시지를 보내고, 각 대응 응답을 기다리고, 경과 시간을 기록했습니다. 한 실행은 512회 사이클로 이루어졌습니다. 그 결과 기록은 밀스가 패킷 길이, 네트워크 경로, 유실된 응답이 측정된 지연과 TCP 재전송 동작에 미치는 영향을 연구하는 데 도움을 주었습니다. 그는 네트워크 지연과 호스트 내부의 잠재적으로 상당한 큐잉을 명시적으로 분리했습니다. 측정이 유용했던 이유는 하나의 숫자가 경로의 모든 속성을 요약했기 때문이 아니라, 방법과 한계가 보였기 때문입니다.
마이크 무스(Mike Muuss)의 기술은 두 번째 구현을 다룹니다. 그는 1983년 7월 노르웨이에서 열린 DARPA 회의에서 밀스가 Fuzzball LSI-11 시스템에서의 시간 측정 ICMP Echo에 대해 이야기했다고 회상합니다. 12월, Ballistic Research Laboratory의 IP 네트워크에서 평소와 다른 동작이 나타나자 무스는 4.2a BSD UNIX용 PING을 작성했습니다. 이 연표와 대화는 무스의 훗날 1인칭 회고에서 나온 것이므로, 남아 있는 회의 기록이 아니라 그의 기술로 읽어야 합니다. 그의 회상에 따르면 최초 프로그램은 컴파일되었지만 필요한 raw ICMP 소켓을 사용할 수 없었습니다. 커널이 아직 그 소켓 경로를 지원하지 않았기 때문입니다. 그는 하룻밤에 커널 지원을 추가했습니다. 첫 프로브가 나가기 전에 동료 척 케네디(Chuck Kennedy)가 이미 현지 하드웨어 고장을 찾아 수리해 두었던 것으로 나옵니다.
여기에 말해 줄 만한 구분이 있습니다. Fuzzball PING은 측정 호스트와 실험 도구 모음에 속했습니다. 무스의 프로그램은 반복 가능한 Echo 프로브를, 지역 연결성 문제에 직면한 BSD 운영자의 손이 닿는 곳에 놓았습니다. 익숙한 출력 덕분에 돌아온 각 패킷이 판독 가능했습니다. 일련번호, 경과 시간, 이어서 송신 및 수신 패킷 수, 손실률, 최소·평균·최대 왕복 시간의 요약이 그것입니다. 프로토콜이 요청과 응답을 공급했고, 유틸리티는 루프, 시계, 결과를 대응시키는 방법, 사람이 읽을 수 있는 보고를 공급했습니다. 무스에 따르면 버클리는 그의 소스와 커널 수정을 모두 받아들였고, 이후 프로그램은 Berkeley UNIX의 일부가 되었습니다. 이 주장은 Berkeley UNIX로의 채택을 뒷받침하지만, 모든 릴리스에 날짜를 부여하거나 이후 모든 시스템에서 동일한 동작을 확립하지는 않습니다.
이름 자체에도 두 가지 역사가 있습니다. 무스는 “ping”을 소나의 소리와 음파 탐지의 발상에서 따왔다고 말합니다. 밀스의 RFC 889는 더 앞선 Fuzzball 이름을 “Packet InterNet Groper”로 풀어 씁니다. 무스는 그 확장을 밀스가 제안했다는 이야기를 간접적으로 들었다고 말합니다. 따라서 기록은 밀스의 Fuzzball 프로그램과 그 문구 사이의 연관성을, 무스 자신의 소나 설명과 함께 뒷받침합니다. 그러나 논쟁 없는 단일한 명명 사건을 확립하지는 않습니다. 같은 단어가 연구 패키지와 Unix 명령을 각각 지칭할 수 있으며, 그렇다고 둘이 하나의 프로그램이 되지는 않습니다.
결과를 읽을 때 이 차이가 중요합니다. Echo Reply는 응답자가 특정 프로브를, 예상 데이터와 일치하는 필드와 함께, 송신 시스템으로 되돌려 보냈다는 말입니다. 시간이 측정된 반복은 그 시점과 그 구간에서, 그 프로브들에 대한 지연, 누락된 응답, 변동을 드러낼 수 있습니다. 그것만으로 웹 서비스, 메일 서버 또는 다른 애플리케이션이 준비되었음을 증명할 수 없고, 응답자를 암호학적으로 확인할 수 없으며, 모든 가능한 경로를 보여줄 수 없고, 응답이 없을 때 필터링을 배제할 수도 없습니다. RFC 889에서 측정은 반복 시행과 신중한 해석을 통해 정보성을 갖습니다. BSD 명령에서는 같은 규율이 사람들이 빠르게 실행할 수 있는 도구 하나로 압축되어 있습니다. Ping은 좁은 관측을 쉽게 반복할 수 있게 만들었기 때문에 기억에 남았습니다. 그 권위는 여전히 좁았습니다.
따라서 역사적 전환은 “ping이 없던 때”에서 Ping으로의 이동이 아니었습니다. ICMP Echo는 무스의 프로그램 이전에 존재했고, 밀스는 더 실험적 기능이 넓은 Fuzzball 패키지를 더 이른 시기의 것으로 기술합니다. 1983년 BSD의 기여는 기존의 측정 개념에 결여된 운영체제 기능을 결합하여 작고 가시적인 진단 도구로 만든 것입니다. 그 인터페이스는 널리 퍼졌고, “프로브에 응답이 있었다”와 “서비스가 동작한다” 사이의 구분은 여전히 함께 따라다녀야 합니다.
출처
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





