0% found this document useful (0 votes)
303 views71 pages

IS-IS and OSPF: Network Design Comparisons and Considerations

Ospf,Is-Is Comparison by Jeff Doyle

Uploaded by

Vikas Jotshi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
303 views71 pages

IS-IS and OSPF: Network Design Comparisons and Considerations

Ospf,Is-Is Comparison by Jeff Doyle

Uploaded by

Vikas Jotshi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71

IS-IS and OSPF: Network Design

Comparisons and Considerations

Jeff Doyle
Objectives

„ Understand protocol similarities


and differences
„ Understand protocol strengths
and weaknesses
„ Make more informed design decisions
Agenda

„ Overview of link-state protocols


„ A parallel history of IS-IS and OSPF
„ Comparative analysis of IS-IS and OSPF
„ Design considerations
„ Less-tangible considerations
„ Conclusions
Agenda

„ Overview of link-state protocols


„ A parallel history of IS-IS and OSPF
„ Comparative analysis of IS-IS and OSPF
„ Design considerations
„ Less-tangible considerations
„ Conclusions
In the Beginning Was Distance Vector...

„ Also known as Bellman-Ford, Ford-Fulkerson


„ Very simple algorithm
„ Distance Vector Protocols include
z RIP
z BGP (but usually called Path Vector)
z Cisco’s IGRP
z Cisco’s EIGRP
Routing by Rumor

„ Distributed calculation
„ Each router knows only what its neighbor tells it

R1 R2 R3 R4
Subnet
A

A, 0 A, 1 A, 2

Prefix Hops Via Prefix Hops Via Prefix Hops Via Prefix Hops Via
A 0 Local A 1 R1 A 2 R2 A 3 R3
Problems with Distance Vector

„ Slow convergence
z
z A
A direct
direct result
result of
of the
the distributed
distributed calculation
calculation
z
z Triggered
Triggered updates
updates help
help
z
z Kludges
Kludges such
such as
as hold-down
hold-down timers
timers reduce
reduce transient
transient errors,
errors,
but
but increase
increase convergence
convergence time
time
„ Single-hop routing loops
z
z Solution:
Solution: split
split horizon
horizon
„ Counting to infinity
z
z Solution:
Solution: make
make infinity
infinity finite
finite
„ Synchronized periodic updates
z
z Solution:
Solution: update
update jitter
jitter timers
timers
Link-state Protocols

„ Also known as shortest path, Dijkstra


„ Algorithm based on graph theory, providing
better loop avoidance
„ Local computation means faster convergence
„ Link-state protocols include
z OSPF z IBM APPN
z IS-IS z MPLS CSPF
z ATM PNNI
Fundamental Link-state Concepts

