도메인 이름 서비스 (Domain Name Service) 25장 도메인 이름 서비스 (Domain Name Service)
장치에 할당되는 이름은 IP주소와 같이 유일해야 함 25장 도메인 이름 서비스 장치에 할당되는 이름은 IP주소와 같이 유일해야 함 주소를 유일한 이름에 매핑하는 2가지 방법 단층적 이름공간 계층적 이름공간
25.1 이름공간 단층적 이름공간 이름은 주소에 할당 문자의 연속 각각의 이름은 연관성이 없이 독립적으로 존재 단점 : 중복없이 명확히 사용위해 중앙에서 전체관리 필요 인터넷과 같은 큰 시스템에는 부적합
계층적 이름공간 25.1 이름 공간 각 이름이 여러 부분으로 나누어 구성 예 : 조직의 성격 + 조직의 이름 + 부서 중앙 기관은 조직의 일부만을 통제 나머지부분은 조직 내에서 정의 Challenger.fhda.edu Challenger.berkeley.edu Challenger.smart.com
25.2 도메인 이름 공간 계층적 이름공간을 갖기 위해 도메인 네임공간 필요 0 ~ 127 까지 128레벨 이하의 역 트리 구조 모든 트리는 루트에서 연결되며 트리의 각레벨이 계층레벨을 나타냄
25.2 도메인 이름 공간 레이블 도메인 이름 FQDN PQDN 도메인
레이블 도메인 이름 25.2 도메인 이름 공간 최대 63개 문자 루트레이블은 널(Empty) 스트링 네임은 루트방향으로 읽는다. 완전한 도메인 네임은 점(.)으로 끝남
그림25.2 도메인 이름과 레이블
FQDN (Fully Qualified Domain Name) 25.2 도메인 이름 공간 FQDN (Fully Qualified Domain Name) 레이블이 널스트링으로 끝나며 호스트의 완전한 이름 PQDN (Partially Qualified Domain Name) 레이블이 널스트링으로 끝나지 않을시 노드로부터 시작하나 루트에 도달하지 않음 해석할 이름이 클라이언트와 동일사이트에 있을때 사용
25.2 도메인 이름 공간 도메인 도메인 이름공간의 서브트리 도메인 이름은 서브트리 최상위 노드의 도메인 이름
25.3 이름 공간의 분산 이름서버의 계층 영역 루트서버 일차및 이차서버
이름서버의 계층 25.3 이름 공간의 분산 모든 네임공간의 정보를 하나의 컴퓨터에 저장은 비효율적,비신뢰적 DNS 서버라는 많은 컴퓨터에 분산 DNS는 작은 서브 도메인으로 나누어 보관 각 서버는 도메인의 크기를 정할 수 있는 책임과 권한 보유
그림25.5 이름서버의 계층구조
영역 25.3 이름 공간의 분산 서버가 책임과 권한을 갖는 곳 서버가 더 작은 도메인으로 나누지 않았다면 도메인은 영역 서버가 도메인을 서브도메인으로 나누고 일부를 다른 서버에게 권한을 이양하게되면 도메인과 영역은 다른의미 서브도메인의 노드에 대한 정보는 더낮은 레벨의 서버에 저장되고 원래의 서버는 더 낮은 레벨의 서버에 대한 참조정보만 가지게됨
그림25.6 영역과 도메인
루트서버 25.3 이름 공간의 분산 전체 트리를 영역으로 가지는 서버 도메인에 대한 어떠한 정보도 가지지 않음 자신의 권한을 다른 서버에 이양하고 참조만 한다 현재13개이상의 루트서버가 있으며 전세계에 분산 운영
일차및 이차서버 25.3 이름 공간의 분산 일차서버 자신의 권한을 가진 영역에 대한 파일만 보유 영역파일에 대한 생성, 관리, 갱신 책임 이차서버 다른 서버로부터 영역에 대한 정보를 수신 로컬디스크에 파일을 저장하는 서버 이차서버는 영역파일을 생성, 갱신하지 않는다. 일차 및 이차서버 모두 자신의 서비스 영역에 권한 보유 하나의 서버가 실패할 경우 다른 서버가 클라이언트에 서비스
일차서버는 디스크화일로부터 모든 정보를 로드하고, 이차서버는 일차서버로 부터 모든정보를 로드한다 25.3 이름 공간의 분산 일차서버는 디스크화일로부터 모든 정보를 로드하고, 이차서버는 일차서버로 부터 모든정보를 로드한다
25.4 인터넷에서 DNS 일반 도메인 국가 도메인 역도메인
일반도메인 25.4 인터넷에서 DNS 일반적 특성에 따라 등록된 호스트 정의 각 노드는 이름공간 데이터베이스에 대한 색인인 도메인을 의미 7개의 세문자로 구성된 레이블허용
그림 25.8 일반 도메인
표 25.1 일반 도메인 레이블 Label Description com Commercial organizations edu Educational institutions gov Government institutions int International organizations mil Military groups net Network support centers org Nonprofit organizations
표 25.2 새로운 일반 도메인 레이블 Label Description aero Airlines and aerospace companies biz Businesses or firms (similar to com) coop Cooperative business organizations info Information service providers museum Museums and other nonprofit organizations name Personal names (individuals) pro Professional individual organizations
국가 도메인 25.4 인터넷에서 DNS 일반 도메인과 동일한 형태이나 2문자로 국가의 약자 형태 표시 예) us : 미국, kr: 한국 두 번째 레벨의 레이블은 조직을 나타낼 수도 있음 예) ca.us : 미국 캘리포니아
그림 25.9 국가도메인
역도메인 25.4 인터넷에서 DNS 주소를 이름으로 대응 서버가 클라이언트로부터 요청 받을 때 서버는 클라이언트 IP 주소 보유 클라이언트가 DNS서버에 질의하여 주소를 이름으로 교환(역or포인터질의) 도메인 네임 공간에 인버스 도메인 추가 Arpa-in-addr 다음은 121.45.34.132.in-addr.arpa. 로 읽는다
그림 25.10 역도메인
25.5 변환 (name-address resolution) 변환기 이름을 주소로 대응 주소를 이름으로 대응 귀환적변환 반복변환 캐싱
변환기(resolver) 25.5 변환 이름을 주소로, 주소를 이름으로 대응 호스트는 변환기 DNS클라이언트호출 정보가 있으면 응답, 없으면 다른서버 참조 또는 다른서버가 이정보를 제공토록 요구 응답해석 결과요청 프로세스에 전달
이름을 주소로 대응 25.5 변환 도메인 이름을 서버에 주고 대응주소 요청 서버는 일반혹은 국가도메인 검사 변환기는 도메인네임 수신 질의는 해석을 위해 로컬DNS서버로 로컬 서버가 해결하지 못하면 다른서버 참조 또는 다른서버에게 직접 요청
주소를 이름으로 대응 25.5 변환 클라이언트는 IP 주소를 서버로 (인버스 도메인 사용) : 포인터질의 IP 주소가 반대로 되어야하고 in-addr, arpa 추가 예) 132.34.45.121인 IP주소 → 121.45.34.132.in-addr.arpa. 가 됨 →로컬 DNS에서 받아서 변환
귀환적변환 25.5 변환 변환기가 네임서버에 귀환적 응답 요청 서버가 도메인네임에 관한 권한 보유시 응답 권한이 없으면 요청받은 서버가 다른서버에게 요청하여 응답결과를 응답 질의가 최종적으로 해석되면 응답을 요청한 클라이언트에게 도달시까지 거꾸로 거슬러 응답
그림 25.11 귀환적 변환
반복변환 25.5 변환 변환기가 귀환적 변환을 요청하지 않으면 반복적으로 진행 서버가 도메인 네임에 관한 권한 보유시 응답 권한이 없으면 변환할 수 있을 것 같은 다른 서버의 IP 주소를 클라이언트에게 되돌려줌 클라이언트는 반복적으로 이를 시행
그림 25.12 반복 변환
캐싱 25.5 변환 서버는 자신의 도메인에 있지않은 이름에 대한 문의때마다 서버 IP 주소에 대한 데이터베이스 검색 요구 검색시간 감소 → 캐싱 사용으로 효율증가 한번 실행한 정보를 캐쉬 메모리에 저장 동일 매핑 정보 요구시 캐쉬메모리를 검색하여 문제 해결 Anauthoritive표시 오랫동안 사용하지 않은 캐싱 정보의 오류 방지책 권한 있는 서버가 매핑정보에 수명정보 (TTL) 제공 각 서버가 각 대응에대한 수명정보(TTL 카운터) 보유 캐쉬메모리는 주기적으로 검색, 만료된 TTL을 갖는 대응은사라짐
25.6 DNS 메시지 질의 메시지 헤더,질문레코드 응답메시지 헤더,질문레코드, 응답레코드,권한레코드,부가레코드
그림 25.13 질의와 응답메시지
25.6 DNS 메시지 헤더 질의영역 응답영역 권한영역 추가적인 정보영역
헤더 25.6 DNS 메시지 질의,응답 동일 헤더형식 12 Byte 식별자는 클라이언트에서 질의에 대한 응답과 대응시키기 위해 사용 클라이언트는 질의때마다 다른 식별자번호사용 서버는 해당 응답에 이번호를 복사하여 넣음
그림 25.14 헤더형식
질의영역 응답영역 25.6 DNS 메시지 하나 이상의 질의 레코드로 구성 질의와 응답메시지에 존재 하나 이상의 자원레코드로 구성 응답 메시지에만 존재
권한영역 25.6 DNS 메시지 하나 이상의 자원레코드로 구성 응답 메시지에만 존재 질의에 대한 하나이상의 서버에 대한 정보 제공
추가적인 정보영역 25.6 DNS 메시지 하나 이상의 자원레코드로 구성 응답 메시지에만 존재 서버는 권한이 있는 서버의 도메인이름을 변환기에 제공, 동시에 IP주소를 추가정보영역에 제공
DDNS(Dynamic Domain Name System) DNS에 호스트의 추가, 삭제, IP 주소변경시 DNS 주파일의 변경 필요 한 종류의 변경시 많은 수 작업 필요 현재의 인터넷에서 수작업에 의한 유지는 곤란 DDNS(동적 도메인 네임 서비스)의 등장 자동적으로 DNS의 주파일을 갱신
DDNS의 작동 25.7 DDNS 이름과 주소의 대응 필요시 주로 DHCP로부터 1차DNS 서버로 정보전송 1차 서버의 영역 갱신 2차 서버에 통보(능동적 또는 수동적) 능동적 통보 : 1차서버가 2차서버에 전송 수동적 통보 : 2차서버가 주기적으로 변경사항이 있는지 조사 변경에대한 통보후 1차서버는 전체 영역에 대한 정보 요청(영역전달) 보안위한 인증방안 사용가능
25.8 캡슐화 캡슐화 응답 메시지가 512 바이트 이상이면 TCP 사용 응답 메세지의 크기를 알지 못하면 UDP포트 사용
DNS는 잘 알려진 포트53을 사용한 UDP나 TCP서비스를 사용할수 있다 25.8 캡슐화 DNS는 잘 알려진 포트53을 사용한 UDP나 TCP서비스를 사용할수 있다
25.9 요약