2. DNS 동작 과정
상황: 사용자가 google.com에 접속 시도
① google.com 에 대한 IP가 등록됐는지 Hosts 파일을 확인한다. 없으면 ②번 진행
※ Host 파일 위치
- Windows : C:\windows\system32\derivers\etc\hosts
- Linux : /etc/hosts
② DNS cache에 google.com 정보가 있는지 확인한다. 없으면 ③번 진행
- Windows : ipconfig /displaydns
- Linux : [확인 필요] --> 추정으론 service nscd status
③ PC(장비)설정된 로컬 네임서버에 DNS Query 한다.
④ Query를 수신한 네임서버는 본인의 DNS cache에 해당 정보가 있는지 확인하고 없으면 ⑤번을 진행
⑤ Root DNS에 google.com 에 대한 IP정보 요청하는 Query를 전달.
- Root DNS 란?
- 인터넷 도메인의 시작점으로 나무 구조로 되어있는 DNS 계층의 최상위 네임서버, DNS 프로토콜 응답 UDP내부에 수용된 서버 수의 최대치가 13이라 전세계에 13대의 Root Dns가 있다.
⑥ Root DNS는 자신의 Zone File에 정보가 있다면 IP주소를 응답하고 없으면, COM의 DNS 서버의 IP로 응답
- Zone File이란?
- 다른 포스트에 작성할 예정
- COM DNS 란?
- 다른 포스트에 작성할 예정
⑦ Local DNS 서버는 Root DNS에게 받은 COM DNS에 google.com에 대한 IP주소 요청을 위해 Query 를 전달.
⑧ COM DNS 서버는 자신의 Zone File에 google.com 의 IP정보가 있다면 IP로 응답하고 아니면 google.com의 DNS 서버 IP로 응답.
⑨ Local DNS 서버는 COM DNS 서버가 전달해준 google.com DNS 서버에 google.com에 대한 IP정보 Query를 전달
⑩ google.com DNS서버는 자신의 Zone File을 확인하여 google.com에 대한 IP주소를 응답
⑪ Local DNS 서버는 ⑩에서 응답 받은 google.com 서버 IP 정보를 Client로 응답. 그와 동시에 TTL 시간동안 google.com 에 대한 IP를 cache에 저장한다. ( 응답 및 캐싱 )
- TTL이란?
- 다른 포스트에 작성할 예정
⑫ Client는 응답 받은 google.com의 IP정보로 패킷을 생성 후 접속을 시도한다. 그와 동시에 TTL 시간동안 google.com에 대한 IP를 cache에 저장한다. ( 요청 및 캐싱 )
⑬ 접속 요청을 받은 google.com은 해당 값을 Client에 전송
⑭ 사이트 접속 성공
'Network > 네트워크 일반' 카테고리의 다른 글
4. Client 입장에서 DNS 트러블슈팅 (0) | 2020.05.29 |
---|---|
3. DNS 용어 정리 ( 추가중 ) (0) | 2020.05.29 |
1. DNS는 무엇인가 (0) | 2020.05.29 |
RIB, FIB, CEF 정리 (0) | 2020.03.09 |
Static Routing protocol Type (0) | 2020.02.12 |