490 likes | 672 Views
25 장. 도메인 이름 서비스 (Domain Name Service). 25 장 도메인 이름 서비스. 장치에 할당되는 이름은 IP 주소와 같이 유일해야 함 주소를 유일한 이름에 매핑하는 2 가지 방법 단층적 이름공간 계층적 이름공간. 25.1 이름공간. 단층적 이름공간 이름은 주소에 할당 문자의 연속 각각의 이름은 연관성이 없이 독립적으로 존재 단점 : 중복없이 명확히 사용위해 중앙에서 전체관리 필요 인터넷과 같은 큰 시스템에는 부적합. 25.1 이름 공간. 계층적 이름공간
E N D
25장 도메인 이름 서비스 (Domain Name Service)
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) 스트링 • 도메인 이름 • 네임은 루트방향으로 읽는다. • 최대 63개 문자 • 완전한 도메인 네임은 점(.)으로 끝남
25.2 도메인 이름 공간 • FQDN (Fully Qualified Domain Name) • 레이블이 널스트링으로 끝나며 호스트의 완전한 이름 • PQDN (Partially Qualified Domain Name) • 레이블이 널스트링으로 끝나지 않을시 • 노드로부터 시작하나 루트에 도달하지 않음 • 해석할 이름이 클라이언트와 동일사이트에 있을때 사용
25.2 도메인 이름 공간 • 도메인 • 도메인 이름공간의 서브트리 • 도메인 이름은 서브트리 최상위 노드의 도메인 이름
25.3 이름 공간의 분산 • 이름서버의 계층 • 영역 • 루트서버 • 일차및 이차서버
25.3 이름 공간의 분산 • 이름서버의 계층 • 모든 네임공간의 정보를 하나의 컴퓨터에 저장은 비효율적,비신뢰적 • DNS 서버라는 많은 컴퓨터에 분산 • DNS는 작은 서브 도메인으로 나누어 보관 • 각 서버는 도메인의 크기를 정할 수 있는 책임과 권한 보유
25.3 이름 공간의 분산 • 영역 • 서버가 책임과 권한을 갖는 곳 • 서버가 더 작은 도메인으로 나누지 않았다면 도메인은 영역 • 서버가 도메인을 서브도메인으로 나누고 일부를 다른 서버에게 권한을 이양하게되면 도메인과 영역은 다른의미 • 서브도메인의 노드에 대한 정보는 더낮은 레벨의 서버에 저장되고 원래의 서버는 더 낮은 레벨의 서버에 대한 참조정보만 가지게됨
25.3 이름 공간의 분산 • 루트서버 • 전체 트리를 영역으로 가지는 서버 • 도메인에 대한 어떠한 정보도 가지지 않음 • 자신의 권한을 다른 서버에 이양하고 참조만 한다 • 현재13개이상의 루트서버가 있으며 전세계에 분산 운영
25.3 이름 공간의 분산 • 일차및 이차서버 • 일차서버 • 자신의 권한을 가진 영역에 대한 파일만 보유 • 영역파일에 대한 생성, 관리, 갱신 책임 • 이차서버 • 다른 서버로부터 영역에 대한 정보를 수신 • 로컬디스크에 파일을 저장하는 서버 • 이차서버는 영역파일을 생성, 갱신하지 않는다. • 일차 및 이차서버 모두 자신의 서비스 영역에 권한 보유 • 하나의 서버가 실패할 경우 다른 서버가 클라이언트에 서비스
25.3 이름 공간의 분산 일차서버는 디스크화일로부터 모든 정보를 로드하고, 이차서버는 일차서버로 부터 모든정보를 로드한다
25.4 인터넷에서 DNS • 일반 도메인 • 국가 도메인 • 역도메인
25.4 인터넷에서 DNS • 일반도메인 • 일반적 특성에 따라 등록된 호스트 정의 • 각 노드는 이름공간 데이터베이스에 대한 색인인 도메인을 의미 • 7개의 세문자로 구성된 레이블허용
25.4 인터넷에서 DNS • 국가 도메인 • 일반 도메인과 동일한 형태이나 2문자로 국가의 약자 형태 표시 • 예) us : 미국, kr: 한국 • 두 번째 레벨의 레이블은 조직을 나타낼 수도 있음 • 예) ca.us : 미국 캘리포니아
25.4 인터넷에서 DNS • 역도메인 • 주소를 이름으로 대응 • 서버가 클라이언트로부터 요청 받을 때 • 서버는 클라이언트 IP 주소 보유 • 클라이언트가 DNS서버에 질의하여 주소를 이름으로 교환(역or포인터질의) • 도메인 네임 공간에 인버스 도메인 추가 • Arpa-in-addr • 다음은 121.45.34.132.in-addr.arpa. 로 읽는다
25.5 변환 (name-address resolution) • 변환기 • 이름을 주소로 대응 • 주소를 이름으로 대응 • 귀환적변환 • 반복변환 • 캐싱
25.5 변환 • 변환기(resolver) • 이름을 주소로, 주소를 이름으로 대응 • 호스트는 변환기 DNS클라이언트호출 • 변환기는 가장 가까운 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.5 변환 • 반복변환 • 변환기가 귀환적 변환을 요청하지 않으면 반복적으로 진행 • 서버가 도메인 네임에 관한 권한 보유시 응답 • 권한이 없으면 변환할 수 있을 것 같은 다른 서버의 IP 주소를 클라이언트에게 되돌려줌 • 클라이언트는 반복적으로 이를 시행
25.5 변환 • 캐싱 • 서버는 자신의 도메인에 있지않은 이름에 대한 문의때마다 서버 IP 주소에 대한 데이터베이스 검색 요구 • 검색시간 감소 → 캐싱 사용으로 효율증가 • 한번 실행한 정보를 캐쉬 메모리에 저장 • 동일 매핑 정보 요구시 캐쉬메모리를 검색하여 문제 해결 • Anauthoritive표시 • 오랫동안 사용하지 않은 캐싱 정보의 오류 방지책 • 권한 있는 서버가 매핑정보에 수명정보 (TTL) 제공 • 각 서버가 각 대응에대한 수명정보(TTL 카운터) 보유 • 캐쉬메모리는 주기적으로 검색, 만료된 TTL을 갖는 대응은사라짐
25.6 DNS 메시지 • 질의 메시지 • 헤더,질문레코드 • 응답메시지 • 응답메시지 • 헤더,질문레코드, 응답레코드,권한레코드,부가레코드
25.6 DNS 메시지 • 헤더 • 질의영역 • 응답영역 • 권한영역 • 추가적인 정보영역
25.6 DNS 메시지 • 헤더 • 질의,응답 동일 헤더형식 • 12 Byte • 식별자는 클라이언트에서 질의에 대한 응답과 대응시키기 위해 사용 • 클라이언트는 질의때마다 다른 식별자번호사용 • 서버는 해당 응답에 이번호를 복사하여 넣음
25.6 DNS 메시지 • 질의영역 • 하나 이상의 질의 레코드로 구성 • 질의와 응답메시지에 존재 • 응답영역 • 하나 이상의 자원레코드로 구성 • 응답 메시지에만 존재
25.6 DNS 메시지 • 권한영역 • 하나 이상의 자원레코드로 구성 • 응답 메시지에만 존재 • 질의에 대한 하나이상의 서버에 대한 정보 제공
25.6 DNS 메시지 • 추가적인 정보영역 • 하나 이상의 자원레코드로 구성 • 응답 메시지에만 존재 • 서버는 권한이 있는 서버의 도메인이름을 변환기에 제공, 동시에 IP주소를 추가정보영역에 제공
25.7 DDNS • DDNS(Dynamic Domain Name System) • DNS에 호스트의 추가, 삭제, IP 주소변경시 DNS 주파일의 변경 필요 • 한 종류의 변경시 많은 수 작업 필요 • 현재의 인터넷에서 수작업에 의한 유지는 곤란 • DDNS(동적 도메인 네임 서비스)의 등장 • 자동적으로 DNS의 주파일을 갱신
25.7 DDNS • DDNS의 작동 • 이름과 주소의 대응 필요시 주로 DHCP로부터 1차DNS 서버로 정보전송 • 1차 서버의 영역 갱신 • 2차 서버에 통보(능동적 또는 수동적) • 능동적 통보 : 1차서버가 2차서버에 전송 • 수동적 통보 : 2차서버가 주기적으로 변경사항이 있는지 조사 • 변경에대한 통보후 1차서버는 전체 영역에 대한 정보 요청(영역전달) • 보안위한 인증방안 사용가능
25.8 캡슐화 • 캡슐화 • 응답 메시지가 512 바이트 이상이면 TCP 사용 • 응답 메세지의 크기를 알지 못하면 UDP포트 사용 • 응답 메세지의 크기가 512바이트 이상이면 서버는 메시지를 512바이트로 자른 후 TCP 비트를 1로 설정 • 변환기는 TCP 연결 개설 후 완전한 응답 요청
25.8 캡슐화 DNS는 잘 알려진 포트53을 사용한 UDP나 TCP서비스를 사용할수 있다