Protocol Success
Mark Townsley, Cisco Fellow Presenting Material from The IETF’s Internet Architecture Board (IAB), Dave Thaler (Microsoft), and Brian Carpenter (IBM)
Protocol Success Mark Townsley, Cisco Fellow Presenting Material - - PowerPoint PPT Presentation
Protocol Success Mark Townsley, Cisco Fellow Presenting Material from The IETFs Internet Architecture Board (IAB), Dave Thaler (Microsoft), and Brian Carpenter (IBM) 3 Important RFCs RFC 5218 - What Makes for a Successful Protocol
Mark Townsley, Cisco Fellow Presenting Material from The IETF’s Internet Architecture Board (IAB), Dave Thaler (Microsoft), and Brian Carpenter (IBM)
12/6/07 IETF 70 Technical Plenary 1
draft-iab-protocol-success-01.txt Dave Thaler
dthaler@microsoft.com
12/6/07 IETF 70 Technical Plenary 2
widely deployed, if it meets its original goals
– However, it’s not very interesting to us for this discussion, so let’s just look at things that are widely deployed. – Widely deployed ≠ inter-domain
examples of successes:
– Inter-domain: IPv4, TCP, HTTP, DNS, BGP, UDP, SMTP, SIP, etc – Intra-domain: ARP, PPP, DHCP, RIP, OSPF, Kerberos, etc
12/6/07 IETF 70 Technical Plenary 3
Original Protocol Design Space
Scale Purpose
12/6/07 IETF 70 Technical Plenary 4
way it was originally envisioned, and to the scale it was originally envisioned
that is deployed on a scale much greater than originally envisioned and/or in ways beyond what it was originally designed for.
12/6/07 IETF 70 Technical Plenary 5
Scale Purpose
12/6/07 IETF 70 Technical Plenary 6
Scale Purpose
12/6/07 IETF 70 Technical Plenary 7
Scale Purpose
Web VPN Firewall Traversal
12/6/07 IETF 70 Technical Plenary 8
Scale Purpose
IP over everything, everything over IP
12/6/07 IETF 70 Technical Plenary 9
Scale Purpose
DNA Non- Ethernet Non-IP
12/6/07 IETF 70 Technical Plenary 10
– Undesirable side effects when used outside intended purpose – Performance problems – Ugly hacks to work around design limitations – High value target for attackers – “Death by success”
12/6/07 IETF 70 Technical Plenary 11
– No support in hosts/routers/whatever
– Boxes which support it are not deployed, or – Protocol is not enabled on boxes that are
– No applications exist that can utilize
egg” problem
– Not a cause of failure, just a term used to explain lack of a value chain in existence
12/6/07 IETF 70 Technical Plenary 12
it is easiest to succeed
– Reduce cost by removing complexity not required for that purpose
term economic or military benefits
– Increase financial benefits (or penalties) to industry – E.g. strong crypto for US DoD, IPv6 incentives in Japan, etc.
12/6/07 IETF 70 Technical Plenary 13
success?
success?
meet all criteria
– Each one met may facilitate success – Each one not met may hinder success
12/6/07 IETF 70 Technical Plenary 14
1. Positive net value (meet a real need) 2. Incremental deployability 3. Open code availability 4. Freedom from usage restrictions 5. Open spec availability 6. Open development and maintenance processes 7. Good technical design Additional “wild” success factors: 8. Extensible 9. No hard scalability bound
12/6/07 IETF 70 Technical Plenary 15
the protocol clearly outweigh the costs of deploying it.
Time $ Benefit Cost Time $ Benefit Cost
A) B)
12/6/07 IETF 70 Technical Plenary 16
12/6/07 IETF 70 Technical Plenary 17
– Hardware cost: protocol changes that don't require changes to hardware are easier to deploy than those that do.
– Operational interference: protocol changes that don’t require changes to other operational processes and tools are easier to deploy than ones that do. (e.g., IPsec interferes with netflow, deep packet inspection, etc.)
– Retraining: protocols that have no configuration, or are easy to configure/manage are easier to deploy
12/6/07 IETF 70 Technical Plenary 18
– Business dependencies: protocols that don’t require changes to a business model (whether for implementors or deployers) are easier to deploy than
– Pay to play: The natural incentive structure is aligned with the deployment requirements.
something are the same as those who gain the most benefit.
where change is required
12/6/07 IETF 70 Technical Plenary 19
the rest of the Internet does not yet support
– Autonomy: protocols that can be deployed by a single group/team are easier than those that require cooperation across multiple organizations (no flag day) – One-end benefit: protocols that provide benefit when
that don’t (e.g., MIPv6 vs. HIP) – Backward compatibility: protocol updates that are backward compatible with legacy implementations are easier to deploy than ones that aren’t.
12/6/07 IETF 70 Technical Plenary 20
considerations
– IPv4 vs IPX – RADIUS vs TACACS+
12/6/07 IETF 70 Technical Plenary 21
deploy the protocol can do so without legal
12/6/07 IETF 70 Technical Plenary 22
a way that ensures it is accessible to anyone who wishes to use it.
– World-wide distribution: accessible from anywhere in the world – Unrestricted distribution: no legal restrictions on getting spec – Permanence: stays even after creator goes away – Stable: document doesn’t change
RFC.
12/6/07 IETF 70 Technical Plenary 23
by open processes.
the participation of all constituencies that are affected by the protocol.
12/6/07 IETF 70 Technical Plenary 24
– Simplicity – Modularity – Robust to failures
12/6/07 IETF 70 Technical Plenary 25
payloads/options
12/6/07 IETF 70 Technical Plenary 26
– Size of “address” fields – Performance “knee” that causes meltdown
12/6/07 IETF 70 Technical Plenary 27
more attacks there will be to mitigate
12/6/07 IETF 70 Technical Plenary 28
– (Very) positive net value (i.e., Fills a perceived need) – Incremental deployability – Open code availability
– Open spec availability
– Restriction free
– Open spec maintenance
– Technical design
– Extensibility – No hard scalability bound – Threats mitigated
12/6/07 IETF 70 Technical Plenary 29
– WG charter time (if specific protocol in charter) – Protocol selection time (if WG selects among proposals) – Protocol creation time
– Do the success factors exist? – Can the technology help potential high-profile customers? – Are there potential niches in desperate need? – How extensible should the protocol be? – If success is uncertain, should IETF wait or work on multiple alternatives?
12/6/07 IETF 70 Technical Plenary 30
which originated outside the IETF, and where technical quality was not a primary factor in success
these, often after success of v1 was certain
IETF to fix after success
1
Note how TCP works - it assumes that packets may be lost, delayed, corrupted or delivered out of order. The two ends of a TCP connection cooperate to overcome this Note how SSH works - it assumes that messages may be intercepted and that attackers may try to insert false
cooperate to overcome this Note how DNS works - if a DNS (UDP) message is lost, no harm results except a delay. These are all examples of the end-to-end principle at work
Background slide
2
Certain required end-to-end functions can only be performed correctly by the end-systems themselves Any network, however carefully designed, will be subject to failures of transmission at some statistically determined rate. The best way to cope with this is to give responsibility for the integrity of communication to the end systems. A similar argument applies to intrusions No solution buried inside the network can give the same level of assurance as the end systems
For example, end-to-end encryption is intrinsically safer than router-to- router encryption * see References
Background slide
3
Heterogeneity by design Avoid duplicate solutions Scaleable designs Performance and cost must be considered as well as functionality KISS (keep it simple, stupid!) Modularity is good Good enough is enough (don't seek perfection) Minimise use of options Be strict when sending and tolerant when receiving
Background slide
4
Be parsimonious with unsolicited packets, especially multicasts and broadcasts Circular dependencies must be avoided Objects should be self-describing (type and size) Nothing gets fully standardised until there are multiple instances of running code Avoid design that requires hard coded addresses Addresses must be unambiguous (NAT breaks this!) Designs should be fully international All protocols need strong security (early ones didn't!)
Background slide
5
RFC 1958: Architectural principles of the Internet
End-to-end principle paraphrased from "End-To-End Arguments in System Design", J.H. Saltzer, D.P.Reed, D.D.Clark, ACM TOCS, Vol 2, Number 4, 1984
“Why the Internet only just works” by Prof. Mark Handley, University College London http://www.cs.ucl.ac.uk/staff/ M.Handley/papers/only-just-works.pdf
Background slide
logical addresses were unique. datagrams were not changed in transit. end systems handle error detection, retransmission, security, naming, and binding.
Intranet concept (isolation viewed as good) Dynamic addresses (SLIP, PPP, DHCP) Private addresses ("Net 10") Firewalls and SOCKS Network address translators (NATs) Proxies and caches Split DNS Load sharing tricks with names or addresses
Consequence: it's almost impossibe to deploy new applications protocols globally Consequence: there is a strong temptation to layer new applications over old ones ("everything over HTTP")
IPv6 will remove this issue
True transparency of the network layer has gone for ever.
Clearly this is a long term scenario following a transition period of many years
Global address space survives at ISP level. Noticeable fog and limited IPSEC. generalised use of NAPT
even within ISPs. Permanent thick fog. IPSEC broken.
This scenario arises anyway during transition to Scenario 1
Success == Deployment Scale vs. Purpose Important Initial: Positive Net Value, Incremental Deployability, Open Code, No usage restrictions Less Important Initial: Open Spec, Technical Design Wild: Extensibility, No hard Scalability Bound, SecurityThreats Mitigated “End to End Principle” - The network is imperfect by design, complexity pushed to the edges. Loss of transparency is at odds with the end-to- end principle “Strict in what you send, liberal in what you receive” KISS!