CS/네트워크

[네트워크] 2. Application layer (2) - Performance & Requirements

공영재 2023. 10. 9. 01:22

Reference - Computer Networking: a Top Down Approach

 

 

 

Performance & Application Requirements

 

Performance

 

네트워크의 성능을 알아보기 위해 필요한 것 : Bandwidth(= 단위 시간 당 전송할 수 있는 데이터 총량)

 

BDP(Bandwidth Delay Product = channel memory) = 딜레이를 제외하고, End Point 간 최대 데이터 처리량 = Bandwidth * Delay(=RTT, 실제로는 RTT/2이나 굳이 나누지 않음.)

BDP는 가변적인 delay를 예측해 최적의 TCP 효율을 맞추기 위해 참고하는 용도,

 

Throughput = Transfer size / Transfer time = 단위 시간 당 실질적으로 전송하는 데이터 량

Transfer time = RTT(Round Trip Time=Request+first byte delay) + Transmission Delay(Transfer size / Bandwidth)

 

throughput은 bandwidth가 작을수록  bandwidth에 영향을(=작은 bandwidth로 인해 나뉘어진 패킷의 모든 bit가 전송 시작하기까지 걸리는 delay, Transmission Delay에 영향을 받는다고도 함), bandwidth가 클수록 RTT에 영향을(=bandwidth가 크므로 패킷은 모두 전송하더라도 거리로 인한 delay가 큼, Propagation Delay에 영향을 받는다고도 함) 받는다.

 

Propagation Delay(=Latency)는 빛의 속도이므로 줄일 수 없으므로 Cloud를 통해 각국에 server를 둬 거리를 줄여 delay를 줄인다.

 

예시 문제

Q. 200ms RTT인 1MB file을 1Gb/s link로 request할 때의 throughput과 transfer time?

A. transfer time = 200ms + transfer size(1MB = 8Mb) / Bandwidthd(1Gb/s) = 0.208s

throughput = 8Mb / 0.208s = ~38.5Mb/s

 

Requirements

 

4가지 관점에서 네트워크 성능을 표현한다.

- Utility : 어플리케이션 별 각 network resource가 얼마나 유용한지.

ex1. File transfer = bandwidth가 커질수록 utility는 이론적으론 상승, 실제로는 file size가 무한하지 않기에 임계선이 존재.

ex2. Constant bit rate stream(e.g. audio, video) = 일정 bandwidth 전후로 utility는 0, 1 (unit step function의 형태).

ex3. variable-bit-rate multimedia(e.g. 가변적인 streaming service) = 일정 bandwidth 전후로 utility는 진동하는 선형함수의 형태

- Burstiness : 데이터 전송 패턴이 일관적인지. ex. FTP에서 데이터 전송 간 불균형

- Jitter : 패킷 지연시간이 일관적인지.  ex. voIP에서 패킷지연으로 인 오디오 왜곡

- Loss : 라우터나 네트워크 경로가 과부하일 때 패킷을 폐기하는 것. ex. zoom 등에서의 멈춤 현상

=> Utility는 데이터 전송의 Burstiness를 처리하면서 Jitter와 Loss를 최소화함으로써 최대화된다.

TCP에서 이러한 문제를 관리하고 네트워크 성능을 최적화한다.

loading