• 検索結果がありません。

mpls-japan-2017-shtsuchi

N/A
N/A
Protected

Academic year: 2021

シェア "mpls-japan-2017-shtsuchi"

Copied!
27
0
0

読み込み中.... (全文を見る)

全文

(1)

データプレーンのオープン化

Shishio Tsuchiya

[email protected]

(2)

Agenda

これまでのデータプレーン

NVO3 Encapsulation Consideration

(3)

Traditional data center vs Cloud data center

(4)

2011年ごろのデータセンターネットワーク

-MPLS

Japan2011パネル「クラウド環境におけるネットワークの課題と展望」なども参考に-•

フラットなレイヤー

2のネットワークデザイン

データセンター内ではスパニングツリーが使用

ベンダー独自のリングプロトコル

(またはG.8032)がデータセンター間で使用される

VMライブマイグレーションは必要 (GARPによって移動を通知)

VLANがユーザ毎にアサインされる

Ring Protocol

STP

(5)

問題点

データセンター間

/データセンター内

- VLANスケーラビリティ > 4K - MACアドレステーブルのスケーラビリティ - VMライブマイグレーションや簡単に使うためのブロードキャストドメインの拡張 - East / Westトラフィック帯域の増加 - 高速収束 - 自動化/オーケストレーション

データセンター間

- 要求に応じた帯域増強 - ベンダーロックイン技術からの解放 - 柔軟性のあるトポロジーデザイン - トラフィックエンジニアリング - BUM(Broadcast/Unknown unicast/Multicast) トラフィックの最適化

ゲートウェイ

- ARP/NDPスケーラビリティ

- IETF ARMD(Address Resolution for Massive numbers of hosts in the Data center) Groupは一つの informational RFCを発 行RFC6820 Address Resolution Problems in Large Data Center Networks

(6)

大規模データセンタールーティングでのBGPの使用

スケールアウトする

Closデザイン

安定した標準的な

BGPプロトコルをToR/Leafスイッチに使用

安定性にフォーカスし、

VMモビリティはラック内に留める

64512

64513

64514

64515

64516

64517

65000

65001

65002

65003

Layer2

Layer3

Leaf

Spine

(7)

IP Closデザインの利点

ECMPで全てのLeaf-Spineリンクを使用する

それぞれのフローは

ECMPハッシュにてバランスされる(既に実装されている)

ルーティングパスはBGPパス属性により可視化される

64512

64517 10.10.1.0/24

65000

65001

65002

65003

10.10.1.0/24 65000,64517* 65001,64517* 65002,64517* 65003,64517*

(8)

問題に関するソリューション

技術

VXLAN

NVGRE

STT

OTV

Intend to

on 1

st

draft

Experimental

2011年8月

Informational

2011年9月

Informational

2012年2月

Standard

2010年4月

結果

RFC7348

(Information)

RFC7637

(Information)

expire

expire

特許

NA

Microsoft

Nicira

Cisco

実装

Linux 3.7

OVS

Hyper-V

DPDK

Broadcom Trident2

Hyper-V

DPDK

Broadcom Trident2

OVS

Hyper-V

Cisco NX

トランスポート

UDP

GRE

TCP Like

UDP

ロードバランス

中間ノードの実装による Key Fieldまで計算

(9)

Virtual eXtensible LAN (VXLAN)フレームフォーマット

フラグ

(8 bits):

- 有効なVXLANのネットワークIDの場合、Iフラグは 1をセットしなければならない。他の7ビット(R)は予 約フィールドで送信時に0をセットしなければなら ず、受信時に無視される

VXLANセグメントID/VXLANネットワーク

識別子

(VNI):

- これは、通信するVMが配置されている個々の VXLANオーバーレイネットワークを指定するため に使用される24ビットの値です。 異なるVXLAN オーバーレイネットワーク内のVMは互いに通信で きません。

宛先ポート

:

- IANAはVXLANのポートとして4789をアサインした。 このポートをデフォルトの宛先ポートとして使う

送信元ポート

:

- UDPソースポート番号は、ロードバランスの際の ハッシュの計算に使用される。動的にプライベート ポート範囲49152-65535である事が推奨される

Outer UDP Header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Dest Port = 4789 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UDP Length | UDP Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

VXLAN Header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|R|R|R|I|R|R|R| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VXLAN Network Identifier (VNI) | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

(10)

まとめ

事実として

-

VXLANはRFC7348でInformationalで発行

-

Linux/OVS/Hyper-V/DPDK/ASICと多くの実装が存在

-

ECMPロードバランスやイーサチャネルでの実装も考慮

(IP/UDP:送信元ポートのランダム化)

-

IPR(知的財産権: Intellectual Property Right)は特に無

かった

-

VXLANは実質的な業界標準のプロトコルとは言えるが、

(11)

Agenda

これまでのデータプレーン

