2013-05-09 2 views
62

TCP의 흐름 제어와 혼잡 제어의 차이점은 무엇입니까?TCP의 흐름 제어와 혼잡 제어의 차이점은 무엇입니까?

  1. 흐름과 혼잡 제어의 전반적인 목적은 무엇인가 :

    이 질문은 두 부분으로 나눌 수 있습니다?

  2. 작업은 어떻게 완료됩니까?

Wikipedia에 따르면 TCP 흐름 제어는 ACK 메시지에보고 된 창 크기에 의존합니다. 정체 제어는 확인 응답 메시지에도 의존합니다. 나는이 두 가지 목표 사이의 차이점과 그것이 어떻게 작동 하는지를 알고 싶다. 제 1에 관해서

+42

숙제 문제가 아닙니다. 면접 준비 질문의 더 많은 것. 그것에 대해 "오프 주제"무엇입니까? @EJP –

답변

101

는 슈퍼 일반적인 개요 :

흐름 제어는 수신 측에 의해 제어된다. 이는 송신자가 수신자가 처리 할 수있는 것을 송신 만하도록합니다. 빠른 광섬유 연결을 사용하는 사람이 전화 접속 또는 비슷한 방식으로 누군가에게 보내는 상황을 생각해보십시오. 보낸 사람은 패킷을 매우 빨리 보낼 수 있지만 전화 접속시에는 수신자에게는 쓸모가 없으므로 송신자가 보낼 수있는 것을 조절할 방법이 필요합니다. 흐름 제어는이 통신이 원활하게 진행될 수 있도록하는 메커니즘을 다룹니다.

혼잡 제어는 네트워크의 모든 사람이 주어진 시간에 네트워크 리소스에 "적절한"액세 스 권한을 갖도록하는 방법입니다. 혼합 네트워크 환경에서 모든 사람들은 동일한 전반적인 수준의 성능을 가정 할 수 있어야합니다. 이를 이해하는 데 도움이되는 일반적인 시나리오는 사무실 LAN입니다. 한 사무실에 여러 개의 LAN 세그먼트가있어 LAN 내에서 일을하고 있지만 모두 구성 LAN 세그먼트보다 느린 WAN 링크를 통해 나가야 할 수도 있습니다. 5mb WAN 링크를 통해 궁극적으로 나가는 LAN 내에서 100mb 연결을 갖는 그림. 큰 종류의 네트워크에서 문제가 발생하지 않도록 혼잡 제어를 수행해야합니다. 2 부에 관해서는

:이 인터뷰 - 준비 질문 인 경우

, 위에서 말했듯이, 나는 일반적으로 TCP/IP에 읽을 시간이 좀 복용 고려할 것입니다. Wikipedia를 사용하지 마십시오. RTFM! 이것은 당신의 시간에 매우 가치있는 것입니다. 당신은 이것이 현대 인터넷의 대부분을 견디는 가장 중요한 프로토콜이라고 주장 할 수 있습니다.

흐름 제어에 대해 읽을 점 : 중지 및 대기, 슬라이딩 창, PAUSE 프레임.

정체 제어에 대한 정보 : QoS (서비스 품질), 재전송 정책, 윈도우 정책. 그 너머

, 당신은 특정 벤더 구현 (시스코, 등)

+2

좋은 답변이지만 적어도 한 가지 실수가 있습니다. "일시 중지 프레임"은 혼잡 제어에 사용되지 않고 흐름 제어를위한 메커니즘입니다. – Angel

+1

당신은 틀린 품목입니다.잘못된 단락에 추가되었습니다. 지금 편집하십시오. –

18

흐름 제어를 검색 할 수 있습니다 : 송신자가 수신자 측에서 수용 할 수있는 충분한 데이터를 전송합니다.

혼잡 제어 : 보낸 사람은 라우터 버퍼 (Queue) 오버플로를 방지하기 위해 보낸 패킷 양을 줄입니다.

-3

흐름 제어 : 네트워크가 흡수 할 수있는 네트워크의 양, 혼잡 창을 나타냅니다. 혼잡 제어 (Congestion control) : 수신기가 흡수 할 수있는 양, 광고 된 창을 나타냅니다. 보낸 사람의 max_window = min (보급 된 창, 정체 창);

3

혼잡 제어는 글로벌 이슈입니다. 서브넷 내의 모든 라우터와 호스트를 포함합니다. 흐름 제어 - 범위는 지점 간입니다. 발신자와 수신자 만 포함됩니다.

13

흐름 제어 :

  • 는 송신자가 수신자에 과부하가 걸리지 않도록한다.
  • 혼잡 제어와 달리 로컬 현상입니다.
  • 일반적으로 보낸 사람이 시작합니다.

혼잡 제어 :

  • 은 네트워크 패킷의 부하를 처리 할 수 ​​있는지 확인합니다.
  • 이것은 전 세계적으로 발생하며 해당 네트워크에 연결된 모든 호스트에 영향을줍니다.
  • 라우터에서 초기화했습니다.
2

혼잡 제어 : 또한 두 다른 중요한 요인

다루는 오버플 라우터의 버퍼 방지 외에
  • 공정성 : 기아 네트워크에 연결된 호스트에 대해 발생하지 않아야 용어가 좀 더 복잡하지만.
  • 효율성 : 링크는 혼잡을 일으키지 않는 최대 용량으로 활용되어야합니다.
3

흐름 제어 주로 데이터 양을 네트워크로 주입되는 송신기를 조정하려면 수신기 측에서 수행된다; 혼잡 제어은 주로 송신 측에서 ACK 패킷의 타이밍에 의해 네트워크에서 정체를 감지하고 해당 상황으로 보내지는 데이터의 볼륨을 조정하려고합니다.

1

흐름 제어는 수신 측에서 수행됩니다. 보낸 사람이받는 사람의 버퍼 크기보다 큰 패킷을 보내는 경우 수신기의 버퍼에서 오버플로가 발생합니다. 수신 측에서의 이러한 오버 플로우를 피하기 위해, 송신 측에서 사용되는 윈도 잉 기술이있다. 혼잡 제어는 발신 측에서 수행됩니다. 이것은 전 세계적 현상입니다. 이것은 라우터에서 발생합니다. 많은 보낸 사람이 동일한 링크를 통해 더 많은 패킷을 전송하려고하면 라우터의 버퍼가 오버플로됩니다.

+0

이것은 질문에 대답하는 정직한 시도처럼 보이지만, 지금 당장 대답은 조금 혼란 스럽습니다. 그것은 또한 다소 짧습니다. 흐름 제어에 대해 하나 또는 두 개의 전체 단락을 사용하고 혼잡 제어에 대해 하나 또는 두 개의 단락을 더 많이 사용하고 쉼표와 단어 누락을 줄이는 것이 좋습니다. – Julian