Professional Documents
Culture Documents
Jeff Doyle
Objectives
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
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
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
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
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
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)
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
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
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
DR cannot be pre-empted
z The DR is usually the first active router
Area 0
External
Routes ASBR
Area Structure: IS-IS
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
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
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
IS-IS
z L1 routers are “totally stubby” by default
z Attached (ATT) set by L1/L2 router
IS-IS Inter-Area Route Leaking
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
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
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
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
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