Download presentation
Presentation is loading. Please wait.
1
14 DNS
2
학습목표 내용 도메인 이름과 IP 주소를 변환하는 과정이 필요한 이유를 이해한다.
계층 구조의 네임 스페이스, 도메인, 존의 개념을 이해한다. 도메인 정보를 관리하기 위한 자원 레코드를 알아본다. 이름 관리를 위한 해석기와 네임 서버의 동작 원리를 이해한다. DNS 클라이언트와 서버가 전송하는 DNS 메시지를 살펴본다. 내용 DNS 서비스 도메인 네임 스페이스 네임 서버와 해석기 DNS 프로토콜 요약 연습문제
3
01_DNS 서비스 IP 주소 체계 IP 주소IP Address : 32비트의 이진수, 호스트 구분
8비트의 십진수인 형태로 표현 클래스 구분
4
01_DNS 서비스 주소 클래스 클래스 A : 224개의 호스트 수용 클래스 B : 216개의 호스트 수용
클래스 C : 28개의 호스트 수용 클래스 D : 멀티캐스팅 지원
5
01_DNS 서비스 DNS 필요성 도메인 이름 : 문자형으로 표기되는 호스트 이름 (일반 사용자가 선호)
IP 주소 : IP 프로토콜에서 호스트 구분을 위하여 반드시 필요 DNS : 도메인 이름을 이용하여 IP 주소로 변환하는 서비스 /etc/hosts 파일 인터넷 초기에 수작업으로 관리 파일의 내용은 (도메인 이름, IP 주소)의 쌍으로 구성 인터넷 보급이 확산되면서 DNS를 이용하여 자동으로 처리
6
01_DNS 서비스 DNS 계층구조의 도메인 기반 주소 표기 방법을 위한 분산 데이터베이스 시스템
도메인 이름에서 IP 주소를 얻음 해석기Resolver IP 주소를 원하는 응용 프로그램은 도메인 이름을 매개변수로 해석기 호출함 UDP를 이용해 DNS 네임 서버에 변환을 요청하여 호스트의 IP 주소를 얻음 nslookup 명령 DNS를 이용해 주소 변환 요구를 수행하는 대화형 프로그램 예) 도메인 이름이 information.korea.co.kr인 호스트의 IP 주소를 얻기 ❶ nslookup 실행 ❷ DNS 서버의 도메인 이름 ❸ IP 주소
7
01_DNS 서비스 DNS : 도메인 네임 스페이스, 네임 서버, 해석기로 구성
도메인 네임 스페이스Domain Name Space 트리 구조의 네임 스페이스를 비롯해 데이터에 대한 이름 관련 규칙을 정의 트리에 연결된 호스트는 자원 레코드(Resource Records)로 표현 DNS 서비스는 자원 레코드의 특정 유형 정보를 얻는 과정 네임 서버Name Server 도메인 트리 구조와 트리에 보관된 자원 레코드를 관리하는 프로그램 여러 네임 서버가 구역을 분할해 전체 도메인을 관리함 해석기Resolver 클라이언트의 요청을 받아 네임 서버로부터 정보를 얻어냄 하나의 이상의 네임 서버와 접촉
8
02_도메인 네임 스페이스 도메인 네임 스페이스의 구조 DNS : 거대한 분산 데이터베이스 도메인 네임 스페이스
최상위에 루트가 존재, 그 아래로 모든 호스트가 트리 구조로 이어짐 레이블 : 호스트의 이름 도메인 이름 : 점(.)으로 구분한 호스트 레이블의 연속 도메인 네임 스페이스의 구조 계층적인 트리 구조를 지원 도메인 이름 최하위 호스트의 레이블을 맨 왼쪽에 두고, 상위 노드로 이동하면서 점(.)으로 구분한 레이블 이름을 연속으로 붙임 TLDTop LevelDomain : 최상위 도메인, 도메인 이름의 맨 오른쪽에 위치 도메인 도메인 네임 스페이스에서 하부 트리 전체를 의미, 해당 도메인의 명칭은 하부 트리의 맨 상위에 위치한 호스트의 도메인 이름
9
02_도메인 네임 스페이스
10
02_도메인 네임 스페이스 최상위 도메인의 분류
11
02_도메인 네임 스페이스 도메인 이름 : 하위 호스트의 레이블부터 루트에 이르는 경로에 위치한 모든
호스트의 레이블을 점(.)으로 연결한 것
12
02_도메인 네임 스페이스 데이터베이스 서비스 계층 구조의 네임 서버
각 네임 서버는 자신의 하부에 위치한 호스트 정보만을 관리 이웃하는 네임 서버끼리 정보가 필요할 때는 상위 네임 서버의 중개가 필요
13
02_도메인 네임 스페이스 도메인 영역 존Zone : 임의의 네임 서버가 관리하는 영역
14
02_도메인 네임 스페이스 자원 레코드RR, Resource Record
이름과 주소 정보를 저장하기 위한 레코드 트리에 연결된 각 호스트의 정보는 자원 레코드와 관계됨 DNS 네임 서버가 해석기에 반환하는 데이터가 자원 레코드 정보 질의 레코드 : DNS 클라이언트가 DNS 서버에 정보를 요청하는 용도
15
02_도메인 네임 스페이스 자원 레코드 필드 Name(이름) : 찾고자 하는 가변 길이의 도메인 이름
Type(유형) : 16비트 크기로 자원의 종류 Class(클래스) : 프로토콜 패밀리를 의미 TTLTime To Live(생존 기간) : 자원 레코드가 만기까지의 유효 시간을 초 단위로 표시 RD Length(RD 길이) : 자원 데이터의 길이를 바이트 단위로 나타냄 RD(자원 데이터) : 자원 레코드와 관계된 데이터가 기록
16
02_도메인 네임 스페이스 자원 레코드의 유형
17
03_네임 서버와 해석기 해석기 인터넷에서 여러 네임 서버가 유기적으로 동작하여 정보의 일관성 유지 인증 데이터
도메인 이름과 호스트 주소 정보를 원하는 응용 프로그램은 해석기에게 요청 해석기는 DNS 서버와 접촉하는 DNS 클라이언트 역할을 수행 인증 데이터 네임 서버가 하나면 이 서버가 DNS에 관한 모든 정보를 관리 네임 서버의 부담을 줄이기 위하여 캐시 정보 활용 인증 데이터 : 해당 데이터를 직접 관리할 책임이 있는 네임 서버로부터 받은 정보 캐시 데이터 : 이전 요청에 의하여 호스트가 보관하던 정보 캐시 데이터를 오래 보관하면 클라이언트에 다른 정보를 전달할 염려가 있음 해당 정보의 인증 서버가 TTL이라는 정보를 제공하여 초과된 정보는 자동으로 무효 처리하고 인증 서버에 다시 정보를 요청해서 캐시 데이터를 갱신함
18
03_네임 서버와 해석기 존 존은 자원 레코드에 포함된 인증 데이터의 집합체로 정의됨 포함하는 영역
존에 속하는 모든 호스트의 전체 자원 레코드 집합체 존에 포함된 최상위 호스트 위임 서브 존: 자신의 존에 속하지만 인증이 위임된 경우 위임된 서버 존에 관한 글루 데이터: 서브 존의 네임 서버에 접근할 수 있도록 해줌 예) test.info.mit.edu의 호스트 정보를 얻고자 하는 경우 info.mit.edu를 관리하는 네임 서버의 IP 주소를 알면 간단히 처리 info.mit.edu의 네임 서버가 서브존 도메인 내부에 위치하여 IP 주소를 얻기 곤란한 경우에 글루 데이터가 필요
19
03_네임 서버와 해석기
20
03_네임 서버와 해석기 요청의 처리 질의 요청이 처리되는 과정 재귀적 처리 인증 데이터가 반드시 필요한지 명시, 혹은 캐시
해석기는 질의 요청을 재귀적으로 처리하는 명시, 혹은 비재귀적 재귀적 처리 해석기가 최초로 접속을 시도한 네임 서버가 질의 요청을 추적, 관리 재귀적 요청을 받은 네임 서버가 결과적으로 해석기 역할을 수행 비재귀적: 요청을 받은 네임 서버가 다른 네임 서버의 포인터 정보를 회신
21
03_네임 서버와 해석기
22
03_네임 서버와 해석기 반복적 처리 네임 서버 2로부터 원하는 정보를 얻지 못한 로컬 네임 서버는 네임 서버 1과
직접 접촉하여 정보를 얻음 네임 서버 1의 포인터인 IP 주소는 네임 서버 2가 제공
23
04_DNS 프로토콜 DNS 메시지 DNS 데이터를 요청하거나, 반대로 응답할 때 DNS 메시지를 전송 DNS 메시지의 구조
24
04_DNS 프로토콜 DNS 헤더 Header : 다른 필드의 사용 여부를 확인함, 반드시 필요
Question : 질의 레코드가 하나 이상 존재, 질의 메시지와 응답 메시지 모두사용 Answer : 응답 메시지에서만 사용 Authority : 응답 메시지에서만 사용, 질의의 인증 권한이 있는 서버 정보제공 Additional : 응답 메시지로 사용, 해석기에 필요한 추가 정보를 제공 DNS 헤더 Identification : 요청과 응답이 연관 관계를 표시 QR : 질의 메시지, 응답 메시지 구분 OPCODE : 질의나 응답의 종류 AA : 인증 권한이 있는 네임 서버 TC : UDP 최대 크기 초과 여부 RD : 재귀적 응답 RA : 반복 응답 가능 여부 Z : 예약 필드 RCODE : 응답 오류 QUCOUNT : DNS 메시지의 Question 필드에 있는 질의 요청의 개수
25
04_DNS 프로토콜 ANCOUNT : 응답용 DNS 메시지에서 Answer 레코드의 개수
AUCOUNT : 응답용 DNS 메시지에서 Authority 레코드의 개수 ARCOUNT : 응답용 DNS 메시지에서 Additional 레코드의 개수
26
04_DNS 프로토콜 UDP의 제한 해석기와 네임 서버는 UDP 53 번 포트로 DNS 메시지 전송
DNS 메시지가 512바이트보다 크면 TCP를 사용하는데 이때도 DNS 메시지 전송 은 53번 포트를 사용함 DNS 메시지가 512바이트보다 커 TCP를 사용할 경우 미리 512 바이트보다 크다는 것을 인지하는 경우에는 처음부터 TCP 사용 사전에 인지하지 못하는 경우는 TC=1로 지정되므로, TCP 연결을 사용
27
04_DNS 프로토콜 DNS 프로토콜 동작 과정 질의 메시지 예) www.korea.co.kr라는 호스트의 IP 주소 찾기
Header의 Identification : 메시지 식별자, UDP의 비순서적 전송 방식을 보완하려고 사용 플래그 값은 0×0100이므로 QR=0은 질의 메시지, OPcode=0은 표준 질의, RD=1은 재귀적 응답임
28
04_DNS 프로토콜
29
04_DNS 프로토콜 응답 메시지 Question 자원 레코드
30
04_DNS 프로토콜 응답 메시지
31
04_DNS 프로토콜 Authority 자원 레코드 내용
Similar presentations