IOS-XR(Cisco IOS XR)は、Ciscoが通信事業者や大規模ネットワーク向けのルーターに載せているネットワークOSです。同じCisco製でも、企業ネットワークで使われるclassic IOSやIOS-XEとは設計・対象機器・設定の作法が異なります。この記事では、3つのOSの違いを比較表で整理したうえで、IOS-XRの世代(cXR・eXR・XR7)、最新版と番号の読み方、commitによる設定の確定、実機なしで試せるXRdの起動手順までを、2026年10月時点のCisco公式資料で解説します。AppleのiPhone XRとは無関係です。
まとめ:IOS-XRはSP・大規模コア向け、企業ネットワークはIOS-XE
- IOS-XRは、ASR 9000・NCS 540/560・NCS 5500/5700・Cisco 8000で動くプロセス分離型のOSです。ルーティングプロトコルや管理機能が別プロセスで動き、1つが落ちても全体が止まりにくい設計です。
- 使い分けは機器で決まります。支店・キャンパス・データセンターのCatalyst 9000やISR、ASR 1000はIOS-XE、ISPのバックボーンや大規模コアのASR 9000・NCS・8000はIOS-XRです。同じ「ASR」でも1000はIOS-XE、9000はIOS-XRです。
- 2026年10月時点の最新はFeature Releaseの26.3.1(2026年9月11日公開)です。2024年の24.1.1から「西暦下2桁.四半期.種別」の番号になり、Ciscoの推奨リリースは25.2.21です。
- 設定は入力しただけでは反映されず、commitで確定します。既定では1件でもエラーがあれば全体が適用されず、commit confirmedで30〜300秒の試用もできます。
- 学習・検証はコンテナ版のXRd Control Planeが現実的です。ただしXRv9000のvPE・vBNGとXRd vRouterのライセンスは2027年1月15日で販売終了と告知されています。
IOS・IOS-XE・IOS-XRの違い(比較表)
3つのOSはどれもCisco製ですが、成り立ちと対象機器が違います。最初に全体像を表で押さえます。
| 項目 | classic IOS | IOS-XE | IOS-XR |
|---|---|---|---|
| 構造 | 一体型(モノリシック) | Linux上でIOSdが動く | 機能ごとに独立したプロセス |
| CLI | 従来のIOS | IOSとほぼ共通 | 別系統 |
| 設定の反映 | 入力した時点 | 入力した時点 | commitした時点 |
| 主な対象 | 旧世代の機器 | 企業の支店・キャンパス・DC | SP・キャリア・大規模コア |
| 代表機器 | 旧Catalyst・旧ISR | Catalyst 9000・ISR・ASR 1000 | ASR 9000・NCS・8000 |
| 2026年の現行版 | 新規開発の中心ではない | 17.18.x・26.1.x・26.2.x | 26.3.1・26.2.2 |
アーキテクチャ:一体型のIOS、IOSdを載せたIOS-XE、分割したIOS-XR
classic IOSは全機能が同じメモリ空間で動き、プロセス間のメモリ保護がありません。1つの不具合がルーター全体の再起動につながりやすい構造です。IOS-XEはLinuxカーネルの上でIOSを1つのプロセスとして動かします。CiscoのCatalyst 9300のテレメトリ白書は、これを「Cisco IOS now runs as a modular process on top of the Linux kernel (known as Cisco IOSd)」と説明しています。IOS-XRはさらに細かく、OSPFやBGPなどのプロトコルを個別のプロセスとして動かし、落ちたプロセスだけを再起動できます。止められないコアルーターほど、この分離が効きます。
対象機器:ASR 1000とASR 9000の搭載OSの違い
実務ではどの機器を使うかでOSが決まります。IOS-XEはCatalyst 9000スイッチ、ISR 1000/4000、ASR 1000、Catalyst 8000エッジで動きます。IOS-XRはASR 9000、NCS 540/560、NCS 5500/5700、Cisco 8000で動きます。ISRとASRを比較する際にも、ASRシリーズの中でもASR 1000はIOS-XE、ASR 9000はIOS-XRです。型番の数字まで見てからOSを判断してください。
CLIと設定の作法:commitで確定するIOS-XR
IOS-XEはIOSとCLIがほぼ共通なので、IOS経験者はそのまま操作できます。IOS-XRはコマンド体系が別で、入力した設定はいったん編集中の領域に積まれ、commitで初めて動作中の設定に入ります。インターフェース名は「GigabitEthernet0/0/0/0」の4階層、プロンプトは「RP/0/RP0/CPU0:router#」の形式です。経路の加工はroute-mapではなくRPL(Route Policy Language)で書きます。詳しい作法は後の章で扱います。
IOS-XEの現行版:17.18系と26.x系の推奨版・サポート方針
IOS-XEは17.x系が長く続き、Catalyst 9300のリリースノート一覧には17.18.xの次に26.1.xと26.2.xが並んでいます。IOS-XRも26.x系ですが、番号の刻み方は別です。CiscoのIOS XE 26のリリース方針では、26.1.1以降は年2回(2026年2月が26.1.1、8月が26.2.1)で、全リリースが原則としてGAから48か月のExtended-Supportです。四半期ごとに出るIOS-XRとは、「26.2」が指す時期も違います。17.x系では17.12・17.15・17.18など3つおきの版だけがExtended-Supportでした。Catalyst 9000の推奨リリース(2026年9月時点)はまだ17.18.4と17.15.6なので、機種ごとの推奨版を優先して選んでください。Catalyst 9000をCatalyst Centerでまとめて更新する手順はCisco Catalyst Center SWIM(旧DNA Center)とは|ソフトウェアイメージ管理とアップグレード手順で扱っています。
IOS-XRの3世代:cXR・eXR・XR7の見分け方
IOS-XRは同じ名前のまま中身が2回入れ替わっています。古い解説記事が「IOS-XRはQNXで動く」と書いているのは、最初の世代の話です。
| 世代 | 基盤 | 登場 | 現状 |
|---|---|---|---|
| cXR(Classic XR) | 32bit・QNX | 2004年(CRS-1) | 32bit専用機は6.9.2が最終 |
| eXR(Evolved XR) | 64bit Linux | 6.0 | ASR 9000の64bit版など |
| XR7(LNT) | Linux・admin plane廃止 | 7.x系の一部機種 | Cisco 8000・NCS57B1など |
IOS-XRは、Ciscoが2004年5月25日に発表した通信事業者向けルーターCRS-1とともに登場しました。日本での発表は同年6月29日で、日経クロステックの当時の記事はIOS XRを「Cisco CRS-1専用」と伝えています。CiscoのRelease 6.0のデータシートは「Release 6.0 opens up the architecture of Cisco IOS XR using a 64-bit Linux-based operating system」と書いており、64bit Linuxへの移行は6.0からです。32bit版は推奨リリースの文書で「6.9.2 is the last Cisco IOS XR release for routers and modules that are 32-bit (cXR) only」とされ、32bit専用の機器やモジュールはそこで止まります。
XR7はCiscoの技術文書221603で「Lindt」とも呼ばれ、admin planeを廃止して制御プレーンのプロセスをホスト上で直接動かす構成です。同じ文書は、版番号に7が付いていてもeXRの場合があり、ASR 9000の7.5.2はXR7アーキテクチャではないと注記しています。手元の機器がどの世代かは、版番号ではなく機種とshowコマンドの表示で確かめてください。
バージョン番号の読み方と最新版26.3.1
IOS-XRは24.1.1から番号の付け方が変わりました。CiscoのRelease Taxonomy Bulletinは「X.Y.Z format: YEAR.QUARTER.TYPE」と定義しています。
- X=西暦の下2桁(24=2024年、26=2026年)
- Y=四半期(1〜4)
- Z=種別(1=Feature Release=新機能、2=Extended Maintenance Release=修正のみで約3か月後に出る)
ASR 9000のリリースノート一覧では、2026年は26.1.1(2月27日)、26.1.2(5月26日)、26.2.1(6月9日)と続き、9月11日に26.3.1と26.2.2が同時に掲載されています。一方、推奨リリースの文書(2026年7月27日改訂)がASR 9000(64bit)・NCS・8000・XRv9000・XRdに推奨しているのは25.2.21です。同じ文書は、新機能や新しいハードウェアが要る場合もEMRを選ぶよう勧めています。ただし推奨版の番号だけで決めず、2026年9月の「Cisco IOS XR Software Security Hardening Release」に沿って修正版かSMUを当てる前提で選んでください。文書は25.2.21向けのSMUが提供済みだと注記しています。
25.2.21のように第3要素が21の版は、EMRに複数のSMUをまとめたService Packです。推奨リリースの文書は「The Service Pack release always has the format xx.yy.21」と定め、24.2の系列から年1本のペースで出すとしています。
サポート期間はSoftware Lifecycle Support Statementで決まっています。Feature Releaseとその保守版は初回リリースから24か月、EMRは36か月、セキュリティ修正のPSIRT SMUは48か月です。どの期限も導入日ではなく、その系列の初回Feature Releaseの公開日から数えます。たとえば25.2.1は2025年6月17日公開なので、EMRの25.2.2で通常の修正を受けられるのは2028年6月ごろまでです。更新計画はこの日付と個別のEOL告知から逆算します。
commitとロールバック:IOS-XRの設定の作法
IOS-XRの設定で戸惑う点のほとんどはcommitまわりです。Cisco 8000のConfiguration Management Commandsに沿って、よく使う形を並べます。
RP/0/RP0/CPU0:router# configure
RP/0/RP0/CPU0:router(config)# interface GigabitEthernet0/0/0/0
RP/0/RP0/CPU0:router(config-if)# ipv4 address 192.0.2.1 255.255.255.0
RP/0/RP0/CPU0:router(config-if)# show configuration
RP/0/RP0/CPU0:router(config-if)# commit confirmed 120
RP/0/RP0/CPU0:router(config-if)# commit
| コマンド | 動き |
|---|---|
| commit | 既定はpseudo-atomic。1件でも失敗すれば全体が戻る |
| commit best-effort | 検証を通った変更だけを適用する |
| commit confirmed 秒数 | 30〜300秒の試用。時間内にcommitしなければ元に戻る |
| commit replace | 動作中の設定全体を編集中の内容で置き換える |
| show configuration failed | 直前に失敗したcommitの設定と理由を表示 |
| rollback configuration last 1 | 直近1回分のcommitより前へ戻す |
リモートから管理用インターフェースや経路を変えるときは、commit confirmedを使うと、変更で接続が切れても指定時間後に自動で元の設定に戻ります。commit replaceは、空の設定を確定すると設定全体が消えるため、本番機では使う場面を決めておくべきコマンドです。なおconfirmedはadministration configuration modeでは使えません。
BGPにも注意点があります。IOS-XRのeBGPでは、既定で受信方向のroute-policyがなければ受信経路を採用せず、送信方向のroute-policyがなければ経路を広告しません。Cisco CommunityのIOS XRのBGP基本設定の解説では、ポリシーの無いネイバーにeBGP neighbor with no inbound or outbound policy; defaults to 'drop'という表示の例が載っています。同じ考え方はRFC 8212で標準化されています。次は、既存のIPv4 unicast BGP設定に全経路を許可するRPLを適用する抜粋です。BGPプロセス側のaddress-family ipv4 unicast、対向設定、IP到達性を先に用意し、適用後にcommitします。本番では許可する経路を絞ったポリシーに置き換えてください。
route-policy PASS-ALL
pass
end-policy
!
router bgp 65001
neighbor 192.0.2.2
remote-as 65002
address-family ipv4 unicast
route-policy PASS-ALL in
route-policy PASS-ALL out
設定ファイルをコミット前に機械で検査したいなら、IOS-XRの構文も読めるBatfishとは?ネットワーク設定を本番前に検証するOSSの仕組みと使い方のような検証ツールを組み合わせる手があります。
主要機能:高可用性・ISSU・プログラマビリティ
ISSUの対応条件:機種・ラインカード・リリースの組み合わせ
IOS-XRの64bit版はISSU(In-Service Software Upgrade)で、制御プレーンと転送への影響を抑えながら上位版へ更新できます。ただし全機器で使えるわけではありません。ASR 9000の24.1.1リリースノートは「Starting Cisco IOS XR Software Release 24.1.1, ISSU upgrades and ISSU SMU are not supported for ASR 9000 third-generation line cards」と明記しています。「IOS-XRなら再起動なしで更新できる」と前提にせず、機種・ラインカード・版の組み合わせごとにリリースノートで確かめてください。
NETCONF・YANG・gRPCとストリーミングテレメトリ
IOS-XRはNETCONFとYANGモデルで設定を構造化データとして扱え、6.0ではルーターが状態を受信側へ押し出すストリーミングテレメトリ(JSONかGoogle Protocol Buffers)が加わりました。SNMPで定期的に問い合わせる方式より細かい間隔で状態を集められます。テレメトリの転送に使われるgRPCの仕組みはgRPCとは?仕組み・RESTとの違い・UDP/TCPの扱いを実装例つきで解説で解説しています。
XRdで検証環境を起動する手順
ASR 9000などの実機を学習用に用意するのは現実的ではありません。コンテナでIOS-XRの設定や経路制御を学習する選択肢がXRdです。XRdのデータシートによると、形態は2つあります。
| 項目 | XRd Control Plane | XRd vRouter |
|---|---|---|
| 用途 | ルートリフレクタ・PCE・学習 | パケット転送を伴う構成 |
| インスタンス | 1コア・RAM 2GB | 分離CPU 2個・RAM 5GB |
| ホスト | x86-64 2コア・RAM 4GB | x86-64 4コア・SSE4.2 |
| 追加要件 | Linuxカーネル5.10以上・cgroups v2 | 1GBのhugepageを3GB |
イメージはCiscoのソフトウェアダウンロードから入手し、権限のあるCiscoアカウントが必要です。XRdはLinuxでしか動かないので、macOSやWindowsではLinuxの仮想マシンを用意します。起動にはCisco公式のxrd-tools(Apache-2.0)を使います。このリポジトリのlaunch-xrdは、実際に起動する前に--dry-runで渡す引数を確認できます。2026年4月1日時点のコミット(d524705)をbash 5.3で実行すると、Control Plane用の引数が次のように出力されました(一部を「…」で省略し、改行を加えています)。これはコンテナを起動した結果ではなく、渡す引数の確認です。タグ名を読み込んだイメージに合わせ、実際に起動するときは--dry-runを外して同じコマンドを実行します。
$ launch-xrd --dry-run --platform xrd-control-plane ios-xr/xrd-control-plane:26.3.1
docker run -it --rm --cap-drop all --cap-add AUDIT_WRITE ... --cap-add SYS_RESOURCE
--device /dev/fuse --device /dev/net/tun
--security-opt label=disable --security-opt apparmor=unconfined
--env XR_MGMT_INTERFACES=linux:eth0,chksum ios-xr/xrd-control-plane:26.3.1
同じ操作をvRouterで行うと、追加で--cap-add SYS_RAWIO、--device /dev/vfio、--device-cgroup-rule 'c *:* rwm'が付きます。vRouterはNICをPCIデバイスとして直接扱うため、launch-xrdの既定ではVFIO用の指定が加わります。データシートのホスト要件は「vfio-pci」か「igb_uio」のどちらかのカーネルモジュールで、Amazon EC2ではuioとigb_uioを使う構成が示されています。学習や設定の確認ならControl Planeで十分で、ホストの準備もずっと軽く済みます。
設定を残したいときは-vでボリュームを指定すると/xr-storageに保存され、-fで初回起動時の設定ファイルを渡せます。複数台のトポロジーはxr-composeで組み、リポジトリのsamplesにはsimple-bgp・ospf-bgp-rr・segment-routing・srv6-l3vpn・isis-ipfrrの5つの構成例が入っています。ホストの事前点検にはhost-checkを使いますが、このスクリプトがカーネルで弾くのは4.6未満だけです。データシートの要件は5.10以上なので、host-checkを通っても要件を満たしたとは限りません。
XRdはAmazon EKS上での動作もデータシートに記載があり、クラウド上のルーターや仮想PEとして使う構成も想定されています。AWS上でネットワークを含む基盤を組む場合はAWS・Google Cloud・Azureのインフラ構築支援も相談できます。
XRv9000・XRd vRouterの対象ライセンスと販売・保守終了日
仮想マシン型のXRv9000について、Ciscoは2026年7月17日にEOL告知(EOL15912)を出しました。対象はXRv9000のvPE・vBNGとXRd vRouterのサブスクリプションライセンスで、販売終了は2027年1月15日、ソフトウェア保守の終了は2028年6月11日、脆弱性対応の終了は2030年6月11日です。告知には「There is no replacement available」とあり、後継製品は示されていません。対象イメージでサポートされる最後の版は26.2.2です。新規導入では、これらの終了日と必要な転送機能を先に確認してください。XRd Control PlaneはRR・PCEなどの制御プレーン用途が中心で、転送主体のvPEやvBNGをそのまま置き換える製品ではありません。
IOS-XRを選ぶ場面と選ばない場面
IOS-XRを選ぶのは、インターネットのフル経路を扱うBGPの境界ルーター、MPLSやSegment Routingを使うSPのコア・集約網、計画停止の枠を取りにくい大規模網です。機能ごとのプロセス分離とcommitによる一括確定が、こうした網での変更事故を減らします。
逆に、企業の拠点やキャンパスLANにIOS-XRの機器を入れるのは過剰です。運用者がIOSの作法に慣れているなら、学習コストの面でもIOS-XEのCatalystやISRを選ぶべきです。
IOS-XRに関するよくある質問
IOSとIOS-XEとIOS-XRの違いを一言で言うと?
classic IOSは一体型の従来OS、IOS-XEはIOSをLinux上のプロセスとして動かす企業向けOS、IOS-XRは機能ごとにプロセスを分けたSP・大規模向けOSです。CLIはIOSとIOS-XEがほぼ共通で、IOS-XRだけがcommitで設定を確定します。
IOS-XRの最新バージョンは?
2026年10月時点の最新のFeature Releaseは26.3.1、EMRは26.2.2で、どちらも2026年9月11日にリリースノートが掲載されました。Ciscoが推奨リリースとして挙げているのは25.2.21です。番号は「西暦下2桁.四半期.種別」で、第3要素が1ならFeature Release、2ならEMR、21ならEMRにSMUをまとめたService Packです。
IOS-XRvとXRdの違いは?
XRv9000は仮想マシン型、XRdはコンテナ型の仮想IOS-XRです。XRdにはControl PlaneとvRouterの2形態があり、学習用には軽いControl Planeが向きます。XRv9000のvPE・vBNGとXRd vRouterのライセンスは2027年1月15日に販売終了と告知されています。
ISRとASRの違いは?どちらがIOS-XRですか?
ISRは企業の拠点向けルーターで、ISR 1000/4000はIOS-XE、旧世代のISR 1900/2900/3900などはclassic IOSで動きます。ASRは型番で分かれ、ASR 1000はIOS-XE、ASR 9000はIOS-XRです。「ASRだからIOS-XR」とは限りません。
IOS-XR7とは何ですか?
IOS-XRの3番目の世代で、Lindtとも呼ばれます。admin planeを廃止し、制御プレーンのプロセスをホスト上で直接動かす構成です。版番号に7が付いていてもXR7とは限らず、ASR 9000の7.5.2は64bitの前世代(eXR)です。