지난 포스트에서 Domain Name에 관해서 다뤘습니다.
이번 포스트에서는 그 도메인 이름을 사용하기 위해서는 어떻게 동작하는지 DNS를 통해서 알아보겠습니다.
DNS
DNS는 Domain Name System의 약자로 Name Server에서 운영됩니다.
이 시스템은 도메인 이름과 IP 주소를 서로 변환해주는 역할을 합니다.
마치 인터넷에서의 전화번호부와 같다고 생각하면 편합니다.
또한 DNS는 Name Server들이 계층구조로 구현된 분산 데이터베이스입니다.
어떻게 동작하는지를 알기 위해서 DNS에 대해서 더 자세히 살펴봅시다.
DNS services
DNS는 4가지의 기능을 가지고 있습니다.
- hostname to IP address tranlation
호스트 이름을 IP 주소로 번역해줍니다. - host aliasing
단순한 별명으로 복잡한 정식 호스트 이름을 찾도록 해줍니다. - mail server aliasing
단순한 별명으로 복잡한 정식 메일 서버 이름을 찾도록 해줍니다. - load distribution
하나의 웹 서버 이름에 여러개의 IP 주소를 연관시켜
웹 서버에 많은 접근이 발생한다면 분산시켜 IP 주소를 알려줍니다.
DNS Servers
웹 페이지로드와 관련된 DNS 서버는 4개가 있습니다.
- DNS Recursor
- Root nameserver
- TLD nameserver
- Authoritative nameserver
Query
도메인 네임을 통해서 서버에 접근하고자 한다면 DNS 서버에 요청을 하게 되는데, 이 요청을 Query라고 부릅니다.
이 쿼리는 두가지 종류가 있습니다.
- Recursive Query 재귀적 질의
- Iterated Query 반복적 질의
How DNS works?
- 클라이언는 웹 브라우저나 애플리케이션을 통해 도메인 네임을 입력하여 접속을 시도하면,
현재 지역 ISP의 Local DNS Server에 도메인 네임을 쿼리합니다. - Local DNS Server는 DNS Recursor의 역할을 수행하게 됩니다. Local DNS Server는 클라이언트의 쿼리를 상위 계층의 DNS 서버에게 전송하고 응답을 기다립니다.
- 상위 계층의 DNS 서버는 Resolver를 통해 쿼리를 식별하여 하위 계층의 DNS 서버 정보를 응답합니다.
- 상위 계층 DNS 서버로부터 하위 계층의 DNS 서버의 정보를 응답받았다면, Local DNS Server는 하위 계층의 DNS 서버로 다시 요청합니다.
이 방법을 Root nameserver, TLD nameserver, Authoritative nameserver 순서대로 반복하여 동작합니다. - 최종적으로 Authoritative nameserver에서 적절한 IP 주소를 응답받게되면, Local DNS Server는 클라이언트로 IP 주소를 응답해줍니다.
Reference
저의 대학 네트워크 강의의 자료 또한 참고하여 작성하였습니다.
https://www.ibm.com/kr-ko/topics/dns
DNS | IBM
DNS는 무엇인가요? DNS의 중요성과 이의 작동 방식, 그리고 이를 필요로 하는 경우 자체 기업에 맞는 DNS 솔루션을 어떻게 선택하는지 살펴봅니다.
www.ibm.com
https://aws.amazon.com/ko/route53/what-is-dns/
DNS란 무엇입니까? – DNS 소개 - AWS
12개월 동안 AWS 프리 티어에 액세스하고 연중무휴 24시간 고객 서비스, 지원 포럼 등을 비롯한 AWS Basic Support의 기능을 사용할 수 있습니다. 현재 Amazon Route 53는 AWS 프리 티어에서 제공되지 않는다
aws.amazon.com
https://www.oracle.com/cloud/networking/dns/what-is-dns/
What is a Domain Name System? (DNS)
DNS is the main index of the internet that directs traffic for queries across the web.
www.oracle.com
https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/
'ETC' 카테고리의 다른 글
[Version Control System] VCS (0) | 2023.07.18 |
---|---|
[Internet] What is hosting? (0) | 2023.07.03 |
[Internet] What is Domain Name (0) | 2023.06.29 |
[Internet] Browsers and how they work? (0) | 2023.06.27 |
[Internet] What is HTTP? (0) | 2023.06.26 |