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).




Day 1 - How to check router installed interface ?

As blow is the Cisco IOS CLI to see which physical interface are installed and recognized by Cisco device. I like this kind of new interface configuration added by Cisco IOS, because most junior engineer has no idea how to add new interface configuration of new type of interface card, especially when the new hardware installation was executed by remote hand support :

If there's a new hardware was installed and acknowledged by proper Cisco IOS, the new interface with slot/port configuration will appear in Cisco running-config automatically.(no matter the interface was administratively down/down or up/down, it must be exists in running-config and it cannot be deleted or altered by manual config)
hostname# show run
Building configuration...
Current configuration : 1408 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
...
!
interface FastEthernet0/0
 ip address 10.1.1.2 255.255.255.252
 duplex auto
 speed auto
 no clns route-cache
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
 no clns route-cache
...
If you would like to see each interface status and related ip address was assigned, you can use above command to see all of them.
hostname# show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        10.1.1.2        YES manual up                    up      
FastEthernet0/1        unassigned      YES unset  administratively down down    
FastEthernet1/0        unassigned      YES unset  administratively down down    
FastEthernet1/1        unassigned      YES unset  administratively down down    
Serial2/0              unassigned      YES unset  administratively down down    
Serial2/1              unassigned      YES unset  administratively down down    
Serial2/2              unassigned      YES unset  administratively down down    Serial2/3              unassigned      YES unset  administratively down down  


The most obviously difference between IOS and JUNOS is the physical interface would not appear automatically in JUNOS if you clear all default configuration or deletes the physical interface configurations by yourself.(You can not just rely on configuration to check all interface exist or not)

In Juniper JUNOS CLI has a little different behavior, if you do not aware how the slot/port and media type of the device, you may not be able to understand how to config them because it will not appear on the configuration automatically(it means you need someone guide you or you should read the installation guide at first to know how to assign the slot/port number to the new installed interface.

PS: In some juniper device (fixed module) provide factory default configuration, so it doesn't need to manual config for new interface with correct slot/port number.
username@hostname> show config
version 12.1X46-D10.2;
system {
    host-name vSRX-14.190;
    root-authentication {
        encrypted-password "$1$DAgfs0I1$RsHy7/nSsMFgZASDlrmze/"; ## SECRET-DATA
    }
...
}

interfaces {

    ge-0/0/0 {

        unit 0 {                        

            family inet {

                address 10.17.4.190/22 {

                }

            }
        }
    }
    ge-0/0/1 {
        description "for Management 10.17.14.0/24";
        unit 0 {
            family inet {
                address 10.17.14.190/24;
            }
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address 1.1.1.1/32;
            }
            family iso;
        }
    }
}

...


In JUNOS configuration mode, you need to use 'run' keyword to execute the show command as above. But you may not be able to all interface(because JUNOS allow users to delete the interface even the physical interface was exist)
username@hostname> show interfaces terse 
Interface               Admin Link Proto    Local                 Remote
ge-0/0/0                up    up  
ge-0/0/0.0              up    up   inet     10.10.10.0/31   
gr-0/0/0                up    up  
ip-0/0/0                up    up  
lsq-0/0/0               up    up  
lt-0/0/0                up    up  
mt-0/0/0                up    up  
sp-0/0/0                up    up  
sp-0/0/0.0              up    up   inet    
                                   inet6   
sp-0/0/0.16383          up    up   inet     10.0.0.1            --> 10.0.0.16
                                            10.0.0.6            --> 0/0
                                            128.0.0.1           --> 128.0.1.16
                                            128.0.0.6           --> 0/0
ge-0/0/1                up    up  
ge-0/0/1.0              up    up   inet     10.17.14.190/24 
dsc                     up    up  
gre                     up    up  
ipip                    up    up  
lo0                     up    up  
lo0.0                   up    up   inet     1.1.1.1             --> 0/0
                                   iso     
lo0.16384               up    up   inet     127.0.0.1           --> 0/0
lo0.16385               up    up   inet     10.0.0.1            --> 0/0
                                            10.0.0.16           --> 0/0
                                            128.0.0.1           --> 0/0
                                            128.0.0.4           --> 0/0
                                            128.0.1.16          --> 0/0
lo0.32768               up    up  
lsi                     up    up  
mtun                    up    up  
pimd                    up    up  
pime                    up    up  
pp0                     up    up  
ppd0                    up    up  
ppe0                    up    up  
st0                     up    up  
tap                     up    up  
vlan                    up    down
Most JUNOS engineers will use this command to check router interface at the first time to have brief view of all interface than just "show configuration".  And there's some pre-defined software interface for different purpose will appear too.

As a beginner of JUNOS, I would suggest to ignore them but remember their's name when you found some features has mention that then you will understand those software interface one-by-one.
username@hostname> show chassis hardware
Hardware inventory:

Item             Version  Part number  Serial number     Description

Chassis                                34f56038e66c      FIREFLY-PERIMETER

Midplane        

System IO       

Routing Engine                                           FIREFLY-PERIMETER RE

FPC 0                                                    Virtual FPC

  PIC 0                                                  Virtual GE

Power Supply 0  
If you would like to know each physical module/interface was installed in which slot, you have to use above command to see those hardware, and its a good tool to check that current JUNOS version can recognize those modules successfully or not.

Reference:

Post a Comment