코드네임 :
📡 데이터통신네트워크 5주차 본문
DNS : URL(도메인 이름) 을 IP 주소를 가져오게 해주는 (반대도 가능)
-도메인 네임 서버들은 계층 구조를 가지고 있다
-application layer에서 동작함
- core에서 동작 X, edge에서만 동작
DNS가 하는 일
1. hostname을 IP 주소로 바꿔줌
2. host애개 가짜이름 부여(host aliasing)
3. mail 서버에 대한 alias
4. 부하 분배 (load distribution)
- 하나의 이름에 대해서 여러 IP 주소를 가질 수 있도록
왜 중앙집중DNS 가 아닌가
1. 중앙집권시 한개의 DNS가 망가지면 전부 동작 불가
2. 트래픽 몰림 문제
3, 거리 문제
4, 유지 문제
[ DNS 구조 ]
root
|
TLD (Top Level Domain)
|
Authoritative
< client 가 www.amazom.com 의 IP 주소를 원할 경우 >
1. client가 root 서버에게.com DNS서버에 대한 정보를 물어봄 (root DNS server)
2. client가 .com DNS서버에게 amazon.com DNS 서버를 가져오도록 요청함 (TLD DNS server)
3. client가 amazon.com DNS서버에게 www.amazon.com 의 IP 주소를 가져오록 요청함 (Authorative DNS server)
Root ( Root name servers )
가장 증요한 서버
내가 요청한 곳 말고 그곳에 도달할 수 있는 간접적인 링크를 알려줌
하나만 망가지면 전부 망가질수 있는 사태를 대비 하기 위해 전 세계에 13개(하나당 수백대의 컴퓨터) 있음
DNSSEC라는 보안 프로토콜 이 돌고 있음
ICANN : 위 13대의 root 도메인을 관리하는 곳
TLD
최상위 도메인
내가 요청한 곳 말고 그곳에 도달할 수 있는 간접적인 링크를 알려줌
Authorative server
정답 위치를 알려주는 권한이 있는 서버 ( 정답을 알려주는 서버! )
[ Local DNS 서버 ]
- 계층구조에 포함되지 X
- 로컬 cache 함으로써 향후에 똑같은 질문이 들어오면 바로 응답할 수 있도록
- ISP 등의 기관들이 자주 사용
< Iterated(반복적) query>
< host 가 www.amazom.com 의 IP 주소를 원할 경우 >
0. host가 local DNS에게 물어봄 - 이름은 모르지만, 서버에게 아냐고 물어볼께! 라는 답이 옴
1. local DNSt가 root 서버에게.com DNS서버에 대한 정보를 물어봄 (root DNS server)
2. local DNS가 .com DNS서버에게 amazon.com DNS 서버를 가져오도록 요청함 (TLD DNS server)
3. local DNS가 amazon.com DNS서버에게 www.amazon.com 의 IP 주소를 가져오록 요청함 (Authorative DNS server)
< Recursive (재귀적) query >
< host 가 www.amazom.com 의 IP 주소를 원할 경우 >
0. host가 local DNS에게 물어봄 - 이름은 모르지만, 서버에게 아냐고 물어볼께! 라는 답이 옴
1. local DNSt가 root 서버에게.com DNS서버에 대한 정보를 물어봄 (root DNS server)
2. root 서버가 .com DNS서버에게 amazon.com DNS 서버를 가져오도록 요청함 (TLD DNS server)
3. TLD가 amazon.com DNS서버에게 www.amazon.com 의 IP 주소를 가져오록 요청함 (Authorative DNS server)
Cache 캐시
- 어떠한 시간 (TTL)이 지나면 타임아웃되어 캐시가 사라져버림
- IP 주소를 바꿀 시 한 이틀 정도(TTL이 다 지나갈때까지) 기존 IP 주소 유지 (통신사 바꾸는 어쩌고,, 생각하삼)
ㄴ (IP 주소를 중간에 업데이트 하지는 않음)
- RC 2136 라는 표준 문서에 잘 정리 되어있음
DNS records
어떻게 저장이 되어있느냐를 봄 - resource records (RR)
RR format : (name, value, type, ttl)
“value는 IP 주소를 의미함!
type = A : 기본적인 동작을 함, 호스트의 이름, 값은 IP 주소
type = NS : domain, 어떤 호스트 이름이 아닌 그 호스트에 관련된 DNS의 IP 주소
type = CNAME
type = MX : mail server
DNS의 메시지의 포맷
query + reply : 질문 + 응답 -> 둘다 똑같은 형식을 사용함
내가 지금 보내는게 query인지 reply인지 알 수 있는 flag 세팅을 해놓음
[ DNS 보안 ]
Ddos 공격
1. 루트 서버 마비시킴
- 트래픽을 엄청 생성하여 폭격
ㄴ루트 서버는 이것을 TLD로 가게끔 방지하고 있기에 안전하다
2. TLD서버 마비시킴
ㄴ 잠재적으로 더 위험하노 ㄷㄷ
Redirect공격
중간자 공격
DNS 서버 마비 시킨 후 중간에서 가짜 정보 집어 넣음
DNS 를 활용한 공격
공격자에 대한 응답이 공격자한테만 가는게 아니라 멀리 있는 타겟이 전부 응답하게 됨
전세계에서 공격을 받은 것같은 형태
P2P (peer to peer)
p2p에서는 어떤 정해진 서버가 있는 것이 아닌 각각의 모든 사용자들(peer)가 client가 될수도 server가 될 수 있음
중요한 특징으로는 self scalability : 자기가 어떤 관리자 없이도 스스로 커질수도 작아질수도 있는 형태
보통 파일 공유를 위해 사용됨
클라이언트 서버 vs P2P
client server 모델 : 선형적으로 증가
P2P 모델 : 완만하게 증가 - 사용자가 많아질수록 그만큼 이점이 늘어남
이렇기 때문에 과거엔 BitTorrent로 큰 이미지 파일을 p2p형태로 다운 받을 수 있도록 했었음
BitTorrent
파일들을 조각내어 그걸 모아 원본을 완성하게 하는 동작
비디오 스트리밍과 CDN
서비스의 질 유지, 다운로드 속도 등의 문제를 해결하기 위해 CDN등장
CBR
VBR
지터 : 네트워크 딜레이가 고정되어있지 않음
버퍼 : 받은 데이터 량보다 재생되는 데이터 량이 좀 적도록 약간의 비축분을 쌓아놓은 곳
버퍼링 : 버퍼 구간을 확보하는 시간
DASH : HTTP를 활용하는 동적이고 정적인 스트리밍 서비스
처음에 유튭에 영상 올리면 화질이 1개 밖에 없는데 시간이 지나면 인코딩되어 여러 화질이 생기는 거 (다양한 화질에 대해 영상의 복제품을 만듦)
즉 자기가 판단 하에 네트워크 상황이 구리면 안 좋은 화질, 굿이면 좋은 화질을 알아서 가져오는 서비스
CDN
위 서비스를 동시에 여러 사람에게 제공하기 위해서
" CDN 서버를 여러군데에 두고 그곳에 콘텐츠들을 미리 다 저장해두고, 사용자가 어떠한 콘텐츠를 요청시 가장 가까이 있는 네트워크 해당 콘텐츠를 불러옴 "
'🛜Network > 데이터통신네트워크' 카테고리의 다른 글
📡 데이터통신네트워크 9 (외부 블로그 그림) (0) | 2024.05.07 |
---|---|
📡 데통네 6주차 - 외부 블로그 그림 갖고와서 공개 불가.. (0) | 2024.04.11 |
📡 데이터통신네트워크 4주차 (1) | 2024.03.29 |
📡 데이터통신네트워크 3주차 (0) | 2024.03.29 |
📡 데이터통신네트워크 2주차 (1) | 2024.03.14 |