- Forward


Communication Protocols
An Introduction


Prof. David Bernstein
James Madison University

Computer Science Department
bernstdh@jmu.edu

Print

Other Kinds of Protocols
Back SMYC Forward
  • 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"
Back SMYC Forward
  • 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
Back SMYC Forward
  • 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.)
Back SMYC Forward
  • 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
Back SMYC Forward
  1. Provide some examples of communications protocols (that are not computer-specific)
  2. Formally define the protocol
  3. Expand
  4. Describe possible problems with the protocol
  5. Expand
Common Elements of a Communications Protocol
Back SMYC Forward
  • Message types (and formats)
  • Sequencing rules
  • Size rules
  • Timing rules
  • Error handling
Distinguishing Communications Protocols from Services
Back SMYC Forward
  • Service:
    • A set of operations/primitives
  • Communications Protocol:
    • The rules used to provide a service
Distinguishing Communications Protocols from Services (cont.)
Back SMYC Forward
  • A Programming Analogy:
    • A service is like an abstract data type (ADT)
    • A protocol is like a particular implementation
    • Expand
  • A Common Problem:
    • Many (especially older) systems did not distinguish the service from the protocol
Defining/Expressing Communications Protocols as a Language
Back SMYC Forward
  • 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
Back SMYC Forward
  • States:
    • statechart_umlstates
  • Transitions:
    • statechart_umltransitions
Communications Protocols Using UML State Diagrams (cont.)
Back SMYC Forward
  • An Example:
    • statechart_phone-call
  • Is Anything Missing?
    • Check for missing transitions
    • Expand
    • Check for missing states
    • Expand
Defining/Expressing Communications Protocols Using Other FSM Diagrams
Back SMYC Forward
fsm-diagram
Defining/Expressing Communications Protocols Using UML Sequence Diagrams
Back SMYC Forward

An Example

sequencediagram_phone-call
Communications Protocol Standards Organizations
Back SMYC Forward
  • 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
Back -