[Network] DNS(Domain Name System)

채린·2023년 3월 1일
3

CS

목록 보기
1/5
post-thumbnail

💘 Domain Name

넓은 의미로는 네트워크 상에서 컴퓨터를 식별하는 호스트명을 가르키며, 좁은 의미에서는 도메인 레지스트리에 등록된 이름을 의미한다.
하나의 도메인 네임은 여러 개의 도메인으로 구성되며, 상위의 도메인일 수록 도메인 네임 중에서 오른쪽에 있다.

💘 DNS(Domain Name System)

ip 주소를 기억하는 것이 힘들어서 특정 이름으로 웹 서버의 ip 로 연결하는 시스템이 만들어졌는데 이것이 Domain Name System이다.
이 Domain Name System 때문에 ip 주소를 기억할 필요없이 네이버로 가고 싶으면 naver.com 만 입력해서 원하는 웹사이트로 이동할 수 있는 것이다.

1) PC 에서 naver.com을 입력한다. PC는 미리 설정되어 있는 DNS에게 ip 주소를 물어본다.

2) Local DNS에 naver.com에 대한 ip 주소가 있는 경우 PC에 ip 주소를 주고 끝난다.

3) Local DNS 에 naver.com에 대한 ip 주소가 없는 경우 다른 DNS 서버들과 통신을 시작한다. 먼저 Root DNS 서버에게 ip 주소를 물어보게 된다.

4) Root DNS 서버는 'com domain'을 도메인을 관리하는 서버에게 물어보라고 응답한다. 다시 Local DNS 서버는 naver.com의 ip 주소를 물어보게 된다.

5) com domain 을 관리하는 서버는 naver.com 도메인을 관리하는 DNS 서버에게 물어보라고 응답하고 다시 Local DNS 서버는 naver.com 의 ip 주소를 물어보게 된다.

6) naver.com의 도메인을 관리하는 서버는 ip 주소를 응답하게 되고 이를 수신한 Local DNS는 ip 주소를 캐싱하고 (다음에 물어보면 바로 응답할 수 있도록) 그 ip 주소 정보를 PC에 전달하면서 끝나게 된다.

이런 과정을 Recursive Query라고 부른다.

📚 참조

https://developer.mozilla.org/en-US/docs/Glossary/Domain
https://opentutorials.org/course/3276

Image by Felipe from Pixabay

0개의 댓글

Powered by GraphCDN, the GraphQL CDN