Submit Search
Upload
Faster SRv6 D-plane with XDP
•
0 likes
•
133 views
Ryoga Saito
Follow
#JANOG45 で発表したXDPを用いたデータプレーンについてのスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 49
Download now
Download to read offline
Recommended
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
SRv6 study
SRv6 study
Hiro Mura
Kernel vm-2014-05-25
Kernel vm-2014-05-25
Hirochika Asai
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
Fpga local 20130322
Fpga local 20130322
Takefumi MIYOSHI
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
tokudahiroshi
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
slankdev
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
Recommended
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
SRv6 study
SRv6 study
Hiro Mura
Kernel vm-2014-05-25
Kernel vm-2014-05-25
Hirochika Asai
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
Fpga local 20130322
Fpga local 20130322
Takefumi MIYOSHI
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
tokudahiroshi
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
slankdev
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
Masayuki Kobayashi
ハードウェア技術の動向 2015/02/02
ハードウェア技術の動向 2015/02/02
maruyama097
FD.io VPP事始め
FD.io VPP事始め
tetsusat
Vyatta 201310
Vyatta 201310
Takefumi MIYOSHI
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
低遅延10Gb EthernetによるGPUクラスタの構築と性能向上手法について
低遅延10Gb EthernetによるGPUクラスタの構築と性能向上手法について
Atsushi Suzuki
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
Kentaro Ebisawa
MAP 実装してみた
MAP 実装してみた
Masakazu Asama
Linux packet-forwarding
Linux packet-forwarding
Masakazu Asama
Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01
ozkan01
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
Motonori Shindo
OpenContrailとnfv
OpenContrailとnfv
Daisuke Nakajima
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
y_uuki
閉域網接続の技術入門
閉域網接続の技術入門
Masayuki Kobayashi
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Daisuke Nakajima
Open contrail days 2014 fall
Open contrail days 2014 fall
Daisuke Nakajima
2016 interop sdi_showcase_contrail
2016 interop sdi_showcase_contrail
Daisuke Nakajima
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』
Juniper Networks (日本)
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
More Related Content
What's hot
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
Masayuki Kobayashi
ハードウェア技術の動向 2015/02/02
ハードウェア技術の動向 2015/02/02
maruyama097
FD.io VPP事始め
FD.io VPP事始め
tetsusat
Vyatta 201310
Vyatta 201310
Takefumi MIYOSHI
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
低遅延10Gb EthernetによるGPUクラスタの構築と性能向上手法について
低遅延10Gb EthernetによるGPUクラスタの構築と性能向上手法について
Atsushi Suzuki
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
Kentaro Ebisawa
MAP 実装してみた
MAP 実装してみた
Masakazu Asama
Linux packet-forwarding
Linux packet-forwarding
Masakazu Asama
Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01
ozkan01
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
Motonori Shindo
OpenContrailとnfv
OpenContrailとnfv
Daisuke Nakajima
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
y_uuki
閉域網接続の技術入門
閉域網接続の技術入門
Masayuki Kobayashi
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Daisuke Nakajima
Open contrail days 2014 fall
Open contrail days 2014 fall
Daisuke Nakajima
2016 interop sdi_showcase_contrail
2016 interop sdi_showcase_contrail
Daisuke Nakajima
What's hot
(20)
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
ハードウェア技術の動向 2015/02/02
ハードウェア技術の動向 2015/02/02
FD.io VPP事始め
FD.io VPP事始め
Vyatta 201310
Vyatta 201310
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
低遅延10Gb EthernetによるGPUクラスタの構築と性能向上手法について
低遅延10Gb EthernetによるGPUクラスタの構築と性能向上手法について
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
MAP 実装してみた
MAP 実装してみた
Linux packet-forwarding
Linux packet-forwarding
Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
OpenContrailとnfv
OpenContrailとnfv
Ethernetの受信処理
Ethernetの受信処理
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
閉域網接続の技術入門
閉域網接続の技術入門
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Open contrail days 2014 fall
Open contrail days 2014 fall
2016 interop sdi_showcase_contrail
2016 interop sdi_showcase_contrail
Similar to Faster SRv6 D-plane with XDP
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』
Juniper Networks (日本)
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
Miya Kohno
VPP事始め
VPP事始め
npsg
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
直久 住川
Open contraildays2014
Open contraildays2014
Daisuke Nakajima
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
共有用 2012 r2hyper-v_nw仮想化
共有用 2012 r2hyper-v_nw仮想化
Osamu Takazoe
AS45679 on FreeBSD
AS45679 on FreeBSD
Tomocha Potter
Open stack reference architecture v1 2
Open stack reference architecture v1 2
Dell TechCenter Japan
データ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラ
NVIDIA Japan
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
VirtualTech Japan Inc.
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法
Takashi Hoshino
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
IIJ
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
NetScaler Basic
NetScaler Basic
Kimihiko Kitase
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
Interop Tokyo ShowNet NOC Team
serverless
serverless
Akira Otsuka
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
decode2016
Similar to Faster SRv6 D-plane with XDP
(20)
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
VPP事始め
VPP事始め
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
Open contraildays2014
Open contraildays2014
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
共有用 2012 r2hyper-v_nw仮想化
共有用 2012 r2hyper-v_nw仮想化
AS45679 on FreeBSD
AS45679 on FreeBSD
Open stack reference architecture v1 2
Open stack reference architecture v1 2
データ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラ
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
NetScaler Basic
NetScaler Basic
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
serverless
serverless
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
Recently uploaded
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
keikoitakurag
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
Ayachika Kitazaki
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
Recently uploaded
(10)
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
Faster SRv6 D-plane with XDP
1.
Faster SRv6 D-plane
with XDP Ryoga Saito
2.
自己紹介 ● 齋藤遼河 ● 国立木更津工業高等専門学校
情報工学科 5年 ● LINE株式会社 ○ ITサービスセンター Verda室 ネットワーク開発チーム 2 JANOG44 “Next Data Center Networking with SRv6” : https://www.janog.gr.jp/meeting/janog44/program/srv6
3.
Background 3
4.
背景 Full L3 CLOS
Network ● シングルテナントなネットワーク ● LINEのメッセンジャーやファミリー サービスなどが稼働 特定サービス専用のネットワーク ● サービス固有の要件を持つサービスが 稼働 ● サービス毎にネットワークを構築 ・・・ ・・・ 4 アンダーレイネットワークの断片化 設計・構築にかかる時間の増加 運用コストの増加
5.
背景 ● アンダーレイネットワークを共通化し、運用負荷を軽減する ● オーバレイネットワークでテナント間分離し、それぞれのポリシーを 実現する 5 シンプルなL3のアンダーレイ 柔軟にスケールするオーバレイ テナント毎に分離・独立したセキュリティ 将来的なサービスチェイニング
6.
SRv6の概要 ● Segment ID(SID) ○
Segment(パケットに対する指示)を表す ID ■ Locator: Functionが実行されるノードを示す情報 ■ Function: Functionを示す情報 ● Segment Routing Header(SRH) ○ IPv6のルーティング拡張ヘッダ ○ Segment List(通るべきSIDのリスト)やSegments Left(Segment List内の現在のSIDのオフセット)など が含まれている 6 Locator Function 128 bits
7.
SRv6の概要 ● Well-known Functions ○
H.Encaps (SR Headend with Encapsulation in an SRv6 Policy): IPv6ヘッダ, SRHを用いてカプセル化し転送する 7 IPv6 SRH IPv4IPv4 Address SID List ... ... 192.0.2.1 2001:db8::1, …
8.
SRv6の概要 ● Well-known Functions ○
End.DX4 (Decapsulation and IPv4 Cross-Connect): IPv6ヘッダ, SRHを外し、指定されたnexthopに転送する 8 IPv6 SRH IPv4 IPv4 SID nexthop ... ... 192.0.2.1に転送する 2001:db8::1 192.0.2.1
9.
SRv6の概要 ● Well-known Functions ○
End.DT4 (Decapsulation and Specific IPv4 Table Lookup): IPv6ヘッダ, SRHを外し、指定されたルーティングテーブルを用いて転送する 9 IPv6 SRH IPv4 IPv4 SID table ... ... ルックアップして得られた nexthopに転送する destination nexthop ... ... Routing Table A 2001:db8::1 A 192.0.2.1 ...
10.
LINEにおける現在の構成 10 DataCenter SRv6 Domain CLOS Network Network
Node (SRv6 Node) Network Node (SRv6 Node) Router Switch Switch Switch Switch Switch Switch Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) VM Tenant A VM Tenant B VM Tenant A VM Tenant B VM Tenant C VM Tenant D NFV (FW, IDS, ...) Transit Node SRHの処理はせずIPv6のパケット転送のみを行う Hypervisor (HV) • VMからの通信 → encaps • VMへの通信 → decaps Network Node (NN) • 既存ネットワーク/Internet/テナント間・クラスタ間通信の境界 Network Node (SRv6 Node) SRv6 unaware device
11.
LINEにおける現在の構成 11 DataCenter SRv6 Domain CLOS Network Network
Node (SRv6 Node) Network Node (SRv6 Node) Router Switch Switch Switch Switch Switch Switch Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) VM Tenant A VM Tenant B VM Tenant A VM Tenant B VM Tenant C VM Tenant D NFV (FW, IDS, ...) Transit Node SRHの処理はせずIPv6のパケット転送のみを行う Hypervisor (HV) • VMからの通信 → encaps • VMへの通信 → decaps Network Node (NN) • 既存ネットワーク/Internet/テナント間・クラスタ間通信の境界 Network Node (SRv6 Node) SRv6 unaware device
12.
LINEにおける現在の構成 12 DataCenter SRv6 Domain CLOS Network Network
Node (SRv6 Node) Network Node (SRv6 Node) Router Switch Switch Switch Switch Switch Switch Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) VM Tenant A VM Tenant B VM Tenant A VM Tenant B VM Tenant C VM Tenant D NFV (FW, IDS, ...) Transit Node SRHの処理はせずIPv6のパケット転送のみを行う Hypervisor (HV) • VMからの通信 → encaps • VMへの通信 → decaps Network Node (NN) • 既存ネットワーク/Internet/テナント間・クラスタ間通信の境界 Network Node (SRv6 Node) SRv6 unaware device
13.
LINEにおける現在の構成 13 DataCenter SRv6 Domain CLOS Network Network
Node (SRv6 Node) Network Node (SRv6 Node) Router Switch Switch Switch Switch Switch Switch Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) Hypervisor (SRv6 Node) VM Tenant A VM Tenant B VM Tenant A VM Tenant B VM Tenant C VM Tenant D NFV (FW, IDS, ...) Transit Node SRHの処理はせずIPv6のパケット転送のみを行う Hypervisor (HV) • VMからの通信 → encaps • VMへの通信 → decaps Network Node (NN) • 既存ネットワーク/Internet/テナント間・クラスタ間通信の境界 Network Node (SRv6 Node) SRv6 unaware device
14.
テナント内通信 14 DC SRv6 Domain CLOS Network Router Hypervisor1 C2::/96 NFV VRF1
Tenant A SID: C2::A VM A1 C1::/96 Network Node2 C1::/96 Network Node1 VRF1 Tenant A SID: C1::A VRF2 Tenant B SID: C2::B VM B1 Hypervisor2 C3::/96 VRF1 Tenant A SID: C3::A VM A2 VRF2 Tenant B SID: C3::B VM B2 VRF2 Tenant B SID: C1::B VRF1 Tenant A SID: C1::A VRF2 Tenant B SID: C1::B End.DX4 nexthop VRF1 H.Encaps dst = C3::A
15.
テナント間通信 15 DC SRv6 Domain CLOS Network Router Hypervisor1 C2::/96 NFV VRF1
Tenant A SID: C2::A VM A1 C1::/96 Network Node2 C1::/96 Network Node1 VRF1 Tenant A SID: C1::A VRF2 Tenant B SID: C2::B VM B1 Hypervisor2 C3::/96 VRF1 Tenant A SID: C3::A VM A2 VRF2 Tenant B SID: C3::B VM B2 VRF2 Tenant B SID: C1::B VRF1 Tenant A SID: C1::A VRF2 Tenant B SID: C1::B H.Encaps dst = C1::A End.DX4 nexthop VRF1 H.Encaps dst = C3::B End.DX4 nexthop VRF2
16.
クラスタ間通信 16 DC SRv6 Domain CLOS Network Router Hypervisor1 C2::/96 NFV VRF1
Tenant A SID: C2::A VM A1 C1::/96 Network Node2 C1::/96 Network Node1 VRF1 Tenant A SID: C1::A VRF2 Tenant B SID: C2::B VM B1 Hypervisor3 C4::/96 VRF3 Tenant C SID: C4::C VM C1 VRF4 Tenant D SID: C4::D VM D1 VRF2 Tenant B SID: C1::B VRF3 Tenant C SID: C1::C VRF4 Tenant D SID: C1::D H.Encaps dst = C1::A End.DX4 nexthop VRF1 H.Encaps dst = C4::D End.DX4 nexthop VRF4 Cluster A Cluster B
17.
ネットワークノードの処理 17 Default VRF Project VRF Project VRF Cluster VRF NIC VLAN I/F NIC CLOSネットワーク側( SRv6ネットワーク側) NFV側(IPv4ネットワーク側) Project VRF OpenStackの Project
Network毎 OpenStackの Cluster毎
18.
ネットワークノードの処理 18 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF IPv4IPv6 SRH ① End.DX4
19.
ネットワークノードの処理 19 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF IPv4 ② Project VRFのルックアップ
20.
ネットワークノードの処理 20 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF IPv4 ③ Cluster VRFのルックアップ
21.
ネットワークノードの処理 21 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF IPv4 ④ パケットの送信 VLAN
22.
ネットワークノードの処理 22 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF FIBのルックアップ x3 FIBのルックアップ
FIBのルックアップ
23.
問題点 23 ● ネットワーク構成 ○ LinuxのVRFの仕様やルーティングを駆使して頑張っているが、構成が複雑になる ●
性能問題 ○ ソフトウェアでのFIBのルックアップは比較的重いコストになる ○ 何度もFIBのルックアップを行うため、普通の通信よりも性能が出ない ○ ネットワークノードを模した性能測定では普通の IPv6転送の半分程度しか性能が出ない 普通のIPv6転送: 1.09Mpps (Single Flow, 64bytes) 既存の構成: 0.51Mpps (Single Flow, 64bytes)
24.
データプレーンの実装方法 24 ● XDP ● DPDK(VPP) ●
Hardware Switch ● … ● L4LBでの使用実績がある ● ARPやICMPの処理をカーネルに依頼することができる ● LinuxカーネルのFIBを利用することができ、既存の構成からの変更点を少なくする ことができる
25.
XDP(eXpress Data Path)の概要 25 NetworkInterface Device
Driver eBPF Program パケットの解析 パケットの書き換え nexthopのルックアップ パケットの処理の決定 ProtocolStack Network Interface eBPF Maps Transmit Redirect Pass userspace kernel ProgramProgram Drop
26.
srevo : Faster
SRv6 D-plane with XDP 26
27.
srevoの概要 27 ● XDPを用いたSRv6のパケット処理基盤 ○ さまざまな最適化を行い、既存の方法よりも高速に
SRv6のパケットを処理できる ● LINEの用途に特化させることでシンプルな実装 ○ 必要のない機能は実装を省いている ○ データプレーン自体は約 500行
28.
srevoの全体像 userspace kernel controller encaps/decapsルールの追加・削除 NICへのeBPFプログラムのアタッチ 統計情報の提供 28 eBPF map encaps/decapsルールの保管 統計情報の保管 eBPF map eBPF
program パケットのチェック・書き換え NIC eBPF program NIC ● ルールの参照 ● 統計情報の書き込み ● ルールの書き込み ● 統計情報の参照 decapsの流れ データの流れ encapsの流れ CLOSネットワーク側 NFV側
29.
コントローラ周り userspace kernel controller encaps/decapsルールの追加・削除 NICへのeBPFプログラムのアタッチ 統計情報の提供 29 eBPF map encaps/decapsルールの保管 統計情報の保管 eBPF map eBPF
program パケットのチェック・書き換え NIC eBPF program NIC ● ルールの参照 ● 統計情報の書き込み ● ルールの書き込み ● 統計情報の参照 decapsの流れ データの流れ encapsの流れ CLOSネットワーク側 NFV側
30.
データプレーン周り userspace kernel controller encaps/decapsルールの追加・削除 NICへのeBPFプログラムのアタッチ 統計情報の提供 30 eBPF map encaps/decapsルールの保管 統計情報の保管 eBPF map eBPF
program パケットのチェック・書き換え NIC eBPF program NIC ● ルールの参照 ● 統計情報の書き込み ● ルールの書き込み ● 統計情報の参照 decapsの流れ データの流れ encapsの流れ CLOSネットワーク側 NFV側
31.
最適化の方針 31 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF IPv4IPv6 SRH IPv4
IPv4 IPv4VLAN
32.
最適化の方針 32 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF IPv4IPv6 SRH SIDが決まれば通るべき VRFが決定する SIDとVRFの関係は一度決まれば変更されない SIDから通るべきVRFを事前に計算すればよい
33.
最適化の方針 33 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF ① どんなパケットを dropさせるのか? ②
Cluster VRFはどれか? ③ VLAN IDは何か?
34.
データプレーンの処理 34 Default VRF Cluster VRF NIC VLAN I/F NIC Project VRF IPv4IPv6 SRH ① 処理すべきかチェック
eBPF map
35.
データプレーンの処理 35 Cluster VRF NIC VLAN I/F NIC IPv4IPv6 SRH ② eBPF
mapのルックアップ eBPF map SID Cluster VRF ... ... VLAN I/F ... 2001:db8::1 A A Project VRF Default VRF
36.
データプレーンの処理 36 Cluster VRF NIC VLAN I/F NIC IPv4 ③ End.DT4 eBPF
map destination nexthop ... ... 192.0.2.1 ... Project VRF Default VRF
37.
データプレーンの処理 37 Cluster VRF NIC VLAN I/F NIC IPv4 ④ 物理NICのルックアップ eBPF
map VLAN I/F NIC ... ... A B Project VRF Default VRF
38.
データプレーンの処理 38 Cluster VRF NIC VLAN I/F NIC ⑤ VLANヘッダの挿入 IPv4VLAN eBPF map Project VRF Default VRF
39.
データプレーンの処理 39 Cluster VRF NIC VLAN I/F NIC ⑥ XDP_REDIRECT IPv4VLAN eBPF map Project VRF Default VRF
40.
データプレーンの処理 40 Default VRF Cluster VRF NIC VLAN I/F NIC IPv4VLAN eBPF map FIBのルックアップeBPF mapのルックアップ
x2 Project VRF
41.
最適化の内容 ● FIBのルックアップを減らすことが出来た ○ 5回
=> 1回に減らすことができた ■ 代わりにeBPF mapを2回ルックアップする必要がある ● Project VRFを減らすことが出来た ○ VRFで頑張ってEnd.DT4していた部分が無くなったので余計な VRFが要らなくなった 41
42.
Performance 42
43.
測定環境 ● Traffic Generator ○
Intel Xeon E5-2630 x2, 256GB ○ Intel XL710 40GbE 2port ○ Linux 3.10 ○ TRex v2.50 ● Encaps Node / Decaps Node ○ Intel Xeon Silver 4114 x2, 128GB ○ Mellanox MCX516A-CCAT 100GbE 2port ○ Linux 5.3 rc5 ● L3SW ○ Mellanox SN2700 ○ Cumulus Linux 3.5.3 43
44.
測定結果 44 1.71 [Mpps] 1.09 [Mpps] 0.51
[Mpps] Linuxを用いた実装に比べ 約3.4倍処理できている
45.
測定結果 45 13.0 [Mpps] 9.07 [Mpps] 3.63
[Mpps] Linuxを用いた実装に比べ 約3.6倍処理できている
46.
XDPを選択してよかったこと ● Linuxカーネルの恩恵を受けることができる ○ ARPの処理やFIBの管理はカーネルに依頼することができる ●
必要な機能だけ実装するのでシンプルに保つことができる ○ データプレーンのプログラム自体は 500行程度 ○ 新しい機能が欲しくなれば実装すればよくなる ● 既存のコントロールプレーンを利用できる ○ 大規模な変更を加えることなく、今動いている SRv6の仕組みにそのまま乗っかれる ○ srevoが問題を起こした際のフォールバックとして既存の実装がそのまま利用できる 46
47.
苦労した点 ● デバッグがしづらい ○ tcpdump等のデバッグツールが使えないのでパケットが消えたときにすごく困る ●
カーネルのすべての情報に触れるわけではない ○ FIBのルックアップをしても VLAN I/Fの情報しか取れなく、物理 NICとの対応関係は 自分で管理する必要がある 47
48.
今後の課題 ● デバッガブルなプログラムにする ○ 監視用のインターフェースの実装 ○
デバッグモードの実装 ● Service Function Chainingに対応する ○ 複数のSIDでencapsできるようにする ○ End.DT4以外のFunctionの実装(EndやEnd.Xなど) ● さらなる最適化 ○ decaps / encapsの処理の高速化 ○ ルールを格納するデータ構造の持ち方 48
49.
議論したいポイント ● この取り組み(DCNにSRv6を用いることやXDPを用いた最適化)について どう思いましたか? ● SRv6を用いてどのような世界が実現できると嬉しいと思いますか? ●
データプレーンのコントローラにどんな機能があると嬉しいと思いますか?(デバッ グ機能など) 49
Download now