2017-08-03 29 views
0

私は2つのEmulabサーバを持っており、どちらもDPDK用に設定されています。 1つ(クライアントと呼ぶ)が実行されますpktgen;もう一方(サーバーと呼ぶ)はl2fwdです。クライアント側ではDPDKの理解pktgenの宛先アドレッシング

、私は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でなければならないのですか?あなたの質問に答える

答えて

1

サーバーのDPDK対応インターフェイスは、IPアドレスを持つべきではありません(私はそれ1を割り当てられません)

いいえ、それはいけません。しかし、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アドレスだけでなくすべてのフレームを受け入れます。

ご希望の質問にお答えします。

関連する問題