728x90
도메인명(Domain Name)
- 인터넷 호스트에 부여되는 문자형의 유일한 이름 -> 주소
- 계층적인 도메인 관리 구조에 의해 도메인명의 유일성 유지
- 도메인 관리자가 상위 도메인 관리에게 등록한 후 사용
도메인 구조
- 최상위 도메인: 7개 일반 도메인: .com, .org, .net, .int, .edu, .gov, .mil
- 국가 도메인: .kr, .jp, .uk, . . .
- 중간 도메인: .ac, .gov, .re, .or, . . .
- 책임 도메인(호스트에 도메인 부여): @@@.ac.kr
- 호스트 도메인: ###.@@@.ac.kr
계층적 도메인 구조
도메인명 특징
- 사용자 편리성
- IP 주소보다 사용하기 편리하다.
- 사용자 소속성
- IP 주소는 계속 변하지만, 도메인명은 특정 상황이 아니면 변하지 않는다.
DNS 서비스 유형
- Hostname to IP Address(호스트명-IP 주소 변환 서비스
- 사용자의 문자형의 호스트명(도메인명)을 TCP/IP가 사용하는 32비트 IP 주소로 변환
- Host aliasing(호스트 별칭 서비스)
- 사용자의 호스트 별칭(alias)을 복잡한 정규 호스트명(canonical hostname)으로 변환
- Mail server aliasing(메일서버 별칭 서비스)
- 사용자의 메일서버 별칭을 복잡한 정규 호스트명으로 변환
- Load distribution(부하 분산 서비스)
- 동일 서버명(도메인명)으로 서로 다른 IP 주소의 다중 복제 서버 배치
- 동일 서버명에 대한 DNS 요청에 대해 다른 IP 주소를 돌아가며 응답
DNS 구조
중앙 집중형 구조(Centralized Architecture)
- 하나의 서버가 모든 DNS 질의(queries) 처리
문제점
- A single point of failure: 중앙 서버 고장 시 전체 네트워크 고장
- Traffic volume: 중앙 서버에 부하 집중
- Distant centralized database: 원거리 중앙 서버의 응답 지연시간 증가
- Maintenance: 중앙 서버 유지 보수 어려움
분산 계층 구조(Distributed & Hierarchical Architecture)
루트 서버(Root Server)
- 일반적으로 TLD(Top Level Domain) 서버에 대한 IP 주소 제공
- 전세계에 수백개의 복제 서버 존재
- 13개의 관리 기관에 의해 관리
- 지역(local) DNS 서버에 의해 처음 접속
TLD(Top Level Domain) 서버
- 최상위 도메인(Top Level Domain)에 대한 DNS 서비스 담당
- 일반적으로 책임(authoritative) DNS 서버의 IP 주소 제공
.KR 도메인 관리 주체
- KRNIC(한국인터넷정보센터)
책임(authoritative) DNS 서버
- 특정 호스트의 도메인명 정보를 유지하고 있는 서버
- 규모가 큰 기관은 대부분 자신의 호스트들에 대한 책임 DNS 서버 유지
- 소규모 기관은 외부의 책임 DNS 서버 위탁
지역(local) DNS 서버
- DNS 서비스를 요청하는 클라이언트 호스트가 소속된 DNS 서버
- 소속된 호스트들의 DNS 서비스 요청 대행
DNS 서비스 제공 방식
반복적 질의(Iterative queries)
- 사용자가 local DNS server에 DNS 서비스를 요청한다.
- local DNS server는 도메인명을 갖고 있지 않으므로, root DNS server에게 도메인명을 물어본다.
- root DNS server 또한 도메인(호스트)에 대한 정보를 유지하지 않는다. 하지만 호스트가 포함되있는 TLD(Top Level Domain) 서버 정보를 갖고 있어 이를 알려준다.
- TLD 서버에게 도메인(호스트)에 대한 정보를 물어본다. 하지만, 애한테도 도메인 정보가 있지 않고 책임 도메인 서버를 알려준다.
- 책임 도메인에 접속하여 도메인 이름에 대한 IP 주소를 받는다.
- 이를 토대로 호스트에 접속한다.
※ 모든 도메인명에 대한 정보 요청을 local DNS server에서 한다.
재귀적 질의(recursive queries)
반복적 질의 과정과는 달리 local DNS server가 모든 정보 요청을 하지 않는다.
DNS 캐싱(caching)
- 특정 서버가 다른 서버에게 질의를 하고 응답을 받으면 이 정보를 클라이언트 방향으로 전달하기 전에 자신의 캐쉬(Cache) 메모리에 저장한다.
- 해당 서버가 동일한 도메인명에 대한 해석을 요쳥하는 질의를 수신하면 다른 서버에게 질의 메시지를 전달하는 대신 캐쉬 메모리 정보를 응답한다.
문제점 및 해결 방법
- 특정 도메인명에 대한 정보가 해당 서버에 캐싱된 이후에 책임 서버에서 갱신되었다면 캐시 메모리는 잘못된 정보를 유지한다.
- 캐싱 정보는 일정 시간(TTL: Time To Live)이 지나면 자동적으로 삭제된다.
DNS 자원 레코드(Resource Record)
자원 레코드(RR, Resource Record)
- DNS 서버에 정보가 저장되고 서비스되는 단위
형식
- (name, value, type, TTL)
유형
- A: name = 호스트명, value = IP 주소
- NS: name = 도메인, value = 책임 DNS 서버의 호스트명
- CNAME: name = 별칭 호스트명, value = 정규 호스트명
- MX: name = 별칭 메일서버명, value = 정규 메일서버명
TTL(Time To Live)
- 해당 자원 레코드가 캐싱될 때 캐시 메모리에 유지되는 시간
메시지 포맷
DNS 정보 등록 절차
등록자(도메인 관리자)
- 도메인명(networktopia.com)과 책임 DNS 서버(1차 - dns1.networktopia.com, 2차 - dns2.networktopia.com)의 IP 주소를 등록기관에 제출
- 웹 서버명(www.networktopia.com)과 IP 주소의 A 유형 RR을 책임 DNS 서버에 저장
도메인명 등록기관(registrar)
- 등록 대상 도메인명의 유일성을 검증
- 도메인을 담당하는 책임 DNS 서버에 대한 NS 유형 RR과 A 유형 RR을 상위 DNS 서버(ex, TLD 서버)에 등록
- (networktopia.com. dns1.networktopia.com, NS)
- (dns1.networktopia.com. 212.212.212.1, A)
신규 등록 도메인명 해석 절차
728x90
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] UDP와 검사합(checksum) (1) | 2022.10.05 |
---|---|
[컴퓨터 네트워크] 트랜스포트 계층(Transport Layer) 서비스 (0) | 2022.10.05 |
[컴퓨터 네트워크] 이메일과 SMTP (0) | 2022.09.27 |
[컴퓨터 네트워크] 웹과 HTTP(2): 메시지, 쿠키, 캐시 (0) | 2022.09.25 |
[컴퓨터 네트워크] 웹과 HTTP(1): 동작 원리와 지속 비지속 연결 (0) | 2022.09.25 |
댓글