2020. 6. 2.

[Network] 2.3 DNS


# 백신프로그램 설치시 C:\Windows\System32\drivers\etc\hosts 수정됬는지 구분하기 위해 해시값을 비교해본다. 고쳤을때 백신프로그램 경고 안뜨면 문제가 있는 것이다.

*DNS : Domain Name System

사람 : 많은 인식정보를 가진다.
  • 주민등록번호, 이름,여권번호

인터넷의 host,라우터
  • 호스트는 흔히 말하는 IP주소로 식별된다. (network layer 4장에서..)
  • DNS 이름 : 사람이 사용하는 ..www.yahoo.com, …

Q : IP와 이름간에 map

# 사람이 일일이 숫자를 인식하지 못하기 때문에 사람이 쓰기 위해서 나온것이다.

Domain Name System

  • 분산 database
    • 수많은 name server들이 계층형 구조로 구조화 되어있다.
  • Application layer protocol
    • 다른 app layer protocol들이 HTTP, FTP, SMTP등 사용자가 제공한 호스트네임을 ip로 변환하는데 이용한다.
      • 인터넷의 가장 중요한 기능중의 하나
      • Network edge 구현된다.

*DNS

DNS services

  • 호스트명을 IP 주소로 변환한다.
  • 호스트에얼리아싱 (hostaliasing)
    • 정식 (canonical) 호스트명
    • 별칭(aliasing) 호스트명
    • DNS IP분아니라 정식 호스트명을 얻기 위해 이용되기도 한다.
  • 메일 서버 에얼리아싱
  • 분산 부하
    • 중복 web서버
여러 IP 주소가 하나의 정식 호스트명에 연관

# 질의를 두가지로 분리한다 ( 호스트명을 가져오기 때문에)
  • 내가 관리하는 도메인의 질의는 바로 응답한다.
  • 관리하지 않는 타도메인이라면 다른 DNS서버에 질의를 해야한다.

DNS 를 중앙집중식으로 하지 않는 이유???

  • 서버 장애 (인터넷 다운…)
  • Traffic의 집중
  • 중앙 서버까지의 거리
  • 관리

확장성이 전혀없다!!! (144page)


*분산 계층형 database

com DNS servers 
yahoo.com 
DNS servers 
amazon.com 
DNS servers 
Root DNS Servers 
org DNS servers 
pbs.org 
DNS servers 
edu DNS servers 
poly.edu 
umass.edu 
DNS serversDNS servers

Clientwww.amazon.com IP를 원하는 경우
  • Root DNS서버에 접속 com DNS server IP를 질의한다.
  • 응답받은 com DNS서버의 IP amazon.com을 관리하는 DNS server IP를 질의한다.
  • 응답받은 amazon.com 관리 DNS server에게 www.amazon.com IP를 질의한다.
  • Clientwww.amazon.com IP를 획득한다.

# 중앙집중식 관리 - 국가기관망(행정망)
# DNS 분산 계층형 DB 구조를 만든것은 중앙통제가 가능한 현실세계를 베껴옴
# 유닉스시스템의 / 쓰던것을 .으로 바꿔서 디렉토리구조를 똑같이 베껴온것이다.

*DMZ존이 구분된 네트워크 구조에서 DNS 두대여야한다.

  • 한대는 DMZ존에 설치한다. - 회사의 서버서비스(web,ftp)등을 외부에서 접속하기 위한 네임서버이다. - 가용성에만 신경쓴 정보이기 때문에 외부에서 가져갈만한 정보는 있으면 안된다.
  • 한대는 내부에 설치한다. - 내부에 있는 사람들이 내부서버에 접속에 접속하기 위한 것이다.
# 서버이름을 ip 주는 현장에서 갑자기 접속이 끊긴다면 ip 바뀐것이다….. 내부 dns 없기 때문에 일어난 현상이다.

*Root name servers

  • Local name 서버가 Authoritative(책임) DNS server 찾기 위해서 접근한다.
(이름을 반환하는 역할을 수행하지 않는다.)
  • root name server
    • Contacts authoritative name server if name mapping not know
    • Get mapping
    • Returns mapping to local name server

a Verisign. Dues, VA 
c Cogent. Herndon. VA (also Los Angeles) 
d U Marylnd College Park, MD 
g US DOD Vienna. VA 
h ARC Aberdeen, MD 
j Verisign, I Ocatkms) 
e NASA Mt CA 
f Internet Scftware C Palo Alto 
CA 17 
b USC-ISI Marina del Rev, CA 
I ICANN Los Angeles, CA 
k RIPE Lon&n (also Amsterdam, 
6K9ca, Stockhorn (plus 3 
Other Dcations) 
m WIDE Tokw

*TLD and Authoritative servers

Top-Level domain(TLD) server : com, org, net등과 같은 상위 레벨 도메인과 모든 국가의 상위 레벨 도메인에 대한 책임이 있다.
  • net TLD : Network solutions maintains servers
  • edu TLD : 교육
Authoritative(책임) DNS server : 인터넷에 접근하기 쉬운 host 가진 기관은 호스트 명을 IP로 매핑하기 위한 DNS 레코드를 제공하는데 책임 DNS서버는 이 레코드를 갖는다.
  • 일부 서비스 제공자의 책임 DNS서버에 이 레코드를 저장하도록 비용을 지불할 수도 있다.

*Cache Name Server

엄격한 계층 구조에 포함되어 있지 않다.
ISP는 최소 하나의 local name server(Cache)를 갖는다.
  • Default name server라고 불린다.
호스트가 DNS 질의를 보내면 이것은 local name server에 전달된다.
  • Local name server는 전송된 질의를 DNS 서버 계층으로 전달하도록 proxy를 동작한다.

*

cis.poly.edu 호스트가 gaia.cs.umass.edu 서버의 IP 알고자 할때
query 1 : 재귀적 질의
query 2,4,6 : 반복적 질의

root DNS server 
2 
3 
TLD DNS server 
4 
5 
local DNS serve 
dns . poly . edu 
7 
8 
6 
authoritative DNS server 
dns . . umass .edu 
requesting host 
cis . poly . edu 
gala. . umasS.edu

*DNS queries

recursive query:
  • 접속한 name server name 대한 IP mapping 정보를 찾아줄 것을 요구하는 query
  • Heavy load
iterated query:
  • 접속한 서버에 ip mapping 정보 또는 다음단계의 name 서버의 주소를 query하는것

# 아래 그림과 같이 질의하는 경우는 포워딩하는 경우만 해당된다.
# 옛날에는 포워딩은 트리구조에서 잎노드끼리 찾아오는 부분이 있을때 사용했다. zone 파일에 serial 값이 오버플로우되서 그런것이다.
# serial 넘버가 처음 교재에는 10자리로 가르키다보니 .. 오버플로우가 발생

root DNS server 
2 
7 
local DNS server 
dns . poly . edu 
8 
3 
6 
5 
TLD DNS server 
4 
authoritative DNS server 
dns . . umass .edu 
requesting host 
cis . poly . edu 
gala. . urnasS.edu

*DNS caching

질의 사슬에서 DNS서버가 DNS 요청에 대한 응답을 받을 때 그 응답을 local memory에 저장한다.
  • DNS서버는 일정 기간이 지나면 저장된 정보를 삭제한다.
  • Local name server TLD 서버의 IP 주소를 저장 할 수 있다.
    • 이러한 caching local DNS server root server를 우회 할 수 있도록 한다.
이러한 내용은 IEFT에 있다.

*DNS record

DNS 서버들은 호스트명을 IP주소로 mapping하기 위한 RR를 저장한다.
  • RR – Resorce Records
RR format : (name, value, type, ttl)
Type = A
  • Name 은 호스트명
  • Value ip주소
Type = NS
  • Name 은 도메인명
  • Value는 책임 DNS 서버
Type = CNAME
  • Name 은 별칭 호스트명
  • Value는 정식 호스트명
Type = MX
  • Value는 별칭 호스트명

*DNS protocol message

DNS protocol : 질의와 응답 msg format이 동일하다.

msg header (12 byte)
  • 식별자 : 16 bit로 질의에 대한 응답인 경우 이 부분이 복사되어 질의와 수신된 응답간에 일치를 식별한다.
  •  플래그 :
    • 질의(0)인지 응답(1)인지 구별
    • recursion 요구 플래그
      • Client가 재귀 질의를 원할 때 설정
    • recursion 가능 플래그
      • DNS서버가 재귀기능을 지원하면 응답에 설정
    • 책임 플래그
      • DNS서버가 질의에 대한 책임서버 일때 응답에 설정

RR4 
RR4 
RR4 
RR4) 
RR4) 
RR4)

*DNS protocol message

식별자
플래그
질문수
응답 RR
책임 RR
추가 RR
질의 이름과 타입
질문(가변 질문수)
DNS서버로 부터의 응답
답변(가변 RR)
책임 서버의 Record
책임(가변 RR)
다른 도움이 되는 Record
추가정보(가변 RR)



댓글 없음:

댓글 쓰기