인터넷을 사용할 때 www.naver.com과 같은 도메인 이름을 주소창에 입력한다. 하지만 실제로 컴퓨터는 이러한 도메인 이름이 아닌 IP 주소를 통해 통신한다.
그렇다면 어떻게 도메인 이름이 IP 주소로 변환될까?
이때 중요한 역할을 하는 것이 바로 DNS(Domain Name System)다.
DNS란 무엇인가?
DNS는 분산 구조형 데이터베이스로 도메인 이름을 IP 주소로 변환해 주는 서비스다. 마치 전화번호부에서 사람의 이름으로 전화번호를 찾는 것과 비슷하다.
도메인 네임의 구조와 관리
도메인 네임은 트리 구조로 되어 있으며 각 영역(Zone) 별로 구분되어 분산 관리된다.
예를 들어, www.naver.com에서 com은 최상위 도메인(TLD)이고 naver는 그 하위 도메인이다. 마지막으로 www는 호스트 이름이다. 이러한 계층 구조를 통해 도메인 네임은 관리된다.
DNS의 작동 원리
사용자 요청 -> 로컬 캐시 확인 -> DNS 서버 질의 -> 계층적 질의 과정 -> 응답 및 캐싱 -> 접속
1. 사용자 요청 | 사용자가 브라우저에 www.naver.com을 입력하면 컴퓨터는 먼저 로컬 DNS 캐시를 확인한다. |
2. 로컬 캐시 확인 | 캐시에 해당 정보가 없다면 네트워크 설정에 지정된 DNS 서버(일반적으로 ISP 제공)에 질의한다. |
3. DNS 서버 질의 | 이 DNS 서버는 캐시 DNS로 해당 도메인의 IP 주소를 알고 있다면 바로 응답한다. |
4. 계층적 질의 과정 | Root DNS 서버: 최상위로 com 도메인을 관리하는 TLD 서버의 정보를 제공한다. |
TLD 서버: naver.com 도메인을 관리하는 권한 있는 네임서버 정보를 제공한다. | |
권한 있는 네임서버: www.naver.com의 실제 IP 주소를 제공한다. | |
5. 응답 및 캐싱 | 최종 IP 주소를 얻으면 이 정보를 로컬 DNS 서버와 컴퓨터의 캐시에 저장한다. |
6. 접속 | 브라우저는 얻은 IP 주소로 네이버 웹 서버에 접속하여 웹 페이지를 로드한다. |
DNS 캐싱과 유효 기간
DNS 캐싱은 네트워크 응답 시간을 줄여준다.
캐시 된 정보는 TTL(Time To Live) 값에 따라 유효 기간이 정해진다. 이 기간이 지나면 캐시에서 삭제되고 다시 DNS 서버에 질의해야 한다.
보안 이슈와 hosts 파일
만약 DNS 서버가 잘못된 IP 주소를 제공한다면 사용자는 피싱 사이트나 악성 사이트로 유도될 수 있다.
- DNS 스푸핑: 공격자가 DNS 응답을 조작하여 사용자를 다른 사이트로 유도한다.
- hosts 파일: 로컬 컴퓨터에서 도메인 이름과 IP 주소를 직접 매핑한다.
ISP(Internet Service Provide)와 DNS 서버 선택
일반적으로 사용자는 ISP에서 제공하는 DNS 서버를 사용한다. 지리적으로 가까워 응답 속도가 빠르다.
Google DNS(8.8.8.8)와 같은 공개 DNS 서버를 사용할 수도 있지만 물리적 거리가 멀어 응답 시간이 길어질 수 있다. 일반적인 인터넷 사용에서는 ISP의 DNS 서버를 사용하는 것이 효율적입니다.
출처
inflearn.com/course/네트워크-핵심이론-기초/dashboard
외워서 끝내는 네트워크 핵심이론 - 기초 강의 | 널널한 개발자 - 인프런
널널한 개발자 | TCP/IP에서 HTTP까지! 네트워크에 대한 기본 이론이 부족한 분들이 '외워서'라도 전공 이론을 이해하고자 희망하는 분들을 위해 준비한 강의입니다. 할 수 있습니다!, 네트워크, 외
www.inflearn.com
'Dev > Network' 카테고리의 다른 글
『Network』 HTTP(HyperText Transfer Protocol) (0) | 2024.11.28 |
---|---|
『Network』 www.google.com을 주소 창에 쳤을 때 일어나는 과정 (0) | 2024.11.27 |
『Network』 User Mode와 Kernel Mode (0) | 2024.11.23 |
『Network』 Docker 정리, 근데 좀 많이 긴 (3) | 2024.11.04 |
『Network』 Internet Gateway와 NAT Gateway의 차이점은 무엇인가? (0) | 2024.11.01 |