본문 바로가기
5장 컴퓨터 과학/Computer Network

[컴퓨터 네트워크] DNS

2021. 6. 15.

DNS의 개념

네트워크에서 컴퓨터들은 IP 주소를 이용해 서로를 구별하고 통신하지만, 사람들은 이진수로 표시되는 IP 주소를 기억하기 쉽지 않으므로 식별할 수 있는 문자로 주소를 만들어 사용한다. 이를 도메인(Domain)이라 한다.

도메인은 '.' 또는 루트(Root)라는 역트리(Inverted Tree) 구조로 구성되어 있다. 루트 도메인 바로 아래 단계를 1단계 도메인 또는 최상위 도메인(Top Level Domain, TLD)이라 하고, 그 다음 단계를 2단계 도메인(Second Level Domain, SLD)이라고 한다. 이처럼 도메인 이름이 계층적으로 이루어져 있는 체계를 DNS(Domain Name System)라고 한다.

인터넷에 연결되는 호스트 컴퓨터에 부여되는 도메인 이름의 모호성과 혼란을 최소화하기 위해 IP 주소와 도메인 이름 사이에 제어 가능한 이름 공간을 먼저 구성한 후 이로부터 각 호스트 컴퓨터에 이름을 부여한다. 이름 공간은 각 IP 주소마다 유일한 이름을 연결시키며 평면구조 혹은 계층구조를 갖도록 구성할 수 있다.

호스트 컴퓨터에는 각각 영문자와 숫자를 사용하는 세그먼트 형태의 도메인 이름이 있다. DNS는 각 기관이 자율적으로 호스트에 이름을 부여할 수 있도록 설계되었다. DNS의 계층화된 구조는 접미사를 이용해 자율적으로 도메인 이름을 제어할 수 있게 한다. DNS는 컴퓨터 네트워크에서 분산된 형태로 존재한다. 하나의 호스트는 자신에게 포함되어 있지 않은 도메인 이름 서비스를 제공하기 위해 또 다른 DNS의 호스트에 연결되어 있다. 따라서 동일한 도메인에 동일한 호스트의 이름으로 중복되지 않는 한, 임의의 도메인에서 원하는 호스트 이름을 사용할 수 있다.

DNS 서버

DNS는 계층화 구조를 가지므로 자율적으로 도메인 이름을 제어할 수 있다. 루트 서버는 최상위 계층에 위치하며, 자율성을 갖고 도메인 이름 서비스를 제공한다. 이와 같은 구조에서는 인터넷 주소의 변환 서비스를 요구하는 쪽이 클라이언트가 된다. 클라이언트는 주소 변환 요청을 메시지에 실어 상위 서버에 전송하며, 상위 서버는 그 결과를 메시지 형태로 하위 클라이언트에 전송한다.

네트워크 관리적인 측면에서 보면 단일 도메인 서버를 두는 것이 효과적일 수 있지만, 이는 네트워크 시스템 성능 저하를 초래하는 요인이 될 수 있다. 따라서 DNS 서버를 분산된 형태로 구성하여 시스템의 성능을 향상시키고 데이터 관리 측면의 효율성도 증대시키고 있다.

많은 서버가 DNS를 자율적으로 운영할 수 있지만, 도메인 계층구조 자체를 임의로 변경하는 것은 불가능하다. 이러한 규칙을 통해 하나의 서버가 주어진 네트워크의 도메인 이름을 갖는 모든 호스트에 대해 책임지도록 한다.

반응형

댓글