Tussle in Cyberspace (2002) =========================== What is the intellectual contribution of this paper? Is this research? It's a subjective position paper, not a research result By the late 1990s, Internet was obviously going to be huge success started mirroring the societies in which it operated (p. 2) Early 2000s, a lot of research interest in "Internet Architecture" 2002: SIGCOMM top networking conference, in addition to research, solicits: "'position papers' articulating high-level architectural visions, describing challenging future directions, or critiquing current design wisdom." Senior authors: Braden (b. 1934, M.S. 1962), Clark (b. 1944, Ph.D. 1973) Karen Sollins (Ph.D. 1985), John Wroclawski (M.S. early 1990s) Hard to imagine junior people writing this, but SIGCOMM was blind submission What are some examples of Tussles - "Music lovers" (i.e., pirates) vs. rights holders - ISPs vs. competing ISPs in the Internet peering game - Last-mile broadband investment vs. residential ISP competition - Cryptography vs. the NSA in the 1990s crypto was a *munition* until 11/1996 export restrictions mostly dropped in 1/2000 - Firewall/NAT vs. transparent packet carriage between all points - Censorship firewall vs. routing/tunneling/VPN - People who want to be left alone vs. those who want to bother them (p. 6) Okay, the Internet invites tussle. What should we do about it? (p. 2) - Accommodate it so tussle doesn't distort/break the design! (design the playing field, not the outcome, p. 4) - Modularize design along tussle boundaries Bad example: DNS merges trademark disputes w. IP renumbering Counterpoint: AlterNIC, DHTs Good example: explicit QoS (no need to infer from port number, etc.) Counterpoint: Not honored from customers, ISPs reserve for themselves - Design for choice Good example: SMTP & POP (pre-IMAP) -- choose your own mail server Bad examples? Any closed messaging system (facebook messenger, WhatsApp) Transparent performance enhancing proxies stifle protocol evolution Some implications: Choice often requires open interfaces (p. 3) Lets people unilaterally upgrade components with new implementation Tussles evolve over time--multi-round process Authors claim exchange of value, information may be important... Do we believe this? The world didn't evolve to allow fine-grained per-packet rates We do see APIs with per-query cost/priority, AWS spot instances, etc. What do Greed and Fear have to do with network design? Greed - drives investment Fear - comes from competition ISPs want to lock in customers to limit competition (static IPs, refusing to route to small customer netblocks) How can network architecture promote competition? Make it easy to change IP address, have multiple IP addresses (DHCP, but also IPv6 autoconfiguration, A6 records, ...) ISPs want to employ "value pricing" Make residential service unattractive for businesses (prohibit servers) But users can also employ tunnels to work around, if network permits So maybe net has to take a side and can't just "design the playing field"? Small number of parties own the copper/coax/fiber to residences Need research to multiplex fiber between providers Counterpoint: does wireless network competition work? Source routing can create routing competition (alleged design failure) Would need source-routing + payment mechanism Counterpoint: Would you really want this? Countries w. ISP competition don't need source routing How does designing for tussles relate to end-to-end arguments? E2E probably the best way to design for choice Innovation far easier if only need to change your own hardware/software Applies to networks, but also many other kinds of system design (OS syscall API, Hardware/software interface, etc.) Bad example: Flash storage firmware is completely closed Not allowing strategy choice in OS massively impedes innovation Are there other ways to design for choice? Yes, programmability Postcript in printers, Javascript in clients' browsers, blockchain smart contracts, CUDA, SmartNICs Researchers have advocated for programmable "active networks" in 1990s Didn't get the warmest reception in the research community Did manage to advocate "tiny packet programs" in SIGCOMM 2014 Can you separate policy from mechanism, and why is this desirable? (p. 9) A *value-neutral* mechanism accommodates many policies, so gives choice May also be simpler to implement (no need to anticipate all policies) But identifying and designing such mechanisms is challenging! But user choice is a value! (favor David over Goliath) Our playing field is inherently asymmetric (the many vs. the powerful) Some tricks to use when designing mechanisms for choice Recognize when you pay complexity to work around abstractions Can you just directly provide the necessary information/facility Examples: (congestion control already mentioned) NFS3 writes separate cache consistence from crash consistency Linux restartable sequences tell you when you might be migrated "Rule of 3": does a mechanism facilitate 3+ unrelated things? More likely to facilitate other things you haven't anticipated Example: TCP timestamp option: * Improves RTT measurement for congestion control * Facilitates loss recovery (know which retransmission is acked) * Workaround for 32-bit seq nums too small on fast networks (PAWS) * Facilitates passive performance analysis Why do the authors believe QoS failed, and do you agree? No way for customers to pay for QoS meant ISPs only used it internally Personally, I find this too simplistic, as other ways to pay: - E.g., pay for lower latency with higher loss rate or vice versa - Pay with quotas (many cell providers throttle you after N GB/month) In addition, still no hard guarantees, so would users really want to pay? How convincing is the paper? Discussion: what does the premise mean for network neutrality? Telus blocked access to union organizing web site. Seems really bad But maybe could be resolved by labor low, not network law None of the other examples in paper quite as compelling applicable (e.g., involve telephony, or broadcast run by company, etc.) Personally very undecided Neutral networks clearly desirable, but are laws/regulations the best way Afraid of how laws/regulations get weaponized, e.g.: Environmental laws inhibit renewable energy, short commutes Anti-patronage laws make it hard for gov't to hire the best people