문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류:애플리케이션 계층]] == 개요 == [[호스트 네임]]을 [[IP 주소]]로 변환시켜주는 디렉터리 서비스를 DNS [domain name system]이라 호칭한다. DNS 는 서버들이 계층구조로 구현된 분산 데이터베이스이고, 호스트가 분산 데이터베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜이다. DNS 서버는 주로 [[BIND]]를 수행하는 유닉스 컴퓨터 이다. DNS 프로토콜은 UDP 상에서 수행되고 [[포트 번호]] 53을 사용한다. DNS는 DNS를 사용하는 애플리케이션에 추가 지연을 주지만, 캐시 서버를 이용하거나 내부 캐시를 사용함으로써 지연을 줄일 수 있다. == 제공하는 서비스 == # 호스트 주소 변환: 호스트 주소를 IP 주소로 변환한다. # 호스트 엘리어싱: 제시한 별칭 호스트 네임에 대한 정식 호스트 네임을 얻기 위해 사용될 수 있다. # 메일 서버 엘리어싱: 전자메일 주소는 기억하기 쉬운 것이 좋다. 대부분의 경우 메일 서버의 내부 도메인은 mail.hostname.com 으로 주어지는데, 이를 호스트 네임으로 접근 할 수 있게 해주는 서비스이다. 보통 MX 레코드를 통해 구현한다. # 부하 분산: DNS는 중복 웹 서버 같은 여러 중복 서버 사이에 부하를 분산하기 위해서도 사용되고 있다. 중복 웹 서버의 경우 여러 IP주소가 하나의 정식 호스트 네임으로 연결되며, 클라이언트가 주소 집합으로 매핑하는 호스트 네임에 대한 질의를 하면, 서버는 IP 주소의 집합 전체를 전송한다. 각 응답에서의 주소는 순환식으로 오며 클라이언트는 도착한 주소의 첫번째 IP 주소로 메시지를 보내어서 트래픽을 분산시킨다. == 동작 원리 == === 분산계층 데이터 베이스 === [[파일:DNS분산계층.png|500px|섬네일]] 어떠한 단일 DNS서버도 인터넷에 있는 모든 호스트에 대한 매핑을 갖지 않지만, 그것은 DNS 서버 사이에 분산되어 저장된다. # 루트 DNS 서버 : 모든 DNS 트래픽은 우선 이곳으로 향한다. 이곳에서 .com .kr 같은 최상위 레벨 도메인 네임서버의 주소를 알려준다. # 최상위 레벨 도메인 네임 서버 (TLD) : 국가 코드, 기관 코드등을 가지며 책임 서버의 IP 주소로 보낸다. # 책임 도메인 네임 서버 (Authoritative) : 기관이나 개인이 운영하며, 네임서버를 통해 자신의 IP 주소나 원하는 IP 주소를 반환한다. # 로컬 DNS 서버: 기관, 대학이나 ISP 에서 운영하는 DNS 서버로 호스트의 근처에서 [[프록시]]로 동작하는 DNS 서버에게 전달되고, 로컬 DNS 서버는 그 질의를 DNS 서버 계층으로 전달한다. === DNS 캐싱 === DNS는 지연 성능 향상과 네트워크의 DNS 메시지 수를 줄이기 위해서 캐싱을 사용한다. 질의 사슬에서 DNS 서버가 DNS 응답을 받았을떄, 그것은 로컬 메모리에 응답에 대한 정보를 저장한다. 그 후에는 저장된 정보를 바탕으로 바로 DNS 응답을 보낼 수 있게 되어, 지연속도가 낮아진다. == DNS 레코드 == [[파일:DNS레코드.png|400px|섬네일]] DNS 분산 데이터베이스를 구현한 DNS 서버들은 호스트 네임을 IP 주소로 매핑하기 위한 자원 레코드(resource record RR)을 저장한다. 각 DNS는 최소 하나이상의 자원 레코드로 응답을 한다. 자원 레코드는 다음과 같은 필드를 포함하는 4개의 투플로 되어 있다. Name Value Type TTL #Name: 호스트 네임이나 도메인 #Value: 해당하는 주소 #Type: DNS 질이 응답 종류 #TTL: 캐시에서 제거되는 시간설정 (응답되지 않는다.) == DNS 메시지 == [[파일:DNS메시지.png|400px|중간]] == DNS 공격 == # 대역폭 플러딩 공격: 다량의 가짜 질이를 보냄으로써 DNS 서버를 마비 # 중간자 공격: DNS 질이를 가로채어 가짜 응답을 리턴 # DNS 중독 공격: DNS 서버로 가짜 응답을 보내어 캐시에 이상한 정보가 저장되도록 함 DNS 에 문제가 생기면 인터넷이 마비되고 위조나 변조로 보안상 매우 취약해 진다. Domain name system 문서로 돌아갑니다.