Cisco 7600をASR 9000に入れ替えるなら知っておきたいIOSとIOS-XRの違い

ビジネス推進本部 第1応用技術部
コアネットワークチーム
渡部 満幸

ご存知のとおり、Cisco 7600シリーズは関連モジュールを含めたほぼ全ての製品が2016年7月24日をもって販売終了となります。

メーカサイト(英語):End-of-Sale and End-of-Life Announcement for the Cisco 7600 Series Routers

このメーカアナウンスには以下の記載があり、メーカとしてはASR 9000をお買い上げ頂きたいのだと見受けられます。

The Cisco ASR 9000 Series Aggregation Services Router platform is the recommended migration platform for the Cisco 7600 Series. It offers lower cost per bit, power efficiency, higher density, and scalability.
(Cisco 7600をASR 9000へ入れ替えるのがお勧めです。bits/sec当たりのコストパフォーマンス、電力効率、ポート密度とスケーラビリティが向上します。)

しかし、大きなL3スイッチとしてCisco 7600をご利用のお客様は、Cat65 Sup2TやJuniper EXシリーズ、Brocade MLXeなどが適切かと思います。

Cisco 7600にESモジュールを搭載し複雑で大規模なMPLSネットワークをご利用のお客様、将来を見据えた高密度100GEインタフェースの導入をご検討のお客様、こちら、ASR 9000がお勧めの商品となっております。

この記事ではCisco 7600からASR 9000へのマイグレーションをお考えのお客様へ、製品の違いや注意点をほんの触り程度にご紹介したいと思います。

・C76/A9K ハードウェア面での違い
・CoPPとLPTS
・設定ファイル、構文の違い
・TelnetやSSHの設定
・Static routeの設定
・LAGの違い
・BFD multipath
・Interface vlan相当の設定
・route-mapとroute-policy
・PBRとABF

なお、Cisco 7600が販売終了になるとはいえ、メーカサポートは最長で2021年7月31日まで提供される予定です。
それまでは既存のCisco 7600を使い続けることが可能です。

免責事項

本コラムでは各メーカが公表した2015年12月現在のデータ、および弊社内での独自の試験の結果を一部使用しています。
内容の性格上、詳しくお伝えできない部分があります。
また、実運用時の挙動及びパフォーマンスを保証するものではありません。
参考情報としてご利用ください。

メーカ公証値との差異がある場合、正確性の観点からメーカ公証値をご利用ください。

なお、本記事ではCisco 7600を指してC76、ASR 9000を指してA9Kと称しています。

C76/A9K ハードウェア面での違い

まずは簡単なところからQA形式でご紹介します。

Q1)C76のRSPに付属するインタフェースはトラフィックの転送に使えますが、A9KのRSPのポートは同様に使えますか?
A1)使えません。A9KのRSPに付属するインタフェースはTelnet/SSHやNTP等、限られた管理用通信だけで利用可能であり、ラインカードとの間で通信のやり取りはできません。

Q2)C76のRSPにはMSFC(PFC)によって性能やスケーラビリティに違いがありますが、A9KのRSP型番によって何が違いますか?
A2)A9K-RSPには-TRや-SEといった異なる型番が存在します。この型番間での違いは、搭載されているDRAM容量の違いだけです。機能や転送速度に違いはありません。

Q3)C76のRSP720はシャーシ全体のファブリック容量の数字(720Gbps)を表していますが、それに比べてA9KのRSP440は少なすぎませんか?
A3)A9KのRSP440やRSP880といった数字は、ラインカードスロット当たりの最大転送容量を意味します。C76 RSP720はラインカードスロット当たり40Gbpsの転送容量であるのに対し、A9K RSP440はラインカードスロット当たり440Gbpsの転送容量を持ちます。なんとC76の11倍。
もちろんシャーシ全体の転送容量はラインカードスロット当たり440Gbps×スロット数が保証されています。例えばASR9010の場合、ラインカードスロットは8ですので440Gbps×8=3,520Gbpsです。

Q4)C76のラインカードにはDFCなどの追加カードがありますが、A9Kにはありますか?
A4)ありません。A9Kのラインカードはそれ単体でフルパフォーマンス、フルフィーチャーです。その代りに、-SEや-TRといった型番毎に利用可能なQoS性能(Queueの数)の差分があります。

Q5)C76ではラインカードにDFCが搭載されていない場合、セントラルスイッチングでパフォーマンスが下がりますが、A9Kではどうですか?
A5)A9Kでは転送処理をラインカードに搭載するNPUで処理します。そのため追加モジュール無しで全て分散処理され、転送性能が下がることはありません。詳しくは次の記事を参照ください。キャリアエッジルータの最新ラインカードとその特徴(前半)

Q6)C76にはFWSMやVSPA等、付加機能を利用するためのサービスモジュールがありますが、A9Kにはありますか?
A6)A9KではISM(主にNAT用)とVSM(NAT/IPSec/他)という2種類のサービスモジュールがリリースされています。ただし、現状広く利用されているとは言えない状況です。

Q7)でも、お高いんでしょう?
A7)まずは弊社担当までご相談ください!

C76 IOS/A9K IOS-XR ソフトウェア(一部ハードウェア)面での違い

C76はIOSで動作します。これに対し、A9KはIOS-XRと呼ばれる全く異なるアーキテクチャのOSで動作します。
Cisco製品群でIOSの頭文字を持つのがIOS、IOS-XE、IOS-XRと3種類存在しますが、この中でもIOS-XRは設定の構文や動作方法が他のIOSとは全く異なります。
ここから少し細かい内容です。

バージョン変更時の操作の違い

例えばIOS/IOS-XEのバージョン変更は、bootflash(cfや内部flash等)にOSイメージファイルをコピーし、機器を再起動すればてっとり早く実施可能です。
一方IOS-XRはROMMONからのturboboot(クリーンインストール)や、起動済みのIOS-XR CLIからinstallコマンドを実行する(通常のバージョン変更)等、どちらかというとLINUX等のOSに近い操作が必要です。
実はこれがかなり手間のかかる作業です。
バージョン変更については販社やメーカに詳しく確認することをお勧めします

CoPPとLPTS

従来のIOSではRSPのCPU、つまりコントロールプレーンを保護するための機能としてControl Plane Policing(CoPP)が利用可能です。
この機能はdefaultでは機能しておらず、ユーザが自身で「Telnet/SSHを10ppsまで許可する、BGPは1000ppsまで許可する、OSPFはxxx」といったように設定が必要です。
従って初期設定のままでは無防備です。

一方IOS-XRではLocal Packet Transport Service(LPTS)と呼ばれる自己防衛用のファイアウォールメカニズムを実装しています。
これは初期設定のままで既に機能しており、ルータ自身宛てに送信されたトラフィックを全て監視しています。
LPTSの処理はラインカードのASIC(NPU)で実行され、RSPのCPUに負荷はかかりません。

LPTSはARP、IPv6-ND、ICMPも対象となるため、ネットワーク接続時や障害復旧時等で多量のAdjacencyを確立するような場合はpolicingに引っかかりわずかに復旧が遅れる可能性があることに注意が必要です。

少し詳しくLPTSのメカニズムをご紹介します。

無題

この動作はshow lptsコマンドで確認可能で、例えば以下のように表示されます。
無題

ここで以下のような設定をIOS-XRに追加します。
b

すると以下のような情報が自動でLPTSに登録されます。
c

この状態から10.44.115.52とiBGP Peer Establishedになると、次のエントリが更に追加登録されます。
d
このように、LPTSの設定をユーザが変更する必要なしに、configの追加やNeighbor確立等のイベントをきっかけとして自動的にファイアウォール機能に反映されます。

設定ファイル、構文の違い

IOSはconf tでconfigを書き換えると即座にルータの動作に反映されます。
また、running-configはメモリ上で動作しており、再起動後の設定に反映させる場合はwrite memoryやcopy run startといったコマンドが必要です。

これに対して、IOS-XRはconfで入力した設定変更はcommitコマンドを実行するまで
running-configには反映されません。JUNOSのアレです。
また、動作上はrunning-config = startup-configであるため、write memoryする必要はありません。
IOS-XRではconfig変更の内容が100世代前まで保存されており、任意のポイントの設定にロールバックすることも可能です。

コマンド自体はIOSとIOS-XRでそれほど大きく差異はありませんが、IOSからの移行に際してちょっと戸惑う部分を次項から紹介します。

TelnetやSSHの設定

e
IOSではline vty 0 15で16セッション分のvty接続が可能ですが、IOS-XRではvty-poolコマンドで16セッション分を確保しなければならない点に注意が必要です。
また、IOS-XRではdefaultでlocalユーザ認証が動作しています。そのためIOSのようなlogin localというコマンドはありません。
それ以外は概ねIOSと同じです。

Static routeの設定

f
意外な落とし穴、static routeの設定ですが、IOS-XRはrouter staticのモードで設定します。

mls xxxコマンド

C76でおなじみのmls xxx系コマンドはA9Kには存在しません。
C76と違い、A9Kではすべての転送機能がラインカード上のNPUで実行されます。

LAGの違い

設定方法とインタフェース名の違い
i
IOS-XRではbundle-etherと名前が変わりました。C76 RSP720では1GEと10GEといったいわゆる異速度LAGをサポートしません。
一方A9Kでは1GEと10GE、10GEと40GE、10GEと40GEと100GE、等の帯域幅1:10までの異速度LAGをサポートしています。また、LAGロードバランシングメカニズムもRSP720とA9Kでは異なっています。
RSP720では3bitハッシュバケットに対して出力インタフェースリストをASICに書き込んでバランスします。
j

