맥북과 아이맥에 탑재된 다양한 유틸리티 앱 중 하나인 Traceroute(트레이스루트)는 맥에 기본으로 내장되어 있으며, 네트워크 연결 문제를 진단하기 위해 설계된 도구입니다. 일반적인 앱이라기보다는 진단 도구에 가깝습니다. Mac 전용 프로그램은 아니지만 많은 맥 사용자에게 유용하게 활용될 수 있습니다. Traceroute를 사용하면 현재 네트워크 연결이 얼마나 불안정한지 분석하고, 맥이 특정 웹사이트에 도달하기까지 트래픽이 어떤 경로로 이동하는지 확인할 수 있습니다.
또한 Traceroute는 인터넷의 작동 원리를 배우는 교육용 도구이기도 합니다. 화면에 나타난 웹사이트에 도달하기 위해 컴퓨터가 어떤 코드와 명령어를 사용하는지 그 과정을 직접 관찰할 수 있습니다.
다만 Traceroute는 네트워크 인터페이스와 같은 세부 정보를 제공하도록 설계되지 않았습니다. 이러한 정보가 필요하다면 별도의 추가 조사가 필요합니다. Traceroute가 알려주는 정보는 호스트명(hostname) 또는 IP 주소 정도입니다.
네트워크 유틸리티(Network Utility)로 Traceroute 실행하기
Traceroute를 실행하는 방법은 크게 두 가지입니다. 첫 번째 방법은 모든 맥에 기본 탑재된 '네트워크 유틸리티' 앱을 이용하는 것입니다. 네트워크 유틸리티는 다음 경로에 위치합니다:
/System/Library/CoreServices/Applications
위 경로를 직접 따라가도 되고, Finder를 연 뒤 메뉴 막대에서 '이동(Go)' → '폴더로 이동(Go to Folder)'을 클릭하고 위 경로를 입력한 후 '이동' 버튼을 눌러 실행할 수도 있습니다. 앱을 열면 여러 개의 탭이 표시되는데, 그중 'Traceroute' 탭을 클릭합니다.
여기서 연결 상태를 확인하고 싶은 웹사이트 주소를 입력하면 해당 사이트까지의 네트워크 연결 상태를 점검할 수 있습니다.
참고로 최신 macOS 버전(monterey 이상)에서는 네트워크 유틸리티가 더 이상 기본 제공되지 않으므로, 이 경우 아래의 터미널 방식을 이용하는 것이 좋습니다.
터미널(Terminal)로 Traceroute 실행하기
두 번째 방법은 모든 맥에 내장된 터미널 앱을 사용하는 것입니다. Finder → 응용 프로그램 → 유틸리티 순서로 이동한 뒤 터미널을 실행하세요. 터미널은 원하는 작업을 수행하기 위해 정확한 명령어 입력이 필요합니다. 터미널 창을 연 후 다음 명령어를 입력합니다:
traceroute hostname
'hostname' 자리에는 연결 상태를 확인하고 싶은 서버나 웹사이트 이름을 입력하면 됩니다. 어떤 웹사이트나 서버 이름이든 자유롭게 넣을 수 있습니다.
이 과정은 시간이 다소 걸릴 수 있으므로 인내심을 갖고 기다려야 합니다. 또한 결과에 '*' 문자가 표시되면 '요청 시간 초과(request timed out)'를 의미합니다. 이 문자가 보여도 당황하지 말고 여유를 갖고 계속 기다리면 됩니다.
맥을 비롯한 애플 제품 대부분은 빠른 속도를 자랑하지만, traceroute는 몇 안 되는 느린 기능 중 하나입니다. 그 이유는 ICMP 메시징에 의존하기 때문인데, 이 방식은 본질적으로 지연이 발생합니다. 즉, 애플 제품이 일반적으로 사용하는 '빠른 경로(fast path)'가 아닌 '느린 경로(slow path)'를 기반으로 설계된 도구입니다.
마지막으로 Traceroute에는 과거 기록이 저장되지 않는다는 점을 유의해야 합니다. 당일의 연결 상태만 보여줄 뿐 지난 날의 기록은 확인할 수 없습니다. 예를 들어 어느 날 Traceroute에서 특정 웹사이트 연결에 실패했다고 표시되었지만 전날에는 정상적으로 연결되었더라도, 전날 어떤 트래픽 경로를 통해 성공적으로 연결되었는지는 알 수 없습니다.