Showing posts with label ISIS. Show all posts
Showing posts with label ISIS. Show all posts

Wednesday, April 22, 2020

Segment Routing Control Plane - ISIS


Segment Routing Deployment - Control and Data Plane gives fair understanding of how to deploy segment routing by using IS-IS on Cisco XR based platforms. In this post, I will be focusing how the segment routing control plane gets established by using IS-IS protocol.

Remember below mentioned points before moving ahead:

1. Every router must know what type of Data Plane capability to use like capable of processing SR-MPLS-encapsulated IPv4 packets on all interfaces or SR-MPLS-encapsulated IPv6 packets on all interfaces [SR-Capability TLV]
2. Every router must know what the SID-Index of the destination route is [Extended IP Reachability TLV]
3. Every router must know about the SRGB block to be used [SR-Capability TLV]
4. Every router must know what the SRLB (Segment Routing Local Block – Mainly Used For Adj-Sids, This is local to router and can be sent to PCE or can be used statically on headed router for Segment Routing Traffic Engineering Use Case) [SR-Capability TLV]

All the above four functions/tasks are taken care by ISIS Router-Capability TLV(242) and Extended IP Reachability TLV – (135,235)

1. Router-Capability TLV(242)
As per RFC 8667, section 3; Router Capability TLV (242) carries below mentioned different Sub-TLV. Router Capability TLV, helps to exchange the SRGB information along with type of data plane used.
a. SR-Capabilities Sub-TLV – This is type 2 sub-TLV. It contains the information of the SRGB Range, SID/Label value and capability of processing SR-MPLS-encapsulated IPv4 packets or IPv6 (Flags).

The SR-Capabilities sub-TLV has the following format:
       

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type        |     Length    |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Range                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                SID/Label Sub-TLV (variable)                 //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Example of the advertisement of SRGB ranges by SR capable nodes(routers).
SR-Capable Node Advertises: Range: 100, SID value: 100
Receiving routers build the SRGB as follows: [100,199]. Index 0 means label 100, Index 1 means label 101, Index 99 means label 100.

b. SR-Algorithm Sub-TLV – This is type 19 sub-TLV. SR-Algorithm sub-TLV is optional. A router receiving multiple SR-Algorithm sub-TLVs from the same originator SHOULD select the first advertisement in the lowest-numbered LSP. This sub-TLV is used to calculate reachability to other nodes or to prefixes attached to the nodes. It has 2 values 0 and 1. 0 means SPF algo based on link metric and 1 means strict SPF algo based on link metric but algo 1 requires all the nodes in the path honor the SPF decision and will not bypass by any local policy.

The SR-Algorithm sub-TLV has the following format:
       

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Type        |     Length    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Algorithm 1   |  Algorithm 2  | Algorithm ... |  Algorithm n  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

c. SR Local Block Sub-TLV: This is type 22 sub-TLV and it contains the range of labels reserved for local SIDs.
d. SRMS Preference Sub-TLV: This is type 24 sub-TLV. This is associated with Segment Routing Mapping Server advertisements from source. This is optional sub-TLV.

2. Extended IP Reachability TLV – (135,235)
As per RFC 8667 section 2.1, IS-IS sub-TLV is defined: the Prefix Segment Identifier (Prefix-SID) sub-TLV type 3. The Prefix-SID sub-TLV carries the Segment Routing IGP-Prefix-SID as defined in [RFC8402]. The 'Prefix-SID' MUST be unique within a given IGP domain.

The Prefix-SID sub-TLV has the following format:
       
0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type        |     Length    |     Flags     |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         SID/Index/Label (variable)            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Below is the list of important flags used in Prefix-SID. Flags are nothing but a boolean value.
1. N-Flag – This is node sid or not
2. P-Flag – No-PHP flag, if it set in that case penultimate hop router will not do the PHP
3. E-Flag – No Explicit Null
4. V-Flag – Prefix SID carries absolute value
5. L-Flag – Prefix SID carries index
6. R-Flag – Re-advertisements

Click Here To Read Rest Of The Post...

Tuesday, March 10, 2015

Convergence Delay of a Routing Update For Static, RIP, OSPF, EIGRP, ISIS and BGP


Got some good docs for the maximum Convergence Delay of a Routing Update For Static, RIP, OSPF, EIGRP, ISIS and BGP.
Br/> Using the below described convergence points the theoretical maximum propagation delay of a routing update can be calculated from one VPN site to another VPN site (CE router to CE router).

