블로그 이전했습니다. https://jeongzero.oopy.io/
패킷 교환 네트워크에서의 지연, 손실과 처리율
본문 바로가기
컴퓨터 관련 과목/Network

패킷 교환 네트워크에서의 지연, 손실과 처리율

728x90

패킷이 한 호스트에서 시작하고 일련의 라우터들을 통과하며, 다른 호스트로 간다는 것을 기억해보자. 패킷이 경로를 따라 한 호스트에서 다음 호스트로 전달되므로, 그 패킷은 경로상의 각 노드에서 다양한 지연을 겪게 된다. 패킷이 겪게 되는 지연의 종류는 다음과 같다.


1. 처리 지연

2. 큐잉 지연

3. 전송 지연

4. 전파 지연



1. 처리 지연

 처리지연이란 라우터로 들어오는 패킷 헤더를 조사하고 그 패킷을 어디로 보낼지를 결정하는데 걸리는 시간이다. 또한 첫번 째 라우터로 전송되는 패킷의 비트오류를 조사하는데 걸리는 시간도 포함된다.


2. 큐잉 지연

 패킷은 큐에서 링크로 전송되기를 기다리면서 큐잉 지연을 겪는다. 큐잉 지연이란 큐(버퍼)에서 출력 링크로 바로 나가지 못하고 앞에서 먼저 큐에서 나가고 있는 패킷때문에 해당 패킷이 큐에서 기다리는데 걸리는 지연시간을 말한다. 큐잉 지연은 트래픽이 많고 다른 많은 패킷이 전송 대기 중이라면 매우 길어진다.


큐잉 지연은 트래픽이 큐에 도착하는 비율, 링크의 전송률, 도착하는 트래픽의 특성, 즉 그 트래픽이 주기에 맞춰서 또는 한번에 몰려서 도착하느냐에 의해 주로 결정된다. 이를 이해하기 위해, 먼저 a는 패킷이 큐에 도착하는 평균율이라고 하자(a의 단위는 패킷/초). R은 전송률, 즉 비트가 큐에서 밀려나는 비율(비트/초)임을 기억하자. 또한 편의상 모든 패킷이 L크기의 비트라고 가정하자. 이때 비트가 큐에 도착하는 평균율은 La비트/초 이다. 끝으로 큐가 매우 커서 무한대 비트를 저장할 수 있다고 가정한다. 트래픽 강도, 즉 La/R은 큐잉 지연의 정도를 측정하는데 매우 중요하다. 여기서 말하는 트래픽 강도란 전송률 R동안 L패킷이 큐에 도착하는 평균율을 뜻한다.

평균 큐잉 지연의 트래픽 강도 의존성


만약 트래픽 강도가 1보다 크게 되면 비트가 큐에 도착하는 평균율이 비트가 큐에서 전송되는 비율을 초과한다. 이 경우에 큐는 끝없이 증가하고 큐잉 지연은 무한대에 도달한다. 따라서 트래픽 강도가 1보다 크지 않게 시스템을 설계해야한다. 따라서 트래픽 강도가 1에 가까워 질수록 평균 큐잉 지연이 높아지고 0에 가까워지면 평균 큐잉 지연은 0에 가까워 진다.


3. 전송 지연

 전송지연은 큐에서 출력 링크로 모든 패킷의 비트를 내보내는데 걸리는 시간을 말한다. 전파지연과 헷갈리면 안되는데 전송 지연에서 말하는 전송은 다른 라우터로 전송되는데 걸리는 시간을 뜻하는 것이 아니라 해당 라우터에서 선입선출 방식으로 출력 링크로 패킷이 빠져나가는 것을 말한다. 이해하기 쉽게 예를 들자면 크기가 100인 패킷이 한번에 10비트씩 나가게 된다면 10 10 10 10 10 10 10 10 10 10 이렇게 10비트씩 총 10개의 단편화된 패킷이 모두 출력 링크로 딱 나가는 데 걸리는 시간을 뜻하는 것이다. 10비트가 나가는데 1초가 걸린다면 전송지연은 10초가 걸리게 된다는 뜻이다.

전송지연은 L/R 로 표시할 수 있다. (패킷 크기/전송률)


4. 전파 지연

 전파지연은 방금 설명한 크기가 10비트의 10개 패킷이 모두 출력 링크상에 딱 올라타서 그림상의 맨 우측 라우터로 전송되는데 까지 걸리는 시간을 말한다. 전파속도는 링크의 물리매체(광섬유, 꼬임쌍선 등)에 따라 다르다. 전파지연은 D/S로 나타낼수 있는데 여기서 D는 두 라우터 사이의 거리를 뜻하고(그림에서) S는 링크의 전파속도를 뜻한다.


따라서 이러한 4가지의 지연 요소를 합한 것이 패킷교환 네트워크에서의 지연을 뜻한다.



