PowerPoint プレゼンテーション

Similar documents
PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

ip nat outside source list コマンドを使用した設定例

PowerPoint プレゼンテーション

初めてのBFD

VoIP Broadcasting System 2/2 IP Convergence Communication Solution IP paradigm Integration & Management VoIP IP VoIP VoIP IT < >

外部ルート向け Cisco IOS と NXOS 間の OSPF ルーティング ループ/最適でないルーティングの設定例

Trema を使って OpenFlow プログラミングを 始めてみませんか? 鈴木一哉 Trema 開発チーム 2012/4/13

第1回 ネットワークとは

ProgrammableFlow Controller

【公開】村越健哉_ヤフーのIP CLOSネットワーク

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

_JANOG44_LINE_tsuchiya

PowerPoint プレゼンテーション

nakayama15icm01_l7filter.pptx

PowerPoint Presentation

untitled

PIM-SSMマルチキャストネットワーク

Microsoft PowerPoint irs14-rtbh.ppt

VRF のデバイスへの設定 Telnet/SSH アクセス

Cisco 1711/1712セキュリティ アクセス ルータの概要

LSM-L3-24設定ガイド(初版)

Fujitsu Standard Tool

DocuPrint C1100 Macintosh 用プリンタードライバー操作ガイド

PowerPoint プレゼンテーション

Microsoft PowerPoint - OSS運用管理勉強会資料_ a.pptx

移動通信の将来像と ドコモのネットワーク戦略

IPv6 リンクローカル アドレスについて

ルート プロセッサ

スライド 1

ユニキャスト RIB および FIB の管理

Microsoft PowerPoint - NV研究会_201404_amemiya_fin.pptx

Microsoft PowerPoint - IO_Pass-through_XenSummitTokyo2008_jp.ppt

update

total.dvi

2ACL DC NTMobile ID ACL(Access Control List) DC Direction Request DC ID Access Check Request DC ACL Access Check Access Check Access Check Response DC

Motivation 3 Motivation 4 (Availability) Keep High Availability Providing Reliable Service (New service, function) Provide new Services, with new func

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

目次 はじめに KDDIのIPv6への取り組み auひかりのipv6 World IPv6 Dayに起きたこと World IPv6 Dayのその後 1

ループ防止技術を使用して OSPFv3 を PE-CE プロトコルとして設定する

アライドテレシス・コアスイッチ AT-x900 シリーズ で実現するエンタープライズ・VRRPネットワーク

Presentation Template Koji Komatsu

オペレーティング システムでの traceroute コマンドの使用

IP時代のトランスポート:FLASHWAVE

Windows GPO のスクリプトと Cisco NAC 相互運用性

160311_icm2015-muramatsu-v2.pptx

- 目次 - 1 改訂履歴 はじめに 事前準備 作業 PC の準備 BIG-IP Virtual Edition のメディア保存 Hyper - V へのアクセス BIG-IP Virtual Edition

untitled

604HW FAQ(CN) 文書レベル 604HW FAQ(JP) V1.0 Huawei Technologies Co, Ltd. All Rights Reserved 华为机密, 未经许可不得扩散第 1 页, 共 12 页

PowerPoint プレゼンテーション

RADIUS サーバを使用して NT のパスワード期限切れ機能をサポートするための Cisco VPN 3000 シリーズ コンセントレータの設定

投影用スライドタイトル

04-process_thread_2.ppt

00.目次_ope

Non Stop Routing の実装と課題 MPLS JAPAN 2004 ノーテルネットワークス株式会社近藤卓司

NV研究会原稿

NAC(CCA): ACS 5.x 以降を使用した Clean Access Manager での認証の設定

PowerTyper マイクロコードダウンロード手順

SNMP トラップの処理

Microsoft PowerPoint - ONIC_SD-WAN_ver3

Microsoft Word - PC0502_090925_IPアドレスの設定.doc

東京エリアDebian勉強会   Buffalo Linkstation向け Debian Installer - 第139回 2016年5月度

Cisco Prime LAN Management Solution 4.2 紹介資料

Oracle Solaris 仮想環境とプロビジョン環境の構築

Openconfigを用いたネットワーク機器操作

スライド 1

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

アライドテレシス ディストリビューションスイッチ x610シリーズで実現するVRF-Lite + Tagging + EPSR for x610

Transcription:

JANOG44 Day3 @ 神戸国際展示場 オープンソースソフトウェアを活用して Disaggregated Router を "1" から開発した話 2019 年 7 月 26 日

