2. Application layer

ushin20
|2023. 5. 1. 16:10

1. Protocol

HTTP web protocol, port 80, 주로 TCP(최근 UDP)
FTP file 전송, TCP/IP
SMTP mail 전송, port 25, TCP, POP3와 IMAP을 사용
POP3 TCP/IP를 이용해 mail을 가져오고 지움
IMAP TCP/IP를 이용해 mail을 가져옴
DNS Domain name-IP 관리, UDP

 

 

2. Socket process

process마다 전용 socket을 생성하여 data를 주고 받음, port # 할당

IP address로 Host를 찾고 prot #로 process에 data를 전달

 

 

3. Application-service requirement

Data integrity reliability, loss tolerate
Timing row delay, high delay
Throughput large data, small data

*throughput = transfer size/transfer time

*transfer time = RTT + transfer size/min bandwidth

 

 

4. Web

HTTP 사용, base HTML + objects로 구성, 각 objcet는 URL로 접근

4.1. HTTP

Non persistent  HTTP file마다 TCP connection ESTAB and CLOSE
 HTTP 1.0  TCP connection 유지, 모든 file 전송이 완료되면 CLOSE 
 HTTP 2.0 TCP connection 유지, request ALL & response ALL하고 CLOSE

 

4.2. HTTP architecture

Single Threaded 한번에 하나씩
 Multi Threaded thread를 생성해서 file을 보내줌 
 Thread Pool request host마다 pool 생성해서 thread로 file 보내줌

 

4.2. Cookie

local에 서버에서 받은 data를 브라우저에 저장한 파일

서버에 request할 때, cookie 얹어서 request, 속도가 증가

브라우저에 user 개인 정보가 저장되서 보안에 취약

 

4.3. Web caching / Proxy server

throughput을 개선하기 힘들 경우, LAN에 proxy server를 설치해서 개선

link를 직접 교체하는 것에 비해 저렴

 

 

5. P2P

client끼리 file을 주고 받는 구조

client - server P2P
d > max{ NF/u, F/d_min } d > max{ F/u, F/d_min, NF/(u+u_others) }

*N: 인원, F: file, u: upload, d: download

 

 

6. E-mail

port 25,  hand shaking -> transfer -> closing, message는 7-bit ASC2, push 기반

POP3와 IMAP을 사용

 

 

7. DNS

IP마다 domain name을 할당하고 관리해주는 서버

 

 

8. CDN

content distribution network, video같은 무거운 file의 사용 증가로 사용자 근처에 설치하는 proxy server

 

8.1. video encoding

spatial frame 내 비슷한 색 압축
temporal 이전 frame과 다른 부분만 전송

 

8.2. DASH

dynamic adaptive streaming over HTTP

server video를 chunk로 쪼갬, 다른 rate로 encoded된 URL 제공
client 주기적으로 bandwidth 조절, 한번에 chunk 하나씩 요구
different config rate 선택 가능, when, ecoding rate, where 선택

TCP/UDP 선택

sender buffer/receiver buffer
frame/group of picture

 

8.3. Youtube

 

8.4. Netflix

 

 

 

 

'Study > Network' 카테고리의 다른 글

6. Mobile  (0) 2023.05.01
5. Link layer  (0) 2023.05.01
4. Network layer  (0) 2023.05.01
3. Transport layer  (0) 2023.05.01
1. Overview  (0) 2023.05.01