dmesg+UDP: チェックサムエラー。 + RHEL 7.x

dmesg+UDP: チェックサムエラー。 + RHEL 7.x

dmesgでは、私たちは非常に奇妙な行を取得します。

[6484420.812643] raid6: using avx2x2 recovery algorithm
[6484420.859086] Btrfs loaded
[6484426.278636] nr_pdflush_threads exported in /proc is scheduled for removal
[6484708.776239] ixgbe 0000:04:00.0: invalid short VPD tag 06 at offset 4
[6900952.098901] perf: interrupt took too long (6247 > 6167), lowering kernel.perf_event_max_sample_rate to 32000
[7372848.819396] Peer 0000:0000:0000:0000:0000:ffff:0a15:f030:1054/8042 unexpectedly shrunk window 3002395993:3002395997 (repaired)
[8139485.039423] Turbo disabled by BIOS or unavailable on processor
[8380300.891343] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380320.890541] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380440.896206] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380460.895001] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380463.207397] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380467.316531] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380468.363352] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380469.332044] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380489.330943] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380509.329849] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380529.328678] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380549.468256] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380569.326474] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380589.340946] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380609.339969] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380619.870472] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380620.964216] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380621.979847] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380641.869255] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380661.883737] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380681.867153] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380701.881531] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380721.864752] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380741.879282] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380761.878160] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380781.876977] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380801.875853] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380821.874754] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380841.873636] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380861.872533] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380881.871408] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380901.870340] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380921.884773] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380956.392645] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380957.392566] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380958.517530] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380978.384846] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8380998.383622] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8381018.387820] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8381038.390564] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8381058.395931] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8381060.052209] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8381061.114504] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8381062.115355] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69
[8381082.053988] UDP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69

その行は次のとおりです。

DP: bad checksum. From 73.2.33.11:5353 to 82.2.33.1:5353 ulen 69

深刻な問題を示していますか?

ベストアンサー1

これらの「UDPエラー」はUDPチェックサムオフロードです。 NIC はチェックサムを担当するため、CPU リソースを節約するために CPU レベルで実行されません。 VMWareがこれを行い、KVMもそれを行うと思います(それだけでなく)。したがって、tcpdumpシステムログを使用または表示すると、OS / VMレベルで正しいチェックサムを確認できません。

バラより分割とチェックサムのオフロード:ethtoolを使用してオフにする

残念ながら、Wiresharkで見たものは、私たちが期待するものとは異なる場合があります。これが発生する1つの方法は、オペレーティングシステムがTCP / IP操作をネットワークインターフェイスカード(NIC)にオフロードすることです。オフロードの一般的な作業は、分割とチェックサムの計算です。つまり、オペレーティングシステムがCPUを使用してTCPパケットを断片化するのではなく、NICは独自のプロセッサを使用して断片化を実行できます。これにより、CPUリソースが節約され、NICへのバス通信が大幅に削減されます。

また、見ることができますLinuxネットワーキング:オフロード機能、RX / TXチェックサム、分散、収集などを無効にする/有効にする方法

tcpdump出力のUDP / TCPチェックサムエラー

オフロードが有効になっていて、パケットエラーなしでtcpdump出力に誤ったcksumが表示され、ネットワークが正しく機能している場合、チェックサムは実際にネットワークアダプタで計算され、tcpdumpが計算された値を表示するので、心配する必要はありません。カーネルレベルのチェックサム。

~からtcpdumpおよびNICハードウェアオフロードによるUDP/TCPチェックサムエラー

アクティブなNICハードウェアオフロードオプションを確認したら、明確な結果を確認できます。

$ sudo ethtool -k eth0 | $ sudo ethtool -k eth0 | grep on
rx-checksumming
: on
分散
- 収集: on
generic-receive-offload :
rx-vlan-offload から:
tx-vlan-offload から: オン

NICでTX / RXのTCPオフロード(TCO)を無効にした後、問題は消えました。

$ sudo ethtool -K eth0 tx オフ rx オフ

最適化をオフにするとパフォーマンスがわずかに影響を受けるため、ネットワークの問題のデバッグが完了したら、最適化を再びオンにします。

TLDR これらの「バグ」はLinux仮想マシンでよく発生するので、心配する必要はありません。一度知ったら、それらはベースラインの一部です。また、ログを表示したり、ネットワークの問題をデバッグするときにカーネルレベルで表示することが必ずしもラインレベルで表示されるわけではないことに注意してください。

おすすめ記事