Hello my dear friends!
Routing table in Juniper Network routers use the different terminology then other vendors.
The routing table in Juniper Network Operating System or JUNOS contains all the information known by that router. Routing protocols puts the best route in the routing table so might be the case that we may find many entries for the single destination. And then its routing table which places the single best route in the forwarding table, further which is downloaded into the Packet Forwarding Engine and communication happens.
You may be fascinated to know that Juniper Router create several other routing table when ever required. They are as follows:
- inet.0 routing table : This is used for Unicast , You can correlate it as Global Routing Table,
- inet.1 routing table : This is used to hold multicast routes,
- inet.2 routing table : This is used for Unicast RPF* lookup ,
- inet.3 routing table : This is used to hold MPLS LSP’s , and
- mpls.0 routing table.
Routing table inet.0 and inet.1 are self explanatory.
So for inet.2 which is used for *unicast RPF: RPF is the Reverse Path Forwarding, it’s a very important concept in Multicast. It’s basically a loop avoidance method in multicast environment. What happen is when a router receives the traffic for multicast destination, it first checks the source of traffic (using Source, Group) in inet.1 routing table. Router then determine if it know the source via inet.0 routing table. Secondly it checks that the interface on which the multicast traffic is received is along the shortest path to the source. If both these condition satisfies then Router forward the multicast else drop the traffic. If any of these conditions are not met then it means that there might be some loop in the network.
Table inet.2 is purely additional, I mean it get activated when you specially configure it otherwise JUNOS uses inet.0 for RPF. It’s helpful under heavy multicast environment where you don’t want multicast and unicast traffic to follow same topology. To enable inet.2 you need to configure rib-groups under routing-options.
inet.3 routing table contains the information about operational MPLS LSP’s . Once the LSP is formed, signaled and ready for use , the IP address of the LSP egress router is placed in inet.3 routing table. Most important thing is “This table is not used to actually forward the user traffic. If any routing protocol wishes to use the LSP then that protocol puts the next hop as LSP in inet.0 and then user traffic is forwarded via MPLS LSP.
mpls.0 routing table is basically switching table , As we know that packet forwarding in MPLS is via labels , the incoming LSP label information in the mpls header gets read and lookup is performed in the mpls.0 table if label is found in there the packet is forwarded out with the new MPLS header.
If Juniper Network Router is used under MPLS VPN environment then number of new routing tables are formed namely,
instance.inet.0 routing table is used to hold the information of that particular VRF or VPN Routing & Forwarding. In other words it contains the route information about only that particular VRF. Instance name is the name given to that VRF during the configuration.
l3vpn.bgp.inet.0 table contains the routes learned from other PE routers in a layer 3 VPN environment via BGP. Routes in this table are copied into layer 3 VRF based on matching RT’s
l2vpn.bgp.inet.0 table contains the routes learned from other PE routers in a layer 3 VPN environment via BGP. Routes in this table are copied into layer 2 VRF based on matching communities.
Please write back to me at Khalid[dot]Nadeem[dot]Khan[at]GMAIL[dot]COM for any error or further clarification.