同じホストで大規模なUDPマルチキャストパケットの送受信をシミュレートするためにvethを9000 MTUに設定するにはどうすればよいですか?

同じホストで大規模なUDPマルチキャストパケットの送受信をシミュレートするためにvethを9000 MTUに設定するにはどうすればよいですか?

送信者は大きなパケットを受信者(1500 MTUの同じホスト)に送信する必要があります。私が読んだことによれば、これは9000 MTUのvethを使ってシミュレートできると思います。ただし、これを行う方法を正確に知ることはできません。インターネット上のほとんどのチュートリアル/記事にはネットワークネームスペースが記載されており、これを達成するためにネームスペースを作成する必要があるかどうかはわかりません。どんなアドバイスやアドバイスでも役に立ちます。ありがとうございます!

答え1

Linuxでは、この設定は以下に限定されません。ワイズだから録音できませんでした。ワイズしかし、一般的にip link注文する:

ip link add [ link DEVICE ] [ name ] NAME
[ txqueuelen PACKETS ]
[ address LLADDR ] [ broadcast LLADDR ]
[ mtu MTU ] [ index IDX ] 

...

ip link set { DEVICE | group GROUP } 
...
[ mtu MTU ] 

...

あなたはそれを使用することができますip link set ... mtu 9000

ip link set veth0 mtu 9000

一部のインターフェイスは次のように答えることができます。Error: mtu greater than device maximum.ハードウェアの制限によるものです。仮想マシンの場合はそうではありません。ワイズ最大MTUが65535のインターフェース:

# ip -details link show veth0
68: veth0@veth1: <BROADCAST,MULTICAST,M-DOWN> mtu 9000 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 2a:93:f8:8e:bc:b6 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 65535 
    veth addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 

関連部品:

minmtu 68 maxmtu 65535 

これを有効にするには、もう一方の端が別の名前空間にある必要があることに注意してください。たとえば、ここの反対側はveth0はいveth1:

ip netns add experiment
ip link set veth1 peer netns experiment
ip -n experiment link set veth1 mtu 9000

など(インターフェイスの開始、アドレスの追加、パス...)

マルチキャスト部分の場合は、次の点に興味がある可能性があります。

Socatを使用したIPマルチキャスト

関連情報