ping, iftop 또는 기타 도구와 같은 표준 명령을 사용하여 네트워크 케이블(이더넷, 광섬유 등)의 물리적 길이를 계산하는 쉬운 방법이 있습니까? 대부분의 Unix/Linux 버전에서 작동하는 것이 바람직합니다.
답변1
LAN 길이 케이블의 경우:
케이블에 전적으로 의존하는 패킷 왕복 지연 부분은 미터당 약 10나노초입니다.
실제 물리적 연결 케이블의 길이를 얻으려면 다음 스위치나 브리지가 테스트 패킷에 응답하도록 해야 합니다. 관리되는 스위치를 통해 적절한 프로토콜을 찾을 수 있습니다.
10나노초 범위에서는 컴파일된 C 또는 어셈블리 코드를 사용하고 루프 카운트 및/또는 HPET 타이머를 사용해야 합니다.
양쪽 끝의 하드웨어 부분으로 인해 정의되지 않은 지연이 발생할 수 있습니다. 따라서 커널 활동이 수행 중인 작업을 방해할 수 있습니다. 이 모든 것은 수천 개의 샘플을 채취하고 이상치를 버리고 평균화함으로써 완화될 수 있습니다.구경 측정시스템은 알려진 길이와 브랜드의 케이블을 사용합니다. 이 보정은 최대 한 쌍의 정확한 장치 모델에 유효합니다.
수백 또는 수천 킬로미터 단위의 WAN 링크 길이를 알고 싶다면 일반 핑에서 제공하는 시간을 사용하여 대략적인 추정치를 얻을 수 있습니다. 대부분의 케이블(광섬유든 구리든)은 속도의 0.5~0.5배로 이동합니다. 공기 중 빛의 0.9x - 그러나 활성 장치에는 추가 대기 시간이 발생하므로 어떤 케이블을 사용해야 할지 알 수 없습니다.
일부 네트워크 하드웨어(스위치, 매우 드물게 네트워크 카드)에는 소위 TDR이라는 간단한 버전이 내장되어 있습니다. 이러한 하드웨어는 케이블 길이를 상당히 정확하게 측정할 수 있습니다.