当我尝试使用 Mac Studio 跟踪一些网络问题时,我遇到了一个无法理解的奇怪指标——“未对齐的 pkts”,它似乎以 ~20/s 的速度增加。
> ifconfig -v en0
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 index 23
eflags=410009c0<ACCEPT_RTADV,TXSTART,RXPOLL,ARPLL,ECN_ENABLE,FASTLN_ON>
xflags=1<WOL>
options=567<RXCSUM,TXCSUM,VLAN_MTU,TSO4,TSO6,AV,CHANNEL_IO>
hwassist=720067<CSUM_IP,CSUM_TCP,CSUM_UDP,CSUM_TCPIPV6,CSUM_UDPIPV6,VLAN_MTU,MULTIPAGES,TSO_V4,TSO_V6>
ether xx:xx:xx:xx:xx:xx
inet6 xxxx::xxx:xxxx:xxxx:xxxx%en0 prefixlen 64 secured scopeid 0x17
inet 192.168.xxx.xxx netmask 0xffffff00 broadcast 192.168.xxx.xxx
netif: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
flowswitch: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (10Gbase-T <full-duplex,flow-control,energy-efficient-ethernet>)
status: active
generation id: 23
type: Ethernet
agent domain:Skywalk type:NetIf flags:0xa443 desc:"Userspace Networking"
link quality: 100 (good)
state availability: 0 (true)
scheduler: FQ_CODEL
link rate: 10.00 Gbps
unaligned pkts: 43549194
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
qosmarking enabled: yes mode: none
low power mode: disabled
multi layer packet logging (mpklog): disabled
routermode4: disabled
routermode6: disabled
我在 Google 上找不到任何东西——什么是未对齐的包,以这种速率拥有它们可以吗?
答案1
据我所知,这是发送网络包时的错误,其中消息头未在 4 字节(32 位)边界上对齐。当消息嵌入其他协议时,可能会出现此错误。
虽然这不是标准的一部分,但针对这些情况,网络消息处理程序中引入了软件补丁,以便正确处理此类数据包(在标准之外)。
换句话说,虽然已经发出了该问题的信号,但是如果网络上没有频繁出现硬错误,则网络软件可以正确处理该问题,因此无需担心。
我找到该信息的来源是
错位、MIPS 和 ip_hdr(skb)->version。