0% found this document useful (0 votes)
18 views34 pages

Isis

The document discusses the link-state routing protocol IS-IS. It provides details on how IS-IS functions, including how routers flood link information to build a network topology database and use Dijkstra's algorithm to calculate the shortest path to all network prefixes. The document also compares IS-IS to distance-vector routing.
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)
18 views34 pages

Isis

The document discusses the link-state routing protocol IS-IS. It provides details on how IS-IS functions, including how routers flood link information to build a network topology database and use Dijkstra's algorithm to calculate the shortest path to all network prefixes. The document also compares IS-IS to distance-vector routing.
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/ 34

DD2490 p4 2010

IS-IS

Link-state routing
Intermediate system to Intermediate System

Olof Hagsand KTH CSC

1
Literature
•Read:
CISCO: Introduction to Intermediate System-to-Intermediate
System System Protocol
• link from home page -> literature
•Reference only
Original standard: ISO DP 10589
• Rewritten in RFC 1142
IETF RFC 1195: How to use IS-IS for IPv4
IETF RFC 1069: How to encode IP addresses in ISIS
IETF work-group: IS-IS for IP Internets (isis)
• IPv6, traffic-engineering, etc

2
Link-state routing
•Each router spreads information about its
links to its neighbours.
•This information is flooded to every router
in the routing domain so that every router
has knowledge of the entire network
topology.
•Using Dijkstra's algorithm, the shortest path
to each prefix in the network is calculated

3
Comparison with Distance-Vector
•Link-state uses a distributed database model
•Distance-vector uses a distributed processing model
•Link-state pros:
–More functionality due to distribution of original
data, no dependency on intermediate routers
• Easier to troubleshoot
–Fast convergence: when the network changes,
new routes are computed quickly
–Less bandwidth consuming
•Distance-vector pros:
–Less complex – easier to implement and
administrate
–Needs less memory

4
Dijkstra's shortest path
From the link-state database, compute a shortest path delivery
tree using a permanent set S and a tentative set Q:
1) Define the root of the tree: the router
2) Assign a cost of 0 to this node and make it the first
permanent node.
3) Examine each neighbor node of the last permanent node.
4) Assign a cumulative cost to each node and make it tentative.
5) Among the list of tentative nodes:
• Find the node with the smallest cumulative cost and make it
permanent.
• If a node can be reached from more than one direction, select
the direction with the smallest cumulative cost.
6) Repeat steps 3 to 5 until every node is permanent.

5
Dijkstra pseudo-code
function Dijkstra(G, w, s)
for each vertex v in V[G] // Initializations
d[v] := infinity
previous[v] := undefined
d[s] := 0
S := empty set // S: Permanent set
Q := set of all vertices // Q: Tentative set
while Q is not an empty set // The algorithm itself
u := Extract_Min(Q)
S := S union {u}
for each edge (u,v) outgoing from u
if d[v] > d[u] + w(u,v) // Relax (u,v)
d[v] := d[u] + w(u,v)
previous[v] := u

(from Wikipedia)

6
N14

8 N13
3 RT5
N1 1 1 8 8 8
8 N12
RT1 RT4 7 6
N3
3
N2 1 6
1
RT2 8 6 RT6
2 RT3 Ia 7

N4

Network example N15

2
Ib 6 6 9
RT10
3 1 1 RT7
3
N11 1
RT9 1 2
N9 N6
RT12 RT11
H1 10 1
1
N8
2 RT8
4

N10 RFC 2328 fig 2 N7


7
N14
8
3 RT1 8 8 N13
N1 8
0 0 RT4 RT5
1 1 8 N12
0 N3 0 7 6
3 6
N2 RT2 1
1 6
RT3 External
RT6
2 8 7

N4 Ib
7

Database, graphical form


5 N15
Ia
2
6 9
5
RT10 RT7
3
1 1
N11 3
RT9 0 0
0
1 1 0 0
N9 RT11 N8 N6
0
0 2 0
10 1
H1 RT12 1
2 RT8
4
N10
N7
8
N14
8
3 RT1 8 N13
N1 8
0 0 RT4 RT5
N12
0 N3

3 6
N2 RT2
1 6
RT3 RT6
2 7

N4 Ib
7

Shortest path tree from RT6


5 N15
Ia
2
5 9
RT10 RT7
3
3 1
N11 RT9 0
0
1 0
N9 RT11 N8 N6
0
10 0
H1 RT12
2 RT8
4
N10
N7
9
Building a routing table
•Local routing table (RIB) computed from Dijkstra shortest
path calculation
•Next-hop routing: only nexthop router even if complete
path is known
Example: RT6 Local destinations Remote

Destination Next Hop Distance Destination Next Hop Distance


__________________________________ __________________________________
N1 RT3 10 N12 RT10 10
N2 RT3 10 N13 RT5 14
N3 RT3 7 N14 RT5 14
N4 RT3 8 N15 RT10 17
Ib * 7
Ia RT10 12
N6 RT10 8
N7 RT10 12
N8 RT10 10
N9 RT10 11
N10 RT10 13
N11 RT10 14
H1 RT10 21
__________________________________
RT5 RT5 6
RT7 RT10 8

