キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
3867
閲覧回数
11
いいね!
0
コメント
Kento Yamada
Cisco Employee
Cisco Employee

初版: 2021年2月9日

 

 

概要

IOS XR7 は、Cisco 8000 シリーズルータや、NCS540 シリーズルータの一部のモデルに搭載されている新しい IOS-XR オペレーティングシステムです。従来の IOS-XR 32 bit (cXR) や IOS-XR 64 bit (eXR) とはアーキテクチャが異なります。
本ドキュメントでは、XR7 について記載しています。

 

IOS-XR の歴史

IOS-XR は当初 32 bit QNX オペレーティングシステムとしてリリースされ、その後 IOS-XR 6.x からは 64 bit Linux オペレーティングシステムである IOX-XR 64 bit (eXR) がリリースされています。IOS-XR 7.x のリリースに伴い、新たなアーキテクチャである XR7 (LNT) が登場しました。

XR_journey.png


IOS-XR の進化の歴史と背景については、こちらを参照して下さい。

 

XR7 アーキテクチャ

XR7_arch.png

eXR では、Linux Kernel 上で XR および Sysadmin (Calvados) が動作します。
ルータとしての一般的な機能 (インタフェース管理、ルーティングプロトコルなど) に関わるプロセスは XR 上で動作し、ユーザ管理などの機能は Sysadmin が担います。XR と Sysadmin はそれぞれ独立しているため、それぞれの CLI モードの切り替えや、XR と Sysadmin 間でのファイル移動が必要となります。なお、上図では LXC と記載がありますが、eXR の仮想化には LXC と KVM が存在します。eXR の詳細については以下をご参照下さい。
IOS-XR 64-bit (eXR) の概要と基本アーキテクチャ紹介

一方 XR7 では、IOS-XR の各プロセスは Host (Linux Kernel 4.8.28, WRL9) のネイティブプロセスとして動作します

RP/0/RP0/CPU0:XR7#show processes | inc ipv4
Mon Feb  8 06:20:03.253 UTC
JID TID Stack pri state NAME rt_pri 197 5042 0K 20 Sleeping ipv4_arm 0 197 5087 0K 20 Sleeping ipv4_arm 0 197 5136 0K 20 Sleeping ipv4_arm 0 314 5062 0K 20 Sleeping ipv4_acl_mgr_ma 0 314 5498 0K 20 Sleeping ipv4_acl_mgr 0 242 5068 0K 20 Sleeping ipv4_mfwd_partn 0 242 5461 0K 20 Sleeping ipv4_mfwd_partn 0 242 5586 0K 20 Sleeping ipv4_mfwd_partn 0 ---snip---
1136 6362 0K 20 Sleeping ipv4_rib 0
RP/0/RP0/CPU0:XR7#bash Mon Feb 8 06:20:37.017 UTC [XR7:~]$ps x | grep ipv4 5042 ? Sl 0:00 ipv4_arm 5062 ? Sl 0:00 ipv4_acl_mgr 5068 ? Sl 0:01 ipv4_mfwd_partner 5090 ? Sl 0:00 ipv4_io 5097 ? Sl 0:00 ipv4_ma
---snip---
6362 ? Sl 0:00 ipv4_rib

また、eXR において Sysadmin が扱っていた各種管理機能は XR に移行され、Sysadmin は廃止されています
XR7 で admin コマンドを実行すると、以下のように警告が表示されます。
RP/0/RP0/CPU0:XR7#admin
Mon Feb  8 05:55:26.269 UTC
WARNING: Admin mode has been deprecated. Please consult the Command Line Interface Guide.

eXR において admin モードで実行していた、"show environment" のような show コマンドや、"hw-module location all reload" のような exec コマンドは XR CLI に移行され、LXC 分離に伴うモード切り替えを意識することなく、IOS-XR ルータの操作が可能となりました。このように、XR7 の設計思想の特徴の 1 つとして、シンプルな操作性が挙げられます。

 

XR7 におけるインターフェース

XR7 では、RP および LC が検出したすべてのインタフェースを Active RP のカーネルにプログラムします。つまり、IOS-XR のインタフェースを Linux 上で管理することが可能となります。デフォルトでは、 IOS-XR の全てのインタフェースは IOS-XR の CLI を介して管理され、インタフェースに関する属性(IP アドレス、MTU、up/down の状態など) は XR のインタフェース設定から継承されます。
一方、Linux management interface は Linux によって管理され、一般的な Linux コマンドである iproute2 utility や ifconfig などを使用して管理します。これにより、一般的な Linux サーバの自動化ツールを使用して IOS-XR のインタフェースを管理することが可能となります。

RP/0/RP0/CPU0:XR7#show ipv4 interface brief
Mon Feb  8 07:00:44.086 UTC

