uccser/cs-field-guide

View on GitHub
csfieldguide/chapters/content/en/network-communication-protocols/network-communication-protocols.md

Summary

Maintainability
Test Coverage
# Network Communication Protocols

Think about the last time someone sent you mail via the post.
They probably wrote some content on some paper, put it in an envelope, wrote an address and put it in a postbox.
From there, the letter probably went into a sorting center, got sorted, and was put in a bag.
The bag then went into a vehicle like a truck, plane or boat.
The vehicle either travelled through water, the air, or on the road.
The postal system is a complicated one, designed to let individuals communicate easily, yet being efficient enough to group many letters into one postal delivery.
The same ideas apply to how messages move around the internet.
Whether it be a ‘like’ on Facebook, a video stream or an email – the internet uses its various protocols to look after it for you so it is delivered on time and intact to the other person.

In this chapter we introduce some concepts, algorithms, techniques, applications and problems that relate to network protocols; it isn’t a complete list of all ideas in the area, but should be enough to give you a good idea of what this area of computer science is about.