TCP에서 흐름 제어와 혼잡 제어의 차이점은 무엇입니까?
이 질문은 두 부분으로 나눌 수 있습니다.
- 흐름 및 혼잡 제어의 전반적인 목적은 무엇입니까?
- 작업은 어떻게 완료됩니까?
Wikipedia 에 따르면 TCP 흐름 제어는 ACK 메시지에보고 된 창 크기에 의존합니다. 혼잡 제어는 승인 메시지에도 의존합니다. 두 목표의 차이점과 작동 방식을 알고 싶습니다.
답변:
1 부, 슈퍼 일반 개요 :
흐름 제어는 수신 측에서 제어합니다. 발신자는 수신자가 처리 할 수있는 것만 전송하도록합니다. 고속 광섬유 연결을 사용하는 사람이 전화 접속 또는 이와 유사한 방식으로 누군가에게 전송하는 상황을 생각해보십시오. 발신자는 패킷을 매우 빠르게 보낼 수 있지만 전화 접속시 수신자에게는 쓸모가 없으므로 발신자가 보낼 수있는 것을 제한하는 방법이 필요합니다. 흐름 제어는이 통신이 원활하게 진행되도록하기 위해 사용 가능한 메커니즘을 다룹니다.
혼잡 제어는 네트워크의 모든 사람이 주어진 시간에 "공정한"양의 네트워크 리소스에 액세스 할 수 있도록하는 방법입니다. 혼합 네트워크 환경에서는 모든 사람이 동일한 일반 수준의 성능을 가정 할 수 있어야합니다. 이를 이해하는 데 도움이되는 일반적인 시나리오는 사무실 LAN입니다. 사무실에는 LAN 내에서 모든 작업을 수행하는 여러 LAN 세그먼트가 있지만 구성 LAN 세그먼트보다 느린 WAN 링크를 통해 모두 나가야 할 수도 있습니다. 궁극적으로 5mb WAN 링크를 통해 나가는 LAN 내에서 100mb 연결이있는 그림. 더 큰 네트워크에 문제가 없는지 확인하려면 일종의 혼잡 제어가 필요합니다.
2 부 :
이 질문이 면접 준비 질문이라면 위에서 말했듯이 일반적으로 TCP / IP를 읽는 데 시간을 할애 할 수 있습니다. Wikipedia를 사용하지 마십시오. RTFM! 이것은 당신의 시간에 매우 가치가 있습니다. 이것이 현대 인터넷의 대부분을 차지하는 가장 중요한 프로토콜이라고 주장 할 수 있습니다.
흐름 제어에 대해 읽어야 할 사항 : 중지 및 대기, 슬라이딩 창, PAUSE 프레임.
혼잡 제어에 대해 읽어야 할 사항 : QoS (서비스 품질), 재전송 정책, 윈도우 정책.
그 외에도 특정 공급 업체 구현 (Cisco 등)을 검색 할 수 있습니다.
흐름 제어는 수신기 측에서 수행됩니다. 송신자가 수신자의 버퍼 크기보다 큰 패킷을 보내면 수신자의 버퍼에서 오버플로가 발생합니다. 수신자 측에서 이러한 오버플로를 방지하기 위해 발신자 측에서 사용되는 윈도우 기술이 있습니다. 혼잡 제어는 발신자 측에서 수행됩니다. 이것은 세계적인 현상입니다. 이것은 라우터에서 발생합니다. 많은 발신자가 동일한 링크를 통해 더 많은 패킷을 푸시하려고하면 라우터의 버퍼 오버플로가 발생합니다.
흐름 제어 :
혼잡 제어
소스에서 데이터 전송을 시작하면 네트워크의 도움을 받아 목적지에 도달합니다. 혼잡 제어는 소스를 방지하므로 데이터가 네트워크의 라우터에 의해 삭제되지 않아야합니다.
이 문제는 라우터의 대기열과 관련이 있습니다.
라우터가 네트워크에 연결된 다른 소스에서 다른 패킷을 가져 오기 때문에 달성하기가 더 복잡합니다.