TCP/IP Lean: Web Servers for Embedded Systems, Second Edition

In this chapter, I start by looking at what a protocol is, then I show how it can be implemented in software. I'll examine
the definition of a protocol,
the standard way of describing a protocol,
the client server model,
modal and modeless clients, and
logical connections open, close, and data transfer
Because this is a hands-on book, I'll illustrate these points by creating a protocol from scratch (called SCRATCHP) and writing a utility that allows you to exercise the protocol. While implementing the protocol, you'll have an opportunity to explore the following areas.
Storage of Ethernet and SLIP frames
Ethernet addressing
Protocol identification
Byte swapping
Low-level packet transmission and reception
You'll end up with a stand-alone utility that can be used to exercise the protocol that's been created, or it can be used as a base for implementing another protocol. The foundations will have been laid for the TCP/IP protocols to come.
For two computers to communicate, they must speak the same language. A communication language framework is generally called a protocol. The name is derived from the framework employed by diplomats when attempting to communicate across cultural boundaries. Two computers may employ different processors, languages, and operating systems, but if they both use a common protocol, then they can communicate.
Protocols don't just enable communications, they also restrict them. Neither party may stray outside the bounds of protocol without facing incomprehension or rejection. So a protocol doesn't just define how communication may...