„ Adjacency
„ Information flooding
„ Link-state database
„ SPF calculation
SPF Calculation Example
Example Topology Link-state Database
R1-R2, 1
R2
R1-R5, 2
2 1 R2-R1, 2
R1 2 R2-R3, 1
R3 R2-R4, 2
1
3
R3-R2, 3
2
R3-R4, 2
2
R4-R2, 4
R4
3 R5 4 R4-R3, 4
5 4
4 R4-R5, 4
R4-R6, 2
3 2
R5-R1, 3
R5-R4, 5
R6
R5-R6, 3
2 1
R6-R4, 1
R6-R5, 2
SPF Calculation Example
Link-state Database Tentative Path
R1-R2, 1 LS Entry Cost to Root R2-R2, 0
R1-R5, 2 R2-R1, 2 2 R2-R3, 1
R2-R1, 2 R2-R3, 1 1
R2-R3, 1 R2-R4, 2 2
R2-R4, 2
R3-R2, 3
R3-R4, 2
R4-R2, 4
R4-R3, 4
R4-R5, 4
R4-R6, 2
R5-R1, 3
R5-R4, 5
R5-R6, 3
R6-R4, 1
R6-R5, 2
SPF Calculation Example
Link-state Database Tentative Path
R1-R2, 1 LS Entry Cost to Root R2-R2, 0
R1-R5, 2 R2-R1, 2 2 R2-R3, 1
R2-R1, 2 R2-R4, 2 2 R2-R1, 2
R2-R3, 1 R3-R4, 2 3
R2-R4, 2
R3-R2, 3
R3-R4, 2
R4-R2, 4
R4-R3, 4
R4-R5, 4
R4-R6, 2
R5-R1, 3
R5-R4, 5
R5-R6, 3
R6-R4, 1
R6-R5, 2
SPF Calculation Example
Link-state Database Tentative Path
R1-R2, 1 LS Entry Cost to Root R2-R2, 0
R1-R5, 2 R2-R4, 2 2 R2-R3, 1
R2-R1, 2 R3-R4, 2 3 R2-R1, 2
R2-R4, 2
R2-R3, 1 R1-R5, 2 4
R2-R4, 2
R3-R2, 3
R3-R4, 2
R4-R2, 4
R4-R3, 4
R4-R5, 4
R4-R6, 2
R5-R1, 3
R5-R4, 5
R5-R6, 3
R6-R4, 1
R6-R5, 2
SPF Calculation Example
Link-state Database Tentative Path
R1-R2, 1 LS Entry Cost to Root R2-R2, 0
R1-R5, 2 R1-R5, 2 4 R2-R3, 1
R2-R1, 2 R4-R5, 4 6 R2-R1, 2
R2-R4, 2
R2-R3, 1 R4-R6, 2 4
R1-R5, 4
R2-R4, 2
R3-R2, 3
R3-R4, 2
R4-R2, 4
R4-R3, 4
R4-R5, 4
R4-R6, 2
R5-R1, 3
R5-R4, 5
R5-R6, 3
R6-R4, 1
R6-R5, 2
SPF Calculation Example
Link-state Database Tentative Path
R1-R2, 1 LS Entry Cost to Root R2-R2, 0
R1-R5, 2 R4-R6, 2 4 R2-R3, 1
R2-R1, 2 R5-R6, 3 7 R2-R1, 2
R2-R4, 2
R2-R3, 1
R1-R5, 4
R2-R4, 2
R4-R6, 4
R3-R2, 3
R3-R4, 2
R4-R2, 4
R4-R3, 4
R4-R5, 4
„ Tentative is empty
R4-R6, 2
R5-R1, 3 „ All nodes in link-state database
R5-R4, 5 are in path
R5-R6, 3
R6-R4, 1 „ SPF calculation is finished
R6-R5, 2
SPF Calculation Example

„ Loop-free, lowest-cost path to every node


R2
2 1

R1 2
R3 Path
1 3
2 R2-R2, 0
2 R2-R3, 1
R4 R2-R1, 2
3 R5 4 R2-R4, 2
5 4
4 R1-R5, 4
3 2 R4-R6, 4

R6
2 1
Problems with Link State

„ Information flooding load


z Solution: sequence numbers and aging
z Solution: areas
„ Stale LS database entries
z Solution: periodic database refresh

„ .5(n22-n) adjacencies on multi-access


networks
z Solution: designated routers

„ Memory and CPU overload


z Solution: areas
Agenda

„ Overview of link-state protocols


„ A parallel history of IS-IS and OSPF
„ Comparative analysis of IS-IS and OSPF
„ Design considerations
„ Less-tangible considerations
„ Conclusions
In the Beginning Was DECnet...

„ Radia Perlman
„ Adopted by ISO for OSI model
„ IS-IS extended to support IP
z Interim solution until OSI makes it extinct
(don’t hold your breath)
z RFC 1195
z Also known as integrated IS-IS, dual IS-IS
IS-IS = 0

„ Parallel initiative by IETF to develop an IP


routing protocol
„ OSPF based on initial work on and
experience with IS-IS
Protocol History

„ (Disclaimer—biased, foggy memory)


„ 1987
z IS-IS (from DEC) selected by ANSI as OSI
intradomain protocol (CLNP only)

„ 1988
z NSFnet deployed, IGP based on early IS-IS draft
z OSPF work begins, loosely based on IS-IS
mechanisms (LS protocols are hard!)
z IP extensions to IS-IS defined
Protocol History

„ 1989
z OSPF v.1 RFC published
z Proteon ships OSPF
z IS-IS becomes ISO proposed standard
z Public bickering ensues; OSPF and IS-IS are
blessed as equals by IETF, with OSPF
somewhat more equal
z Private cooperation improves both protocols