10
From Network to FIB: Summary
1)Network topology and metrics
2)Construct local link-states
3)Flood link-state
4)Construct topology database
5)Compute Dijkstra
6)Construct OSPF Routing table
7)Merge with other routing protocols: RIB
8)Compile forwarding table: FIB

11
OSPF and IS-IS comparison
•Both are link-state protocols
•IS-IS has a longer history from Digital via OSI
•OSPF is newer and developed in IETF
•Area difference
–OSPF defines area boundaries between interfaces
–IS-IS defines area boundaries between nodes
–IS-IS areas leads to simpler configuration
•Protocol dependency
–IS-IS can run many protocols (IPv6, CLNP)
–OSPF only IPv4, (OSPFv3 supports IPv6)
•OSPF is implemented on more platforms and
more deployed
•IS-IS often popular among backbone networks
12
OSPF Network Topology
•Area 0 is the backbone area. All (inter-area) traffic goes via the
backbone.
•All other areas are connected to the backbone (1-level hierarchy)
•An Area Border Router (ABR) has one interface in each area.
•An AS Boundary Router (ASBR) – redistributes external routes
•Backbone router – at least one interface in backbone area

External

AS boundary router: AS2


Area 0
External routing
Internal
router
Area Border Router:
Interfaces in different
areas

Internal
All areas connected to router +
backbone area ASBR
Area 1 Area 2 Area 3
External
13
IS-IS Network Topology
•Area borders are between routers
•Areas are called L1
•Backbone is called L2
•A router can be L1, L2, or L1+L2.
•All inter-area traffic via L2
•L2 must be connected (1-level hierarchy)

L1-L2
Redistributes between
L1 and L2 L2

L1 Router
Default and intra-area L2 Router
Inter-area routes
L1 Area 1 L1 Area 2

14
History
•IS-IS came out of DECnet (Digital)
•Used by ISO in its OSI effort
OSI was thought to be the internetworking standard protocol
What survived was the OSI reference model
•IETF defined integrated IS-IS (or dual IS-IS)
to work both for OSI (CLNP) and IP networking
this is why it so easily could be extended with IPv6

15
The TCP/IP stack and OSI ref model

L7: Application

L6: Presentation SMTP HTTP FTP DNS SSH ...

L5: Session

L4: Transport TCP UDP SCTP

ICMP IGMP
L3: Network
IP
ARP

L2: Data Link


Ethernet PPP WLAN ATM ...

L1: Physical
16
OSI and IP comparison
TCP/IP OSI
IP CLNS
ICMP ~CLNP
ARP ~ES-IS
Router IS (Intermediate system)
Host ES (End System)
AS Routing Domain
Packet PDU (Protocol data unit)
DR DIS (Designated IS)

17
ISO addressing
ISO addresses are:
•Variable length: 6-20 bytes (48-160 bits)
•Hierarchical structure
•Node addresses (not link or interface)
•A CLNS network-layer address is called an NSAP
•From an IS-IS perspective, such an address looks like below with
the following fields(*)
AFI - Authority and format identifier. 49 corresponds to private
address space
Area ID - Unique area identifier
System ID - Per-area unique ID
NSEL - NSAP selector. Zero means intermediate system
Length[bytes]: 1 2-12 6 1

AFI AREA ID SYSTEM ID NSEL


49 00
•Example: 49.0201.1920.1210.3047.00

(*) Actually, ISO addressing is much more complex,....


18
OSI addresses (more complex)
•AFI (Authority Format Identifier)
Specifies the format of the rest of the adress
•IDI/ICD (Initial Domian Identifier/International Code Designator)
Speficies the authority for the adress space
• HO-DSP (High Order Domain Specific Part)
Indicates the sub authority for the routing domain
•Area
•System ID
•Nsel (N Selector)

19
Example of NET address in .se
•AFI (Authority Format Identifier) 39
•IDI (Initial Domain Identifier) SE 752
•DFI (Domain Format Identifier) 100
•AAI (Administrative Authority Identifier) 0014
•RSVD (Reserved)
•RD (Routing domain)
•Area, System ID and sel.

20
Encapsulation
•OSPF runs over IP
Allows virtual links
Relies on fragmentation if OSPF messages > links MTU
Vulnerable to spoofing and denial-of-service
•ISIS runs over link-layer
Routing protocol independent of routed protocol
More difficult to spoof and attack
Harder to implement (there are many link-layers,...)

21
Packet types
•Hellos - IS-to-IS Hello (IIH)
Link-level multicast
•Link-state Packets (LSP)
Pseudo-nodes (cf OSPF network LSA), Example N2 below.
Nonpseduo-node (cf OSPF router LSA), Example RT3-RT6
Also level 1 / level 2 LSPs (area support)
•Sequence number PDUs: (CSNP/PSNP)
Complete sequence number PDU (CSNP)
• A list of all LSPs of current database
• Similar to OSPF DD packet
Partial sequence number PDU (PSNP)
• Request or ack specific LSPs
Designated IS
RT3 RT4

