Enviar pesquisa
Carregar
Faster SRv6 D-plane with XDP
•
0 gostou
•
133 visualizações
Ryoga Saito
Seguir
#JANOG45 で発表したXDPを用いたデータプレーンについてのスライドです。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 49
Baixar agora
Baixar para ler offline
Recomendados
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
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
Recomendados
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
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
Mais conteúdo relacionado
Mais procurados
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
Mais procurados
(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
Semelhante a 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
Semelhante a 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~
Último
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Último
(8)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
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
Baixar agora