Я использую CentOS 7 для проверки производительности сети.
The interface setting is normal like that :
saberin@localhost ~]$ ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.40.196.150 netmask 255.255.255.0 broadcast 10.40.196.255
ether 00:21:cc:70:ec:c9 txqueuelen 1000 (Ethernet)
RX packets 65474511 bytes 67755018554 (63.1 GiB)
RX errors 0 dropped 7864 overruns 0 frame 0
TX packets 49148000 bytes 63929988549 (59.5 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf3900000-f3920000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 7436 bytes 2079869 (1.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7436 bytes 2079869 (1.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Однако, когда я проверял захваченный трафик, я обнаружил:
No. Time Source Destination Pro Length Info
...
15369 7.068528 10.40.196.150 -> 10.40.198.104 TCP 14548 51745 > commplex-link [ACK] Seq=48889881 Ack=1 Win=29312 Len=14480 TSval=1208291043 TSecr=1298215864
15370 7.068650 10.40.196.150 -> 10.40.198.104 TCP 14548 51745 > commplex-link [ACK] Seq=48904361 Ack=1 Win=29312 Len=14480 TSval=1208291043 TSecr=1298215864
15371 7.068772 10.40.196.150 -> 10.40.198.104 TCP 14548 51745 > commplex-link [ACK] Seq=48918841 Ack=1 Win=29312 Len=14480 TSval=1208291043 TSecr=1298215864
15372 7.068892 10.40.196.150 -> 10.40.198.104 TCP 14548 51745 > commplex-link [ACK] Seq=48933321 Ack=1 Win=29312 Len=14480 TSval=1208291043 TSecr=1298215864
...
длина кадра 14548 байт! намного больше, чем MTU интерфейса.
Может кто-нибудь дать мне подсказку?
Получил ответ. Используемая мною сетевая карта имеет функцию tso, которая объединяет полученные кадры. Чтобы включить / отключить его:
ethtool -K enp0s25 tso off/on
В моем случае просто нужно отключить.