본문 바로가기

프로그래밍/Backend Developer Roadmap

[backend developer in 2022] DNS and how it works?

https://roadmap.sh/backend

 

Developer Roadmaps

Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don't know, find out the knowledge gaps, learn and improve.

roadmap.sh

 

 

DNS 란 ?

DNS(Domain Name System)는 간단하게 말하면 "인터넷 전화번호부"이다. 컴퓨터는 ip주소(192.0.0.0)로 주소를 찾는데 사람은 숫자로만 되어있는 ip주소를 기억하거나 읽기 힘들다. 그래서 사람이 편하게 읽고 쓸 수 있는 도메인 이름(www.blablabla.com)을 만든 다음 실제 IP주소로 변환해 주소를 찾는다.

 

DNS의 동작 원리

1) user은 인터넷 도메인 창에 www.example.com을 입력한다.

2~3) DNS resolver은 입력된 주소를 받는다. DNS resolver는 주소를 받은 후 실제 ip주소를 추적하는 일을 한다. DNS Resolver은 먼저 호스트네임을 받아 DNS root name server 에 전달한다. DNS root name server는 받은 호스트 네임의 루트 네임 서버를 찾는다. 루트 네임 서버는 전 세계적으로 13개만 존재하는데 Top Level Domain (이하 TLD) 를 다루는 네임서버이다.

4) DNS resolver은 TLD 서버 중 해당도는 한 곳에 전달해 호스트네임에 대한 ip 주소를 찾을 수 있는지 확인한다. TLD 서버는 호스트 네임 서버와 관련된 네임 서버를 확인해준다.

5~6) DNS resolver는 알려준 네임 서버에 가서 ip 주소를 확인한다.

7) 주소를 받은 DNS resolver은 ip주소를 웹 브라우저로 보낸다.

8) 주소를 받은 웹 브라우저는 ip주소로 호스트 네임에 대한 요청을 웹 서버에 보낸다.

9) 웹 서버는 웹 페이지를 반환한다.