CS/컴퓨터 네트워크

packet loss와 packet delay

대기업 가고 싶은 공돌이 2024. 1. 19. 21:29

네트워크는 수많은 라우터들로 구성이 되어있다.

라우터 내부에서는 라우팅 알고리즘 수행 후 라우팅 테이블을 참고하여 패킷을 전송한다.

 

만약 라우터에서 패킷을 내보내는 속도보다 패킷이 도착하는 속도가 더 빠르다면 문제가 발생할 것이다.

 

이러한 문제를 해결하기 위해 각각의 라우터에 버퍼를 만들어주었다.

 

arrival rate가 더 높을 경우 packet loss가 발생하는 것을 막기위해 버퍼를 두었지만,

버퍼도 크기가 유한하기 때문에 계속 패킷이 들어온다면 결국엔 packet loss가 발생하는 것이다.

 

우리는 라우터에서 라우팅 알고리즘을 돌리고 라우팅 테이블을 참조하는 시간을 proc delay라 부르기로 했다.

proc delay 이외에 또 어떤 딜레이가 존재할까?

 

일반적으로 데이터를 전송할 때 총 4개의 딜레이를 가정한다.

 

1. proc delay

   a. bit 에러를 체크하는데 걸리는 시간 (check sum, parity bit 등등)

   b. 라우팅 테이블을 참조하여 output link를 결정하는데 걸리는 시간

 

proc delay는 일반적으로 msec 이하로 걸린다.

 

2. queueing delay

   a. 버퍼에서 대기하다가 output link로 나갈때까지 걸리는 시간

 

queueing delay는 라우터의 혼잡상태에따라 달라진다.

 

 

3. transmission delay

   a. packet의 크기를 link transmission rate(bps) 로 나눈 시간이다.

   *위 문장의 의미를 잘 생각해보면, 한 패킷을 link로 밀어내는데 걸리는 시간이란 것을 알 수 있다.

    링크가 bit 단위로 데이터를 전송하니 pakcet을 bit 단위로 나눠 link로 내보내는데 걸리는 시간이라는 의미다.

 

 

4. propagation delay

   a. 프로퍼게이션(전파) 지연, 즉 링크를 통해서 데이터가 다른 라우터까지 도달하는데 걸리는 시간이다.

   따라서 구하는 공식은 다음과 같다. length of physical link / propagation speed

 

딜레이 예측을 위해 이 네가지의 지연을 다 더한 것을 기반으로 전반적인 딜레이를 계산한다.

 

예제 문제를 살펴보자

 

 

10대의 자동차가 있다.

1. 자동차는 1시간에 100km를 이동한다. (propagation delay )

2. 자동차 한 대가 톨게이트를 통과하는데 걸리는 시간은 12초이다. (transmission delay)

 

Question. 모든 자동차들이 두 번째 톨게이트에 도착할때까지 몇 분이 걸릴까?

 

우선 transmission delay를 생각해보자, 자동차 한 대당 12초 이므로 모든 자동차가 고속도로로 

올라가는데에 120초 즉 2분이 걸린다.

 

자동차 한 대가 두 번째 톨게이트까지 도착하는데 걸리는 시간은 1시간이므로 마지막 자동차가 출발하기 전에

첫 번째 자동차가 두 번째 톨게이트에 도착하는 복잡한 경우는 발생하지 않는다.

 

마지막 자동차는 2분 이후에 고속도로에 올라가 60분이 지난후 두 번째 톨게이트에 도착할 것이기 때문에

 

마지막 자동차가 두 번째 톨게이트에 도달할 때까지 걸리는 시간은 62분이 된다.

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

정보보호 개론 소개  (2) 2024.09.09
Packet 스위칭과 circuit 스위칭의 차이점  (0) 2024.01.16