Hi there!

I am a student studying computer science.

컴퓨터 네트워크

컴퓨터 네트워크 Week 6-2 : Domain

만능성구 2020. 10. 12. 23:11
728x90

DNS: Domain Name System

people : 많은 식별자 :

   • SSN, 이름, 여권 번호
Internet hosts, routers:

   • IP 주소 (32 bit) - datagrams 주소 지정에 사용됩니다.

   • "name"(예 : cs.umass.edu) - 사람이 사용

# 사람이 사용하는것을 router가 packet을 routing하는데 사용할 수 있도록 IP로 translation시스템

# host는 DNS query를 시작해서 ip주소를 회신받아 대상 노드를 가져와 커뮤니케이션한다

: IP 주소와 이름간에 매핑하는 방법은 무엇입니까?

 

 

Domain Name System:

▪ 여러 name server의 hierarchy계층 구조로 구현된 분산 데이터베이스 # 'root가 하나다'를 의미

application-layer 프로토콜 : host, name server는 이름을 확인하기 위해 통신합니다 (address/name translation)

     • note : 핵심 인터넷 기능, application-layer 프로토콜로 구현됨

     • 네트워크 "edge"의 복잡성 # system이 실패하면 데이터 전송 불가, 인터넷 전체가 다운된다

DNS: services, structure

DNS services

▪ hostname을 IP 주소로 변환

▪ host 별칭

     • 표준canonical, 별칭 이름 # canonical name, canonical record는 cname으로 알려져 있다

▪ mail server 별칭

▪ load distribution  

     • 복제 된 웹 server : 많은 IP 주소가 하나의 이름에 해당

Q : DNS를 중앙 집중화하지 않는 이유는 무엇입니까?
    ▪ 단일 실패 지점
    ▪ 교통량
    ▪ 원거리 중앙 데이터베이스
    ▪ 유지 보수

A: doesn‘t scale!

     ▪ Comcast DNS server만 : 하루 600B DNS queries

      # query가 너무 많아지고, server가 실패하면 전체 인터넷이 실패, traffic이 많다

DNS: a distributed, hierarchical database

client는 www.amazon.com의  IP 주소를 원합니다. 1 차 근사치 :

   ▪ client가 .com DNS 서버를 찾기 위해 root server에 query

   ▪ client가 .com DNS 서버를 query하여 amazon.com DNS 서버를 가져옵니다.

   ▪ client가 amazon.com DNS server를 query하여 www.amazon.com의 IP주소를 가져옵니다.

 

DNS: root name servers

▪ 이름을 확인할 수없는 name server 별 공식 contact-of-last-resort

▪ 매우 중요한 인터넷 기능

     • 인터넷은 그것 없이는 작동 할 수 없습니다!

     • DNSSEC – 보안 제공 (인증 및 메시지 무결성)

▪ ICANN (Internet Corporation for Assigned Names and Numbers)은 root DNS domain을 관리합니다.

 

 

 

TLD: authoritative servers

Top-Level Domain (TLD) servers:

▪ .com, .org, .net, .edu, .aero, .jobs, .museums 및 모든 최상위 국가 도메인 (예 : .cn, .uk, .fr, .ca, .jp)을 담당합니다.

▪ Network Solutions : .com, .net TLD에 대한 권한있는 레지스트리

▪ Educause: .edu TLD

Authoritative DNS servers:

▪ 조직의 자체 DNS 서버, 조직의 명명된 host에 대한 IP mapping에 권한있는 host name을 제공합니다.
▪ 조직 또는 서비스 제공 업체가 유지 관리 할 수 있습니다.

Local DNS name servers

▪ 엄격하게 계층에 속하지 않음

▪ 각 ISP (주거 ISP, 회사, 대학)에는

     • “default name server"라고도 함

▪ host가 DNS query를 할 때 local DNS server로 query를 보냅니다. 

     • 최근 name-to-address 변환 쌍의 local cache가 있습니다 (하지만 오래되었을 수 있습니다!).

     • proxy 역할을 하며 query를 hierarchy구조로 전달

 

 

