Protocol Design Issues
Doc 11, Client Server Protocols Slide # 2
Communication between client and server
Good protocols are hard to design
Requirements for a "good protocol":
Doc 11, Client Server Protocols Slide # 3
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
The protocol document must cover all possible situations.
Doc 11, Client Server Protocols Slide # 4
Both clients and servers are computer programs.
A computer program's IQ is generally 0.
Important design goals: (Not always possible)
For a given protocol, distinct groups may write clients and servers at different times.
Central registry for internet protocols
Doc 11, Client Server Protocols Slide # 5
Two basic types:
Examples: HTTP, POP, SMTP, GOPHER, XMODEM
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 is difficult!
Learn from examples