2007년 10월 11일 목요일

도메인 하나로 여러 서버 사용하기

도메인 하나로 분산 서버를 사용하는 방법에는 아래 세가지 정도가 있다.

1. DNS 라운드로빈

2. 클러스터링

3. 로드밸런싱


1. DNS 라운드로빈 관련 글

DNS 라운드 로빈 과 서브넷 우선순위(Subnet Prioritization)는 무엇인가?

출처 : http://blog.naver.com/831jsh/60017984753

A . DNS 리소스 레코드의 가장 보편적인 형태는 A(host, Address의 약자)로 특정한 호스트 이름의 IP주소를 제공하는 레코드이다. 어떤 특정한 상황에서는 여러개의 IP 주소들이 하나의 이름을 가리킬 수도 있다. 예를 들면, 다음과 같이 3개의 서버가 www.ntfaq.co.kr 웹 사이트를 가리킨다면 DNS 서버에는 다음과 같은 3개의 A 레코드가 저장되어 있을 것이다.


www.ntfaq.co.kr IN A 200.200.20.200
www.ntfaq.co.kr IN A 200.200.30.200
www.ntfaq.co.kr IN A 200.200.40.200


클라이언트가 이 호스트의 이름풀이를 DNS 서버에 요청하게 되면 DNS 서버는 3개의 값을 모두 리턴하게 된다. 모든 클라이언트들에게 맨 첫번째 주소 레코드를 항상 보내기 때문에 3 레코드를 교대로 반환하게 하게 하기 위해 DNS 서버는 라운드 로빈 방식의 알고리즘을 이용하게 된다. 이데 대한 자세한 사항은 RFC 1794에 자세하게 기술되어 있다. 클라이언트들의 각각의 요청에 대해 DNS 서버는 모든 호스트들의 부하를 균등하게 유지하기 위해 주소 값들을 교대로 반환해 주게 된다. 예를 들어 첫번째 클라이언트가 DNS 서버에 이름풀이를 요청하게 되면 서버는 다음과 같이 응답한다.


200.200.20.2000 200.200.30.200 200.200.40.200
그 다음 번에는 서버는 다음과 같이 응답한다.
200.200.30.200 200.200.40.200 200.200.20.200
그 다음 번에는 서버는 다음과 같이 응답한다.
200.200.40.200 200.200.20.200 200.200.30.200


만약 응답하는 주소를 포함하고 있는 서브넷에 클라이언트가 직접 연결되어 있다면, 클라이언트는 응답 시간및 네트워크 트래픽을 줄이기 위해 그 주소로 응답한 호스트와 직접 통신을 하게 된다. 서브넷 우선순위(Subnet prioritization)는 클라이언트가 동일한 서브넷에 위차한 호스트를 인식하여 로컬 호스트의 주소를 리턴하는 기능을 가지고 있다.( 마이크로 소프트는 Windows NT SP4 이후 버전에서부터 이 기능을 제공한다.) 클라이언트가 서브넷 우선순위를 사용할 때 클라이언트 풀이자(resolver)는 주소 레코드 기록을 수신하고 직접 연결된 서브넷의 순선대로 정렬하게 된다.


따라서 클라이언트가 200.200.30.100(200.200.30.200 호스트가 위치한 서브넷) 주소를 가지고 있으면 DNS 서버는 다음의 주소값을 반환하게 된다.


200.200.20.2000 200.200.30.200 200.200.40.200


로컬 DNS resolver가 서브넷 우선순위를 사용할 때에는 응답값을 로컬 서브넷 우선순위를 통해 재정렬한 값을 이용하게 된다. 다음과 같이 될 것이다.


200.200.30.200 200.200.40.200 200.200.20.200


결과적으로 로컬 DNS resolver의 서비스 우선순위는 resolver된 주소가 로컬 서브넷에 있을 때에만 서브넷 우선순위를 통해 값이 변경된다. 이러한 접근 방식은 네트워크의 트래픽 감소와 빠른 응답(아무래도 로컬 서브넷이면 100M일것이다)이라는 장점을 가질 수 있지만, 로드 밸런싱이 무력화된다는 단점도 가지고 있다.

댓글 1개:

  1. trackback from: 도메인 연결 불가~
    어제 도메인을 세팅을 마치고 집에서 www.amuze.net으로 접속할 때는 잘 되더니.. 오늘 회사 와서 접속하니까 이모냥입니다~ 울 회사에서 연결되는 DNS서버에서는 변경결과가 반영이 안되었나 봅니다.. 한 2~3일 지나면 괜찮아 지겠죠?!

    답글삭제