DNS(Domain Name System)
DNS는 사람이 읽을 수 있는 도메인 이름(ex. www.google.com)을 컴퓨터가 이해할 수 있는 IP 주소로 변환해주는 시스템이다.
구성요소
- 도메인 이름
- DNS 레코드
- 도메인과 연결된 정보를 저장한다.
- A 레코드: 도메인을 IPv4 주소와 연결
- AAAA 레코드: 도메인을 IPv6 주소와 연결
- CNAME 레코드: 별칭 도메인 설정
- MX 레코드: 메일 서버 지정
- TXT 레코드: 도메인 관련 텍스트 정보
- DNS 서버(Name Server)
- DNS 정보를 저장하고 제공하는 서버
- Recursive Resolver: 사용자의 요청을 받아 필요한 정보를 찾아주는 서버
- Root Server: 최상위 도메인(.com, .org 등) 정보 제공
- TLD Name Server: 특정 도메인의 최상위 정보 제공
- Authoritative Name Server: 실제 도메인 정보 저장
DNS 동작 과정
- 사용자가 브라우저에 www.google.com을 입력한다.
- Recursive Resolver가 해당 도메인의 IP 주소를 요청한다.
- Resolver는 Root->TLD->Authoritative Name Server로 요청을 전달하며 정보를 찾는다.
- 최종적으로 IP 주소를 반환하여 사용자가 웹사이트에 접속한다.
CNAME(Canonical Name Record)
CNAME은 DNS 레코드의 한 종류로, 도메인 별칭을 설정할 때 사용된다. A 레코드처럼 IP주소를 직접 가리키는 것이 아니라, 다른 도메인 이름을 가리키는 역할을 한다.
CNAME 특징
- 도메인 별칭 제공
- 하나의 도메인을 다른 도메인 별칭으로 설정한다.
- ex) blog.example.com -> example-blog-platform.com
- A 레코드와의 차이점
- A 레코드는 도메인을 IP 주소와 연결한다.
- CNAME은 도메인을 다른 도메인 이름과 연결한다.
- 장점
- 도메인 관리가 쉬워진다.
- 기본 도메인의 IP 주소가 변경되어도 별칭 도메인은 자동으로 적용된다.
- 단점
- CNAME 레코드는 여러 번 참조를 발생시킬 수 있어 응답 시간이 늘어날 수 있다. 따라서 중요한 상황에서는 A 레코드를 선호한다.
- 사용 예시
www.example.com CNAME example.com
사용자가 www.example.com에 접근하면, 브라우저는 example.com의 IP 주소를 가져와 접속한다.
DNS & CNAME
- DNS는 IP 주소를 제공하기 위해 다양한 레코드(A, CNAME 등)를 참조한다.
- CNAME은 도메인 간 연결을 간접적으로 처리해 도메인 관리의 유연성을 제공한다.
- CNAME이 참조하는 도메인은 반드시 A 레코드를 통해 IP 주소를 반환해야 한다.
- 루트 도메인에는 CNAME 설정이 불가하다. 대신 A 레코드를 사용해야 한다.