컴퓨터공학/컴퓨터망

[컴퓨터망] Domain Name System (DNS)

NIMHO 2022. 7. 10. 02:23
728x90

복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.

Need for DNS

  • 엔티티를 식별하기 위해 TCP/IP 프로토콜은 인터넷으로의 호스트 연결을 고유하게 식별하는 IP 주소를 사용한다.
  • 그러나 사람들은 숫자 주소 대신 이름을 사용하는 것을 선호한다.
  • 따라서 우리는 주소에 이름을 매핑하거나 이름에 주소를 매핑할 수 있는 시스템이 필요하다.

Purpose of DNS

  1. User가 Host name을 FIle transfer client에 전달.
  2. FTC는 DNS client로 Host name을 전달.
  3. DNS client는 DNS server IP 주소를 사용해 Query와 함께 메시지를 DNS server로 보냄.
  4. DNS server는 원하는 file 전송 서버의 IP 주소로 응답.
  5. DNS client가 IP주소를 file transfer client로 전달.
  6. file transfer client는 수신된 IP 주소를 사용해 file 전송 서버에 액세스.
DNS : 상대방 주소 알면 없어도 상관없다. 하지만 다 알지 못하기 때문에 필요하다.
DNS server는 DHCP 할 때 주소를 이미 알고 있다.

 

Name Space

  • 명확하게 하기 위해 컴퓨터에 할당된 이름은 이름과 IP 주소 간의 바인딩을 완전히 제어할 수 있는 name space에서 신중하게 선택해야 한다.
  • 즉, 주소가 고유하므로 이름이 고유해야 한다.
  • 각 주소를 고유한 이름으로 매핑하는 name space은 무계층 또는 계층적 두 가지 방법으로 구성할 수 있다.

Domain name space

root domain은 상징적인 것이다.

Domain names and labels
FQDN and PQDN

FQDN : Fully Qualified Domain Name으로 주소를 모두 다 쓴다.
PQDN : Partially Qualified Domain Name으로 필요한 부분의 주소만 사용한다.

Domains

도메인 name space의 subtree이다.
도메인 name은 subtree의 맨 위에 있는 노드의 이름이다.
도메인 자체는 도메인으로 분할될 수 있다. 

Hierarchy of name servers

server도 Domain처럼 되어있다.

Zones and domains

primary server는 디스크 파일에서 모든 정보를 로드한다.
secondary server는 primary server에서 모든 정보를 로드한다.
secondary가 primary에서 정보를 다운로드할 때 zone transfer라고 한다.

보통 두 개씩 알려주고, 간혹 가다 세 개씩 알려준다.

 

DNS in the Internet

  • DNS는 서로 다른 플랫폼에서 사용할 수 있는 프로토콜이다.
  • 인터넷에서 domain name space(트리)은 일반 domain, 국가 domain, 역 domain의 세 가지 다른 섹션으로 나뉜다.
  • (아래 그림)

DNS used in the Internet

Inverse domain : address에서 name으로 바꾸는 작업
Generic domains : .com 등
Country domains : .kr, .us, .jr 등

Generic domains

Country domains

naver.com과 naver.co.kr은 같다.
.co.kr은 한국에서 name을 관리하는 것이고, .com은 미국에서 바로 할 수 있는 global 한 것이다.

Inverse domain

inverse 도메인은 주소를 이름에 매핑하는 데 사용된다.

 

Resolution

  • 이름을 주소에 매핑하거나 주소를 이름에 매핑하는 것을 name-address resolution이라고 한다.
  • (mapping 정보들)

Recursive resolution
Iterative resolution

Iterative resolution은 client가 직접 해결한다.

 

DNS Messages

  • DNS에는 query 및 response이라는 두 가지 유형의 메시지가 있다.
  • 두 유형 모두 형식이 동일합니다.
  • query message는 헤더와 질문 레코드로 구성된다.
  • response message는 헤더, 질문 레코드, 답변 레코드, 권한 있는 레코드 및 추가 레코드로 구성된다.
  • (아래 그림 참조)

Query and response messages

 

Types of Records

  • 이전에 보았듯이 DNS에는 두 가지 유형의 레코드가 사용된다.
  • question recordquery response messages의 질문 섹션에 사용된다.
  • resource record는 응답 메시지의 응답, 권한 및 추가 정보 섹션에 사용된다.

 

Encapsulation

  • DNS는 UDP 또는 TCP를 사용할 수 있다.
  • 두 경우 모두 서버에서 사용되는 well-known port는 port 53이다.
  • 대부분의 UDP 패키지에는 512Byte 패킷 크기 제한이 있기 때문에 UDP는 response message의 크기가 512Byte보다 작을 때 사용된다.
  • response message의 크기가 512Byte보다 크면 TCP 연결이 사용된다.

 

DDNS

  • DNS가 설계되었을 때, 아무도 그렇게 많은 주소 변경이 있을 것이라고 예측하지 못했다.
  • DNS에서 호스트 추가, 제거 또는 IP 주소 변경과 같은 변경 사항이 있는 경우 DNS 마스터 파일을 변경해야 한다.
  • DNS 마스터 파일은 동적으로 업데이트되어야 합니다.
  • 따라서 Dynamic Domain Name System(DDNS)은 이러한 요구에 대응하기 위해 고안되었다.

 

Security of DNS

  • DNS는 인터넷 인프라에서 가장 중요한 시스템 중 하나이다.
  • 인터넷 사용자에게 중요한 서비스를 제공한다.
  • 웹 액세스 또는 전자 메일과 같은 응용 프로그램은 DNS의 올바른 작동에 크게 의존한다.
  • DNS는 여러 가지 방법으로 공격될 수 있다.
  • DNS를 보호하기 위해, IETF는 디지털 서명이라고 불리는 보안 서비스를 사용하여 message origin authentication과 message integrity을 제공하는 DNS Security(DNSEC)이라는 기술을 고안했다.
728x90