Hans Kruse,
The Pitfalls of Distributed Protocol Development:
Unintentional Interactions between Network
Operations and Applications Protocols, 8th International Conference
on Telecommunication Systems
Design, Nashville, March 2000.
"Applications and application-level protocols such as end-to-end
security and congestion control can interact in unexpected ways with
network based functions such as proxies, address translators, packet
filters, and nodes that perform traffic shaping and differentiated
services functions. In this paper we reivew several recent examples ...
and extract from these examples a sense of the basic protocol functions
that cause potentially harmful interactions."
"We suggest the following principles:
1. Avoid overloading of header fields...
2. Define header access rules...
3. Create a diagnostic feedback capability:"