• 검색 결과가 없습니다.

 도메인 이름과 IP 주소를 변환하는 과정이 필요한 이유를 이해한다.

N/A
N/A
Protected

Academic year: 2023

Share " 도메인 이름과 IP 주소를 변환하는 과정이 필요한 이유를 이해한다. "

Copied!
32
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

쉽게 배우는

데이터 통신

컴퓨터 네트워크

DNS

(2)

학습목표

 도메인 이름과 IP 주소를 변환하는 과정이 필요한 이유를 이해한다.

 계층 구조의 네임 스페이스, 도메인, 존 개념을 이해한다.

 도메인 정보를 관리하기 위한 자원 레코드를 알아본다.

 이름 관리를 위한 해석기와 네임 서버의 동작 원리를 이해한다.

 DNS 클라이언트와 서버가 전송하는 DNS 메시지를 살펴본다.

(3)

3/32

1절. 도메인 서비스

호스트 이름과 IP 주소 정보의 관리를 위한 분산 데이터베이스 시스템

 IP 주소

32 비트 크기

사용자 편의를 위해 8 비트 크기의 10진수 4개로 표현 – www.xxx.yyy.zzz

– 예: 211.223.201.30

 주소 클래스

클래스 구분 [표 15-1]

(4)

1절. 도메인 서비스

 IP 주소

 주소 클래스 [그림 15-1]

클래스 A: 224개의 호스트 수용

클래스 B: 216개의 호스트 수용

클래스 C: 28개의 호스트 수용

클래스 D: 멀티캐스팅 지원

(5)

5/32

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 명령어

– DNS 서버: server.korea.co.kr

– information.korea.co.kr의 IP 주소

(7)

7/32

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)

9/32

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)

11/32

2절. DNS 데이터베이스

 도메인 네임 스페이스

 도메인 이름 [그림 15-3]

호스트의 명칭

하위 레이블부터 시작

레이블 이름을 점(.)으로 연결

(12)

2절. DNS 데이터베이스

 데이터베이스 서비스

 계층 구조의 네임 서버 [그림 15-4]

각 네임 서버는 자신의 하부에 위치한 호스트 정보만을 관리

이웃하는 네임 서버끼리 정보가 필요할 때는 상위 네임 서버의 중개가 필요

(13)

13/32

2절. DNS 데이터베이스

 데이터베이스 서비스

 도메인 영역 [그림 15-5]

존: 임의의 네임 서버가 관리하는 영역

도메인과 유사하지만 다름

(14)

2절. DNS 데이터베이스

 자원 레코드

자원 레코드

– 이름과 주소 정보를 저장하기 위한 레코드

– 트리에 연결된 각 호스트의 정보는 자원 레코드와 관계됨

– DNS 네임 서버가 해석기에 반환하는 데이터가 자원 레코드 정보

질의 레코드: DNS 클라이언트가 DNS 서버에 정보를 요청하는 용도

(15)

15/32

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)

17/32

3절. 네임 서버

인터넷에서 여러 네임 서버가 유기적으로 동작하여 정보의 일관성 유지

 해석기

도메인 이름과 호스트 주소 정보를 원하는 응용 프로그램은 해석기에게 요청

해석기는 DNS 서버와 접촉하는 DNS 클라이언트 역할을 수행

 인증 데이터

도메인 이름과 관련된 IP 주소를 얻는 과정 – 해석기가 DNS 메시지 형식의 질의를 생성 – 이 질의를 네임 서버에게 전달

– 네임 서버는 회신용 DNS 메시지에 결과를 담아 해석기에 회신

네임 서버의 부담을 줄이기 위하여 캐시 정보 활용

– 인증 데이터: 해당 데이터를 직접 관리할 책임이 있는 네임 서버로부터 받은 정보 – 캐시 데이터: 이전 요청에 의하여 호스트가 보관하던 정보

(18)

3절. 네임 서버

 해석기

 존

존은 자원 레코드에 포함된 인증 데이터의 집합체로 정의됨

관리하는 정보

– 존에 속하는 모든 호스트의 전체 자원 레코드 집합체 – 존에 포함된 최상위 호스트

– 위임 서브 존: 자신의 존에 속하지만 인증이 위임된 경우

– 위임된 서버 존에 관한 글루 데이터: 서브 존의 네임 서버에 접근할 수 있도록 해줌

그림 15-7의 예: test.info.mit.edu의 호스트 정보를 얻고자 하는 경우 – info.mit.edu를 관리하는 네임 서버의 IP 주소를 알면 간단히 처리

– info.mit.edu의 네임 서버가 서브존 도메인 내부에 위치하여 IP 주소를 얻기 곤란 한 경우에 글루 데이터가 필요

