Chapter 1 : Performance(loss, delay, throughput)

HeeHo Jung·2023년 4월 17일
2

컴퓨터네트워크

목록 보기
4/8
post-thumbnail

Packet delay와 loss가 일어나는 이유?

- network core에서 패킷들을 통해 데이터를 전달되고, 라우터 버퍼에서 패킷들이 queue 형식으로 전송 차례를 기다린다
- 링크 도착률이 출력링크 capacity를 일시적으로 초과하면 발생
- 대기 중인 패킷을 보관할 메모리가 다 차면 Packet Loss 발생

Packet Delay : 4 sources

1) Processing delay(노드 처리)
- 라우터 내에서 패킷이 진행하는 과정
- bit 오류 체크, output 링크 결정
- 일반적으로 < microsecs
- 라우터 내의 하드웨어의 성능에 따라 좌지우지되므로 가변적이지 않음
2) Queueing delay(대기 지연)
- 전송을 위해 output link의 queue에서 기다리면서 발생하는 지연
- 라우터의 congestion(혼란) 정도가 결정하며 가변적
3) Transmission delay(전송 지연)
- L/R(packet length/link transmission rate)
- queue를 빠져나가 라우터의 output link를 통해 빠져나가기 전까지 발생하는 delay, 즉 전송하려는 패킷을 output link로 밀어내는데 걸리는 시간
- link의 bandwidth에 따라 결정
4) Propagation delay(전파 지연)
- 실제 link를 타고 데이터가 전송될 때 발생하는 delay
- d/s(length of physical link/propagation speed)
3), 4)는 매우 다름
Nodal delay = Processing delay + Queueing delay + Transmission delay + Propagation delay

Caravan analogy

1) 위와 같이 자동차 10대가 있고 100km/h로 운행된다. 그리고 요금소에서 자동차가 정산하기 위해 12sec가 걸린다. 그러면 10개의 자동차가 2번째 요금소까지 세워질려면 얼마나 걸릴까?
-> 12sec * 10대 =120sec, 100km/100km/h=60min
2min(transmission delay)+60min(propagation delay) = 62min
.
2) 위의 예에서 만약 자동차의 속도가 1000km/h라고 하고 toll booth에서 자동차 요금 정산시간이 1min이라고 한다면, 첫번째 booth에서 모든 자동차가 서비스 받기 전 몇 개의 자동차들이 2번째 booth에 도착할 수 있을까?
-> 도착할 수 있다. 첫번째 자동차는 Second booth에 도착할 때
1min(transmission delay)+6min(propagation delay) = 7min이 걸림. 7대는 이미 출발하였고 queueing delay가 일어나지 않음

Packet loss

- queue는 유한한 용량을 갖고 있다
- 가득찬 큐에 도착하는 패킷은 loss(손실)된다
- 손실된 패킷은 이전 노드에 의해서 재전송되거나 전혀 전송되지 않을 수 있음

Throughput(처리량)

- 송신에서 수신까지 비트가 전송되는 속도
- instantaneous : 주어진 시점의 속도
- average : 오랜기간동안 측정한 속도
Throughput < Bandwidth (Bandwidth는 최대 전송가능 데이터의 rate이고, Throughput은 실제 측정 값)
- bottleneck link : 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상, 여러개의 link를 거쳐갈 때 가장 rate이 낮은 곳을 기준으로 Throughput이 결정
- Throughput = min(Rs, Rc)

(들어오는 Rate < 나가는 Rate) -> 처리되는 average throughput은 Rs
(들어오는 Rate > 나가는 Rate) -> Bottleneck link 때문에 똑같이 average throughput은 Rc


- 10개의 connection이 한 척추(backbone)에 share. R의 Capacity를 10개가 가져가므로 R/10 중 가장 작은 bit로 해야 원활하게 데이터가 흘러가고, throughput은 이 값들의 제일 최소값이 되게 된다.

profile
히히호호

0개의 댓글