Concepts

What is IS-IS ?

  • The OSI Model was never meant to be just a model.
  • In OSI Terminology, a router = an intermediate system (IS)
  • Is-IS was the routing protocol created for OSI
    • OSPF = TCP/IP
    • IS-IS = OSI
  • Originally deployed by ISPs due to Government Regs

IS-IS History and Background

  • The original Implementation of IS-IS was modified

to accomodate TCP/IP. Integrated IS-IS was born.

  • Integrated IS-IS still requires an OSI Address, called a ConnectionLess Network Services

(CLNS) address, to function.

  • The Facts:
    • Link-State
    • Uses SPF
    • Uses Hello Messages
    • Much More Difficult to Understand than OPSF : that's why it's not a popular protocol.
    • More Tunable than OSPF
    • More Efficient than OSPF
    • More Flexible than OSPF

IS-IS Designs

There is no ABR. A router is member of only 1 Area:

  • L1 : member of only 1 area
  • L2 : backbone router. They known the backbone but not their own area. It represents the Core Network.
  • L1/L2 : member of an area and of the backbone. They summarize route of their own area to the backbone.

A L1 router contacts a L2 router to go to another area.

More IS-IS Facts
  • The metric of IS-IS is not based on bandwith; it is a value of 0-62. 10 is the default. Metric must be defined manually.
  • In OSI, End Systems (ES) would participate in routing (by finding their closest is); known as

ES-IS.

  • L1 and L2 routers form like relationships and maintain seperate databases. L1 routers 'speaks' only with L1 routers, and don't undestrand L2 routers. That's the same for L2.
  • The L1/L2 router is similar to OSPF's ABR: capable to speak in its Area and in the backbone.
Undestanding IS-IS Routing Domains
  • Level 0 : connexion between the ES and IS
  • Level 1 : routers exchanging information between the same area
  • Level 2 : routers in the same AS but not in the same Area
  • Level 3 : leaving the AS

OSPF vs IS-IS

  • Both are Link State Protocols
    • Areas
    • Topology, Neighbor, Route Tables
    • SPF Algorithm
  • OSPF: Interfaces belong to Areas
  • IS-IS : routers belong to Areas
  • OSPF : All Areas tie to backbone Area (Area 0)
  • Is-IS : The backbone tuns to all Areas
  • OSPF supports more Area Types
  • OSPF supports a metric scaled by default
  • OSPF is supported by more vendors
  • OSPF is well undestood by the majority of the industry
  • IS-IS handles updates more efficiently
  • IS-IS rarely runs the SPF Algorithm; Prefers using partial route calculation (PRC)
  • Is-IS is much faster (by default) to detect failures and converge
  • IS-IS has less constraints
  • IS-IS is very easy to adapt to IPv6

Understanding NSAP Addressing

  • OSI uses ConnectionLess Network Protocol (CLNP) addresses
  • When you assign a CLNP Address to a router, it is called a Network Service Access Point (NSAP) address
  • Only one address need per node; not per interface
  • NSAP addresses can be up to 20 bytes in length (IPv4 is 4 bytes, IPv6 is 16 bytes)

It is designed for very big network

  • The original implementation of OSI defined more than 5 fields that NSAP address would represent (in IPv4 there are 2 parts: network and host)
  • Cisco's implementation of IS-IS only uses 3 of those fields:
    • The Area Address
    • The System ID
    • The NSAP Selector (NSEL)
  • Example Address: 49.1234.AA15.B322.1841.00 (this address is 10 bytes long, it could be up to 20)
    • the last byte represents the NSEL. 00 designs an IS (router).
    • the 6 next bytes (AA15.B322.1841) represents the System ID
    • the begin (49.1234) represents the Area Address
  • Rules of the Game, an address should be read from the right to the left:
  1. NSAP Address can be up to 20 bytes
  2. Last byte of address is always 00 (representing an IS)
  3. System ID is always a fixed 6 bytes in length. Most of the time, administrator defined the system ID with one of the mac address of the router (6 bytes long too)
  • 49.0003.4444.4444.4444.00 could be undestrand with
    • 00 defined a router
    • 4444.4444.4444 defined router R4
    • 49.0003 defined area 3 (0003) and 49 defined a private address

How IS-IS routes Packets

  • Is checks a packet's destination
    • if different area, routed based on the area address
    • if same area, routed based on the system ID
  • If you are a L1 router
    • inter-area packets sent to closest L1/L2 router
    • intra-area packets are routed based on L1 database
  • If you are a L1/L2 router
    • inter-area packets are routed based on L2 database
    • intra-area packets are routed based on L1 database

IS-IS Packet Types

