1. 혼잡 (Congestion)
ㅇ 혼잡은 대기 (Waiting) / 큐잉 (Queuing)를 포함하는 어떠한 곳에서도 발생 가능함
- 네트워크 내 대기하는 패킷 수가 네트워크 처리 용량을 초과하는 등
. 例로써, 많은 패킷이 하나의 링크를 사용하기 위하여 경쟁하며,
. 결국 큐가 포화상태에 이르며 패킷의 전달이 취소되는 등의 현상
ㅇ 혼잡과 관련된 두가지 주요 척도 : 지연 (Delay), 처리능력 (Throughput/Bandwidth)
2. 혼잡 제어 (Congestion Control)
ㅇ 네트워크 내 대기하는 패킷 수를 줄여, 혼잡을 미연에 방지하거나 제어하는 기법
- 주로, 송신측 전송률을 제어(억제)하는 방법을 많이 씀
ㅇ 혼잡제어를 담당하는 통신계층
- 네트워크계층 및 전송계층 모두 관여 가능
- 데이터링크계층은 흐름제어,오류제어 등에 민감하지만 혼잡제어에는 거의 관여 않함
3. 혼잡제어 방식의 구분
ㅇ 단순한 처리방식 구분
- 발신자 송신률 낮춤
- 능력 초과 수신 데이터 폐기
ㅇ 주요 해결방식에 따른 구분
- 네트워크 자원을 늘리는 방식
- 네트워크 부하를 줄이는 방식
ㅇ 라우터 중심이냐 호스트 중심이냐에 따른 구분
- 호스트 중심의 혼잡제어 (종단간 혼잡제어)
. TCP 에서 사용하는 `종단간 혼잡제어` 등 ☞ TCP 혼잡제어 참조
.. 네트워크 혼잡 상황에 따라 송신율(전송률)을 조절
- 라우터 중심의 혼잡제어 (네트워크 지원 혼잡제어)
. 네트워크 내의 라우터에서 행해지는 `큐잉 및 스케쥴링 알고리즘`
. 또는, 라우터에서 송신지에게 혼잡을 알리는 직접 피드백 사용 등
ㅇ 예약 기반이냐 피드백 기반이냐에 따른 구분
- 예약 기반의 혼잡제어 : 네트워크 측에다가 자원을 미리 예약하는 방식
. RSVP 등
- 피드백 기반의 혼잡제어 : 네트워크 측에서 보내는 피드백 정보에 따라 속도조절
. Backpressure 기법 : 역방향으로 상위 노드들에게 차례로 혼잡 사실을 알려줌
.. 例) X.25 등
. 초크 패킷 : 혼잡 사실을 근원지에게 알리는 제어용 패킷
.. 例) ICMP Source Quench 등
4. 적극적인 혼잡제어 => 혼잡관리 (인터넷 트래픽 관리)
ㅇ 큐잉 정책(Queuing Policy)/스케쥴링 기법 : FIFO, FQ, PQ, CQ, WFQ 등
ㅇ 트래픽 쉐이핑 (Traffic Shaping) : Leaky Bucket 방식, Token Bucket 방식 등
ㅇ 사전 패킷 폐기 (Proactive Packet Discard) : RED, WRED 등