각 컴퓨터는 host로 IP주소를 가지고 있으며 IP주소를 통해 host는 네트워크에 연결되어 통신이 가능하다.
네트워크가 커지면서 사람들은 IP주소를 기억하기 어려워 했고 'DNS Server'를 통해 수 많은IP 관리가 용이해졌다.
운영체제별 host 파일 https://ko.wikipedia.org/wiki/Hosts
악의적으로 타인이 host파일을 조작하는 경우 본인도 모르게 "피싱사이트"로 연결되어 정보 유출이 될 수 있으며 host파일은 보안에 취약하다. 최근 웹사이트는 https로 구현되어 보안을 좀 더 강화했다.
DNS 이전에는 'Stanford Research Institute(SRI)'라는 단체에서 전 세계 IP를 관리했었으며 모든 client는 SRI에 접속해서 도메인/IP주소의 정보를 가져와 hosts파일에 기록 후 접속을 했다.
👉 전 세계 컴퓨터들이 이 파일을 다운로드 받아서 덮어씀
👉 IP가 아닌 이름을 통해 인터넷을 사용할 수 있게 되었다.


- 주소 입력 👉 DNS 서버 접속 👉 주소에 해당하는 IP 주소 반환 👉 해당 IP 주소로 접속 👉 도메인 관리가 자동화 👉 행정절차 간소화, 신속화
- 호스트 이름을 서버를 통해 관리 👉 수정 사항이 바로 반영
기본적으로 통신사가 제공하는 DNS 서버 외에 개인적인 판단 등의 사유로 Public DNS를 사용할 수 있다.
· Google public DNS (https://developers.google.com/speed/public-dns/)

- Root Name Server : 최상위 Name Server. Top-level Name Server 정보 전달
- Top-level Domain Server : .com, .net 등의 도메인 관리
- Second-level Domain Server : 도메인명을 관리
- Sub Domain Server : 최종 도메인 정보 관리
- Domain 뒤에는 .(점)이 생략되어 있다.
👉 각 Domain Server에는 DNS서버가 존재하며, 상위 레벨 Domain Sever는 하위 레벨 Domain Server 정보만 알 수 있다.
등록대행자(Registrar)는 등록자가 요청하는 도메인을 관리하고, 이를 등록소에 등록한다.
client가 도메인에 접속을 요청하면 DNS서버는 Root Name Server에 해당 도메인을 질의하고 최종적으로 authoritative name server에서 도메인/IP주소 정보를 가져온다.
1. ICANN
- 비영리단체
- Root name server를 관리
- Top-level domain 서버 주소를 기억한다.
2. Registry(등록소)
- 기업이나 기관
- Top-level domain을 관리한다.
3. Registrar(등록대행자)
- 기업이나 기관
- Authoritative name sever를 관리한다.
- 등록자의 등록 작업을 대행한다.
4. Registrant(등록자)

client가 도메인 입력
👉 DNS Server가 Root name server에 Top-level domain server의 주소를 요청
👉 Root name server가 Top-level domain server의 주소 반환
👉 DNS Server
👉 Top-level domain server
👉 DNS Server
👉Authoritative name server가 IP 주소 반환
👉DNS Server
👉 Client
cmd 👉 nslookup 도메인주소

- 서버 : bns1.hananet.net 👉 DNS 서버 정보
- Aeeress : DNS 서버 IP 주소
- 권한 없는 응답 (Non-authoritatice answer) 👉 authoritative name server가 직접 반환한 게 아니라 캐시에서 가져온 결과

서버가 다운되는 것을 방지하기 위해 네임 서버 2대를 운영한다.

WEB2-Domain Name System 생활코딩 - https://opentutorials.org/course/3276/20296 참고