R R R R
T T T T N2
3 4 4 6

N2 RT5 RT6
22
Encoding
•OSPF
Positional fields
Hard-wired for IPv4
32 bit alignment
Unknown LSAs are discarded
•ISIS uses TLV (Type - Length - Value)
No alignment
Extensible
Unknown LSAs are flooded
Nested TLV gives a lot of flexibility

23
Adjacency forming
•Send IIHs (IS-IS Hellos) over L2
•Detect point-to-point or broadcast media
•Match timers: holding time before defining a neighbor dead
•Circuit-type (level 1 / level 2)
•Priority - higher is better
•On a broadcast link, a Designated IS is selected using priority
and thereafter MAC address
•A DIS with better prio (or mac address) pre-empts another DIS
which makes DIS forming deterministic
In OSPF DR election is non-deterministic
•No need for BDR (backup)
•Hellos are typically padded to full MTU size
To detect mismatching MTUs on same link
OSPF does this at DD

24
Areas
•IS-IS areas are named L1.
•L2 represents inter-area routes
•A router can be L1, L2 or L1-L2
•A router can have most two link-state databases (L1 and L2)
•An L1 area corresponds to an OSPF totally stub area with only
intra-area routes and a default route to the nearest L2 router.
•The L1 area is specified by the AREA-ID in the OSI address.
Therefore only one area per router
•Areas are formed as part of the hello protocol

25
Areas example
•Two areas: 0001 and 0002 connected by inter-area L1-L2,
and L2 routes
•L2 corresponds to a backbone: all inter-area traffic must
go via L2
•The L1-L2 routers are area border routers
They redistribute routes from the L1 to the L2 link-state DB
They redistribute a default route from L2 to L1

L2 L2 L2
L1: 0001 L1: 0002

L1: 0001 L1: 0002

26
Areas adjacency
•Two L1 routers can form L1 adjacencies only if areaid
match
•L2 routers always match

L2 L2
MATCH
!

L2 L2
MATCH MATCH
L1: 0001 ! L1: 0001 L1: 0001 ! L1: 0001

NO L2 L2
MATCH MATCH
L1: 0001 ! L1: 0002 L1: 0001 ! L1: 0002

27
L2 vs OSPF backbone
•L2 routers must be contiguous but is not an area in itself
•There is even a mechanism for repairing partitioned L1
areas using L2 in IS-IS
•L1 routers send all non intra-area traffic to the nearest L2
routers

Area 1 L1/L2
Area 3
L1
L1/L2 L2

L1/L2
L1/L2 L1

L1

L1/L2 L1 Area 4
Area 2

28
Route leaking
•Totally stub areas (only default route) can lead to sub-
optimal routing
Why? Because if area is multi-homed, a single default route
may not provide the best route
•It is possible to extend ISIS L1 areas to something similar
to OSPF areas
•L2 routes can be ”leaked” to L1 routers
•L1 routers can then make better route calculations

29
Database

•OSPF Stores Database Advertisements


LSAs are usually many and small
Network and Router LSA can get large
LSAs are grouped into LSA Updates when flooding
LSA Updates need to be rebuilt at each hop
Therefore both LSA and OSPF message chsksums are needed
•IS-IS stores LSP packets
LSPs are organized by the originating router
LSPs are always flooded intact, never changed
• The same minimum MTU is required in the whole network!
Each topology change gives a new LSP

30
Extensions
•OSPF was never built to be extended
Hardwired for IPv4
IPv6 requires a new protocol (OSPFv3)
•ISIS is extendable
So far extending ISIS has straightforward
IPv6 ready (just like it's IPv4 and IPX ready...)

A side-note:
Some researchers claim that routing protocols
should be completely independ of each other, that
they should act like ”ships in the night”: CLNP, IPX,
IPv4 and IPv6 routing should be run by different
protocols. But one can still run the same protocol in
different instances, and then you get all benefits of
configuration reuse, etc, of using the same protocol

31
Deployment
•IS-IS very popular in the ISP world
especially large ISPs
•OSPF popular in enterprises
•What are the reasons for this?
•Availability of implementations:
Only the large routing vendors have good IS-IS
implementations: CISCO, JUNIPER
Example: There is no stable open-source IS-IS implementation
available
•Many claim that IS-IS is easier to configure.

32
IS-IS lab
•IS-IS in pair, square and cross
•IS-IS areas: a single L1, one L1/L2 and two L2 routers
connected to all other groups.
•IPv6 and ISIS

33
Conclusions
•For most topologies, IS-IS and OSPF are functionally identical
•Stability and scalability are mostly a matter of hardware, software
and topology, not protocol
•Choose the one you are most comfortable with

34

You might also like