네트워크/네트워크

tracert & traceroute

비니화이팅 2018. 1. 18. 20:23

traceroute(리눅스)/tracert(윈도우)

종단 노드 사이에 있는 여러 중계 노드 각 구간에 대한 네트워크 상태를 관리한다.

- IP주소나 URL로서 목적지를 입력하면 각 구간마다 지나는 게이트 웨이 컴퓨터 이름이나 주소,걸리는 시간등을 표시한다.

각 구간에 대한 접근성 및 네트워크 속도를 검사한다.

- 경로상의 문제점이 있는 네트워크를 파악할 수 있다.

- ICMP Time Exceeded메시지와 ICMP Destination Unreachable메시지를 이용한다.

- 기본 옵션으로 실행시 각 구간별로 3번의 UDP패킷을 전송하고 응답속도를 보여준다.


<원리>

1. 각 중계 노드 구간에 대한 상태를 측정하기 위해 IP의 TTL필드를 1로 설정한 UDP패킷을 보낸다.

2. 라우터는 패킷의 생존기간을 계산하기 위해 TTL값을 1 감소시킨 후 그 결과 0이 되면 TTL초과로 보고 해당 패킷을 폐기한 후 ICMP Time Exceeded(Type11)메시지를 최초 출발지로 보낸다.

- 1로 설정하면 첫 번째 라우터에서 폐기가 되고 ICMP응답이 오기 때문에 이를 이용하여 출발지 호스트와 첫 번째 라우터간의 네트워크 상태를 판단한다.

3. TTL을 1씩 증가시키면서 UDP패킷을 지속적으로 전송하여 다음 중계구간에 대한 네트워크 상태를 판단한다.

4. 목적지 호스트에 도착하면 해당 UDP포트가 열러있지 않으므로 ICMP Destination Unreacable(type:3)메시지가 반환되며 출발지 호스트는 이 정보를 이용하여 목적지 호스트임을 식별한다.


<*표시>

응답시간이 *로 표시되는 경우는 지정한 시간(default : 4초) 내에 응답이 없는 경우로 보안상의 이유(방화벽 또는 라우터에서 응답하지 않도록 설정)거나 실제 해당 구간에 문제가 발생한 경우이다.