24
©APRESIA Systems all right reserved. 次世代技術本部 桑田 斉 進化するデータプレンプログラマビリティ対応ハードウェアと 実現されるユースケース 日本P4ユーザ会2019 2019.10.11

進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

©APRESIA Systems all right reserved.

次世代技術本部 桑田斉

進化するデータプレンプログラマビリティ対応ハードウェアと

実現されるユースケース

日本P4ユーザ会2019

2019.10.11

Page 2: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

2日本P4ユーザ会2019

◆Barefootデータプレーンプログラマビリティ技術◊Tofino/Tofino2 チップ

◊SDE (P4のソフトウェア開発環境)

◊サポート可能なNOS

◊ユースケース詳細−INT (Inband Network Telemetry)

−Noviflowアプライアンスソリューション

−SONiC + SRv6サービスチェイニング

本日のアジェンダ

Page 3: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

3日本P4ユーザ会2019

◆自社ブランドAPRESIAスイッチ事業を軸に2016年に日立グループから独立

◆2018年春からEdgecore Networks社のPremium Distributer

APRESIA Systems株式会社

エンタープライズ・データセンタAPRESIA

LightAPRESIA switch

L2/PoEインジェクタスモールオフィス

L3スイッチネットワーク認証

通信事業者

ホワイトボックスEdgecore

伝送装置XGMC/GMC

Infinera

キャリアAPRESIA

光伝送装置(10G・40G・100G)Beyond 100G

7100 NanoGroove

キャリアバックボーンモバイルバックホール

OCP準拠スイッチNOS提供

Page 4: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

4日本P4ユーザ会2019

◆Barefoot P4プログラマブルチップ Tofino搭載

◆OCP Partner Design

◆Barefootより無償SDE (P4ソフトウェア開発環境)を提供

Wedge100BFスイッチ

QSFP28 32 Port QSFP28 65 Port

Wedge100BF-32X Wedge100BF-65X

スイッチング容量 3.2Tbps スイッチング容量 6.5 Tbps

Page 5: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

5日本P4ユーザ会2019

Wedgeご購入後のBarefootからのサポート

比較

Barefoot社提供のサポートプログラム(2種類)

SLACA(新設)

NDA/SELA(既存)

ユーザタイプ アカデミック関係向けベンダー向け&

アカデミック関係向け

BF社エンジニア直接サポート

無しコミュニティを通して

有り

サポート提供方法コミュニティ専用ポータルサイト

BFサポートポータルサイト

BF社技術ユーザ間の情報共有

コミュニティ間の情報共有可 3 Way (BF含む) NDA別途必要

ダウンロード(SDE)権限 研究責任者のみ アカウント保持者

締結内容簡易

(記述&チェック式)複雑

(英文契約書/時間を要す)費用 無償 無償

その他BF Academy ディスカウント

BEACON Video視聴可能NDA/SELAの締結も契約可能

SLACAの締結も可能

Page 6: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

6日本P4ユーザ会2019

◆Barefootと技術的な協力関係を構築

◆P4をベースとしたアプリケーション・ソリューションの構築をサポート

Barefoot Technology Integrators

https://www.barefootnetworks.com/partners/

Barefootより認定

Page 7: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

7日本P4ユーザ会2019

P4関連セミナー紹介

アンテナ□P4 初級者向けハンズオンセミナー(予定)

※開催日時、費用、コース詳細は、弊社営業に問い合わせください。

◼P4 初級者向けハンズオンセミナー開催のご案内(予定)

◼1回目 日程:10月末 (2日間、+1日予備日)

◼2回目 日程調整中 (ご希望ありましたらご相談ください)

◼場所:本社(東京、新富町オフィス)

◼人数:20名(定員)

◼講師:APRESIAより

◼コース概要(日本語)(予定)

◼P4言語及びデータプレーンプログラマビリティに関する理解

◼P4コード作成及びデバイス環境構築の理解

◼その他

P4_16対応初級編

日本語にてセミナー実施予定!!

◼Barefoot Academy 開催のご案内(予定)

◼日程:来春 (3日間+1日予備日)

◼場所:未定

◼人数:未定

◼講師: Barefoot Networks社より

◼コース概要(英語)

◼他者作成コードを理解できるレベルのP4言語の習熟。

◼基本的なデータプレーンの開発設計する能力の理解

◼Tofino™アーキテクチャとその主要リソース、関連APIの理解

◼その他、実践的なスキルの習得

□ オフィシャルトレーニング(予定)

P4_16対応中級・上級編

Page 8: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

8日本P4ユーザ会2019

◆P4によるデータプレーンプログラマビリティをハードウェアチップにて実現◊ P4_14, P4_16のどちらもサポート

Barefoot Tofinoチップ

https://www.barefootnetworks.com/products/brief-tofino/

Parser DeparserMatch & Action table

受信したフレームのフォーマットやフィールド(IPアドレスなどのデータ)を抽出

