eBPF Summit、eBPFとKubernetesでコアネットワーク構築? Bell Canadaのセッションを紹介

2021年12月22日(水)
松下 康之 - Yasuyuki Matsushita
eBPF Summit 2021から、Bell CanadaによるKubernertesとeBPFに関するセッションを紹介。

2021年8月18日、19日の2日間に行われたeBPF Summit 2021から、カナダ最大の通信会社であるBell Canadaの技術責任者によるセッションを紹介する。これは「Why is eBPF Changing The Teleco Networking Space ?」と題されたもので、以下の動画の26分から始まるセッションだ。

動画:eBPF Summit 2021 - Day 2

担当したのはBell CanadaのテクニカルディレクターであるDaniel Bernier氏だ。

セッションを行うBernier氏

セッションを行うBernier氏

Bernier氏は、まずテレコム業界の状況の再確認から解説を始めた。5Gの登場によってクラウドネイティブでハイパースケールなネットワークインフラストラクチャーが求められており、またOver-the-Topなサービスは主にクラウドベースのシステムで運用されていることをベースに、クラウドへの移行が必要となると語った。そしてスケールと分散、エッジの利用の他にインターネットサービス自体がコモディティとなっている反面、ユーザーが求める品質は年々高くなっているということを現時点での認識として紹介した。

テレコム業界を囲む環境の変化

テレコム業界を囲む環境の変化

そしてその回答として、IETFが提唱しているAPN(Application-aware Network)のアーキテクチャー図を使って、末端のエッジの部分にeBPFを使った応用が可能ではないか? というのがBernier氏の意見となる。

APNのエッジにeBPFを使うという提案

APNのエッジにeBPFを使うという提案

このスライドに書かれているリンクの先のドキュメントを読めばより詳しい背景が理解できるかもしれない。

APN:Application-aware Networking(apn)

PANRG:Path Aware Networking RG(panrg)

そしてeBPFが最も効果を発揮するオブザーバービリティについても、Inband-TelemetryをeBPFで実装する案を紹介。

Inband-TelemetryをeBPFで実装するアイデアを紹介

Inband-TelemetryをeBPFで実装するアイデアを紹介

Intelが開発しているInband-Telemetryのサイト:Host-INT* for packet-telemetry

このスライドの左側の図はp4という言語のページのリンクが張られているが、リンク先はソースコードなのでそれを抽象化したもの、ということだろう。ちなみにp4はProgramming Protocol-Independent Packet Processorsの略で、ネットワークのためのハードウェアにおいてパケットの処理などのデータプレーンをプログラミングするためのDomain Specific Languageだ。

そして次のスライドでKubernetesをコアにしたネットワークの構成図を見せながら、ネットワークの内部をKubernetesベースにするアイデアを紹介した。

KubernetesとCilium、eBPFをベースにしたネットワーク構成

KubernetesとCilium、eBPFをベースにしたネットワーク構成

ここではCiliumがコントロールプレーンとして動作し、個々のPodにeBPFが仮想ルーターとして動作するということを意図しているようだ。

次のスライドでは物理的なハードウェアで実装されていた機能が仮想化、コンテナ化に進むことでどのように変わってきたのかを説明している。

物理から仮想化、そしてコンテナ化へ

物理から仮想化、そしてコンテナ化へ

そして実際に5GのネットワークにeBPFを使って、カーネル内で高速にパケット処理を実装した例を紹介。

5G UPF using eBPF/XDP

これまでのネットワークファンクションが仮想マシンベースではなくコンテナベースに移行し、データプレーンもユーザースペースからeBPFを使ってカーネル内部で処理できるようになればどうなるのか? を表現したのがこのスライドだ。

もしもデータプレーンをeBPFで実装したら?という仮定の話

もしもデータプレーンをeBPFで実装したら?という仮定の話

最後のスライドでは、より将来的な姿としてeBPFを実装したマイクロプログラムがスマートフォンから自動車、ホームサーバーなどに実装され、テレコム事業者のアクセスポイントを通ってインターネットに出ていくという例を紹介してセッションを終えた。

Bell Canadaが想定するeBPFエブリウェアの図

Bell Canadaが想定するeBPFエブリウェアの図

テレコム事業者といえば、仮想化されたインフラストラクチャーとしてOpenStackに多く投資を行っていることは知られているが、ここではOpenStackからコンテナベースに移行する際にデータプレーンをどうするのか? という問いについて、一つの回答が示されているように見える。しかし移行の方法やネットワークファンクションの開発方法、既存のオブザーバービリティのツールとの統合など、課題は多いように見える。Bell Canada以外のテレコム事業者が追従するのか、それとも別の道を選んでコンテナ化に進むのか、注目したい。

参考ながらeBPFをベースにしたCNI準拠のプラグインであるCiliumは1.10というバージョンがリリースされ、順調に進化しているように見える。

Cilium 1.10: WireGuard, BGP Support, Egress IP Gateway, New Cilium CLI, XDP Load Balancer, Alibaba Cloud Integration and more

CiliumがKube-Proxyをどのように置き換えるのか? については、2019年にサンディエゴで開かれたKubeCon NAの動画を参考にされたい。

参考:Liberating Kubernetes From Kube-proxy and Iptables - Martynas Pumputis, Cilium

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

サーバー技術解説

Tigeraのアドボケイトが、x86とARMのマルチアーキテクチャークラスターを解説

2022/4/7
ARMの優位性を解説しながら、ARMをx86クラスターに追加するマルチアーキテクチャークラスターを、デモを用いて解説。
システム開発イベント

KubeCon NA 2021からサービスメッシュの2セッションを紹介

2022/3/18
KubeCon NA 2021からサービスメッシュのLinkerdの最新情報とIstioを使ったユースケースのセッションを紹介する。
セキュリティイベント

KubeCon NA 2021、ソフトウェア開発工程のタンパリングを防ぐSLSAを解説

2022/3/9
KubeCon NA 2021のプレカンファレンスから、ソフトウェアサプライチェーンを実装するフレームワークSLSAを取り上げたセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています