You'll also hear about technologies that modify the data in transmission such as encryption. Whichever the case, the main idea that you should get used to when thinking about the Communication Layer is that information needs to get from one place to another and that data needs to get there in one piece, in the right order, and with no parts of that data changed or corrupted. That is, it should go from one place to another without anyone being able to read it, change it, or fake authorship of it. When we say that information must go from one place to another, we mean specifically, from one computer to another computer and more specifically, from one software program on one computer to another software program on another computer. Since there are so many types of computers and so many software packages that must communicate, you can imagine that it all just works out to a mass of blabber.
Protocols guarantee that each participant of the discussion can understand the other.
Encryption of plain text over the wires - This is handled by a motley of technologies but most commonly involve some form of public key encryption. Generally, TCP will move data from the hardware level to the software level. Once the data has been moved to the software level, the software packages themselves will provide their own protocols for communication. In the realm of web serves and browsers, this is usually handled by HTTP or SSL in the case of encrypted communication. The actual data exchanged may or may not be encrypted.