SDSU CS 580 Client-Server Programming
Fall Semester, 2000
Client-Server Protocol
Previous    Lecture Notes Index    Next    
© 2000, All Rights Reserved, SDSU & Roger Whitney
San Diego State University -- This page last updated 20-Nov-00

Contents of Doc 23, Client-Server Protocol


References

CS 580, Spring 1997 lecture notes, http://www.eli.sdsu.edu/courses/spring97/cs596/notes/protocol/protocol.html



Doc 23, Client-Server Protocol Slide # 2

Protocol


Communication between client and server


Good protocols are hard to design


Requirements for a "good protocol":







Doc 23, Client-Server Protocol Slide # 3

Well defined


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

Protocol is a Language

Common formal description:

BNF and Augmented BNF

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

Examples are important


Doc 23, Client-Server Protocol Slide # 4

Complete


The protocol must cover all possible situations.



Doc 23, Client-Server Protocol Slide # 5

Parsable


Both clients and servers are computer programs.

A computer program's IQ is generally 0.

Design goals:

Allow parsing independent of semantics

Allow for code reuse

For example name-value pairs


Doc 23, Client-Server Protocol Slide # 6

Available


Different groups may write clients and servers at different times.

Central registry for Internet protocols

Self regulating:


Official:



Doc 23, Client-Server Protocol Slide # 7

Protocol Types


Two basic types



Typical synchronous


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 23, Client-Server Protocol Slide # 8

Protocol Design Issues


Protocol design is difficult!

Learn from examples

Some issues




Easy of debugging
Efficiency

Protocol overhead
Roundtrip delays
Who is writing, who is reading?
Timeouts vs. Synchronous protocols



Copyright ©, All rights reserved.
2000 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA.
OpenContent license defines the copyright on this document.

Previous    visitors since 20-Nov-00    Next