自己紹介 鈴木 雄一郎 (KDDI株式会社 IPネットワーク部) <経歴 担当業務> Softbank Telecom (2006-2012) 法人向けIPNW(solteria)の設計/構築 NTTドコモ (2012-2018) LTE/3G用のIPバックボーンの構築 EPC開発 KDDI (2018-) :5G用NW設計/構築 ホワイトボックススイッチ開発 仲山 裕也 (KDDI株式会社 IPネットワーク部) <経歴 担当業務> KDDI (2017-2018 ) IP設備の監視 作業 (2018-) FTTH/5G NW設計/構築 ホワイトボックススイッチ開発 1

自己紹介 Hans Tseng (Delta Eelectronics, Inc) <経歴 担当業務> CipherLab Co., Ltd(2009-2011) RFID antenna design, Embedded Linux system Delta Eelectronics, Inc. (2011-) Wireless AP development ONL, SONiC, Linux Driver development 野崎 忠雄 (Delta Electronics Japan Inc.) <経歴 担当業務> 富士通 ( 2014) Delta Electronics Japan Inc (2014-) White Box Switchの拡販活動にFAEとして従事 2

Agenda 3 1 2 3 4 5 6 ホワイトボックススイッチとはルータ開発の背景 ThalarctOS アーキテクチャ ThalarctOS Demo 開発中の苦労や失敗談 / 今後の展望ディスカッション 質疑 & 応答

ホワイトボックススイッチとは 4 ソフトウェアが含まれないスイッチ ユーザがハードウェアとソフトウェアを選択可能 メーカ提供のスイッチ ホワイトボックススイッチ 専用ソフトウェア ソフトウェア 専用ハードウェア ハードウェア 専用ハードウェアと 専用ソフトウェアの 垂直統合型スイッチ ソフトウェアと ハードウェアが分離 組み合わせを自由に選択可能

ホワイトボックススイッチとは 5 ASIC/ハードウェア(ASIC除く)/ソフトウェアの組み合わせにより4種類に分類可能 Type 3/4を本資料ではホワイトボックススイッチ(以降WBSと表記)と呼ぶ メーカ提供スイッチ type 1 type 2 ソフトウェア ソフトウェア ソフトウェア ソフトウェア ハードウェア ハードウェア ハードウェア ハードウェア ASIC ASIC ASIC ASIC 専用/メーカ提供 ホワイトボックススイッチ type 3 type 4 LINEさん Yahoo!さん 汎用/自前 楽天さん IIJさん さくらさん NTT研究所さん AT&T, Facebook

開発背景 6 WBSは自由な機能実装やコストの削減において 大きなポテンシャルを秘めている と考えられている しかし 機能実装の難しさ や 導入費用以外のコスト に ついては不明確な点が多い そこで 商用化に向けた課題の確認 および 適用 領域の見極め を行うために自社での開発を行った 背 景 オープンソースのネット ワークOSの登場 オープンソースのネットワークOSやRoutingアプリケーションが登 場し 自由に使用できるようになった チップセットの大容量 オープン化の進展 大容量チップセットのAPIが一部オープンになり メーカ以外でも チップセットを制御することが可能になった SP向けのWBSライン ナップの増加 世界の様々なキャリアからの要望により SP向けのWBSライン ナップが増加している オープンソースソフトウェアを活用したプロトタイプ機の開発を実施し WBS導入による効 果を確認する

ThalarctOS アーキテクチャ 7 ハードウェア Broadcom社Tomahawk搭載スイッチ 100G 32ポート(Delta:AG9032v1) ソフトウェア ベースOS/ルーティングアプリ/マネジメント系アプリはオープンソースを使用 ルーティング情報をASICに書き込むソフトウェア(Switch Fabric Daemon)を開発 機能 snmp,syslog,if管理 オープンソース Net-snmp rsyslog iproutes2 開発対象 ソフトウェア部 Routing Mgmt 機能 ルーティングアプリ API オープンソース FRRouting 機能 ベースOS,ハードウェア管理 オープンソース Open Network Linux Switch Fabric Daemon ハードウェア部 メモリ オープンソース なし 機能 ASICのAPI オープンソース open NSL ベースOS CPU 機能 OS上のルーティング情報を ASICに書き込む ASIC

