IP Fragmentation and Reassembly
相当容易理解的概念了,就是如何
如何触发
相当容易,让 lo 网卡从默认是 65535 切换为 600 ,然后来做通信就可以了:
ip link set lo mtu 600
默认是 65535 的
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
在一个中终端里面配置:
nc -u -l 9999
然后在另外一个终端里面配置:
python3 - << 'EOF'
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
data = b'A' * 4000
for i in range(100):
s.sendto(data, ('127.0.0.1', 9999))
EOF
然后可以观察到:
@[
ip_defrag+5
ip_local_deliver+87
__netif_receive_skb_one_core+133
process_backlog+389
__napi_poll.constprop.0+43
net_rx_action+320
handle_softirqs+224
do_softirq+67
__local_bh_enable_ip+181
__dev_queue_xmit+687
ip_finish_output2+1531
ip_do_fragment+1175
ip_output+175
ip_send_skb+308
udp_send_skb+409
udp_sendmsg+2326
__sys_sendto+472
__x64_sys_sendto+36
do_syscall_64+116
entry_SYSCALL_64_after_hwframe+118
]: 700
本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。