Routing domain
  • Network in which all routers run IS-IS routing protocol
IS-IS areas
  • Network domain can be segmented => areas
  • Defined as stubs
  • All routers in the area requires to be configure in same way - either CLNP or IP
  • Level-1 routers are routing traffic between areas via closest Level-2 router
Segmentation benefits
  • Hides the topology between different levels
    • Change in the area doesn’t require SPF calculation in other areas
  • Decrease the size of LSPDB
  • Allows summarization between areas
NSAP
  • Network Service Access Point
  • Identify router
  • Up to 160 bits (20 bytes)
  • Two main components: IDP (initial domain part) and DSP (domain specific part)
  • Simplified NSAP
    • Area ID - First byte is AFI
    • SysID - each IS-IS has it unique
    • N-Selector - Refers to network service user/transport protocol/routing layer
  • AFI 49 - designated to local private use
  • System ID
    • each node in the same area has to have unique SysID
    • All nodes in the same IS-IS domain must be of the same length
  • Up to 3 NSAP addresses per node all of which has to have same SysID with different area prefix
NET
  • Unique AreaID + SysID + N-Selector
  • NSAP address with N-Selector 0
Multi-homing
  • Multiple NET addresses on the same router differentiated only by the Area ID
  • Allows the router to multihome to the multiple areas defined
  • Use case
    • Merging multiple areas into single area
    • Splitting areas
    • Renumbering
  • Router act as area border router interconnecting multiple isolated areas
  • Multi-homing vs. Multi-area
    • Multi-homing § Multiple areas under single process with single NETs with different areaID
    • Multi-area § Multiple areas under multiple processes with multiple NETs § Supporting multiple independent Level-1 areas § Connecting multiple isolated areas to L-2 backbone
Level-1 only routers
  • routers are only aware of local topology - all nodes in the area
  • They depend on Level-2 routers for access to other areas
  • Routing all traffic for other areas to closest L2 router
    • Default route via ‘attached’
Level 1-2 routers
  • Maintain two separate LSDB for Level 1 and Level 2
Level-2 routers
  • Backbone
  • L2 backbone must be contiguous to ensure the connectivity between endpoints
  • Propagate default route between L2 routers
    • default-information originate
DIS
  • Designated Intermediate System
  • Broadcast/Multicast network only
  • Single router is designated
  • Election of DIS based on highest iface priority with the highest SNPA address
  • No backup of DIS
  • DIS creates Pseudonode
  • Default hallo interval 3.3s
  • Sends CSNPs (on behalf of Pseudnode) every 10 seconds
Pseudonode
  • All IS-IS routers connected over a common LAN multicast hellos to well-known IPs
  • Reduce the number of adjacencies between nodes
  • All routes on the broadcast link including DIS form adjacencies with the pseudonode
  • Created by DIS
  • Separate DIS for L1 and L2 routing
  • Routers on LAN only send advertisements to the pseudonode
  • LSPs generated by DIS on behalf of Pseudonode
  • Responsibilities
    • Generating pseudonode link-state packets
    • Carrying out flooding over the LAN
IS-IS packets
  • packet header + optional variable-length fields
  • Hello packets (IIH)
  • Establish and maintain adjacency
  • Cisco router - hello interval 10 sec
  • DIS router - 3,3 s
  • Hello multiplier - default 3
  • Hold-time = hello multiplier x hello interval => 30 sec § If router doesn’t receive IIH for 30 sec=>adj is down
  • Immediate transmission - changes in network conditions=>change of TLV
  • Election/resignation from LAN DIS
  • Link-state packets (LSP)
  • Distribute routing information
  • Sequence number packets (SNP)
  • Control distribution of link-state protocol
  • Ensure reliability of the flooding process
