Communication Protocols
An Introduction
Prof. David Bernstein
James Madison University
Computer Science Department
bernstdh@jmu.edu
Other Kinds of Protocols
Diplomatic:
Rules, procedures, conventions and ceremonies which relate to relations between state
Legal:
An international agreement which supplements or amends a treaty (e.g., the Kyoto Protocol)
Science/Medicine:
A predefined (written) method describing the way to implement an experiment
Definition of "Communications Protocol"
Informal:
An agreement about how communication will proceed
Formal:
An agreement that governs the procedures used to exchange information between cooperating entities
The First Documented Communications Protocol
The Document:
The play
Agamemnon
(458 B.C.)
The Communications Challenge:
Communicate the fall of Troy (using fire signals)
The First Documented Communications Protocol (cont.)
A Critique:
Polybius (2nd Century B.C.) argued that the system couldn't be used to communicate unexpected events
The Solution:
Use 5 torches at both ends
Some Questions:
How many messages/events can be represented?
Is this a complete protocol?
A Discussion/Exercise
Provide some examples of communications protocols (that are not computer-specific)
Formally define the protocol
Describe possible problems with the protocol
Common Elements of a Communications Protocol
Message types (and formats)
Sequencing rules
Size rules
Timing rules
Error handling
Distinguishing Communications Protocols from Services
Service:
A set of operations/primitives
Communications Protocol:
The rules used to provide a service
Distinguishing Communications Protocols from Services (cont.)
A Programming Analogy:
A service is like an abstract data type (ADT)
A protocol is like a particular implementation
A Common Problem:
Many (especially older) systems did not distinguish the service from the protocol
Defining/Expressing Communications Protocols as a Language
Lexicon:
The valid components of a message
Syntax:
The rules for constructing messages
Semantics:
The meaning of different messages
Defining/Expressing Communications Protocols Using UML State Diagrams
States:
Transitions:
Communications Protocols Using UML State Diagrams (cont.)
An Example:
Is Anything Missing?
Check for missing transitions
Check for missing states
Defining/Expressing Communications Protocols Using Other FSM Diagrams
Defining/Expressing Communications Protocols Using UML Sequence Diagrams
An Example
Communications Protocol Standards Organizations
International Organization for Standards
International Telecommunications Union
Institute of Electrical and Electronics Engineers
Internet Engineering Task Force
National Marine Electronics Association
There's Always More to Learn