티스토리 뷰

Web

DNS

DevES 2016. 9. 29. 00:11

DNS - 인터넷 디렉터리 서비스


인터넷 호스트에 대한 식별자중 하나로 host name이 있다.

  • www.naver.com, www.google.com
  • 그러나 호스트 네임은 인터넷에서의 그 호스트 위치에 대한 정보를 거의 제공하지 않음
  • 또 호스트 네임은 길이가 바뀌고 알파뉴메릭 문자로 구성되기에 라우터가 처리하는 데 어려움이 있다.

이런 이유로 호스트는 주로 IP 주소로 식별된다.

IP 주소는 계층 구조여서 주소를 왼쪽에서 오른쪽으로 조사함으로써 그 호스트가 어디에 위치하는지에 대한 정보를 얻을 수 있다.


DNS가 제공하는 서비스


사람은 좀더 기억하기 쉬운 호스트 네임 식별자를 좋아하지만, 라우터는 고정 길이의 계층구조를 가진 IP 주소를 좋아한다.

이런 선호 차이를 절충하기 위해, hostname -> IP address로 변환해주는 디렉터리 서비스가 필요함 -> 이것이 인터넷 DNS(Domain Name System)의 주요 임무임


DNS는

  • DNS 서버들의 계층구조로 구현된 분산 데이터베이스
  • 호스트가 분산 데이터베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜

DNS는 다른 애플리케이션 프로토콜들이 HTTP, SMTP, FTP 등 사용자가 제공한 호스트 네임을 IP 주소로 변환하기 위해 주로 이용함.


DNS  수행  예 (사용자의 호스트가 http request 메시지를 웹서버 www.someschool.edu로 보내기 위해 사용자 호스트는 www.someschool.edu의 IP주소를 얻어야만함)

  1. 같은 사용자 컴퓨터는 DNS 애플리케이션의 클라이언트 측을 수행함
  2. 브라우저는 URL로부터 호스트 네임 www.someschool.edu를 추출하고 그 호스트 네임을 DNS 애플리케이션의 클라이언트 측에 넘긴다.
  3. DNS 클라이언트는 DNS 서버로 호스트네임을 포함하는 질의를 보낸다.
  4. DNS 클라이언트는 궁극적으로 호스트 네임에 대한 IP 주소를 가진 응답을 받는다.
  5. 브라우저가 DNS로부터 IP주소를 받으면, 브라우저는 그 IP 주소의 80번 포트에 위치하는 HTTP 서버 프로세스로 TCP 연결을 초기화한다.

이 예로부터 DNS는 DNS를 사용하는 인터넷 애플리케이션에 추가 지연을 준다는 것을 볼 수 있다. 다행히도 원하는 IP 주소는 가까운 DNS 서버에 캐시(cache)되어 있어서 평균 DNS 지연뿐 아니라 DNS 네트워크 트래픽 감소에 도움을 줌


DNS의 중요한 추가적인 서비스


-host aliasing: 복잡한 호스트 네임을 가진 호스트는 하나 이상의 별명을 가질 수 있다. 예를 들어, relay1.west-coast.enterprise.com 같은 호스트 네임은 enterprise.com과 www.enterprise.com 같은 두 개의 별칭을 가질 수 있다. 이경우에 호스트 네임 relay1.west-coast.enterprise.com을 정식 호스트 네임(canonical hostname)이라고 한다. 별칭 호스트 네임은 정식 호스트 네임보다 대체로 기억하기 쉽다. DNS는 호스트의 IP 주소뿐만 아니라 제시한 별칭 호스트 네임보다 대체로 기억하기 쉽다.


-mail server aliasing: 전자메일 주소는 기억하기 쉬운것이 좋다. 그런데 메일 서버의 호스트 네임은 좀 복잡하고 기억하기 어려울 수 있다. DNS는 호스트의 IP 주소뿐만 아니라 제공된 별칭 호스트 네임에 대한 정식 호스트 네임을 얻기 위해 메일 애플리케이션에 의해 수행 될 수 있다.


-load distribution(부하 분산): DNS는 중복 웹 서버 같은 여러 중복 서버 사이에 부하를 분산하기 위해서도 사용됨. 인기 있는 사이트들은 여러 서버에 중복되어 있어서, 각 서버가 다른 종단 시스템에서 수행되고 다른 IP주소를 가짐. 중복 웹 서버의 경우, 여러 IP 주소가 하나의 정식 호스트 네임과 연관되어 있다. DNS 데이터베이스는 이 IP 주소 집합을 갖고 있다. 클라이언트가 주소 집합으로 매핑하는 호스트 네임에 대한 DNS 질의를 하면, 서버는 IP 주소 집합 전체를 가지고 응답한다. 그러나 각 응답에서의 주소 순서는 매번 회전한다. 클라이언트는 대체로 주소 집합 내부의 첫 번째 IP 주소로 HTTP 요청 메시지를 보내므로, DNS 회전은 여러 중복 서버들 사이에서 트래픽을 분산하는 효과를 낸다. DNS 회전은 전자메일에서도 사용되어 여러 메일 서버가 동일한 별칭을 가질 수 있다. 최근 아카마이 같은 회사는 웹 콘텐츠 분산을 제공하기 위해 좀더 세련된 방법으로 DNS를 이용하고 있다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함