DNS란?
도메인 네임 시스템(Domain Name System)의 약자로, 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발된 시스템이다. 쉽게 말해, 우리가 네이버에 접속하기 위해서는 웹 브라우저에서 주소 입력창에 www.naver.com을 입력하는데, 이 도메인 주소를 해당하는 IP 주소로 변환하는 시스템인 것이다.
IP 주소란?
네트워킹이 가능한 장비를 식별하는 주소를 가리킨다. IP주소는 네트워크 주소와 호스트 주소를 조합한 주소 체계를 가지고 있다.
- 네트워크 주소 : IP 기기가 속해 있는 네트워크를 구분
- 호스트 주소 : 네트워크 안에 있는 IP 기기를 구분
IPv4
IPv4 주소는 (.)마침표로 구분되며 4개의 8비트 필드로 구분된 십진수로 작성된다. 각 영역은 256가지의 경우의 수를 가질 수 있으므로 2의 8승을 표현할 수 있다. 이를 비트로 표현하면 영역마다 8비트로 이루어지며 총 4개의 영역으로 구분되므로 32비트를 사용한다. 하지만 기술이 급속도로 발전하면서 단말기의 갯수도 기하급수적으로 증가하다 보니 40억개에 달하는 IP주소의 수가 부족하게 되어 IPv6라는 확장된 주소 체계가 등장하게 되었다.
IPv6
IPv6주소는 128비트체계로 구성 되어 있으며, 그 표현 방법은 128비트를 16비트씩 8부분으로 나누어지며, 각 구분은 16진수로 표현한다. 128비트 주소체계를 사용하게 되면 최대 1조개 이상의 주소를 가질 수 있는게 장점이다. 또한 IPv4에서 사용하는 클래스 계층 구조를 사용하지 않고 유니캐스트, 멀티캐스트, 멀티 캐스트 형태의 유형으로 할당하기 때문에 할당된 주소의 낭비 요인이 사라지게 된다.
DNS 구성 요소
1. 도메인 네임 스페이스 (Domain Name Space)
– 데이터 이름 관련 규칙 정의
– 자원 레코드라는 정보 집합체로 표현
2. 네임 서버 (Name Server)
– 도메인 트리 정보 관리 프로그램
– 도메인 네임 질의에 응답 서비스
3. 해석기
– 네임서버로부터 도메인 네임 정보수집
– 네임 서버의 정보로 질의에 응답
DNS 동작 원리와 과정
도메인 네임은 서비스별 이름, 조직의 종류, 국가 이름 순으로 특정한 순서를 갖고 표현된다.
- Kr : 각 국가별 사용을 위해 정의한 도메인으로 (ISO 3166 [4]에서 정의하는 국가 코드에 기반)
- com : 기업과 같은 상용 조직을 위한 도메인
- edu : 교육 기관들을 위한 도메인
- net : 네트워크 서비스 제공자와 관련된 시스템을 위한 도메인
- org : 다른 TLD에 속하지 않는 비정부 단체를 위한 도메인
- int : 국제 협약에 의해 만들어짂 조직을 위한 도메인
- gov : 본래 정부 기관이나 단체를 위한 도메인이었으나, 현재 미국의 주 정부를 비롯한 연방 정부만 등록하도록 결정
- mil : 미국 국방성 관련 기관에서 사용하도록 정의한 도메인
- arpa : IP 주소를 도메인 이름으로 매핑하기 위해 사용되는 특수 도메인
- 사용자는 브라우저에 "www.example.com"을 입력한다.
- 로컬 host 파일을 검색한다. 이를 로컬 DNS 서버로 일컫는다.
- 해당 파일에 IP 정보가 있을 경우, host 파일의 IP 정보를 전달한다.
- 파일에 없을 경우, Root DNS 서버에 질의를 전송한다.
- 로컬 DNS 서버는 Root DNS 서버 정보를 가지고 있어야 한다.
- Root DNS 서버는 전세계에 13대 구축되어 있다. 우리나라의 경우 Root DNS 서버가 구축되어 있지는 않지만 Root DNS 서버에 대한 미러 서버를 3대 운용하고 있다. - Root DNS 서버는 요청한 도메인 이름에 해당하는 IP 주소가 있으면 전달한다
- IP 주소가 존재하지 않는다면 다른 Root DNS 서버에게 질의하라고 응답한다. (이를 재귀적 질의라 한다)
- 재귀적 질의를 반복하여 IP 주소 정보를 확인하면 확인된 IP 주소 정보는 로컬 DNS 서버에서 캐싱처리 한다.
'웹_프론트엔드 > 로드맵 챌린지' 카테고리의 다른 글
인터넷 - 호스팅은 무엇일까요? (0) | 2021.12.09 |
---|---|
인터넷 - 도메인 네임은 무엇일까요? (0) | 2021.12.08 |
인터넷 - 브라우저와 동작 원리 (0) | 2021.12.05 |
인터넷 - HTTP는 무엇일까요? (0) | 2021.12.03 |
인터넷 - 인터넷은 어떻게 작동될까요? (0) | 2021.12.01 |