ソフトウェアデザイン 目指した事 ホストOSに依存しない柔軟なデーモン設計 デプロイ ロールバックのスピードup ソフトウェアのポータビリティ性向上 8 コンテナ化によりHW/ベースOS との依存関係を減らし DisaggregatedなOSへ vender A White box Mgmt Routing (FRRouting) Container Switch Fabric Daemon API Container ベースOS(open network linux) open network linux (vender A) White box (vender A) vender B White box Whitebox open network linux (vender B) White box (vender B)

ThalarctOS 詳細アーキテクチャ

ThalarctOS 詳細アーキテクチャ 10 Mgmt Control Plane -FRRoting- Switch Fabric Daemon Data Model Open Configd software (user space) iproute2 rsyslog vtysh BGP OSPF rsyslog Others Netlink routine main UI routine rsyslog KDDI より説明 Netsnmp RIB Mgr IF Mgr FIB Manager IF Manager OS APIs OpenNSL software (Kernel space) Network Stack (Software Packet forwarding) Open Network Linux デルタ電子より説明 Knet driver Broadcom Device Emulation hardware White Box BCM chipset (Hardware Packet forwarding)

Switch Fabric Daemon 詳細コンポーネント Switch Fabric Daemonの役割 11 Switch Fabric Daemon Netlink routine main UI routine OS上のルーティング情報をASICに書き込む FIB Manager ん なんか簡単そう -ASICの初期コンフィグレーション (L2/L3モード CPUにパントするパケットの定義) -OSからの情報を受信 解析 -ASICが理解できるメッセージに整形 -経路情報の管理 経路情報のASICへの書き込み IF Manager Netlink routine IF Manager FIB Manager IF Manager Data Model Open Configd rsyslo g

プロシージャ紹介 経路update Mgmt iproute2 Control Plane -FRRotingvtysh Netsnmp Switch Fabric Daemon rsyslog BGP rsyslog OSPF RIB Mgr Netlink routine Others FIB Manager (4) (7) OS APIs (2) rsyslog UI routine (3) IF Manager Broadcom Device Emulation White Box 2. カーネル上の経路テーブル (FIB)更新 4. NETLINKメッセージを受信 (6) 5. メッセージを解析し内部テー ブルをアップデート Open Network Linux Knet driver 1. 経路更新発生 3. カーネルがNETLINKメッセー ジ送信 OpenNSL Network Stack (Software Packet forwarding) main Open Configd (5) IF Mgr (1) 12 6.該当の経路をフォワードする IF state/idを確認 (8) BCM chipset (Hardware Packet forwarding) 7. 経路情報をASICに書き込 むAPIをcall 8. 経路情報をASICに書き込 む

HW/ONL について

Brock Diagram of AG9032v1 14 DDR SSD FAN USB PSU Console port CPU I2C Thermal OOB port PCIE SYS EEPROM SWPLD Broadcom MAC CPUPLD P1 P2 P3 P4 P5 P6 P7 P8 QSFP P25 P26 P27 P28 P29 P30 P31 P32

ONL and Hardware Integration ONL: An Operating System for Bare Metal Switches by OCP ONL: A complete Debian distribution + ONLP + associated drivers ONLP: provide abstraction interfaces to SFP, PSU, FAN, LED, etc. ONLPI: provides ONLP with hardware mapping and drivers OpenNSL: external to ONL, provided by Broadcom separately 15 Linux Drivers Standard hardware (OOB, DDR, SSD, etc) ONL (Shell, Libraries, Kernel) ONLP ONLPI (Device attributes, Kernel Drivers) Machine specific hardware (SFP, FAN, PSU, LED, CPLD, etc) OPENNSL Broadcom Device Emulator (BDE) + Knet driver Switch hardware 15

OpenNSL kernel modules Network stack: standard Linux Network Stack Knet driver: create/manage multiple virtual network interfaces, relay transactions from/to Linux Network Stack and BDE Broadcom Device Emulation: provides Switch ASIC hardware abstraction 16 FRRouting OS APIs (Socket) Network Stack (Software Packet forwarding) Knet driver Router Application Open Network Linux OpenNSL Broadcom Device Emulation(BDE) Linux-kernel-bde.ko Linux-user-bde.ko Configure ASIC White Box Hardware BRCM chipset (Hardware Packet forwarding) Control plane pkts Port1 - Port32 16

Knet driver 17 Create multi network interfaces(32 ports) Trap the control packets(bgp, OSPF, ARP, ND, ICMP) to Linux network stack Send out the control packets generated locally to the outside of the box Physical Link status monitoring and statistics Filtering mechanism can work in conjunction with the switch device field processor Can manage multiple network interfaces using KNET filters to direct CPU bound traffic to the desired network interface Utilize Linux Socket Buffers

