Evolutionary Approaches to Revolutionary Change in the Internet Architecture ============================================================================ In the past several years, the networking research community has grown increasingly frustrated with the difficulty of effecting substantive change in the Internet architecture. This frustration is responsible, in part, for a shift in focus to research in "green-field" environments such as overlays, peer-to-peer, sensor networks, and wireless networks. Although these topics are compelling and important in their own right, I would argue that the underlying Internet infrastructure, IP protocols, and operational practices are plagued with serious problems that warrant significant research attention from our community. However, having revolutionary impact on the Internet architecture is extremely challenging because of the commercialization of the network and the large installed base of legacy equipment running the existing protocols. As a result, many studies of the Internet's "underlay" focus on collecting and analyzing measurement data or on proposing and evaluating incremental changes that address specific problems. These kinds of studies are certainly interesting and important, both to strengthen our understanding of the current architecture and to improve the performance and reliability of today's networks. Yet, we need to find ways to effect more fundamental change in the years ahead. I think that breaking the stalemate requires us to think creatively about evolutionary approaches to revolutionary change. The key is the sometimes tedious notion of "incremental deployability" (an important concept that is often abused as a weak excuse to reject papers that take green-field approaches, or to criticize papers on point fixes for their preoccupation with today's artifacts), which should give way to a deeper treatment of how to exploit the evolvability of the existing protocols and systems, and how to make them more evolvable in the future. To effect change, I think we should consider the following three issues: - Target end state: We need to think deeply about what we want the Internet architecture to look like in the future. This may (and arguably should) include empirical studies of the operation of today's networks and protocols, discussions of the requirements for our future infrastructure, and green-field investigations of new architectures. A focus on identifying and addressing the foundational issues should dominate the agenda rather than point fixes to specific sub-problems, though some useful point fixes may certainly arise along the way. - Backwards compatibility: To effect change, we need to find ways to move toward the target end state without requiring a "flag day" where the legacy equipment and protocols are replaced. For example, approaches that maintain the message formats of our existing protocols can allow substantive change while still accommodating legacy equipment. Ethernet is a great example of this principle -- significant change has occurred in the past decade or so while (and arguably *because of*) remaining compatible with the legacy specification of the message format. - Incentive compatibility: Each step along the way to the target end state needs to offer substantive benefits to the early adopters, and additional incentives for the remainder of the Internet to join the party. The need for incentive compatibility is so strong that it might dictate the choice of steps and, in some cases, even the target end state itself. A sound treatment of incentive compatibility requires accurate models of the cost of deployment and the benefits at each stage of adoption. The construction of the steps along the way is arguably a research problem in its own right. To make progress in this kind of thinking, I believe the networking research community would benefit from engaging at least the following two specific communities: - network practitioners (operators, equipment vendors, campus administrators) to understand the existing protocols, the limitations of today's architecture, and to collect valuable measurement data; this includes networking researchers creating their own opportunities to collect data and gain operational experience by building and running large research testbeds - researchers with expertise in economic modeling, game theory, and mechanism design to start developing ways to reason about incentive compatibility and the competitive forces that have such a significant impact on the Internet's operation and evolution There are undoubtedly other communities as well (e.g., complex systems and network optimization) that would help us in putting the design and evolution of the Internet architecture on a strong foundation and in charting a course that can ultimately lead to fundamental change.