Routing
Routing, essentially, is how computers communicate to other networks. From the subnet, we know our network ID – to reach other network IDs, we need to route to them. The default gateway on your computer is the first step – that tells your computer “if I need a computer not on my network, send to this router”. This router will have a “routing table” that shows the other routers and what networks are behind them. Routing follows a design principle of “the next hop”. The traceroute command shows how this works:
Each of these hops is a router. We have my local at the top, then once it hits my internet connection (the 108 address), to traverses through the internet to Dallas and an akamai server. the 5-7 is probably some SD-WAN routing that looks at my source and then sends me to my closest server (geographically).
Just like subnets, routing tables can we supernetted – for example, all 10.0.0.0-10.254.254.254 can be summarized as 10.0.0.0/16. Any destination network that starts with 10. will be routed to a specific router. Routers themselves have a default route, called the route of last resort. It’s a catchall for anything not specifically routed. Here’s a simple internal network and a home network design.
There are three types of routers – dedicated (see Cisco’s ISR line) or integrated (Cisco Catalyst 8000, Cisco Nexus), then the new kid on the block – software defined (see Meraki MX, or VMware Velocloud).
Dedicated routers are equipment that are built just for basic switching and fully functional routing. The software and hardware is mainly meant to route. They don’t usually firewall – they sit on the edge to route to other private sites (WAN). In the above diagram, there are 3 routers. Those are usually hardware and dedicated. They live to route packets according to their routing table. These therefore a usually more expensive as the speed of the port goes up (routing EVERY packet at even 1G is extremely taxing on hardware).
For the Integrated routers, these are usually enterprise switches (or a home internet box), for shown here:
At the top of the access layer, those are switches with routing (Layer 3 enabled), as well as the core. There are layers of routing, as your see. It’s not HEAVY routing, but just a few entries to end packets to other switches.
Now, how do we automate this – a large corporation may have 40- 100 routers and maintaining a unique routing table would be too much. Enter routing protocols.
Routing protocols are ways for routers to advertise the routes that they can connect to. Go back to the top display, with a routing protocol, you would just activate it, and the AB router would communicate to the BC router, which would talk to the CD router. Network A would be able to route to Network D, because the AB router now knows how to get to Network D THROUGH the BC router. For the home network, there’s no need for protocols – it’s one route to the internet box. Now, the internet box may run a routing protocol for the ISP’s network. Let’s cover the main protocols from most complicated to least:
BGP – border gateway protocol is an Internet standard. It’s efficient, it segments easy but requires a lot of planning to design well. This is making it into internal networks with an implementation of iBGP (i for interior), which uses the same concepts of BGP but applies them to internal networks.
EIGRP – Enhanced Interior Gateway Routing Protocol is a Cisco maintained protocol. It’s not an Internet standard, so it’s usually thought to just be Cisco only. Cisco guys love it, everyone else uses the next one or BGP. It’s for internal networks.
OSPF – Open Shortest Path First – is considered the Internal routing (like iBGP) and is an internet standard for internal networks. It’s the non-Cisco main standard for most companies, and everone supports it, so a Cisco router can share routes with an Aruba router, Extreme router, Juniper, Fortinet, et. al.
RIP – This was the original. It’s basic, it’s clunky, and only used for demos or teaching (or really OLD networks).
Learn OSPF then BGP. That will cover just about anything you want to design for.