これに対し、A9Kは32bitのハッシュ値をもとに、複数の階層からなるロードインフォ(LDI)と呼ばれるポインタ情報を利用し、よりフェアなバランシングを行います。
k
なお、Cat65EやC76Sで利用可能なSup2Tではhashが8bitに拡張されています。

BFD multipath

A9KではLAG上でBidirectional Forwarding Detectionを実行可能です。
LAGの一般的な運用として「ラインカードスロット跨ぎでLAGを組む」ことで耐障害性を向上させることが出来ますが、この場合にBFDを利用する際は注意する点があります。
A9KはBFDもラインカード上のNPUで実行しますが、この際に「隣のラインカードスロットにも同じBFD監視対象が存在する」ことを明示する必要があります。
例えば以下のように「ラインカードスロット0と、ラインカードスロット1にはBFDのmultipathが存在する」という設定が必要です。

n

Interface vlan相当の設定

A9Kはルータですので、vlanという概念がありません。
一方C76では以下のようにスイッチとして動作することが可能です。
m

このような設定をA9Kで再現する場合、以下のような設定になります。
a無題
A9Kで注意すべきなのは、このbridge-domainではSpanning Tree ProtocolのBPDUを透過するという点です。
BPDUを通したくない場合、MAC ACL等でFilterを設定する必要があります。

route-mapとroute-policy

BGPで経路情報の送受信において何かしらの制御を行いたい場合、IOSではroute-mapを使用します。
一方IOS-XRではroute-policyをRPL(Route Policy Language)を使って定義します。
これはかなり難易度の高い変換作業です。

いくつか例をご紹介しますが、確実なところはメーカや販社に確認するのが良いかと思います。
route-policyの動作については比較的詳しく説明されているページがありますので、こちらもご参考までに。
メーカサイト(英語):ASR9000/XR: Understanding and using RPL

s
この設定例は以下のような条件で動作します。
BGP 自AS番号=65535 としてプロセスを起動
eBGP neighbor 192.168.1.1 対向AS番号=65501
192.168.1.1に対して以下のパラメータをセットアップ
AFI/IPv4 SAFI/Unicastをnegotiation
Private-AS番号を削除して経路情報を送信
Route-refreshをnegotiation
受信する経路情報でprefix-lentgh 24以下のものだけを受信 (too specific経路をdropする)
受信した経路情報にmed 80、community 65535:65501の2つを付与してBGPテーブルに格納
受信する経路情報のAS_PATHが65501から始まるものだけをBGPテーブルに格納
送信する経路情報は172.16.1.0/24と172.17.2.0/24の2つだけ
送信する経路情報の172.16.2.0/24にはmed 200、as-path prepend 65535を実行

これをIOS-XRのConfigに書き換えると、以下のようになります。
t
RPLは違う書き方でも同じ動作を実現できるため、設定の方法は何通りか存在します。
是非、自分に合ったスタイルでRPLをスマートに書き殴って頂ければと思います。

PBRとABF

IOSではPolicy Based Routingによって、Routing Tableを無視して特殊な転送を行うことが可能です。
例えば以下の設定例では、「ip source address 192.168.99.0/24に含まれる端末からのTelnet発信はnexthop 172.16.99.254へ捻じ曲げる」という処理を行います。
upng

A9KではAccess-list Based Forwardingを使用するため、PBRはACLの1つのエントリとして記載します。
v

まとめ

いかがでしたでしょうか。
一体この記事は誰に向けて書かれているものなのか、筆者にもよくわからなくなってきました。

今回ご紹介した以外にも、debugしなくともtraceが使えることや、プロセスリスタータビリティ、Punt処理の違い等、まだまだご紹介しきれない部分がたくさんあります。
とても1回では書ききれませんので、今回は一旦ここまでとさせてください。

製品へのご興味が湧いた際には是非とも弊社営業までご相談頂ければと思います。

執筆者プロフィール

渡部 満幸
ネットワンシステムズ株式会社 ビジネス推進本部 第1応用技術部 コアネットワークチーム所属
入社以来約10年以上、応用技術部でルータ製品の調査及び研究を行い、その結果をもってお客様への提案支援やネットワーク設計、障害解析等の支援を行う。
Cisco製品ではローエンドからハイエンド、キャリアグレードルータまで、Juniper/Alcatel製品では主にエッジルータを評価している。
Ethernet/IP/MPLS/PPP(oX)等、ルータ製品で動作するプロトコル全般を調査対象としている器用貧乏型。

イベント/レポート

pagetop