2023-09-07 Cisco IOS IOS-XE バージョン選定まとめ

提供: hkatou_Lab
ナビゲーションに移動 検索に移動

Cisco IOS / IOS-XE のどのバージョンを選択すれば良いか、判断材料となる情報をまとめました。

目的

Cisco IOS / IOS-XE の安全なバージョンを選べるようになる

  • バージョン番号を見た時、リスクの高低を見抜ける

機器とバージョンの情報を元に、サポートされるバージョンを選べるようになる

Cisco IOS の基本

Cisco Internet Operating System

の略です。最近は色々と派生 OS が出ています。

  • IOS : Cat1000 , 2960 系 , C921 , C1100 など
  • IOS-XE : ISR4k , ASR1k , Catalyst9000 など
  • IOS-XR : ASR9k , CRS-X など

登場当初 - モノリシック カーネルの組み込み OS

組み込み用のため容量が小さく、軽量です。

反面すべてのプロセスが同一のメモリ空間で動作し、1 つのプロセスがクラッシュすると他のプロセス・メモリなどに影響が及んでしまいます。

  • ルータ全体の再起動が必要だった

最近の IOS

IOS-XE 15.x- :
  • Catalyst4500X から導入
    • カーネルが Linux Kernel となった
    • IOS はデーモンとして IOSd プロセスが動作する
    • 4500X は CPU に組み込み系の MIPS を採用
IOS-XE 16.x- :
  • Crimson DB をベースとした動作に変更
  • Catalyst 9000 では x86 系 CPU に変更
    • 9200L は例外として NOT x86 で、ARMv8 らしい
  • DB を使用した OS にするのは Arista のパクリ リスペクトで、Juniper も Junos Evolved で採用を始めている

IOS-XE 16.x- のデータベース

IOS-XE 16.x- Crimson Database

プロセスの動作状態を DB に保存します。プロセスが異常動作しても、DB のデータを元にプロセスを再起動させ、OS 全体に波及させないようにします。

構造化して保存することで、読みやすいデータに変更します。プロセス間の情報のやり取りを DB 経由で行い、複雑さを減らします。

  • 直接プロセス間通信を行うと、複雑度が増加し、コード追加・修正などが困難に

Cisco IOS バージョンの読み方

大まかに以下の要素が存在します

IOS バージョンの要素

  • メンテナンス デプロイメント
  • アーリーデプロイメント
  • トレイン
  • メジャーバージョン
  • スロットル
  • リビルド
  • フィーチャーセット

  • Catalyst 6500 Sup2T : IOS 12.2(18)SXF16 IP Services
    • SXF トレイン / 12.2 メジャーバージョン / (18) スロットル / 16 リビルド / IP Services フィーチャセット
  • Catalyst 9500 High Performance : IOS-XE 16.12.3a Network Advantage
    • 16 メジャーバージョン / (12) スロットル / 3a リビルド / Network Advantage フィーチャセット

IOS トレインとは

IOS の種類を指します。

T トレイン :

  • テクノロジートレインの略
  • 新機能を実装する IOS トレイン
  • 新機能をアグレッシブに実装するため不具合が多い

M トレイン :

  • メインライン トレインの略
  • 不具合修正をメインに実施する
  • T トレインよりは不具合が少ない (出ないとは言っていない)
  • 12.3T -> 12.4M のように、一つ前の T トレインがベースとなる

S , SY , E トレイン :

  • 機器個別のトレイン
  • 最近は全体的に IOS の統合が進んでおり、トレインの数を減らしている

IOS スロットルとは

IOS をメンテナンスするマイナーバージョンを指します。

新ハードウェアのサポート・機能追加・不具合修正が行われます。

これが若い番号の場合、安定していないと見るべきです。

メジャーバージョンアップしたばかりで、新機能が十分に市場で評価されていない状態といえます。

IOS リビルドとは

IOS をメンテナンスするマイナーバージョンを指します。

基本的に不具合修正のみ行われますが、まれに新ハードウェアサポート・追加機能が入ります。

これが若い番号の場合、安定していないと見るべきです。

新スロットルで発生する不具合がまだまだ見つかっておらず、十分に市場で評価されていない状態といえます。

IOS バージョン選定の基本の一つは、リビルド番号が十分に大きいバージョンを選ぶことです。

末尾の英数字は、致命的な不具合や脆弱性対策を行う、緊急メンテナンスを意味します。

IOS フィーチャーセットとは

フィーチャーセットは、使用できる機能をまとめた概念です。

Router

  • IP Base : 基本的なルーティング
  • IP Services : 高度なルーティング
  • Advanced IP Services : めっちゃ高度なルーティング
  • Advanced Enterprise Services : めちゃくちゃ高度なルーティング

