도메인
특정 IP 주소를 명시하는 영숫자로 구성된 텍스트 문자열로, 사용자가 쉽게 웹 페이지를 접근할 수 있도록 만들어준다.
DNS (Domain Name System)
도메인 이름과 IP 주소를 매핑되어 있는 서버로 사용자가 IP 주소가 몰라도 도메인을 통해 웹 페이지를 접근할 수 있도록 만들어준다.
DNS 동작 과정

- Local DNS에 도메인 주소에 해당하는 IP 주소가 있는지 확인하고, 만약 있다면 IP 주소를 바로 반환한다.
- 없다면 Root DNS에 쿼리를 호출하여 해당 도메인의
TLD 네임 서버 주소를 받는다.
TLD 네임 서버란 .com, .org 등과 같은 도메인의 최상단에 있는 첫 번째 중단점을 나타낸다.
TLD 네임 서버에 쿼리를 호출하여 해당 권한 있는 네임 서버의 주소를 받는다.
권한 있는 네임 서버란 IP 주소를 확인하기 위한 마지막 단계로 도메인에 매핑되어 IP 주소를 반환한다.
권한 있는 네임 서버에 쿼리를 호출하여 해당 도메인의 IP 주소를 받는다.
- TTL과 함께 반환 받으며, 해당 TTL 동안 도메인에 대한 IP 주소를 캐시한다.
- 해당 IP주소로 이동하여 웹 페이지를 띄운다.
DNS 레코드
DNS 레코드는 DNS 서버가 어떤 식으로 처리할지 지시하는 내용을 담고 있다. DNS 레코드의 종류는 대표적으로 아래가 있다.
- A 레코드, AAAA 레코드
- A레코드 : IPv4 주소 매핑
- AAAA레코드 : IPv6 주소 매핑
- CNAME 레코드
- 별칭 도메인을 정식 도메인으로 연결한다. 즉, 하위 도메인을 도메인 A 또는 AAAA 레코드에 연결하는 데 사용한다.
- www.example.com , api.example.com 에 대해 두 개의 A 레코드를 만드는 대신 api.example.com을 CNAME 레코드에 연결한 다음 example.com의 A 레코드에 연결할 수 있다. 이를 통해 루트 도메인에 대한 IP 주소가 변경되면 A 레코드만 업데이트하면 되고 CNAME은 자동을 업데이트 된다.
- A 레코드 VS CNAME 레코드
- A 레코드는 한번의 요청으로 IP 주소를 바로 알 수 있어 속도가 빠르다는 장점이 있는 반면, IP 주소가 자주 바뀌는 환경에서는 바뀔 때 마다 IP 주소를 변경해야 하기 때문에 번거롭다는 단점이 있다.
- CNAME 레코드는 여러 서브 도메인들은 메인 도메인과 매핑된 CNAME 레코드로 저장하면 IP 주소가 변경될 때, 하나의 레코드만 수정하면 되는 장점이 있는 반면, A Record를 찾기 위해 여러번 요청을 해야 하기 때문에 A 레코드에 비하면 속도가 느린 단점이 있다.
- NS 레코드
- 어떤 DNS가 해당 도메인의 IP 주소를 찾기 위해
권한 있는 네임 서버로 가는 방법을 알려준다.
- 이를 통해 어떤 도메인에 대한 처리를 다른 도메인 네임 서버에게 위임할 수 있어서 A 업체에서 구매한 도메인을 B 업체에서 관리할 수 있다.
- MX 레코드
- 이메일을 도메인 메일 서버로 전송하기 위해 도메인의 SMTP 이메일 서버를 지정한다.
참고
https://www.ibm.com/kr-ko/topics/dns
https://www.ibm.com/kr-ko/topics/dns-records
https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/
https://www.cloudflare.com/ko-kr/learning/dns/dns-server-types/
https://www.cloudflare.com/ko-kr/learning/dns/glossary/what-is-a-domain-name/
https://www.cloudflare.com/ko-kr/learning/dns/top-level-domain/
https://inpa.tistory.com/entry/WEB-🌐-DNS-개념-동작-완벽-이해-★-알기-쉽게-정리