ThalarctOS デモ

ThalarctOS デモシナリオ 19 デモ 1. ThalarctOS 起動 2. 対向ルータとBGP 接続 3. トラフィック疎通確認 Mgmt -Control Plane- FRRouting Container Open Network Linux White Box Switch Fabric Daemon Container ebgp トラフィック.2.1.2 172.16.1.0/30.2 192.168.1.0/24 Vlan20(TAG 付 ).1 Tester.1 10.10.10.0/24 Vlan10(TAG 付 )

失敗談① 20 Vlan1が挿入されてしまう OpenNSLの理解不足 OpenNSLの理解不足 OpenNSLのドキュメント Ping OK ASICでの転送時に Vlan1が挿入されていた 関数 引数の説明が詳しくない 更新もされていない 最終更新2017年 Black Boxテスト 謎のFlag Ping OK NG /*** create egress object 1 ***/ flags = 0; rv = example_create_l3_egress(unit, flags, out_sysport, out_vlan,ing_intf_out,next_hop_mac, &l3egid); if (rv!= OPENNSL_E_NONE) { printf("error, create egress object, out_sysport=%d. Return code %s n", out_sysport, opennsl_errmsg(rv)); return rv; }

失敗談② 21 FRRとASICの経路に差分発生 FRR Netlinkの動作理解不足 FRR Netlinkの動作理解不足 10.0.0.0/24 10.0.0.0/24の経路情報 OUT IF FRR ASIC Hu 0/1 Hu 0/2 Hu 0/1 FRRからの経路情報が正しく ASICに書き込まれていない 様々なパターンのメッセージやフラグ 単純な経路追加 経路変更 Single Path Multi Path 等々 v4とv6でメッセージに差分あり Netlinkメッセージの例 タイミング 想定 実際 v4 DelRoute AddRoute AddRoute REPLACE FLAG v6 DelRoute AddRoute DelRoute AddRoute Hu 0/2 ピンポンが発生 OSPF area 0 経路変更

今後の展望

今後の展望の前に... WIDE 網で実験を開始しました https://news.kddi.com/kddi/corporate/newsrelease/2019/06/11/3849.html 23 矢上 OSPF 大手町 今回開発したルータでパケット転送

今後の展望 24 展望 1 運用機能の拡充 (telemetry 的な!) 展望 2 UI の統一 展望 3 新 ASIC(Jericho2) への対応 < 参考 >Jericho2 特徴 9.6Tb/s forwarding capacity SR/MPLS/VPLS/E-OAM etc サポート フルルート保持可能 1200 万 (v4) 600 万 (v6) 外部メモリ利用時 25GE/50GE/100GE/200GE/400GE IF サポート ディープバッファ /H-Qos など

まとめ 25 WBS 活用方法の検討のためにルータ開発を実施 - オープンソースを最大限活用 -HW/ ベース OS との依存関係を減らしたソフトウェアデザイン WBS を使ったルータ開発により知見を得た -ASIC の扱い方 -WBS 周りの構成技術

ディスカッション _Q&A

27 ディスカッションしたい事 オープンソースを利用した開発についてオープンソースを使用することで開発ボリュームを抑えることができるが 機能追加や bug Fix はコントロールできない ルータ用途のホワイトボックススイッチ ( ルータ ) について 導入を検討されている方いますか? どんな領域が適切と考えていますか? ( セルサイト エッジルータ コアルータ ピアルータなど )

Appendix1-ThalarctOS ロゴ 29 ロゴ作りました! ホワイトボックススイッチ用の OS なので 白 熊をモチーフに! 愛称 : 白熊くん タラちゃん 鱈

Appendix2-Switch Fabric Daemon 各コンポーネントの役割 Switch Fabric Daemon Netlink routine FIB Manager main UI routine Data Model Open Configd rsyslog IF Manager コンポーネントを分けた理由 依存関係を減らして メンテナンス性を向上 複数のチームで分担して開発 コンポーネント単位での試験実施 生産性向上 IF manager ASIC初期化 パント処理の定義 WBSのL3IFのテーブル管理(アドレス Link status MTU vlan等) Netlink routine kernelからのnetlinkメッセージを受信/解析 FIB/interface Managerに情報書き込み FIB manager IPv4/v6のFIBの維持/管理 ARP/NDテーブルの管理 ASIC上の経路情報の書き込み/消し込み UI routine Command line インターフェースの提供 30