Let’s start this shot with a simple scenario.
The diagram above is a simple network containing PC1 (me) and PC2 (you) connected to a hub.
Let’s name my desktop, PC1 (me) as Ken PC, and your desktop PC2 (you) as Reader PC. Ken PC and Reader PC are both on the same network, so I can use my desktop (Ken PC) to communicate to you, Reader PC.
This network will communicate primarily with the
The big question here is: how do I do this?
I only know your name as Reader PC. My Ken PC doesn’t know your Reader PC’s MAC address.
We will explore the answer to this big question together.
Ken PC will do just one thing. It will yell, “Where can I find Reader PC?” to the whole network.
Ken PC will do this by sending a
Upon getting the yell for help, Reader PC will possibly respond “Here I am.” Reader PC will do this by sending a broadcast message in response with the
Once more, every host on the network will listen to this broadcast, check if it’s for them, and if not, they will not respond.
If you observe closely, you will notice that our setup will become problematic if we add more hosts to our network.
There will be numerous uncontrolled yells for help all over that are broadcast, and these yells will be going like voices over another, causing a collision.
This brings us to an important discussion: collision and collision domain and broadcast and broadcast domain.
In a network, when
Packets with this likelihood are said to be on the same collision domain, which is a network segment with the probability of having packets in it collide.
A hub, a shared wired or wireless medium, will present a single collision domain. On the other hand, the ports of bridges, switches, and routers will present different collision domains.
This is a network segment in which every host must listen to every broadcast message sent on the network. In a broadcast domain, anytime there is a broadcast, every host meant to listen to it gives the message a priority treatment. They abandon all other activities to listen and possibly respond to the broadcast.
Hubs, bridges, and switches all present a single broadcast domain in a network. On the other hand, a router presents a separate broadcast domain.
Imagine all packets colliding here and there and having their routes changed endlessly by the numerous collisions they encounter. This will cause packets to remain en route to their destination longer than they should.
This results in many packets remaining on the network undelivered, causing a clog up of the
If all hosts have to pause their current event and give attention to the broadcasts whenever there is one, this will cause our PCs to crawl.
You might have seen a network set up efficiently, well cabled, and wired. But the network still crawls, and you find out that they relied heavily on hubs.
This will surely waste resources like money, time, networking devices, and so on because they are under-utilized.
This problem can be resolved by introducing switches and routers to break the collision and broadcast domain and make the network faster.
Let me round up with this question amongst the networks presented in Figures 1, 2, and 3.
Which do you think will suffer the least congestion?
In figure 2, there is still one broadcast domain but four different collision domains.
Remember all ports from the switch are different collision domains but different broadcast domains.
Then, in figure 3, we can count four different broadcast domains (each connection that stems out from the router is a separate broadcast and collision domain) and eight collision domains.
Apart from reducing the large broadcast and collision domains in segments of your networks causing congestion, you can check the list below to minimize further congestion.
Try to reduce the hosts you have in any single broadcast domain.
Avoid the use of hubs for network connectivity, if possible.
Try as much as possible to use high bandwidth mediums. That is, use media that can guarantee large data transfer as it suits your usage.