PromleeBlog
sitemap
aboutMe
Menu
🌙
Welcome to
✨ Promlee Blog ✨
View 📈
Total: -
Today: -
추천 포스트
개인학습
네트워크
전송계층
혼잡 제어의 원칙
혼잡 제어의 원칙
Principles of congestion control
📅
2024년 06월 15일
🚀
혼잡 제어의 원칙 (Principles of Congestion Control)
🔗
네트워크가 처리할 수 있는 것보다 너무 많은 소스에서 너무 빠르게 데이터를 보냄
흐름 제어
와는 다름!
현상
분실된 패킷
: 많은 데이터 패킷이 동시에 네트워크로 전송될 때, 라우터의 버퍼 용량이 초과되어 일부 패킷이 분실될 수 있다. 이는 데이터 전송의 신뢰성을 저하시키며, 통신 효율성을 크게 떨어뜨린다.
긴 지연 시간
: 네트워크의 트래픽이 라우터의 처리 용량을 초과할 경우, 패킷은 큐에서 대기해야 하며 이로 인해 전송 지연이 발생한다.
Q. 혼잡을 감지하는 방법은?
Q. 혼잡이 감지되었을 때의 대응 방법은?
🚀
혼잡의 원인 및 비용: 시나리오 1 (Causes and Costs of Congestion: Scenario 1)
🔗
조건
두 발신자, 두 수신자
하나의 라우터, 무한 버퍼 -> no packet loss
출력 링크 용량: R
재전송 없음
무제한 공유 출력 링크 버퍼
결과
입력 도착률과 출력 처리량의 관계에서
R
/
2
R/2
R
/2
에서 출력률이 최대가 되며, 이후에는 포화 상태에 도달하여 일정하게 유지된다.
반면, 입력-지연 그래프에서는 입력이
R
/
2
R/2
R
/2
지점에 가까워지면서 지연률이 급격히 증가한다.
🚀
혼잡의 원인 및 비용: 시나리오 2 (Causes and Costs of Congestion: Scenario 2)
🔗
하나의 라우터,
유한
버퍼
발신자는 시간 초과된 패킷을 재전송한다.
응용 계층 입력 = 응용 계층 출력:
λ
i
n
=
λ
o
u
t
\lambda_{in} = \lambda_{out}
λ
in
=
λ
o
u
t
전송 계층 출력은 재전송을 포함한다:
λ
i
n
′
≥
λ
i
n
\lambda'_{in} \geq \lambda_{in}
λ
in
′
≥
λ
in
✅
시나리오 2-1 (Scenario 2-1)
🔗
이상적인 네트워크 상황 - 발신자가 라우터의 버퍼 상태에 대한 완벽한 지식을 가짐
발신자는 라우터의 버퍼에 충분한 공간이 있을 때만 데이터를 전송
✅
시나리오 2-2 (Scenario 2-2)
🔗
이상적인 네트워크 상황 - 라우터가 패킷 손실을 알리는 경우
라우터가 패킷 손실을 알리면 발신자는 해당 패킷을 재전송
R/2로 전송할 때, 일부 패킷은 재전송된 것이지만, 비대칭적 굿풋은 여전히 R/2이다
이는 네트워크가 혼잡 상황에서도 일정한 굿풋을 유지하는 메커니즘 때문이다.
✅
시나리오 2-3 (Scenario 2-3)
🔗
현실적 네트워크 상황 - 중복 발생 가능
패킷은 버퍼가 가득 차서 라우터에서 분실될 수 있음 → 타임아웃이 필요함.
발신자가 조기에 타임아웃되어 두 개의 복사본을 보내고, 두 복사본 모두 전달됨.
R/2로 전송할 때, 일부 패킷은 재전송된 것인데, 여기에는 전달된 중복 패킷도 포함된다
➡️
혼잡 비용 (Costs of Congestion)
🔗
더 많은 작업
: 네트워크 혼잡 상황에서 패킷 손실이 발생하면 송신자는 이를 재전송해야 한다. 이로 인해 네트워크는 추가적인 작업을 처리해야 하며, 이는 네트워크 자원의 비효율적인 사용을 의미한다.
불필요한 재전송
: 송신자가 조기에 타임아웃되어 동일한 패킷을 여러 번 전송하게 되면, 네트워크 링크는 이러한 중복 패킷을 처리하게 된다. 이는 링크의 대역폭을 낭비하는 결과를 초래한다.
굿풋 감소
: 중복 패킷의 증가로 인해 실제 유효 전송률, 즉 굿풋이 감소하게 된다. 이는 네트워크의 전체 성능을 저하시킨다.
🚀
시나리오 3 (Scenario 3)
🔗
조건
네 명의 발신자, 멀티홉 경로
타임아웃/재전송
λ
i
n
\lambda_{in}
λ
in
: 원본 데이터,
λ
i
n
′
\lambda'_{in}
λ
in
′
: 재전송 데이터
Q.
λ
i
n
\lambda_{in}
λ
in
및
λ
i
n
′
\lambda'_{in}
λ
in
′
이 증가함에 따라 어떤 일이 발생하는가?
A.
λ
i
n
′
\lambda'_{in}
λ
in
′
이 증가함에 따라 상단 큐에 도착하는 모든 추가 전송 패킷이 드롭되고, 그 처리량은 거의 0에 가까워진다.
➡️
또 다른 혼잡 비용 (Another Cost of Congestion)
🔗
패킷 손실
: 네트워크 혼잡 상황에서 라우터의 버퍼가 포화되면, 일부 패킷은 드롭될 수 있다. 이는 데이터 전송의 신뢰성을 저하시키며, 통신 효율성을 크게 떨어뜨린다.
🚀 혼잡 제어의 원칙
🚀 혼잡의 원인 및 비용: 시나리오 1
🚀 혼잡의 원인 및 비용: 시나리오 2
✅ 시나리오 2-1
✅ 시나리오 2-2
✅ 시나리오 2-3
🚀 시나리오 3