LISPは、イーサネットヘッダでカプセル化されたパケットは、二階を運ぶことなく、トンネルを介してARP要求パケットを送信しないことを意味し、三層トンネリングメカニズムです。支持L3トンネルが改善されるまでこのように、オープンのvSwitch提供LISPトンネルは、余分な工程を必要とします。
このガイドは、LISPトンネルは、2台のVMの仮想マシン、IPv4アドレスによって到達可能なそれらの間のOVSブリッジの異なるハイパーバイザに接続された2台の仮想マシンとの間に位置することを前提としています。もちろん、複数の仮想マシンが任意のハイパーバイザに接続することができ、ハイパーバイザハイパーバイザは、LISPを介してトンネルと通信するための異なるインターフェースの複数であってもよいです。LISP「マップキャッシュは、」この資料の最後の例を参照して、流れを達成するために使用することができます。
以下の状況:
- (別のサブネット上の仮想マシン)も、同じサブネット上の仮想マシン、ハイパーバイザーのIPアドレス単一のサブネット。
- IPの同じサブネット上の仮想マシンのアドレスが、ハイパーバイザは、ルータ(ない同じサブネット内)で区切られます。
- 異なるサブネット内の仮想マシン。
ケース1)とでは3)、ARPは正常に動作することを決意する:ARPトラフィックがトンネルLISPを通過しないように設定されています。ケース1の場合)ARPは、2つのインスタンスOVS MACアドレス学習がデフォルトで有効になっている場合は、別のVMに到達することができます。ケース3の場合)仮想マシンのデフォルトルータとして構成されたハイパーバイザーが必要です。
ケース2)仮想マシンは、ARP応答の他の側面を期待しますが、3つのネットワークにこれは不可能です。一つの解決策は、(例えば、起動UnixベースのVMで実行されるVMスタティックMACアドレスエントリを事前に設定することですarp -f /etc/ethers
)。またはプロキシARPを行うには、ハイパーバイザをしましょう。この場合には、次の例ではeth0、BR0ブリッジを追加する必要がありません。
受信側では、元のMACヘッダパケットが到着せずに補完。トンネルLISPコードは、送信元および宛先MACのハードコードされたアドレス追加02:00:00:00:00:00
ヘッダ。局所投与のビットに加えて、このアドレスのすべてのビット以外のビットは、既存のMACアドレスとの潜在的な競合を回避するために、0に設定されています。その意図した宛先に到達するために、データパケットを作成するには、宛先MACアドレスを書き換える必要があります。これは、流量計を使用して行うことができます。
次の設定例を参照して、必要なフローの関連付けがLISPトンネルルール可能。
Diagram
+---+ +---+
|VM1| |VM2|
+---+ +---+
| |
+--[tap0]--+ +--[tap0]---+
| | | |
[lisp0] OVS1 [eth0]-----------------[eth0] OVS2 [lisp0]
| | | |
+----------+ +-----------+
ハイパーバイザ、インターフェースTAP0、eth0のlisp0のそれぞれに、独立したブリッジの例に加え、ポート番号が1,2,3に変更されます。
$ ovs-vsctl add-br br0
$ ovs-vsctl add-port br0 tap0
$ ovs-vsctl add-port br0 eth0
$ ovs-vsctl add-port br0 lisp0 \
-- set Interface lisp0 type=lisp options:remote_ip=flow options:key=flow
最後のコマンドは、トンネルのlisp0フローベースのインタフェース上に設けられています。LISPの観点から、それはトンネルルータマップキャッシュはフロールールとして実装されているようなものです。
次のようにBR0ブリッジストリームを構成する必要があります。
priority=3,dl_dst=02:00:00:00:00:00,action=mod_dl_dst:<VMx_MAC>,output:1
priority=2,in_port=1,dl_type=0x0806,action=NORMAL
priority=1,in_port=1,dl_type=0x0800,vlan_tci=0,nw_src=<EID_prefix>,action=set_field:<OVSx_IP>->tun_dst,output:3
priority=0,action=NORMAL
第3の規則は、キャッシュエントリをマップに類似している:nw_src
マッチングフィールドが指定<EID_prefix>
RLOCにマッピングし<OVSx_IP>
、このフィールドは、この特定のフロー・トンネルの宛先に設定されています。
あなたは、ストリーム内のインスタンスのIDを使用している場合は別の方法として、アクションのリストに追加することができますset_tunnel:<IID>
。