 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
• |
Think of
different people/teams, working on
|
|
|
the client and
server programs.
|
|
|
|
– |
Different
programming languages.
|
|
|
|
– |
Diverse hardware,
operating systems.
|
|
|
• |
Be unambiguous,
precise.
|
|
|
|
– |
Consider
potential error conditions.
|
|
|
• |
Allow for future
extensions.
|
|
|
|
– |
Leave room for
additional data, meta-data.
|
|
|
• |
Do not replicate
services provided by lower-
|
|
layer protocols
|
|
|
|
– |
e.g., checksum
|
|