- Static route: through configuration/management interface
- Dynamic routing: through a routing protocol
- Goal: discover and distrubte best path/route to a (sub)network
- Routing protocols: Exterior gateway protocols (EGPs) and Interior Gatewapy Protocols (IGPs)
- EGP: BGP4 is the main used today. Connects the networks of different entities/organizations.
- IGP: OSPF and IS-IS are the main standards-based IGPs used today, and used for routing within the network of a single entity/organization. Othehr IGPs include RIP and EIGRP. .
- Any IGP can be used within any network. Other networks don’t know or care..
- Static routing simple, reliable: Small networks, small routers, as backup to dynamic routing.
- Static routing is manual: not good for frequent changes, not scalable unless automated
- Dynamic routing automates the process of learning about new paths.
- Dynamic routing is a hard problem, and configurations can become complex.
- Essential for the Internet as we know it.
Device to Device
Additional network services may be required/desired by an application executing on the network device. For example packet loss and retry. That requires additional protocols in IP networks. For example Transmission Control Protocol (TCP) . User Datagram Protocol (UDP) is another option, with less capabilities.
Routing & Routers
The job of an IP router, is to examine information in the IPv4 header, and based on that information, decide which of the many paths through the network, the IP packet will follow. Each router decides which of its local interfaces to forward a packet on, to follow the selected path.
See: Forwarding / Data plane for more information
Routing within a network – Interior Gateway Protocols (IGP)
Within a network, a routing protocol, also referred to as the “control plane” is used to exchange information between routers on what the different paths through the network are. One example of an IP routing protocol is Open Shortest Path First (OSPF) . OSPF is a little bit like an “application” in that the routers need an agreed upon way to exchange information between themselves about the sources and destinations of OSPF information. In the case of OSPF, IPv4 is also used.
Another routing protocol that is similar to OSPF is a protocol that originally was not developed by the Internet community, but is popular in some large networks. That routing protocol is called Intermediate System to Intermediate System (IS-IS). As IS-IS was not developed by the Internet community, it does not use IPv4, it uses another protocol called Connectionless-mode Network Service (CLNS).
It is not essential that routing protocols use IPv4 in the forwarding plane / as the protocol used by the router to forward routing protocol information. It is convenient to do so, but not essential. Routing protocol information is exchanged in much lower volume than information between network devices, so it does not require high-performance forwarding hardware. Sometimes it can be forwarded using software only.
IP networks have a choice of two routing protocols for exchanging information about paths within a network, because IS-IS was initially adopted, and the IETF developed its own protocol, after that, OSPF, that uses IPv4. IS-IS and OSPF have different capabilities, and therefore network managers / architects have different opinions as to the value of each.
Routing between networks – Exterior Gateway Protocol (EGP)Routing between networks – Exterior Gateway Protocol (EGP)
hen discovering paths between networks, another protocol is used, Border Gateway Protocol Version 4 (BGP4). It does not matter whether each network is using OSPF or IS-IS internally, BGP is the protocol used to communicate between the networks and exchange path information through the networks connected to the Internet.
Because BGP was designed specifically to connect different networks, administered by different entities, it evolved to have a robust policy definition and enforcement function. This is one of the ways that it is different from OSPF and IS-IS, which were designed assuming every router is part of the same network / administrative entity.
As an alternative to learning paths / routes via routing protocols, path/routing information can be configured, for example through a command line interface. These routes are referred to as “Static” routes. In some routers, static routes are given preference over routes/paths learned through routing protocols. Static routes have their place in IP networks, but it is not a scalable way to manage a network and are used sparingly, and/or by routers that do not have the capacity to store a large number of learned routes.
Review of basic terms:
- Internet Protocol Version 4 (IPv4) is the specification of how packets are formatted to exchange information between devices attached to the network.
- Routers make forwarding decisions based on the information in the IPv4 header. That function in a router is referred to as the forwarding plane, data plane, or user plane (the interface between the device and the network).
- Routers exchange information about the different paths through the network by using routing protocols that are also referred to as the control plane.
- Not all routing protocols use IPv4 to exchange routing information, for example IS-IS uses CLNS. OSPF uses IPv4.
- Static routes are configured routes, which is an alternative to using routing protocols to learn paths/routes through or between networks.
Multiprotocol Label Switching (IP/MPLS)
As time went on, it was later realized, that forwarding decisions could be made based on something else other than the IPv4 header sent to the network by a device. A new forwarding protocol was created, Multiprotocol Label Switching (MPLS). An edge router examines the information in the IPv4 header received from a device, and based on that information, create a MPLS protocol header, that is inserted in front of the IPv4 header. Routers then use the MPLS header/shim to make forwarding decisions, and therefore, in a MPLS network, MPLS is the forwarding plane.
Even though the IPv4 packets that come into the MPLS network from another network or a network device now have a MPLS header / shim inserted in front of them, routing protocols do not, they continue to use either IPv4 or CLNS.
As networks that use MPLS to forward traffic received from other networks / network devices continue to use the same IP routing protocols as networks that use IPv4 in the forwarding plane, MPLS networks are often referred to as IP/MPLS networks – IP routing protocols, MPLS forwarding.
MPLS introduced two new “routing protocols” perhaps more correctly “control plane protocols” because they are not concerned with discovering or distributing route/path information, LDP and RSVP-TE. LDP and RSVP-TE are protocols used to map IP addresses to MPLS labels.
Segment Routing (SR)
There is a new type of forwarding plane emerging in IP networks called Segment Routing (SR). Segment Routing also uses IP routing protocols. SR can be used in a network that was built to forward MPLS labels, this is called SR MPLS. SR MPLS does not use LDP or RSVP-TE.
IP Routing Flexibility
Review of forwarding principles:
- The packet format used by devices does not have to be the information used to make forwarding decisions, for example in a MPLS network.
- The packet format used by devices does not have to be the information used to make forwarding decisions for routing protocols, for example CLNS.
Within IP networks there is flexibility as to the forwarding plane and control plane/routing protocols. This provides options for network managers and IP network architects. As different forwarding planes use the same routing protocols, this means IP architects can apply similar control plane architecture principles, somewhat regardless of the forwarding plane. Hierarchy, IP addressing plans, IP summarization, network redundancy, and considerations around IP routing protocol overhead and IP convergence times.
Another example of a forwarding plane protocol not mentioned so far is IPv6. IPv6 is an update to IPv4 that in some ways simplifies forwarding processing, but in other ways complicates it through larger addresses and options. IPv6 is viewed by many as primarily focused on a perceived shortage of IPv4 addresses. IPv6 has other benefits as well. SR can also be used in a network built to forward IPv6 packets, this is called SRv6.
Virtual Private Networks
Supporting Virtual Private Networks (VPNs) requires support for overlapping address spaces and multiple address families. Overlapping addresses because multiple enterprises, multiple tenants, or multiple arts of a large network may be using the same private address range, or any address range they want to. There needs to a mechanism to separate a range of addresses from one VPN to another. BGP does this with Route Distinguishers. Additionally, Route Targets are used if routes are to be included in multiple VPNs.
That is great for Layer 3 VPNs. However, what if we want to support Layer 2 / Ethernet MAC address learning as well? In that case, we need to support multiple types of addresses, or address families. BGP supports multiple address families through an extension referred to as Multiprotocol Extensions for BGP-4 (RFC 4760).
There are many ways to provide virtual private networks. Some involving BGP, some not, some not even involving the ISP/SP. Among Service Providers, BGP-based VPNs are popular, for both L2 / Ethernet VPNs and L3 / IP VPNs.
IP routing is a distributed approach to learning where in a network IP (sub)networks and IP hosts are located, and then determining, by agreed means through the network, what is the optimal path from a source to a destination.
Once an IP network is up and running, which may require significant configuration, IP routing is somewhat automated, with networks dynamically learned and withdrawn as topology changes occur, without additional configuration. This dynamic learning capability is one of IP routing’s strengths compared to other approaches to networking. It can also be a weakness of types (CPU utilization) if topology changes are occurring frequently. Some IP routing protocols have tunable parameters to dampen the impact of frequent changes.
- Internet Protocol Version 4 (IPv4)
- Transmission Control Protocol (TCP)
- User Datagram Protocol (UDP)
- Open Shortest Path First (OSPF)
- Intermediate System to Intermediate System (IS-IS)
- Connectionless-mode Network Service (CLNS)
- Border Gateway Protocol Version 4 (BGP4)
- Multiprotocol Label Switching (MPLS)
- Segment Routing (SR)
Links on this site: