본문 바로가기

Dev/Network, Web

[Network] ICMP 프로토콜 ping, traceroute

네트워크 계층(3계층)에 속하는 ICMP프로토콜을 사용하는 ping, tracert 명령어는 네트워크 오류나 라우팅 경로를 확인하기 위해 주로 사용된다. 윈도우, 리눅스에서 모두 사용할 수 있다.

 

1. ping ip주소or도메인 (-t 수동 종료시까지 계속 핑을 날림)

: 해당 주소로 메시지를 보내 응답이 자신에게 잘 돌아오는지와 얼만큼의 시간이 걸렸는지 확인할 수 있다. 결과 중 TTL(Time to Live)은 OS와 장비 등에 따라 기본값이 다르다. 해당 주소까지 가는데 라우터를 거칠 때마다 TTL기본값에서 -1씩 차감된다. 예를들어, 현재 PC에서 TTL기본값이 128이고 특정 주소까지 가는데에 5개의 라우터를 거쳤다면 ping 결과의 TTL은 123으로 나올 것이다. 라우터를 너무 많이 거쳐 TTL이 0이하가 되면 목적지에 도착하기 전이라 할지라도 해당 패킷을 소멸시켜버린다. 네트워크상에 데이터를 너무 많이 쌓이면 부하가 걸리므로 데이터의 유효기간을 정해놓는것이라 할 수 있겠다.

 

2. tracert ip주소or도메인 (-d 라우터의 호스트명을 제외한 ip만 표기)

: 해당 주소까지 가는데 어떤 ip를 거쳐 가는지, 그리고 시간이 얼마나 걸리는지 확인하는 방법이다. 목적지까지 가는데에 몇개의 라우터(홉)을 지나는지, 거쳐간 경로의 ip는 무엇인지 등을 알 수 있다.