„ 1990
z Dual-mode IS-IS RFC published
Protocol History

„ 1991
z OSPF v.2 RFC published
z Cisco ships OSPF
z Cisco ships OSI-only IS-IS

„ 1992
z Cisco ships dual IS-IS (part of DEC Brouter)
z Lots of OSPF deployed, but very little IS-IS

„ 1993
z Novell publishes NLSP (IPX IS-IS knockoff)
Protocol History

„ 1994
z Cisco ships NLSP (rewriting IS-IS as side effect)
z Large service providers need an IGP; IS-IS is
recommended due to recent rewrite and OSPF
field experience (and to lesser extent, NSF
CLNP mandate)

„ 1995
z Service providers begin deployment of IS-IS
ƒ Cisco
Cisco implementation
implementation firms
firms up
up
ƒ Protocol
Protocol starts
starts to
to become
become popular
popular in
in niche
niche
Protocol History

„ 1996-1998
z IS-IS niche popularity continues to grow
(some service providers switch to it from OSPF)
z IS-IS becomes barrier to entry for router vendors
targeting large service providers
z Juniper Networks and other vendors ship IS-IS
capable routers

„ 1999-2000
z Extensions continue for both protocols
(for example, traffic engineering)
Agenda

„ Overview of link-state protocols


„ A parallel history of IS-IS and OSPF
„ Comparative analysis of IS-IS and OSPF
„ Design considerations
„ Less-tangible considerations
„ Conclusions
ISOspeak 101

„ Intermediate System (IS)


„ End System (ES)
„ Protocol Data Unit (PDU)
„ Subnetwork Point of Attachment (SNPA)
„ Link State PDU (LSP)
„ Routing Domain
„ Level 2 Area
„ Level 1 Area
Message Types: OSPF

„ Hello packet
„ Database description packet
„ Link-state request packet
„ Link-state acknowledgement packet
„ Link-state update packet
Message Types: IS-IS

„ Hello PDU
„ Link-state PDU
„ Sequence number PDUs
z Complete Sequence Number PDU (CSNP)
z Partial Sequence Number PDU (PSNP)

„ Message types are further divided into Level


1 and Level 2
OSPF LSAs

„ Multiple LSA types


Type LSA
1 Router LSA
2 Network LSA
3 Network Summary LSA
4 ASBR Summary LSA
5 AS External LSA
6 Group Membership LSA
7 Not-so-stubby Area LSA
8 External Attributes LSA
9-11 Opaque LSAs
IS-IS Level 1 LSPs

„ Single LSP, multiple TLVs

Type TLV
1 Area Addresses
2 IS Neighbors
3 ES Neighbors
10 Authentication Information
128 IP Internal Reachability Information
129 Protocols Supported
132 IP Interface Address
IS-IS Level 2 LSPs

„ Single LSP, multiple TLVs


Type TLV
1 Area Addresses
2 IS Neighbors
4 Partition Designated Level 2 IS
5 Prefix Neighbors
10 Authentication Information
128 IP Internal Reachability Information
129 Protocols Supported
130 IP External Reachability Information
131 Inter-domain Routing Protocol Information
132 IP Interface Address
135 Extended IP Reachability (wide metrics)
Message Encoding: OSPF

„ Runs over IP (protocol number 89)


„ 32-bit alignment
„ Only LSAs are extensible
„ All OSPF speakers must recognize
the extensions
Message Encoding: IS-IS

„ Runs directly over data link


„ No alignment
„ All PDUs are extendable
„ Nested TLVs
Media Support

„ OSPF
z Broadcast (LANs)
z Point-to-point
z Point-to-multipoint
z NBMA

„ IS-IS
z Broadcast
z Point-to-point
z No NBMA support
Router and Area IDs: OSPF

„ Router ID and area ID specified separately


„ Each is 32-bit number
„ AID associated with interface
„ RID
z Explicitly specified RID
z Loopback address
z Highest interface IP address
Router and Area IDs: IS-IS

1-13 bytes 6 bytes 1 byte

Area ID System ID SEL


