← 질문 목록
#31깊이 0
DNS 조회는 어떤 순서로 도는가?
가까운 캐시부터 확인하고 없으면 위로 올라간다. 브라우저·운영체제·리졸버 순으로 묻고, 아무도 모를 때만 루트에서 시작해 단계마다 다음 서버를 안내받는다.
- 1. 브라우저에서 리졸버로: 캐시에 없다. 대신 물어봐 달라
- 2. 리졸버에서 루트로: .com은 누가 아는가
- 3. 루트에서 리졸버로: com 네임서버 주소다
- 4. com에서 리졸버로: example.com 네임서버 주소다
- 5. 리졸버에서 브라우저로: 최종 IP다. TTL만큼 캐시해라
한 번에 답을 주는 것이 아니라 다음에 물을 곳을 알려준다. 루트가 모든 도메인을 알 필요가 없어서 이 구조가 버틴다.
DNS는 짧은 질의마다 연결을 맺는 비용을 피하려고 UDP를 쓴다. 질의 하나에 응답 하나라 연결을 맺는 값이 아깝고, 응답이 커지면 TCP로 다시 묻는 경로가 따로 있다.