Interface                      IP-Address      Status          Protocol Vrf-Name
FourHundredGigE0/0/0/0         192.168.1.1     Up              Up       default
FourHundredGigE0/0/0/1         unassigned      Shutdown        Down     default
FourHundredGigE0/0/0/2         unassigned      Shutdown        Down     default
FourHundredGigE0/0/0/3         unassigned      Shutdown        Down     default
---snip---
RP/0/RP0/CPU0:XR7# RP/0/RP0/CPU0:XR7#bash Mon Feb 8 07:01:25.909 UTC [XR7:~]$ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:fd:01:f6:3a brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever 3: to_xr: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500 link/none 5: FH0_0_0_0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 link/ether 78:33:e4:84:d8:00 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 scope global FH0_0_0_0 valid_lft forever preferred_lft forever 6: FH0_0_0_23: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 78:33:e4:84:d8:b8 brd ff:ff:ff:ff:ff:ff 7: FH0_0_0_22: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 78:33:e4:84:d8:b0 brd ff:ff:ff:ff:ff:ff
---snip---

 

XR7 における VRF

XR7 では、IOS-XR で設定された VRF は カーネルに自動的に同期されます。カーネル上では、これらの VRF は netns (Network Namespace) として表示されます。

RP/0/RP0/CPU0:XR7#show vrf all
Mon Feb  8 07:06:04.459 UTC
VRF                  RD                  RT                         AFI   SAFI
MGMT                 not set
test                 not set
RP/0/RP0/CPU0:XR7#
RP/0/RP0/CPU0:XR7#bash
Mon Feb  8 07:06:09.272 UTC
[XR7:~]$ip netns list
vrf-test
vrf-MGMT
vrf-default
global-vrf
default
xrnns



Linux カーネルの経路情報

カーネルの一部である Linux network stack は、通常の Linux アプリケーションによるパケット送受信の際に使用されます。 XR7 では、Linux network stack が XR network stack を参照できるように、以下の 2 種類の経路をカーネルにプログラムします。

  • default route
    • カーネル上の default route として、IOS-XR の RIB/FIB 宛の経路がプログラムされます。
  • local/connected route
    • 自身が持つ I/F で設定されたサブネットに関する経路情報
[XR7:~]$route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         *               0.0.0.0         U     2048   0        0 to_xr
172.17.0.0      *               255.255.0.0     U     0      0        0 docker0
192.168.1.0     *               255.255.255.0   U     0      0        0 FH0_0_0_0

 

XR7 で動作する機器

  • Cisco 8000 シリーズルータ
  • NCS540 シリーズルータの一部モデル

詳細は以下のドキュメントをご参照下さい。
XR7: XR7 で動作する NCS540 シリーズルータについて

IOS XR RPM

XR7 では、全ての IOS-XR コンポーネントが基本的に RPM となり、Optional RPM と Mandatory RPM に分類されます。

  • Optional RPM
    • BGP や ISIS などのコンポーネント
    • デバイスをリロードすることなく削除やアップグレードが可能
  • Mandatory RPM
    • システムから削除することができないコンポーネント
    • 個別のアップグレードは可能だが、システムのリロードを伴う場合がある

これらの RPM では、IOS XR のリリースごとのセマンティックバージョンが使用され、新機能やバグ修正は RPM 形式で提供されます。この結果、XR7 では SMU が不要となり、バグの修正はシステムにインストールされている RPM をアップグレードすることで対応します。

RP/0/RP0/CPU0:XR7#show install active summary
Mon Feb  8 07:39:38.440 UTC
Active Packages:    XR: 166    All: 1183
Label:              7.0.12
Software Hash:      ef03cb2381d2e0a5c974f8fa59795ed8

Optional Packages                                                        Version
---------------------------------------------------- ---------------------------
xr-8000-mcast                                                     7.0.12v1.0.0-1
xr-8000-netflow                                                   7.0.12v1.0.0-1
xr-bgp                                                            7.0.12v1.0.0-1
xr-ipsla                                                          7.0.12v1.0.0-1
xr-is-is                                                          7.0.12v1.0.0-1
xr-lldp                                                           7.0.12v1.0.0-1
xr-mcast                                                          7.0.12v1.0.0-1
xr-mpls-oam                                                       7.0.12v1.0.0-1
xr-netflow                                                        7.0.12v1.0.0-1
---snip---
RP/0/RP0/CPU0:XR7# RP/0/RP0/CPU0:XR7#bash Mon Feb 8 07:39:44.793 UTC [XR7:~]$rpm -qa | grep xr-bgp xr-bgputil-7dee261fe41a15d8-7.0.12v1.0.0-1.x86_64 xr-bgputil-c1d82c6c34a39c33-7.0.12v1.0.0-1.x86_64 xr-bgp-c1d82c6c34a39c33-7.0.12v1.0.0-1.x86_64 xr-bgputil-7.0.12v1.0.0-1.x86_64 xr-bgp-7dee261fe41a15d8-7.0.12v1.0.0-1.x86_64 xr-bgputil-8201-7.0.12v1.0.0-1.x86_64 xr-bgp-8201-7.0.12v1.0.0-1.x86_64 xr-bgp-7.0.12v1.0.0-1.x86_64

 

XR7 のインストール

XR7 における IOS-XR のインストールは、従来の cXR/eXR と大きく異なります。
XR7 のインストールは下記のドキュメントをご参照下さい。

XR7: インストール概要

 

参考情報

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします