Hello my friend,
I’m continuing my exciting discovery of Nokia (Alcatel-Lucent) IP solution and ways how it works. The main topic for today is the comparison of configuration of Nokia (Alcatel-Lucent)’s and Cisco’s operation systems, which are used in their network devices in Service Provider (SP) networks. In the previous article I’ve covered the process of setting up the lab, which includes Cisco IOS XRv and Nokia VSR virtual routers, so my further investigations will be based on this lab.
Disclaimer
All the thoughts in this article are my own and may not reflect the official position of Nokia.
What is it all about?
The configuration of operation system is actually the way, how we configure the devices (routers in our case) to perform desired activities. As an example of such tasks you can consider assigning IP address to an interface, bringing some ports up or launching the routing protocols. I can continue this list with a numerous examples, but I think you’ve got the idea. In other words, the configuration of device is a language, which we speak with it. As with other languages, if you know the language, you can communicate and be understood, if not, you can’t ask anybody to do something.
What language speaks Cisco?
Let’s talk at the beginning about Cisco languages. There are several operation systems, which are used by Cisco devices. Everything has begun many years ago with Cisco IOS, which is being extensively used for more than 20 years. Recently Cisco has invented 3 other variations of its IOS:
- IOS XE. It’s used in portfolio of new switches (e.g. Cisco Catalyst 3650/3850) and routers (e.g. Cisco ASR 1k).
- NX-OS. It’s used in portfolio of data center switches Cisco Nexus.
- IOS XR. It’s used in portfolio of SP routers (e.g. ASR 9000, NCS 6000).
There are also some other OS, like ASA OS, which is used in Cisco security devices and which is also has its own syntax.
Cisco ASR 9000 Series Routers portfolio
From the configuration point of view, Cisco traditional IOS and IOS XE are just the same. On the other hand, NX-OS is configured differently and IOS XR is also configured differently. For many engineers, who have used to work with IOS previously (for me as well), the transition to Cisco IOS XR is not smooth at all. The reason for that is the different logic, how IOS XR is configured configured. And it turns out that there is much more in common between Cisco IOS XR and Nokia (Alcatel-Lucent) SR OS, than between Cisco IOS XR and other Cisco operation systems.
What language speaks Nokia (Alcatel-Lucent)?
All Nokia (Alcatel-Lucent) IP devices speak one version of operation system, which is called SR OS. It stands for Service Router Operation System. It’s very easy to memory this acronym, because Nokia (Alcatel-Lucent) IP devices are called mainly 7750 SR (Service Router) or 7705 SRA (Service Aggregation Router). There is also switch portfolio by Nokia (Alcatel-Lucent), which is called ESS, but it also operates SR OS. So all Nokia (Alcatel-Lucent) devices speaks the only one language, what significantly simplifies the configuration and operation.
Let’s take a closer look, how we perform the same configuration activities in SR OS and IOS XR.
Nokia (Alcatel-Lucent) 7750 SR portfolio
The structure of CLI in SR OS and IOS XR
Both vendors CLIs consist of different contexts. Context is a kind of abstract that covers configuration of certain things. For example we have configuration contexts for different routing protocols or for interfaces. The context is marked with bold in the example below, where you see configuration context for logical interfaces.
Nokia (Alcatel-Lucent) VSR | Cisco IOS XR |
*A:SR3>config>router>if# |
RP/0/0/CPU0:XRv1(config-if)# |
Though it looks not so similar at the first glance, take a look hove you navigate between contexts:
Nokia (Alcatel-Lucent) VSR | Cisco IOS XR |
*A:SR3# configure |
RP/0/0/CPU0:XRv1#configure |
There are only two differences in this example. The significant one is that in Nokia (Alcatel-Lucent) SR OS you configure all routing protocols, as well as logical interfaces, in “router” configuration context. This is done due to strict decoupling of logical interface and physical interface, which are configured completely separated from each other. The second difference is that you have to mention “loopback” under interface configuration context. This also relates to fact that we have this decoupling of logical and physical interfaces. Name “Lo10” doesn’t mean Loopback10, as you may expect based on Cisco experience”. It’s just name “Lo10” and you effectively can change it to “Ferrari”, “Greece”, “sd82s” or whatever other name you want. For logical interface that is mapped to physical port, you will use “port 1/1/1” instead of “loopback” (see the first article for reference).
The next interesting point is so called “long commands”. It’s my own term, which describes the following example:
Nokia (Alcatel-Lucent) VSR | Cisco IOS XR |
*A:SR3# configure router interface Lo12 address 10.0.12.1/32 |
RP/0/0/CPU0:XRv1# |
We use “long commands” when we need to change some certain things and don’t want to navigate step by step between configuration contexts. You just enter the full details, which are effectively applied, but you don’t change the context, where you are.
Actually both Nokia (Alcatel-Lucent) SR OS and Cisco IOS XR provide you possibility to get to know, how you got to the certain context:
Nokia (Alcatel-Lucent) VSR | Cisco IOS XR |
*A:SR3>config>router>if# pwc |
RP/0/0/CPU0:XRv1(config-if)# pwd |
The difference is just one letter. If you are still not impressed, I’ll provide two more examples.
Here is the topology for the first example for your reference:
In the example above we want to configure communication between loopbacks at Nokia (Alcatel-Lucent) VSR and Cisco IOS XRv. Let’s compare, how we configure static routing at Cisco IOS XR and Nokia (Alcatel-Lucent) SR OS. The configuration itself is very simple at both routers:
Nokia (Alcatel-Lucent) VSR | Cisco IOS XR |
*A:SR3# configure |
RP/0/0/CPU0:XRv1#configure |
The configuration is not 100% the same, but similar, isn’t it? Let’s test how it works:
A:SR3# ping 10.0.11.1 source 10.0.10.1 |
Now let’s add the one more loopback at each router and configure OSPF between them.
The configuration of loopback interfaces are omitted for brevity:
Nokia (Alcatel-Lucent) VSR | Cisco IOS XR |
*A:SR3>config>router>ospf# info |
RP/0/0/CPU0:XRv1(config)#show conf |
Let’s test how the new connection works:
RP/0/0/CPU0:XRv1#ping 10.0.101.1 source 10.0.102.1 |
Let’s compare the routing tables. At Cisco IOS XRv:
RP/0/0/CPU0:XRv1#show route ipv4 |
At Nokia (Alcatel-Lucent) VSR:
A:SR3# show router route-table |
Such similarities are amazing, aren’t they?
Lessons learned
At the beginning I wanted to cover IPv6 routing as well, but I’ve faced the issue that it’s necessary to make additional configuration at Nokia (Alcatel-Lucent) SR OS in order to get it working. In Cisco IOS XR it’s enabled by default.
Conclusion
Based on the fact that Nokia (Alcatel-Lucent) SR OS and Cisco IOS XR are very similar from configuration point of view, I can name them brothers or at least relatives. From my prospective, it significantly eases operation of mixed environment, where devices both from Nokia (Alcatel-Lucent) and Cisco are used together, because engineers don’t have to study two completely different approaches to configure devices (like Cisco and Juniper, for instance). May be they don’t speak the same language, but their configuration languages have very much in common.
Support us
BR,
Anton Karneliuk
Many thanx for this lovely article as i am coming from SR background and still in need to start my way into CISCO
Your colleague in Nokia 🙂
Mohannad JABER
One huge advantage Nokia has over Cisco is being able to dump out your configuration in the exact context you are in with “info” or “info detail” (detail to show all “default” parms). Also, the structure to me is much more intuitive and easier to use as an engineer moving around the box.
Cisco has an advantage of being able to dump all sorts of config into the box prior to “commit”ing the config, where as Nokia makes changes as the commands are put in much like IOS.
Hi Eric,
Yes, I fully agree with you. “info” is very useful command, especially upon troubleshooting. It’s interesting that Nokia (Alcatel-Lucent) has partially implemented such two-stage commit. It’s available there only for route-policies configuration. Probably it was done in order to reduce traffic blackholing during changes of route-policy.
BR,
Anton
Thanks for this great article,
One weird question is how to display tables (like route-table) from Nokia on the screen without being missed up. Is there any way to make ssh screen wider so that all the columns fit in?