DNS (Domain Name System)
- 배경
- 모든 전송은 목적지의 IP 주소를 알고 있어야 전송이 가능하나 응용을 위한 모든 IP 주소를 알기 힘들고 변동되는 경우가 많다.
- 문자열과 같은 직관적인 "이름"으로 IP 주소를 명명할 수 있다.
- 사람이 읽을 수 있는 이름, 호스트 이름(hostname))으로 간단히 원하는 서비스를 요청할 수 있다.
- Domain Name System/Service (DNS)
- 계층적으로 구성된 분산형 데이터 베이스 시스템.
- DNS 서버 혹은 네임 서버라고 한다.
- 사용자가 hostname에 대응하는 IP 주소를 요청할때 DNS 응용프로토콜을 사용한다.
- 분산적, 계층적 DNS 서버
DNS 서버는 계층적으로 분할 되어 있고 트리형식으로 각 상위 레벨 도메인은 하위 레벨 도메인을 관리한다.
- Root Name Servers
최상위 계층 서버로 전세계 총 13개가 있다.
- Top Level Domain Servers
상용 기업(com) / 교육기관(edu) / 비정부 단체(org)/ 국가 분류(kr, us, uk, jp, ...)
- com servers: naver.com
- edu servers: poly.edu
- org servers: pbs.org
- country domain servers: snu.ac.kr
- Autoritative Server
- 조직, 기관에 의해 관리되는 네임 서버
- 기관이나 조직이 관리하는 IP 주소에 대응하는 hostname을 직접 명명할 수 있다.
- ex) 메일 서버
- Local DNS server
- 계층에 속하지 않는다.
- ISP가 지역적으로 설치하여 관리하며 "default name server"로 불린다.
- 가장 먼저 접속되는 DNS 서버로 캐시 기능이 있다.
유저가 DNS Query를 통해 hostname에 해당하는 네트워크 IP를 알아내는 과정
User --(hostname이 포함된 DNS 쿼리)--> 계층적 DNS 서버 --(응답)--> User (IP주소를 알게된다.)
- Iterative DNS Query to Get IP address of www.naver.com
- 사용자 -> Local DNS: www.naver.com의 IP 주소를 요청
- Local DNS -> 최상위 DNS (Root DNS): www.naver.com의 IP 주소를 요청
- Root DNS -> Local DNS: com DNS 서버의 IP 주소를 알림
- Local DNS -> com DNS: www.naver.com의 IP 주소를 요청
- com DNS -> Local DNS: naver.com DNS의 IP 주소를 알림
- Local DNS -> naver.com DNS: www.naver.com의 IP 주소를 요청
- naver.com DNS -> Local DNS: www.naver.com IP 주소를 알림
- Local DNS -> 사용자: www.naver.com IP 주소를 알림
- Recursive query
- 사용자 -> Local DNS
- Local DNS -> Root DNS
- Root DNS -> TLD DNS
- TLD DNS -> Sub domain of TLD DNS
- Sub domain of TLD DNS -> TLD DNS
- TLD DNS -> Root DNS
- Root DNS -> Local DNS
- Local DNS -> 사용자
DNS Protocol
Query와 Reply용 메세지로 같은 프로토콜을 사용한다.
- header 내용
- identification: ID 번호
- flags: query or reply
- questions: query를 위한 name, type 필드
- answers: reply를 위한 RR format <name, value, type, TTL>
- autority: 경유한 authorative servers를 기록
'Computer Science 기본 지식 > 컴퓨터 네트워크' 카테고리의 다른 글
[네트워크] Web Request를 통한 인터넷 연결 과정 (0) | 2021.01.10 |
---|---|
[네트워크] 링크 계층 (2) MAC 주소 / ARP 주소 결정 프로토콜 / Ethernet 프로토콜 (0) | 2021.01.10 |
[네트워크] 링크 계층 (1) 서비스 / EDC / MAP 다중 접속 프로토콜 (0) | 2021.01.09 |
[네트워크] 네트워크 계층 (4) SDN 개념 / OpenFlow (0) | 2021.01.07 |
[네트워크] 네트워크 계층 (3) 라우팅 알고리즘 (RIP, OSPF, BGP) (0) | 2021.01.07 |