Parserにて抽出したデータの値をマッチングし、その結果からアクションを実行(宛先決定、フィールド書き換え、フレーム変換)

アクションの結果から、最終的な等フレーム(ヘッダ付け替え)を

生成し創出

P4で記載する処理

Tofino

Page 9: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

9日本P4ユーザ会2019

◆Tofinoの後継

◆サンプル出荷済

◆2つの方向性◊高スループット・低遅延

◊大容量プログラマブルリソース

◆PPX (機能拡張)◊ハードウェアベース学習

Barefoot Tofino2

https://barefootnetworks.com/products/brief-tofino-2/

高スループット・低遅延少プログラマブルリソース

高機能リソース大容量

Page 10: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

10日本P4ユーザ会2019

◆P4のexampleコード

◆switch.p4◊基本的なL2/L3機能(SONiC対応)

◊Inband Network Telemetry等の機能

◊ユーザによる機能追加も可能

◆Barefoot用 P4コンパイラ

◆Tofinoを制御するツール、ドライバ群◊SONiC, Stratum(後述)に対応するためのソフトウェア

◆Tofinoのソフトウェアエミュレータ◊仮想マシンにてTofinoの試験が可能

Barefootの無償SDEに含まれるもの

独自作成のP4コード

P4のExample

switch.p4

BarefootP4コンパイラ Tofinoチップ or

エミュレータ

Barefoot ドライバ、ツール

ONL SONiC Stratum

ビルド

ビルドしたデータをロード

制御

指示

NOS

指示指示

Wedge100BF or 仮想マシン

ピンク部分

Page 11: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

11日本P4ユーザ会2019

◆使用環境◊VirtualBox上の仮想マシン

◊Barefoot SDE 8.4

−P4コンパイラ

−Tofinoシミュレータ

−PTF (Packet Test Framework) 環境

◆テスト対象◊GTP/SRv6変換

デモ: P4コードのコンパイルと試験方法

Page 12: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

12日本P4ユーザ会2019

デモ:T.M.Tmap (GTP -> SRv6変換)

0 1 2 3 4 5 6 7

Dst MAC address Src

MAC address EtherType Ver/Len Diff Serv

Length Identification Flags TTL Prot

Checksum Src IP address Dst IP

address Src L4 port Dst L4 port Length

Checksum Flags Type Length TEID

Ver/Len Diff Serv Length Identification

Flags TTL Protocol Checksum Src IP

address Dst IP address

GTP 0 1 2 3 4 5 6 7

Dst MAC address Src

MAC address EtherType V DSCP

Flow label Length NH Hop Limit Src

IPv6 address

Dst

IPv6 address

Ver/Len Diff Serv

Length Identification Flags TTL Protocol

Checksum Src IP address Dst IP

address

SRv6

action t_m_tmap(bit<32> upper_sid, bit<8> dst_intf, bit<8> src_intf) {hdr.ethernet.etype = ETYPE_IPv6;hdr.ipv6.version = 4w6;hdr.ipv6.payload_len = hdr.inner_ipv4.total_len;hdr.ipv6.next_hdr = 8w4;hdr.ipv6.hop_limit = 8w64;

hdr.ipv6.dst[127:96] = upper_sid;hdr.ipv6.dst[95:64] = hdr.ipv4.dst;hdr.ipv6.dst[63:32] = hdr.ipv4.src;hdr.ipv6.dst[31:0] = hdr.gtpu.teid;

}

※T.M.Tmapは、最新IETF

ドラフトではT.M.GTP4.Dと名称変更

サンプルP4コード

Page 13: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

13日本P4ユーザ会2019

NOS ONL Stratum SONiC NoviWare

形態 OSShttps://opennetlinux.org/

OSShttps://github.com/stratum/stratum

OSShttps://github.com/azure/sonic/wiki

商用https://noviflow.com/noviware/

開発母体 OCP ONF Microsoft中心のコミュニティ

Noviflow

特徴 Whiteboxスイッチ用に改造されたLinux。コントロールプレーンは追加が必要。Stratum, SONiCの母体。

P4Runtime(P4をリモートから制御するインタフェース)、gNMI、gNOIを使い、SDNコントローラにて制御。

BGP (FRRouting)を組込み、IP CLOSファブリックを構築可能。INTと併用可能。

SDNコントローラによる中央集権型の制御で、スケールアウト型のネットワークアプライアンスをP4にて実現。

Wedge100BFにて使用可能なNOS

※ONL: Open Network Linux, OCP: Open Compute Project, ONF: Open Networking Foundation

Page 14: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

14日本P4ユーザ会2019

◆ONFにて開発されているWhiteboxスイッチ用のNOS (Agent)

◆2019年9月にソースコードが公開◊https://github.com/stratum/stratum

◆弊社テクニカルブログにてStratumを使った実験を公開中◊https://www.apresiatac.jp/blog/201910071861/

Stratum

Page 15: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

15日本P4ユーザ会2019

◆ホワイトボックススイッチ用のOSSのNOS

