0

2 つの Emulab サーバーがあり、どちらも DPDK 用に構成されています。1 つ (クライアントと呼びます) はpktgenを実行します。もう一方 (サーバーと呼びます) はl2fwdを実行します。

クライアント側では、pktgenの出力に次のように表示されます。

    Src/Dest Port     :         1234 / 5678
    Pkt Type:VLAN ID  :     IPv4 / TCP:0001
    Dst  IP Address   :         192.168.1.1
    Src  IP Address   :      192.168.0.1/24
    Dst MAC Address   :   00:00:00:00:00:00
    Src MAC Address   :   a0:36:9f:08:1c:28

l2fwdの出力によると、サーバーはクライアントからパケットを受信して​​います。

ここでアドレス指定がどのように機能するかについて、何かが欠けていると思います。サーバーの DPDK 対応インターフェイスには IP アドレスを指定しないでください (割り当てたことはありません)。クライアントは、そのパケットの Dst MAC を持っていないようです。

サーバーはこれらのパケットをどのように取得していますか? クライアントはネットワークにブロードキャストしているだけですか? では、IP アドレスは FF:FF:FF:FF:FF:FF ではないでしょうか。

4

1 に答える 1

1

質問への回答:

サーバーの DPDK 対応インターフェイスには IP アドレスを指定しないでください (割り当てたことはありません)。

いいえ、そうすべきではありません。ただし、l2fwd は OSI レイヤ 2 転送、つまりスイッチングを表します。スイッチングが機能するために IP は必要ありません。

クライアントは、そのパケットの Dst MAC を持っていないようです。

出力から、宛先 MAC はすべてゼロです。set mac <portlist> <mac>CLI コマンドで変更できます。

サーバーはこれらのパケットをどのように取得していますか? クライアントはネットワークにブロードキャストしているだけですか? では、IP アドレスは FF:FF:FF:FF:FF:FF ではないでしょうか。

unknown unicastあなたの場合、それはサーバー上の無差別モードだと思います。中央のスイッチは MAC テーブルにアドレスがない00:00:00:00:00:00ため、未知のユニキャストをすべてのポート (送信元と VLAN 内を除く) にフラッディングしています。

サーバーはポートを無差別モードにするため、このフレームを受信します。そのため、NIC は NIC の MAC アドレスだけでなく、すべてのフレームを受け入れます。

これがあなたの質問に答えることを願っています。

于 2017-08-03T20:36:24.320 に答える