IP란?
- 인터넷에 연결되어 있는 장치가 가지고 있는 주소 (115.68.24.77)
도메인이란?
- IP를 사람이 외울수는 없다. 그래서 쉽게 한글이나 영어로 이름을 부여한다.(네이버, naver.com)
DNS란?
- 인터넷의 전화번호부와 같다.
- naver.com 과 같은 도메인 이름으로 온라인 정보에 엑세스 할 수 있다.
- 웹 브라우저는 IP 주소로 상호작용하는데, DNS는 도메인 이름을 IP 주소로 변환해 브라우저가 인터넷 리소스를 로드할 수 있도록 해준다.(IP와 도메인을 연결해주는 시스템)
DNS 서버
- DNS 서버는 사용자가 도메인 이름을 웹 브라우저에 입력할 때 해당 사용자를 어떤 서버에 연결할 것인지를 제어한다.
- 이러한 요청을 쿼리라고 한다.
- DNS 서버는 IP 주소와 도메인을 저장하고 맵핑하는 일종의 데이터베이스이다.
DNS 서버 작동 원리
- 웹 브라우저에 도메인 이름을 입력하면 컴퓨터는 해당 IP 주소를 얻기 위해 DNS 서버에 요청을 보낸다. 그러면 DNS 서버는 데이터베이스를 검색하거나 다른 DNS 서버에 연결하여 도메인 이름과 연결된 IP 주소를 찾는다. IP 주소를 찾으면 컴퓨터로 반환되어 요청된 웹사이트 또는 서비스에 연결할 수 있다.
Domain 구조
- 도메인의 체계적인 분류와 관리를 위해 도메인 이름은 몇 개의 짧은 영문자를 '.(닷,점)'으로 연결한 계층 구조를 갖고 있다.
- 역트리의 계층 구조로 되어 있다.
- 1단계 도메인 또는 최상위도메인 TLD,TOP,Levle Domain : 루트 바로 아래 단계의 도메인
- 'kr'과 같이 국가를 나타내는 국가 코드 도메인(ccTLD)
- 'com' 같이 등록인의 목적에 따라 사용되는 일반 도메인(gTLD)
- 2단계 도메인 : 조직의 속성을 구분하는 'co(영리 기업)', 'go(정부 기관)', 'ac(대학)'과 같은 도메인이 있다.
- 3단계 도멤인 : 조직이나 서비스의 이름을 나타내는 도메인 이름으로 도메인 사용자가 원하는 문자열을 사용할 수 있다.
- 마지막에는 호스트가 위치한다.
- 도메인을 표기할 때는 낮은 단계부터 표현하여 최상위 도메인이 가장 뒤에 나타난다.
- 도메인은 도메인 계층 구조를 반영한 네임 서버(DNS 서버라고도 한다)에 저장 및 관리된다.
- 각 네임 서버는 도메인 계층의 일부 영역을 담당하고 그 영역에 속한 도메인을 관리한다.
- 상위 계층의 네임 서버는 하위 계층의 도메인에 대한 정보를 관리하고 하위 계층 네임 서버의 IP 주소를 갖고 있다.
- 최상위 계층인 루트 네임 서버의 IP 주소는 모든 DNS 서버가 등록하여 관리한다.
DNS 기본 동작
- Recursive Query : Local DNS 서버가 여러 DNS 서버를 차례대로(Root DNS 서버->com DNS 서버-> naver.com DNS 서버) 질의해서 호스트 네임에 대한 IP 주소를 찾아가는 과정
- 이렇게 매번 루트 네임 서버에서부터 도메인의 트리 구조를 따라 순서대로 IP 주소를 찾아가는 과정을 반복하는 것은 효율적이지 않다.
- 그래서 DNS 서버는 질의한 정보를 한동안 캐시에 저장하여 같은 질의가 들어오면 루트 네임 서버까지 가지 않고 바로 IP 주소를 알려준다.
DNS 레코드
- DNS에 받은 요청을 어떻게 처리할 것인지에 대한 정보
- A / 유형 값 : 1
- IP 주소와 도메인 주소를 매핑할 때 사용하는 레코드로써 하나의 도메인에 여러 개의 IP 주소를 등록할 수 있다. 예를들면 naver.com의 A레코드를 조회하였을 때 125.209.222.141,125.209.222.142,223.130195.20의 IP 주소가 매칭 되어있는 것을 볼 수 있다.
- AAAA / 유형 값 : 28
- A의 확장형으로 도메인이에 IPv6주소가 매핑되어 있는 레코드 이다. (IPv6가 아직 대중적으로 사용되고 있지 않다보니 거의 없다.)
- CNAME(Canonical NAME) / 유형 값 : 5
- 도메인 별명 레코드라고 부르며, Alias라고 하여 기존 도메인에 별명을 붙인 레코드이다. 예를 들어 cloud1102.tistory.com이라는 도메인이 있다고 했을 때 이 도메인 CNAME이 c1102.tistory.com이라고 한다면, c1102.tistory.com 을 입력했을 경우 cloud1102.tistory.com로 접근할 수 있다.
- MX(Mail eXchanger) / 유형 값 : 15
- 메일 서버 레코드이며, 해당 도메인과 연동되어있는 메일서버를 확인하는데 사용하는 레코드이다. naver.com의 경우 당연히 연동되어있는 메일서버가 있을 것이고 이 도메인에 대한 MX레코드는 10:mx1.naver.com , 10:mx2.naver.com, 10:mx3.naver.com 이다.
- NS(Name Server) / 유형 값 : 2
- 네임서버 레코드로 도메인에 대한 네임서버의 권한을 가지고 있는지 알려주는 레코드이다. naver.com의 NS레코드는 e-ns.naver.com, ns1.naver.com, ns2.naver.com이다.
- PTR(PoinTeR) / 유형 값 : 12
- IP 주소에 대한 도메인 주소를 확인할 수 있는 레코드이다.
- SOA(Start Of Authority) / 유형 값 : 6
- 도메인의 정보를 가지고 있는 레코드이다. naver의 경우 ns1.naver.com webmaster.naver.com 2021012809 21600 1800 1209600 180 이렇게 보여주고 있는데 마스터 네임서버, 존 관리자 연락처, 존 데이터 동기화 시간, 갱신주기, 시도, 만료 등 정보를 나타내고 있습니다.
- TXT
- 텍스트를 입력할 수 있는 레코드이다. 주로 메모를 남기는 레코드라고 보면 될 것 같다.
- SRV(SeRVice) / 유형 값 : 33
- 특정 프로토콜이나 서비스에 대해 특정 도메인을 연결해주는 역할을 담당한다. 즉, 도메인 주소를 조금 더 확장하여 하나의 동일한 도메인 주소에 있는 여러 서비스들을 참조하여 사용할 수 있다. SRV는 레코드 앞에 서비스와 프로토콜을 밑줄(_)과 함께 명시 해놓는다. 이를 통한 특정 서비스의 경우 지정된 레코드의 값으로 보내게 된다.
- A / 유형 값 : 1
DNS 레코드를 확인하는 방법
- nslookup 사용 : nslookup 명령과 함께 query 옵션을 설정하고 도메인을 입력하면 된다. ex) 네이버 MX 레코드 확인, nslookup -query= MX naver.com
- whatmydns.net
출처 : https://velog.io/@eunnbi/DNS%EC%99%80-%EC%9E%91%EB%8F%99-%EC%9B%90%EB%A6%AC
'네트워크' 카테고리의 다른 글
모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 (0) | 2025.04.02 |
---|---|
OSI 7계층이란? (1) | 2023.12.11 |
IP 기초 (2) | 2023.11.29 |