네트워크 / TTL(Time To Live)

개요

TTL은 Time To Live의 약자로, IP 패킷 헤더의 한 필드이다. TTL 필드는 패킷이 네트워크를 통해 전달될 때 패킷이 머무를 수 있는 최대 홉(hop) 수를 지정한다. 이 필드는 패킷이 무한히 순환하지 않도록 방지하는 데 사용된다.

TTL의 동작 방식은 다음과 같다.

  • 패킷이 네트워크를 통해 전송될 때 송신자는 TTL 값을 설정한다. 이 값은 일반적으로 64, 128와 같은 정수로 설정된다.
  • 패킷이 라우터를 통과할 때마다, 각 라우터는 TTL 값을 1씩 감소시킨다.
  • TTL 값이 0이 되면, 해당 패킷은 더 이상 전송되지 않고 폐기된다.

ping과 TTL

예를 들어 윈도우에서 google.com으로 ping 테스트를 하면, 아래와 같이 나온다.

ping google.com

Ping google.com [142.250.207.110] 32바이트 데이터 사용:
142.250.207.110의 응답: 바이트=32 시간=34ms TTL=115
142.250.207.110의 응답: 바이트=32 시간=34ms TTL=115
142.250.207.110의 응답: 바이트=32 시간=34ms TTL=115
142.250.207.110의 응답: 바이트=32 시간=34ms TTL=115

142.250.207.110에 대한 Ping 통계:
    패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
    최소 = 34ms, 최대 = 34ms, 평균 = 34ms

경로 추적

윈도우 : tracert

윈도우에서는 tracert 명령어로 는 네트워크 패킷이 목적지에 도달하기까지 거치는 경로를 추적할 수 있다.

리눅스 : traceroute

리눅스에서는 traceroute 명령어로 네트워크 패킷이 목적지에 도달하기까지 거치는 경로를 추적할 수 있다.