1 / 48

IS-IS and OSPF A Comparative Anatomy

IS-IS and OSPF A Comparative Anatomy. Dave Katz, Juniper Networks. Overview. Protocol History Nuts and Bolts Scalability Issues Pragmatic Considerations Conclusions. Protocol History. Protocol History. (Disclaimer--biased, foggy memory) 1987

fausta
Download Presentation

IS-IS and OSPF A Comparative Anatomy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IS-IS and OSPFA Comparative Anatomy Dave Katz, Juniper Networks

  2. Overview • Protocol History • Nuts and Bolts • Scalability Issues • Pragmatic Considerations • Conclusions

  3. Protocol History

  4. Protocol History • (Disclaimer--biased, foggy memory) • 1987 • IS-IS (from DEC) selected by ANSI as OSI intradomain protocol (CLNP only) • 1988 • NSFnet deployed, IGP based on early IS-IS draft • OSPF work begins, loosely based on IS-IS mechanisms (LS protocols are hard!) • IP extensions to IS-IS defined

  5. Protocol History • 1989 • OSPF v.1 RFC published • Proteon ships OSPF • IS-IS becomes ISO proposed standard • Public bickering ensues--OSPF and IS-IS are blessed as equals by IETF, with OSPF somewhat more equal • Private cooperation improves both protocols • 1990 • Dual-mode IS-IS RFC published

  6. Protocol History • 1991 • OSPF v.2 RFC published • Cisco ships OSPF • Cisco ships OSI-only IS-IS • 1992 • Cisco ships dual IS-IS (part of DEC Brouter) • Lots of OSPF deployed, but very little IS-IS • 1993 • Novell publishes NLSP (IPX IS-IS knockoff)

  7. Protocol History • 1994 • Cisco ships NLSP (rewriting IS-IS as side effect) • Large ISPs need an IGP; IS-IS is recommended due to recent rewrite and OSPF field experience (and to lesser extent, NSF CLNP mandate) • 1995 • ISPs begin deployment of IS-IS, Cisco implementation firms up, protocol starts to become popular in niche

  8. Protocol History • 1996-1998 • IS-IS niche popularity continues to grow (some ISPs switch to it from OSPF) • IS-IS becomes barrier to entry for router vendors targeting large ISPs • Juniper and other vendors ship IS-IS capable routers • 1999-2000 • Extensions continue for both protocols (e.g, Traffic Engineering)

  9. Nuts and Bolts

  10. Nuts and Bolts • 10,000 foot view • Protocols are recognizably similar in function and mechanism (unsurprising, given common heritage) • Link state algorithms (network map is distributed, each router calculates routes independently based on the map) • Two level hierarchies • Designated Router on LANs • Widely deployed (for some value of “wide”) • Multiple interoperable implementations

  11. Nuts and Bolts • 10,000 foot view • OSPF is for the most part more “optimized” (and therefore significantly more complex) • IS-IS was not designed from the start as an IP routing protocol (and is therefore a bit clunky in places)

  12. Nuts and Bolts • Encapsulation • OSPF runs on top of IP • Traditional IP routing protocol approach • Allows virtual links (if you like them) • Relies on IP fragmentation for large LSAs • Subject to spoofing and DoS attacks (use of authentication is strongly advised) • Allows use of ATM VCmux encapsulation (so TCP acks fit in one ATM cell)

  13. Nuts and Bolts • Encapsulation • IS-IS runs directly over L2 (next to IP) • Sort of makes sense, architecturally • Partition repair requires tunneling (rarely implemented) • More difficult to spoof or attack • More difficult to implement in some environments • Requires ATM SNAP encapsulation, forcing two-cell TCP acks (but Henk Smit’s NLPID hack fixes this)

  14. Nuts and Bolts • Media support • Both protocols support LANs and point-to-point links in similar ways • IS-IS has no direct NBMA support--expects O/S to present NBMA network as either pseudo-LAN (bad idea) or set of point-to-point links • OSPF NBMA mode is configuration-heavy and risky (all routers must be able to reach DR; bad news if VC fails) • OSPF P2MP mode models NBMA as point-to-point links (if O/S won’t help)

  15. Nuts and Bolts • Packet Encoding • OSPF is “efficiently” encoded • Positional fields • Holy 32-bit alignment provides tidy packet pictures, but not much else • Only LSAs are extensible (not Hellos, etc.) • Unrecognized LSA types not flooded (though opaque LSAs can suffice, if implemented universally, and IS-IS-like encoding can provide good granularity)

  16. Nuts and Bolts • Packet Encoding • IS-IS is mostly Type-Length-Value encoded • No particular alignment • Extensible from the start (unknown types ignored but still flooded) • All packet types are extensible • Nested TLVs provide structure for more granular extension (though base spec does not use them; OSPF is starting to do so)

  17. Nuts and Bolts • Area Architecture • Both protocols support two-level hierarchy of areas (to reduce SPF graph complexity, and potentially to allow route aggregation) • OSPF area boundaries fall within a router • Interfaces bound to areas • Router may be in many areas • Router must calculate SPF per area

  18. Nuts and Bolts • Area Architecture • IS-IS area boundaries fall on links • Router is in only one area, plus perhaps the L2 backbone (area) • Biased toward large areas, area migration • Requires router per area (unless multiple virtual routers are implemented) • Historically proven somewhat difficult for users to grasp • Little or no multilevel deployment (large flat areas work so far)

  19. Nuts and Bolts • Database Granularity • OSPF database node is an LSAdvertisement • LSAs are mostly numerous and small (one external per LSA, one summary per LSA) • Network and Router LSAs can become large • LSAs grouped into LSUpdates during flooding • LSUpdates are built individually at each hop • Small changes can yield small packets (but Router, Network LSAs can be large)

  20. Nuts and Bolts • Database Granularity • IS-IS database node is an LSPacket • LSPs are clumps of topology information organized by the originating router • Always flooded intact, unchanged across all flooding hops (so LSP MTU is an architectural constant--it must fit across all links) • Small topology changes always yield entire LSPs (though packet size turns out to be much less of an issue than packet count) • Implementations can attempt clever packing

  21. Nuts and Bolts • Neighbor Establishment • Both protocols use periodic multicast Hello packets, “I heard you” mechanism to establish 2-way communication • Both protocols have settable hello/holding timers to allow tradeoff between stability, overhead, and responsiveness • OSPF requires hello and holding timers to match on all routers on the same subnet (side effect of DR election algorithm) making it difficult to change timers without disruption

  22. Nuts and Bolts • Neighbor Establishment • IS-IS requires padding of Hello packets to full MTU size under some conditions (to detect media with MTUs smaller than 1497 bytes)--this is effectively useless and causes needless support calls (deprecated in practice) • OSPF requires routers to have matching MTUs in order to become adjacent (or LSA flooding may fail, since LSUpdates are built at each hop and may be MTU-sized)

  23. Nuts and Bolts • Neighbor Adjacency Establishment • The goal--synchronize databases • The method--tell your neighbor everything you’ve got • You (or your neighbor) will figure out what you’re missing and make sure that you get it • Each protocol’s approach is driven by database granularity

  24. Nuts and Bolts • Neighbor Adjacency Establishment • OSPF uses complex, multistate process to synchronize databases between neighbors • Intended to minimize transient routing problems by ensuring that a newborn router has nearly complete routing information before it begins carrying traffic • Accounts for a significant portion of OSPF’s implementation complexity • Partially a side effect of granular database (requires many DBD packets)

  25. Nuts and Bolts • Neighbor Adjacency Establishment • IS-IS essentially uses its regular flooding techniques to synchronize neighbors (that’s what flooding naturally does) • Coarse database granularity makes this easy (just a few CSNPs) • Transient routing issues can be reduced (albeit nondeterministically) by judicious use of the “overload” bit (one of a number of opportunistic hacks)

  26. Nuts and Bolts • Designated Routers and Adjacency • Both protocols elect a designated router on multiaccess networks to remove O(N^2) link problem (by creating a pseudonode) and to reduce flooding traffic (DR ensures flooding reliability) • OSPF elects both a DR and a Backup DR, each of which becomes adjacent with all other routers • BDR takes over if DR fails • DRship is sticky, not deterministic • Complex algorithm

  27. Nuts and Bolts • Designated Routers and Adjacency • In IS-IS all routers are adjacent (but adjacency is far less stateful) • If DR dies, new DR must be elected, with short connectivity loss (synchronization is fast) • DRship is deterministic (highest priority, highest MAC address always wins) • DRship can be made sticky by cool NLSP priority hack (DR increases its DR priority)

  28. Nuts and Bolts • LAN Flooding • OSPF uses multicast send, unicast ack from DR • Reduces flood traffic by 50% (uninteresting) • Requires per-neighbor state (for retransmissions) • Interesting (but complex) acknowledgement suppression • Flood traffic grows as O(N)

  29. Nuts and Bolts • LAN Flooding • IS-IS uses multicast LSP from all routers, CSNP from DR • Periodic CSNPs ensure databases are synced (tractable because of coarse database granularity) • Flood traffic constant regardless of number of neighbors on LAN • But big LANs are uninteresting

  30. Nuts and Bolts • Routes and Metrics • IS-IS base spec used 6-bit metrics on links • Allowed an uninteresting SPF optimization (CPUs are fast these days) • Proved difficult to assign meaningful metrics in large networks • Wide metric extension addresses this • Dual IS-IS spec advertises only default into L1 areas • Interarea traffic routed suboptimally • Route leaking extension addresses this

  31. Nuts and Bolts • Authentication and Security • Both support cryptographic authentication • OSPF really needs this (packet bombs) • Successful IGP attacks will be catastrophic (or worse, subtle) • Use packet filtering, particularly with OSPF

  32. Nuts and Bolts • MPLS Traffic Engineering extensions • Protocols carry around TE link information (available bandwidth, link color, etc.) on behalf of MPLS but don’t use the data themselves • TE functionality is identical for the two protocols (by design) • TE functions are IGP-independent, so mechanisms ought to be identical

  33. Scalability Issues

  34. Scalability Issues • Database Size • OSPF topologies limited by Network and Router LSA size (max 64KB) to O(5000) links • External and Interarea routes are essentially unbounded • IS-IS topologies limited by LSP count (256 fragments * 1470 bytes) for all route types • Various hacks (fake pseudonodes, etc.) could make this bigger • Ultimately a non-issue for even slightly sane topologies

  35. Scalability Issues • Database Churn • Both protocols have time-limited database entries and therefore require refreshing • IS-IS lifetime field is 16 bits, giving 18.7-hour lifetimes (with refresh times close to this) • OSPF age (counts up) has an architectural lifetime limit of 1 hour (80,000 LSAs yield a refresh every 23 milliseconds) • “Do-not-age” LSAs are not backward compatible • Don’t inject zillions of routes into your IGP

  36. Scalability Issues • Flooding load--the only serious issue • Full-mesh topologies are worst-case for both • N^2 copies of each update (each of which is O(N) in size) • Link failure: O(N^3) information • Router failure: O(N^4) information • IS-IS “mesh group” hack provides backward-compatible way of pruning flooding topology • OSPF has no solution without protocol change

  37. Pragmatic Considerations

  38. Pragmatic Considerations • OSPF spec is an excellent implementation guide • If followed to the letter, a working, if naïve, implementation will likely result • Spec is complex but has almost no “why” information, so other (potentially more scalable) implementation approaches are at the implementor’s own risk • Barrier to entry in high-end router market (you need to know the protocol intuitively)

  39. Pragmatic Considerations • IS-IS spec uses arcane ISOspeak and has very few implementation hints • Spec is inherently simple (once you get the lingo), with fewer implementation issues • Boilerplate at front and back of spec means that you can lose pages without affecting content • Barrier to entry in high-end router market (you need to know the protocol intuitively)

  40. Pragmatic Considerations • Extensibility • Despite anti-OSI FUD, IS-IS has proven much easier politically to extend (primarily due to small constituency and IETF disinterest) • Self-interest of router vendors and large ISPs brings extensions more quickly in IS-IS and promotes implementation stability, scalability, and interoperability

  41. Pragmatic Considerations • Extensibility • OSPF’s encoding scheme difficult to extend • Difficult compatibility issues • Explicitly and proudly optimized for IPv4 • IPv6 requires a completely new protocol • IS-IS encoding inefficient and simple-minded • But proven to be easy to extend, at least in some ways • “IPv6-Ready” (also IPX-Ready…)

  42. Pragmatic Considerations • Optimality • OSPF was optimized for things that don’t matter any more (link bandwidth, CPU alignment) • IS-IS was optimized for things that don’t matter any more (large LANs, SPF cost) • Optimizations turn out to add complexity but not much value • A lot has changed in 10 years...

  43. Pragmatic Considerations • OSPF is much more widely understood • Broadly deployed in enterprise market • Many books of varying quality available • Preserves our investment in terminology • IS-IS is well understood within a niche • Broadly deployed within the large ISP market • Folks who build very large, very visible networks are comfortable with it

  44. Conclusions

  45. Conclusions • For all but extreme cases (large full-mesh networks), protocols are pretty much equivalent in scalability and functionality • Stability and scalability are largely artifacts of implementation, not protocol design • Familiarity and comfort in both engineering and operations is probably the biggest factor in choosing

  46. Conclusions • Does the world really need two protocols? • Nearly complete overlap in functionality means (ironically) that few people are motivated to switch • Entrenched constituencies (large ISPs; everyone else) ensure that installed bases will continue to exist • As long as there are two, people will never agree on only one • Not even the oft-predicted demise of IPv4 will suffice

  47. Conclusions • Both protocols are over 10 years old, using graph theory that’s at least 40 years old • Both protocols are (even still) works in progress • Cherish Diversity (and job security) • They’re both good protocols • Use the one that makes the most sense to you

  48. http://www.juniper.net

More Related