IS-IS Adjacencies
  • Requirements to form adjacency
  • Match MTU
  • Consistent length of SysID on all routers across the domain § On Cisco 6-byte
  • Maximum number of area addresses supported must match § Default 3
  • Based on Area ID in IIH receiving router will decide what type of adjacency this will be
  • Two routers with non-matching Area ID can form Level 2 adjacency only
  • Hello packets are padded to the MTU size
  • P2P IIH - only over p2p links
  • Do not contain IS Neighbors TLV (Type 6) => impossible to do 3way handshake
  • L1 LAN IIH - broadcast links, L1 adjs
  • L2 LAN IIH - broadcast links, L2 adjs
  • Successful formation adj => exchange of LSP + SNP
  • Circuit ID - The circuit ID is a one-octet number that the router uses to uniquely identify the IS-IS interface
IS-IS Adjacencies - P2P
  • P2P (ISO 10589) - Two-way IS handshake
  • Initialized by Intermediate System Hello (ISH) and followed by P2P IIH
  • Newly received IIH checking SysID against adj DB
  • Receiving router sets state to ‘init’ and send the new neighbor an IIH in response.
  • Check MTU, Check Circuit Type field, Length of SysID, max number of areas, Area ID
  • Authentication
  • P2P (RFC 5303) - 3-way IS handshake
  • Addition of TLV 240
  • If system doesn’t supports this it can ignore TLV 240
  • SNPA - Subnetwork point of addresses § MAC address on a LAN § local data link connection identifier (DLCI) on a Frame Relay network
  • Each router sends PSNP to ack the receipt of LSP
  • Both router change state to ‘up’ only after confirming there is bidirectional communication=>hellos are reaching other router § Router know that hellos are reaching neighbor when its Circuit ID (SNPA) is listed in neighbor TLVs.
Sequence
  1. R1 sends out P2P hello packet. Set TLV 240 ‘adj down’ and includes Circuit ID (SNPA)
  2. R2 sends out P2P hello packet. Set TLV 240 ‘adj down’ and includes Circuit ID(SNPA)
  3. R1 recieves R2 P2P hello and verifies: form adj (L1, L2, L1/L2), authentication, area ID, SysID, TLV 129 (OSI or IP), subiface on shared subnet, MTU
  4. R2 recieves R1 P2P hello and verifies: form adj (L1, L2, L1/L2), authentication, area ID, SysID, TLV 129 (OSI or IP), subiface on shared subnet, MTU
  5. R1 creates new record in tables and sends out P2P hello packet. TLV240 set to ‘init’ with R2 circuit ID.
  6. R2 creates new record in tables and sends out P2P hello packet. TLV240 set to ‘init’ with R1 circuit ID.
  7. R1 receive the packet and check circuit ID. If it is OK state to ‘up’
  8. R2 receive the packet and check circuit ID. If it is OK state to ‘up’
  9. Both routers send CSNP
  10. Each LSP has been ack by PSNP
  11. R1 and R2 runs Dijkstra SPF algorithm against DB
IS-IS Adjacencies - Broadcast
  • Difference from P2P
  • Process is not triggered by receipt of IIH, interface sends IIH as soon as it is enabled on the interface
  • Broadcast medium = pseudonode
  • LAN broadcast their hellos to well-known L1 and L2 MAC addresses
    • 01-80-C2-00-00-15 for Level 2 adjacencies (AllL2ISs)
    • 01-80-C2-00-00-14 for Level 1 adjacencies (AllL1ISs)
  • Two way communication confirmed by 3-way handshake similar - the presence of IS neighbors, similar to TLV 240
