본문 바로가기
네트워크/컴퓨터 네트워크 수업

Performance: Delay

by dustnn 2024. 10. 9.
Delay
Delay 종류

 

패킷은 한 호스트에서 출발해, 라우터들을 통과해, 다른 호스트까지 도달한다.

그 과정에서 processing delay, queuing delay, transmission delay, propagation delay가 발생한다.

 

1. 패킷 헤더를 조사하고(processing delay)

2. output link가서 대기하여(queuing delay)

3. 차례가 되면 전송하여(transmission delay)

4. 링크를 거쳐 도달(propagation delay)

=> 총 delay는 1+2+3+4

 

순서다.

 

 

1. Processing delay

 

: 패킷 헤더를 조사하고 그 패킷을 어디로 보낼지를 결정하는 데 걸리는 시간

- 비트 에러를 조사하는 데 걸리는 시간(패킷이 왔지만 잘못된 bit로 왔는가)도 포함

- 어떤 output link로 패킷을 포워딩할 것인가 결정

- 마이크로초 단위

 

2. Queuing delay

 

: output link에서 큐에서 링크로 전송되기를 기다리는 시간

- 큐의 혼잡도에 따라 천차만별(큐가 비어있고 다른 패킷이 전송 중이 아니라면 0, 트래픽이 많고 다른 많은 패킷들이 전송 대기중이라면 길어짐)

 

- L: packet length(bits)

- R: link bandwidth(bps)

- a: average packet arrival rate

=> Traffic Intensity(TI) = La/R

TI ~ 0: queuing delay 매우 작음

TI -> 1: queuing delay 매우 큼

TI >1: 포화상태이므로 무한한 queuing delay

 

 

예컨대 1초에 하나당 100bit인 패킷 5개가 들어오는데, link의 transmission rate가 1 kbps라면

TI = 100(bits/packet)*5(packets/sec)/1(kbps) = 500(bps)/1000(bps) = 0.5

 

3. Transmission delay

 

: 모든 비트를 링크로 밀어내는 데 필요한 시간

- L: packet length(bits)

- R: link bandwidth(bps)

=> d(trans) = L/R(sec)

 

4. Propagation delay

 

: 링크를 거쳐 이동하는 시간

- d: length of physical link

- s: propagation speed

=> d/s

 

예제

 

(예제1)

 

Q1) Trasmission delay는?

A)  L/(R*10^6) sec

=> L이 bit단위이므로 R의 단위를 bit/sec로 바꿔줘야 한다. (Mbits=10^6bits)

 

Q2) 링크를 통해 transmit될 수 있는 최대 패킷 수는?

A) (R*10^6)/L 개

=> transmission delay의 역수 1/(L/(R*10^6))

 

 

 

(예제2)Caravan analogy

- d(trans) < d(prop)일 때

 

Q) 차들이 100km/h 속도로 Propagate하고, toll booth는 차 한 대 심사하는 데 12초 걸린다고 할 때, 

2nd toll booth에 라인업하기까지 걸리는 시간은?

A) 62 sec

 

d(trans)=12*10=120 sec : 10대 모두 고속도로에 들어오는 시간

d(prop)=1 hr : 마지막 차가 2nd toll booth에 도착하는 데 걸리는 시간

 

=> 심사하고 라인업하는 시간 모두 통틀어야 하므로 d(trans)+d(prop)=62 sec

 

 

- d(trans) > d(prop)일 때

 

Q) 차들이 1000km/h 속도록 propagategkrh, toll booth는 차 한 대 심사하는 데 1분 걸린다고 할 때,

모든 차들이 1st toll booth에서 심사받기 전에 2nd toll booth에 도달한 차가 있을까?

A)Yes. 

 

toll booth 간 거리가 100km, propagate 속도가 1000km/h 이므로 

d(prop)= 100/1000 = 0.1 h = 6 min

 

가장 첫 번째 차가 2nd booth에 도착하는 데 1+6 = 7 min 이 걸린다.

그동안 뒤에 있는 차 중 6대만 심사를 끝냈을 것이다.

 

 

실제로 delay는

 

traceroute라는 프로그램을 써서 측정된다.

traceroute는 다음과 같이 여러 개의 라우터들을 거쳐 진행되는데, sender가 보낸 패킷들이 라우터에 도달한 다음 반송된다. 그러면 sender은 전송한 시간과 응답시간의 차이를 계산하여 delay를 산출한다.

 

한 번에 3개의 probe를 진행하기 때문에 측정값도 3개가 나온다.

 

'네트워크 > 컴퓨터 네트워크 수업' 카테고리의 다른 글

1-2. What is Protocol?  (1) 2024.10.13
1-3/4. Network Structure  (2) 2024.10.13
1-1. What is the Internet?  (1) 2024.10.13
Performance: Throughput  (1) 2024.10.09
Performance: Loss  (1) 2024.10.09