The research and engineering community has been designing networks and network protocols for almost 50 years, starting before the Internet emerged. Standards bodies and companies continue to develop new protocols, e.g., for the Internet of Things, or re-engineer older ones, such as HTTP. While only a few programming languages and original operating systems from the 1970s are still in common use, many old protocols and formats, such as SMTP and ASN.1, still permeate the Internet. The basic notion of protocol layering, while occasionally debated among network architects, dominates as core organizational principle and even governs how we describe and teach networks.
We propose to gather academic and industry researchers to reflect on general design principles for network protocols and algorithms. Which approaches have aged well? Which were dead ends, but are still routinely taught? If you had the opportunity to start from scratch, what considerations and principles should guide the design? Is the old model of protocol layers obsolete, to be replaced by a notion of layered networks? Should confidentiality, integrity and authentication be integrated into protocols or layered above (or below)? Is there an opportunity to simplify and unify not just the data transport layers, but also control and management? How should we convey principles of good protocol design to students and standards writers? How do we examine the impact of early engineering tradeoffs and their effect on the longevity of a protocol? What protocol features exhibit “brittleness” in the face of assumptions at design-time that prove to be suboptimal? What are the subtle (and not so subtle) effects of protocol extensibility on the evolution of a protocol, especially how successful extensibility mechanisms actually proved to be in practice in the face of inertia, developer shortcuts and ossification? Are we building economic and market assumptions into our protocols? Are protocols embedding unspoken ethical choices?
Protocol design and successful deployment is not purely about the technical aspects of the protocol itself. Implementation strategies, deployment incentives, economics and (politically-driven) regulation affect protocols and their evolution as well. How could those differ based upon the protocol context (e.g., protocol layer, endpoint vs. router implementation)? Which accompanying mechanisms are useful to socialize a protocol with the community and stakeholders (e.g., open source code)? How sustainable is protocol success, i.e., what is the expected protocol lifetime?
The goal of this Dagstuhl Seminar is to explore, understand, structure, and to begin documenting experience from protocol design, for both the more elusive “art” as well as “engineering” parts. We will also explore engineering-based metrics that allow protocol designers to go beyond matters of taste. We will consider case studies of successful protocol developments and deployments as well as less successful counterparts, drawing on the extensive experience of our participants. We will look at protocols originating from standardization bodies, from industry, from academia, and from the open source community.
- Networking and Internet Architecture
- network architecture
- protocol design
- network evolution
- protocol deployment