Sequence
  1. R1 send out IIH packet with locally defined LAN ID (consisting SysID and unique circuit ID)
  2. R1 starts to listen to IIH
  3. DIS election - whether it is eligible to be L1 or L2 DIS
  4. R2 send out IIH packet with locally defined LAN ID (consisting SysID and unique circuit ID)
  5. R2 starts to listen to IIH
  6. R1 receive R2 IIH without IS neighbor => creates adj with state ‘init’
  7. R2 receive R1 IIH without IS neighbor => creates adj with state ‘init’
  8. R1 send out IIH packet with locally defined LAN ID (consisting SysID and unique circuit ID) and with IS neighbor (R2)
  9. R2 receive IIH and put adj to ‘up’
  10. LSPs exchanged
  • LSP contains - area info, adjacent routers, IP subnets, Metric information, authentication information
  • LSP Level1 PDU type - 18
  • LSP Level2 PDU type - 20
  • Header fields following PDU length are LSP specific
  • Remaining lifetime
    • 2 threshold values - maxage and refresh
    • LSP maxage - 20 minutes
    • LSP refresh - 15 minutes
    • When received time starts count down
    • When LSP age reach LSP refresh -> source will regenerate LSP
  • LSP ID
    • Distinguish LSPs from each other
    • To identify originating router
    • SysID + Pseudonode ID + LSP number
    • Pseudonode ID - associated with multicast link generated by DIS on the link, ID=0 generated by router
  • Seq number - starts with 1, increased by 1 when new LSP is generated
  • Checksum - for checksum remaining lifetime field is removed
  • Partition - not used
  • Attached - viz Area
  • Overload
    • Setting overload bit during maintenance route the traffic around the router
    • New routers use overload bit after they boot up to ensure they won’t be blackholing the traffic
  • IS Type - L1 or L2
  • LSP Attached
  • indicate attachment to other area
  • Set by L2 routers in their L1 LSPs to indicate to same area L1 routers that they are connected in other areas
  • Attribute ‘attached’ relevant only in L1 routing
  • All routing information are bundled in single LSP and fragmented if needed
  • Maximum size 1492 bytes
Level-1 LSPs TLV
  • Area Address
    • Lists the set of area addresses configured on router
  • IS Neighbors
    • List of adjacent Level 1 routers
    • Different from hello packet TLV - it carries metric
  • ES Neighbors
    • Available only in Level-1 LSP
    • Lists adjacent Level 1 routers and end systems
  • IP Internal Reachability Information
    • List of DIRECTLY connected IP prefixes
    • Each prefix assigned metric value
  • Default routes are not advertised in L1 LSPs
    • Router will interpret ‘attached bit’ as a route of last resort (GW)
TLV Type Source  
Area Address 1 ISO 10589  
Intermediate System Neighbors 2 ISO 10589  
End System Neighbors 3 ISO 10589  
Authentication Information 10 ISO 10589  
Extended Intermediate System Reachability 22 RFC 5305  
IP Internal Reachability Information 128 RFC 1195  
Protocols Supported 129 RFC 1195  
IP External Reachability Information 130 RFC 1195  
IP Interface Address 132 RFC 1195  
Extended IP Reachability 135 RFC 5305  
Hostname 137 x  
Level-2 LSPs TLV
  • Prefix Neighbors - relevant only for ISO CLNP
  • IP External Reachability Information
    • IP routes obtained from other routing protocols - redistributed
TLV Type Source    
Area Address 1 ISO 10589    
Intermediate System Neighbors 2 ISO 10589    
Partition-Designated Level 2 Intermediate System 4 ISO 10589    
Prefix Neighbors 5 ISO 10589    
Authentication Information 10 ISO 10589    
Extended Intermediate System Reachability 22 RFC 5305    
IP Internal Reachability Information 128 RFC 1195    
Protocols Supported 129 RFC 1195    
IP External Reachability Information 130 RFC 1195    
Interdomain Routing Protocol Information 131 RFC 1195    
IP Interface Address 132 RFC 1195    
Extended IP Reachability 135 RFC 5305    
IS-IS Metrics
  • TLV containing metric
    • ES Neighbors (3)
    • IS Neighbors (2)
    • Prefix Neighbors (5)
    • IP Internal Reachability (128)
    • IP External Reachability (130)
    • Extended Intermediate System Reachability TLV (22)
      • To replace IS Neighbors (2)
      • Support larger metrics
      • Using sub-TLVs => Support MPLS TE
    • Extended IP Reachability TLV (135)
      • To replace IP Internal Reachability Information (128)
      • Utilize QoS metric fields
      • Support larger metrics
      • Using sub-TLVs => Support MPLS TE
      • NEW up/down bit - set when route propagated L2=>L1
        • Preventing from propagating the route back to L2
  • Default metric = cost
    • default metric has a possible range of 0-63
