Blast from the past: 10 reasons why JUNOS is better than IOS

Posted by Dave on 21 January 2013


Back in late 2009 I wrote my first ever blog post. It must have been ok because I got some comments, a few RT's on twitter and it made @Etherealminds Internets of Interest. Since is no longer I thought I would post this here for future reference.

10 Reasons JUNOS is better than IOS - 7th July 2009

Last week I started on the JNCIA Fast-Track course and I was very impressed. JUNOS is a very good platform and I was amazed at the features and felt compelled to write this down. Maybe Cisco could take some pointers for the next incarnation of IOS…

**1. The Candidate Configuration **– While IOS has only a running and start-up configuration, JUNOS adds a candidate configuration to the equation. When you make changes, you make them to the candidate configuration. These changes must the be committed before they take effect. This means I can review all of my changes before writing them! (No more frantic notepad copy and pasting)

2. Handling of Multiple Shell Users – The candidate configuration also offer unique ways of handling multiple users wishing to edit a config. By default all users edit a common candidate configuration. If I am the 3rd Line Support, and only I want to make changes, I can place an exclusive lock on the candidate config. If I want to change my own private copy of the candidate configuration, I can!

3. Local Configuration Archiving – Every time JUNOS writes a change it saves a archives the old config to the flash. These copies can be compared and even  reverted back to using the “rollback” comand.

4. Rename – So I need to move an Interface and all it’s associated configuration for troubleshooting... no worries, I have the “rename” command

5. Replace – Whats that you say? You wanted port 46 not port 47? Never fear, I have the “replace” command to hand!

6. “Pipe” | commands – IOS offers a limited range of pipe commands for filtering the output of a command. Because of JUNOS’s BSD roots I can now do so much more including using regular expressions and stacking multiple pipe commands.

7. Command Auto-Complete of Exec commands in Configuration mode – One thing that infuriates me about IOS is the “do” command. I need to do a show while in “conf t” but I can’t remember the exact syntax. JUNOS has the solution. The “run” command support auto-completion.

8. Better Hierarchy – There is limited command hierarchy in IOS and JUNOS has really improved the hierarchical approach. Every command belongs to a hierarchy. I can either set a parameter by navigating down the hierarchy or using a single string from global configuration.

9. Powerful Access Lists – JUNOS uses firewall filters instead of ACL’s. These filters contain terms which have their own match and action conditions. This implementation has so much more flexibility and is by far easier to manage. Terms can be changes on the fly and will only be reapplied once the whole policy has been built (unlike IOS ACLs which once removed, permit/deny line-by-line if still applied to an interface).

10. Standard Interface Naming across platforms – The JUNOS Routing and Switching platforms use the same interface naming convention. It is logical and easy to learn.


I wonder how much (if any) of this got implemented in IOS 15?


Original- via
Etherealmind's Internets of Interests - 6 Mar 2010