◊厳密にはONL上で動作するソフトウェア群

◊Microsoftが公開したソースコードが母体

−https://github.com/azure/sonic/wiki

◆SAI (Switch Abstraction Interface)を定義することでマルチベンダ対応◊ Barefootだけでなく、BroadcomやMellanoxなどのチップにも対応

◆BGPやLLDP、データベースなどのアプリケーションはコンテナ化

◊L3スタックとしてFRRoutingを採用

◆BGPを使ってIP CLOSファブリックを構築可能

SONiC(Software for Open Networking in the Cloud)

ホワイトボックススイッチ(OCP準拠)

Open Network Linux

syncd

ベンダ SDK

DB (Redis)

BGPFRR/Quagga

LLDP SNMP

swss

ユーザランド

SAI

SONiC

Page 16: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

16日本P4ユーザ会2019

◆SONiC IP CLOS ファブリック

◊海外で適用事例あり

◊各装置にてBGPが動作

◆ONOS Trellis + Stratum

◊ONFが主導中

◊コントローラ制御−P4Runtime使用

INT + データセンタ・ファブリック

WedgeBF

Leaf

Spine

Stratum Stratum Stratum

StratumStratum

ONOS Trellis

P4Runtime

SONiC BGP

SONiC BGP SONiC BGP

SONiC BGP SONiC BGPLeaf

Spine

Deep Insight

Deep Insight

BGP message

WedgeBF

遅延測定輻輳検知遅延測定輻輳検知

Page 17: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

17日本P4ユーザ会2019

◆DDoS緩和、FirewallなどのアプライアンスをP4スイッチとサーバ群に置き換え

◆アプライアンスをサーバ化することで、スケールアップ型の増強が可能

Noviflowのアプライアンスソリューション

テクニカルパートナー- Fortinet- Palo Alto

Networks- Radware

Page 18: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

18日本P4ユーザ会2019

NoviWare/CyberMapper/Security Load Balancer

GOTO ロードバランサ

フィルタルール

Security Cluster

Trusted Traffic

ロードバランサ

ブラックリスト

CyberMapper

Mitigationルールフロールール

(P4 Runtime対応予定)

NoviWare (Network OS)

ホワイトリスト

⚫ API連携(※1)⚫リスト自動生成

⚫コントローラー経由で事前ルール設定⚫直接プログラム投入も可能

LB

Untrusted Traffic

フォワーディング

ユーザ

クラスターへ送付するトラフィック量を削減

Page 19: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

19日本P4ユーザ会2019

◆実現するネットワーク◊BGPベースによるIP CLOSファブリック

◊SRv6によるサービスチェイニング

◆デモ環境◊GNS3ネットワークシミュレータ

◊FRR (KVMベースの仮想マシン)

◊SONiC + Tofino仮想マシン

− P4にて試作を実施

デモ② データセンタ内SRv6サービスチェイニング

SRv6ノード

サーバ

ホスト

SRv6サービスチェイニングについては以下をご参照https://www.janog.gr.jp/meeting/janog43/program/sc

https://www.apresiatac.jp/blog/20190227796/

https://www.apresiatac.jp/blog/20190311947/

Page 20: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

20日本P4ユーザ会2019

SRv6によるサービスチェイニング

ホスト① ホスト② ホスト③

全てのホストは一つのサーバにアクセス

SRv6によって各ホストの通信を別々のサーバに分散

Page 21: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

21日本P4ユーザ会2019

◆SRv6は大きくTransit, End, End.xxxの3つのファンクションを持つ

◆以下の黄色部分をSONiCに組み込む形で、P4にて試作を実施

SRv6データプレーンの動き

Eth header IPv6 header payload

Eth header IPv6 header payloadIPv6 header SRv6 header

Transit (ex. T.Encaps)

End

Eth header IPv6 header payloadIPv6 header SRv6 header

Eth header IPv6 header payload

End.XXX (ex. End.DX6)

SRv6ヘッダに従いDst IPv6アドレスを書き換え

SRv6化

SRv6からオリジナルフレームへ逆変換

SRv6ファンクション

Page 22: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

22日本P4ユーザ会2019

SONiCへのSRv6の組込み方

IPv6フレーム

SRv6 P4コード

BGP on SONiC

IPv6フレーム

IPv6フレームSRHIPv6ヘッダIPv6フレーム

Routing Table (FIB) P4コード

追加したパス

Barefoot提供部分

ルーティング情報をプッシュ

IPv6フレームSRHIPv6ヘッダ

追加したIPv6ヘッダをベースにルーティング

既存パス

追加したP4コード

Page 23: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

23日本P4ユーザ会2019

SRv6のサンプルキャプチャ

付与されたSRH

Page 24: 進化するデータプレンプログラマビリティ対応ハー …...©APRESIA Systems all right reserved. 次世代技術本部 桑田斉 進化するデータプレンプログラマビリティ対応ハードウェアと

24日本P4ユーザ会2019

Thank You!