はじめに
本ブログは、「Crosswork 入門ガイド」のブログシリーズの一環として、サービスプロバイダー向けネットワーク自動化ポートフォリオ Cisco Crosswork Network Automation に含まれる、Crosswork ファミリ全体のインフラストラクチャーと基本機能提供するCrosswork Network Controllerの概要とユースケースをご紹介します。Cisco Crosswork Network Automation の全体概要は、「Cisco Crosswork Network Automation 入門ガイド: 概要」をご参照ください。
Crosswork Network Controller 登場の背景
近年、ネットワーク上で提供される様々なアプリケーションサービスは急速に高度化・複雑化してきています。例えばゲームアプリであれば一般に低遅延が求められますが、それを実現するためにはセンターデータセンター側の工夫だけでは要件を満たせずに地域データセンター利用やトランスポートネットワークでのSLA保証が必要となります。もちろん5G通信も高度化された通信要件を求める代表的なものとなります
このような要件を満たすためにIPトランスポートではSegment routingを中心とした様々な拡張が行われています。それによって高機能かつ自律動作が可能なネットワークが現実のものとなってきていますが、同時に運用管理の難しさも無視できないものになってきています。特にトランスポートネットワーク上でどんなサービスがどんなトラフィックを発生させていて、それが最適の状態になっていることをリアルタイムで把握することはマニュアルオペレーションでは実質的に不可能になってくると予想されます
そのような課題を解決するためのSDNCとしてCrosswork Network Automation Suiteが開発されました.そしてその中核部をになるのがCrosswork Network Controller となります。目指すものはトランスポートネットワークの管理の難しさを排除してビジネスケース(アプリケーションサービス)の実現を促進することです
Crosswork Network Controller の概要
Crosswork Network Contoller(CNC)は、Cisco Crosswork 製品群の中で、Crosswork Suite全体のインフラストラクチャを提供するアプリケーションです。同時にCrosswork Network Automationが目指すサービスのライフサイクル全体にわたる効率的な大規模ネットワークの運用を実現するための基本機能を提供します。お客様のユースケースに合わせて様々なアプリケーションをインストールして機能拡張を行うことができます
基本機能とは
- Kerbenetesをベースとしたスケーラブルで冗長性に富んだソフトウェア基盤
- 共通のGUI と API により均質な運用手法
- Segment routingで構成されたネットワーク上でのインテントベースのネットワークサービスのプロビジョニング、モニターリング
- マルチベンダーネットワークサポート
- ネットワークサービスの最適化
となります
今後紹介させていただく様々なCrosswork application群は現在までに9種のアプリケーションがこの基盤上にて提供されています.
各アプリケーションはCrosswork Automation Suiteが掲げるネットワークの自律運用(closed loop)を実現するために必要なプロセス(収集・分析・アクション・実装)に分類されます
CAT: Crosswork active topology
COE: Crosswork optima engine
CHI: Crosswork health insight
CCA: Crosswork change automation
ZTP: Zero-touch provisioning
CSH: Crosswork service health
CONC: Crosswork optical network controller
これらアプリケーションは、お客様のユースケースによって取捨選択してインストールしてご利用いていただくことができます。
本記事ではCNCとして必須なコンポーネントとしてCDGとNSO、基本機能を実現するために必要なアプリケーションとしてCAT /COEを準必須アプリケーションとして紹介させていただきます
他のアプリケーションについては随時本blogにて紹介させていただく予定です
必須コンポーネント
CDG: Crosswork Data Gteway
CNCの基盤上に配置されるものでなく、単独で動作するVMです。Crosswork Infrastructure に制御されてCrosswork上で動作する各アプリケーションが必要とする各種データを収集して各アプリケーションに提供する役割を負います。収集対象となるデータはSNMP/telemetry/CLI等多岐に渡り、ユースケースに沿って適切な収集データを動的に収集します。アプリケーションからデータ収集ロジックの負担をオフロードすることがCDGの大きな役割となります。ユースケースやネットワークサイズによってCDG自体を追加で増やすことができスケールアウトが容易であり、それによって大規模スケール展開を実現できます。耐障害性についてもStandby CDGを用意することで常に冗長性を確保することが可能です
NSO: Network Service Orchestrator
NSOはCNCが管理するデバイス群のconfig情報を保持します。これによりCNCは対象デバイスで提供される機能・サービス(主にVPN)を把握することができ、その情報を利用するアプリケーションに提供することでネットワーク全体のサービス情報を一元管理するためのデータベースとして機能します
SR-PCE
BGP-LS/ISIS/OSPF プロトコルを通じてリアルタイムのトポロジデータを複数ドメインから収集し、inter-area/domain/AS パスを計算します。情報ソースをstandard IGP/BGPとするためマルチベンダ対応可能。
PCEP プロトコルを通じてSR-TE ポリシーを制御し必要なタイミングでデバイスへ最適なパスのプログラミングを実施します。SR-PCEが保持するトポロジ情報はCNCに共有されCAT/COEがトポロジの可視化やパス計算に利用されます
必須アプリケーション
CAT: Crosswork Active Topology
CNCが制御するデバイス群のInventory/Topology等の情報をデータベースに管理します。同時に、管理されたInventory情報をCNCのGUI上で可視化するための基本機能を提供します。トポロジ情報のソースとしてSR-PCEとSNMPを利用します。
- SR-PCE:リアルタイムに反映されるBGP-LSをベースとするトポロジ情報
- SNMP:定期的に収集されるインターフェイスやIPアドレス情報
COE: Crossword Optima Engine
COEはTEトンネルを使ってネットワークを最適化します。機能提供方法はCNCのGUIを使ったものやREST APIを利用したものがあります。
提供する作業は以下に定義することができます
- SRポリシやRSVP-TEのプロビジョニングおよびその変更や削除。GUIの場合はstep by stepによるガイドを提供
- VPNサービス毎のSLAを維持するためのダイナミックはSRポリシの操作
- 実際にSRポリシやRSVP-TEをプロビジョニングする前のドライランの提供
- SRポリシやRSVP-TEの可視化の提供。CATとの連携により物理ネットワークと論理ネットワークを網羅的に可視化する
アプリケーションのインストール方法
Crosswork Suiteのインフラ機能を提供するCNCにはCAT/COE等のアプリケーションをインストールして基本機能を提供することは説明させていただきました。ここではCNC上にアプリケーションをインストールする手順を紹介することでCNCが描くソリューションイメージをお持ちいただくことを目標とします
この画面ではCNCにインストールされているアプリケーションとそれぞれのステータスが確認できます。アプリケーション毎のより詳細な状態は各アプリケーションのアイコンをクリックいただくことで確認できます
こちらではアプリケーションの機能を提供するために動作するコンテナ群のステータスを確認できます。複数アプリケーションで共有するコンテナはそれぞれのアプリケーションで表示されることになります
新規アプリケーションは右側のアイコンから追加できます。アプリケーションのイメージファイルは事前にCCOよりダウンロードが必要となります。アプリケーションはこちらの管理画面から自由にinstall/uninstall行えますが、一部アプリケーションには依存関係があり事前にインストールが要求される場合があります(CATは内部でCOEの機能を利用するため、COEの先インストールが必要)
以上がCrosswork Suiteのインフラストラクチャを提供するCNCの概要説明となります
このブログシリーズではCrosswork Automation Suiteがサービスプロバイダの様々な課題や効率化を実現するためのユースケースを紹介させていただきます。素晴らしい通信インフラ実現へのお手伝いができることを目指していきたいと思います