64. Introduction to Routing
Let’s now shift our focus to routing, let’s understand why do we need to set up routing information? Let’s begin with a simple topology. So here I have two devices or two endpoints. The first one has an IP address of one ninety to 168. One . 10./twenty four. And the second one is 190 to 160. At one . eleven./twenty four. They are both on the same network. So they are connected to one switch and the switch is in turn connected to a router. The router has an IP address of 192.168.one, not one,/24. So the router is the default gateway for the endpoints connected to the switch. Let’s look at the routing table of the Sprouter. The routing table of this router will look like this. The destination one 90 to 168.1.0/24 is a locally connected network. Meaning any packet for the network, one ninety to 168.1.0/twenty four can be forwarded locally within the network. Now let’s add one more network. So we have the same network here and now we’re going to add one more network.
This is one ninety to 168.2.0/twenty four. Both these networks have been connected. And let’s look at the initial routing tables of the routers. So for the router on the left, one ninety to 168.1.0/24 is a locally connected network. And for the router on the right one ninety to 160 a 2.0/24 is a locally connected network. Now, let’s see. The host on the left, which is one 90 to 168, 168.Wonder 10, wants to send a packet over to 190 to 160. Add to the ten. Let’s understand how this packet will be forwarded. So the packet is first queried by one 90 to 160 at Wonder 10. It wants to send a packet to the other host, which is on a different network. So the packet will be first sent to its default gateway, which is 190 to 160 it one . one. The router does not know how to forward this packet because on its routing table, it does not have an entry for the host, one to 160 add to the 10. If we want the router to be able to forward the packet to the other side, we will need to update the routing table.
So we’re going to add one more entry. The entry is for 190 to 168.2.0/twenty four, which means the entire network on the right hand side. And since we are configuring this route manually, this is going to be a static route. The next hop IP address for this network is the router on the right hand side, which is one 90 to 160 add to that one. With this information added, the router will now be able to forward the packet to the other side or to the other router at 190 to 160 to dark one. From here, the router will be able to forward the packet locally because it’s a locally connected network. Now, let’s talk about the return packet or the reply packet when this host tries to send a reply. The packet will be first forwarded to its default gateway, which is the connected router, which is one 90 to 168.to that one.
This router will not be able to forward the packet to the other side because it does not know how to reach one 90 to 168.1.0. To be able to forward this packet, we will need to update the routing table of this router. So we’re going to add in your route the route points to one 90 to 168.1.0/twenty four. So that means we are creating a routing entry for the entire network. And since we are adding this manually, this is going to be a static route. And the next hop IP address is the router on the left hand side, which is one 90 to 168. One . one. With this information added, the router will be able to forward the packet to the other side and then it will be forwarded to the final destination, which is 192.168.one, not 10. Now, let’s take it to the next level by adding one more network. This is the first network, which is one nine eight to 160, 168.1.0/24. This is the second one, 190 to 160. A 2.0/twenty four. And here’s the third one. One ninety to 160 at 3.0./twenty four. We’re going to connect all these networks to each other so every network can reach every other network.
Now let’s look at the routing tables for each of these routers, for the router on the left. This is how the routing table will look like one 90 to 160 at 1.0./24 is the locally connected network. And then we’ve added to routing entries, one pointing to 2.0 and the other one pointing to tweet 0. And the next hop IP addresses are the routers for each of those networks. Since we are manually configuring this, it’s a static road. Similarly, we also have routing tables for Network two and Network three. Now think about this for a minute. We’re talking about three very simple networks. Imagine large organizations that have so many networks and that span multiple geographical locations. They’re routing tables are going to look much more complex. If we had to manually add a routing entry for each connected network, it would be very difficult to maintain. And every time there’s a change in the topology or a change in the network, we would have to manually update the routing table. Otherwise, we’ll break the connectivity, which is why we also have another type of routing, which is called as dynamic routing. Dynamic routing automatically populates the routing table. Having understood why we need routing. Now let’s talk about the different types of routing, which is static routing and dynamic routing.
65. Static vs Dynamic Routing
Now, let’s talk about the differences between static and dynamic routing, static and dynamic routing are two different styles of configuring routing. Static routing is where you manually configured the information required to route the packets with dynamic routing. We can figure a routing protocol and the routing protocol automatically populates the information required to route the packets. Let’s start by talking about static routing with static routing. The routing tables have to be created and updated manually by the network administrator. For full connectivity, we’ll need to configure a route that points to every network. Static routing isn’t fault tolerant. That means anytime there’s a change in the network, like a link going down, this will not be detected automatically and the routes will need to be updated manually.
Static routing works best for small networks, but quickly becomes an administrative overhead for large networks. Static routing is also suitable in situations where you want really tight control over how your packets are going to be forwarded. Let’s now talk about dynamic routing with dynamic routing, routing tables are created and updated by a routing protocol. Routing information is automatically shared between participating devices. Dynamic routing is fall tolerant, which means any changes on the network are automatically detected and routes are automatically adjusted for that change. Dynamic routing is easy to configure and works well for large networks. Examples of dynamic routing protocols include RIP, which is routing information protocol and SPF, which is open shortest path, first routing protocol.
66. Junos Routing
Let’s now talk about routing specifically from a Junos perspective. We know that routing is the transmission of packets from a source to a destination address. A routing protocol determines the path by which the packets are forwarded and also shares this information with immediate neighbor devices and other devices in the network. It also automatically makes adjustments to changing network conditions. Talking about Junos routing, the Junos operating system maintains two databases for routing information. The first one is routing table. This contains all the routing information learned by all routing protocols. And the second one is forwarding table. And this contains the routes that are actually used to forward packets through the router. So we have two databases that maintain routing information.
The first one is routing table, which is a collection of old routes learned by all routing protocols. And then we have a forwarding table which only contains the routes that are actually used or we can call them as active routes. So the active routes are derived from the routing table and the active routes are stored in a table called as the forwarding table. Let’s talk more about the routing table. The routing table is used by the routing protocol processes to maintain a database of routing information. In this table, the routing protocol process stauss statically configured routes, directly connected interface routes and all routing information learned from all routing protocols. So the routing table has all the route information, not just the routes learned by the routing protocols, but also directly connected routes on the interfaces and any statically configured routes. The routing protocol process uses this collected routing information to select the active route to each destination. And this is the route that is used to forward the packets. Keep in mind, there could be multiple ways to reach a specific destination. In other words, there could be multiple paths to reach a destination.
The routing protocol process will select one route, which is the best route to reach the destination. That will be called as the active route. Keep in mind, there could be multiple paths to reach the same destination. The active route is the best route to reach the destination, and that is the route that is used to forward the packets. By default, Junos maintains three routing tables or we could say three types of routing tables. The first one is unique cast routing table. This store’s routing information for all unicast routing protocols. Examples include BGP, Border Gateway Protocol, ISIS, which is the intermediate system protocol, or SPF, which is open shortest path, first RIP, which is routing information protocol. Another type of routing table maintained by Junos is the multicast routing table, which stores routing information for all multicast routing protocols. Examples include D.V., MRP, which is distance vector multicast routing protocol, and PDM, which is protocol, independent multicast. The third type of routing table is MPLX, less routing protocol, which is multi-product, all labels switching routing table. This routing table is used to store Empey unless path in label information.
The MPLX Let’s Protocol uses labels assigned to packets to forward them on the network. So there are three types of routing tables maintained by Junos unicast routing table, multicast routing table and MPLX less routing table. Additional routing tables can be configured to support situations where we need to separate a particular group of routes or where we need greater flexibility in manipulating, routing information. Let’s talk about the default routing tables you’ll find on a Junos device. The first one is I net . 0. This is the default IPv4 unicast routing table. We then have iiNet . one. This is the IPv4 multicast forwarding cash. This is used to store routing information related to multicast traffic. Then we have Einat door to which doors unicast routes for multicast. Reverse path forwarding Look-Up. Also known as RPF. The next one is I’ll get Doc three. This Dors IPv4 MPE less routing table for path information. The next one is, I need six daj 0. This is the default IPv6 unicast routing table. I six star one is IPv6 multicast forwarding cash. Then we have NPR less start 0, which is used for NPR, less labels switching operations. And we also have a year, Soledad, 0, which is used for ISIS routing. These are not the only default routing tables you’ll find on HLN device. There are some more as well, but these are the most important ones that we should be knowing about. Let’s now talk about the Junos forwarding table.
All active routes from the routing table are installed into the forwarding table. Keep in mind, the routing table is a collection of all routing information learned by the router. There could be multiple paths to reach to a destination. The best path is used to forward the packets. The best part is the active route and the active route is stored in a table, which is called as the forwarding table. The active routes are used to forward packets to their destinations, and it is the Junos colonel that is responsible for creating the master copy of the forwarding table. Once the master copy is created, it then copies the forwarding table to the packet forwarding engine, which is responsible for forwarding packets. So the important thing to keep in mind is that the forwarding table is first constructed on the routing engine by the Junos kernel, and it’s then copied over to the packet forwarding engine. So if the routing table is a list of all possible pats, a packet can take the forwarding table is a list of only the best routes to a destination. The best route is determined mind based on the routing protocol being used. But generally the number of hops between the source and the destination did her mind the best possible route. So to summarize on the routing engine, we have the routing protocol process, which is responsible for building the routing table. The routing table is a collection of all routes from all routing protocols and directly connected routes and also statically configured routes. The Junos colonel takes that information and builds the master forwarding table, which only contains the active routes or the best routes used to reach a destination. So the forwarding table is first built on the routing engine. It is then copied over to the packet forwarding engine because it’s the packet forwarding engine that’s responsible for forwarding the packets.