티스토리 뷰
PC는 DNS 서버의 IP주소가 설정되어 있어야 한다. 보통 DHCP 프로토콜로 IP 주소를 할당 받으면서 DNS 서버 IP 주소를 DHCP Option 6을 통해 함께 받는다. 이렇게 받은 DNS를 Local DNS라 칭한다.
보통 2개의 IP 주소를 받게 되는데, 하나가 죽었을 때를 대비하기 위해서이다. 위의 주소는 LG U+ DNS 서버 주소이다.
동작 과정
- 웹 브라우저 주소 창에 www.naver.com 입력. PC는 미리 설정되어 있는 DNS(Local DNS)에게 www.naver.com 이라는 Hostname에 대한 IP 주소를 물어본다.
- Local DNS에는 www.naver.com에 대한 주소가 있을 수도 없을 수도 있다. 만약 있다면 Local DNS가 바로 PC에 IP 주소를 넘겨주고 끝이 나지만, 없다면 다른 DNS 서버들과 통신(DNS 메시지)을 시작한다.
- 먼저 Root DNS 서버에게 www.naver.com의 IP 주소를 확인한다. 이를 위해서, Local DNS 서버에는 Root DNS 서버의 정보(IP 주소)가 미리 설정되어 있어야 한다.
- 만약 Root DNS도 www.naver.com의 IP 주소를 모른다면 다른 DNS 서버의 주소를 알려주게 되는데, 이는 com 도메인을 관리하는 DNS 서버이다.
- Local DNS 서버는 com 도메인을 관리하는 DNS 서버에게 다시 www.naver.com에 대한 IP 주소를 확인한다.
- 만약 com 도메인을 관리하는 DNS 서버도 해당 HostName에 대한 IP 주소가 없다면, naver.com 도메인을 관리하는 DNS 서버의 주소를 알려준다.
- naver.com 도메인을 관리하는 DNS 서버에는 www.naver.com의 HostName에 대한 IP 주소를 보유하고 있으며, Local DNS 서버에 www.naver.com에 대한 IP 주소를 반환한다.
- 이를 수신한 Local DNS는 www.naver.com에 대한 IP 주소를 캐싱 하고(이후 다른 PC가 요청하면 바로 IP 주소를 반환할 수 있도록) 그 IP 주소 정보를 PC에 전달해 준다.
이와 같이 Local DNS 서버가 여러 DNS 서버를 차례대로 (Root DNS 서버 -> com DNS 서버 -> naver.com DNS 서버) 물어봐서 그 답을 찾는 과정을 Recursive Query라고 부른다.
- http://www.naver.com/index.html -> 이거는 URL이라 부릅니다.
- www.naver.com -> 이거는 Host Name이라 부릅니다.
- .com -> 이거는 Top-level Domain Name이라 부릅니다.
- .naver.com -> 이거는 Second-level Domain Name이라 부릅니다.
출처 : https://www.netmanias.com/ko/post/blog/5353/dns/dns-basic-operation
'Network Programming' 카테고리의 다른 글
소켓의 우아한 연결 종료 (0) | 2017.10.09 |
---|---|
[TCP/IP]소켓의 다양한 옵션 (0) | 2016.06.26 |
[TCP/IP]DNS (0) | 2016.06.26 |
[TCP/IP]스트림 half-close (0) | 2016.06.26 |
[TCP/IP]UDP (0) | 2016.06.26 |
댓글