The five considerations we will use to judge a network topology are:
| 1. | Cost: | This will depend on the total number of channels and the maximum number of ports per computer (channels connect to a computer through ports). It can be costly to engineer and build a computer that supports a large number of ports. |
| 2. | Scalability: | This will depend on the maximum number of ports per computer. If the number of ports per computer is dependent on the number of computer in the network, then the topology will not scale. |
| 3. | Distance: | The maximum steps (number of computers) a message makes in transit from the source to the destination computers. |
| 4. | Brittleness: | How catastrophic to the network are computer crashes? Can communication still take place? Is it crippled? |
| 5. | Fairness: | How much time does a computer spend passing messages from one computer to another for which it is neither the originator nor intended recipient? Is the burden of message-passing evenly or unevenly shared? |
The first network topology we will consider is the complete network. It is composed of all point-to-point channels. Every pair of computers in the network have a channel directly linking them (i.e., there is a channel from every computer to every other computer). If there are N computers in the network there will be (N - 1) * N / 2 channels and each computer will have N - 1 ports. These lead to high cost and a lack of scalability. Since every pair of computers are connected every message requires only one step, there is no brittleness, and no message passing even takes place. We will see that the complete network rates worst in the first two criteria, but the best in the last three.
| 1. High cost | ![]() |
| 2. Not scalable | |
| 3. 1 step | |
| 4. Not brittle | |
| 5. Fair: no message passing |
The next topology is the hierarchical network. It is also composed of only point-to-point channels. Each computer has at most one computer it is linked to above in the hierarchy (the only computer with zero links above is the top computer). Each computer may be linked to some computers below. The maximum number of links allowed to computers below is called the branching factor of the hierarchy. Since this number is not in any way dependent on the number of computers in the network, the number of ports per computer can remain small even if the number of computers grows large. This topology is based on a type of graph in mathematics called a tree. From this we know that the number of channels in a hierarchical network will always be exactly one less than the number of computers. These facts lead us to conclude that this topology has low cost and is scalable as long as the branching factor is low. Another result from the mathematics of trees is that the maximum distance a message will have to travel is twice the logarithm (with the branching factor as a base) of the number of computers. If a computer high up in the hierarchy crashes, it will cause the subhierarchies below it to become detached from each other and the rest of the network. Finally, the closer to the top of the network a computer is, the more likely it is to spend a lot of time passing messages on behalf of other computers.
| 1. Low cost | ![]() |
| 2. Scalable if low branching | |
| 3. ≤ 2 log N steps | |
| 4. Fragmentation of subhierachies | |
| 5. Unfair: unevenly shared |
Another topology is the star network, which again, consists of all point-to-point channels. There is a single computer that has a link to every other computer. None of the other computers are linked to each other. The number of channels is exactly one less than the number of computers, but the center computer must also have that many ports. The central computer will be increasingly expensive as the network grows, and eventually will become infeasible to build. Every message can get to its desitination in either one or two steps. The central computer bears the entire burden for message passing, and so if it crashes the entire network is disabled.
| 1. Medium cost | ![]() |
| 2. Not scalable | |
| 3. ≤ 2 steps | |
| 4. Catastrophic if middle crashes | |
| 5. Unfair: all on middle computer |
The last topology we will consider that consists of point-to-point channels is the ring network. In this configuration, the computers are arranged in a ring with each computer linked to each of its neighbors. This produces a network in which there are exactly the same number of channels as computers and each computer has exactly two ports. Therefore ring networks are low cost and scalable. Unfortunately, a message might half to pass through as many as half of the computers in some cases. If one computer crashes, messages can just be routed the other way around the ring. If two go down and they are not adjacent, then the ring may become fragmented. This is much less likely to happen than just one computer going down, however. Finally, each computer is equally likely to spend the same amount of time passing messages on average.
| 1. Low cost | ![]() |
| 2. Scalable | |
| 3. ≤N/2 | |
| 4. Fragmented only if two non-adjacent computers crash | |
| 5. Fair: evenly shared |
To summarize these results here is how the four topologies so far rank in each category, from best to worst:
| Cost: | Ring, Hierarchical, Star, Complete |
| Scalability: | Ring, Hierarchical, Star, Complete |
| Distance: | Complete, Star, Hierarchical, Ring |
| Brittleness: | Complete, Ring, Hierarchical, Star |
| Fairness: | Complete, Ring, Hierarchical, Star |
Finally, we will look at a topology that uses a bus channel rather than a point-to-point channel, called a bus network. A bus network consists of a single bus channel with all the computers in the network connected to the bus. Thus there is only one channel and each computer only needs one port, resulting in extremely low cost. The network will scale easily based on what we have said thus far, although there are other scalability considerations with a bus channel. There is a limit to how many computers can sit on a single bus. A workaround is to have a number of small bus networks that are linked together into a larger network. Every message is broadcast on the bus and so is directly received by the intended recipient. Since there is no message passing there is no brittleness, or concern about fairness. There is a tendency for the bus channel itself to fail from time to time, but this is infrequent compared to computer crashes.
| 1. Low cost | ![]() |
| 2. Scalable | |
| 3. 1 step | |
| 4. Not brittle | |
| 5. Fair: no message passing |
All of the services available on the internet are based on protocols. A protocol is a standard, or more accurately a language, for transmitting a particular type of information across a channel. One of the earliest internet protocols was FTP (file transfer protocol), which allowed a user or program to upload and download files to and from a remote computer. Other common protocols that have developed are:
For the first twenty-five years the internet was largely used only by colleges, universities, research corporations, and the department of defense. It was with the introduction of the world-wide-web in the early 90s that the internet experienced exponential growth (by virtually any measure).