- 인터넷에 연결된 모든 컴퓨터는 32비트 숫자로 구성된 고유의 IP 주소를 부여받는다. 이 숫자가 IP 프로토콜의 패킷 속에 기록되어 적절한 경로를 선택하는 길잡이 역할을 한다.
- ip 주소는 IP 프로토콜이 효율적으로 동작할 수 있도록 고려하여 설계되었지만 일반 사용자 입장은 중요하게 고려되지 않았다.
- 호스트 분배 작업을 인터넷의 규모가 커지고 더 이상 수작업으로 관리할 수 없게 되었는데 이를 계기로 DNS(Domain Name System)서비스가 탄생하게 되었다.
IP 주소 체계
인터넷에서 32비트의 이진수로 된 IP 주소로 호스트를 구분한다. IP 주소는 32비트의 주소를 네 부분으로 나누어 8비트의 십진수인 www.xxx.yyy.zzz 형태로 표현한다.
Ex. 211.223.201.29
IP프로토콜의 유니캐스트 주소 체계는 클래스 별로 구분할 수 있다. 구분 기준은 네트워크 주소와 호스트 주소를 표시할 수 있는 비트의 크기이다.
클래스 | IP 주소 범위 | 네트워크 주소 | 호스트 주소 |
A | 0~127 | www | xxx.yyy.zzz |
B | 128~191 | www.xxx | yyy.zzz |
C | 192~223 | www.xxx.yyy | zzz |
- 클래스 A 방식으로 할당된 IP 주소는 호스트를 표현할 수 있는 주소 범위가 2^24으로 매우 커 많은 호스트를 수용할 수 있다.
- 클래스 C는 호스트 주소를 표현하는 공간이 2^8이기 때문에 상대적으로 적은 수의 호스트를 수용한다.
- 클래스 B는 호스트를 16비트로 표현하기 때문에 2^16개를 지원한다.
- 새로운 형태의 서비스를 지원하기 위해 할당된 클래스 D가 존재한다. 클래스 A, B, C가 유니캐스팅을 지원하는데 반해 클래스 D 는 멀티캐스팅을 지원한다.
- 호스트 주소를 표현하는 모든 비트의 값이 0인 경우는 해당 서브넷 자체를 지칭하는 목적으로 사용되고, 반대로 모두 1인 경우는 서브넷에 포함된 모든 호스트를 가리킨다.
DNS 필요성
인터넷 사용자가 호스트를 지칭할 때는 문자형의 도메인 이름으로 주소를 표현한다. 그러므로 도메인 이름을 네트워크에서 사용하려면 IP 주소로 변환하는 과정이 필요하다.
- 인터넷 사용자가 호스트를 지칭할 때는 문자형의 도메인 이름(Domain Name)으로 주소를 표현한다.
- 도메인 이름을 네트워크에서 사용하기 위해 IP 주소로 변환하는 과정이 필요하다.
- 다음과 문제점을 해결하기 위해 고안된 것이 DNS 서비스이다.
- 컴퓨터 보급이 늘면서 호스트 파일을 수작업으로 관리하기 어려워졌다. (한 시스템에서 모든 호스트 정보를 유지하기가 불가능)
- 도메인 이름을 중복 사용하지 않도록 통제하기 쉽지 않다.
- 계층 구조를 지원하는 도메인 기반의 주소 표기 방법을 위한 분산 데이터베이스 시스템이다.
% nslookup information.korea.co.kr # 호스트의 IP 주소를 얻기 위한 명령어(1)
Server: server.korea.co.kr # DNS 서버의 도메인 이름(2)
Address: 211.223.201.30 # DNS 서버의 IP 주소(3)
Name: information.korea.co.kr
Address: 211.223.201.29
%
유닉스 시스템에서 지원하는 nslookup 명령은 DNS를 이용해 주소 변환 요구를 수행하는 대화형 프로그램이다. IP 주소를 얻으려면 nslookup을 1과 같이 사용한다. 결과 2와 3은 DNS 서버의 도메인 이름과 IP주소이다. DNS 서버 server.korea.co.kr은 정해진 방법으로 IP주소를 찾아 nslookup에 결과를 돌려주므로 nslookup이 화면에 출력한 결과로 information.korea,co,kr의 IP 주소가 211.223.201.29임을 알 수 있다.
DNS는 도메인 네임 스페이스, 네임 서버, 해석기 라는 세 가지 요소로 구성된다.
도메인 네임 스페이스
- 도메인 네임 스페이스는 트리 구조의 네임 스페이스를 비롯해 데이터에 대한 이름 관련 규칙을 정의한다. 도메인 네임 스페이스의 트리에 연결된 호스트는 자원 레코드(Resource Records)라는 정보 집합체로 표현된다. DNS의 정보 문의 과정은 이 집합체에서 특정 유형의 정보를 얻는 과정이다.
ex) 인터넷에서 특정 도메인 ㅣ름으 사용하는 호스트의 IP 주소 자원을 요청하는 질의에 대해 IP 주소를 반환한다.
네임 서버
- 네임 서버는 네임 스페이스의 트리 구조와 트리에 보관된 정보 집합체를 관리하는 프로그램이다. 일반적으로 자신이 관리하는 도메인 공간에 관한 정보를 책임지며, 전체 도메인의 구조의 다른 부분 정보를 제공하기 위한 네임 서버 포인터를 가지고 있다.
해석기
- 해석기는 네임 서버로부터 클라이언트의 요청 정보를 얻어내는 프로그램이다. 최소 하나 이상의 네임 서버와 접촉하며, 네임 서버의 정보를 이용해 응용 프로그램의 질의에 응답하다. 처음 접촉한 네임 서버에 도메인 정보가 없으면 다른 네임 서버에 접속해 계속 질의한다.
Reference
쉽게 배우는 데이터 통신과 컴퓨터 네트워크
https://soso-hyeon.tistory.com/112
[쉽게 배우는 데이터 통신과 네트워크] CH14. DNS
01 DNS(Domain Name System) 서비스인터넷의 규모가 커지면서 호스트 파일을 수작업으로 관리할 수 없게 되었고, 이를 계기로 DNS 서비스가 탄생하게 되었다. 1 IP 주소 체계인터넷에서는 32비트의 이진
soso-hyeon.tistory.com
'CS > Network' 카테고리의 다른 글
[Chapter 14] DNS (네임 서버와 해석기) (0) | 2025.02.18 |
---|---|
[Chapter 14] DNS (도메인 네임 스페이스) (0) | 2025.02.18 |
[Chapter 13] 웹 WWW(CGI) (0) | 2025.02.18 |
[Chapter 13] 웹 WWW(HTTP) (0) | 2025.02.18 |
[Chapter 13] 웹 WWW(HTML) (0) | 2025.02.18 |