본문 바로가기
CS/네트워크

[네트워크] 전송 계층 - 혼잡 제어 원리

by DenverAlmighty 2025. 1. 12.

1. 혼잡 제어의 원리

1) Congestion 혼잡 이란?

: 네트워크가 처리하는 속도가 데이터를 내보내는 속도보다 느린 상태를 말한다.

(흐름 제어는 sender, receiver의 속도 차이에 의한 문제를 해결하는 방법이다.)

증상으로는 패킷 손상(라우터에서 버퍼 overflow), 긴 지연 시간(라우터 버퍼에서 queueing)가 있다.

 

(1) 혼잡 비용

cost of congestion

 

λin : 원본 데이터

λ'in : 원본 데이터 + 재전송된 데이터 

λout : goodput (특정 도착지로 네트워크가 전달하는 유용한 정보 비트의 수. 오버헤드 비트와 재전송되는 데이터 패킷은 제외)

 

λ'in가 증가할 수록 λout도 같이 증가한다.

특정 구간을 지나면, λout이 급격하게 감소하는데,

혼자이 증가해, delay가 길아져서 불필요한 전송이 많아지기 때문이다. 링크는 패킷의 여러 복사본을 전송하기때문에 gootput이 감소하는 것이다.

또한, 패킷이 drop되었을 때, 해당 패킷을 전송하는데 사용되었던 " upstream transmission capacity"가 낭비된셈이기 때문이다.

 

 

2) 혼잡 제어를 위한 접근 방식

(1) 혼잡 제어를 위한 접근 방식 2 : end-end, network-assisted 혼잡 제어

 

end-end 혼잡 제어

혼잡이 발생하는 위치는 네트워크 내부이지만, 네트워크에서는 end-system한테 명시적인 피드백을 보내지않는다.

end-system이 loss, delay를 보고 혼잡임을 추로한다.

TCP가 취하는 접근 방식이다.

 

network-assisted  혼잡 제어

라우터는 end-system에 피드백을 제공한다.

피드백 방식에는 2가지가있다.

- 혼잡을 나타내는 단일 비트를 보내는 방식 (SNA, DECbit, TCP/IP ECN, ATM)

- 전송 rate를 계산해서 sender에게 알려주는 방식