A protocol is a standardized set of rules that governs how devices communicate, defining the order of communication and the format of data exchanged. Understanding protocols is foundational to grasping how different platforms and applications exchange information reliably across a network.
Protocols in Communication
When there's two machines talking back and forth, they could be very different platforms. What I mean by that is one could be a Windows machine and the other would be a Linux machine. Or it could be an Apple talking to a Unix machine, or it could be my phone that's trying to access some sort of other platform. There's a lot of different combinations of different devices trying to communicate together. So how do we have a common set of rules? Well, that's where a protocol comes into play.
In our example right here, we have a service that's running on our server that's hosting out our website, but people could be connecting to it with all sorts of apps. They could be connecting to it from Chrome, they could be connecting from Firefox or Safari or Microsoft Edge or any one of these browsers. They could be connecting into our site from different platforms too. It might be on their tablet or their mobile phone or some sort of laptop or desktop. We don't really know what that scenario is. So we need a common language back and forth between these devices. What a protocol is is it's a set of rules for communication, so whoever makes the apps over here, whoever makes the devices over here, can still communicate with these services and these devices over here.
Let's take a look at that app that we're creating that's going to be able to play the songs for our business. What's going to happen is this app needs to make a request first: I would like a list of the songs that are available. It's going to make that request of this service, and that service then will reply with all the songs that are available so it can be shown on our app. But what's actually flowing back and forth between these devices is just a bunch of ones and zeros.
So what needs to be determined with these protocols is how are these going to communicate? What is the order of communication? What is the format of the messages? As just an example, maybe the client first of all needs to say hello to the server, and then the server is going to reply back with a hello, and then the app will request a list of songs, and then those songs will be delivered. But are they going to be delivered all at once, or are they going to be delivered individually? That's going to be determined by the protocol. What is the set of rules that we're setting up for this communication to happen?
So one thing that's important is the order of communication: what happens so we can establish communication between these devices. And another critical piece then is going to be the message format: what order is the data going to show up in? Because for each one of these songs, we probably have extra information. We want to know the name, we probably want to know the album it's on, the artist, maybe there's some sort of graphics, album cover graphics or song graphics, maybe there's lyrics involved. We're going to want to send a bunch of data over so that the user has this positive experience.
And what it's going to look like when it gets sent over is it's just going to be a string of data. It's not going to show up in a fancy format as it gets communicated across the line. It might present it this way to the end user, but it's going to be just a string of data. And what happens if we don't have a protocol that defines all this is that we could have information in the wrong order. And if it gets sent over in the wrong order, now suddenly they think the name of the song is top hits and the album is Serge, because the two were flip-flopped. And we can even take it one step further: what's being sent across isn't really even the string of data, it's just the string of ones and zeros, which then gets rolled up into the string of data, which then gets rolled up into some sort of format that the end user is going to see.
Now when it comes to protocols, there's two things that I want to make clear. Number one is I wouldn't be reinventing my own protocol to make this communication happen. That is, if I was creating an app and a service for it to communicate back and forth, I wouldn't have to create a new protocol to do this. There are already protocols out there that we would be using to make this all happen. I wouldn't have to program all of that; it would just be part of the program. Next of all, I want to stress that with all of this stuff that's happening back and forth, there's actually lots of protocols that are at work. There's layers of protocols that are at work to make this all happen. Just understand that protocols are what allows that communication to happen and sets up the rules for that communication.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →