What is Split Horizon Networking?
Did you know that around 1974, Torsten Cegrell suggested the concept of the split-horizon in networking? It was then implemented originally in the Arpanet-inspired Swedish network TIDAS. So, what is this split-horizon networking?
Split horizon refers to a method of prohibiting a routing loop in a network. It uses a simple basic principle: information about the routing for a particular packet will never be returned in the direction from which it came.
This article will discuss more about the split horizon in networking and why it is needed. So let us find out more.
The split horizon is a procedure that sends packets of data in the forward direction and circulates to all the connected nodes, except that router that sent the new update.
This technique hinders routing loops and sublimates those areas where route poisoning cannot avoid routing loops from happening. Most of the distance vector routing protocols like the VPLS, EIGRP, IGRP, and RIP integrate this particular technique.
There are several different routes in an interconnected network, and the operational factors are actively changing. Routers update their routing table with up-to-date information on the available routes, addresses, and broken paths. In addition, most routing protocols incorporate a method in which they advertise status updates commonly to their adjacent neighbors.
However, this process is beneficial though it can create severe network bottlenecks if their routing logic is not calculated and the end result will be routing loops.
The split horizon technique integrates within majority distance vector routing protocols that prohibit the routing loops from happening within a network by discarding the address of the source update router. This is from the list of all routers, which will propagate an update that is received from the source router. Thus, the technique is like route poisoning that prohibits network traffic from flowing from the wrong path.
Take an instance where you have two routers B and C. Connect router B and C through a serial cable. Connect networks 10.0.0.0/8 to router B’s F0/0 and 18.104.22.168/8 to router C’s F0/0 interfaces. Use network 22.214.171.124/8 to connect routers on serial interfaces.
Immediately this network starts, the two routers learn all the directly connected networks and then add them to their routing tables.
Supposing the administrator will configure the RIP routing protocol on the two routers. RIP routing protocol periodically distributes the whole routing table from all active interfaces as a routing update. When neighboring routers operating the same RIP routing protocol listen to the broadcast, they learn the advertised routes. If any advertised route is unavailable in their routing tables or has a worse metric, they then add the advertised route to their routing tables.
The RIP routing protocol broadcasts the whole routing table from all active interfaces by default. However, if the interface enables the split-horizon feature, the RIP will not reveal the routes which it learned from that interface.
For you to understand better how the split-horizon feature affects routing updates, let’s take, for instance, you disable the split-horizon feature on serial interfaces of both routers.
Devoid of split-horizon in effect, the two routers broadcast their routing tables from their serial interfaces. Router B broadcasts networks; 10.0.0.0/8 and 126.96.36.199/8. Then router C broadcasts the network; 188.8.131.52/8 and 184.108.40.206/8.
They both receive broadcast messages of each other and learn the advertised routes. Router B will learn about the network 220.127.116.11/8 metric one and 18.104.22.168/8 metric one. Router C will learn about networks 10.0.0.0/8 metric one and 22.214.171.124/8 metric one.
The two routers then ignore updates about the network 126.96.36.199/8 metric one because they already have a better route for the advertised route. Then, however, they add the remaining route since that is unavailable in their routing tables.
In the next routing update routers, B and C broadcast their routing tables again. Router B will receive updates about network 188.8.131.52/8 metric one, 184.108.40.206/8 metric one, and 10.0.0.0/8 metric two. Router B ignores the updates about 220.127.116.11/8 metric one and 10.0.0.0/8 metric two because it has better routes for those networks. It, however, updates the timer of the third network 18.104.22.168/8 metric one because it has an equal metric.
Router C now receives an update about networks 10.0.0.0/8 metric one, 22.214.171.124/8 metric one, and 126.96.36.199/8 metric two. Router C then ignores the update about 188.8.131.52/8 metric one and 184.108.40.206/8 metric two because it already has better routes for these networks. However, it updates the timer of the third network 10.0.0.0/8 metric one because it has an equal metric.
Both routers repeat that process on all further routing updates. If the physical topology of this network won’t change, this network works fine even if the split-horizon feature is disabled. This is because material changes are so prevalent on networks. They can happen at any time on any network.
Why Split Horizon?
The split horizon is made to cease one of the biggest routing evils, the routing loops. Routing loops happen whenever a loop is created between two or more routers. It helps to end routing loops by communicating to the router and telling them not to advertise routes out on the same interface from which the router was originally received.
If a router learns about any route on a certain interface, it will not broadcast that route information outside of that interface. Thus, a split horizon is unable to hinder routing loops that involve more than three routers, although it effectively inhibits loops between two routers.
Default enables the split-horizon on several interfaces, and it can be disabled following a command. For example, you might need to disable split horizon on a multipoint subinterface. It is important to note that routing protocols can sometimes work out routing loops on their own.
However, a split-horizon solves the problem more efficiently as it prevents loops from developing.
The split horizon technique is simple and effective to use. Because of this, it is therefore used by several distance-vector protocols. For example, VPLS uses a split-horizon to prevent loops in the forwarding plane. Other users are RIP, IGRP and EIGRP.