잡다

DNS 기초 - 1

은듄 2020. 6. 7. 14:48
반응형

DNS 에 대하여,




Domain Name System


- 도메인 네임(Domain Name)과 IP주소를 매핑시켜주는 분산 네이밍 시스템

  도메인 네임이란,, 인터넷 주소이다. 즉, 인터넷에서 쓰이는 문자 기반의 문패.

  원래 인터넷 연결 처리시 컴퓨터 언어로 이해하기 쉬운 IP라는 숫자 기반의 주소로 연결했지만,

  숫자로 서비스 유형과 기억하기 어려운 단점이 있어서

  ARPAnet 시절부터 문자화 및 규칙을 적용시켜, 국제적으로 등록해놓고 IP와 인터넷주소를 매핑시켜 사용할 수 있게 하였다.


  -> 도메인 네임에 대한 네이버 키워드

  https://terms.naver.com/entry.nhn?docId=3607492&cid=58598&categoryId=59316

  -> DNS의 역사

  https://blog.naver.com/soulzer/80002600050



- 도메인 네임을 풀네임으로 적지 않아도 되는 도메인 완성기능도 있다.


- ARPAnet시절 = 호스트 수가 적었다!

  ARPAnet 시절은.. 지금의 인터넷의 근간이었던 냉전체제때의 미 국방부의 네트웍 시스템을 첨단연구계획청(Advanced Research Projects Agency, ARPA) 의 분산 형 네트웍(호스트간 통신 루트가 1개 이상) , 패킷 스위칭 통신(공격에 의한 데이터 손상에도 일부 데이터만 다시 재송하면 가능한 패킷 단위 스위칭 통신 방법)의 2가지 개념에 입각한 네트웍 간의 네트웍 환경을 만들다. ( 당시 노드들은 미 대학교 시스템이었다.)

-> 당시의 DNS는 NIC으로부터 일정 주기마다 호스트 명단 파일을 받아, /etc/hosts에 저장하여 사용하였다.


- 현재의 인터넷 규모가 커지고, 호스트 수가 많아지면서

-> DNS 시스템이 탄생 하였고= 네임스페이스 계층구조, 분산 데이터베이스, Email 라우팅 개선이 이루어지게 되었다.


DNS Namespace


- ARPAnet 중앙관리 체제 = 하나의 파일로 관리(/etc/hosts)


- DNS =  도메인 별로 트리구조와, 분산관리

             디렉토리 구조와 유사함


- Root Domain(.com) 인 Top Level 도메인에 관한 정보를, Top Level 도메인은 그 하위 도메인에 관한 정보를 유지/ 관리하는 구조를 취한다. 

  -> 이러한 정보의 계층구조로 인하여 정보는 각 도메인의 네임서버(NS : Name Server)로 분산, 관리된다.


예) www.yahoo.com 도메인을 기준으로 yahoo.com은 com 네임서버에 등록되어 있고, www.yahoo.com은 yahoo.com의 네임서버에 등록, 관리된다.  그래서 video.yahoo.com는 yahoo.com 도메인을 관리하는 네임서버의 관련 레코드만을 수정함으로써 가능하다. 


Domain Name Resolving 


- TCP/IP  패킷에 도메인 명을 위한 공간 X


- Client의 응용이 www.yahoo.com에 접속하기 위한 방법.

  1) 자신의 Local NS(TCP/IP 설정시 명시한)에 질의한다.

  2) Local NS 가 자신의 캐쉬에 도메인에 대한 정보가 없을시, Root NS에게 질의한다(Root NS 정보는 가지고 있다.) 

  3) Root NS도 www.yahoo.com에 대한 정보가 없으므로, com 도메인을 관리하는 NS를 참고하라는 답변을 보내준다.

  4) Local NS가 다시 com NS에 질의하고 com NS는 정보가 없기에 다시 yahoo.com NS에 문의하라는 답변을 준다.

  5) Local NS는 yahoo.com NS에 질의한다. 실제 www.yahoo.com은 yahoo.com NS에서 관리하는 도메인으로 매핑된 ip를 리턴해준다.(Authoritative answer).

    * 여기서 실제 리턴 받는 아이피 들은 여러개가 될 수 있다. 왜냐면 www.yahoo.com이 한개의 서버로 운영된다면,, 그 서버가 공격을 당하거나 해서 죽어버리면?? 그냥 서비스가 안되게 둘 이유가 없다. 다수의 서버를 두어 미러링 서버로 운영되는 것이 일반적이고, 부하 공유를 위해 해당 도메인에 다수의 IP를 매핑해 두었다. 그래서 실제로는 



* 실제 www.yahoo.com 를 Local PC에서 찾아보기!

  내가 연결한 WIFI는 KT_GIGA_5G_Wave2_149C 이며, TCP/IP IPv4 기준으로 DHCP(자동으로 IP주소 받기, dynamic IP할당)된 상태로


WIFI에서 설정한 기본 DNS 서버는 kns.kornet.net / IP : 168.126.63.1 이고,

www.yahoo.com을 nslookup 결과는 IPv4 기준으로 106.10.250.10, 106.10.250.11을 리턴받아 왔다.

 


위 사이트를 인터넷으로 접속해보면, 실제 Yahoo 에서 제공하는 서버로 접속된다.



도메인명 문자셋


- 'A-Z', 'a-z', '0-9', '-'

- 숫자나 문자로 시작

- 전부 숫자 불가능

- '-' 앞/뒤 사용 X

- 도트 분리되는 문자열은 최고 63단어(octet)까지

- 대소문자 구분 x

- 도메인 등록기관 : KRNIC(숫자로 시작하는 도메인명 허용 X, 세그먼트 63자까지 풀어줌), 

                         ICANN(숫자로 시작하는 도메인 허용 O, 세그먼트 22자로 제한)

- Email에도 도메인명으로 사용: RFC 822 규칙 준수





이상 DNS의 기초에 대해 알아 보았습니다.

반응형