インターネットを介しコンテンツを提供する事業者(Content Service Provider: CSP)のサービスにおいては,ネットワークの通信品質(Quality of Service: QoS)がユーザの満足度に大きく影響することが知られている[1].多くのCSPは,冗長性や収容容量の拡大を目的として複数のトランジット事業者やInternet Exchange(IX)と接続し,複数の対外接続経路(Egress Path)を持つ.たとえばFacebookの自律システム(Autonomous System: AS)は,クライアントに対して平均3つのEgress Pathを有すると報告されている[2].CSPはこれらの経路からBorder Gateway Protocol(BGP) [3]のベストパス選択ルールにより1つのEgress Pathを利用し,コンテンツを配送する.
BGPベストパスは必ずしも通信品質に即して選択されるわけではなく,しばしばコンテンツ配信のパフォーマンス劣化を引き起こすことが知られている[4], [5].下記の主な3つの原因から,BGPによって品質に基づいた経路選択を行うことは困難である.
つまり,CSPが多様な隣接ASと接続し,利用できるEgress Pathの数を増加させたとしても,常にユーザやプロバイダが希望するパフォーマンスを得られるかどうかは未知数である.
BGPのベストパス選択ルールによらずEgress Pathを選択し,アウトバウンドトラフィックを制御する技術はEgress Peer Engineering(EPE)と呼ばれる[11].EPEを用いた経路選択により,コンテンツ配信品質の向上が見込めることが,プロダクション環境を利用した実証実験から明らかになっている[12].以降本稿では,エンドツーエンド(E2E)でのパフォーマンス向上を目的としたEPEを特に“Performance Aware EPE”と呼称する.
高品質なBGPパスを利用して継続的にサービスを提供するためには,利用可能なEgress Pathを適切に管理し,コンテンツサービスに最適なものを選択・利用する必要がある.本研究では,Performance Aware EPEの実現のために求められる役割と機能を整理し,SRv6 L3VPNとMultipath TCP(MPTCP)を活用したEPE用のコントロールプレーンスタック“Multipath Transport SRv6-EPE Suite”を提案する.このコントロールプレーンは,他のASに協力を仰ぐことなくコンテンツ配信品質の向上を見込める点や,通信品質やBGP経路の変化に動的に追従できる点,そして,多様なコンテンツサービスに適合する柔軟性がある点で特徴的である.
はじめに,インターネットコンテンツ配信環境を模した仮想環境での実験を通じて,Multipath Transport SRv6-EPE Suiteの有用性を評価した.すべてのテストケースにおいて,本提案手法は従来のBGPベストパスのみを利用したコンテンツ配信と同等以上の性能を有したほか,いくつかのケースにおいては配信品質を大きく向上できることを明らかにした.また,ネットワーク環境の変化を想定した2つのテストケースにおいても,本提案手法は通信経路上の品質劣化のコンテンツ提供品質に対する影響を大きく低減できることが分かったほか,BGP経路の変更にも迅速に対応可能なことを示した.
次に,実際のインターネットAS上で動作するコンテンツサーバにMultipath Transport SRv6-EPE Suiteを実装し,日本の主要な4社のモバイルISPを含む9つのISPに接続するサンプルクライアントに対して,実際にコンテンツサービスを提供する評価実験を行った.この評価実験では,BGPベストパスのみを利用した従来の配信環境と比較して,9つ中6つのISPで10%以上スループットが向上し,うち4つのISPでは50%以上の顕著なスループット向上を確認できた.
本稿の貢献は以下のとおりである.
本研究が前提とする,CSP ASがIPv6インターネットを介して様々なコンテンツ配信を行うネットワークの概略図を図1に示す.CSPは自社のネットワークをASとして運用し,内部にはコンテンツサーバや外部接続を担うルーター(Autonomous System Boundary Router: ASBR)などが存在する.CSPはTransit AS,Public Peer,Private Network Interconnect(PNI)など,複数の外部接続点(Egress Peer)を持ち,BGPベストパス選択ルールに基づき,宛先ネットワークごとに一意のEgress Pathを選択する.図1の例では,3つのEgress Pathの中からEgress Path αを選択して利用している.
また,CSPは多様なコンテンツを提供する故にそれぞれスループットや遅延,パケットロスなどのQoSに対して異なる要求基準を持つ.しかし,通信経路上にはCSPの管理下に無いネットワークも存在するため,コンテンツの提供に際し,これらの基準を事前に満たすことは困難である.
CSPは複数のデータセンターにまたがり構成される場合もあるが,全拠点を同一のポリシーで運用する際はルーティング上の差異が存在しないため,本稿では考慮しない.
Segment Routing(SR)は,ソースルーティングに基づくトラフィックエンジニアリングの実現手法である[13].パケットの転送対象をSegmentと呼ばれる単位で扱い,SR Header(SRH)に埋め込んだSegment Listを用いて,パケットに与える転送処理を制御する.SR技術のうち,IPv6拡張ヘッダを利用するものにSRv6 [14]がある.
SRv6のセマンティクスでは,IPv6アドレス形式で記述するSegment Identifier(SID)と呼ばれる識別子を用いてSegmentを表現する.SIDは,そのパケットを経由させるノードを表す“Locator”と,そのノードで行う処理(SRv6 Behavior)について記述する領域によって構成される.SRv6はこのSIDの表現性を利用して様々なネットワークサービスを活用できる.
本研究ではSegment RoutingによるEPE運用モデル[11]のうち,SRv6の仕組みを利用したEPE実現手法を“SRv6-EPE”と呼称する.SRv6-EPEは,ASBRがパケットをEgress PeerごとにユニークなSID(以後“SRv6-EPE SID”と呼ぶ)で識別し,送信元ホストがSRv6-EPE SIDを付与することで,BGPベストパスによらずにパケットを転送できる.この仕組みにより,アプリケーションレベルでのEgress Path選択が可能となり,既存のBGPベストパス選択の制限を超えた自由なトラフィック配送が実現される.
SRv6-EPEは他のEPE実現手法と比較して,(1)中継ネットワークに非依存である点,(2)EPEを利用しないトラフィックと共存できる点,(3)既存のIPルーティングの技術を活用できる点で優れているため[12],本研究ではSRv6-EPEによりEPEを実現する環境を想定する.
本研究では,BGPベストパスにかかわらずパフォーマンスに基づいてEgress Pathを選択し,通信品質向上を目指す取り組みを“Performance Aware EPE”と呼ぶ.第1章で述べたように,オペレータがコンテンツに適したEgress Pathを手動で選択し,随時これをサービスに適用するのは困難である.そのため,Performance Aware EPEを実現するためには,ネットワーク状況の変化に応じて動的にトラフィックを制御する機構が必要になる.この機構には下記の2点の働きが求められる.
(1)の実現にはSRv6-EPEを適切に動作させるネットワーク環境の整備が,(2)の実現にはコンテンツの配信品質を最大化するEgress Pathの選択と利用を行う仕組みがそれぞれ求められる.本稿ではこれらを兼ね備えた制御機構を「EPEコントロールプレーン」と定義し,必要となる機能を分類して整理する.
第2.1節で定義されたCSPのサービスでは,変動するネットワーク環境上でコンテンツごとに異なる品質要件を満たす必要があるため,EPEコントロールプレーンには以下の要件が求められる.
本章では,EPEコントロールプレーンに必要となる機能群を定義し,それぞれの目的と担う役割について述べる.
図2はEPEコントロールプレーンの各機能およびデータプレーンとの相互関係を示したものである.EPEコントロールプレーンには,その性質から“EPE Provisioning and Reachability Management”と“Quality-Based Egress Path Decision Making and Traffic Control”の2つの役割が存在する.
第2.4節で述べた「SRv6-EPEを適切に動作させるネットワーク環境の整備」を担う役割を,本研究では“EPE Provisioning and Reachability Management”と定義する.これは下記の機能から構成される.
したがって,Egress Peerから広告される経路は,特定のIP経路情報とSRv6-EPE SIDを関連付けて管理されなければならない.この組み合わせを本稿では“EPE Route”と呼称する.SRv6-EPEの対象トラフィックを生成するコンテンツサーバには,サービス提供前に必要なEPE Routeを伝達する必要がある.また,Egress Peerから広告が停止した経路に関連するEPE Routeは速やかにホストから削除することも求められる.
EPEコントロールプレーンの機能のうち,第2.4節で述べた「コンテンツの配信品質を最大化するEgress Pathの選択と利用」にあたる役割を“Quality-Based Egress Path Decision Making and Traffic Control”と定義する.
第2.4節で述べたように,Egress Pathを適切に評価するためにはトラフィックを実際に送る必要がある.下記の3つの機能が相互に作用することで,パフォーマンスがより優れたEPE Routeを利用したコンテンツ配信が可能となる.
本研究では,第3章で述べたEPEコントロールプレーンの実現手法として“Multipath Transport SRv6-EPE Suite”を提案する.Multipath Transport SRv6-EPE Suiteは大きく分けて2つの要素で構成される.1つ目は“EPE Provisioning and Reachability Management”を担うSRv6 L3VPN,2つ目は“Quality-Based Egress Path Decision Making and Traffic Control”を担うMPTCPである.本章ではこれらの技術の概要と具体的な活用手法を述べる.
SRv6 L3VPNは,コントロールプレーンにMulti Protocol BGP(MP-BGP),データプレーンにSRv6を使用するL3オーバーレイサービスであり[19],IPv6 VPN経路[20]を通じて複数テナントのIPv6疎通性を提供する.パケットは各IPv6 VPN経路に付属するSRv6 SIDを用いて,ルータ上の適切なVirtual Routing and Forwarding(VRF)に転送される.この転送にはSRv6 BehaviorのEnd.DT6またはEnd.DT46が利用される[14].SRv6 L3VPNを有効化したルータでは,ルーティングデーモンがVRFへの転送に必要なSRv6 SIDの発行とフォワーディングルールの作成が自動的に行われる.したがって,第3.1節で述べた“EPE Provisioning and Reachability Management”の機能のうち,「SRv6-EPE SIDの発行・削除」はASBR上のルーティングデーモンが行うことになる.
Multipath Transport SRv6-EPE Suiteでは,クライアントとのパケットの送受信に際し,非対称的な経路制御を行うことでSRv6-EPEを実現する.
図3は,図1のネットワークでSRv6 L3VPNを用いたSRv6-EPEを行うために必要な経路情報のやり取りを,Egress Peer αとEgress Peer αに関連する部分を抜粋し表したものである.
Performance Aware EPEを行うためには,各Egress Peerから受信したEgress Pathを区別して保持する必要がある.Multipath Transport SRv6-EPE Suiteは,Egress Peerごとに個別のVRFをサーバに用意することでEgress Pathを区別する.ASBRからがEgress Peerから受信した経路はSRv6-EPE SIDを含むIPv6 VPN経路(EPE Route)として,ルートリフレクタを経由してコンテンツサーバに配布され,それぞれのVRFにインストールされる.この一連の経路共有プロセスは,“EPE Provisioning and Reachability Management”の役割の一部として,ASBR,ルートリフレクタ,コンテンツサーバのルーティングデーモンが分散的に協調動作して行われる.
一方で,サーバがクライアントから受信するパケットには,CSPからEgress Peerに広告される通常のIPv6経路が使用される.ASBRの各Egress Peer接続インタフェースは専用のVRFに属しているため,受信したCSPネットワークの経路はこのVRFにルートリーク*1される.
第3.1節で述べたように,SRv6-EPE SIDの上位ビットはASBRを示すSRv6 Locatorプレフィックスが占めている.“EPE Provisioning and Reachability Management”の構成機能の1つである「SRv6 Locatorの発行と到達性の管理」を充足するためには,ASBRを示すSRv6 Locatorプレフィックスへの経路を,通常のIPv6経路としてCSPネットワーク内に広告する必要がある.
コンテンツサーバには通常のインタフェースアドレス(以後デフォルトアドレス)に加えて,Egress Peerごとに特殊なIPアドレス(以後EPE専用アドレス)を設定する.EPE専用アドレスによるアウトバウンド通信には,対応するEgress Peerから受け取ったEgress Pathのみが明示的に利用される.図4は,図1のネットワーク上のコンテンツサーバの,EPE専用アドレスの利用手法を示したものである.サーバはEgress Peer α, β, γから受信した経路*2がEPE Routeとしてそれぞれ保持されるVRFと,3つのEPE専用アドレスが属する通常のルーティングテーブル(デフォルトVRF)を持つ.EPE専用アドレスを使用する通信は,デフォルトVRFに設定されたPolicy Based Routing(PBR)により,対応するVRFにリダイレクトされる.
MPTCPは,複数のTCPコネクションを統合して1つのセッションとして利用するTCP拡張であり[21],複数のアクセス回線の帯域の有効活用や,疎通性が不安定な環境下での冗長性の確保を目的とした適用が進んでいる[22]-[25].MPTCPが動作するホストは,MPTCPの通信に利用可能なインタフェースアドレスを,“MPTCP Endpoint”として管理する.通常は異なるアクセス経路ごとにEndpointが設定される.MPTCPセッションを確立したホスト間でEndpointの情報を交換することにより,セッションに参加するTCPコネクション(Subflow)の確立と管理が行われる[26].
図5は,図1のCSP上のサーバがMultipath Transport SRv6-EPE Suiteを用いてコンテンツサービスを提供する際の,トラフィックの流れを簡易的に示したものである.本提案手法ではコンテンツサーバとクライアントとの間でMPTCPセッションを確立し,トラフィックを送出するSubflowをパケットごとに選択することで,コンテンツの配信品質の最大化を目指す.
第4.1節でも述べたようにコンテンツサーバは二種類のアドレス(デフォルトアドレス,EPE専用アドレス)を有する.デフォルトアドレスはその時点でBGPベストパスとなるEgress Pathを,EPE専用アドレスは対応するEgress Peerから受信したEgress Pathを常に利用して,アウトバウンド通信が行われる.なお,EPE専用アドレスが利用するEgress Pathは,第4.1節で記した仕組みにより事前にコンテンツサーバにインストールされる.
本提案手法ではこれらのアドレスそれぞれでSubflowを確立する.たとえば図1のネットワークでは,CSPはα, β, γの3つのEgress Peerを有するため,BGPベストパスを常に利用するSubflowと,Egress Path α, β, γを明示的に利用する3つのSubflowの,合計4つのSubflowが利用されることになる.
本提案手法における各Subflowが確立されるまでの手続きについて述べる.はじめに,クライアントはコンテンツサーバのデフォルトアドレスに対してTCPコネクション確立を要求する.このTCPコネクション(以後初期コネクションと呼ぶ)が確立された後,クライアントがMPTCPをサポートしていれば,MPTCPセッションが確立される.この初期コネクションは以後Subflowの1つとなり,他のSubflowが確立されるまでのコンテンツ配信を担う.なお,第3.1節で述べたように,すべてのEgress Pathから任意のクライアントまで必ずしも到達可能であるとは限らない.そのためコンテンツサーバは,特定のEgress Pathに紐づいたEPE専用アドレスではなく,BGPによってクライアントへの到達性が維持されるデフォルトアドレスで初期コネクションを確立する必要がある.
次に,サーバは各EPE専用アドレスをクライアントに通知し,これらのアドレス宛の新たなTCPコネクションが確立される.これらはSubflowとしてMPTCPセッションに追加される.しかし,前述したようにそれぞれのEPE専用アドレスは特定のEgress Peerと紐づいたアドレスであるため,実際にコネクションが確立可能で,Subflowとして利用できるかどうかは,対応するEgress Peerからクライアント宛の経路を受信しているかに依存する.
サーバ上のアプリケーションから送出されたコンテンツトラフィックは,カーネル内で動くMPTCPスケジューラによって各Subflowに分配される.スケジューラは各SubflowのTCPメトリクスを基に,その時点で最適なSubflowを選択し,パケットごとに送信先を決定する.すなわち,第3.2節で述べたQuality-Based Egress Path Decision Making and Traffic Controlのうち,「QoSメトリクス計測」はカーネルのTCPスタックが,「品質の良いEPE Routeの選択」と「利用するEPE Routeの設定」はMPTCPスケジューラが担う.
パケットを送信するSubflowの選択はMPTCPスケジューラごとの戦略に基づいて行われる.著名なスケジューリング戦略には,“Round-Robin”,“Lowest-RTT-First” [27],および“BLEST” [28]などがある.本提案手法は,MPTCPスケジューラの戦略をコンテンツの品質基準に合わせて変更することで,幅広いアプリケーションに最適化する柔軟性を提供する.よって,CSPが本提案手法を展開する際に,コンテンツの種類に合わせて特別に実装および保守しなければならないコンポーネントはMPTCPスケジューラのみになる.これは第2.4節で述べたEPEコントロールプレーンの要求事項の1つである「展開の容易性」に合致する.
なお,デフォルトアドレスを利用したSubflow(初期コネクション)は,いずれかのEPE専用アドレスを利用したSubflowと同じEgress Peerを介して転送される.EPE専用アドレスを利用したSubflowにはSRv6による処理が追加で発生するため,仮にBGPベストパスと一致するEPE Routeがパフォーマンスの観点で最適である場合は,初期コネクションが選択されやすくなることが想定される.本手法はコンテンツ配信品質の向上を目的としているため,BGPベストパスを常に利用するSubflowを「品質の良いEPE Routeの選択」から排除せず,EPE専用アドレスによるSubflowと並列して利用するように設計する.
第5章で後述する評価実験を行うため,Multipath Transport SRv6-EPE Suiteに必要なシステムを備えたコンテンツサーバを実装した.本節では本実装における各コンポーネントの概要を述べる.図6はコンテンツサーバ上で動作するコンポーネント群と,OS内の関連する機構との相互関係を表したものである.
本章では,本稿が提案するMultipath Transport SRv6-EPE Suiteが,第2.4節で述べたEPEコントロールプレーンの要求事項を満たしているかどうかを検証する.EPEコントロールプレーンの要求事項には,(1)コンテンツ配信品質の向上,(2)通信環境の変化への追従性,(3)多様なコンテンツへの柔軟性,(4)展開の容易性の4つの項目が含まれる.
第4.2節で示したように,本提案手法は,MPTCPスケジューラの戦略を変更することでEgress Pathの選択基準を変えることが可能である.さらに,同一ネットワーク上で異なるスケジューラを用いた複数のコンテンツサーバを同時に運用することも可能である.したがって,品質基準が異なるコンテンツアプリケーションに幅広く適用可能であり,「(3)多様なコンテンツへの柔軟性」を有していると言える.
また,本提案手法は,CSP ASとEgress Peer間で標準的なBGPによる経路交換以外の情報交換を必要としないため,CSPは他のASに協力を仰ぐことなく導入が可能である.加えて第2.2節で述べたように,SRv6-EPEは既存のIPv6ネットワークへ容易に導入でき,EPEを利用しないトラフィックとの共存が可能である.これらの理由から,本提案手法は「(4)展開の容易性」の要求を満たすアプローチであると言える.
以後,本章では本提案手法が「(1)コンテンツ配信品質の向上」と「(2)通信環境の変化への追従性」を満たすことを定量的に検証するため,以下のように仮想環境での評価実験を行う.
また,実際のインターネット環境での本提案手法のフィジビリティ評価を目的とした評価実験も行う.WIDEプロジェクト*5が運用するASから,様々なISPに所属する実験用クライアントに対してコンテンツ配信を行い,より実環境に近い状態での本提案手法の有用性を実践的に評価する.
図7に示される本評価実験の仮想環境トポロジーは,第2.1節で設定したトポロジーを単純化し,SRv6 L3VPN経路を集約・配布するルートリフレクタを加えたものである.CSP ASとTransit ISP A/B間,Client ISPとTransit ISP A/B間でEBGPピアを確立し,経路情報を交換する.CSP ASからClient ISPへのBGPベストパスはTransit A経由とする.以後のシナリオでは,リンクaとbの帯域幅を制限し,擬似的に各Egress Path間で通信品質の差異が生じている状態を再現する.なお,この仮想環境はLinuxのNetwork Namespace機能[32]によって1台のLinuxマシン上に構築する.各仮想ノードは第4.3節に述べたものと同じBGPデーモンを利用する.
本評価実験では,下記の2つの異なる様式のトラフィックをコンテンツサーバからクライアントに送出させ,それぞれ通常のTCPとSRv6-EPEによるMPTCP(以後“MPTCP EPE”と呼ぶ)を利用した際のスループットを比較分析するために使用する.
SRv6-EPE環境ではコンテンツサーバのアウトバウンドトラフィックはSRv6でカプセル化されるため,トラフィックが実際にどのEPE Routeを使用したかを追跡することが困難である.本評価実験中のMPTCPスケジューラの振る舞いを正確に把握するため,独自のモニタリング用アプリケーション(“SRv6 Flow Stats”)を開発した.
図6に示すように,SRv6 Flow Statsはコンテンツサーバ上のMultipath Transport SRv6-EPE Suiteの主たるコンポーネントとは独立して動作する.eBPF tc classifier [33]を利用して,コンテンツサーバの物理インタフェースにeBPFプログラムをアタッチし,パケットが通過するごとにインナーパケットの5-tuple*8をキーとしてeBPF Mapにカウンタを記録する.ユーザスペースのアプリケーションは100 msごとにこのeBPF Mapから統計情報を取得し,差分をログファイルに保存する.これにより,Subflow(TCPコネクション)ごとにトラフィック流量を正確に計測することができる.
本実験では,ネットワークの品質がサービス提供中に変化しない場合でのMultipath Transport SRv6-EPE Suiteの基本性能を確認する.図7のトポロジでのリンクaとbの帯域を制限して,Egress Pathの通信品質を2種(高品質パス,低品質パス)組み合わせた4つのパターンを表1のように設定した.なお,本節で設定したCBRトラフィックが要求する帯域(25 Mbps)に対して,高品質パスではこの要求を満たすリンク帯域(30 Mbps)を,低品質パスではこの要求に不足するリンク帯域(15 Mbps)を設定した.
図8に,これらのパターンで発生させたコンテンツトラフィックのL7 goodput*9を,TCPと本提案手法におけるMPTCP(MPTCP EPE)で比較して示す.緑色の点線はCBRの理論上の最大スループットである25 Mbpsを示している.CBRとBIの両方で,MPTCP EPEは通常のTCPと同等以上のL7 goodputを達成している.特にパターン1.3や1.4のようなBGPベストパスが低品質な状況でも,MPTCP EPEは理論値に近いL7 goodputを記録している.これはMultipath Transport SRv6-EPE Suiteが利用可能なEgress Pathを効果的に発見し,BGPベストパスに依存せずに帯域を有効に利用できることを示している.
本実験シナリオでは,サービス提供中の配信経路の品質変化に対するMultipath Transport SRv6-EPE Suiteの効果を検証する.実験シナリオ1と同じネットワークを利用し,テストトラフィックがCBRの場合はサービス開始4秒後,BIの場合は9秒後に表2に示したような品質変化を発生させ,トラフィックの振る舞いを観察した.
図9は,サービス開始からの経過時間(X軸)ごとの各フローのスループット(Y軸)とセッション全体のスループットの平均値(各グラフ上部)を,トラフィック種別ごとに表したものである.通常のTCPはBGPベストパスのみを利用するが,MPTCP EPEでは,BGPベストパス・Transit A・Transit Bの3つに対応するSubflow*10が用いられる.赤・青・水色の各線はそれぞれのSubflowのスループットを,紫の線はそれらの合計値を示している.
パターン2.1(図9の1行目)では,BGPベストパスの品質が悪化(リンクaの帯域減少)した際,通常のTCPはCBRとBIの双方でスループットを落としている.しかし,MPTCP EPEを使用したCBRでは,品質変化前はBGPベストパスとTransit AのSubflowを利用し,変化後はTransit Aの代わりにTransit BのSubflowへ切り替え,要求帯域(25 Mbps)のスループットが維持されている.BIでも,MPTCP EPEは品質変化前後で理論上の最大スループットに近いパフォーマンスを維持し(変化前約45 Mbps,変化後約30 Mbps),環境変化に適応している.
パターン2.2(図9の2行目,BGPベストパスの品質が良化)では,MPTCP EPEはCBRで要求帯域(25 Mbps)に近いスループットを維持し,BIでは適応的にスループットを増加させている.一方,通常のTCPによるCBRは,BGPベストパスの品質良化前にはCBRの要求値に達せず,良化後は要求値を超えるスループットが観測されている.これは品質変化前にTCPによりバッファリングされたデータが,品質変化後に送信された影響と考えられる.また,パターン2.3と2.4(図9の3, 4行目)では,MPTCP EPEは冗長パスを有効に活用し,品質変化後にはTransit A・Transit Bの双方の合計帯域(45 Mbps)に近い値のスループットを出していることが分かる.
以上により,Multipath Transport SRv6-EPE Suiteは経路上の品質変化に線形に追従し,サービス中断や品質劣化を可能な限り回避する能力を有することが分かった.
第3.1節で述べたように,適切にEPEを運用するためには,CSP AS内で利用可能なEgress Pathの変化に応じて,コンテンツサーバ上のEPE Routeを迅速に更新することが求められる.本実験シナリオではCSP ASがEgress Peerから受信するBGP経路が変化する場合を想定し,Multipath Transport SRv6-EPE SuiteにおけるSRv6 L3VPNの通信環境変化への追従性を検証する.
図7のトポロジにおいて,クライアントISPのルーターからTransit Aに対する経路広告ポリシーが変更(以後経路変更と呼称する)されるケースを仮定する.Egress Peer AがクライアントISPから受信する経路が変わると,Egress Peer AからCSPのASBR 1へ広告される経路にも変更が及ぶ.これに伴ってASBR 1は自身のルーティングテーブルを更新し,ルートリフレクターを介してコンテンツサーバに経路変更が伝搬され,最終的にコンテンツサーバ上の対応するEPE Routeが更新される.
第4.1節で述べたように,コンテンツサーバのEPE専用アドレスによる通信は,該当するEgress Peerに由来するEPE Routeを参照して,明示的にそのEgress Peerを経由して配送される.コンテンツサーバのEPE専用アドレスによるSubflowは,MPTCPセッション確立時点でクライアントに到達可能な場合にのみ確立される.たとえばコンテンツサービス提供中にクライアントに対するEPE Routeが削除された場合,それを参照しているEPE専用アドレスによるSubflowは利用できなくなる.ネットワーク品質がサービス提供中に変化する場合と同様に,MPTCPスケジューラによる他のSubflowへトラフィックの再割り当てが行われる.
本シナリオではクライアントISPでの経路広告ポリシーの変更から,コンテンツサーバが保持するEPE Routeへ変更が適用されるまでに掛かる時間を計測し,本提案手法の追従性を定量的に評価する.EPE Routeの変更の計測には,ルーティングテーブルの変更をリアルタイムに検知可能なiproute2の“ip-monitor”機能[34]を利用した.また,この経路広告ポリシー変更から,CSP AS内でBGPベストパスが収束*11するまでの時間も合わせて計測し,これらの比較を行う.
本実験シナリオで行った2つの経路変更のパターンを表3に示す.パターン3.1はクライアントISPがTransit AS Aに対して経路を広告していない状態から広告する状態への遷移を,パターン3.2は広告している状態から広告しない状態への遷移を想定したものである.それぞれ100回ずつ試行し,EPE Routeの変更適用とBGP経路収束の双方を同時に計測した.
図10は,本実験シナリオの各パターンにおいて,コンテンツサーバ上のEPE Routeに変更が適用されるまでに掛かった時間とBGPベストパス収束までの時間の計測結果の分布を,それぞれの四分位数に基づき比較したものである.箱の底辺は第一四分位数を,上辺は第三四分位数を示し,箱の中央線は中央値を表す.ヒゲは外れ値を除いた最小値と最大値の範囲を示し,白い丸点は外れ値を表す.クライアントISPによる経路広告ポリシー変更後,パターン3.1における所要時間の中央値はそれぞれ190 ms程度,パターン3.2においては310 ms程度であった.両パターンともに,EPE Routeの変更適用とBGPベストパス収束との間に大きな差異はみられない.
これらの結果より,Multipath Transport SRv6-EPE Suiteは通常のIPv6ルーティングと同等の経路変化への変更追従性を有していることが明らかになった.
本節では,Multipath Transport SRv6-EPE Suiteのインターネット環境での活用を想定した評価実験に関して述べる.実際のコンテンツ配信に近い環境における本提案手法の有用性と課題を明らかにする.
図11に本評価実験に利用したネットワークを示す.WIDEプロジェクトが運営する実験用AS(WIDE AS)にコンテンツサーバを設置する.WIDE ASでは1台のASBRが2つのEgress Peer(Transit α,Transit β)と接続している.本実験では様々なISPに接続したサンプルクライアントを用意し,WIDE ASからコンテンツサービスの提供を行う.WIDE AS内のコンテンツサーバとASBRは100 Gbpsで接続しており,本評価実験のために十分な収容能力を持つ.
通常のTCPとMPTCP EPEを利用したコンテンツ配信を同日同時刻帯にそれぞれ10回試行し,配信方式による提供品質の差異を比較する.後述するTCPの並列化によるオーバーヘッドを検証するために,本実験ではiperfによって生成したBIトラフィックを利用した.通常のTCPではBGPベストパス選択ルールにより選択されたEgress Pathを,MPTCP EPEではTransit αとTransit βの両方のEgress Pathを経由して配信される.
表4に本研究においてサンプルクライアントが接続する各ISPの基本情報を示す.日本国内のMNO事業者*124社と,国内で固定回線でのインターネットアクセスを提供する事業者1社,そしてクラウドサービスを提供する国内外の事業者4社をクライアントのISPとした.
表5にクライアントデバイスとして利用したホストの詳細なスペックを示す.モバイル事業者および固定回線事業者に接続する際には共通の物理マシンを,クラウド事業者の場合はその事業者が提供しているVirtual Private Server(VPS)サービスによる仮想マシンを利用した.本評価実験はISP事業者間での性能を直接比較することでなく,同一ISPの配信方式間での提供品質の違いを把握することを目的としているため,実験に利用した仮想マシンのスペックは一致していない.なおすべてのホストのOSにはUbuntu 22.04.03 LTSを採用した.
図12および図13は,各ISPごとの配信結果(L7 goodput)の分布を計測種別(通常のTCPもしくはMPTCP EPE)ごとに四分位数に基づき表したものである.箱の底辺は第一四分位数を,上辺は第三四分位数を示し,緑の線は中央値を表す.ヒゲは外れ値を除いた最小値と最大値の範囲を示し,白い丸点は外れ値を表している.また,通常のTCPに対するMPTCP EPEの改善割合(中央値比)を各グラフ上部に示している.
全体を通して,本実験環境では多くのISPで,MPTCP EPEのほうがより高品質なサービス提供を行えていることがみて取れる.9つのISP中6つで10%以上の品質向上をみせたほか,内4つのISPでは50%以上の顕著な向上がみられた.
しかしながらISP AおよびISP Eでは,MPTCP EPEを使用することにより通常のTCPより約8%ほど品質が悪化している.これはEPEでより優れたEgress Pathを選択することで得られる利得よりも,MPTCP EPEに掛かる処理のオーバーヘッド,あるいはTCPフローの並列化による負荷が大きくなっていることが推察される.
品質悪化率が最も高かったISP Eを対象とし,通常のTCPを並列化して同様の条件でコンテンツを提供する追加実験を行った.本実験ではiperfコマンドの並列化オプション*13を利用して,通常のTCPによるコンテンツ配信のコネクション並列化を行う.
図14に,ISP Eに接続したクライアントに対して,iperfのデータ用TCPコネクションを1,3,6,9,12に並列化してコンテンツ配信を行った際のそれぞれのL7 goodputを示す.最も左側に,参考までにMPTCP EPEでの結果を追記している.TCPコネクションを並列化するに従って,L7 goodputが逓減していることが確認できる.
今回の実験環境で利用したiperfでは,実際の計測用トラフィックが乗るTCPコネクションの他に,メトリクスを相互に交換するための制御用のTCPコネクションを確立する[35].本実験環境におけるMPTCP EPEは,1つのMPTCPセッションで合計3つのSubflow(BGPベストパスを利用するSubflow,Transit αのみを利用するSubflow, Transit βのみを利用するSubflow)が確立されるため,MPTCPを利用する際には6つのTCPコネクションが確立されることになる.
図14より,合計6つのTCPコネクションを確立するMPTCP EPEと,合計7つ(制御用TCPコネクションと6つのデータ用TCPコネクション)のTCPコネクションを利用した際のL7 goodputはおおよそ近しい値になっていることが確認できる.すなわち,ISP Eの環境下ではTCPコネクションを並列化することによる負荷が顕著であり,これに伴ってMPTCP EPEのスループットが低下していると言える.
本追加実験を通じて,MPTCP EPEを利用してユーザにコンテンツを提供することが,必ずしも提供品質の改善につながるわけではないことが明らかになった.
本評価実験を通じて,Multipath Transport SRv6-EPE Suiteが実際のインターネットでのコンテンツ配信環境においても,多くの場合で配信品質向上を見込めることが明らかになった.一方で,一部の環境下においては,TCPコネクションが並列化されることによって配信品質の低下を招く可能性があることが分かった.
本章では,本提案手法と提案手法の要素技術(EPEとMultipath Transport)に関連する研究とを比較し,提案手法の特徴をより明らかにする.
EPEは,BGPベストパスセレクションによらずに,AS外に向かうトラフィックを柔軟に制御する技術である.一般的な他のトラフィックエンジニアリング技術と比較して,自らが管理するネットワーク外の通信経路の選択にフォーカスしている点が特徴的である.
EPEは,その特徴から様々な用途に用いることができる.Espresso [36]では対外接続リンクの輻輳回避を,BGP-NCM [37]では帯域の有効活用を目的とし,EPEが用いられている.これらの手法は他のASとの接続リンクの状態を基準にEgress Pathを選択する取り組みであり,我々の手法のようにクライアントまでのE2Eの品質向上を目的としたものではない.
また,中村らの研究[18]や筆者らの研究[12]は,インターネットの品質測定を目的としており,EPEを複数のBGPパスを比較するために利用している.これらの手法によってE2Eでの性能測定をもとにEgress Pathの評価ができる一方,実際にパフォーマンスに優れると判断されたEgress Pathの具体的な活用手法は取り組みのスコープとされていない.
EPEの具体的な制御手法として,BGP Link State(BGP-LS)のプロトコル拡張[38]と,それを用いた運用モデルが標準化されている[11].しかしながらこれらの標準はあくまでEPEの集中管理を行う際の一般論についてのみ記述しており,具体的な配信品質の向上手法や,経路や品質の変更に追従する手法に関する検討が不足している.
EPEでは,トラフィックの配信に利用するEgress Pathを任意に切り替えることで,クライアントまでのE2Eの通信品質を変化させることができる.この特性を利用し,通信品質の向上を目指す取り組みがいくつか存在する.Edge Fabric [39]は,外部接続リンクの有効活用とコスト最小化を主目的としているものの,実際のプロダクションコンテンツの配信品質をベースにEgress Pathに重み付けを行う.筆者らの過去の研究であるCOFFEE [40]では,データプレーンにSRv6を利用し,Kubernetesベースのコントローラを利用することでEPEによるコンテンツ配信品質の向上を実現している.
しかしながらこれらの手法にも未解決の課題がある.Facebookの手法はAS全体で統一して経路選択戦略を決定するため,本稿での提案手法のように,コンテンツやクライアントに合わせて選択基準を柔軟に組み替えることができない.COFFEEは経路制御のために専用のSDNフレームワークが必要となるため,開発・導入・運用に掛かるコストが高く,第2.4節で定義したEPEコントロールプレーンの要求事項である「展開の容易性」に課題がある.本稿で提案するMultipath Transport SRv6-EPE Suiteは主要なコンポーネントに既存のプロトコル実装を活用しているため,COFFEEと比較して開発・導入・運用に掛かるコストが低い.また,COFFEEはセッションの開始前に過去の統計情報からトラフィックを送出するEgress Pathを決定するため,サービス中にEgress Pathの通信品質が変動した場合に,サービス断や配信品質の劣化を招く可能性がある.Multipath Transport SRv6-EPE SuiteではリアルタイムにEgress Pathが評価・選択されるため,サービス中の通信品質の変化に追従できる.
Multipath Transportは,トランスポート層でコネクションの多重化とスケジューリングを行うプロトコルの総称である[41], [42].代表的なプロトコルとして,MPTCP [21],MP-QUIC [43],MP-DCCP [44]などが広く利用されている.
一般に,Multipath Transportは複数のリンクの帯域のアグリゲーションや冗長化を目的として利用される.Multipath Transportが複数の経路を併用できる性質に着目し,帯域だけでなく,遅延やジッタなど様々なQoSメトリクスを向上させる取り組みが存在する.
たとえばNikraveshらの研究などでは[45],MPTCPを用いて複数のモバイル回線を束ねることで,スループットと冗長性の向上を実現している.Hurtigらの研究の例[46]では,モバイル回線とWi-Fiなど,複数のインタフェースを持つ機器にMPTCPを適用しWebコンテンツを表示するまでの遅延を削減している.また,このようなアプローチは他のプロトコルを利用しても実践されている[47].
金子らの研究[48]では,WebRTCにより複数のモバイル回線に映像を重複して配送することで,自動車のロバストな遠隔監視アプリケーションを実装している.
X-LINK [49]は,多くの動画コンテンツによって構成されたeコマースサービスのQoE向上を目的として,MP-QUICを拡張し大規模なデプロイメントを行った研究である.クライアントアプリケーションからのQoEコントロールシグナルによって,コンテンツサーバのスケジューラがコンテンツを送出する宛先アドレスを選択する機構が導入されており,サービス応答性やスタビリティの向上が実現されている.
これらの既存の研究がフォーカスしているのはクライアントデバイスのアクセス回線の冗長化・抽象化であり,Multipath Transport SRv6-EPE Suiteのように品質に応じたBGP経路の選択と利用に用いることを目的としていない.
また,QualitySDN [50]では,SRネットワーク上でMPTCPサブフローを転送することにより,QoEを考慮したE2Eの転送を行っているが,制御が可能な範囲はSRドメインの中に限られており,我々の研究のように,管理ドメイン下にない通信経路上での利用はできない.
Multipath Transportには,トラフィックを送出するSubflowを選ぶスケジューラを組み替えることで,通信品質の更なる向上を目指す余地があると言われている[51].
たとえばLinux Kernelには,Subflowを一定の順序で利用するものや複数のパスに必ず同時送信するもののようなプリミティブなスケジューラから,経路間での公平なデータ配分を目的としたwVegas [52],ヘテロジニアスな品質のアクセス回線でのパフォーマンス向上を目的としたBLEST [28]やECF [53]など,多種多様なスケジューラがこれまでに実装されてきた.
これらのアプローチは幅広いアプリケーションに広く利用可能なものであるが,近藤ら[54]が既存の一般的なスケジューラのビデオストリーミングでの問題を提起しているように,一部のアプリケーションでは従来のトランスポート層のメトリクスのみを利用したスケジューラを用いることが限界を来していると指摘されている[55].そのため近年ではアプリケーションのユースケースに特化させたスケジューラ実装も広く提案されている.
たとえばビデオストリーミングの領域では,アプリケーション層や動画ストリーミングのメトリクスを利用した新しいアプローチが提案されている[55], [56].また,Virtual Reality用のユースケースに特化したスケジューリングを行うフレームワークも提案されている[57].
このように様々なスケジューラがこれまでに提案されているが,MPTCPを利用するMultipath Transport SRv6-EPE Suiteでも,アプリケーションのユースケースに合わせたスケジューラ戦略を導入できる.第4.3節でも述べたように,本研究で利用した最新のLinuxカーネルの開発版では,eBPFを用いて運用者が独自のスケジューラを導入することができる.たとえば,eBPF Map [58]によりユーザランドの任意のアプリケーションからスケジューリングに介入し,個別のコンテンツアプリケーションのメトリクスを利用したスケジューリング戦略を採用するような使い方も想定される.
本研究ではMultipath Transportのプロトコルとして,Linuxカーネルに標準的に実装されているMPTCPを選定したが,他のプロトコルを用いた際の性能評価は今後の課題である.特に,Multipath QUICはMPTCPと比較してパケット損失に対して優れた結果を示しているとの研究があり[59],プロトコルの違いによる振る舞いの違いについての検証が期待される.加えて,従来のMultipath Transportのユースケースのように,クライアントデバイスが複数のアクセス回線を有する場合での本提案手法のパフォーマンスに関しても,さらなる実験と考察が必要となるだろう.
また,実際のコンテンツ配信では,アプリケーションごとに異なる品質基準が要求される場合がある.本研究が提案したMultipath Transport SRv6-EPE Suiteでは,MPTCPスケジューラを変更することにより,異なる要求に応じた柔軟な経路選択が可能である.ユーザの体感品質に強く関連するQoSメトリクスを明らかにし,そのようなメトリクスを利用した適切なMPTCPスケジューラを選択することが求められる.第6章でも述べたように特定のアプリケーションに最適化されたスケジューラに関する研究は数多く行われているが,これらのスケジューラをMultipath Transport SRv6-EPE Suiteにて利用した際の有用性の評価が今後の課題となる.
加えて,本研究での評価実験を通じて,本提案手法を利用することにより逆に配信品質の劣化を招く環境が一部に存在することも明らかになっている.今後はより多様な環境で本提案手法の実証実験を行い,パフォーマンス劣化の原因を明らかにしていく.それに基づき,クライアントISPの環境の特性を判断してコンテンツ提供方式をダイナミックに切り替える機構を取り入れることで,本提案手法をより幅広く利用することができるようになるだろう.
そして筆者らの過去の研究[12]では,共通するISPのユーザ間で,適したEgress Pathが共通する傾向があることが分かっている.クライアントISPごとに統計情報を蓄積することで,より効率的にEgress Pathを選択する技術も考えられる.
本研究では,CSPのネットワークにおいてパフォーマンスに基づいた経路選択を行うための機構を「EPEコントロールプレーン」と定義し,必要な機能を明確にしたうえで,MPTCPとSRv6 L3VPNを利用した“Multipath Transport SRv6-EPE Suite”を提案した.
本提案手法の基本性能を検証するために,CSPのネットワークを模した仮想環境での評価実験を行った.本評価実験ではBGPベストパスのみを利用した従来のコンテンツ配信と,Multipath Transport SRv6-EPE Suiteによるコンテンツ配信のパフォーマンスを比較し,すべてのテストケースにおいて本提案手法が従来のコンテンツ配信の同等以上の性能を有することが確認できた.また,いくつかのケースにおいてはスループットが大きく向上し,かつサービスの安定性向上に寄与することが確かめられた.
さらに,日本の主要なモバイルISP4社を含む9つのISPに接続するサンプルクライアントに対して,インターネットを介してコンテンツサービスを提供する実環境での評価実験も実施した.本実験環境においては,9つ中6つのISPに接続したサンプルクライアントで,従来のコンテンツ配信環境と比較してスループットが大きく向上することが明らかとなった.
謝辞 本研究について,日頃から助言を賜りましたWIDEプロジェクトやvSIX WGのメンバー,実験リソースを提供いただいたさくらインターネット株式会社,株式会社ブロードバンドタワー,NTTコミュニケーションズ株式会社にこの場をお借りし感謝申し上げます.
2020年 慶應義塾大学政策・メディア研究科修士課程修了.同年より同大学同研究科博士課程在学中.(株)ブロードバンドタワー所属.インターネット運用技術やSDNなどの研究に従事.WIDEプロジェクトボードメンバー.
2019年 北陸先端科学技術大学院大学修了.同年よりNTTコミュニケーションズ(株)に所属.SR技術をはじめとする経路制御,Streaming Telemetry・IPFIX等の監視技術の開発に従事.WIDEプロジェクトメンバー.
2021年 東北学院大学工学部卒業,2022年 よりBBSakura Networks(株)に所属.現在は同社でモバイルコアとデータプレーンのソフトウェア開発に従事.WIDEプロジェクトメンバー.
2022年 慶應義塾大学政策・メディア研究科修士課程修了.同年よりNTTコミュニケーションズ(株)に所属.高速ソフトウェアルータKamueeの研究・開発に従事.慶應義塾大学SFC研究所上席所員.WIDEプロジェクトメンバー.
1995年 電気通信大学電気通信学研究科情報工学大学院単位取得退学 修士,2003年 慶應義塾大学にて博士(政策・メディア)を取得.現在慶應義塾大学環境情報学部教授,インターネット移動体通信に関する研究に従事.IEEE,ACM各会員.WIDEプロジェクトボードメンバー.
1990年 慶應義塾大学工学部数理工学科博士課程修了 博士(工学).1993年 慶應義塾大学環境情報学部助手,大規模広域分散環境,インターネットの研究に従事.現在慶應義塾大学環境情報学部教授,慶應義塾CSIRTチーム長.ACM,ISOC各会員.WIDEプロジェクトボードメンバー.
会員種別ごとに入会方法やサービスが異なりますので、該当する会員項目を参照してください。