상세 컨텐츠

본문 제목

TTL (Time To Live)

Development

by 유후(yufu) 2023. 2. 16. 01:26

본문

반응형

1. TTL (Time To Live) 🕰️

TTL은 "Time to Live"의 약자로, 네트워크에서 데이터 패킷이 유효한 시간을 나타내는 값입니다. 데이터 패킷은 인터넷상에서 전송될 때, 여러 라우터를 거쳐 목적지로 전송됩니다. 이때, 데이터 패킷이 네트워크에서 무한정 반복되는 것을 방지하고, 라우터들이 패킷을 처리하는데 오버헤드를 방지하기 위해 TTL 값이 사용됩니다.

IP 패킷에서의 TTL

IP 데이터그램이 인터넷 시스템 내에서 존재할 수 있는 시간의 상한선을 의미합니다.

TTL 값은 패킷을 전송할 때 설정되며, 패킷이 라우터를 거칠 때마다 1씩 감소합니다. 이때 TTL 값이 0이 되면, 패킷은 폐기되고 보낸 곳으로 에러 메시지가 전송됩니다. 이렇게 함으로써 패킷이 무한정 반복되는 것을 방지하고, 특정 패킷이 라우터를 계속해서 돌아다니며 네트워크의 성능을 저하시키는 것을 막을 수 있습니다.

TTL 값은 일반적으로 64 또는 128로 설정되며, TTL 값이 작을수록 패킷이 도달하는 라우터 수가 적어지므로 빠른 전송이 가능합니다. 그러나 네트워크가 복잡해질수록 패킷이 목적지까지 도달하는 데 필요한 라우터의 수가 늘어나므로, 너무 작은 TTL 값을 설정하면 패킷이 목적지까지 도달하기 전에 폐기될 가능성이 높아집니다.

DNS 레코드에서의 TTL

DNS에 질의해 응답받은 결괏값을 캐시에서 유지하는 시간을 의미합니다.

DNS에서 권한있는 네임서버는 특정 리소스 레코드의 TTL 값을 설정합니다. 재귀적 캐시 네임서버가 권한있는 네임서버에 질의를 보낼 때, 캐시 네임서버는 그 레코드를 TTL 값에 해당하는 시간동안 캐시에 저장해 둡니다. 추후 스터브 리졸버가 캐시 네임서버에 동일한 레코드에 대한 질의를 보냈을 때, 해당 레코드의 TTL 값이 아직 만료되지 않았다면 캐시 네임서버는 권한있는 네임서버에 질의를 보낼 필요 없이 캐시에 저장된 정보를 이용해 바로 응답을 하게 됩니다.

2. TTL 사용 시 장점 👍🏻

  1. 네트워크 대역폭 절약: TTL은 라우팅 루프를 방지하기 위해 사용됩니다. 라우팅 루프는 패킷이 동일한 경로를 반복하여 전송되는 상황을 말합니다. 이는 대역폭을 낭비하고 전체 네트워크 성능을 저하시킬 수 있습니다. TTL을 사용하면 라우팅 루프를 방지하고 대역폭을 절약할 수 있습니다.
  2. 네트워크 안정성 향상: TTL은 라우터 간 패킷 전송을 보장하는 데 도움이 됩니다. 라우터가 패킷을 전달할 때 TTL 값을 확인하고, 값이 0이 되면 패킷을 폐기합니다. 이를 통해 라우터 간 패킷 전송이 안정적으로 이루어질 수 있습니다.
참고 : 이러한 장점때문에 메일 교환 레코드(mail exchange record)와 같이 주소 변경에 민감한 서비스에 적합합니다. 특정 서비스의 주소가 옮겨지는 경우, 이로 인한 혼란을 최소화하기 위해 DNS 관리자는 관련 레코드의 TTL 값을 낮춥니다.

3. TTL 사용 시 단점 (주의점) 😣

  1. 패킷 전송 지연: TTL 값을 낮게 설정하면 라우터에서 패킷을 폐기할 가능성이 높아집니다. 따라서 네트워크에서 패킷 전송 속도가 느려질 수 있습니다.
  2. 서비스 거부 공격: 공격자가 TTL 값을 조작하여 패킷을 무한히 전송하면, 네트워크에서 서비스 거부 공격이 발생할 수 있습니다. 이를 방지하기 위해, 네트워크 관리자는 적절한 TTL 값을 설정하고, 네트워크 보안을 강화해야 합니다.
  3. 네임서버 부하 : TTL 값이 짧으면 상위의 권한있는 네임서버에 가해지는 부하가 커진다는 단점이 있습니다. DNS에서 해당 도메인 관련 정보가 변경되었을 때, TTL 값이 크면 새로 변경된 값으로 DNS 정보 갱신이 그만큼 지연되는 단점이 발생합니다. 반대로 TTL 값이 너무 작으면 DNS의 정보 갱신이 빨라지므로 DNS 쿼리량이 늘어나 DNS 서버 부하가 증가할 수 있습니다.
참고 : 서비스의 성질과 도메인 정보의 갱신 빈도에 따라 TTL 값을 적절히 조절하는 것이 좋습니다. 변경이 빈번하지 않다면 TTL 값을 늘려 DNS 부하를 줄이는 것이 좋고 IDC 이전이나 공인 IP, 서비스 변경이 예정되어 있다면 DNS의 TTL 값을 미리 극도로 줄여 변경을 신속히 적용하는 것이 좋습니다.

 

 

위키백과와 'IT 엔지니어를 위한 네트워크 입문'을 참고하여 작성했습니다.

반응형

관련글 더보기