본문 바로가기
컴퓨터 네트워크

컴퓨터 네트워크 40장 - 네임 서버 & 해석기 -

by ChocoPeanut 2017. 5. 13.

컴퓨터 네트워크 40

- 네임 서버 & 해석기 -

 

DNS 서비스에서 가장 중요한 것은 분산 네트워크 서비스의 형태를 지원하는 것이다. 이를 위해 네임 서버가 여러 곳에 흩어져 전체 네임 스페이스의 일부 정보를 전적으로 책임지며 유기적인 연관 관계를 통해 전체 네임 서버의 정보를 일관성 있게 관리한다.


응용 프로그램이 해석기라고 부르는 DNS 클라이언트에게 정보 제공을 요청하는 것으로 DNS 서비스가 이루어진다. 해석기는 DNS 메시지 형식의 질의를 생성하고 이 질의를 네임 서버에게 전달하면 네임 서버는 회신용 DNS 메시지에 결과를 담아 해석기에 회신을 하게 된다. 네임 서버의 부담을 줄이기 위하여 캐시 정보를 활용하는데 캐시 데이터라고 한다. 원래는 인증 데이터로 해당 데이터를 직접 관리할 책임이 있는 네임 서버로부터 받은 정보가 있는데 캐시 데이터는 이전 요청에 의하여 호스트가 보관하고 있던 정보로 네임 서버로 질의를 하지 않고도 바로 데이터를 가져올 수 있게 해준다. 하지만 너무 오래 보관할 수는 없기 때문에 TTL이라는 시간 관리 기능을 두어 TTL 시간 동안에는 유효하지만 이 시간을 넘어가면 캐시 정보를 삭제하게 된다.


자원 레코드에 포함된 인증 데이터의 집합체로 정의할 수 있다. 존에서 관리하는 정보는 존에 속하는 모든 호스트의 전체 자원 레코드 집합체와 존에 포함된 최상위 호스트, 위임 서브 존, 위임된 서버 존에 관한 글루 데이터가 있다. 위임 서브 존은 자신의 존에 속하지만 인증이 위임된 경우에 대한 정보이고 위임된 서버 존에 관한 글루 데이터는 서브 존의 네임 서버에 접근할 수 있도록 해주는 데이터를 의미한다.



호스트 A가 호스트 B의 정보를 원할 때 호스트 A, B가 같은 도메인에 위치하면 이 도메인의 네임 서버가 인증 데이터를 회신하게 된다. 하지만 다른 도메인에 위치하면 인근 네임 서버에게 요청을 하여 호스트 A를 중개해서 데이터를 받게 된다. 인근 네임 서버를 찾는 작업은 인증 정보를 찾을 때까지 반복하게 된다. 질의 요청이 처리되는 과정으로는 인증 데이터가 반드시 필요한지를 판단하고 캐시에 존재한다면 네임 서버에 요청을 하지 않는다. 해석기는 질의 요청을 재귀적으로 처리해야 하는지 혹은 비재귀적으로 처리해야하는지를 명시해야 한다.


재귀적 요청은 해석기가 최초로 접속을 시도한 네임 서버가 질의 요청을 추적 관리를 한다. 재귀적 요청을 받은 네임 서버가 결과적으로 해석기 역할을 수행한다. 비재귀적 요청은 요청을 받은 네임 서버가 다른 네임 서버의 포인터 정보를 회신한다. 이를 받은 해석기는 다른 네임서버에게 다시 질의를 하게 된다. 따라서 해석기의 역할을 질의하는 호스트가 할 것인지 아니면 계속 찾아가면서 바꾸어 가며 할 것인지에 대한 차이가 존재한다. 사용자의 입장에서는 재귀적 요청을 할 경우 몇 번의 네임 서버를 거치느냐에 상관없이 한 번 요청을 한 후 기다리게 되면 결과 값을 받을 수 있게 된다.



출처 - 데이터 통신과 컴퓨터 네트워크