最近は IP Services が一番最上位な場合や、App ライセンスなどで差別化する場合も多いです。

IPsec 暗号化は、専用の HSEC ライセンスを買わないと速度が出ないように制限されています。

  • 特にプリセールス フェーズでは注意が必要
  • デフォルト 50Mbps -> HSEC 250Mbps など

旧 Catalyst

-L が一番下、-S が低機能版、-E がつくと、高機能版

Lan Lite : スイッチの機能がかなり制限されたバージョン  QoS で ACL が使えなかったりする

Lan Base : L2 スイッチとしては大体使用可能

IP Lite / IP Base : L3 スイッチの基本機能をサポート

IP Services / Enterprise Services : L3 スイッチの機能をすべてサポート

Catalyst 9000

-E が低機能版、-A が高機能版 (-E が下になったため、注意 !)

Network Essentials : 旧 Lan Base / IP Base

Network Advantage : 旧 IP Services

ーチャーセットって言うと、恥ずかしい目に合うため注意。

  • 未来ってなんだよ (哲学)

IOS-XE ED・SM / MD・EM

ED・SM

Early Deployment / Standard Maintenance Release の略です。

T トレインと近い概念で、新機能を積極的に取り入れるバージョン

新機能 = 新規不具合

EoL が速い

MD・EM

Maintenance Deployment・Extended Maintenance Release の略です。

M トレインと近い概念で、不具合修正をメインに実施するバージョン

EoL までが長期で、リビルド回数が多い

Catalyst 3850 / 9000 の場合、16.3 , 16.6 , 16.9 , 16.12 など、3 刻みのスロットルが MD となり、長期サポートが行われる

最近の IOS-XE

共通コードと標準化

IOS-XE は共通のコードで動作するよう、標準化が進められています。 [1]

例) ASR1k のルータと Catalyst 3850 で同一のバージョンが動作

  • NTP / OSPF など、ハードウェアに依存しない機能は、基本的に同じ動作となる
  • ルーティング プロトコルなど、ルータのほうが高機能として差別化している場合が多いため、全く同じではありません
  • QoS などは QFP / ASIC のハードウェアに依存して動作するため、機種ごとに動作が異なります

Catalyst スイッチは 1000 シリーズを除き、UADP ASIC + IOS-XE にほぼ一本化

  • Catalyst 2960 -> Catalyst 1000 : Classic IOS
  • Catalyst 2960XR -> Catalyst 9200 : Classic IOS -> IOS-XE
  • Catalyst 3650/3850 -> Catalyst 9300 : IOS-XE
  • Catalyst 4500 -> Catalyst 9400 / 9500 : IOS-XE
  • Catalyst 6500/6800 -> Catalyst 9600 : Classic IOS -> IOS-XE

2024 年現在ではルータ・無線 AP・DNA Center も Catalyst ブランドを使用しているため、ちょっとややこしいです。

新機能が実装されるバージョン

コンフィギュレーションガイドとリリースノートを参照します。

コンフィギュレーションガイド

機能のページの最後に Feature History という項目があります。

実装された最初のバージョンが載っています。

リリースノート

Whats New -> Software Features にリリースノートのバージョンから実装された機能が記載されています。

不具合修正が行われるバージョン

Bug Search Tool で Known Fixed Releases に記載のあるバージョンです。

ここに書いてあるバージョン以外は、修正されていないと思ったほうが良いです。

  • 不具合が修正された時点で、EoM (End of Maintenance) になっていないリリースに対して修正が行われます

例えば CSCvo03530 では発見されたバージョンが 16.9.2 ですが、新しいはずの 16.10.x では修正されていません。

理解度テスト

実際にお客様の質問を想定して、以下の問い合わせに回答できるか、理解度を確認してみましょう。

既設で導入済みの Catalyst 9500 を別拠点に導入したいのですが、どのバージョンを選べば良いですか ?

Catalyst 9500 を新規導入したいのですが、どのバージョンを選べばよいですか ?

Catalyst9500 で StackWise Virtual を使用したいのですが、どのバージョンからサポートされていますか ?

リファレンス

BRKSDN-2666 - IOS XE Architecture and Programmability

Cisco IOS ソフトウェア リリースの選択方法

Recommended Releases for Catalyst 9200/9300/9400/9500/9600 and Catalyst 3650/3850 Platforms

Cisco IOS and Cisco NX-OS Software Release Reference Guide

IOSの変革および各リリースの相関について

引用

  1. IOSの変革および各リリースの相関について 現在、Ciscoは、IOSの各機能の動作が全てのPlatform で同じになるように、ソフトウエアコンポーネントの開発プ ロセスを改革中である。