일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- FE
- 프론트엔드
- dbms
- 네트워킹
- 한동대학교
- GLS
- 날마다 솟는 샘물
- SQLD
- 고윤민교수님
- CCM
- 컴네
- Database
- 설교
- 유태준교수님
- 날솟샘
- 찬양
- 전산전자공학부
- CHEMISTRY
- 글로벌리더십학부
- SQL
- csee
- 화학
- computer networks and the internet
- 혼자공부하는sql
- 데이터베이스
- 일반화학
- 어노인팅
- QT
- 예배
- 묵상
- Today
- Total
멈추지 않는 기록
[컴퓨터 네트워크] Chapter2. Application Layer (Part 2) - (2) 본문
[컴퓨터 네트워크] Chapter2. Application Layer (Part 2) - (2)
pangil_kim 2025. 6. 25. 14:45[4] DNS : a distributed, hierarchical database (분산된 계층적 데이터베이스)
1) 클라이언트가 www.amazon.com에 대한 IP 주소를 원할 때
- 클라이언트가 root server를 쿼리하여 .com DNS server를 찾는다.
- 클라이언트가 .com DNS server를 쿼리하여 amazon.com DNS server를 쿼리한다.
- 클라이언트가 amazon.com DNS server를 쿼리하여 www.amazon.com의 IP 주소를 얻는다.
2) DNS 구조의 세 개의 요소
- Root
: DNS 쿼리의 출발점으로부터 최상위 서버 - Top Level Domain
: .com, .org, .net과 같은 최상위 도메인을 관리 - Authoritative
: 특정 도메인의 최종 DNS 정보를 제공하는 서버
[5] DNS : root name servers
1) 이름을 확인할 수 없는 name server의 공식 최후의 수단 연락처
2) 인터넷의 중요한 구성요소이다.
- 인터넷은 DNS 없이는 작동할 수 없다.
- DNSSEC - 보안 (인증 및 메세지 무결성) 제공
3) ICANN (Internet Corporation for Assigned Names and Numbers)
: ICANN(인터넷 주소 자원 관리 기구)가 root DNS domain을 관리한다.
4) 전 세계 논리적 root name server 각 server가 여러 번 복제됨(미국의 경우 최대 200개 서버)
: root 서버는 물리적으로 여러 지역에 분산되어 있어서, 인터넷 트래픽의 부하를 줄이고, 중복성을 확보한다.

