We’ve been able to install a Cisco ASR9006 router in our lab and spend some time getting familiar with the configuration and general layout of the router. This article will give a quick overview of the platform and why it rocks!
From the Cisco website:
The Cisco ASR 9000 Series is a true carrier-class solution. It features the modular, microkernel-based Cisco IOS XR Software operating system, comprehensive system redundancy, and a full complement of network resiliency schemes. It also offers a unique service and application-level intelligence that focuses on optimized video delivery and mobile aggregation.
The Cisco ASR9000 datasheet gives a good overview of the platform, line card bandwidth, and specifications.
The ASR9006 is a 6RU modular router. The model we have is an AC powered system and has redundant RSP (Router Switch Processor) cards and one low-queue 40-port 1Gig card. Depending on queuing requirements there are also medium- and high-queue cards available. You can view the available line cards here.
For legacy TDM solutions you can use the SPA Interface Processor, which supports T1 to OC-192 speeds.
Information on the Route Switch Processor (RSP) can be found here.
The ASR9000 platform uses IOS-XR, taking features and capabilities from the CRS-1 platform.
Cisco IOS XR modular operating system: The Cisco ASR 9000 Series uses the Cisco IOS XR operating system, made famous by the highly successful Cisco CRS Carrier Routing System platform in core deployments. Cisco IOS XR operating system is purpose-built for distributed systems such as the Cisco ASR 9000 Series and uses a microkernel architecture to achieve true modularity. This modularity provides the path to nonstop operations during software image upgrades or module changes, without affecting normal platform operations.
I’m not going to go into the detail that can be found in the datasheets but will be covering what the ASR9006 looks like and how to do accomplish basic configuration on the router.
Configuration of IOS-XR is similar to Cisco IOS except there are some few exceptions. The command structure has become more modularized with related configuration commands grouped together. For example, to configuring OSPF parameters would look like this:
RP/0/RSP0/CPU0:ios(config)#router ospf 100 RP/0/RSP0/CPU0:ios(config-ospf)#area 0 RP/0/RSP0/CPU0:ios(config-ospf-ar)#interface GigabitEthernet0/0/0/0 RP/0/RSP0/CPU0:ios(config-ospf-ar-if)#network point-to-point RP/0/RSP0/CPU0:ios(config-ospf-ar-if)#end
RP/0/RSP0/CPU0:ios#sh run | b router ospf
Wed Jul 6 20:04:56.616 UTC Building configuration... router ospf 100 area 0 interface GigabitEthernet0/0/0/0 network point-to-point ! ! !
Instead of issuing some OSPF-related commands under the interface and others under the OSPF process the commands are now consolidated under the process.
Logging into the router via the console is similar to that of IOS.
Once connected you are greeted with the console screen:
ios con0/RSP0/CPU0 is now available Press RETURN to get started.
Hit ‘Enter’ to login:
User Access Verification Username: ######## Password: RP/0/RSP0/CPU0:ios#
You are now at the command prompt and can enter show commands and other diagnostic commands.
RP/0/RSP0/CPU0:ios#sh version Wed Jul 6 20:07:44.964 UTC Cisco IOS XR Software, Version 4.0.1[Default] Copyright (c) 2010 by Cisco Systems, Inc. ROM: System Bootstrap, Version 1.04(20100216:021454) [ASR9K ROMMON], ios uptime is 6 weeks, 6 hours, 55 minutes System image file is "bootflash:disk0/asr9k-os-mbi-4.0.1/mbiasr9k-rp.vm" cisco ASR9K Series (MPC8641D) processor with 4194304K bytes of memory. MPC8641D processor at 1333MHz, Revision 2.2 ASR-9006 AC Chassis 4 Management Ethernet 40 GigabitEthernet 219k bytes of non-volatile configuration memory. 977M bytes of compact flash card. 67988M bytes of hard disk. 1605616k bytes of disk0: (Sector size 512 bytes). 1605616k bytes of disk1: (Sector size 512 bytes).
If you do a ‘show run’ you can see that the structure is similiar but commands are grouped together in a more coherent manner.
RP/0/RSP0/CPU0:ios#sh run Wed Jul 6 19:46:35.592 UTC Building configuration... !! IOS XR Configuration 4.0.1 !! Last configuration change at Tue Jul 5 21:12:53 2011 by <removed> ! telnet vrf default ipv4 server max-servers 5 username <removed> group root-system secret 5 <removed> ! aaa authorization exec default local aaa authentication login default local vty-pool default 0 15 interface MgmtEth0/RSP0/CPU0/0 ipv4 address 172.17.10.254 255.255.255.0 ! interface MgmtEth0/RSP0/CPU0/1 shutdown ! interface MgmtEth0/RSP1/CPU0/0 shutdown ! interface MgmtEth0/RSP1/CPU0/1 shutdown ! interface GigabitEthernet0/0/0/1 shutdown ! interface GigabitEthernet0/0/0/2 shutdown ! interface GigabitEthernet0/0/0/3 shutdown ! interface GigabitEthernet0/0/0/4 shutdown ! interface GigabitEthernet0/0/0/5 shutdown ! interface GigabitEthernet0/0/0/6 shutdown ! interface GigabitEthernet0/0/0/7 shutdown ! interface GigabitEthernet0/0/0/8 shutdown ! interface GigabitEthernet0/0/0/9 shutdown ! interface GigabitEthernet0/0/0/10 shutdown ! interface GigabitEthernet0/0/0/11 shutdown ! interface GigabitEthernet0/0/0/12 shutdown ! interface GigabitEthernet0/0/0/13 shutdown ! interface GigabitEthernet0/0/0/14 shutdown ! interface GigabitEthernet0/0/0/15 shutdown ! interface GigabitEthernet0/0/0/16 shutdown ! interface GigabitEthernet0/0/0/17 shutdown ! interface GigabitEthernet0/0/0/18 shutdown ! interface GigabitEthernet0/0/0/19 shutdown ! interface GigabitEthernet0/0/0/20 shutdown ! interface GigabitEthernet0/0/0/21 shutdown ! interface GigabitEthernet0/0/0/22 shutdown ! interface GigabitEthernet0/0/0/23 shutdown ! interface GigabitEthernet0/0/0/24 shutdown ! interface GigabitEthernet0/0/0/25 shutdown ! interface GigabitEthernet0/0/0/26 shutdown ! interface GigabitEthernet0/0/0/27 shutdown ! interface GigabitEthernet0/0/0/28 shutdown ! interface GigabitEthernet0/0/0/29 shutdown ! interface GigabitEthernet0/0/0/30 shutdown ! interface GigabitEthernet0/0/0/31 shutdown ! interface GigabitEthernet0/0/0/32 shutdown ! interface GigabitEthernet0/0/0/33 shutdown ! interface GigabitEthernet0/0/0/34 shutdown ! interface GigabitEthernet0/0/0/35 shutdown ! interface GigabitEthernet0/0/0/36 shutdown ! interface GigabitEthernet0/0/0/37 shutdown ! interface GigabitEthernet0/0/0/38 shutdown ! interface GigabitEthernet0/0/0/39 shutdown ! router static address-family ipv4 unicast 0.0.0.0/0 172.17.10.1 ! ! end
Entering into config mode is similar to IOS except you have an ‘exclusive’ option that allows you to lock the system from being changed while you are make configuration alterations.
RP/0/RSP0/CPU0:ios#config ? exclusive Configure exclusively from this terminal terminal Configure from the terminal <cr> RP/0/RSP0/CPU0:ios#config terminal Wed Jul 6 19:47:44.757 UTC RP/0/RSP0/CPU0:ios(config)#
Once in config mode you are free to enter different sub-configuration sections like IOS.
Assigning addresses on IOS-XR is the same for IPv4 and IPv6. You specify the address type and then the address.
RP/0/RSP0/CPU0:ios(config)#int GigabitEthernet 0/0/0/0 RP/0/RSP0/CPU0:ios(config-if)#ipv4 address 192.168.10.1 255.255.255.0 RP/0/RSP0/CPU0:ios(config-if)#ipv6 address fec0:0:0:1::1/64 RP/0/RSP0/CPU0:ios(config-if)#no shut RP/0/RSP0/CPU0:ios(config-if)#
Once features are configured, unlike IOS, IOS-XR has a commit/rollback model that can be used to save changes, rollback from those changes, and it is able to detect conflicts between different user changes. Below we’ll commit the address changes above, rollback, then rollback again to bring the configuration back.
RP/0/RSP0/CPU0:ios(config)#commit ? best-effort Commit the configuration changes via best-effort operation comment Assign a comment to this commit confirmed Rollback this commit unless there is a confirming commit force Override the memory checks label Assign a label to this commit replace Replace the contents of running configuration save-running Save running configuration to a file <cr> Commit the configuration changes via pseudo-atomic operation RP/0/RSP0/CPU0:ios(config)#commit comment ** Made changes to interface Gig0/0/0/0 ** RP/0/RSP0/CPU0:ios(config)#exit RP/0/RSP0/CPU0:ios#show run int gig0/0/0/0 Wed Jul 6 19:55:02.972 UTC interface GigabitEthernet0/0/0/0 ipv4 address 192.168.10.1 255.255.255.0 ipv6 address fec0:0:0:1::1/64 ! RP/0/RSP0/CPU0:ios#sh config commit list det Wed Jul 6 19:58:07.351 UTC 1) CommitId: 1000000019 Label: NONE UserId: <removed> Line: con0_RSP0_CPU0 Client: CLI Time: Wed Jul 6 19:50:31 2011 Comment: ** Made changes to interface Gig0/0/0/0 *** RP/0/RSP0/CPU0:ios#show config rollback changes last 1 Wed Jul 6 19:58:49.292 UTC Building configuration... !! IOS XR Configuration 4.0.1 interface GigabitEthernet0/0/0/0 no ipv4 address 192.168.10.1 255.255.255.0 no ipv6 address fec0:0:0:1::1/64 ! end RP/0/RSP0/CPU0:ios#rollback configuration last 1 comment ** Removing Gig0/0/0/0 Configuration ** Wed Jul 6 19:59:30.420 UTC Loading Rollback Changes. Loaded Rollback Changes in 1 sec Committing. 2 items committed in 1 sec (1)items/sec Updating. Updated Commit database in 1 sec Configuration successfully rolled back 1 commits. RP/0/RSP0/CPU0:ios#sh run int gig0/0/0/0 Wed Jul 6 19:59:49.857 UTC % No such configuration item(s) RP/0/RSP0/CPU0:ios#rollback config last 1 Wed Jul 6 20:01:08.591 UTC Loading Rollback Changes. Loaded Rollback Changes in 1 sec Committing. 2 items committed in 1 sec (1)items/sec Updating. Updated Commit database in 1 sec Configuration successfully rolled back 1 commits. RP/0/RSP0/CPU0:ios#sh run int gig0/0/0/0 Wed Jul 6 20:01:18.527 UTC interface GigabitEthernet0/0/0/0 ipv4 address 192.168.10.1 255.255.255.0 ipv6 address fec0:0:0:1::1/64 !
This gives greater flexibility when multiple users could be making changes or when a configuration mistake must be rolled-back quickly. No more reloads or cut-and-paste hack jobs.
In subsequent articles we will be covering the provisioning of specific features such as OSPFv2/OSPFv3, BGP, MPLS, and multicast.