Examples:
01.0000.23a5.7c32.00
49. 0001.0000.23a5.7c32.00
47.0005.80.0000a7.0000.ffdd.0001.0000.23a5.7c32.00

„ Area ID and sysID (router ID) specified in Network Entity Title


(NET)
„ NSAP address format
„ In JUNOS™
™ Internet software, specified on loopback interface
Neighbor Discovery and
Maintenance: OSPF
„ Hello packets
z Establish two-way communication
z Advertise optional capabilities
z DR/BDR election/discovery
z Serve as keepalives
z 10s default hello interval, dead interval 4X
„ Most hello fields must match for adjacency
z Area ID, authentication, network mask, hello
interval, router dead interval, options
z Changing values causes adjacency disruption
Neighbor Discovery
and Maintenance: IS-IS
„ Hello packets
z
z Establish
Establish two-way
two-way communication
communication
z
z L1,
L1, L2,
L2, L1/L2
L1/L2 neighbor
neighbor discovery
discovery
z
z DR
DR election/discovery
election/discovery
z
z Serve
Serve asas keepalives
keepalives
z
z 3s
3s JUNOS
JUNOS default
default hello
hello interval,
interval, dead
dead interval
interval 3X
3X

„ Hellos padded to full MTU size (dubious)


„ Fewer matches necessary for adjacency
z
z Hello
Hello and
and dead
dead intervals
intervals can
can vary
vary
z
z Not
Not even
even IP
IP subnets
subnets must
must match!
match!
Database Synchronization: OSPF

„ Database synchronization driven by


state machine
„ Master/slave election
„ Database synchronization
z Database description packets
z Link-state request packets
z Link-state update packets
z Link-state acknowledgement packets
Database Synchronization: IS-IS

„ Simple synchronization based on flooding of


sequence number PDUs
„ CSNPs
z
z Describe
Describe all
all LSPs
LSPs in
in the
the database
database
z
z Analogous
Analogous to
to OSPF
OSPF DD DD messages
messages
z
z Sent
Sent by
by DR
DR every
every 10
10 seconds
seconds on
on broadcast
broadcast networks
networks
z
z Sent
Sent every
every hour
hour on
on point-to-point
point-to-point networks
networks

„ PSNPs
z
z Request
Request missing
missing or
or newer
newer LSPs
LSPs
z
z Analogous
Analogous to
to OSPF
OSPF LSLS Request
Request messages
messages
Database Refresh: OSPF

„ LSA refresh every 30 minutes


„ MaxAge = 1 hour
„ Up-counting timer
„ Design flaw: cannot change MaxAge
Database Refresh: IS-IS

„ LSP refresh every 15 minutes


z Minus random jitter timer of up to 25 percent

„ LSP Lifetime = 20 minutes (default)


„ Down-counting timer
„ LSP lifetime configurable up to 18.2 hours
„ Major reason IS-IS scales better to large areas
Designated Routers: OSPF

„ Highest priority becomes DR


z 0-255, default 128
z Highest router ID tie-breaker

„ Backup designated router


z Speeds recovery from failed DR

„ DR cannot be pre-empted
z The DR is usually the first active router

„ Adjacencies formed only with DR and BDR


Designated Routers (DIS): IS-IS

„ Highest priority becomes DR


z 0-127, default 64
z Highest MAC address tiebreaker
„ No backup designated router
„ DR can be pre-empted
z Adding a router to a LAN can cause temporary
instability
„ Adjacencies formed with all routers on LAN,
not just DR
z Separate L1 and L2 adjacencies on same LAN
Area Structure: OSPF

„ Area boundaries fall on routers


„ Router types
z
z Interior (or backbone)
z
z ABR
Area 1
z
z ASBR Area 2
ASBR ABR/
ASBR ABR

Area 0

External
Routes ASBR
Area Structure: IS-IS

„ Area boundaries fall between routers


„ External reachability information in L2 LSPs only
„ Router types
z
z L1
L1 Area 1 Area 2 L1
z
z L2
L2 L1
z
z L1/L2
L1/L2 L1/L2 L1/L2

Area 3

External
Routes L2 L2
IS-IS Optimizations for IP Support

„ Three-way handshaking
„ Dynamic hostname exchange (RFC 2966)
„ >256 pseudonode support
„ Domain-wide prefix distribution (RFC 2966)
„ Wide metrics
Agenda

