The concept of discontiguous networks is one that often causes some confusion for those new to networking. I think most of the confusion is because this concept it is often combined with the operation of classful routing protocols and the concept of route summarization. By separating the concept of discontiguous networks, it is much easier to understand and digest. The concept can then be applied to the other relevant areas, such as classful routing protocols and summarization, as necessary.
To understand the concept of discontiguous networks, we really just need to define the two terms in the context that they are used. Discontiguous is basically the opposite of “contiguous”. Webster defines contiguous as “4. Touching or connected through an unbroken sequence”. Therefore discontiguous might be thought of as “fragmented” or “separated”.
So based on this we could say that a given network, separated by other networks, is discontiguous.
In the above example, Network A is discontiguous because Networks B and C cause it to be fragmented. Solely based on what is shown in the picture, Network B and Network C are NOT discontiguous (to avoid the use of a double negative, we should call them contiguous). Since this concept thus far is quite simple, let’s move on and understand what is meant by a network in this context.
The inconsistent use of the word network is what makes this a little complicated. In the case of discontiguous networks, a network is an IP network based on the definition in RFC791. This document predates the use of subnet masks. So what we are looking at here is known as classful networks. These are also sometimes called major networks. A summary of the address ranges for Class A, B and C addresses are as follows:
Class A (N.H.H.H)-where N=0-127
Class B (N.N.H.H)-where the first N=128-191
Class C (N.N.N.H)-where the first N=192-223
As you can see with Class A networks, the first octet is what indicates the network. An example would be 10.1.1.1. The “10” would identify it as a class A network. The “10” would also be the network. From a classful perspective, the “1.1.1” would be used to address hosts. On the other hand 192.168.1.1 would be a Class C example. The “192” identifies the network as a class C network. However in this example, “192.168.1” is the major network. Only the final “1” is used as the host address.
This is exactly what is meant by a network in the context of discontiguous networks. Given this classful description of networks, it is impossible to create a discontiguous network without using subnet masks. For example, a Class A network will be a “/8” without subnetting and only exist in one area of a network. Therefore it is always contiguous. However if a Class A network, 10.0.0.0 for example, was subnetted it could potentially become discontiguous. The following example replaces “Network A” with 10.1.0.0/16 and 10.2.0.0/16.
In this example, 10.1.0.0/16 and 10.2.0.0/16 would make the 10.0.0.0/8 (classful network) discontiguous or fragmented as long as Network B or Network C is not part of 10.0.0.0/8.
In the above example, the 10.0.0.0/8 network is contiguous because it is the only major network being used.
Four Contiguous Networks
In this example, there are four major networks used. These are 192.168.1.0/24, 192.168.2.0/24, 10.0.0.0/8 and 192.168.3.0/24. Based solely on what is shown, these networks are all contiguous.
Now for a more complex example–
Contiguous 192.168.2.0, Discontiguous 192.168.1.0
In this final example, we can see that there are two classful or major networks in use. These are 192.168.1.0 and 192.168.2.0. Both of these are subnetted to “/25”. In this example, 192.168.2.0 is still contiguous. This is true because there are no other networks separating it. However, the 192.168.1.0 network is discontiguous because half of it exists on either side of the 192.168.2.0 classful network.
Understanding discontiguous networks is key to understanding the behavior of classful routing protocols and protocols that employ auto-summarization. As demonstrated by this article, the concepts are quite simple but requires us to go back to the basics. By thinking about classful networks and how subnet masking changes the rules, it is easy to understand this fundamental networking element.