1 / 32

DNS

15. DNS. 도메인 이름과 IP 주소를 변환하는 과정이 필요한 이유를 이해한다 . 계층 구조의 네임 스페이스 , 도메인 , 존 개념을 이해한다 . 도메인 정보를 관리하기 위한 자원 레코드를 알아본다 . 이름 관리를 위한 해석기와 네임 서버의 동작 원리를 이해한다 . DNS 클라이언트와 서버가 전송하는 DNS 메시지를 살펴본다. 호스트 이름과 IP 주소 정보의 관리를 위한 분산 데이터베이스 시스템 IP 주소 32 비트 크기 사용자 편의를 위해 8 비트 크기의 10 진수 4 개로 표현

essien
Télécharger la présentation

DNS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 15 DNS

  2. 도메인 이름과 IP 주소를 변환하는 과정이 필요한 이유를 이해한다. • 계층 구조의 네임 스페이스, 도메인, 존 개념을 이해한다. • 도메인 정보를 관리하기 위한 자원 레코드를 알아본다. • 이름 관리를 위한 해석기와 네임 서버의 동작 원리를 이해한다. • DNS 클라이언트와 서버가 전송하는 DNS 메시지를 살펴본다.

  3. 호스트 이름과 IP 주소 정보의 관리를 위한 분산 데이터베이스 시스템 IP 주소 32 비트 크기 사용자 편의를 위해 8 비트 크기의 10진수 4개로 표현 www.xxx.yyy.zzz 예: 211.223.201.30 주소 클래스 클래스 구분 [표 15-1] 1절. 도메인 서비스

  4. 1절. 도메인 서비스 IP 주소 주소 클래스 [그림 15-1] 클래스 A: 224개의 호스트 수용 클래스 B: 216개의 호스트 수용 클래스 C: 28개의 호스트 수용 클래스 D: 멀티캐스팅 지원

  5. 1절. 도메인 서비스 DNS 도메인 이름: 문자형으로 표기되는 호스트 이름 (일반 사용자가 선호) IP 주소: IP 프로토콜에서 호스트 구분을 위하여 반드시 필요 DNS: 도메인 이름을 이용하여 IP 주소로 변환하는 서비스 /etc/hosts 파일 인터넷 초기에 수작업으로 관리 파일의 내용은 (도메인 이름, IP 주소)의 쌍으로 구성 Infor1.korea.co.kr 211.223.201.28 Infor2.korea.co.kr 211.223.201.29 Infor3.korea.co.kr 211.223.201.30 인터넷 보급이 확산되면서 DNS를 이용하여 자동으로 처리

  6. 1절. 도메인 서비스 DNS 분산 데이터베이스 해석기 (Resolver) IP 주소를 얻고자 하는 응용 프로그램이 호출 응용 프로그램은 해석기에게 도메인 이름을 매개변수로 제공 해석기는 UDP를 이용해 DNS 서버에 변환을 요청 nslookup 명령어 information.korea.co.kr의 IP 주소? DNS 서버: server.korea.co.kr % nslookup information.korea.co.kr Server: server.korea.co.kr Address: 211.223.201.30 Name: information.korea.co.kr Address: 211.223.201.29 %

  7. 1절. 도메인 서비스 DNS 구성 요소 도메인 네임 스페이스 트리 구조의 네임 스페이스를 비롯해 데이터에 대한 이름 관련 규칙을 정의 트리에 연결된 호스트는 자원 레코드(Resource Records)로 표현 DNS 서비스는 자원 레코드의 특정 유형 정보를 얻는 과정 네임 서버 도메인 트리 구조와 트리에 보관된 자원 레코드를 관리하는 프로그램 여러 네임 서버가 구역을 분할해 전체 도메인을 관리함 해석기 클라이언트의 요청을 받아 네임 서버로부터 정보을 얻어냄 하나의 이상의 네임 서버와 접촉

  8. 2절. DNS 데이터베이스 DNS: 거대한 분산 데이터베이스 도메인 네임 스페이스 DNS가 저장, 관리하는 계층적 데이터베이스 최상위에 루트가 존재하고, 그 아래로 모든 호스트가 트리 구조로 이어짐 레이블: 호스트의 이름 도메인 이름: 점(.)으로 구분한 호스트 레이블의 연속 도메인 네임 스페이스 도메인 도메인 이름 최하위 레이블을 왼쪽에 위치하고 상위로 이동하면서 레이블을 표기 예: 그림 15-2의 xx.lcs.mit.edu TLD (최상위 도메인) 루트 호스트 바로 밑에 위치한 호스트 예: 그림 15-2의 mil, edu, arpa 도메인: 그림 15-2의 edu 도메인, mit.edu 도메인

  9. 2절. DNS 데이터베이스 도메인 네임 스페이스 도메인 [그림 15-2] 호스트의 도메인 이름 xx.lcs.mit.edu TLD mil, edu, arpa 도메인 edu 도메인 mit.edu 도메인

  10. 2절. DNS 데이터베이스 도메인 네임 스페이스 최상위 도메인 RFC 1591의 TLD .com: 상업적인 용도 .edu: 교육기관 용도 .net: 네트워크 서비스 제공자와 관련된 시스템 .org: 다양한 종류의 기관 .int: 국제적인 목적으로 정의 .gov: 미국 연방 정부와 관련된 기관 .mil: 미국 국방성 관련 기관 추가: arts, firm, info, nom, rcc, store, web 등 국가 코드의 활용: .tv, .cc

  11. 2절. DNS 데이터베이스 도메인 네임 스페이스 도메인 이름 [그림 15-3] 호스트의 명칭 하위 레이블부터 시작 레이블 이름을 점(.)으로 연결

  12. 2절. DNS 데이터베이스 데이터베이스 서비스 계층 구조의 네임 서버 [그림 15-4] 각 네임 서버는 자신의 하부에 위치한 호스트 정보만을 관리 이웃하는 네임 서버끼리 정보가 필요할 때는 상위 네임 서버의 중개가 필요

  13. 2절. DNS 데이터베이스 데이터베이스 서비스 도메인 영역 [그림 15-5] 존: 임의의 네임 서버가 관리하는 영역 도메인과 유사하지만 다름

  14. 2절. DNS 데이터베이스 자원 레코드 자원 레코드 이름과 주소 정보를 저장하기 위한 레코드 트리에 연결된 각 호스트의 정보는 자원 레코드와 관계됨 DNS 네임 서버가 해석기에 반환하는 데이터가 자원 레코드 정보 질의 레코드: DNS 클라이언트가 DNS 서버에 정보를 요청하는 용도

  15. 2절. DNS 데이터베이스 자원 레코드 자원 레코드 Name: 찾고자 하는 가변 길이의 도메인 이름 Type: 자원의 종류 Class: 프로토콜 패밀리 (인터넷: IN) TTL: 캐쉬 정보의 유효 기간 RD: RD의 크기 RD: 자원 데이터

  16. 2절. DNS 데이터베이스 자원 레코드 Type A: 호스트의 IP 주소 (도메인 이름과 IP 주소 변환) NS: 도메인을 관장하는 인증된 네임 서버 CNAME: 호스트의 별명 SOA: 존의 시작을 표시 WKS: 호스트가 제공하는 네트워크 서비스 PTR: IP 주소를 도메인 이름으로 변환 HINFO: 호스트 정보

  17. 3절. 네임 서버 인터넷에서 여러 네임 서버가 유기적으로 동작하여 정보의 일관성 유지 해석기 도메인 이름과 호스트 주소 정보를 원하는 응용 프로그램은 해석기에게 요청 해석기는 DNS 서버와 접촉하는 DNS 클라이언트 역할을 수행 인증 데이터 도메인 이름과 관련된 IP 주소를 얻는 과정 해석기가 DNS 메시지 형식의 질의를 생성 이 질의를 네임 서버에게 전달 네임 서버는 회신용 DNS 메시지에 결과를 담아 해석기에 회신 네임 서버의 부담을 줄이기 위하여 캐시 정보 활용 인증 데이터: 해당 데이터를 직접 관리할 책임이 있는 네임 서버로부터 받은 정보 캐시 데이터: 이전 요청에 의하여 호스트가 보관하던 정보

  18. 3절. 네임 서버 해석기 존 존은 자원 레코드에 포함된 인증 데이터의 집합체로 정의됨 관리하는 정보 존에 속하는 모든 호스트의 전체 자원 레코드 집합체 존에 포함된 최상위 호스트 위임 서브 존: 자신의 존에 속하지만 인증이 위임된 경우 위임된 서버 존에 관한 글루 데이터: 서브 존의 네임 서버에 접근할 수 있도록 해줌 그림 15-7의 예: test.info.mit.edu의 호스트 정보를 얻고자 하는 경우 info.mit.edu를 관리하는 네임 서버의 IP 주소를 알면 간단히 처리 info.mit.edu의 네임 서버가 서브존 도메인 내부에 위치하여 IP 주소를 얻기 곤란한 경우에 글루 데이터가 필요

  19. 3절. 네임 서버 해석기 존 [그림 15-7]

  20. 3절. 네임 서버 요청의 처리 호스트 A가 호스트 B의 정보를 원할 때, 호스트 A, B 가 같은 도메인에 위치하면 이 도메인의 네임 서버가 인증 데이터를 회신 다른 도메인에 위치하면 인근 네임 서버에게 요청 호스트(A)를 중개해 줌 인근 네임 서버를 찾는 작업은 인증 정보를 찾을 때까지 반복됨 질의 요청이 처리되는 과정 인증 데이터가 반드시 필요한지 명시, 혹은 캐시 해석기는 질의 요청을 재귀적으로 처리하는 명시, 혹은 비재귀적

  21. 3절. 네임 서버 요청의 처리 재귀적 요청 [그림 15-8] 해석기가 최초로 접속을 시도한 네임 서버가 질의 요청을 추적, 관리 재귀적 요청을 받은 네임 서버가 결과적으로 해석기 역할을 수행 비재귀적: 요청을 받은 네임 서버가 다른 네임 서버의 포인터 정보를 회신

  22. 4절. DNS 프로토콜 DNS 메시지 DNS 데이터를 요청하거나 응답할 때 DNS 메시지를 전송 DNS 메시지 [그림 15-9]

  23. 4절. DNS 프로토콜 DNS 메시지 DNS 메시지 Header 헤더 값에 따라 다른 필드의 사용 여부 결정 Question 질의 메시지, 응답 메시지 모두 사용 네임 서버에 요청하는 문의 사항 질의 레코드 사용 Answer: 질문에 대한 결과 Authority: 인증 Additional: 기타 정보

  24. 4절. DNS 프로토콜 DNS 메시지 DNS 헤더 [그림 15-10]

  25. 4절. DNS 프로토콜 DNS 메시지 DNS 헤더 Identification: 요청과 응답이 연관 관계를 표시 QR: 질의 메시지, 응답 메시지 구분 OPCODE: 질의나 응답의 종류 AA: 인증 권한이 있는 네임 서버 TC: UDP 최대 크기 초과 여부 RD: 재귀적 응답 RA: 반복 응답 가능 여부 RCODE: 응답 오류

  26. 4절. DNS 프로토콜 DNS 메시지 UDP의 제한 해석기와 네임 서버는 UDP 53 번 포트로 DNS 메시지 전송 UDP 프로토콜의 최대 전송 크기: 512 바이트 TCP 53 번 포트를 사용하는 경우 미리 512 바이트보다 크다는 것을 인지하는 경우에는 처음부터 TCP 사용 사전에 인지하지 못하는 경우는 TC=1로 지정되므로, TCP 연결을 사용

  27. 4절. DNS 프로토콜 DNS 프로토콜의 동작 과정 질의 메시지 www.korea.co.kr 호스트의 IP 주소를 원하는 경우 DNS 헤더 Identification: 0x337c 플래그: 0x0100 (QR=0, Opcode=0000, AA=0, TC=0, RD=1, RA=0, Z=000, RCODE=0000) QUCOUNT: 1 ANCOUNT: 0 AUCOUNT: 0 ARCOUNT: 0 QUESTION: QUCOUNT=1 [그림 15-9, 15-6b] 이름: www.korea.co.kr 유형: A (Address) 클래스: IN (인터넷)

  28. 4절. DNS 프로토콜 DNS 프로토콜의 동작 과정 질의 메시지 그림 15-11의 도식화

  29. 4절. DNS 프로토콜 DNS 프로토콜의 동작 과정 응답 메시지 DNS 헤더 Identification: 0x337c 플래그: 0x08180 (QR=1, Opcode=0000, AA=0, TC=0, RD=1, RA=1, Z=000, RCODE=0000) QUCOUNT: 1 ANCOUNT: 2 AUCOUNT: 2 ARCOUNT: 0 QUESTION: QUCOUNT=1 [그림 15-9, 15-6b] 이름: www.korea.co.kr 유형: A (Address) 클래스: IN (인터넷)

  30. 4절. DNS 프로토콜 DNS 프로토콜의 동작 과정 응답 메시지 ANSWER: ANCOUNT=2 [그림 15-9, 15-6a] 이름: www.korea.co.kr 유형: CNAME (Canonical Name for an Alias) 클래스: IN (인터넷) TTL: 2시간 RD의 길이: 2 자원 데이터: Primary name: korea.co.kr 이름: korea.co.kr 유형: A (Address) 클래스: IN (인터넷) TTL: 2시간 RD의 길이: 4 자원 데이터: Addr: 211.223.201.30

  31. 4절. DNS 프로토콜 DNS 프로토콜의 동작 과정 응답 메시지 ANSWER: AUCOUNT=2 [그림 15-9, 15-6a] 이름: korea.co.kr 유형: NS (Authoritative Name Server) 클래스: IN (인터넷) TTL: 2시간 RD의 길이: 8 자원 데이터: Name Server: ns.ns1.kr 이름: korea.co.kr 유형: NS (Authoritative Name Server) 클래스: IN (인터넷) TTL: 2시간 RD의 길이: 10 자원 데이터: Name Server: nsbk.ns2.kr

More Related