(19)

19/32

3절. 네임 서버

 해석기

 존 [그림 15-7]

(20)

3절. 네임 서버

 요청의 처리

호스트 A가 호스트 B의 정보를 원할 때, 호스트 A, B 가

– 같은 도메인에 위치하면 이 도메인의 네임 서버가 인증 데이터를 회신 – 다른 도메인에 위치하면 인근 네임 서버에게 요청 호스트(A)를 중개해 줌

인근 네임 서버를 찾는 작업은 인증 정보를 찾을 때까지 반복됨

질의 요청이 처리되는 과정

– 인증 데이터가 반드시 필요한지 명시, 혹은 캐시

– 해석기는 질의 요청을 재귀적으로 처리하는 명시, 혹은 비재귀적

(21)

21/32

3절. 네임 서버

 요청의 처리

 재귀적 요청 [그림 15-8]

해석기가 최초로 접속을 시도한 네임 서버가 질의 요청을 추적, 관리

재귀적 요청을 받은 네임 서버가 결과적으로 해석기 역할을 수행

비재귀적: 요청을 받은 네임 서버가 다른 네임 서버의 포인터 정보를 회신

(22)

4절. DNS 프로토콜

 DNS 메시지

DNS 데이터를 요청하거나 응답할 때 DNS 메시지를 전송

 DNS 메시지 [그림 15-9]

(23)

23/32

4절. DNS 프로토콜

 DNS 메시지

 DNS 메시지

Header

– 헤더 값에 따라 다른 필드의 사용 여부 결정

Question

– 질의 메시지, 응답 메시지 모두 사용 – 네임 서버에 요청하는 문의 사항 – 질의 레코드 사용

Answer: 질문에 대한 결과

Authority: 인증

Additional: 기타 정보

(24)

4절. DNS 프로토콜

 DNS 메시지

 DNS 헤더 [그림 15-10]

(25)

25/32

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)

27/32

4절. DNS 프로토콜

 DNS 프로토콜의 동작 과정

 질의 메시지

www.korea.co.kr 호스트의 IP 주소를 원하는 경우

DNS 헤더

QUESTION: QUCOUNT=1 [그림 15-9, 15-6(b)]

이름: www.korea.co.kr 유형: A (Address)

클래스: IN (인터넷)

(28)

4절. DNS 프로토콜

 DNS 프로토콜의 동작 과정

 질의 메시지

[그림 15-11]의 도식화

(29)

29/32

4절. DNS 프로토콜

 DNS 프로토콜의 동작 과정

 응답 메시지

DNS 헤더

QUESTION: QUCOUNT=1 [그림 15-9, 15-6b]

이름: www.korea.co.kr 유형: A (Address)

클래스: IN (인터넷)

(30)

4절. DNS 프로토콜

 DNS 프로토콜의 동작 과정

 응답 메시지

ANSWER: ANCOUNT=2 [그림 15-9, 15-6(a)]

이름: 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

(31)

31/32

4절. DNS 프로토콜

 DNS 프로토콜의 동작 과정

 응답 메시지

ANSWER: AUCOUNT=2 [그림 15-9, 15-6(a)]

이름: 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

(32)

IT CookBook, 쉽게 배우는

데이터 통신

컴퓨터 네트워크

참조

관련 문서

영아기와 걸음마기의 인지발달 중 언어발달을 이해한다... 영아기와 걸음마기의 인지발달

디지털 녹음과 분석을 위한 기본적인 개념을 이해한다(표본화, 양자화, Nyquist 주파수)..2. 디지털 신호의

질병 발병에 있어 환경적 요인과 유전적 요인의 상대적 중요성을 비교 평가하는 이민자 연구에 대해

 IP 주소를 할당하는 특정 서버가 전송하는 정보 그대로 컴퓨터에서 자동으로 설정하는 방식..  DHCP(Dynamic Host

- 반송파의 주파수를 변화시키는 방식을 M진 주파수전이 키잉 또는 MFSK - 반송파의 위상을 변화시키는 방식을 M진 위상전이 키잉 또는 MPSK - 반송파의 진폭과

뇌활의 첫 부분은 뇌활다리(crus)라고 하며, 중간 부분 은 양쪽이 합쳐져 있고 뇌활몸통(corpus)이라고 한다.. 뇌활몸통은 전에서

학습한 원리를 이용하여 어떻게 하면 플라잉 디스크를 멀리 던질 수 있는지 이해한다.. 날개가 없는데 어떻게

위법배제설은 자백배제법칙을 자백취득과정에서 적정절차 (due process) 를 보장 하기 위한 증거법상의 원칙으로 이해한다. 51) 자백취득과정에서의 적법절차의 원리