[6] TLD : authoritative servers (권한이 있는 서버)
1) Top-Level Domain (TLD) servers (최상위 도메인(TLD) 서버)
- .com / .org / .net / .edu / .aero / .jobs / .museums 및 모든 최상위 국가 도메인을 담당한다.
- 최상위 국가 도메인 (.cn / .uk / .fr / .ca / .jp)
- 네트워크 솔루션 : .com / .net TLD에 대한 권한이 있는 레지스트리
- 레지스트리란?
- 교육기관 : .edu TLD
2) Authoritative DNS servers (권한이 있는 DNS 서버)
- 조직 자체의 DNS 서버로, 조직의 named host에 대한 IP 매칭에 권한이 있는 host name을 제공한다.
- 조직 또는 서비스 제공업체에서 유지 관리 가능하다.
3) 추가 내용
- GTLD (Generic TLD)
- CCTLD(Countery Code TLD)
[7] Local DNS name servers (로컬 DNS 네임 서버)
1) 엄격하게 계층에 속하지 않는다.
2) 각 ISP(주거용 ISP, 회사, 대학)에는 하나씩 있다.
3) 'default name server'라고도 한다.
4) host가 DNS query를 하면, local DNS server로 query가 전송된다.
- 최신의 name-to-address 변환 쌍의 local 캐시가 있다. (하지만 오래되었을 수 있고, 이로 인해 잘못된 정보를 반환할 수 있다.)
- 프록시 역할을 하며, query를 계층 구조로 전달한다.
[8-1] DNS name resolution : iterated query (DNS name 확인 : 반복 쿼리)
1) 예시
: enginerring.nyu.du의 host가 gaia.cs.umass.edu의 IP 주소를 원한다.
2) Iterated query
- 연락한 서버가 연락할 서버 이름으로 응답한다.
- 비유 : "이 이름은 모르지만, 이 서버에 물어보세요"
3) 정리
: 클라이언트는 여러 DNS 서버를 반복해서 쿼리해 최종적으로 IP 주소를 얻는다.
[8-2] DNS name resolution : recursive query (DNS name 확인 : 재귀 쿼리)
1) 예시
: enginerring.nyu.du의 host가 gaia.cs.umass.edu의 IP 주소를 원한다.
2) Iterated query
- 연락처 이름에 이름 해결의 부담을 준다.
3) 정리
: 서버가 요청된 정보를 모르면, 클라이언트에게 다음으로 물어볼 서버의 주소를 알려준다. 그리고 클라이언트는 이를 반복하여 원하는 정보를 얻는다.
4) Q. 계층 구조의 상위 레벨에서 과부하가 걸리나요?
[9] Exercise
1) 가정
- 클라이언트와 local DNS server간의 RTT는 RTT_l이고, local DNS server과 다른 DNS server 간의 RTT는 RTT_r라고 가정하자.
- 캐싱을 수행하는 DNS 서버가 없다고 가정하자.
2) 문제
a. 시나리오 A의 총 응답시간은 얼마인가요?
: RTT_l + 3 * RTT_r
- 클라이언트가 로컬 DNS 서버에 쿼리를 보내고, 로컬 DNS 서버가 상위 서버로 쿼리를 전달하는 과정을 모두 포함한 시간이다.
b. 시나리오 B의 총 응답시간은 얼마인가요?
: RTT_l + 3 * RTT_r
c. 이제 요청된 이름에 대한 DNS 레코드가 local DNS server에 캐시되어 있다고 가정한다. 두 시나리오의 총 응답 시간은 얼마일까?
: RTT_l
- 캐시된 정보가 로컬 DNS 서버에 있을 때는 상위 DNS 서버에 쿼리를 보낼 필요가 없으므로 응답 시간이 크게 줄어든다.
[10] 캐싱, DNS 레코드 업데이트
1) 일단 (모든) name server가 매핑을 학습하면, 매핑을 캐시한다.
- 캐시 항목은 일정 시간 후 시간 초과된다. (사라진다.) : TTL(Time To Live)
- TLD 서버는 일반적으로 local name server에 캐시된다.
- 따라서 root name server는 자주 방문하지 않는다.
- 이것을 통해 RTT_r를 줄여주는 효과를 볼 수 있다.
2) 캐시된 항목이 오래되었을 수 있다. (최선을 다해 이름에서 주소로 변환)
- name host가 IP 주소를 변경하면, 모든 TTL이 만료될 때까지 인터넷 전체에 알려지지 않을 수 있다.
3) 업데이트/알림 매커니즘 제안 IETF vywns
- RCF 2316
[11] DNS records
1) DNS : 리소스 레코드 (RR)를 저장하는 분산 데이터베이스
2) Type의 종류
(1) type = A
- name : hostname
- value : IP address
(2) type = NS
- name : domain (e.g. : foo.com)
- value : 도메인의 퀀한 있는 name server의 Host name
(3) type = CNAME
- name : 일부 정식(실제) 이름의 별칭 이름
- www.ibm.com is really servereast.backup2.ibm.com
- value : canonical (정식 이름)
(4) type = MX
- value : 이름과 연결된 mail server의 이름
3) Type의 종류의 요약
• Type A: 도메인 이름을 IP 주소로 매핑.
• Type NS: 도메인 이름을 권한 있는 이름 서버로 매핑.
• Type CNAME: 도메인의 별칭을 다른 도메인으로 매핑.
• Type MX: 도메인을 메일 서버로 매핑.
[12] DNS 프로토콜 메세지
: DNS query and reply message 형식은 모두 동일하다.
1) message header
- identification (식별) : 쿼리의 경우 16비트, 쿼리에 대한 회신은 동일한 # 사용
- flags
- 쿼리 또는 응답
- 원하는 재귀
- 재귀 사용 가능
- reply는 권한이 있음
2) 종류
(1) questions : 클라이언트가 요청한 domain name, query의 유형 필드
(2) answers : query에 대한 응답의 RRs (RR : 응답 레코드)
(3) authority : 권한 있는 서버에 대한 레코드
(4) additional info : 사용할 수 있는 추가 '유용한' 정보
[13] DNS에 레코드 삽입
1) 예시
: 신규 스타트업 "네트워크 유토피아"
2) 과정
(1) DNS 등록 기관 (예 : 네트워크 솔루션)에 networkuptopia.com이라는 이름을 등록한다.
- 이름, 권한 있는 name server (기본 및 보조)의 IP 주소 제공
- 등록 기관이 .com TLD 서버에 NS, A's RR을 삽입한다.
- (networkutopia.com, dns1.networkutopia.com, NS)
- (dns1.networkutopica.com, 212.212.212.1, A)
5. P2P applications
[1] Peer-to-peer (P2P) 아키텍처
:P2P(Peer-to-Peer) 시스템은 모든 참여자가 동등한 위치에서 데이터를 주고받을 수 있는 분산 아키텍처이다. 서버 없이도 참여자(peer) 간에 직접 통신이 이루어진다.
1) 특징
- 상시 가동 서버 없음
- 임의의 end system이 직접 통신
- peer가 다른 peer에게 서비스를 요청하고, 다른 peer에게 대가로 서비스를 제공
- 자체 확장성 : 새로운 peer는 새로운 서비스 용량과 새로운 서비스 수요를 가져온다.
(네트워크에 더 많은 peer가 참여할수록 네트워크의 용량이 자연스럽게 증가한다.
- 자체 확장성 : 새로운 peer는 새로운 서비스 용량과 새로운 서비스 수요를 가져온다.
- peer는 간헐적으로 연결되고, IP 주소를 변경한다.
- 복잡한 관리
- 예시 : P2P 파일 공유 (비트로렌트), 스트리밍 (칸칸), VoIP(스카이프), 블록 체인
[2-0] 파일 배포 : client-server vs P2P
1) Q. 한 서버에서 N 개의 peer에게 파일 (크기 F)을 배포하는데 걸리는 시간은 얼마나 걸리나요?
- peer 업로드/다운로드 용량은 제한된 리소스이다.
[2-1] 파일 배포 시간 : client-server
1) 서버 전송
: N개의 파일 사본을 순차적으로 전송(업로드) 해야 한다.
- 복사본 하나 전송하는 데 걸리는 시간 : F/U_s
- F는 파일 크기, U_s는 서버의 업로드 속도를 의미
- N개의 복사본을 전송하는 데 걸리는 시간 : N * F/U_s
2) 클라이언트
: 각 클라이언트는 파일 사본을 다운로드해야 함
-> 모든 클라이언트가 동시에 다운로드할 때 가장 느린 클라이언트가 완료하는 시간이 가장 오래 걸린다.
- d_min : 최소 클라이언트 다운로드 시간
- 최대 클라이언트 다운로드 시간 : F/d_min
3) 정리
: client server 접근 방식을 사용하여 F를 N 클라이언트에 배포하는 시간
- N * F/u_s의 경우 N 만큼 선형적으로 증가한다.
[2-2] 파일 배포 시간 : P2P
1) 서버 전송
: 사본을 하나만 업로드해야 한다.
-> 파일 전체를 업로드할 필요 없이 단 한 사본만 업로드하면 된다. (피어(peer)들이 다운로드한 파일의 일부를 다른 피어들에게 다시 업로드하기 때문)
- 복사본 하나 전송하는 데 걸리는 시간 : F/U_s
2) 클라이언트 (단수)
: 각 클라이언트는 파일 사본을 다운로드해야 함
- 최대 클라이언트 다운로드 시간 : F/d_min
3) 클라이언트 (다수)
: 엉덩이 집계는 NF bits를 다운로드해야 한다.
- mas upload rate(limiting mas download rate) : us + u_i의 합 (시그마)
4) 정리
: client server 접근 방식을 사용하여 F를 N 클라이언트에 배포하는 시간
- N * F/u_s의 경우 N 만큼 선형적으로 증가한다.
- u_i의 합(시그마)의 경우 각 피어가 서비스 용량을 제한함에 따라 다음과 같이 증가한다.
5) P2P의 장점
: 각 peer는 파일을 다운로드할 뿐 아니라 업로드에도 참여하여 네트워크 전체의 배포 속도가 증가한다.
'한동대학교 > Computer Networking' 카테고리의 다른 글
[컴퓨터 네트워크] Chapter 3. Transport Layer (Part1) - (1) (0) | 2025.06.27 |
---|---|
[컴퓨터 네트워크] Chapter2. Application Layer (Part 2) - (3) (0) | 2025.06.27 |
[컴퓨터 네트워크] Chapter2. Application Layer (Part 2) - (1) (0) | 2025.06.25 |
[컴퓨터 네트워크] Chapter2. Application Layer (Part 1) - (3) (0) | 2025.06.25 |
[컴퓨터 네트워크] Chapter2. Application Layer (Part 1) - (2) (0) | 2025.06.25 |