Cloud/Network

네트워크 돋보기 - DNS(Domain Name System)

NelchuPapa 2025. 6. 23. 06:30
반응형

 

DNS(Domain Name System)

  • 사람이 읽을 수 있도록 되어 있는 도메인 이름(네이버, 구글)을 컴퓨터가 이해하고 이걸 IP 주소로 변환하는 역할
  • 맵핑되어 있음(아래 DNS Record 부분에서)

 

DNS의 계층 구조

DNS의 경우 Root부터 시작된다. 이미지처럼 사실 모든 DNS의 Root는 . 부터 시작된다. 생략이 가능해서 그렇지 사실은 있다.

그리고 뒤에서 앞으로 최상위, 차상위, 서브 도메인과 같이 단계적으로 찾아가는 원리이다.

https://thebook.io/img/007046/228.jpg

 

루트 도메인(Root Domain)

NS 계층 구조에서 가장 높은 위치에 있는 것은 루트 네임서버(또는 루트 DNS)로, 이는 모든 도메인 이름의 최종 참조 지점 역할을 합니다. 루트 네임서버는 도메인 이름을 IP 주소로 변환하는 과정에서 첫 번째 단계로 작동하며, 전 세계적으로 13개의 논리적 서버가 존재합니다. 실제로는 이 13개의 논리적 서버가 여러 대의 물리적 서버와 다양한 위치에 분산되어 운영되고 있습니다.(아래 사이트에서 확인 가능)

 

여기서 말하는 NS란 무엇인가?
NS 레코드는 어떤 도메인을 담당하는 DNS 서버가 누구인지를 알려주는 정보. 아래에 있는 DNS Record 중 하나이다. 

 

https://root-servers.org/

 

Root Server Technical Operations Association

Legend IPv6 Enabled Global IPv4 Only Global IPv6 Enabled Local IPv4 Only Local

root-servers.org

 

 

그럼 루트 도메인이 없어지면 어떻게 될까?

질문 자체가 성립이 안되겠지만 가장 첫번째 단계인 루트 도메인에서 출발을 못하기 때문에 그 이후의 과정인 . com , . net 에 접근을 할 수 없다. 따라서 인터넷을 기반으로 하는 모든 접속이 중단되는것이다.

 

 


 

 

FQDN(Fully Qualified Domain Name)

 

도메인 전체 경로를 나타내며 서브부터 루트 도메인까지 포함하는 정확한 위치까지 지정한 완전한 도메인이다.

한마디로 완전히 수식된 도메인 이름이다.

FQDN 예시) www. google. com -> 웹 서비스의 전체 호스트 이름

 

그럼 여기서 URL주소 아닌가 하는 생각이 들었는데 그럼 무슨 차이점이 있는가?

URL 은 자원의 위치 전체를 나타내는 주소라서 자세히 보면 FQDN과는 분명 다른것이 보인다. 

URL 예시) https: //www. google. com/search? q=FQDN -> https프로토콜 + FQDN + 경로 + 쿼리

 

그래서 FQDN은 이거 누구야? 라고 물어본다면 URL은 어디로 어떻게 접속해서 뭘 할까? 라고 생각하면 이해가 될것 같다.

 

 

 


 

DNS Record

DNS 서버가 특정 패킷을 받았을때 어떤식으로 처리해야할지에 대한 지침이다. 아래 이미지를 통해 이전에 봤던 NS 또한 있는것을 확인 할 수 있다.

 

대표적 레코드 유형

A = 도메인 이름을 IPv4 주소로 매핑함

CNAME = 하나의 도메인 이름을 다른 도메인의 이름으로 매핑

 

https://www.cloudtechadmin.com/wp-content/uploads/2019/03/Understanding-Different-Types-of-Record-in-DNS-Server-2-1.png

 

 

 


DNS 질의 과정(사용자가 웹사이트 주소 입력 시)

  1. 로컬 캐시 확인 – 컴퓨터가 daebong.net의 IP를 이미 알고 있는지 자기 메모장(로컬 캐시)에서 찾아봄
  2. 로컬 DNS 질의 – 캐시에 없으면 설정된 DNS 서버(Resolver)에게 IP 주소를 물어봄
  3. 루트 네임서버 질의 – Resolver가 모르면 루트 서버에 ".net"은 누가 관리하냐고 물어봄
  4. TLD 네임서버 정보 응답 – 루트 서버가 ".net" TLD 네임서버의 주소를 알려줌
  5. TLD 네임서버 질의 – Resolver가 ".net" 네임서버에게 daebong.net을 누가 관리하는지 물어봄
  6. 권한 네임서버 정보 응답 – TLD 서버가 "daebong.net은 ns1.daebong.net이 관리해"라고 알려줌
  7. 권한 네임서버 질의 –Resolver가 ns1.daebong.net에 진짜 IP 주소를 요청함
  8. IP 주소 응답 – 권한 네임서버가 daebong.net의 실제 IP 주소를 Resolver에 응답함
  9. 캐시에 저장 후 사용자에 응답 – Resolver가 IP를 메모하고 사용자 컴퓨터에 전달함
  10. 실제 접속 시작 – 컴퓨터가 받은 IP 주소로 daebong.net 서버에 접속함

 

Resolver는 리졸버는 컴퓨터가 웹사이트 주소(daebong.net)를 IP 주소로 바꾸고 싶을 때대신 돌아다니며 물어봐주는 중간 역할

TLD 네임서버는 .com, .net, .kr 과 같이 최상위 도메인을 관리하면서 그 아래의 도메인의 권한 네임서버를 알려주는 역할 -> 동네 동사무소 같으 느낌

 

 

 


 

반응형