NVO3 Encapsulation Consideration

(12)

IETF NVO3(Network Virtualization Overlays) WG

NVO3 WGはデータセンター内の仮想化を可能にす

IPベースのアンダーレイを基本としたプロトコル拡

張を前提

NVO3は仮想ネットワークにマルチテナントとワーク

ロードの可動性にレイヤー

2およびレイヤー3のサー

ビスを提供

(13)

Geneve: Generic Network Virtualization Encapsulation

https://tools.ietf.org/html/draft-ietf-nvo3-geneve

Ver:

- 0,知らないバージョンの際は破棄

Opt Len:

- オプションフィールドの長さ,Geneveの最小サイズ は8バイト/最大サイズは260バイト

Oビット:

- OAMビット、パケットはデータペイロードの代わりに コントロールパケットを含む

Cビット:

- Critical Option,このビットが設定されている時には エンドポイントは解析をしなければならない

Protocol Type:

- 続くプロトコルのイーサタイプを定義

Outer UDP Header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port = xxxx | Dest Port = 6081 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UDP Length | UDP Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Geneve Header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Ver| Opt Len |O|C| Rsvd. | Protocol Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Virtual Network Identifier (VNI) | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Variable Length Options | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

(14)

Generic UDP Encapsulation

https://tools.ietf.org/html/draft-ietf-nvo3-gue

Vビット:

- 0:Version番号

Cビット:

- コントロールメッセージの際にセット、無い場合は データメッセージ

Hlen:

- GUEヘッダーの長さ、オプション拡張ヘッダーを含 むが最初の4バイトヘッダーは含まない。 (header_len - 4) / 4で計算され、全てのGUEヘッ ダーは4の倍数となる。最大ヘッダー長は128バイ ト

Proto/ctype:

- Cビットが含まれてる場合には制御メッセージのタ イプが表示される。Cビットが含まれていない場合 はencapsulateされたプロトコル番号が入る 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¥ | Source port | Destination port(6080) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UDP | Length | Checksum | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | V |C| Hlen | Proto/ctype | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Extensions Fields (optional) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Private data (optional) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

(15)

Generic Protocol Extension for VXLAN

https://tools.ietf.org/html/draft-ietf-nvo3-vxlan-gpe

Ver:

- 0:VXLAN GPEバージョン

Instance ビット(Iビット):

- VNIが正常の時にセットする

Next Protocol Bit(Pビット):

- Next Protocolフィールドが存在する時セット

BUM Traffic Bit (Bビット)

- BUM(Broadcast/Unknown Unicast/Multicast)の 際にセット

OAM Flag Bit (Oビット) :

- OAMパケットの時にセット

Next Protocol:

- 続くプロトコルヘッダを提示

Outer UDP Header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Dest Port = 4790 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UDP Length | UDP Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

VXLAN GPE Header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|R|Ver|I|P|B|O| Reserved |Next Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VXLAN Network Identifier (VNI) | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0x1 : IPv4 0x2 : IPv6 0x3 : Ethernet

0x4 : Network Service Header 0x5 : Multiprotocol Label Switching

(16)

NVO3スタンダードEncapsulationで話されてる事

管理性

-

ICMP/ECMPなど既存の仕組みを実装可能か?

拡張性

-

将来的な拡張

:Telemetry/Security/GBP(セキュリティ/QoS)

に適用可能か

?

イーサネット ヘッダー 外部IPヘッダー NVO3ヘッダー オリジナル パケット イーサネット ヘッダー 外部IPヘッダー NVO3ヘッダー オリジナル パケット 拡張ヘッダー 拡張ヘッダー

(17)

NVO3 Encapsulation Considerations

https://tools.ietf.org/html/draft-ietf-nvo3-encap

NVO3はデザインチームを構成し、提案中のencapsulationを比較検討した

現状のプロトコルにはハードウェアの実装や

VXLANとの下位互換に問題

デザインチームでは

GeneveがもっともNVO3の最初の標準化プロコトルにふさわしいと推薦した

技術

Geneve

GUE

VXLAN-GPE

トランスポート

IP/UDP

IP/UDP

IP/UDP

基本ヘッダー長

8バイト

4バイト

8バイト

