iperf에서 내 UDP 대역폭이 TCP 대역폭보다 훨씬 낮은 이유는 무엇입니까?

iperf에서 내 UDP 대역폭이 TCP 대역폭보다 훨씬 낮은 이유는 무엇입니까?

저는 iperf를 사용하여 두 가상 머신 간의 간단한 대역폭 테스트를 실행하고 있습니다. 내가 얻은 TCP 및 UDP 대역폭 판독값은 매우 다르며 UDP 대역폭은 TCP보다 훨씬 낮습니다.

TCP:

root@i-sahmed-node2: ~ # iperf -c 10.160.24.123
------------------------------------- ----------
클라이언트는 10.160.24.123, TCP 포트 5001에 연결됩니다.
TCP 창 크기: 85.0KB(기본값)
------------------------------------- ----------
[3] 로컬 10.160.24.170 포트 48339가 10.160.24.123 포트 5001에 연결됩니다.
[ID] 간격 전송 대역폭
[3] 0.0~10.0초 7.41GB 6.36GB/초
root@i-sahmed-node2: ~ #

UDP:

root@i-sahmed-node2: ~ # iperf -c 10.160.24.123 -u -b 6g
------------------------------------- ----------
클라이언트는 10.160.24.123, UDP 포트 5001에 연결됩니다.
1470바이트 데이터그램 보내기
UDP 버퍼 크기: 208KB(기본값)
------------------------------------- ----------
[3] 로컬 10.160.24.170 포트 51922가 10.160.24.123 포트 5001에 연결됩니다.
[ID] 간격 전송 대역폭
[3] 0.0-10.0초 962MB 807Mbits/초
[3] 686548개의 데이터그램이 전송되었습니다.
[3] 서버 보고서:
[3] 0.0-10.0초 630MB 528Mbits/초 0.009밀리초 237368/686547 (35%)
[3] 0.0-10.0초 9개의 데이터그램이 순서 없이 수신됨
root@i-sahmed-node2: ~ #

거의 매번 이것을 재현할 수 있습니다. 가상 머신에서 실행 중이므로 기본 하드웨어에 직접 액세스할 수 없습니다. 왜 이런 일이 일어나는지 아는 사람이 있나요?

답변1

./iPerfUDP 모드에서는 각 UDP 패킷의 성능을 추적해야 하지만 TCP 모드에서는 유일한 상호 작용이 최종 요약입니다.

800Mb/초는 게스트 VM에서 본 한계와 비슷합니다.

관련 정보