⚠️ 들어가기 앞서
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터망 과목을 공부하며 정리한 글입니다.
앞서 여러 차례 언급했던 혼잡에 대해 제어하는 방법을 알아보고자 한다.
먼저, 혼잡이란 무엇인지 알고 넘어가자.
Congestion(혼잡) 이란, 데이터의 양이 너무 많아 감당할 수 없는 상태를 말한다.
혼잡이 발생하면 그 결과 전송한 패킷이 queueing 됨에 따라 긴 지연 시간이 발생하거나, 라우터 버퍼가 꽉 차게 되면 overflow되어 packet loss가 발생할 수 있다.
한 가지 유의할 점이, flow control(흐름 제어)와는 다른 개념이다.
수신자
의 상태를 확인하고 송신자
가 패킷을 보내는 속도를 조절하여 수신자와의 데이터 처리 속도를 맞추는 과정이다.네트워크의
데이터 처리 속도 차이를 해결하기 위한 기법이다.첫 번째 상황은 다음과 같은 조건 하에 고려된다.
R
λ
R/2
까지 이용할 수 있다.timeout
되었거나 소실된 패킷에 대해서 재전송 함original data + retransmitted data
)재전송되는 패킷이 있기 때문에 λ'in이 R/2
일 때 λout은 R/2
보다는 낮은 값이 된다.
여기서 premature timeout이 발생하여 불필요하게 재전송되는 패킷도 추가될 경우, λout은 더 낮게 형성된다.
만약 빨간 경로의 λ가 증가한다면?
위쪽 라우터의 버퍼 중 빨간 경로의 패킷이 차지하는 비중이 늘어나게 되고 파란 경로의 throughput이 감소한다.
λ이 계속해서 증가하게되면 빨간색 패킷과 파란색 패킷이 지나는 라우터의 버퍼는 유한하기 때문에 통과하는 파란색의 패킷은 점점 줄어들고 Host B에서 파란색의 throughput에서 점점 더 loss가 발생한다. 그래서 c/2 시점 이후로는 0으로 수렴하게 된다.