Chapter 6. Communication Networks and Protocols
How do you know what’s going on in someone’s mind? You ask them. You might simply say, “I believe something is troubling you, and sharing it might help to take the burden off your mind.” This is a simple exchange of words that we call communication. There can be different ways to communicate. For example, in this scenario, the conversation might have happened in person or via a messaging application or a phone call in a language you both understand. We very briefly introduced you to the concept of communication in Chapter 1. In this chapter, we’ll extend the idea of communication in much more detail.
The internet has changed a lot over time, and many solutions have been built to solve new problems that we encounter while communicating over the internet. It is important that there are guidelines or mechanisms to ensure that people and machines can work with one another. We’ll begin our discussion with communication models to strengthen our understanding of communication over the internet adhering to certain rules, which are called protocols. You may have seen a lot of keywords floating around, such as TCP, XMPP, WebSockets, WebRTC, HTTP, GraphQL, REST, and so on. It can be very confusing to figure out what these terms mean and in which scenarios they should be used. This chapter will help you gain an understanding of communication-related terms, and we’ll identify the correct scenarios for using a particular technology.