DNS: Domain Name System
- 필요성
. 사용자 수준의 사이트 주소 -> fastcampus.co.kr
저 수준의 네트워크 소프트웨어의 주소 -> 35.241.38.53
- 주요역할: 이름과 주소간의 매핑을 관리
- 구성
. 계층 구조를 가지는 분산 데이터베이스 형태
. 자신이 알고 있는 컴퓨터들에 대한 데이터를 저장하고 있는 사이트가 서로 협력해 데이터를 공유
- 일반적인 웹사이트 접속 시나리오
. 사이트 이름을 입력 -> 웹 브라우저는 DNS resolver 라이브러리를 호출해 상응하는 주소를 검색 -> A 레코드를 위한
쿼리를 만들어 네임서버에 요청 -> 네임 서버는 A 레코드를 반환 -> 브라우저는 IP 주소를 통해 타겟 호스트에 TCP
접속을 진행
DNS: Domain Name System
- DNS 서버는 누가 공급???
. 기존은 시스템 관리자가 직접 DNS 서버를 유지 관리 (내부용 도메인 관리)
. 외부 지향 DNS 서버의 경우
-> 상용 ‘관리형’ DNS 공급자 중 하나를 이용 (Amazon Route53, Google Public DNS, CloudFlare, GoDaddy 등)
DNS 네임스페이스
- 순방향 매핑과 역방향 매핑을 모두 포함하는 트리 구조로 구성
. 순방향 매핑(forward mapping): 호스트명을 IP 주소 및 다른 레코드들로 매핑
. 역방향 매핑(reverse mapping): IP 주소를 호스트명으로 매핑
DNS 동작 원리
- 전 세계의 네임 서버들은 쿼리에 응답하고자 서로 협력
-> 재귀적인 도메인 조회
- 네임 서버가 수행하는 작업
. 자기 사이트의 호스트명과 IP 주소에 관한 쿼리에 응답
. 자신의 사용자들을 대신해 로컬 또는 원격 호스트에 관한 질의를 수행
. 쿼리에 대한 응답을 캐싱
. DNS 데이터를 동기화하고자 다른 로컬 네임서버들과 대화
DNS 데이터베이스에 질의 하는 도구
- nslookup, dig, host, drill, delv
. nslookup, host 는 간단하고 출력이 보기 좋음
. dig, drill은 구체적인 내용 제공
DNS 리소스 레코드
- 네임서버는 전 세계 DNS 시스템을 구성하는 분산 데이터베이스의 조각들을 한 개 이상 갖고 있음
. 이 데이터베이스 조각은 각 호스트용 레코드를 포함하는 텍스트 파일로 구성
-> 리소스 레코드
- 형식: [name] [ttl] [class] type data (예, fastcampus.co.kr. 103 IN A 35.241.38.53 )
. name 필드
- 레코드가 묘사하고 있는 항목(호스트나 도메인)을 가리키는 식별자
- 각 필드는 공백(탭이나 스페이스)로 분리되고, 특수문자(;,@,(),*) 포함 가능
. ttl 필드
- 시간의 길이를 초 단위로 지정
- 레코드가 캐싱되어 유효성이 인정되는 시간
. class 필드
- 네트워크 타입을 지정 (인터넷을 의미하는 IN이 기본값)
. data 필드
- 레코드 타입에 따라 다른 내용
. DNS 레코드 타입
- SOA, NS, A, AAAA, MX, CNAME, SRV, TXT
- A: IPv4 주소 (이름-주소 변환), CNAME: 정규 이름 (호스트의 별명이나 가명)
'리눅스 > Part3. Ch07. 네트워크 관리' 카테고리의 다른 글
06. (실습) Private Network내의 데이터베이스 연결 (0) | 2022.12.15 |
---|---|
05. (실습) AWS 클라우드에 네트워크 환경 구성 (0) | 2022.12.15 |
04. 클라우드 네트워킹 이해 (0) | 2022.12.15 |
02. iproute2의 이해 (0) | 2022.12.15 |
01. 네트워크 기본의 이해 (0) | 2022.12.15 |