전송속도, 트랜스미션 딜레이, 큐 딜레이 버퍼 공간 부족등이 원인이다
전송속도 딜레이다.
D = length of link
S = propagation speed (speed of light)
dprop = d / s
물리적으로 링크를 이동하는 시간만큼의 딜레이가 생긴다.
이미 한창 다뤘던 그 딜레이다.
L = Packet Length(bits)
R = link transmission rate (bps)
dtrans = L/R
라우터 내부의 포워딩(로컬 액션)을 하는 시간, 에러 체크 시간
도착했는데 순서대기 패킷들이 있는 경우 발생한다.
10비트짜리 패킷을 상징하는 자동차 10대가 있다.
하나의 스위치/라우터를 상징하는 톨을 통과하는데 각 12초가 걸리고, 각 톨간의 거리는 100km이다.
이때, propagate 속도는 100km/h 이다.
다음 지점에 정렬되기까지 시간이 총 얼마나 걸리게 될까?
맨 뒤 차에 초첨을 맞춰야한다.
맨 뒤 차는 톨 부스를 통과하기까지 앞의 9대 * 12 + 자기시간 12초해서 총 120초가 소요된다. 그리고 이동하는데 1시간이 걸리게 된다.
따라서 총 62분이 소요된다.
이번에는 좀더 인터넷과 유사한 환경을 맞추기위해 propagate 속도를 1000km로 지정하였다.
이때, 마지막 차가 통과하기전에 두번째 지점에 차가 도착하게 될까?
계산결과 7분에 첫 차가 도착하게 된다.
a: 패킷이 큐에 도착하는 평균율(단위는 패킷/초)
R: 전송률(즉, 비트가 큐에서 밀려나는 비율(비트/초))
L: 모든 패킷
La: 비트가 큐에 도착하는 평균율(비트/초)
La/R: 트래픽 강도(traffic intensity)
(L A) / R => 이를 트래픽 강도라고 부른다.
평균 전송률 패킷 길이(비트) 를 transmission rate로 나눈것이다.
이 값이 0에 가까우면 분모(대역폭)이 크다는 뜻이고 문제가 없다는 뜻이다.
이 값이 1에 가까워질수록 딜레이가 늘어난다. 이는 비례해서 증가하는 것이 아니라 1에 점점 가까이 갈수록 딜레이는 지수적으로 증가해서 무한대로 솟구친다.
이는 평균이라는 개념의 특성이다. a값은 평균이라 균일하게 발생할 수도 있지만, 갑자기 순간적으로 막 나올 수 있는것이다. 즉, 이 값은 1이 될 수가 없는것이다.
이러한 특성 때문에 네트워크는 보통 60~70% 까지만 쓰지 90%까지 쓰는건 너무 위험한 일이다.
TraceRoute라는 프로그램으로 라우팅 경로를 볼 수 있다.
우선 작동원리를 알기 위해선 좀비패킷을 막는 방법을 알아야한다.
이러한 원리를 이용해서 처음에는 1짜리, 그 다음에는 2짜리, 그 다음에는 3짜리 같은 점점 증가하는 패킷을 보내서 속도와 위치를 측정하는것이다. 목적지에 도착한 경우, icmp 프로토콜을 이용, 목적지에서 이는 페이크 패킷임을 알게 되고 이를 반환해주는것으로 확인할 수 있다.
뭔가 이상하다...
per-connection end-end throughput: min(Rc,Rs,R/10)
in practice: Rc or Rs is often bottleneck