„ Overview of link-state protocols


„ A parallel history of IS-IS and OSPF
„ Comparative analysis of IS-IS and OSPF
„ Design considerations
„ Less-tangible considerations
„ Conclusions
Metrics: OSPF

„ Dimensionless metric
„ Large metric field
z
z Type
Type 11 LSA
LSA == 16
16 bits
bits
z
z Type
Type 3,
3, 4,
4, 5,
5, and
and 77 LSA
LSA == 24
24 bits
bits
„ Cost
z
z Cost
Cost == Reference
Reference BW BW // Interface
Interface BW
BW
z
z Default
Default Reference
Reference BWBW == 100
100 Mbps
Mbps
z
z IfIf (Ref
(Ref BW
BW // Interface
Interface BW)
BW) >> 1,
1, Cost
Cost == 11
z
z Cost
Cost cancan also
also bebe set
set arbitrarily
arbitrarily
„ External Metrics
z
z Type
Type 11 (E1)
(E1) == Assigned
Assigned cost
cost ++ cost
cost to
to ASBR
ASBR
z
z Type
Type 22 (E2)
(E2) == Assigned
Assigned cost
cost only
only
Metrics: IS-IS

„ Dimensionless metric
„ ISO 10589 defines 4 metric fields
z
z Only
Only default
default used
used in
in practice
practice
„ Small 6-bit metric field
z
z Default
Default == 10
10 for
for all
all interfaces
interfaces
z
z Maximum
Maximum interface
interface value
value == 64
64
z
z Maximum
Maximum routeroute metric
metric == 1,023
1,023
z
z Possible
Possible limited
limited metric
metric granularity
granularity in
in large
large networks
networks
z
z Originally
Originally intended
intended to to simplify
simplify SPF
SPF calculation
calculation (irrelevant
(irrelevant
with
with modern
modern CPUs)
CPUs)
„ Wide Metrics
z
z Extends
Extends metric
metric field
field to
to 32
32 bits
bits
„ Metrics tagged as internal or external (I/E bit)
LSA Scalability: OSPF

„ Famous “rules of thumb” carry little real meaning


„ 64 KB maximum LSA size
„ Only router (type 1) LSAs likely to grow large
z
z 24
24 bytes
bytes of
of fixed
fixed fields
fields
z
z 12
12 bytes
bytes to
to represent
represent each
each link
link
z
z 5,331
5,331 links,
links, maximum
maximum (but(but isn’t
isn’t this
this enough?)
enough?)

„ Types 3, 4, 5, 7 LSAs
z
z One
One destination
destination prefix
prefix per
per LSA
LSA
z
z Be
Be careful
careful what
what you
you redistribute!
redistribute!
LSP Scalability: IS-IS

„ Single LSP per router, per level


„ Fragmentation supported, but...
z Maximum fragment size = 1,470 bytes
z Maximum number of fragments = 256
z …Isn’t this enough?

„ Be careful what you redistribute!


Stub Areas

„ Trade routing precision for improved scalability


„ OSPF
z Stub areas eliminate type 5 LSA load
z Totally stubby areas extend the concept
z All area routers must understand stubbiness

„ IS-IS
z L1 routers are “totally stubby” by default
z Attached (ATT) set by L1/L2 router
IS-IS Inter-Area Route Leaking

„ Why leak routes?


z
z Improved
Improved routing
routing precision
precision
z
z More
More accurate
accurate BGP
BGP next-hop
next-hop resolution
resolution
z
z Using
Using IS-IS
IS-IS metric
metric as
as BGP
BGP MED
MED

„ L1-->L2 route leaking happens by default


z
z Internal
Internal routes
routes only
only
z
z External
External routes
routes require
require policy
policy

„ L2-->L1 route leaking requires policy


z
z Internal
Internal or
or external
external
z
z Up/down
Up/down bit
bit prevents
prevents looping
looping
Not-So-Stubby Areas

„ OSPF feature
z “Trick” to allow advertisement of external routes
through stub areas (type 5 LSAs illegal)
z All routers in area must understand type 7 LSAs

„ Similar function with IS-IS


