Computer Network 3주차(2)
DNS
domain name system
internet hosts, routers는 IP address를 사용합니다. 32-bits
이러한 것을 사람이 외우기 어려우므로 name을 사용합니다(인간이 사용)
ex) www.yahoo.com
IP address와 name을 어떻게 mapping을 할것인가?
DNS를 사용합니다.
모든 복잡한 것은 network's edge에 구현합니다.
DNS services
hostname을 IP address로 변환해줍니다.
- 분산되어 있는 database를 가집니다.
- db가 분산되어서 저장합니다. name servers들의 계층적인 구조로 이루어져있습니다.
- application layer protocol입니다.
- 같은 호스트라도 여러개의 이름을 가질수 있습니다.
- mail server주소도 저장합니다.
- load distribution
hosts가 name, ip adress을 변경하려면 name server와 통신해서 요청해야합니다.
web server의 요청이 들어오면 dns로 분산시킵니다. 사용량이 적은 ip address을 선택해서 보내주어 부하를 분산시킵니다.
왜 중앙처리하지 않는가?
- 중앙이 죽으면 어느 누구도 service를 사용할수 없습니다.
- traffic volume이 몰리게 됩니다.
- 거리가 멀면 propergation delay가 발생합니다.
- mapping이 변할때마다 하나의 server에 처리하게 하면 처리가 힘듭니다.
많은 쿼리가 발생하면 중앙 집중형으로는 처리할수 없다.
Root 👉🏻 .com, .org, .edu 👉🏻 yahoo.com, amazon.com, pbs.org ...
계층적 구조를 가집니다.
각각의 server가 db를 가지고 있습니다.
root name servers
name에 대한 mapping을 하지 못한 local name server가 접촉을 합니다.
- root name server는 알고있으면 바로 답을해주고 알지 못하면 authoritative(권위 있는) name server에 요청을 합니다.
- 13개의 root name server가 있습니다. 각각 같은 정보를 가지고 있습니다.
TLD, authoritative servers
TLD(top level domain) server
ex) .com, .org, .net, edu...
authoritative DNS servers
진짜 정보를 가지고 있는 server
hostname에게 진짜 정보를 가진 IP를 mapping해줍니다.
local DNS name server
-
각각의 ISP에서 하나씩 가지고 있습니다.
-
일반 host는 local dns를 거쳐서 여러 정보를 가져옵니다.
-
cach를 사용하여 가지고 있는 정보면 바로 알려줍니다.
proxy와 비슷합니다.
DNS name resolution example
2가지 방식
1. iterated query
- bfs와 유사
2. recursive query
-
dfs와 유사
보안 관점에서 안좋아서 요즘 잘 사용하지 않음
caching, updating record
- name server들은 mapping을 통해 정보를 얻으면 caches를 통해 저장해 놓습니다.
- 시간이 지나면 cache는 사라지게 됩니다.
- TLD server는 local name server안에 cache가 되어있습니다.
- TLD DNS server는 잘 안바뀝니다.
DNS records
DNS resource record(RR)을 저장합니다.
ttl이 지나면 사라집니다.
- name과 value는 type에 따라 달라집니다.
DNS protocol, messages
2가지 type
- query, reply
두개의 type은 문법과 message format은 같습니다.
id가 있어야 합니다.
reply가 어떤 query에 대한 reply인지가 적혀있습니다.
새로운 record를 DNS에 추가하는 방법
회사를 만들고
👇🏻
.com을 담당하는 tls name server에 요청
👇🏻
authoritative name server에 저장
👇🏻
TLD server에 저장
회사를 차리면 dns를 실행할 머신을 설정하고 ip address 부여 name을 짓고 RR을 tld서버에 저장
Attacking DNS
DDoS attacks
-
root server에 traffic 폭격
성공한 예시는 없음
-
TLD server을 공격
root server보다 취약한점을 이용
redirect attack
-
man-in-middle
쿼리를 intercept해서 틀린 정보를 local dns server에 보낼수있음 -
DNS poisoning
해킹당해서 잘못된 정보를 repie할수 있음
exploit DNS for DDos
- DNS를 DDoS에 사용하는 경우
보낼 ip가 아닌 target의 ip로 바꿔서 보냄 (spoofed source)
Author And Source
이 문제에 관하여(Computer Network 3주차(2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rhrkdgus1020/Computer-Network-3주차2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)