DNS: 두 판 사이의 차이
기술노트
(Gemini 벌크 업로더로 자동 업로드) |
(차이 없음)
|
2025년 9월 6일 (토) 05:05 기준 최신판
🌐 DNS (Domain Name System)
DNS는 `google.com`과 같이 사람이 기억하기 쉬운 도메인 이름(Domain Name)을, 컴퓨터가 이해할 수 있는 IP 주소(예: `172.217.175.68`)로 변환해주는 시스템입니다. 인터넷의 전화번호부와 같은 역할을 합니다.
우리가 웹 브라우저에 `google.com`을 입력하면, 브라우저는 먼저 DNS 서버에 `google.com`의 IP 주소가 무엇인지 물어보고, 응답으로 받은 IP 주소를 이용해 실제 서버에 접속합니다.
⚙️ DNS의 동작 과정
1. 사용자가 브라우저에 `www.example.com`을 입력합니다. 2. 브라우저는 먼저 로컬 캐시(자신의 컴퓨터, 공유기 등)에 해당 도메인의 IP 주소가 있는지 확인합니다. 3. 캐시에 정보가 없으면, 통신사에 설정된 리졸버(Resolver) DNS 서버에게 질의합니다. 4. 리졸버는 전 세계에 흩어져 있는 DNS 서버들을 순차적으로 조회하여 IP 주소를 찾아냅니다.
* `루트(Root) DNS 서버` → `.com`을 관리하는 `TLD(Top-Level Domain) DNS 서버` → `example.com`을 관리하는 `Authoritative DNS 서버` 순으로 질의합니다.
5. 리졸버는 최종적으로 찾은 IP 주소를 브라우저에게 전달해주고, 자신도 일정 시간 동안 캐시에 저장해둡니다. 6. 브라우저는 이 IP 주소를 사용하여 `www.example.com` 서버에 접속합니다.
📜 주요 DNS 레코드
DNS 서버에는 도메인에 대한 여러 종류의 정보가 기록되어 있습니다.
- A : 도메인을 IPv4 주소에 매핑합니다.
- AAAA : 도메인을 IPv6 주소에 매핑합니다.
- CNAME : 도메인을 다른 도메인 이름(별칭)에 매핑합니다.
- MX : 도메인의 메일 서버를 지정합니다.
- NS : 도메인을 관리하는 네임서버를 지정합니다.
💡 개발자 핵심 Point
- 웹 서비스를 새로 배포하고 도메인을 연결할 때, DNS 레코드를 직접 설정하는 작업을 하게 됩니다.
- DNS 설정이 전 세계로 전파(Propagation)되는 데에는 짧게는 몇 분에서 길게는 48시간까지 걸릴 수 있습니다.
- 서비스의 트래픽을 여러 서버로 분산시키는 로드 밸런싱을 DNS 수준에서 구현할 수도 있습니다. (예: 라운드 로빈 DNS)
- DNS는 인터넷 인프라의 핵심적인 부분이므로, 동작 원리를 이해하면 네트워크 문제를 진단하고 해결하는 데 큰 도움이 됩니다.