z Using simple L1-->L2 policy
NBMA Networks

„ OSPF
z Point-to-point
z Point-to-multipoint mode
z NBMA mode (but why?)
z P-T-MP and NBMA require manual specification
of neighbor addresses

„ IS-IS
z No multipoint support
z Must configure interfaces as logical P-T-Ps
Virtual Links

„ Useful for
z Patching partitioned backbone areas
z Area migrations

„ Should be a temporary solution!


„ Full OSPF support
„ No IS-IS support
z Specified in ISO 10589, but not implemented by
major router vendors
Overload Bit

„ IS-IS feature
z Enables router to signal memory overload
z No transit traffic sent to overloaded router
z Set separately for Level 1 and Level 2
z Can be manually set, useful for graceful router
turn-up

„ No comparable OSPF feature


Mesh Groups

„ IS-IS feature (RFC 2973)


z Can sharply curtail LSP flooding in full-mesh
topologies
z Each router in mesh group receives only one
copy of each LSP (one-hop flooding)
z Risk of lost LSPs—ensure design is robust
enough!
z Interfaces can be manually configured to block
LSPs (increased scalability, but increased risk)

„ OSPF has no comparable feature


Security

„ Both protocols support authentication


z Plain-text passwords (sniffable!)
z MD5 cryptographic hash
„ Authentication especially important with
OSPF
z Runs over IP, so subject to spoofing and
other attacks
„ Non-IP nature makes IS-IS inherently
more secure
z But authentication still a good idea
Traffic Engineering Support

„ Both protocols extended to disseminate


traffic engineering parameters
„ OSPF
z
z Type 10 Opaque (area scope) LSAs

„ IS-IS
z
z Extended IS reachability (type 22) TLV
ƒ Traffic
Traffic engineering
engineering parameters
parameters in
in sub-TLVs
sub-TLVs

z
z Extended IP reachability (type 135) TLV
ƒ Wide
Wide metrics
metrics and
and up/down
up/down bit
bit

z
z Limited to area by L1 or L2 PDU type
Agenda

„ Overview of link-state protocols


„ A parallel history of IS-IS and OSPF
„ Comparative analysis of IS-IS and OSPF
„ Design considerations
„ Less-tangible considerations
„ Conclusions
Extensibility

„ OSPF
z New extensions require new LSAs (usually)
z All routers must understand new LSAs (usually)
z IPv6 support will require new OSPF version
„ IS-IS
z New extensions require new TLVs (usually)
z Fewer compatibility issues than OSPF
z Small community of interest (big ISPs) with big
vendor clout means faster rollout of extensions
z Extendable for IPv6
Optimality

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

„ OSPF
z Broad experience base
z Many books, RFCs, training classes available

„ IS-IS
z Significantly smaller experience base
z Scarcity of documentation makes it mysterious
z Simpler than OSPF, easy to learn (with a few
shifts in thinking)
Writing OSPF Code

„ OSPF spec is an excellent implementation guide


z If followed to the letter, a working, if naïve,
implementation will likely result
z Spec is complex, but has almost no “why”
information; hence, other (potentially more scalable)
implementation approaches are at the implementer’s
own risk
z Barrier to entry in high-end router market
(you need to know the protocol intuitively)
Writing IS-IS Code

„ IS-IS spec uses arcane ISOspeak and has


very few implementation hints
z Spec is inherently simple (once you get the
lingo), with fewer implementation issues
z Boilerplate at front and back of spec means you
can lose pages without affecting content
z Barrier to entry in high-end router market (you
need to know the protocol intuitively)
Agenda

„ Overview of link-state protocols


„ A parallel history of IS-IS and OSPF
„ Comparative analysis of IS-IS and OSPF
„ Design considerations
„ Less-tangible considerations
„ Conclusions
Conclusion

„ Both protocols are mature and stable


(with the right vendor)
„ Both protocols continue to be extended
„ Enterprise networks
z
z IGP requirements can be complex
z
z OSPF is a nobrainer

„ Service provider networks


z
z IGP requirements usually simpler
z
z Scalability and stability are paramount
z
z Consider your requirements carefully; pick the
protocol that fits
Thank You
http://www.juniper.net

You might also like