# 백신프로그램 설치시 C:\Windows\System32\drivers\etc\hosts 가 수정됬는지 구분하기 위해 해시값을 비교해본다. 고쳤을때 백신프로그램 경고 안뜨면 문제가 있는 것이다.
*DNS : Domain Name
System
사람 : 많은 인식정보를 가진다.
- 주민등록번호, 이름,여권번호…
인터넷의 host,라우터
- 호스트는 흔히 말하는 IP주소로 식별된다. (network layer로 4장에서..)
- DNS 이름 : 사람이 사용하는 ..www.yahoo.com, …
Q
: IP와 이름간에 map
# 사람이 일일이 숫자를 인식하지 못하기 때문에 사람이 쓰기 위해서 나온것이다.
Domain Name System
- 분산 database
- 수많은 name server들이 계층형 구조로 구조화 되어있다.
- Application layer protocol
- 다른 app layer protocol들이 HTTP, FTP, SMTP등 사용자가 제공한 호스트네임을 ip로 변환하는데 이용한다.
- 인터넷의 가장 중요한 기능중의 하나
- Network edge에 구현된다.
*DNS
DNS services
- 호스트명을 IP 주소로 변환한다.
- 호스트에얼리아싱 (hostaliasing)
- 정식 (canonical) 호스트명
- 별칭(aliasing) 호스트명
- DNS는 IP분아니라 정식 호스트명을 얻기 위해 이용되기도 한다.
- 메일 서버 에얼리아싱
- 분산 부하
- 중복 web서버
여러
IP 주소가 하나의 정식 호스트명에 연관
# 질의를 두가지로 분리한다 ( 호스트명을 막 가져오기 때문에)
- 내가 관리하는 도메인의 질의는 바로 응답한다.
- 관리하지 않는 타도메인이라면 다른 DNS서버에 질의를 해야한다.
DNS 를 중앙집중식으로 하지 않는 이유???
- 서버 장애 (인터넷 다운…)
- Traffic의 집중
- 중앙 서버까지의 거리
- 관리
확장성이 전혀없다!!! (144page)
*분산 계층형 database
- Root DNS서버에 접속 com DNS server의 IP를 질의한다.
- 응답받은 com DNS서버의 IP로 amazon.com을 관리하는 DNS server의 IP를 질의한다.
- 응답받은 amazon.com 관리 DNS server에게 www.amazon.com의 IP를 질의한다.
- Client는 www.amazon.com의 IP를 획득한다.
# 중앙집중식 관리 - 국가기관망(행정망)
# DNS 분산 계층형 DB 구조를 만든것은 중앙통제가 가능한 현실세계를 베껴옴
# 유닉스시스템의 / 을 쓰던것을 .으로 바꿔서 디렉토리구조를 똑같이 베껴온것이다.
*DMZ존이 구분된 네트워크 구조에서 DNS는 두대여야한다.
- 한대는 DMZ존에 설치한다. - 회사의 서버서비스(web,ftp)등을 외부에서 접속하기 위한 네임서버이다. - 가용성에만 신경쓴 정보이기 때문에 외부에서 가져갈만한 정보는 있으면 안된다.
- 한대는 내부에 설치한다. - 내부에 있는 사람들이 내부서버에 접속에 접속하기 위한 것이다.
# 서버이름을 ip로 주는 현장에서 갑자기 접속이 끊긴다면 ip가 바뀐것이다….. 내부 dns 가 없기 때문에 일어난 현상이다.
*Root name servers
- Local name 서버가 Authoritative(책임) DNS server 찾기 위해서 접근한다.
(이름을
반환하는 역할을 수행하지 않는다.)
- root name server
- Contacts authoritative name server if name mapping not know
- Get mapping
- Returns mapping to local name server
*TLD and
Authoritative servers
Top-Level domain(TLD) server : com, org, net등과 같은
상위 레벨 도메인과 모든 국가의 상위 레벨 도메인에 대한 책임이 있다.
- net TLD : Network solutions maintains servers
- edu TLD : 교육
Authoritative(책임) DNS server : 인터넷에
접근하기 쉬운 host를 가진 기관은 호스트 명을 IP로 매핑하기 위한 DNS 레코드를 제공하는데 책임 DNS서버는
이 레코드를 갖는다.
- 일부 서비스 제공자의 책임 DNS서버에 이 레코드를 저장하도록 비용을 지불할 수도 있다.
*Cache Name Server
엄격한
계층 구조에 포함되어 있지 않다.
ISP는 최소 하나의 local name server(Cache)를
갖는다.
- Default name server라고 불린다.
호스트가 DNS 질의를
보내면 이것은 local name server에 전달된다.
- Local name server는 전송된 질의를 DNS 서버 계층으로 전달하도록 proxy를 동작한다.
*예
cis.poly.edu 호스트가 gaia.cs.umass.edu 서버의 IP를 알고자 할때
query
1 : 재귀적 질의
query
2,4,6 : 반복적 질의
*DNS queries
recursive query:
- 접속한 name server에 name에 대한 IP mapping 정보를 찾아줄 것을 요구하는 query
- Heavy load
iterated query:
- 접속한 서버에 ip mapping 정보 또는 다음단계의 name 서버의 주소를 query하는것
# 아래 그림과 같이 질의하는 경우는 포워딩하는 경우만 해당된다.
# 옛날에는 포워딩은 트리구조에서 각 잎노드끼리 못 찾아오는 부분이 있을때 사용했다. zone 파일에 serial 값이 오버플로우되서 그런것이다.
# serial 넘버가 처음 교재에는 10자리로 가르키다보니 .. 오버플로우가 발생
*DNS caching
질의 사슬에서 DNS서버가 DNS 요청에
대한 응답을 받을 때 그 응답을 local memory에 저장한다.
- DNS서버는 일정 기간이 지나면 저장된 정보를 삭제한다.
- Local name server는 TLD 서버의 IP 주소를 저장 할 수 있다.
- 이러한 caching는 local DNS server가 root server를 우회 할 수 있도록 한다.
이러한
내용은 IEFT에 있다.
*DNS record
DNS
서버들은 호스트명을 IP주소로 mapping하기
위한 RR를 저장한다.
- RR – Resorce Records
RR format : (name, value, type, ttl)
Type = A
- Name 은 호스트명
- Value는 ip주소
Type = NS
- Name 은 도메인명
- Value는 책임 DNS 서버
Type = CNAME
- Name 은 별칭 호스트명
- Value는 정식 호스트명
Type = MX
- Value는 별칭 호스트명
*DNS protocol
message
DNS
protocol : 질의와 응답 msg는 format이
동일하다.
msg header
(12 byte)
- 식별자 : 16 bit로 질의에 대한 응답인 경우 이 부분이 복사되어 질의와 수신된 응답간에 일치를 식별한다.
- 플래그 :
- 질의(0)인지 응답(1)인지 구별
- recursion 요구 플래그
- Client가 재귀 질의를 원할 때 설정
- recursion 가능 플래그
- DNS서버가 재귀기능을 지원하면 응답에 설정
- 책임 플래그
- DNS서버가 질의에 대한 책임서버 일때 응답에 설정
*DNS protocol message
|
식별자
|
플래그
|
|
질문수
|
응답 RR수
|
|
책임 RR수
|
추가 RR수
|
|
질의 이름과 타입
|
질문(가변 질문수)
|
|
DNS서버로 부터의 응답
|
답변(가변 RR수)
|
|
책임 서버의 Record
|
책임(가변 RR수)
|
|
다른 도움이 되는 Record
|
추가정보(가변 RR수)
|
댓글 없음:
댓글 쓰기