The Ghostbusters are awesome.
They’re awesome because not only did they have to believe in ghosts, they also had to study ghosts and figure out the physics behind ghosts in order to develop the tools in order to bust ghosts. How did Egon Spengler know that an unlicensed nuclear accelerator would even affect incorporeal ectoplasmic entities? You’d think those particle beams would provide no more of an impediment to a ghost than your average wall.
Similarly, just as the Ghostbusters need to know much more about busting ghosts than the ghost hunting layperson, so too does the network engineer need to know more about busting network myths than the network layperson. And this is very important because networks often behave in unintuitive ways.
Network World has put out an article, “12 myths about how the Internet works,” which explain many of the ideas which are counter-intuitive enough to be headscratchers, but which network engineers deal with on a daily basis.
For example, just because A can reach B does not mean B can reach A, nor is it a given that A can reach C if A can reach B, and B can reach C. Every metaphor the layperson uses for the network – pipes, roads, series of tubes – kind of fails us.
But serious networking performance problems can be inadvertently created when application developers tend to believe some of these myths. For example:
4. The time it takes to initiate communications between two systems is what you'll see throughout the communication.
Thaler says many applications assume that the end-to-end delay of the first packet sent to a destination is typical of what will be experienced afterwards. For example, many applications ping servers and select the one that responds first. However, the first packet may have additional latency because of the look-ups it does. So applications may choose longer paths and have slower response times using this assumption.
This is one of the major reasons that companies might consider putting application developers and network teams into a single “application delivery” team. And to be told, choosing the server with the slowest initial ping time isn’t a “stupid” thing to do – it’s just something based on an assumption that a developer would make that a network engineer would know wouldn’t hold true.
Conversely, network engineers may design systems not realizing the needs of the application. For example:
9. If one stream between you and me can get through, so can another one.
Some applications open multiple connections – one for data and another for control – between two systems for communications. The problem is that middleboxes such as NATs and firewalls block certain ports and may not allow more than one connection. That's why applications such as File Transfer Protocol (FTP) and the Real-time Transfer Protocol (RTP) don't always work, Thaler says.
At any rate, the movie wasn’t called “Ghostbuster.” Work as a team.
