4/24/2016

IOS-XR 6.0

「IOS-XR 6.0概論」というCiscoの資料(PDF)があったので、まとめてみた。大きな点は、LinuxコンテナとRPMパッケージをサポートしており、サードパーティプログラムをサードパーティコンテナ上で実行できる点かな。

ソフトウェア・アーキテクチャ

  • 64ビットのオープンな組み込みLinux (Yoctoをベースとして組み込みLinuxを採用)
  • NCS 5500、NCS 5000、NCS 1002は64ビットLinuxのみサポート
  • ASR9kはまだ32ビットQNXで、6.1.1でLinux化が行われるようだ
  • 最大の目玉が、Linuxコンテナをサポートしている点
    • コンテナを選択した理由は、高速で軽いなのに、VMと同じようなサービスを提供できるから
    • プロセッサカード上は、コントロールプレーン、管理プレーン、サードパーティープレーンをコンテナで分けている
    • ラインカード上は、コントロールプレーン、管理プレーンをコンテナで分けている
    • コントロールプレーン、管理プレーンはYactoベースのLinuxだが、サードパーティープレーンには任意のLinuxディストロを置ける
      • virshとlibvirtdを使ってXRコンテナから立ち上がる
      • Third Party Network Name Space (TPNNS)を通じてネットワークインタフェースにアクセス
  • XR 6.0のイメージはブート可能な自己解凍型ISO形式で配布される (miniブートファイル)
XR60 software architecture

フレキシブルなパッケージ

  • PIEからRPMパッケージの採用へ変更 (パッケージ、SMU、サービスパック)
  • サードパーティのRPMパッケージ、ChefやPuppetで提供されるパッケージをインストールできる

アプリケーション・ホスティング

  • TPNNS
    • XR CLIの外部へファブリック接続されたインタフェースの可視化を提供
    • XRコンテナあるいはサードパーティコンテナの中で処理を可能にする
    • 有効なIPアドレスでインタフェースが上がった状態が必要
    • ルーティングがXRで操作できる
  • サードパーティコンテナアプリケーションの作業の流れ
    1. Linuxサーバ上でコンテナアーカイブを作成
    2. /misc/app_hostへアーカイブをコピー
    3. rootfsディレクトリへ解凍
    4. LXCパラメータを指定してXMLファイルを作成
    5. virshコマンドを実行

コンフィギュレーション、監視、トラブルシューティング

  • 従来のCLIは変更なし
  • テレメトリー
    • モデル言語はYANG
    • プッシュモデル
    • データの受け渡しは、
      • TCPでJSON形式
      • UDPでGoogleプロトコルバッファ
      • gRPCでGoogleプロトコルバッファ
  • NETCONF
    • デバイス設定のインストール、操作、削除のメカニズムを提供
    • RPCs over SSH (基本メソッド: Retrieve、Configure、Copy、Delete)