득이공간
[컴퓨터 네트워크] 2장. Application Layer 본문
해당 게시물은 김정근 교수님의 '컴퓨터 네트워크' 강의를 수강하며
학습한 내용을 개인적으로 정리한 글입니다.
📌 목차 - 2장. Application Layer
2-1. Principles of network applications
2-2. Web and HTTP
2-3. E-mail, SMTP, IMAP
2-4. The Domain Name System DNS
2-5. Video streaming and content distribution networks
📌 2-1. Principles of network applications
* Client-Server Paradigm
- Client: contact, communicate with server
- Server: always-on host
- example: IMAP, HTTP, FTP
* Peer-Peer architecture
- no always-on server
* Processes communicating
- client process: initiates communication
- server process: waits to be contacted
* socket
- application process와 Transport layer 사이에 존재하는 interface로써 message를 전달하는 통로다.
* addressing processes
- 특정 host 지칭 <IP 주소, port 넘버>
* transport service에서 Application이 해야할 일
- data integrity
- throughput
- timing
- security
* Internet transport protocols services
- TCP: reliable transport. FTP(file transfer/download), SMTP(e-mail), HTTP(Web documents), DASH(streaming audio/video)
- UDP: unreliable data transfer. FPS(interactive games), SIP/RTP(internet telephony)
📌 2-2. Web and HTTP
* HTTP
- HyperText Transfer Protocol
- Non-persistent HTTP: TCP connection을 통해 한 개의 오브젝트를 보낸다.
- Persistent HTTP: TCP connection을 통해 여러 개의 오브젝트를 보낸다.
- cookies: 서버에서 각 클라이언트를 구분하고 추적하기 위한 꼬리표
* Web caches (proxy servers)
- Most frequently used data를 담는다.
- client와 origin server 사이에서 매개체 역할을 한다. = proxy servers
- HTTP request -> <- HTTP response
- 보통 client에 더 가까운 ISP 안에 있다.
📌 2-3. E-mail, SMTP, IMAP
* E-mail
- User Agent (E-mail program)
- Mail server: outgoing message queue (송신한 메일), user mailbox (수신한 메일)
- SMTP: 메일 서버 간의 프로토콜
* E-mail Scenario
1. compose message
2. sends message to mail server (message queue)
3. SMTP opens TCP connection other mail server
4. SMTP sends message over the TCP connection
5. Receiver's mail server places the message in mailbox
6. read message
📌 2-4. The Domain Name System DNS
* DNS: Domain Name System
- 이름 형태의 주소를 IP 주소로 변환해준다.
- 분산형 데이터베이스 구조
* DNS Services
- hostname -> IP address
- host aliasing
- load distribution
* DNS hierarchical database
- Root
- Top Level Domain: .com / .org / .edu
- Authoritative: amazon.com / yahoo.com ..
* DNS iterated query
- host -> local DNS(cache) server <-> root DNS server
local DNS server <-> TLD DNS server
local DNS server <-> authoritative DNS server
host <- local DNS server
* DNS recursive query
- root DNS가 가장 많이 사용되어 분산형의 장점을 잘 살리지 못한다.
📌 2-5. Video streaming and content distribution networks
* CDNs (Content Distribution Networks)
- store/serve multiple copies of videos at multiple geographically distributed sites
- ISP traffic의 80% 이상을 차지한다.
- 확장성의 문제: 수많은 데이터들에 대한 관리
- 다양성의 문제: 다양한 유저들과 다양한 접근에 대한 관리
- enter deep: access networks 안에 서버들을 설치하는 방법
- bring home: ISP 안에 서버들을 설치하는 방법
* Multimedia: video
- Spatial coding: 공간상의 코딩. 이미지 내의 한 픽셀과 주변 픽셀들의 유사성을 통해 데이터 압축을 진행한다.
- Temporal coding: 시간상의 코딩. 한 프레임과 다음 프레임 사이의 데이터 유사성을 통해 압축을 진행한다.
- CBR (Constant Bit Rate): 고정형 인코딩 속도
- VBR (Variable Bit Rate): 가변형 인코딩 속도
* Streaming stored video
- 네트워크 혼잡 여부에 따라서 서버와 클라이언트 사이의 대역폭 크기가 변한다.
- streaming
1. video recorded
2. video sent (network dely)
3. video received, played out at client
- 끊김없이 실행돼야 한다. packet loss와 delay는 buffering을 유발한다.
- jitter: packet delay variation
- playout buffer: 데이터를 일정량 담은 후에 꺼낸다.
* Streaming multimedia: DASH (Dynamic, Adaptive Streaming over HTTP)
- 'intelligence' at client
- client: server-to-client bandwidth를 결정한다.
- server: divides video file into multiple chunks, manifest file(인코딩 rate의 해당 URL 정보를 담고 있다.)
'CS > 네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] 6장. Link Layer and Local Area Networks (0) | 2024.02.26 |
---|---|
[컴퓨터 네트워크] 5장. Network Layer: Control Plane (0) | 2024.02.26 |
[컴퓨터 네트워크] 4장. Network Layer: Data Plane (1) | 2024.02.26 |
[컴퓨터 네트워크] 3장. Transport Layer (1) | 2024.02.26 |
[컴퓨터 네트워크] 1장. Computer Networks and the Internet (1) | 2024.02.26 |