SDSUCS 596: Client-Server Programming
Spring Semester, 1997
Doc 11, Client Server Protocols

To Lecture Notes Index
San Diego State University -- This page last updated Feb 26, 1997
----------

Contents of Doc 11, Client Server Protocols

Protocol

"Well defined"

"Complete"

"Parsable"

"Available"

Protocol Types

Protocol Design Issues


Doc 11, Client Server Protocols Slide # 2

Protocol

Communication between client and server

 

Good protocols are hard to design

 

Requirements for a "good protocol":


Doc 11, Client Server Protocols Slide # 3

"Well defined"

Every bit of data sent in either direction has to have its place in the protocol description.

Protocol == Language

Common formal description:

BNF and Augmented BNF

Format of the description language needs to be part of the protocol document.

Examples are important

 


"Complete"

The protocol document must cover all possible situations.


Doc 11, Client Server Protocols Slide # 4

"Parsable"

Both clients and servers are computer programs.

A computer program's IQ is generally 0.

Important design goals: (Not always possible)

 


"Available"

For a given protocol, distinct groups may write clients and servers at different times.

Central registry for internet protocols

Self regulating:

Official:


Doc 11, Client Server Protocols Slide # 5

Protocol Types

Two basic types:

  1. Synchronous
  2. Asynchronous

 

Typical synchronous:

  1. Client sends request to server
  2. Server responds with a reply

 

Examples: HTTP, POP, SMTP, GOPHER, XMODEM

 

Typical asynchronous:

Client and server both send information to each other concurrently.

 

Examples: TELNET, RLOGIN, ZMODEM

 

A hybrid protocol is also possible


Doc 11, Client Server Protocols Slide # 6

Protocol Design Issues

Protocol design is difficult!

 

Learn from examples

 

Some issues:


----------