(NSHとの組み合わせで16バイト

拡張性

可変長オプション

拡張フィールド

単独では拡張性がない

NSHと組み合わせる必要がある

最大ヘッダー長

260バイト

128バイト

8バイト

(264 バイト NSH)

Next Protocol

識別子

(18)

まとめ

IETF NVO3 WGではスタンダードなencapsulation

方式を検討

Geneve/GUE/VXLAN-GPEの3つの候補があり、何

れもハードウェア対応や

VXLANとの下位互換には問

題があるが、

Geneveを最初の標準プロトコルを目標

にすると合意した

(19)

Agenda

これまでのデータプレーン

NVO3 Encapsulation Consideration

(20)

NVO3プロトコル、ハードウェアで大変なところ

固定長のヘッダーと違い、可変長

ものによっては並列に処理をしなければいけない

どれがメインになるのかが分からない

技術 Geneve GUE VXLAN-GPE

筆者 Intel vmware Facebook Huawei Microsoft Cisco Intel IPR vmware (Royalty-Free) cisco N/A 最大ヘッダー長 260バイト 128バイト 8バイト (264 バイト NSH) Next Protocol 識別子

Ether type Protocol ID New Registry

イーサネット ヘッダー 外部IPヘッダー NVO3ヘッダー オリジナル パケット 拡張ヘッダー 拡張ヘッダー

(21)

ソフトウェアインプリメンテーション

この3つだけで十分か?

SRv6とかもやりたいの?

技術 Geneve GUE VXLAN-GPE

筆者 Intel vmware Facebook Huawei Microsoft Cisco Intel 実装状況 3.18 OVS DPDK Hyper-V 3.18 4.6 OVS DPDK イーサネット ヘッダー 外部IPヘッダー NVO3ヘッダー オリジナル パケット 拡張ヘッダー 拡張ヘッダー イーサネット ヘッダー IPv6 SRH オリジナル パケット SRL1 SRL2

NVO3

SRv6

(22)

Cavium XPliant Packet Architecture

各ヘッダー毎に並列処理を実施

フィールドアップグレード可能なチップセット

XPAをプログラム可能にするAPIのオープン化

OpenXPS

http://www.cavium.com/XPliant-Ethernet-Switch-Product-Family.html

VXLAN

RFC

T2, TH etc

2011

2013

約24ヶ月のギャップ

New

Protocol

XP / 7160

ソフトウェアアップグレードによる

迅速なサポート

2017

(23)

Broadcom BCM56870 SERIES

High-Capacity StrataXGS® Trident 3 Ethernet Switch Series

Triden3は既存のTrident2/Triden2+の機能と互換性を持ちつつ、フィールドアップグレード可能な

シリコン

GENEVE, NSH, VXLAN, GPE, MPLS, MPLS over GRE/UDP,

GUE, ILA ,PPPoEなど新しいプロトコルもサポート

XGSファミリーはOpenNSL(Open Network Switch Library)も提供

(24)

P4+Barefoot Capilano/Tofino

P4:Programming Protocol-Independent Packet Processors

ターゲット非依存

:CPU/FPGA/SOC/NPU/ASIC

プロトコル非依存

:ヘッダー情報などを直接記載する

再構成可能

:ターゲットが変わってもそのまま使用出来る様にする

TofinoはスイッチングASICS / Capilano SDE(Software Development Environment)と使用する事で

P4記載のコードを利用可能

https://barefootnetworks.com/technology/

(25)

Arista EOS Vision and P4 Vision

Arista EOSは既に4種類のシリコンファミリーで単一バイナリーでサポート

またSDKやOpen APIを提供する事で多くのプログラム性を提供

P4はターゲット非依存なネットワークプログラム言語を提供する事でサポートSDK内

での柔軟性を提供

Fulcrum -FM BRCM-DNX BRCM-XGS CAVIUM -XPA A B Cisco UADP 2.0 Barefoot Tofino P4.org

NOS

(26)

まとめ

ヘッダーチェーニングなどの今後の拡張性を踏まえ

て、各シリコンベンダーはプログラマブルパイプライ

ンおよびフィールドアップグレード可能なチップをリ

リース

P4では更にプロトコル非依存/ターゲット非依存のプ

ログラム言語を定義する事で多くのユースケースで

使用が可能か

!?

(27)

www.arista.com

参照

関連したドキュメント

Power Supply Ground Pins, Connected to Source of Internal LS FET 6 VR_RDY VR_RDY Indicates the Controller is Ready to Accept Intel proprietary interface Commands 7 VIN Input Voltage

〜 3日 4日 9日 14日 4日 20日 21日 25日 28日 23日 16日 18日 4月 4月 4月 7月 8月 9月 9月 9月 9月 12月 1月

6/18 7/23 10/15 11/19 1/21 2/18 3/24.

30 2/18 第41回江田島市駅伝大会 共催 市内外の 67 チームが参加。. 30 3/11

電事法に係る  河川法に係る  火力  原子力  A  0件        0件  0件  0件  B  1件        1件  0件  0件  C  0件        0件  0件  0件 

4/6~12 4/13~19 4/20~26 4/27~5/3 5/4~10 5/11~17 5/18~24 5/25~31 平日 昼 平日 夜. 土日 昼

■実 施 日: 2014年5月~2017年3月. ■実施場所:

• DO NOT connect an irrigation system (including greenhouse systems) used for pesticide application to a public water system, unless the pesticide label-prescribed safety devices