Sequence Number Packets (xSNP)
  • Complete sequence number packets (CSNP)
    • Contains summaries of all known LSPs in router DB
    • Fields
      • Source ID - SysID router generated
      • Start LSP ID
      • End LSP ID
      • LSP Entries - Collection of LSP summaries
      • Auth info
  • Partial sequence number packets (PSNP)
    • Contains subset of LSPs in router DB
    • P2P links uses PSNP as ack receipt
    • PSNP used to request specific copies for P2P and Bcast links
    • Fields
      • Source ID - SysID router generated
      • LSP Entries - Collection of LSP summaries
      • Auth info
  • Separate CSNP/PSNP generated for L1 and L2 LS DB
  • CSNP/PSNP contains
    • LSPID
    • Sequence Number
    • Checksum
    • Remaining lifetime
  • CSNP used to check consistency of their LSPDB
    • On broadcast domain CSNP are sent periodically by DIS
    • LSP and CSNPs are broadcasted to addresses AllL1IS for Level 1 LSPs and AllL2IS for Level 2 LSPs
  • Efficient collection of routing information
  • Information elements of the database => LSP
  • Process of exchanging LSP is called flooding
  • LSPs learned from neighbors from within the area are stored in L-1 Link-State database
    • All routers in the area will have the same L-1 database
    • Each router will run SPF over its database
  • L1 LSPDB - routing within the area
  • L2 LSPDB - routing between L1 areas
Routes
  • Intra-area route
    • Routes learned from another router
  • Interarea route
    • Learned from another L2 router which has been learned from L1 router
    • Learned from another L2 router with different area address
  • External route
    • Routes redistributed into IS-IS domain
Path Selection
  • Identifying route with the lowest path metric for each stage:
  1. L1 intra-area routes
    • L1 external routes with internal metrics
  2. L2 intra-area routes
    • L2 external routes with internal metric
  3. Leaked routes (L2 –> L1) with internal metrics
  4. L1 external routes with external metrics
  5. L2 external routes with external metric
    • L1 –> L2 interarea external routes with external metrics
  6. Leaked routes (L2 –> L1) with external metrics
ECMP
  • Default maximum are for IOS 4 routes and IOS XR 16 routes
Interface Metrics
  • Narrow metrics
    • Does not scale very well for design with different bandwidths
    • Value 1 - 63
    • Included in IS Neighbor TLV (2) and IP Reachability TLV (128 and 130)
    • Default Metric 10
    • Default for IPv4
  • Wide Metrics
    • Provides better scalability
    • 24 bits = Value between 1 and 16,777,214
    • Included in Extended IS Reachability (22) and Extended IP Reachability (135)
    • Concept of sub-TLVs for MPLS TE
  • Enabling different type of metric on each side will cause an issues => TLVs are independent from each other
Summarization
  • Only for routes
    • L1 routes => L2 backbone
    • L2 routes leaking => L1
    • Redistribution routes into area
  • No summarization between routers in L2 area
  • No summarization between routers in L1 area
  • Default metric for summarized route = smallest metric of any matching prefix
    • If the route with lowest metric disappear it will regenerate new summarization route with new metric
Prefix Suppression
  • To minimize routing tables
  • Not advertising interface subnets
  • IOS
    • no isis advertise-prefix
    • Advertise-passive only
  • IOS XR
    • Suppresed - per interface
Passive interface
  • Making the network interface passive still adds the network segment into the LSPDB, but prohibits the interface from forming IS-IS adjacencies.
  • A passive interface does not send out IS-IS traffic and will not process any received IS-IS packets.
Resources

https://tools.ietf.org/html/rfc5305

IP Routing on Cisco IOS, IOS XE, and IOS XR: An Essential Guide to Understanding and Implementing IP Routing Protocols

https://www.cisco.com/c/en/us/support/docs/ip/integrated-intermediate-system-to-intermediate-system-is-is/49627-DIS-LSP-1.html