❗DNS란?
인터넷에서 도메인 이름(예: www.example.com)을 IP 주소(예: 192.0.2.1)로 변환하는 시스템이다. 사람이 기억하기 쉬운 도메인 이름을 사용해 웹사이트나 네트워크 자원에 접근할 수 있게 하며 IP 주소로 서버에 연결을 가능하게 하여 인터넷의 전화번호부 역할 한다. 인터넷이 정상적으로 작동하려면 신뢰할 수 있고 빠른 DNS 서비스가 필수적이다.
❗DNS의 역할과 동작 원리
DNS는 계층 구조로 이루어져 있으며 단계별로 정보가 저장되고 검색된다.
- DNS 요청과 캐시 확인
- 사용자가 웹 브라우저에 도메인 이름을 입력하면 먼저 브라우저와 운영 체제에서 해당 도메인 이름의 IP 주소가 캐시(임시 저장소)에 있는지 확인함
- 캐시에 존재하지 않으면 DNS 서버에 요청을 보냄
- DNS 서버 계층 구조
- 루트 DNS 서버: 최상위에 위치하며 모든 도메인의 최상위 정보를 관리
- .com, .org, .net과 같은 최상위 도메인을 관리하는 TLD 서버의 위치를 알려줌
- TLD(Top-Level Domain) DNS 서버: 특정 최상위 도메인(.com, .org 등)에 대한 정보를 관리
- 해당 도메인의 권한 있는 네임 서버(Authoritative DNS Server)를 알려줌
- 권한 있는 네임 서버(Authoritative DNS Server): 최종적으로 도메인 이름과 IP 주소의 매핑 정보를 가지고 있으며 클라이언트가 요청한 IP 주소를 반환
- 루트 DNS 서버: 최상위에 위치하며 모든 도메인의 최상위 정보를 관리
- DNS 레코드 유형: 다양한 서비스와 네트워크 자원을 원활히 연결하고 관리하기 위해 필요
- A 레코드: 도메인 이름을 IPv4 주소로 매핑
- AAAA 레코드: 도메인 이름을 IPv6 주소로 매핑
- CNAME 레코드: 도메인 이름을 다른 도메인 이름에 매핑해 별칭을 제공
- blog.example.com을 example.com으로 연결하면 blog.example.com에 대한 요청이 example.com으로 전달
- NS 레코드: 해당 도메인의 권한 있는 네임 서버를 지정
- 다른 네임 서버를 둔다는 것은 하나의 도메인이 여러 네임 서버를 통해 관리될 수 있도록 설정하는 것을 의미
- example.com 도메인의 DNS 요청이 ns1.example.com과 ns2.example.com 네임 서버에서 처리
❗DNS 요청 과정 예시
1. 브라우저 캐시 확인 | 브라우저에서 캐시를 확인하여 example.com의 IP 주소가 있는지 찾는다. |
2. 로컬 DNS 서버 요청 | IP 주소가 캐시에 없으면, ISP(인터넷 서비스 제공업체)의 로컬 DNS 서버에 요청을 보낸다. |
3. 계층적 조회 | 로컬 DNS 서버가 루트 DNS 서버에 example.com의 IP 주소를 요청합니다. 루트 서버는 .com TLD 서버의 주소를 응답한다. |
4. 권한 있는 네임 서버 확인 | TLD 서버는 example.com에 대한 권한 있는 네임 서버 주소를 응답한다. |
5. 최종 IP 주소 반환 | 권한 있는 네임 서버가 www.example.com의 IP 주소를 반환한다. |
6. 브라우저 컨텐츠 요청 | 브라우저는 이 IP 주소로 서버에 접속하여 웹 페이지를 로드한다. |
728x90
반응형
'🔻Computer Science > Network' 카테고리의 다른 글
[Network] LoadBalancing (0) | 2024.09.21 |
---|