본문 바로가기
목차훔치기/컴퓨터 네트워킹 하향식 접근

혼잡 제어의 원리(컴퓨터 네트워킹 하향식 접근)

by 해삼2 2024. 1. 12.
728x90
반응형
혼잡 제어의 원리

혼잡 제어의 원리

혼잡 제어(Congestion Control)는 네트워크에서 발생할 수 있는 데이터 전송 혼잡을 관리하고

제어하기 위한 메커니즘입니다. 
이는 데이터 전송량이 네트워크의 처리능력을 초과하여 발생하는 혼잡을 방지하고, 
효율적인 데이터 전송을 유지하기 위한 것입니다.
혼잡 제어는 주로 TCP(Transmission Control Protocol)에서 사용되며, 
TCP는 신뢰성 있는 데이터 전송을 위한 프로토콜로 널리 사용됩니다.

 

혼잡 제어의 주요 원리

 

윈도우 기반의 제어:
TCP는 송신자와 수신자 간의 통신을 관리하기 위해 윈도우 기반의 혼잡 제어를 사용합니다. 

송신자는 혼잡 윈도우(congestion window)라는 개념을 통해 네트워크에 전송할 수 있는 데이터 양을 

제어합니다.


혼잡 윈도우 크기 조절:
초기에는 혼잡 윈도우 크기가 작게 설정되어 느리게 데이터를 전송하며, 네트워크 상태를 확인합니다. 

이후 혼잡이 발생하지 않으면 윈도우 크기를 키워 더 많은 데이터를 전송합니다.


혼잡 감지:
네트워크에서 혼잡이 발생하면 패킷 손실이나 대기 시간 증가 등의 특징이 나타납니다. 

TCP 송신자는 이러한 신호를 감지하여 혼잡 윈도우 크기를 조절하고 전송 속도를 조절합니다.


AIMD(Additive Increase, Multiplicative Decrease):
혼잡 윈도우 크기를 조절하는 기본 원리는 AIMD입니다. 

즉, 혼잡이 발생하지 않을 때는 윈도우 크기를 조금씩 증가시키고, 

혼잡이 발생하면 윈도우 크기를 반으로 줄입니다.


피드백 기반의 조절:
송신자는 네트워크로부터 수신되는 ACK(확인 응답)를 통해 데이터의 성공적인 전송을 확인하고, 

혼잡 상태를 감지합니다. ACK를 기반으로 혼잡 윈도우 크기를 동적으로 조절합니다.


슬로우 스타트와 컨젼션 어이드(Avoid):
TCP의 슬로우 스타트는 초기에는 윈도우 크기를 작게 설정하고, 

ACK를 받을 때마다 윈도우 크기를 2배씩 증가시킵니다. 

그 후에는 혼잡 회피 단계로 넘어가서 선형적으로 윈도우 크기를 증가시킵니다.


이러한 원리들을 통해 TCP는 네트워크 혼잡을 감지하고 조절하여 안정적이고 효율적인 

데이터 전송을 가능케 합니다.

 

혼잡제어 자세히 알기!!

 

윈도우 기반의 제어:
상품을 구매하려는 손님들과 레지스터(계산대) 사이의 공간을 혼잡 윈도우로 비유할 수 있습니다. 

이 공간은 한 번에 처리할 수 있는 손님 수를 나타냅니다.


혼잡 윈도우 크기 조절:
처음에는 손님 수가 적을 때, 혼잡 윈도우 크기를 작게 설정합니다. 

예를 들어, 레지스터가 2개라면 초기에는 2명의 손님만 동시에 레지스터에서 결제를 진행합니다.


혼잡 감지:
만약 슈퍼마켓이 특별한 이벤트로 손님이 급증하면(혼잡 발생), 레지스터 주변이 혼잡해질 것입니다. 

이때 레지스터에서 손님이 기다리는 시간이 길어지거나, 

계산 시간이 더 오래 걸리는 것을 감지할 수 있습니다.


AIMD(Additive Increase, Multiplicative Decrease):
혼잡이 발생하지 않으면(즉, 레지스터 주변이 여유로울 때), 슈퍼마켓은 손님 처리 속도를 늘려 

혼잡 윈도우 크기를 조금씩 증가시킵니다. 

그러나 만약 혼잡이 발생하면(레지스터 주변이 혼잡해짐), 

손님 처리 속도를 감소시켜 혼잡 윈도우 크기를 줄입니다.


피드백 기반의 조절:
손님이 레지스터에서 결제를 마치면 레지스터에서 "다음 손님을 받아주세요"라는 신호를 받습니다. 

이는 ACK(확인 응답)에 해당하며, 이 신호를 통해 레지스터는 손님 처리 속도를 적절히 조절합니다.


슬로우 스타트와 컨젼션 어이드(Avoid):
슈퍼마켓이 새로 오픈하면 처음에는 손님이 적을 것을 감안하여 처음에는 손님 처리 속도를 낮추고,

시간이 지날수록 손님 수가 늘어나면서 손님 처리 속도를 조금씩 높여가는 것을 생각할 수 있습니다.
이렇게 슈퍼마켓의 혼잡 제어는 유한한 공간(혼잡 윈도우)에서 효율적으로 손님을 처리하여 

혼잡을 최소화하고, 손님에게 원활한 서비스를 제공하는 데에 초점이 있습니다.

 

 

*바쁜 사람을 위한 정리

혼잡 제어란 주로 TCP에서 사용되고 데이터 전송 혼잡을 관리하고 제어하기 위한 메커니즘입니다. 혼잡 제어의 원리는 네트워크에 전송할 수 있는 데이터 양을 제어 하여 윈도우 크기 조절을 하여 많은 데이터를 전송 할 수 있게 만들어 주는 원리이며 이는 주로 네트워크에서 혼잡이 발생하면 전송 속도를 조절해주는 역할이라고 이해하면 쉬울거 같습니다.
728x90
반응형