uccser/cs-field-guide

View on GitHub
csfieldguide/chapters/content/en/network-communication-protocols/sections/what-is-a-protocol.md

Summary

Maintainability
Test Coverage
# What is a protocol?

'{glossary-link term="protocol"}Protocol{glossary-link end}' is a fancy word for simply saying "an agreed way to do something".
You might have heard it in a cheesy cop show – "no Jim, that’s against protocol!" – or heard it used in a procedural sense, such as how to file a tax return or sit a driving test.
We all use protocols every day.
Think of when you’re in class.
The *protocol* for asking a question may be as follows:

  - Raise your hand.
  - Wait for a nod from the teacher.
  - Begin asking your question.

Simple tasks require simple protocols like the one above; however more complicated processes may require more complicated protocols.
Pilots and aviation crew have their own language (almost) for their tasks.
A subset of normal language used to convey information such as altitude, heading, people on board, status and more.

Activities on the internet vary a lot too (email, Skype, video streaming, music, gaming, browsing, chatting), and so do the protocols used to achieve them.
These collections of protocols form the topic of Networking Communication Protocols.
This chapter will introduce you to some of them, what problems they solve, and what you can do to experience these protocols first hand.
Let’s start by talking about the one you’re using if you're viewing this page on the web.