VTN Manager の内部実装 2014-10-29 NEC
ソフトウェア構成 VTN はAD-SAL Applicationとして実装 今後 MD-SALに移行予定 管理対象スイッチはOpenFlowスイッチのみ OpenFlow 1.0/1.3に対応 VTN Manager Switch Manager Topology Manager Routing Forwarding Rules Manager NetworkConfig. Neutron MD-SAL App. AD-SAL (API-Driven Service Abstraction Layer) MD-SAL (Model-Driven Service Abstraction Layer) OpenFlow plugin OpenDaylight Controller OpenFlow Switch (OpenFlow 1.0/1.3) Page 2 NEC Corporation 2014
VTN の仮想ネットワーク環境 VTN (Virtual Tenant Network) 仮想的なネットワーク環境 VTN 内のネットワークは それぞれ独立したネットワークとして管理 vbridge (Virtual Bridge) VTN 内の仮想的なL2スイッチ vbridgeに物理ネットワークを関連付けて 仮想的なbroadcast domainを構築 仮想 物理ネットワークの対応を VTN Manager が管理 vbridge vbridge VTN vbridge vbridge VTN Virtual Network VTN Manager OpenDaylight Controller Physical Network Page 3 NEC Corporation 2014
マルチテナントの実現方法 物理ネットワークのマップ方法 基本動作 ポートマップ VLANマップ マッピングの優先順位 入力パケットのマップ 出力先の決定 フロー設定 Page 4 NEC Corporation 2014
物理ネットワークのマップ方法 : 基本動作 スイッチのエッジポート上の VLAN を vbridge と一対一でマップ 異なる VLAN を同一 vbridge にマップ可能 スイッチ同士が接続されているポートはマップ対象外 VLAN-1 vbridge VTN vbridge VTN Manager Port-3 OpenDaylight Controller Port-3 vbridge VTN vbridge VLAN-1 Page 5 NEC Corporation 2014
物理ネットワークのマップ方法 : ポートマップ 指定されたエッジポート上の VLAN を vbridge にマップ Port Map vbridge-1 Port Map vbridge-2 Page 6 NEC Corporation 2014
物理ネットワークのマップ方法 :VLAN マップ 任意のVLANをvBridgeにマップ スイッチ指定あり 指定されたスイッチ上のVLANのみをマップ スイッチ指定なし 管理している全スイッチ上のVLANをマップ VLAN Map vbridge-1 VLAN Map vbridge-2 スイッチ指定ありの設定を優先 Page 7 NEC Corporation 2014
物理ネットワークのマップ方法 : マッピングの優先順位 ポートマップ設定が常に優先 VLAN Map vbridge-1 Port Map vbridge-2 Page 8 NEC Corporation 2014
入力パケットのマップ 入力パケットが検出されたエッジポートと VLAN から パケットをマップする vbridge を一意に決定 vbridge VTN Manager PACKET_IN 通知 AD-SAL vbridge VTN OpenFlow plugin OpenDaylight Controller PACKET_IN OpenFlow Switch Page 9 NEC Corporation 2014
出力先の決定 vbridge にマップされたパケットの情報を vbridge 内の MAC アドレステーブルに記録 送信元 MAC アドレス パケットを検出したスイッチの物理ポート VLAN ID vbridge 内でユニキャスト通信を行う場合 宛先 MAC アドレスの情報を MAC アドレステーブルから検索し 送信先の物理ネットワークを決定 MAC アドレスのみで送信先の VLAN を決定するため 異なる VLAN に属している同一 MAC アドレスを一つの vbridge にマップ不可 MAC Address Table To: MAC-2 VLAN: 1 MAC Addr Port VLAN MAC-2 vbridge 1 2 PACKET_OUT 送信 PACKET_OUT To: To: MAC-2 VLAN: 2 AD-SAL OpenFlow plugin VLAN Tag を出力先 VLAN に変更 MAC-2 To: MAC-2 VLAN: 2 Page 10 NEC Corporation 2014
フロー設定 ユニキャストパケットの宛先 MAC アドレスが vbridge 内に記録されている場合 flow entry を設定 記録されていない場合は vbridge にマップされている全エッジポートにブロードキャスト 最小ホップ数の経路を通る flow entry を設定 4. MAC アドレステーブルを検索し 出力先を決定 3. パケットをマップする vbridge を決定 2. AD-SAL が受信パケットを VTN Manager に通知 1. ユニキャストパケット送信 MAC Address Table MAC Addr Port MAC-2 vbridge VLAN 経路検索 Routing PACKET_OUT 送信 VTN Manager Flow Entry 設定 Forwarding Rules Manager AD-SAL PACKET_IN 通知 PACKET_IN To: MAC-2 FLOW_MOD 6. Flow entry 設定を指示 To: MAC-2 7. パケットが送信され フローが確立 5. 物理ネットワークの経路が存在する場合 AD-SAL にパケット送信を指示 OpenFlow plugin OpenDaylight Controller FLOW_MOD PACKET_OUT To: MAC-2 To: MAC-2 MAC-2 Page 11 NEC Corporation 2014
Helium リリースの新機能 MAC マップ ホスト単位で物理ネットワークを vbridge にマップ Pathマップ 物理ネットワーク上の経路設定 Flow Filter ポリシーベースのフロー変更機能 Drop Pass Redirect Neutron Portサポート Neutron Port 作成に応じてポートマップを設定 Page 12 NEC Corporation 2014
MAC マップ (1) MAC アドレス VLAN ID で指定されたホストを vbridge にマップ 優先順位はポートマップ >MAC マップ >VLAN マップ MAC Map PACKET_IN MAC-2 vbridge-1 ホストからの送信パケットを検出した時点で有効化 MAC-3 VLAN-1 MAC Map MAC-4 MAC-3 vbridge-2 PACKET_IN Page 13 NEC Corporation 2014
MAC マップ (2) ホストの移動を検出すると 自動的にマッピングを更新 MAC Map MAC-2 上の は vbridge-1 にマップされているため 無視 vbridge-1 PACKET_IN MAC-4 MAC-3 VLAN-1 MAC Map MAC-4 PACKET_IN MAC-3 vbridge-2 Page 14 NEC Corporation 2014
Path マップ 指定された条件にマッチするフローの経路テーブルを変更 スイッチ間のリンクコストを指定し 最小コスト経路を選択 デフォルトの経路テーブルのリンクコストは全て同じ ( 最小ホップ数 ) To: UDP A 1 1 1 1 D 1 A 2 5 8 1 D 1 Switch-D To: TCP B 1 C B 1 C Routing: default Routing-1 Path Map To: TCP To: UDP MAC-Dst: IP-Proto:TCP Routing-1 VTN Switch-C Page 15 NEC Corporation 2014
Flow Filter:Drop 指定された条件にマッチするパケットを破棄 条件にマッチしないので 条件にマッチするので パケットを転送パケットを破棄 To: MAC-2 Flow Filter Type: Drop MAC-Src: PortMap-1 vbridge-1 PortMap-2 Switch VTN To: MAC-2 Page 16 NEC Corporation 2014
Flow Filter:Pass 指定された条件にマッチするパケットを通過 通過させたパケットを書き換え可能 条件にマッチしないので 条件にマッチするので パケットをそのまま転送 DSCPを更新して転送 To:IP-1 Proto: UDP TCP DSCP: 50 IP-1 Flow Filter Type: Pass IP-Src: IP-2 IP-Proto: TCP Action: DSCP = 5 PortMap-1 vbridge-1 PortMap-2 Switch VTN To:IP-1 Proto: UDP TCP DSCP: 0 IP-2 Page 17 NEC Corporation 2014
Flow Filter:Redirect 指定された条件にマッチするパケットの出力先を変更 出力先を変更したパケットを書き換え可能 vbridge-1 Flow Filter Type: Redirect MAC-Src: MAC-4 MAC-Dst: MAC-2 Output: vbridge-1.portmap-1.out Action: MAC-Src = MAC-3 Action: MAC-Dst = PortMap-1 PortMap-2 PortMap-3 出力パケットとして転送 PortMap-4 From: MAC-3 To: vbridge-1 の PortMap-1 からの MAC-2 MAC-3 Switch vbridge-2 VTN From: MAC-3 To: 条件にマッチするので MACアドレスを更新 From: MAC-4 To: MAC-2 MAC-4 Page 18 NEC Corporation 2014
Neutron Port サポート OpenStack Neutron Port とポートマップを自動的に対応 Neutron Port とスイッチポートの対応は OVSDB から取得 ネットワークのみ対応 ネットワーク作成 Neutron API VTN Manager ポートマップ設定 VTN vbridge 作成 Port Port Map Network ネットワーク作成通知 ポート更新通知 vbridge Modular Layer 2 ML2 Driver for OpenDaylight NetworkConfig. Neutron OVSDB VTN OpenStack Neutron OpenDaylight Conroller Open vswitch Port Page 19 NEC Corporation 2014
未来に向かい 人が生きる 豊かに生きるために欠かせないもの それは 安全 安心 効率 公平 という価値が実現された社会です NEC は ネットワーク技術とコンピューティング技術をあわせ持つ類のないインテグレーターとしてリーダーシップを発揮し 卓越した技術とさまざまな知見やアイデアを融合することで 世界の国々や地域の人々と協奏しながら 明るく希望に満ちた暮らしと社会を実現し 未来につなげていきます