Split horizon is designed to stop one of the greatest routing evils, routing loops. Routing loops occur when a loop is formed between two or more routers. For example, say Router 1 has a network route to 192.168.1.0 via Router 2. Router 2 has a route to the same network, but it is back through Router 1. Therefore, Router 1 sends packets for 192.168.1.0 to Router 2, which then sends the packets back to Router 1. This looping continues until the time to live (TTL) on the packet expires.
Split horizon helps stop routing loops by telling the router not to advertise routes out the same interface from which the route was originally learned. In other words, if a router learns about a route on a particular interface, it does not broadcast that route information out that interface. Split horizon can't prevent routing loops involving three or more routers, but it's effective at preventing loops between two routers.
Split horizon is enabled by default on most interfaces. It can be disabled with the following command:
no ip split-horizon
You would want to disable split horizon on a multipoint subinterface. (See Chapter 5 for more information on subinterfaces.) An important note is that routing protocols can often work out routing loops on their own; however, split horizon solves the problem more efficiently because it prevents the loops from developing in the first place.