A packet is a key part of how the Internet works, but what exactly is one?
When you pop a letter into a post box, it usually arrives in the same condition it was dispatched in – dubious sorting office staff notwithstanding. It’s therefore natural to assume that when we send and receive data over the Internet, everything arrives in a similarly unified and cohesive format. However, online information travels using a very unusual method of data transmission…
When you action a request online, from sending an email to loading a webpage or selecting a photograph to view, your terminal makes a request to an offsite host for assistance. Logic might suggest that the information you are sending or receiving would be arranged in a steady stream of chronologically-ordered data, starting at the top and methodically working down to the bottom.
In fact, numerous different pieces of information begin separate journeys through cyberspace as part of a mass race to your terminal. Once they arrive, your computer or web browser will painstakingly reassemble them in a pre-arranged order.
Returning to the letter analogy, the postal service allows you to send a completed jigsaw in one envelope. Web traffic is the equivalent of breaking the jigsaw into its constituent pieces and numbering each one before posting it in a separate envelope, and then rebuilding it chronologically once the final piece is delivered.
Each formatted unit of data that is dispatched to a destination is known as a packet, and more cynical readers of this blog may already be wondering what happens if individual packets get lost as they bounce around cyberspace. This is a phenomenon known as packet loss, and it’s studied in greater detail in this follow-up article. Because every packet follows a separate path, they will often arrive out of sequence.
This is explained to the recipient computer by the use of header information, introducing each unique piece of the data’s position in the bigger picture as well as identifying its origin and destination. A trailer will indicate the end of the packet, as well as conducting some basic error checking functionalities. The content in between is known as payload data, and this is the actual meat and potatoes of each packet – the information that will be displayed once it’s been extracted and arranged in the correct order.
The purpose of dividing information into packets is to avoid overloading a single communication channel with masses of one person’s data. By sub-dividing it into packets, the use of those channels is democratised among everyone. Each packet can take the fastest available route at the precise millisecond it’s sent (rather than having to follow its siblings), and rerouting can instantly take place if any problems occur along the way. This packet-switching method of communications is different from circuit-switched schemes, which are used for voice connections where it’s extremely important for words to arrive in chronological order. After all, conversations would be very difficult to understand if the order arrived the words in wrong…