본문 바로가기
IT/네트워크

[ 네트워크 ] Packet delay and loss

by 신인용 2020. 5. 3.
반응형

 

 Packet delay and loss

 

 

  단위시간 동안 도착하는 패킷의 수가 output link의 capacity를 넘어설 때 라우터의 queue에 패킷이 대기상태로 쌓이게 되어, delay가 발생하게 된다. 이것을 queueing delay라고 한다.

 만약 queue가 가득 차서 더 이상 패킷을 받을 공간이 없다면...? 패킷은 버려지게 된다. loss된다.

 

 

 

 

 

 

 delay에는 총 4가지가 있다.

 

1. nodal processing

 bit error를 체크하는 시간.

 output link를 결정하는데 걸리는 시간. (routing algorithm이 돌아가는 시간)

 

2. queueing delay

 queue에서 패킷이 대기상태로 쌓여 나갈때까지 기다히는 시간

 

3. transmission delay

 데이터가 전송되는데 걸리는 시간.

 L/R 

 

4. propagation delay

 물리적인 선을 따라 신호가 가는데 걸리는 시간

 d/s  (d: length of physical link, s: propagation spped(~2*10^8 m/sec))

 

 

 

(참고)

 이 네가지 delay 중 가장 가변적인 것은?? (가장 예측하기 힘든 것은??)

 

- transmission delay : 이미 결정되어 있는 프로토콜. 어떤 식으로 신호를 변환할지 결정되어 있다. 패킷의 길이에 따라 달라지겠지만 어떤 IP에 따라 패킷의 크기가 고정되어 있기에 값이 크게 달라지지 않는다.

- propagation delay : 라우터들의 물리적인 거리를 바꾸지 않는 이상 바뀌지 않음. 거리 대비 커진다. 클 수도 있지만 고정된 값이기 때문에 예측하기 쉽다.

- nodal processing : nodal processing은 CPU. 노드에 따라 달라지지만 워낙 작은 값이라 크게 신경 안써도 된다.

- queueing delay는 혼자 데이터를 보내는 것이 아니라 수많은 end systems이 언제 어디로 보낼지 예측 불가능하다. 가장 가변적이다.

 

 

 

 

 

 

 

queueing delay

R (link bandwidth) : 단위시간 동안 내보낼 수 있는 데이터 양

L (packet length) : 각 패킷의 길이

a : 단위시간 당 도착하는 패킷 개수

 

 능력은 R인데 단위시간마다 L*a만큼 데이터를 처리해달라고 요청이 오는데, 이 요청을 traffic intensity(트래픽 밀도)라고 한다. 계산은 L*a/R 로 한다.

 

 traffic intensity가 1에 가까워지면 막히는 정도가 늘어난다. 만약 무한대로 저장할 수 있다고 가정한다면, delay가 무한대로 늘어난다. 이렇게 엄청나게 delay가 늘어나는 것보단 버리는 게 낫다.

 

 

 

 

 

Packet loss

 Packet loss는 위와 같이 라우터의 buffer가 가득차서 packet이 들어갈 공간이 없을 때, 버려지는 현상이다. 이럴 때 재전송을 통해서 다시 보내야 한다. 방법은 여러가지가 있는데, 

1. 데이터를 못 받았다고 receiver가 얘기하기.

2. 내가 받았던 것만 얘기하기.

...

 

 이 방법론들은 뒷부분 내용이니 나중에 공부하도록 한다.

 

 

 

 

 

 

 

[참고]

Computer Networking A Top-Down Approach 7-th Edition / Kurose, Ross / Pearson

반응형

댓글