DNS 란?
DNS는 브라우저의 주소창에 도메인 네임 (예를 들면, www.naver.com)을 입력하고 접속을 할때, 그 도메인 네임을 이용해서 주소를 가져오는 것을 DNS라고 합니다.
그래서 DNS를 이용해서 특정한 사이트 네임으로 우리가 접근하면, 해당 주소를 가져와서 그 주소에 있는 문서에 편리하게 접근할 수 있습니다. 그럼 DNS는 어떤식으로 동작할까요?
DNS 동작 원리
1. 브라우저(크롬 등)의 DNS 캐시를 확인해서, www.naver.com 의 정보가 있는지 확인
2. 해당 정보가 있으면 가져옴. 없으면 다음 단계
3. hosts 파일에 www.naver.com 의 정보가 있는지 확인
4. 해당 정보가 있으면 가져옴. 없으면 다음 단계
5. PC에 저장된 Local DNS가 url에 입력한 www.naver.com 의 정보가 있는지 확인
6. Local DNS에 해당 IP정보가 있으면 가져옴. 없으면 다음 단계
7. Root DNS 서버에 www.naver.com 중 com의 정보가 있는지 확인
8. 없다면 찾을 수 없음. 있다면 com DNS의 주소를 가져옴.
9. com DNS로 naver의 정보가 있는지 확인
10. 없다면 찾을 수 없음. 있다면 naver.com DNS의 주소를 가져옴
11. naver.com DNS로 www.naver.com에 대한 IP 주소를 요청
12. LocalDNS에 해당 도메인과 IP 주소를 쌍으로 캐시에 저장
13. 브라우저가 LocalDNS에서 해당 도메인과 IP 주소를 가져와서 캐시에 저장
14. 브라우저가 해당 도메인에 대한 IP 주소를 이용해 문서를 요청
순서를 중요하게 생각해서 기술하다 보니까, 과정이 14개나 되었습니다. 이해하기 난해한 과정은 아니지만, 우리가 인터넷을 편하게 사용하는 데 있어, 조금만 깊이 들어가더라도 방대한 과정이 나오는 것 같습니다.
'Operation > Network' 카테고리의 다른 글
API - CSV(엑셀 파일) 내보내기 성능 개선 및 부하 테스트 (0) | 2022.04.16 |
---|---|
HTTP - 청크 인코딩(Transfer-encoding: chunked) [Size가 큰 테이블, 이미지 등 내려주기] (0) | 2022.03.28 |
메일 서비스 작동 원리 (with 구글, 네이버 등) (0) | 2022.03.05 |
Docker Apache에 HTTPS(SSL) 적용하기 [+HTTP, HTTPS 간 쿠키 전송안될 때] (0) | 2022.03.02 |
L4 / L7 로드밸런서 차이 (Load balancer) (0) | 2021.08.28 |