Linux 및 Windows의 TCP 구현 성능


13

Windows와 Linux에서의 TCP 스택 구현이 다르다는 것을 이해합니다. Windows는 TCP Reno라는 혼잡 제어 알고리즘을 사용하고 Linux는 Cubic을 사용합니다.

두 프로토콜이 동일한 네트워크에 공존 할 때 어떻게 비교합니까? Cubic (Linux)이 더 공격적이며 더 높은 대역폭 점유율을 얻는다고 말할 수 있습니까?

답변:


4

혼잡 제어 알고리즘은 업스트림 트래픽에만 영향을 미치므로 업스트림 대역폭에만 영향을 미칩니다.

즉, Cubic은 실제로 특히 대역폭 지연 제품이 높은 네트워크의 경우 더욱 공격적입니다. 동일한 상황에서 reno보다 적은 전송 속도를 사용하지 않도록 Linux 구현에 규칙이 내장되어 있습니다.

리눅스 큐빅 알고리즘은 또한 큐빅 알고리즘이 최소한 표준 TCP만큼 공격적임을 보장하는 코드를 포함합니다

-Leith, Shorten, McCullagh, Cubic-TCP의 실험적 평가

따라서 Youtube 비디오를 보면서 Windows 업데이트를 다운로드하면 Youtube 트래픽에 Microsoft 트래픽이 고갈 될 수 있으며 이에 대한 조치는 없습니다.


12

첫째, 당신이 말하는 것은 사실이 아닙니다.

  • 커널 2.6.18까지의 Linux는 기본적으로 BIC 를 사용합니다 .
  • Linux 커널 2.6.19 이상 은 기본적으로 CUBIC 을 사용합니다 .
  • 리눅스의 TCP 혼잡 제어 메커니즘은 플러그 가능 하다.
  • Windows XP 및 이전 버전은 TCP Reno (또는 New Reno )를 사용합니다.
  • Windows Vista 이상에는 Compound TCP 가 있으며 , 이는 Server 2008에서 기본적으로 활성화되며 필요한 경우 Vista 및 Windows 7에서 활성화 할 수 있습니다.

이러한 모든 알고리즘은 사용 가능한 네트워크 대역폭, 대기 시간, 사용 가능한 메모리 등에 따라 자체 조정됩니다. 또한 수동 조정이 가능한 많은 구성 매개 변수가 있습니다.

따라서 정확한 특정 네트워크 토폴로지, 사용 된 하드웨어 및 소프트웨어 등을 보지 않고서는 실제로 서로 비교할 수 없습니다. 하나가 다른 것보다 나쁘거나 사용 가능한 대역폭의 더 큰 부분을 사용하지는 않습니다. CUBIC은 BIC보다 덜 공격적이지만 실제로는 TCP 혼잡 알고리즘의 특징보다 다른 고려 사항이 더 중요합니다.

매우 좁은 범위의 특이한 네트워킹 시나리오에 맞추려고하지 않는 한,이 알고리즘은 모두 충분히 잘 작동합니다.


네트워크 시나리오는 100 개의 이상한 컴퓨터와 100Mbps LAN으로 혼잡합니다. 프록시 서버를 통한 인터넷 연결. 일부 PC는 Linux이며 대부분은 Windows 기반입니다. 리눅스를 통한 브라우징이 더 빠르다. 나는이 관측을 합리화하려고 노력했다
AIB

측정하지 않고 네트워크에서 실제로 무슨 일이 일어나고 있는지 알지 못하면 말하기가 어렵습니다. 그러나 TCP 혼잡 알고리즘의 차이가 발생할 확률은 매우 낮습니다. 특히 네트워크가 항상 100 % 혼잡하지 않으면 더욱 그렇습니다. 탐색 속도에 영향을 줄 수있는 다른 많은 요소가 있습니다.
haimg

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.