본문 바로가기

네임서버

DNS 질의 시 TIMEOUT 시간 계산 방법

반응형

DNS 질의 시 TIMEOUT 시간 계산 방법

리눅스 시스템에서 일반적인 기본값

  • timeout
    • 보통 5초로 설정될 수 있습니다. 즉, DNS 질의에 대한 응답을 기다리는 최대 시간은 5초입니다.
  • retrans
    • 보통 3으로 설정될 수 있습니다. 즉, 첫 번째 DNS 질의에 대한 응답이 없는 경우, 최대 3번의 재전송을 시도합니다.

이러한 값은 시스템이나 배포판에 따라 다를 수 있으며 resolv.conf 파일에서 명시적으로 설정되지 않았을 때 사용되는 기본값이므로 항상 확인이 필요합니다. DNS 질의에 대해 최대 5초 동안 대기하며 응답을 받지 못한 경우 최대 3번의 재전송을 시도합니다.

DNS 질의 시간 초과(TIMEOUT)은 "timeout" 및 "retrans" 값에 따라 계산됩니다.

  1. 확인 단계
    • 시스템의 DNS 설정 파일(resolv.conf)에서 "timeout"과 "retrans" 값이 설정되어 있는지 확인합니다.
  2. timeout 및 retrans 값 설정
    • timeout 값이 설정되어 있다면 해당 값이 TIMEOUT 시간입니다. 설정되지 않은 경우 기본값은 보통 5초입니다.
    • retrans 값은 DNS 서버로부터 응답을 받지 못한 경우 재전송하는 최대 횟수입니다. 기본값은 3이며, 이 값은 변경할 수 있습니다.
  3. TIMEOUT 시간 계산
    • 첫 번째 요청에 대해 DNS 서버로부터 응답을 받을 때까지 "timeout" 값까지 대기합니다.
    • 만약 DNS 서버로부터 응답을 받지 못하면, "retrans" 값에 따라 해당 횟수만큼 재전송합니다.
    • 재전송 중 하나라도 응답을 받으면, 다시 "timeout" 값까지 대기합니다.
    • 만약 모든 재전송이 실패하면, TIME OUT 됩니다.
  4. 예시
    • 예를 들어, timeout 값이 2초이고 retrans 값이 2인 경우,
    • 첫 번째 요청에 대해 DNS 서버로부터 응답을 받을 때까지 2초간 대기하고,
    • 응답을 받지 못하면 최대 2번의 재전송을 시도합니다.
    • 각 재전송에 대해 DNS 서버로부터 응답을 받을 때까지 2초씩 대기하고,
    • 모든 재전송이 실패하면 최종적으로 6초 동안 DNS 질의를 시도하게 됩니다.
728x90

1. DNS 1대 (정상DNS) : 바로 질의 성공

vim /etc/resolv.conf
$ vim /etc/resolv.conf
nameserver 168.126.63.1
time nslookup sangcheol.kr
$ time nslookup sangcheol.kr
Server: 10.0.1.2
Address: 10.0.1.2#53

Non-authoritative answer:
Name: sangcheol.kr
Address: 222.231.8.226
real 0m0.025s

2. DNS 1대 (DNS 비정상) : 5s + 5s + 5s =15s

vim /etc/resolv.conf
$ vim /etc/resolv.conf
nameserver 168.1.2.3
time nslookup sangcheol.kr
$ time nslookup sangcheol.kr
;; connection timed out; no servers could be reached
real 0m15.016s

3. DNS 2대 (DNS 비정상, DNS 정상) : 1번 DNS 질의 실패 1초 후 2번 DNS 로 질의

vim /etc/resolv.conf
$ vim /etc/resolv.conf
nameserver 168.1.2.3
nameserver 168.126.63.1
time nslookup sangcheol.kr
$ time nslookup sangcheol.kr
Server: 10.0.1.2
Address: 10.0.1.2#53

Non-authoritative answer:
Name: sangcheol.kr
Address: 222.231.8.226
real 0m1.018s

4. DNS 2대 (DNS 비정상, DNS 비정상) : 1s+5s + 1s+5s + 1s+5s = 18s

vim /etc/resolv.conf
$ vim /etc/resolv.conf
nameserver 168.1.2.3
nameserver 168.1.2.4
time nslookup sangcheol.kr
$ time nslookup sangcheol.kr
;; connection timed out; no servers could be reached
real 0m18.023s

5. DNS 3대 (DNS 비정상, DNS 비정상, DNS 비정상) : 1s+1s+5s + 1s+1s+5s + 1s+1s+5s = 21s

vim /etc/resolv.conf
$ vim /etc/resolv.conf
nameserver 168.1.2.3
nameserver 168.1.2.4
nameserver 168.1.2.5
time nslookup sangcheol.kr
$ time nslookup sangcheol.kr
;; connection timed out; no servers could be reached
real 0m21.027s

 

728x90
반응형