Domain Name Service
도메인 이름과 ip주소를 매칭해주는 시스템
-> 도메인 이름에서 IP주소를 얻거나, IP주소로부터 도메인 이름을 얻을 수 있게 함
도메인 이름: 문자형으로 표기되는 호스트 이름
리눅스 실습
DNS서비스를 하는 파일: /etx/hosts
127.0.0.1 : IP주소, localhost: 도메인 이름
IP주소를 얻는 명령어: nslookup
-> 네이버는 IP주소가 C클래스임
도메인 네임의 구성
DNS 시스템은 전 세계에 흩어져 있는 수많은 서버를 계층 구조 형식으로 관리하며, 호스트에 대한 이름 정보는 서버에 분산되어 저장된다.
아래 그림에서 네임 서버: 루트 서버, mil서버, edu서버, arpa서버, brl.mil서버, nosc.mil서버,… 등등
xx.lcs.mit.edu라는 이름 정보는 (xx.lcs.mit.edu)서버, (lcs.mit.edu)서버, (mit.edu)서버, (edu)서버, (루트)서버에 분산해서 저장
도메인 이름: 하위 호스트의 레이블부터 루트에 이르는 경로에 위치한 모든 호스트의 레이블을 점으로 연결한 것
존: 하나의 네임서버가 관리하는 영역
edu 도메인의 하부에 mit.edu라는 도메인이 존재하므로 edu도메인에는 edu와 mit.edu 네임 서버가 모두 동작한다.
따라서 edu도메인에는 서로 구분되는 존이 두 개 존재한다. mit.edu 아래에 위치한 노드의 정보는 mit.edu 네임 서버가 전적으로 관리한다.
해석기
mit.edu의 IP주소를 얻기 위해서는 네임 서버 mit.edu와 네임 서버 edu를 모두 방문해야 된다.
DNS 이름 해석과 같은 DNS서비스는 UDP를 사용한다. 그러나 메시지가 길면 TCP를 사용한다.
DNS 메시지가 512바이트보다 크면 TCP를 사용한다.
DNS에서 메시지를 전송할 때는 53번 포트를 사용한다.