on
네트워크의 지연, 손실, 처리율
네트워크의 지연, 손실, 처리율
우리는 이전 게시글에서 패킷 지연(또는 큐잉지연)과 패킷 손실에 대해 배웠다.
패킷은 패킷 도착율이 출력 링크 전송율을 초과하게 되면 일시적으로 라우터 버퍼의 큐에서 자기의 전송 차례를 기다리면서 대기한다. 이 때 가용 버퍼가 있으면 패킷을 저장하고 가용 버퍼가 없는 경우 패킷을 삭제하는데, 이것을 패킷 손실이라고 한다. 패킷이 손실되면 이후 어느 시점에서 다시 해당 정보를 전송해야 하기 때문에 지연이 발생하게 된다.
패킷 지연의 4가지 요소
① dproc : 노드 처리 지연
A에서 보낸 패킷과 B에서 보낸 패킷이 첫번째 라우터에 들어가서 내용을 분석하는 과정
비트 오류 체크 : 보낸 데이터를 받았는데 데이터가 정상인지, 혹은 비트가 깨져있지 않은지를 체크한다.
출력 링크 결정 : 목적지가 누구인지 확인해서 어디로 보낼지(포워딩) 결정하는 것
일반적으로 msec 미만
② dqueue : 큐잉 지연
도착한 패킷들이 큐에 들어왔다가 빠져나갈 때 까지 대기하는 시간
출력 링크에서 전송할 때까지 큐에서의 대기시간
라우터의 혼잡도 수준에 의존 : 큐가 라우터 내부에 있기 때문에 라우터 내부 사정에 의존하는 값
③ dtrans : 전송지연
L : packet length (bits)
R: link bandwidth (bps)
dtrans = L/R
④ dprop : 전파 지연
목적지까지 달리는 데 걸리는 시간
d: length of physical link (ex. 1번 라우터에서 2번 라우터 간의 물리적인 길이)
s: propagation speed (~2x108 m/sec)
dprop = d/s
큐잉지연이 제일 중요하다. 1,3,4번은 고정값이기 때문에 예측이 가능한 값이다.
그러나 큐잉은 난수이기 때문에 복잡하고 예측이 어렵다.
그럼 전송지연과 전파지연은 무슨 차이가 있을까?
전송지연은 라우터를 빠져나가는데 걸리는 시간이고, 전파지연은 전파가 특정 지점에서 도착 지점까지 이동하는데 소요되는 시간을 말한다.
여기서 자동차 = 비트, 차량대열 = 패킷으로 비유해서 보도록 하자.
10대의 차량 대열
자동차는 100km/hr로 주행
1번째 요금소에서 2번째 요금소까지의 거리는 100km
요금소에서 12초/대 소요 (비트 전송 시간)
다음 조건이 있을 때, 차량 대열이 2번째 요금소에 줄지어 대기할 때까지의 소요시간은?
(1) 전체 자동차가 1번째 요금소를 모두 통과할 때 까지 소요되는 시간은
12*10 = 120초 = 2분
(2) 마지막 자동차가 1번째 요금소에서 2번째 요금소까지 주행했을 때 소요되는 시간
100km/(100km/hr) = 1hr = 60분
(1)과 (2)를 합하여 총 62분이 소요된다.
여기에서 조건을 바꿔보자.
자동차가 1000 km/hr로 주행한다.
요금소에서 1분이 소요된다.
그렇다면, 모든 자동차가 첫 번째 요금소를 떠나기 전에 두번째 요금소에 자동차가 도착하는가?
(1) 전체 자동차가 1번째 요금소를 모두 통과할 때 까지 소요되는 시간은
60*10 = 600초 = 10분
(2) 첫 번째 자동차가 1번째 요금소에서 출발하여 2번째 요금소에 도착할 때 걸리는 시간
100km/(1000km/hr) = 1/10hr = 6분
모든 자동차가 첫 번째 요금소를 떠나는 시간은 10분이 경과한 시점이고, 두번째 요금소에 첫 번째 자동차가 도착하는 시간은 7분이 경과한 시점이므로, 모든 자동차가 첫 번째 요금소를 떠나기 전에 두번째 요금소에 자동차가 도착한다.
(7분 후 첫번째 자동차가 두번째 요금소에 도착할 때 첫번째 요금소에는 3대의 자동차가 대기 중)
조건을 바꾼 게 무슨 의미가 있냐하면, 데이터는 굉장히 빠른 속도로 전송이 되기 때문에 전파 지연 시간이 굉장히 작고 그에 비해 전송지연 시간이 훨씬 크다. 큐에서의 대기시간이 길지만 큐만 빠져나가면 굉장히 빠른 속도로 전송되기 때문에 전송지연이 전파지연보다 훨씬 크다는 것을 의미하는 것이다.
큐잉 지연
R: 링크 대역폭(bps)
L: 패킷 길이(bits)
a: 평균 패킷 도착율
La/R ≈ 0 : 평균 큐잉 지연 미미
La/R <= 1: 평균 큐잉 지연 심각
La/R > 1: 링크 서비스 용량 초과로 평균 지연 무한대로 늘어남
실제 인터넷 경로와 지연
실제로 인터넷의 경로와 지연을 어떻게 확인할 수 있을까?
Traceroute 프로그램을 사용하여 송신지에서 목적지까지 진행하는 경로 상에서 발생하는 지연을 측정할 수 있다.
종단간 전송율
전송율 : 데이터가 송신자와 수신자 간에 비트 단위로 전송되는 비율(bits/time unit)
출발에서 도착까지 '종단 간 데이터를 보낼 때 과연 얼마만큼 보낼 수 있는가'가 전송율이다.
이 때 종단 전송율은 누가 결정할까?
작은 쪽이 결정한다. 요금소를 예시로 들었던 것 처럼 도로를 지나가는 속도가 굉장히 빠르더라도 요금소에서 오래 대기하고 있으면 결국 지연시간이 길어지기 때문에 전송율도 큰 쪽보다는 작은 쪽이 결정하게 된다.
이 경우에는 Rs가 종단 전송율을 결정하게 될 것이다.
위의 경우를 반대로 뒤집은 경우이다. 이 경우에는 Rc가 종단 전송율을 결정하게 된다.
종단간 처리율을 최종적으로 결정하는 경로를 병목링크라고 한다.
from http://taetoungs-branch.tistory.com/173 by ccl(A) rewrite - 2021-10-17 16:00:28