[server] netcat 처리량은 낮지 만 iperf는 높음

동일한 라우터에 연결된 두 대의 PC 사이의 처리량을 테스트 중이었습니다. 하나는 100mbps LAN, 다른 하나는 54mbps wifi입니다.

흥미로운 부분은 다음과 같습니다.

  • 를 사용 하면 A에서 B로 보낼 ​​때 2.63MB / s를nc습니다 (로 측정 pv -r|nc ipB)
  • 을 사용 iperf하면 23MB / s 를 얻습니다 .

무엇이 잘못 될 수 nc있습니까?

OS는 둘 다 우분투 11.04입니다.



답변

TCP Windowing을 지원하지 않는 NetCat에 적합한 스케일 사운드. 두 벤치 마크가 실행되는 동안 인터페이스에서 tcpdump를 수행하면 NC에 대해 다음 패턴이 표시됩니다.

  1. 패킷->
  2. <-Ack
  3. 패킷->
  4. <-Ack
  5. 패킷->
  6. <-Ack
  7. 패킷->
  8. <-Ack

IPerf의 패턴은 다음과 같습니다.

  1. 패킷->
  2. 패킷->
  3. 패킷->
  4. 패킷->
  5. 패킷->
  6. 패킷->
  7. <-Ack
  8. 패킷->
  9. 패킷->
  10. 패킷->
  11. 패킷->
  12. 패킷->
  13. 패킷->
  14. <-Ack
  15. 패킷->
  16. 패킷->
  17. 패킷->
  18. 패킷->
  19. 패킷->
  20. 패킷->
  21. <-Ack

TCP 세그먼트를 윈도우 화하면 매 패킷마다, 모든 세그먼트 후에 만 ​​Ack를 기다릴 필요가 없기 때문에 훨씬 높은 처리량을 얻을 수 있습니다.


답변

그렇지 않습니다 netcat. 와 iperf내가 얻을

[  3] local 192.168.1.201 port 55610 connected with 192.168.1.200 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   394 MBytes  39.4 MBytes/sec

nc -l -p 1852 > /dev/nullcat /dev/zero | pv -r | nc 192.168.1.200 1852내가 얻을

[  34MB/s]

(30과 60 사이에 있습니다.)

어떤 데이터를 먹이고 netcat있습니까?


답변

무선 카드가 54MB 연결이 가능하다고해서 해당 처리량을 얻을 수있는 것은 아닙니다. 특히 Achilies 힐 이있는 802.11g가있는 것처럼 들립니다 . 만큼 **이 이야기 할 때마다 * 무선 장치도 같이 g 는 빨리 갈 것이다, 그러나 빨리 아니라 심지어 하나의 장치 b를 속도를 수있는, 그것은 모든 장치에 이야기에 가장 낮은 공통 분모를 사용한다.

무선으로 실행중인 컴퓨터에서 터미널을 열려고 시도 할 수 있습니다 iwconfig. 를 찾아 비트 레이트 = 필드와 당신이 실제로에서 연결 속도 무엇을 참조하십시오.


답변

iperf 장치에주의하십시오. 이것은 일반적인 함정입니다. iperf는 종종 Mbyte / s 대신 Mbit / s로 표시됩니다.


답변