Save 37% off PRO during our Black Friday Sale! »

Kamuee: Design and Implementation of High Speed Software Router

Kamuee: Design and Implementation of High Speed Software Router

This is presented at NTT TECH CONFERENCE #3.

5befe32c40c1fb1ddad3b12bd3d26b01?s=128

Hiroki SHIROKURA

August 31, 2018
Tweet

Transcript

  1. Copyright © NTT Communications Corporation. All rights reserved. SHIROKURA Hiroki

    slankdev@nttv6.jp NTT Communications Technology Development Division 2018/08/08 Kamuee: Design and Implementation of High Speed Software Router
  2. Copyright © NTT Communications Corporation. All rights reserved. Self Introduction

    • Hiroki SHIROKURA ◦ @slankdev, slankdev@nttv6.jp ◦ NTT-Com Tech-Dev-Division ◦ Lecture at Security-Camp ◦ IPA Mitou Creator (certified as a Super-Creator) Activities and ... • Develop Kamuee • Develop Cuishark • Interested in Packet Processing • Interested in System Software 2
  3. Copyright © NTT Communications Corporation. All rights reserved. 1. Kamuee

    Project/Router Summary 2. Kamuee Router: Design / Implementation 3. Conclusion Agenda 3
  4. Copyright © NTT Communications Corporation. All rights reserved. 1. Kamuee

    Project/Router Summary ◦ Project Summary ◦ About Kamuee Software Router ◦ Contribution to the Interop 2018 2. Kamuee Router: Design / Implementation 3. Conclusion Agenda 4
  5. Copyright © NTT Communications Corporation. All rights reserved. Project Summary

    5 • A Software router from scratch • Use DPDK and Poptrie to accelerate packet forwarding and route-lookup • Paper about routing lookup algorithm ◦ H.Asai,Y.Ohara,"Poptrie:A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup", ACM SIGCOMM '15, p.57-70. • Patent about routing lookup algo. ◦ PCT/JP2016/052664(2016.01.29) ◦ 特許第5960863号(特願2015-048657)2016/7/1registered • Participated in the Interop Tokyo 2018 (Shownet) as a Core-Router • Next Step: Support High performance NFV..?, More Portability..?
  6. Copyright © NTT Communications Corporation. All rights reserved. Motivation: Developing

    a router on JUST COTS 6 Higher performance NFV • High speed Implementation .. ? • no Open Implementation .. ? • using DPDK .. ? Agility / Extensibility • Special Policy • New Protocols • Automation
  7. Copyright © NTT Communications Corporation. All rights reserved. About Kamuee

    Software Router 7 High-speed software router using DPDK and Poptrie. Achieve 100GbE routing with COTS and Software We believe currently (as a software forwarder) its performance is the highest in the world. Usecase • Enterprise Router • High-performance VNF • Load Balancer • etc... 導入先のアイディア等, ご意見を募集しています!
  8. Copyright © NTT Communications Corporation. All rights reserved. Poptrie: Multiway

    trie for IP routing table lookup 8 Small memory footprint with population count • 2.4MiB for a global tier-1 ISP’s full route Good performance through comprehensive evaluation • 240 Mlps/core (with Tier 1 backbone full route 531K routes, random address) Presented at ACM SIGCOMM’15. H.Asai(U-Tokyo), Y.Ohara(NTT-Com) • NTT-Com have a patent right of an algorithm.
  9. Copyright © NTT Communications Corporation. All rights reserved. Highest Speed…?

    9 FD.io Tbps-scale router • 400Mpps by 4 socket newer CPU (Xeon Platinum) • 1M routing table entries https://fd.io/2017/07/fdio-doubles-packet-throughput-performance-terabit-levels/ Kamuee • 250Mpps by 2 socket older CPU (Xeon E5 v3/v4) • 0.6M routing table entries That’s comparable !
  10. Copyright © NTT Communications Corporation. All rights reserved. Performance: Throughput

    10
  11. Copyright © NTT Communications Corporation. All rights reserved. Performance: Packet

    loss/Latency 11 Skylake-100GbE, 8 cores/port, 1 port->1 port (cross CPU), 612.9K routes, 2 min-evaluation Packet Size [Byte] Traffic Rate [Gbps] Packet Loss Rate [%] Latency Min [us] Latency Avg [us] Latency Max [us] 64 30 0.028 2.07 8.309 93.97 128 30 0.00028 3.27 11.921 122.91 512 90 0.0001 3.5 15.273 104.82 1024 90 0 3.49 23.667 103.64
  12. Copyright © NTT Communications Corporation. All rights reserved. Participated in

    the Interop 2018 Shownet 12 Award • Best of Show Award Finalist • Best of ShowNet Award Second Place
  13. Copyright © NTT Communications Corporation. All rights reserved. 13 インタロップ前後での出来事

    • DPDKとNICカードの相性, ドライバ • 100GBase-LR4 QSFP28トランシーバーの温度 • 吸気の方向 • メモリリーク (92, 2万 telnet) • 性能とgcc 最適化オプション: –g, -O, クラッシュ 本番期間中3日間, 問題は一つも起こらず ..? ユーザトラフィックも一応通ったらしい .. ? Award • Best of Show Award Finalist ◦ グランプリ: Cisco, Juniper ◦ 準グランプリ: Extreme ◦ 審査員特別賞: Dell EMC, Huawei • Best of ShowNet Award 準グランプリ ◦ グランプリ: Spirent ◦ 審査員特別賞: サウザンドアイズ
  14. Copyright © NTT Communications Corporation. All rights reserved. Temperature 14

    Juniperとかだとモジュールの 裏側のすぐに専用の扇風機 があるらしい 100G LR4 内部温度は67度 温度の検知感覚が~70度
  15. Copyright © NTT Communications Corporation. All rights reserved. Web Article

    / News Release / 日経 15 100GbE対応の高速ソフトウェア PCルーター開発に成功 https://www.ntt.com/about-us/press-releases/news/article/2018/0611.html はてぶ:ニュース 2018年6月11日:100GbE対応の高速ソフトウェア PCルーター開発に成功 | NTT Com 企業情報 | NTTコミュニケーションズ 企業情報 http://b.hatena.ne.jp/entry/s/www.ntt.com/about-us/press-releases/news/article/2018/0611.html 100GbE対応の高速ソフトウェア PCルーター開発に成功 (SankeiBiz) http://www.sankeibiz.jp/business/news/180611/prl1806111112040-n1.htm 100GbE対応の高速ソフトウェア PCルーター開発に成功 (@Press) https://www.asahi.com/and_M/information/pressrelease/CATP2018158562.html NTT Com、100GbEのソフトウェアルーター、全経路を CPUキャッシュに搭載 (IT Leaders) https://it.impressbm.co.jp/articles/-/16223 NTT Com、100GbE対応の高速ソフトウェア PCルーターを開発 https://cloud.watch.impress.co.jp/docs/news/1126904.html 1億円のルーターを 200万円のPCで実現、NTTコム製ソフト「Kamuee」の正体 http://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/00613/ NTT Comが「世界最高速レベル」ソフトウェア PCルーター開発 http://ascii.jp/elem/000/001/691/1691592/ NTT Comが「世界最高速レベル」ソフトウェア PCルーター開発 https://japan.zdnet.com/article/35120661/ @Press 100GbE対応の高速ソフトウェア PCルーター開発に成功~一般的な CPUを利用し、専用機器並みの性能を実現~ https://www.atpress.ne.jp/news/158562 TCAMと同等以上の性能をソフトウェアで実現した BGPルータ@Interop Tokyo 2018 http://www.geekpage.jp/blog/?id=2018-6-13-2 NTT com、数千万円規模のコアルータの機能を実現する PCルータ開発 https://news.mynavi.jp/article/20180612-645347/ 財経新聞:NTTコム、世界トップレベルの高速ソフトウェア PCルーターを開発 https://www.zaikei.co.jp/article/20180612/447505.html ニコニコニュース: NTT com、数千万円規模のコアルータの機能を実現する PCルータ開発 http://news.nicovideo.jp/watch/nw3587592 NTT Com「世界最高速レベル」ソフトウェア PCルーター開発 http://news.line.me/issue/oa-ascii/c5da257cbd0e ASICを使わないLinuxルーターでも専用機並みの性能を実現できるルーターソフトウェア https://linux.srad.jp/story/18/06/18/056249/
  16. Copyright © NTT Communications Corporation. All rights reserved. Development Environment

    16
  17. Copyright © NTT Communications Corporation. All rights reserved. Beta Release

    Version 17 他にもあるし要相談だよ ! Beta1: 4U 100GbE Router interop version • Hardware: about 400万 yen • supermicro 7048GR-TR: 4U Tower • 100GbE (QSFP28: SR4/LR4) x12 port • 100GbE (QSFP28: SR4/LR4) x4 port Beta2: 1U 10GbE Router • Hardware: about 45万~ yen • Fujitsu Primergy • 10GbE (10GBase-T/10GBase-LR)
  18. Copyright © NTT Communications Corporation. All rights reserved. Wrap UP

    18 • High-speed custom-made software router for the era of 100GbE-capable in software • Targeting to the SDN/NFV • Extensibility (Custom for the Special-purpose box and/or service)
  19. Copyright © NTT Communications Corporation. All rights reserved. 1. Kamuee

    Project/Router Summary 2. Kamuee Router: Design / Implementation 2.1. Architecture / Principle 2.2. Data-plane 2.3. Control-plane 2.4. Management-plane 3. Conclusion Agenda 19
  20. Copyright © NTT Communications Corporation. All rights reserved. What is

    a Router / What do we need from a Router..? 20 • IP Forwarding • Perform Protocols • Packet Filtering • Statistics • Management • Support Protocol • High Performance forwarding • User Friendly
  21. Copyright © NTT Communications Corporation. All rights reserved. Kamuee Architecture

    21 • DPDK/Ubuntu/x86-Server • Routing Engine: Quagga • Forwarding Engine: DPDK • Routing Lookup: Poptrie
  22. Copyright © NTT Communications Corporation. All rights reserved. Kamuee Design

    Principle 22 • Data Plane ◦ Run to completion on DPDK space ◦ No memory-copy, context-switch, lock ◦ IP Forwarding / Packet Filtering / etc... • Control Plane ◦ Use Linux Kernel Network-Stack, partially ◦ Use Tap interface to connect between DPDK and Kernel space ◦ BGP / OSPF / ICMP / etc... • Management Plane ◦ Be able to control and manage Kamuee with VTY
  23. Copyright © NTT Communications Corporation. All rights reserved. D-plane Design

    Principle 23 • Dataplane’s Basic Task ◦ IP Forwarding / IP Lookup / ACL / Vlan tagging ◦ Parallelism multiple threads using RSS ◦ NUMA aware core consumption • IP Forwarding ◦ Use Poptrie for route-lookup • ACL ◦ Using DPDK’s librte_acl ◦ Provides simple ACL for egress/ingress traffic to the interfaces
  24. Copyright © NTT Communications Corporation. All rights reserved. Parallelisation using

    RSS for Scaling 24 • Use RSS for traffic balancing • High performance w/ special HW feature • 40GbE : 4 cores/port • 100GbE: 8 cores/port Cores consumption style is based on dpdk/examples/L3fwd
  25. Copyright © NTT Communications Corporation. All rights reserved. Core Consumption,

    (Fast/Slow thread) 25 Fast Thread • dplane: packet forwarding Slow Thread • cplane: routing protocol • cplane: UI
  26. Copyright © NTT Communications Corporation. All rights reserved. (Fast) Packet

    Processing on DPDK 26 DPDK is set of libraries for fast packet processing it uses some mechanizm to bypass Kernel-Network-Stack. (UIO,isolcpu, pthread-setaffinity, special Memory management with hugepages) 1. No Memory Copy 2. No Context Switch 3. Full scratch for perf 4. Avoid Task Scheduler
  27. Copyright © NTT Communications Corporation. All rights reserved. (Slow) Packet

    Processing on Linux Kernel 27 There are some mechanisms makes network-application slow. Because Linux is not developed for the fast packet processing, it is developed for the general purpose use. 1. Memory Copy 2. Context Switch 3. Fat Network Stack 4. Task Scheduler
  28. Copyright © NTT Communications Corporation. All rights reserved. C-plane and

    M-plane Design Principle 28 • Partially offload features to Linux-Kernel ◦ Netlink is key-points ◦ ARP is exceptionally different • Routing/Management Protocols ◦ Use Quagga/net-snmp ◦ Partially offload features to Linux-Kernel ◦ Subscribe Linux-Network-Stack’s update using Netlink
  29. Copyright © NTT Communications Corporation. All rights reserved. How to

    Support Routing Protocols with Fast Forwarding 29 • 2 type Data-path ◦ Slow-path: Redirect to the Kernel via Tap interface ◦ Fast-path: Run to completion in DPDK-space • Linux kernel can perform TCP/IP so-stable
  30. Copyright © NTT Communications Corporation. All rights reserved. M-plane Design

    Principle 30
  31. Copyright © NTT Communications Corporation. All rights reserved. M-plane Design

    Principle 31
  32. Copyright © NTT Communications Corporation. All rights reserved. Summary: Kamuee

    Architecture 32 • DPDK/Ubuntu/x86-Server • Routing Engine: Quagga • Forwarding Engine: DPDK • Routing Lookup: Poptrie
  33. Copyright © NTT Communications Corporation. All rights reserved. 1. Kamuee

    Project/Router Summary 2. Kamuee Router: Design / Implementation 3. Conclusion 3.1. Issues / future work 3.2. summary Agenda 33
  34. Copyright © NTT Communications Corporation. All rights reserved. Issues /

    Future works 34 • Linux-FIB’s Limitation ◦ Designed for basic ip forwarding only ◦ ex. can’t perform flowspec (necessary iptables) ◦ Special implementation is needed (as well vlan/arp) • Feature stability is needed ◦ c-plane resource isolation ◦ enhance UI, stats, VRF, ACL ◦ support new protocol • Performance Evaluation ◦ only 2 developer, we want you
  35. Copyright © NTT Communications Corporation. All rights reserved. Summary 35

    • High-speed custom-made software router for the era of 100GbE-capable in software • Targeting to the SDN/NFV • Extensibility (Custom for the Special-purpose box and/or service) • Contact: kamuee-contact@ntt.com
  36. Copyright © NTT Communications Corporation. All rights reserved. That’s ALL

    :) Thanks for listening. Any Question? kamuee-contact@ntt.com
  37. Copyright © NTT Communications Corporation. All rights reserved. • Related

    Mechanizm • About Poptrie • DPDK Introduction • high speed packet transmission with software • other software router implementations • others Appendix:
  38. Copyright © NTT Communications Corporation. All rights reserved. Appendix: Related

    Mechanisms
  39. Copyright © NTT Communications Corporation. All rights reserved. 39

  40. Copyright © NTT Communications Corporation. All rights reserved. D-plane Mechanizm

    40
  41. Copyright © NTT Communications Corporation. All rights reserved. ARP Design

    41 基本は別スレッドが担当する . 内部の独自メッセージパッシング方式で行う 低速スレッドでやる 現在はneighborという名前でやっている LinuxKernelにARPを送ってもらう方法が見つからなかったから DPDK側に実装している IP FIBと同じく, DPDK側にARPのFIBを持つ
  42. Copyright © NTT Communications Corporation. All rights reserved. Linux FIB限界をどうやって解決するか

    42 - 現在は, Linuxのnetlinkから流れてくる内容で コンフィグをしている - フルスクラッチする or Linux FIBを拡張する - bgp flowspecが対応できない. - かと言って, iptablesを移植するのは難しそう .. - gobgpがFIBを外だししたように, kamueeもRIBを外だししたい - 直接gobgpとはgrpcで繋ぐという手もある - 今後の多様で急速なネットワークプロトコルに対応するの が難しい. -> このままだとね. - 成長速度がLinuxの速度を超えられない - 独自実装はだんだん闇 ... - 独自実装, Linux連携, その他連携の三つを 綺麗に分離したい - LinuxもさいきんVRFとかできるようになったし - 例えば, vlan/arpは独自実装
  43. Copyright © NTT Communications Corporation. All rights reserved. RCU (Read

    Copy Update) 43 説明用スライドを作ってないから , いまは他人の受け売り 引用: http://tkokamo.hateblo.jp/entry/2017/08/12/191142
  44. Copyright © NTT Communications Corporation. All rights reserved. FIB Updating

    Algorithm 44 Using RCU enables forwarding thread can access FIB as a lockfree. RCU with QSBR algorithm provides the best bandwidth throughput and frames per second throughput when handling 64 byte packets. ref: Y.Ohara, Y.Yamagishi, Kamuee Zero, IC’2016
  45. Copyright © NTT Communications Corporation. All rights reserved. Netlink (Rivisited)

    45 - netlink はカーネルモジュールとユーザー空間のプロセス間で 情報をやりとりするために用いられる 特別なIPC方式. - カーネルとユーザで全移住通信のリンクを提供し , カーネルの ネットワーク機能に対する様々な設定関連のシグナルがなが される. - netlinkを監視することで, Linux Kernelに対するルーティング 経路の追加, アドレス設定, リンクアップ等の様々な情報を知 ることができる. - netlink は、ユーザープロセスに対しては 標準的なソケット ベースのインターフェースを、 カーネルモジュールにはカーネルの内部 API を提供する。 - netlink はデータグラム指向のサービスである。 - Cumulus でも採用されている構造である .
  46. Copyright © NTT Communications Corporation. All rights reserved. Lthread as

    a Lightweight Thread 46 Tasks to be needed as a fast • dplane: packet forwarding Tasks to be not needed as a fast • cplane: routing protocol • cplane: UI ただ, 扱いが難しいから今後 pthreadに 移行する可能性あり
  47. Copyright © NTT Communications Corporation. All rights reserved. Appendix: About

    Poptrie
  48. Copyright © NTT Communications Corporation. All rights reserved. 48

  49. Copyright © NTT Communications Corporation. All rights reserved. 49

  50. Copyright © NTT Communications Corporation. All rights reserved. 50

  51. Copyright © NTT Communications Corporation. All rights reserved. 51

  52. Copyright © NTT Communications Corporation. All rights reserved. 52

  53. Copyright © NTT Communications Corporation. All rights reserved. Appendix: DPDK

    Introduction before using it
  54. Copyright © NTT Communications Corporation. All rights reserved. DPDK: Open

    Source Status 54 ref: https://dpdksummit.com/Archive/pdf/2016Germany/DPDK-2016-DPDK_FD_IO_Introduction.pdf
  55. Copyright © NTT Communications Corporation. All rights reserved. DPDK Overview

    55 ref: https://dpdksummit.com/Archive/pdf/2016Germany/DPDK-2016-DPDK_FD_IO_Introduction.pdf DPDK is the Data Plane Development Kit that consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures. (by www.dpdk.org)
  56. Copyright © NTT Communications Corporation. All rights reserved. Packet Processing

    on Linux Kernel 56 There are some mechanisms makes network-application slow. Because Linux is not developed for the fast packet processing, it is developed for the general purpose use. 1. Memory Copy 2. Context Switch 3. Fat Network Stack 4. Task Scheduler
  57. Copyright © NTT Communications Corporation. All rights reserved. Packet Processing

    on DPDK 57 DPDK is set of libraries for fast packet processing it uses some mechanizm to bypass Kernel-Network-Stack. (UIO,isolcpu, pthread-setaffinity, special Memory management with hugepages) 1. No Memory Copy 2. No Context Switch 3. Full scratch for perf 4. Avoid Task Scheduler
  58. Copyright © NTT Communications Corporation. All rights reserved. Multi Architecture/NIC

    Support 58 ref: https://dpdksummit.com/Archive/pdf/2016Germany/DPDK-2016-DPDK_FD_IO_Introduction.pdf
  59. Copyright © NTT Communications Corporation. All rights reserved. Run to

    Completion Model & Pipeline Model 59 FYI: Kamuee uses Run to Completion model Lagopus uses Pipeline model
  60. Copyright © NTT Communications Corporation. All rights reserved. DPDK: Official

    Information 60 Official Site http://www.dpdk.org Documentation Root https://doc.dpdk.org/guides/index.html Sample Code Guide https://doc.dpdk.org/guides/sample_app_ug/index.html Programmer’s Guide https://doc.dpdk.org/guides/prog_guide/index.html Getting Start Guide https://doc.dpdk.org/guides/linux_gsg/index.html API Documentation https://doc.dpdk.org/api/
  61. Copyright © NTT Communications Corporation. All rights reserved. Appendix: High

    Speed Packet Transmission with Software
  62. Copyright © NTT Communications Corporation. All rights reserved. 復習: 100Gbps

    64byteだと148 Mpps!! 62 時間なんて圧倒的に足りない . たったの20clockで何ができますか... 現在はたくさんCPUのコアがあるよ 40コア程度は積む時代になってきた もうシングルスレッドでは間に合わない 必要な概念 • コンピュータ理論基礎 (NUMA,キャッシュ,etc..) • 並列処理の概念 • 強い心 上記は, 1コアで20clock 2コアだったら40clockでいける. (と考えることができる . わかりますか)
  63. Copyright © NTT Communications Corporation. All rights reserved. 復習: 計算機は早いとこと遅いとこがある

    63
  64. Copyright © NTT Communications Corporation. All rights reserved. フォワーディング性能を実現するステップ 64

    性能目標達成のために必要不可欠な技術要素 100GbEルータの場合 ①ルータの仕事は... 1. パケットの受信 2. パケット処理 2.1. 転送先経路の検索 2.2. 若干のパケットの書き換え (TTL減算, checksum計算等) 3. パケットの送信 ②パケット送受信は... DPDKを使って, IAサーバを使いこなす必要がある . - 正しいコアを使うこと - マルチコアを活用すること - 必要に応じてHW支援機構を使う
  65. Copyright © NTT Communications Corporation. All rights reserved. 復習..?: IAサーバを理解する

    (NUMA編) NUMA: Non-Uniform Memory Access, メモリ/デバイスのアクセスコストが任意のコアで均等になっていない構造 どのNICに対してどのCoreからアクセスをするか 65
  66. Copyright © NTT Communications Corporation. All rights reserved. NUMA: Back/Straight/Cross

    66 CPUを跨がないから性能が良い CPUを1度またぐから性能は落ちるが , 仕方ない CPUを2度またぐから性能は落ちるし , 防げる コアの割り当てを正しく行わないと , 計算機の性能が全く出ない. マルチコアを活用する以前の問題である 現状では, コアの割り当て等に関しては, プログラマや運用者が手動でチューニングし ている場合は多い
  67. Copyright © NTT Communications Corporation. All rights reserved. マルチコアへの負荷分散方式 (負荷分散ポイントに注目)

    67 - RSS: Receive Side Scaling -> NICの機能 - RPS: Receive Packet Steering -> RSSをソフトウェア的に実現したもの
  68. Copyright © NTT Communications Corporation. All rights reserved. マルチコア活用術: 負荷分散3種類

    68 ハードウェアによる負荷分散 CPUに無駄なリソースを割かない Kamueeはこのタイプ ロックフリー実現可能 ソフトウェアによる負荷分散 LBとかはよくのこの方式を用いる 特別なHW支援機構を必要としない ロックフリー実現可能 ソフトウェアによる負荷分散 排他制御を行うことで , RSSと同じ構造を作る. ロックフリー実現不可能 . 10GbE以上では, ロックがボトルネック で, マルチコアの利点すら 薄れてしまう. パケット処理に関してスレッド間で排他制 御があると辛い. せっかくRSSでコスト0 で負荷分散したのに, それすら打ち消さ れる このどちらかを使おう. ロックはだめ.
  69. Copyright © NTT Communications Corporation. All rights reserved. Run to

    Completion Model & Pipeline Model 69 簡略化のために 10GbE x 2port 版 で説明 KamueeはRun to Completion LagopusはPipeline
  70. Copyright © NTT Communications Corporation. All rights reserved. 100GbEを実現するには 70

    単純なルータとして.. • フォワーディング性能を最適化する ◦ 正しいコアを使おう. (Bad NUMAに気をつける) ◦ 負荷分散ポイントに気をつける (適宜HW支援機構を使う) ◦ マルチコアを最大限に活用する ◦ ロック等の排他制御は限りなく排除する . (パケット処理中はロックフリーでやる ) • 我々でもまだわからないことがあるのは事実 ◦ 低レイヤの沼のようなものがたくさん ◦ チューニングミスだったり ◦ メモリの扱いのせいだったり ◦ HWのせいだったり 
  71. Copyright © NTT Communications Corporation. All rights reserved. Appendix: Other

    Software Router Implementations
  72. Copyright © NTT Communications Corporation. All rights reserved. Zebra/Quagga/FRR 72

    - 元祖, ルーティングソフトウェア - LinuxのFIBに対して経路を注入する Zebra - ルーティングプロトコルを喋り , 計算をした経路を Zebraに注入する各ルーティングデーモン (bgpd, ospfd, etc...) - オープンソースのソフトウェアルータの ありとあらゆる場面で活用されている . - telnet localhost 2601 でVTYに入り操作する. - 最近Flowspecのcplaneを喋れるようになった . (要iptables)
  73. Copyright © NTT Communications Corporation. All rights reserved. GoBGP 73

    EVPN, VRF, BGP flowspec等の最新のprotocolを実装 gRPCによって, 操作できるため open dataplaneに対応しやすい
  74. Copyright © NTT Communications Corporation. All rights reserved. FD.io Vector

    Packet Processing (VPP) 74 • DPDKを用いた, ネットワークスタックフレームワーク . • DPDKにないプロトコルの実装を進める プロジェクトである. • Interop18ではSRのルータとして動いていた • Quaggaと連携する機能も開発されており もっとも強大なライバルかもしれない
  75. Copyright © NTT Communications Corporation. All rights reserved. NTT未来ねっと研究所 Lagopus

    Switch/Router 75 - NTTの開発するOSSのソフトウェアルータ - 以前はOpenFlow Switchのみの機能だった - Netlinkを監視するスタイル - データプレーンはDPDKを用いたC言語だが, パケット処理はcgoを用いて, Golangで書か れていることが特徴 - Zebra2.0の構造を採用した, dplaneとして動 作することにより, シームレスにルータになる ことができた.
  76. Copyright © NTT Communications Corporation. All rights reserved. IP Infusion

    VirNOS 76
  77. Copyright © NTT Communications Corporation. All rights reserved. Juniper vMX

    77 c-plane, d-planeをVM分離しているモデル . HVスイッチを用いて, c/pを接続する cplaneはFreeBSDのJunos, dplaneはwind river linuxでDPDKが動いているっぽい . (詳しいことはまだ自信ないです ...)
  78. Copyright © NTT Communications Corporation. All rights reserved. Cumulus Networks

    Cumulus Linux (whitebox os) 78 Netlinkがキモである Netlinkを監視して, それによって, sw-asicを設定するデーモン switchdが動く
  79. Copyright © NTT Communications Corporation. All rights reserved. Appendix: Others

  80. Copyright © NTT Communications Corporation. All rights reserved. 最近ハードウェアルータが安くなってきた 80

    巨大ルータベンダが ”NFVのコスト削減による神話 ”を破 壊し始めた. Juniper「100GbE x8, 数千万で売っても大丈夫」 僕ら  「100GbE x4, 500万で, ドヤァ」 Juniper「もうぼったくりできない」 Juniper「100GbE x4, 500万で」 僕ら 「.....」 コストダウンだけが, ソフトウェアの利点ではない ソフトウェアは機能追加が早い 今は仮想化基盤がそこらじゅうにある サーバも余っている場所がたくさんある バージョンアップに, HW追加がいらない 構成変更が迅速にできる