2.4 DNS - The Internet's Directory Service
2.4.1 Services Provided by DNS
host를 알아내는 데는 두 가지 방법이 있다.
- hostname
- IP address
사람들은 기억하기 쉬운 hostname 식별자를 더 선호한다. 반면, 라우터는 IP address의 고정된 길이와 계층적인 구조를 선호한다.
이런 요구를 만족시키기 위해서 우리는 hostname을 IP address로 변환해주는 directory service가 필요하다.
Domain Name System (DNS)의 주요 작업이 바로 이것이다.
DNS는
- DNS Server의 계층 구조에 구현된 "분산 데이터베이스" 이다.
- 이 "분산 데이터베이스"에 host가 query를 보낼 수 있게 해주는 "Application Layer Protocol" 이다.
DNS protocol은 UDP 를 통해 동작하며, port 53 을 사용한다.
DNS는 보통 다른 Application 계층의 프로토콜에 의해 사용된다.
- HTTP나 SMTP가 사용자가 제공한 hostname을 IP address로 변환하기 위해 사용한다.
DNS는 hostname을 IP address로 변환하는 작업 외에 몇 가지 중요한 서비스를 더 제공한다.
• Host aliasing 예를 들어, relay1.west-coast.enterprise.com 은 가령, enterprise.com 이나 www.enterprise.com 과 같은 두 가지의 별명을 가지고 있을 수 있다. 이런 경우, relay1.west-coast.enterprise.com이라는 hostname은 canonical hostname이라고 불린다. 보통 aliased hostname이 canonical hostname보다 더 기억하기 쉬우므로, 자주 사용된다. DNS는 host의 IP address 뿐만 아니라, aliased hostname을 가지고 canonical hostname을 찾아 낼 수 있다. • Mail server aliasing 자명하게도, 이메일 주소는 보통 외우기 쉬운 것이 바람직하다. 따라서, Mail application은 사용자가 제공한 aliased hostname을 canonical hostname으로 변환하는데 DNS를 호출한다. • Load distribution DNS는 복제된 Web servers와 같은 복제된 서버들에 대해 Load distribution을 수행한다. 예를 들어, 매우 많은 사용자가 접속하는 cnn.com은 여러 서버에 걸쳐 복제되어있다. 그리고 각각의 서버들은 다른 end system과 다른 IP address를 갖고 있다. 따라서, 복제된 Web server의 경우, 그 서버들이 가진 IP address를 set으로 만들어 하나의 canonical hostname에 연결한다. DNS 데이터베이스는 이 set of IP address를 가지고 있다.
반응형