DNS name resolution: iterated query

 : engineering.nyu.edu의 host는 gaia.cs.umass.edu의 IP 주소를 원합니다.

Iterated query:

    ▪ 접속된 server가 접속할 server의 이름으로 응답
    ▪“이 이름은 모르지만이 server에 물어보십시오”

 

 

DNS name resolution: recursive query

: engineering.nyu.edu의 host는 gaia.cs.umass.edu의 IP 주소를 원합니다.

Recursive query: 

▪ 접속된 name server에 이름 확인 부담을줍니다.

▪ 상위 계층의 부하가 높습니까?

 

 

 

Caching, Updating DNS Records

▪ name server가 mapping을 학습하면 mapping을 캐시합니다.

    • 일정 시간 (TTL) 후 cache 항목 시간 초과 (사라짐)

    • 일반적으로 local name server에 캐시 된 TLD 서버

           • 따라서 자주 방문하지 않는 root name server

▪ 캐시된 항목이 out-of-date되었을 수 있습니다 (최선의 이름-주소 변환!)

     • 이름 호스트가 IP 주소를 변경하면 모든 TTL이 만료 될 때까지 인터넷 전체에 알려지지 않을 수 있습니다!

▪ 제안된 IETF 표준 업데이트 / 알림 메커니즘

     • RFC 2136

DNS records

DNS : resource records (RR)를 저장하는 분산 데이터베이스

# 2,2,4,2 byte

type=A

▪ name is hostname

▪ value is IP address

type=NS 

▪ name is domain (e.g., foo.com)

▪ value is 이 도메인에 대한 권한있는 name server의 host 이름 

type = CNAME
name은 일부 "canonical정규"(실제) 이름의 별칭입니다.

www.ibm.com은 실제로 servereast.backup2.ibm.com입니다 

▪ 값은 canonical정식 이름입니다.

type=MX

▪ value is 이름과 연관된 mail server의 이름

DNS protocol messages

DNS query및 reply 메시지는 모두 동일한 형식을 갖습니다.

# client가 quey를 보내면 번호가 되고 생성되고 dns 서버가 응답할때 마다 해당 번호가 포함된다.

#  ttl reply는 여러 resource를 반환할 수 있다. host가 여러 ip를 가질 수 있으므로

resoure record 수가 다르다, tld server가 여러개 일수 있다

# 보낼 때(query)는 answer RRs, authority RRs, additional RRs가 0이다, 받을 때는 0이 아니다

Inserting records into DNS

: 새로운 스타트 업“Network Utopia”

DNS register (예 : Network Solutions)에서 networkuptopia.com 이름을 등록합니다.

    • 신뢰할 수있는 name server (기본 및 보조)의 이름, IP 주소 제공

    • registrer이 NS, A RR을 .com TLD server에 삽입합니다.

        (networkutopia.com, dns1.networkutopia.com, NS)

        (dns1.networkutopia.com, 212.212.212.1, A)

▪ IP 주소 212.212.212.1를 사용하여 로컬로 권한있는 server 생성

    • www.networkuptopia.com에 대한 유형 A record 

    • networkutopia.com에 대한 MX record 입력

DNS security

DDoS 공격
▪ 트래픽으로 루트 서버 폭격
    • 현재까지 성공하지 못함
    • traffic 필터링
    • local DNS server는 TLD server의 IP를 cache하여 root server 우회를 허용합니다.

# root server의 ip를 cache하는 local dns server가 많기 때문, 너무 많으면 명령할 필요 없어짐

# root server는 첫번째 명령만 받고 다음 부터 local(local isp 또는 DNS server)에서 수행한다

▪ TLD 서버 폭격

    • 잠재적으로 더 위험

 

▪ Redirect 공격

▪ man-in-middle

    • DNS 쿼리 차단 # 해커가 읽을 수 있고

▪ DNS 중독 # 읽고 수정하면
   • 가짜는 DNS 서버에 의존하여

DDoS 용 DNS 악용
▪ 스푸핑 된 소스 주소로 쿼리 보내기 : 대상 IP
▪ 증폭 필요

728x90