이해를 돕기 위해 문제를 통해 지연시간을 계산해 보자.



100km 마다 요금계산소가 있는 고속도로가 있다. 고속도로 요금계산소 사이를 링크로, 요금계산소를 라우터로 생각할 수 있다. 차가 시속 100km(전파)로 고속도로를 달린다고 가정하자(차가 요금계산소를 지나자마자 시속 100km 속도를 유지한다). 함께 여행하는 10대의 차가 있고 이들이 일정한 순서대로 줄을 맞추어 달린다고 가정한다. 각 자동차를 비트로 생각하고 마치 트레일러처럼 10대 전체 패킷으로 생각할 수 있다. 또한 각 요금 계산소는 12초마다 한 대의 차를 전송한다고 하고, 늦은 밤이라서 다른 차는 고속도로에 없다고 하자. 마지막으로, 이 차량 대열의 첫번째 자동차가 요금계산소에 도착할 때마다 입구에서 다른 9대의 차가 도착할 때까지 기다려서 그 뒤에 줄 서서 대기한다고 하자. 


1. 요금 요금계산소가 전체 자동차를 밀어내는 데 걸리는 시간은 하나를 밀어내는데 12초가 걸림으로 총 10를 내보내는데는 12*10=120초, 즉 2분이 걸린다. 이 시간은 라우터에서의 전송 지연과 유사하다.


2. 자동차 한대가 한 요금계산소에서 다음 계산소로의 이동에는 100km / (100km/s)  = 1시간 이 걸린다.


따라서 차량 대열이 한 요금계산소를 통과하여 다음 계산소 까지 가는데 걸리는 시간은 전송지연과 전파지연의 합을 뜻하게 된다. 

최종적으로 마지막 자동차가 요금계산소를 통과해서 다음 요금계산소까지 가는데 걸리는 시간, 즉 총 10대의 지연시간은 2분+1시간 = 62분이 걸리게 된다.


하지만 만약 요금계산소의 차량 10대에 대한 요금 계산하는데 걸리는 시간이 자동차가 고속도로를 지나 다음 요금계산소에 도착하는 시간보다 길면 어떻게 될까? 이를 계산하기 위해 다음과 같이 가정해보자.


3. 첫번째 요금 계산소에서 차량 한대를 내보내는데 1분이 걸리고 자동차는 100km의 거리를 시속 1000km로 달린다. 

4. 따라서 10대의 차량이 요금계산소를 지나는데 10분이 걸리고 차량 한대가 고속도로에서 달리기 시작해 두번째 요금계산소까지 가는데 걸리는 시간은       100km / (1000km/h) = 1h/10 = 6분이다.


그렇다면 첫번째 차량이 두번째 요금계산소에 도착했을 때 몇번 째 차량부터 아직 첫번째 요금 계산소를 빠져나가지 못할 까? 6시 정각에 차량이 출발한다고 가정하면


1번 차량 : 6시 1분(계산완료 후 고속도로 진입)->2분->3분->4분->5분->6분->7분(도착)


2번 차량 : 6시 1분(계산 시작)->2분(계산완료 후 고속도로 진입)->3분->4분->5분->6분->7분->8분(도착)


3번 차량 : 6시 1분(대기)->2분(계산 시작)->3분(계산완료 후 고속도로 진입)->4분->5분->6분->7분->8분->9분(도착)


4번 차량 : 6시 1분(대기)->2분->3분(계산 시작)->4분(계산완료 후 고속도로 진입)->5분->6분->7분->8분->9분->10분(도착)


5번 차량 : 6시 1분(대기)->2분(대기)->3분->4분(계산 시작)->5분(계산완료 후 고속도로 진입)->6분->7분->8분->9분->10분->11분(도착)


6번 차량 : 6시 1분(대기)->2분(대기)->3분(대기)->4분->5분(계산 시작)->6분(계산완료 후 고속도로 진입)->7분->8분->9분->10분->11분->12분(도착)


7번 차량 : 6시 1분(대기)->2분(대기)->3분(대기)->4분(대기)->5분(대기)->6분(계산 시작)->7분(계산완료 후 고속도로 진입)->8분->9분->10분->11분->12분->13분(도착)


8번 차량 : 6시 1분(대기)->2분(대기)->3분(대기)->4분(대기)->5분(대기)->6분(대기)->7분(계산 시작)->8분(계산완료 후 고속도로 진입)->9분->10분->11분->12분->13분->14분(도착)


따라서 1번 차량이 6시 7분에 도착할 때 8번 째 차량은 아직 첫번 째 요금 계산소를 빠져나가지 못했다. 또한 9,10 차량은 아직 첫번째 요금 계산소에 진입하지도 못하고 대기중이다.





728x90