Here are the equivalent terminology between TCP/IP and OSI:

  • Packet = PDU (Protocol Data Unit)
  • Network Layer Packet = Network PDU
  • Data-Link Layer Frame = Data-Link PDU
  • Packet Types
    • Hello
    • Link-State Packet (LSP)
    • Partial Sequence Number PDU (PSNP) : request more information or acknowledge
    • Complete Sequence Number PDU (CSNP) : summary of the database

A packet contains:

  • LSP Header : contains PDU Types, Lenght, Seq.Number, Lifetime
  • TLV containes IS neighbors
  • TLV contains authentication information
  • TLV attached IP subnet information (it is ready for IPv6)
  • ...

IS-IS Network Types

  • 2 Network types supported
    • Broadcast
    • Point-to-point
  • Broadcast Mode assumes full connectivity (All IS can reach other)
  • Broadcast mode elects a Designated IS (DIS) that performs the same role as a DR/BDR in OSPF
  • When dealing with NBMA Networks, Point-to-point mode (sub-interfaces) is the preferred design
  • Broadcast uses multicast, Point-to-point uses unicast

Keeping Databases Synchronized

  • LSPs are sent containing detailed route updates
  • PNSPs are sent for 2 reasons:
  • to Ackniwledge LSPs
  • to Request LSPs
  • CSNPs are sent only once every 10 seconds in broadcast networks; only once (when the link activates) in point-to-point networks.

Basic Implementation and Verification

How IS-IS forms the routing table

Forming the routing table with IS-IS

Once all the routers have the same database:

  1. Routers find the best way to reach each other based on the lowest cost (SPF Algorithm)
  2. L1 and L2 routers perform completely seperate route calculations
  3. All the best paths are added to the OSI routing table
  4. A second algorithm is run (Partial Route Calculation - PRC) for the IP Routing table
  5. Best paths from the PRC algorithm end up in the IP Routing Table

Configuring IS-IS

R1#conf t
R1(config)# router isis ?
 WORD  ISO routing area tag
 <cr>

It is possible to define the IS-Is process with a name define by the WORD, but the best practice is to leave it blank and the router will use the default tag of 0.

Define the NSAP Address (NET) on the router configuration
R1(config)# router isis
R1(config-router)# net 49.0001.1111.1111.1111.00
Define the Is type of the router
R1(config-router)#is-type ?
level-1                 Act as a station router only
level-1-2               Act as both a station router and an area router
level-2-only            Act as an area router only

By default it is level-1-2.

Activate IS-IS on the interface
R1#conf t
R1(config)#int eth 0
R1(config-if)#ip router isis
R1#sh ip proto

Routing Protocol is "isis 0"
 Invalid after 0 seconds, hold down 0, flushed after 0
 Outgoing update filter list for all interfaces is 
 Incoming update filter list for all interfaces is 
 Redistributing: isis Address Summarization:
   None
 Routing for Networks:
   Ethernet0
 Routing Information Sources:
   Gateway         Distance         Last Update
 Distance: (default is 115)
Define the Level type on the interface

This command permits to form only one type of adjacencies on a defined interface for a L1/L2 router.

R1(config-if)#isis circuit-type ?
level-1                 Level-1 only adjacencies are formed
level-1-2               Level-1-2 adjacencies are formed
level-2-only            Level-2 only adjacencies are formed
Summarization
R1(config)# router isis
R1(config-router)# summary-address 192.168.0.0 255.255.0.0 level-2

By default it summarizes in level-2. Notice that we use a netmask and not a wildmask.

Metric

By default the metric is equal to 10.

R1(config-is)#isis metric 20 {level-1 | level-2}

Verification

CLNS Neighbors
R1#show clns neighbors
area 0:
System Id      Interface   SNPA                State  Holdtime  Type Protocol
R2                   eth0          DLCI 102         Up      23              L1     IS-IS
R1#show clns neighbors detail
R1#show clns interface eth0
Ethernet0 is administratively down, line protocol is down
  Checksums enabled, MTU 1497, Encapsulation SAP
  ERPDUs enabled, min. interval 10 msec.
  CLNS fast switching enabled
  CLNS SSE switching disabled
  DEC compatibility mode OFF for this interface
  Next ESH/ISH in 19 seconds
  Routing Protocol: IS-IS
    Circuit Type: level-1
    Interface number 0x0, local circuit ID 0x100
    Neighbor System-ID: R2
    Level-1 Metric: 10, Priority: 64, Circuit ID: R1.01
    Number of active level-1 adjacencies: 1
    Next IS-IS Hello in 4 seconds
The IP route
R1# show ip route isis
10.0.0.0/8 is variably subnetted, 1 subnets
  i L1    10.0.0.1/32 [115/20] via 10.22.22.2, Serial2/3
IS-IS Topology
R1#show isis topology