- The convergence points are taken as T1_max, T2_max, T3_max, T4_max till T8_Max

- As per the convergence points the maximum theoretical convergence times are calculated for various protocols like RIPv2, EIGRP, OSPF, ISIS, BGP and static routes.

- The total convergence time taken for a static route is 25 seconds

- The maximum convergence time for RIP approximately 85 seconds for new routes, 25 seconds for serial links and 265 seconds in case of route flap.

- For EIGRP the convergence timer is much faster and is around 25 seconds.

- The convergence time increases slightly to 35 seconds in case of OSPF

- For ISIS the maximum theoretical convergence value is same as OSPF approximately 35 seconds.

- The convergence value increases to 85 seconds in case of BGP.


Click Here To Read Rest Of The Post...

Thursday, January 23, 2014

Loop Free Alternate: IP Fast Reroute (FRR)


We can use the IPv4 Loop-Free Alternate Fast Reroute feature to reduce the Outages duration when the primary uplinks fail on a router.

When a link or a router fails, routing algorithms like ISIS or OSPF compute new routes that take into account the failure. The time taken for computation is called routing transition. Until the transition is complete and all routers are converged on a common view of the network, the connectivity between the source and destination pairs is interrupted. Routing transition depends on the numbers of routers present in that area. The bigger the area; more the time is. This may impact on revenue of the customer also. We can use the IPv4 Loop-Free Alternate Fast Reroute feature to reduce the routing transition time to less than 50 milliseconds using a pre-calculated alternate next hop. When a router is notified of a link failure, the router immediately switches over to the repair path to reduce traffic loss.

The repair path computation is done by the Intermediate System-to-Intermediate System (IS-IS) or OSPF and the resulting repair paths are sent to the Routing Information Base (RIB). The repair path installation is Forwarding Information Base(FIB).

Eigrp has it's own Loop Free Alternate.
Click Here To Read Rest Of The Post...

Wednesday, December 5, 2012

What is Discard Route or NULL0 Route?


What is Discard Routes and how does it help to stop layer 3 routing loops? As we know the fact that loops are not only originates in layer2 network but could also originate in layer 3 networks. We have various mechanisms to prevent layer 3 routing loops with spit horizon and route poisoning.

Would like to understand; IS there any kind of other scenario where in routing loop could exist? See the below infographic



As depicted above, routing loop could occur whenever a summary route is announced towards the peer. This loop could be stopped by creating a manual discard route pointing towards null interface.

IP Route 10.2.0.0 255.255.0.0 null0

OSPF, IS-IS and EIGRP automatically creates discard route whenever summary is performed on the routers.


Below are the configurations for disabling discard routes:-
OSPF
router ospf 1
no discard route

EIGRP
interface serial0 ip summary-address eigrp 1 10.2.0.0 255.255.0.0 255


Click Here To Read Rest Of The Post...

Friday, February 26, 2010

Basics Of IS-IS


IS-IS(ISO 10589) is Integrated System to Integrated System which was initially designed by DEC for OSI then tuned to work for TCP/IP protocol by the IETF in RFC 1195. In other words we can say a robust protocol which now supports the both ip as well as CLNP applications. It is a link state routing protocol and uses the same DIJKSTRA algorithm as being used by OSPF (Open Shortest Path First) to calculate the path cost.
IS-IS maintains three types of tables:-
1. Neighbor Table
2. Routing Table
3. Topology Table

Address Format Used By IS-IS
OSI uses connectionless Network Service aka CLNS which is equivalent to IP in TCP/IP. CLNP assigning addresses to a router called Network Service Access Point(NSAP) addresses or Network Entity Title(NET) addresses. IS-IS uses a one address per node. Net addresses can be up to 20 bytes in length. CISCO implementation of NET address tells about area, system id and NSAP selector.

Types Of Router
1. Level 1 (L1) – It maintains the topology database of its own area.
2. Level 2 router consider as backbone router.
3. Level 1-2 routers are interfaces between the Level 1 and Level 2.

The main advantage of using IS-IS because of it’s TLV (Type/Length/Value) which makes it unique from legacy OSPF. It is a hearsay that support of IPv6 in OSPF requires lot of modification from it’s root but the presence of TLV in IS-IS helped it to support IPv6 with no more changes.


Click Here To Read Rest Of The Post...