例:MX シリーズ ルーターでの OpenFlow ハイブリッド インターフェイスの設定
OpenFlowをサポートするMXシリーズルーターでは、複数の論理インターフェイスをサポートする物理インターフェイスをハイブリッドインターフェイスとして設定できます。ハイブリッド インターフェイスは、OpenFlow 論理インターフェイスと非 OpenFlow 論理インターフェイスの両方を同時にサポートするため、OpenFlow トラフィックと非 OpenFlow トラフィックが同じインターフェイスを通過できます。
ハイブリッド インターフェイスを使用すると、特にポート密度が問題となる状況で、物理インターフェイスをより効率的に使用できます。
この例では、OpenFlow ハイブリッド インターフェイスを使用して MX シリーズ ルーターを設定する方法を示します。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
Junos OSリリース13.3以降のリリースを実行しているMX240ルーター
インストールされているデバイスのJunos OSリリースと一致するソフトウェアパッケージリリースを含むOpenFlow ソフトウェアパッケージ
ルーターとOpenFlowコントローラ間のTCP接続
ルーターの fxp0 管理インターフェイスと、OpenFlow コントローラの IP アドレスから到達可能な管理ネットワーク間の接続
概要
この例では、ハイブリッドインターフェイスge-1/0/1、OpenFlowインターフェイスge-1/0/2、および非OpenFlowインターフェイスge-1/0/3を持つMX240ルーターを設定します。ハイブリッド インターフェイスでは、論理インターフェイス ge-1/0/1.0 は OpenFlow に参加し、論理インターフェイス ge-1/0/1.1 と ge-1/0/1.2 は OpenFlow に参加しません。
OpenFlow ハイブリッド インターフェイスを使用する場合は、VLAN を使用して OpenFlow トラフィックを通常のトラフィックと区別します。したがって、すべてのインターフェイスでVLANタギングを有効にする必要があり、インターフェイスに入るトラフィックにはVLANタグを付ける必要があります。ハイブリッド インターフェイスに入るタグなしトラフィックはドロップされます。この例では、VLANタギングを有効にし、インターフェイス上のすべてのトラフィックに対して802.1Q VLANシングルタグフレームとデュアルタグフレームの両方をサポートする、を使用してハイブリッドインターフェイス flexible-vlan-tagging
を設定します。インターフェイス ge-1/0/2 および ge-1/0/3 は vlan-tagging
、を使用して設定します。
ハイブリッド インターフェイス カプセル化は、柔軟なイーサネット サービスとして設定します。このカプセル化を使用するインターフェイスでは、すべてのVLAN IDが有効なことに注意してください。1 から 511 までの VLAN ID は、通常の VLAN 用に予約されていません。この例では、VLAN 1 〜 100 が OpenFlow トラフィックに使用され、VLAN 101 〜 200 および VLAN 300 が通常のトラフィックに使用されます。
ge-1/0/1.2 を除くすべての論理インターフェイスは、 ファミリー bridge
およびインターフェイス モードを使用して、レイヤー 2 トランク インターフェイス trunk
として設定されます。論理インターフェイス ge-1/0/1.0 と ge-1/0/2.0 は OpenFlow に参加し、OpenFlow VLAN ID 1 から 100 のトラフィックを受信および転送します。論理インターフェイス ge-1/0/1.1 と ge-1/0/3.0 は OpenFlow に参加せず、非 OpenFlow VLAN ID 101 から 200 のトラフィックを送受信します。
ge-1/0/1.2 は、IP アドレス 198.51.100.10/24 のレイヤー 3 論理インターフェイスで、レイヤー 3 ルーティングを実行します。このインターフェイスは OpenFlow に参加せず、VLAN ID 300 のトラフィックをルーティングします。
表 1 は、論理インターフェイス、トラフィック タイプ、関連付けられた VLAN ID をまとめたものです。
論理インターフェイス |
トラフィック タイプ |
Vlan |
---|---|---|
ge-1/0/1.0 |
OpenFlow |
1 から 100 |
ge-1/0/1.1 |
非オープンフロー |
101 から 200 |
ge-1/0/1.2 |
非オープンフロー |
300 |
ge-1/0/2.0 |
OpenFlow |
1 から 100 |
ge-1/0/3.0 |
非オープンフロー |
101 から 200 |
階層レベルで OpenFlow 仮想スイッチと OpenFlow プロトコル ステートメント [edit protocols openflow]
を設定します。仮想スイッチ OFswitch2 は、IP アドレス 172.16.1.1 の TCP 接続を介してコントローラに接続します。仮想スイッチの構成には、OpenFlow に参加しているすべての論理インターフェイス (ge-1/0/1.0 と ge-1/0/2.0 を含む) が含まれている必要があります。
MX シリーズルーターで OpenFlow を設定する場合、通常のネットワークトラフィックから分離する OpenFlow トラフィック用の仮想スイッチルーティングインスタンスを設定する必要があります。さらに、ハイブリッドインターフェイスを使用する場合は、OpenFlow トラフィック用の仮想スイッチルーティングインスタンスと、通常のトラフィック用の個別の仮想スイッチルーティングインスタンスの両方を設定します。この例では、OpenFlow トラフィック用にルーティング インスタンス rt1 を設定し、通常のトラフィック用にルーティング インスタンス rt2 を設定します。
ルーティング インスタンス rt1 には、OpenFlow に参加しているインターフェイス、ge-1/0/1.0 および ge-1/0/2.0 が含まれます。ルーティング インスタンス内では、1 から 100 までのすべての OpenFlow VLAN が含まれるようにブリッジ ドメインを設定します。ルーティング インスタンス rt2 には、OpenFlow に参加しないレイヤー 2 インターフェイス、ge-1/0/1.1 および ge-1/0/3.0 が含まれています。ルーティング インスタンス内では、OpenFlow 以外の VLAN 101 から 200 が含まれるようにブリッジ ドメインを設定します。
OpenFlow トラフィックを誘導するには、OpenFlow コントローラが適切なトラフィックを選択するフローエントリをインストールして、正しい OpenFlow インターフェイスに転送する必要があります。
構成
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します commit
。
set interfaces ge-1/0/1 flexible-vlan-tagging set interfaces ge-1/0/1 encapsulation flexible-ethernet-services set interfaces ge-1/0/1 unit 0 family bridge interface-mode trunk set interfaces ge-1/0/1 unit 0 family bridge vlan-id-list 1-100 set interfaces ge-1/0/1 unit 1 family bridge interface-mode trunk set interfaces ge-1/0/1 unit 1 family bridge vlan-id-list 101-200 set interfaces ge-1/0/1 unit 2 vlan-id 300 set interfaces ge-1/0/1 unit 2 family inet address 198.51.100.10/24 set interfaces ge-1/0/2 vlan-tagging set interfaces ge-1/0/2 unit 0 family bridge interface-mode trunk set interfaces ge-1/0/2 unit 0 family bridge vlan-id-list 1-100 set interfaces ge-1/0/3 vlan-tagging set interfaces ge-1/0/3 unit 0 family bridge interface-mode trunk set interfaces ge-1/0/3 unit 0 family bridge vlan-id-list 101-200 set protocols openflow switch OFswitch2 controller address 172.16.1.1 set protocols openflow switch OFswitch2 controller protocol tcp port 6633 set protocols openflow switch OFswitch2 interfaces ge-1/0/1.0 set protocols openflow switch OFswitch2 interfaces ge-1/0/2.0 set routing-instances rt1 instance-type virtual-switch set routing-instances rt1 interface ge-1/0/1.0 set routing-instances rt1 interface ge-1/0/2.0 set routing-instances rt1 bridge-domains bd-of vlan-id-list 1-100 set routing-instances rt2 instance-type virtual-switch set routing-instances rt2 interface ge-1/0/1.1 set routing-instances rt2 interface ge-1/0/3.0 set routing-instances rt2 bridge-domains bd-nonof vlan-id-list 101-200
インターフェイスの設定
手順
インターフェイスを設定するには:
ハイブリッド物理インターフェイスで、VLANタギングを有効にし、カプセル化を設定します。
[edit interfaces ge-1/0/1] user@host# set flexible-vlan-tagging user@host# set encapsulation flexible-ethernet-services
OpenFlow 論理インターフェイス ge-1/0/1.0 を、VLAN 1-100 をサポートするレイヤー 2 トランクとして設定します。
[edit interfaces ge-1/0/1] user@host# set unit 0 family bridge interface-mode trunk user@host# set unit 0 family bridge vlan-id-list 1-100
OpenFlow 以外の論理インターフェイス ge-1/0/1.1 を、VLAN 101-200 をサポートするレイヤー 2 トランクとして設定します。
[edit interfaces ge-1/0/1] user@host# set unit 1 family bridge interface-mode trunk user@host# set unit 1 family bridge vlan-id-list 101-200
非OpenFlow論理インターフェイスge-1/0/1.2をレイヤー3サブインターフェイスとして設定します。
[edit interfaces ge-1/0/1] user@host# set unit 2 vlan-id 300 user@host# set unit 2 family inet address 198.51.100.10/24
ge-1/0/2で、VLANタギングを有効にし、VLAN 1-100をサポートするレイヤー2トランクとして論理インターフェイスを設定します。
[edit interfaces ge-1/0/2] user@host# set vlan-tagging user@host# set unit 0 family bridge interface-mode trunk user@host# set unit 0 family bridge vlan-id-list 1-100
ge-1/0/3で、VLANタグ付けを有効にし、VLAN 101-200をサポートするレイヤー2トランクとして論理インターフェイスを設定します。
[edit interfaces ge-1/0/3] user@host# set vlan-tagging user@host# set unit 0 family bridge interface-mode trunk user@host# set unit 0 family bridge vlan-id-list 101-200
OpenFlow の設定
手順
OpenFlow を設定するには:
OpenFlow コントローラの IP アドレスと接続プロトコルを設定します。
[edit protocols openflow switch OFswitch2] user@host# set controller address 172.16.1.1 user@host# set controller protocol tcp port 6633
この仮想スイッチインスタンスの下でOpenFlowに参加している論理インターフェイスを指定します。
[edit protocols openflow switch OFswitch2] user@host# set interfaces ge-1/0/1.0 user@host# set interfaces ge-1/0/2.0
仮想スイッチルーティングインスタンスの設定
手順
仮想スイッチのルーティングインスタンスを設定するには:
OpenFlow トラフィックの仮想スイッチルーティングインスタンスを設定します。
[edit] user@host# set routing-instances rt1 instance-type virtual-switch user@host# set routing-instances rt1 interface ge-1/0/1.0 user@host# set routing-instances rt1 interface ge-1/0/2.0 user@host# set routing-instances rt1 bridge-domains bd-of vlan-id-list 1-100
非 OpenFlow トラフィック用の仮想スイッチルーティングインスタンスを設定します。
[edit] user@host# set routing-instances rt2 instance-type virtual-switch user@host# set routing-instances rt2 interface ge-1/0/1.1 user@host# set routing-instances rt2 interface ge-1/0/3.0 user@host# set routing-instances rt2 bridge-domains bd-nonof vlan-id-list 101-200
設定をコミットします。
[edit] user@host# commit
結果
コンフィギュレーションモードから、、show protocols openflow
show routing-instances
、およびの各show interfaces
コマ ンドを入力し 、コンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
user@host# show interfaces ge-1/0/1 { flexible-vlan-tagging; encapsulation flexible-ethernet-services; unit 0 { family bridge { interface-mode trunk; vlan-id-list 1-100; } } unit 1 { family bridge { interface-mode trunk; vlan-id-list 101-200; } } unit 2 { vlan-id 300; family inet { address 198.51.100.10/24; } } } ge-1/0/2 { vlan-tagging; unit 0 { family bridge { interface-mode trunk; vlan-id-list 1-100; } } ge-1/0/3 { vlan-tagging; unit 0 { family bridge { interface-mode trunk; vlan-id-list 101-200; } }
user@host# show protocols openflow switch OFswitch2 { interfaces { ge-1/0/1.0; ge-1/0/2.0; } controller { protocol tcp { port 6633; } address 172.16.1.1; } }
user@host# show routing-instances rt1 { instance-type virtual-switch; interface ge-1/0/1.0; interface ge-1/0/2.0; bridge-domains { bd-of { vlan-id-list 1-100; } } } rt2 { instance-type virtual-switch; interface ge-1/0/1.1; interface ge-1/0/3.0; bridge-domains { bd-nonof { vlan-id-list 101-200; } } }
検証
設定が正常に機能していることを確認します。
OpenFlow コントローラの接続が稼働していることの確認
目的
OpenFlow コントローラの接続が起動していることを確認します。
アクション
show openflow controller
動作モード コマンドを発行し、コントローラの接続状態が up
であることを確認します。仮想スイッチ構成にはコントローラーが 1 つしかないため、構成をコミットすると、仮想スイッチによってコントローラーへの接続が自動的に開始されます。
user@host> show openflow controller Openflowd controller information: Controller socket: 11 Controller IP address: 172.16.1.1 Controller protocol: tcp Controller port: 6633 Controller connection state: up Number of connection attempt: 1 Controller role: equal
意味
出力は、OpenFlow コントローラ up
の接続状態が、コントローラに関するその他の情報に加えて、 であることを示しています。
OpenFlow インターフェイスが稼働していることの確認
目的
OpenFlow インターフェイスが起動していることを確認します。
アクション
show openflow interfaces
動作モードコマンドを発行し、各OpenFlowインターフェイスの状態がUp
であることを確認します。
user@host> show openflow interfaces Switch name: OFswitch2 Interface Name: ge-1/0/1.0 Interface port number: 41500 Interface Hardware Address: 00:00:5e:00:53:a1 Interface speed: 1Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up Switch name: OFswitch2 Interface Name: ge-1/0/2.0 Interface port number: 41501 Interface Hardware Address: 00:00:5e:00:53:00 Interface speed: 1Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up
意味
出力では、各 OpenFlow インターフェイス Up
の状態が、インターフェイスに関するその他の情報とともに、 であることがわかります。