Mar 28, 2014

[POC] Junos script Operations Automation (op script) - show-bgp-policy

Junos Script Automation is a powerful and flexible on-box toolset which provides customization of network behavior, adaption to what your application expects to configure, manage and diagnose if and when needed. It sits right above the Junos OS, with a northbound interface to Junos Space applications, and southbound access to Junos SDK applications and native management plane instrumentation. This customized programmable solution makes your application smarter and better in real-time.

In Juniper official website provides many script samples to match part of common requests. In my company, we deployed many inter-connections EBGP/IBGP between router or layer 3 switch. So I picked one op script from the JUNOS Script Library - show bgp policy: display all routing-policies in sequential order for a selected BGP peer.

Mar 25, 2014

Learning JUNOS from IOS - Day2 (Configuration Management)

Configuration Management

Day 2 - How to review router configuration ?

In Cisco IOS, it has two default configuration files: 
(1) startup-config: is used for initialization of router boot up process 
(2) running-config. is the real-time concurrent configuration repository whenever you type any commands in IOS.

And how do you differentiate screen output is the startup-config or running-config ?

Mar 23, 2014

Learning JUNOS from IOS - Day1 (Show Interface)

Once a use, forever a custom

My first-time experience of Cisco router installation was in 1997, when I was a junior network engineer in a small company. I remembered that day I finished installing a customer router on-site for only 15 mins then I left and went back again after 2 hours to configure the router via console again..because I forgot to configure password under line vty (I told myslef I would never made such stupid mistake again like that - Password required, but none set)

After 13 years later, I started to learn JUNOS since 2010. Because I familiar Cisco IOS so much, so I knew the feeling of use behavior change from IOS to JUNOS. The hierarchical structure is not so easy to read when you see it in the first time.(especially when you have no any programming experience)

However, having the use experience of Cisco IOS is a not a bad thing before you start to learn JUNOS. I believe if you can leverage your previously IOS command knowledge then map to JUNOS relative statements, it will help you to learn the JUNOS quickly. This the reason why I want to write this series of articles to share my personal learning experience and tips with you.

As below comparison comments came from a great blog article -
Cisco IOS vs. Juniper JUNOS: The technical differences can help you to understand the difference between these NOS(Network Operating System):

IOS traditionally is a monolithic operating system, which means it runs as a single operation and all processes share the same memory space. Because of the latter feature, bugs in one operation can have an impact on or corrupt other processes. In addition, if a user wishes to add features or functions to the operating system, IOS has to be deactiviated while a completely new version with the desired features is loaded. 
JUNOS, on the other hand, was constructed as a modular operating system. The kernel is based on the open source FreeBSD operating system, and processes that run as modules on top of the kernel are segregated in exclusive, protected, memory space. Users thus can add features and functions to the version of JUNOS running on their systems without disabling the entire operating system — a characteristic known as in-service software upgrades that also enhances uptime and availability. 
The goal of Cisco's new IOS variantsIOS XR, IOS XE and NX-OS — is to overcome the monolithic limitations of the traditional IOS while addressing critical needs for increased uptime and availability in the service-provider core and edge, and enterprise data center, respectively. All these operating systems are modular, in that IOS services run as modules on top of a Linux-based kernel (in IOS XE and NX-OS), or as a third-party Portable-Operating-System-Interface (POSIX)-based real-time kernel (in IOS XR).