Previous post "Network Slice - Flex-Algo" explains how segment routing with flex also can help operators to create network slice and serve different type of business requirements.
In this post, I will be covering how to create network slice in service provider network by using segment routing. By default, IGP uses metric as constraint to calculate the shortest path tree. But while using flex-algo, delay will be used as metric to calculate end to end shortest path tree. Once the flex-algo topology will be created, after that we will be using link affinity to color the links and create constraints for flex-also also.
Have to follow below steps to create network slice:
1. Configure flex-algo(K) where K=128 in every router which will partipate in network slice.
2. Configure pre-fix sid for flex-algo(K). We already have prefix-sid configured for flex-algo(0) and now we have to configure one more value for flex-algo(K) where K=128. This is different from the previous prefix-sid but will be configured under same loopback.
3. Advertise fixed delay number to make the calulcations easy. I will be using delay as 100 micro seconds.
Apply link affinity to color the links and create constraints for flex-also.
1. Color links with any name like RED.
2. Exclude RED color links in Flex-algo
router isis lab
flex-algo 128 -> Flex-Algo(128) will be created and advertised
metric-type delay -> Delay will be used for path calculation
advertise-definition
!
interface Loopback0
address-family ipv4 unicast
prefix-sid index -> This is already configured. Please check the earlier post of Segment Routing - Control and Data Plane
prefix-sid algorithm 128 absolute 1700X -> Replace X with Router Number. E.g. S1 will be using 17001 and PE7 will be suing 17007
!
performance-measurement
interface GigabitEthernet0/0/0/X -> Replace X with all the interfaces which will be advertising delay
delay-measurement
advertise-delay 100
!
This new flex-algo(128) for IS-IS uses delay as metric (instead of cost) and assigns new SIDs(1700X) for each loopback interface apart from standard SIDs. We are using Performance Measurement to advertise the link delay.
Below is the output of flex-algo 128 topology. Instead of cost, it is using delay as metric to build SPT. {L4-S1 = 100}, {L4-S2 = 100}, {L4-S1/S2-L3} = 200},{L4-S1/S2-P5 = 200}, {L4-S1/S2-P5-P6 = 300}, {L4-S1/S2-P5-P6-PE7 = 400}. Also remember the output as the traffic is load balancing between GigabitEthernet0/0/0/0 and GigabitEthernet0/0/0/1 from L4 node towards L3,P5,P6 and PE7. (Compare this output with final output showing in last)
RP/0/0/CPU0:L4#show isis route flex-algo 128
L2 1.1.1.1/32 [100/115]
via 1.4.0.1, GigabitEthernet0/0/0/0, S1, SRGB Base: 16000, Weight: 0
L2 2.2.2.2/32 [100/115]
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 3.3.3.3/32 [200/115]
via 1.4.0.1, GigabitEthernet0/0/0/0, S1, SRGB Base: 16000, Weight: 0
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 5.5.5.5/32 [200/115]
via 1.4.0.1, GigabitEthernet0/0/0/0, S1, SRGB Base: 16000, Weight: 0
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 6.6.6.6/32 [300/115]
via 1.4.0.1, GigabitEthernet0/0/0/0, S1, SRGB Base: 16000, Weight: 0
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 7.7.7.7/32 [400/115]
via 1.4.0.1, GigabitEthernet0/0/0/0, S1, SRGB Base: 16000, Weight: 0
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
RP/0/0/CPU0:L4#
Below output is also showing different prefix-SID like 1007 instead of 17007,Both values 1007 and 17007 are same, as we have defined absolute value 17007 for PE7. SRGB base block starts with 16000, If we substract 17007-16000, we will get 1007. This is being shown in the below output. The same true for other values too.
RP/0/0/CPU0:L4#show isi route flex-algo 128 7.7.7.7/32 detail
L2 7.7.7.7/32 [400/115] Label: 16007, medium priority
via 1.4.0.1, GigabitEthernet0/0/0/0, S1, SRGB Base: 16000, Weight: 0
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
src PE7.00-00, 7.7.7.7, prefix-SID index 1007, R:0 N:1 P:0 E:0 V:0 L:0, -> Read More About Flags - Segment Routing Control Plane - ISIS
Alg:128
RP/0/0/CPU0:L4#
Below output of forwarding table will club the above two outputs. Removed the rest of output for brevity
RP/0/0/CPU0:L4#show mpls forwarding
Sat May 2 07:49:26.312 UTC
Local Outgoing Prefix
Label Label or ID
16001 16001 SR Pfx (idx 1)
16002 Pop SR Pfx (idx 2)
16003 16003 SR Pfx (idx 3)
16005 16005 SR Pfx (idx 5)
16006 16006 SR Pfx (idx 6)
16007 16007 SR Pfx (idx 7)
17001 17001 SR Pfx (idx 1001)
17002 Pop SR Pfx (idx 1002)
17003 17003 SR Pfx (idx 1003)
17005 17005 SR Pfx (idx 1005)
17006 17006 SR Pfx (idx 1006)
17007 17007 SR Pfx (idx 1007)
So far, we have two network slices configured for the network i.e. Default(0) and Flex-Algo(128). Let's Color the links with any name like RED and exclude RED color from the Flex-Algo(128). This means Flex-Algo(128) will not be using the links which are color as RED in topology building and makes these links out of the network slice.
Color the links of S1 (Gi0/0/0/0) and L4 (Gi0/0/0/2)
Node S1 Config
router isis lab
affinity-map red bit-position 1 -> Bit-position range is from 0 to 255. Every Color defines one bit-position. Max 32 colors can be mapped in affinity-map
!
interface GigabitEthernet0/0/0/0
affinity flex-algo red -> Coloring Gi0/0/0/0 as red and advertising in flex-algo
!
!
Node L4 Config
router isis lab
affinity-map red bit-position 1
!
interface GigabitEthernet0/0/0/2
affinity flex-algo red
!
!
Now we exclude the link "red" from Flex-Algo 128 in every router where Flex-Algo 128 is configured.
router isis lab
affinity-map red bit-position 1
flex-algo 128
affinity exclude-any red ->The same red color used in the above config. Now Gi0/0/0/0 of S1 and Gi0/0/0/2 of L4 will not participate in flex-algo(128)
!
!
Check the below out of L4 which says that only Gi0/0/0/1 is used as outgoing interface. Now Gi0/0/0/0 will not participate in flex-algo(128) as we have exclude it by using the above configuration.
RP/0/0/CPU0:L4#show isis route flex-algo 128
IS-IS lab IPv4 Unicast routes Flex-Algo 128
L2 1.1.1.1/32 [300/115]
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 2.2.2.2/32 [100/115]
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 3.3.3.3/32 [200/115]
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 5.5.5.5/32 [200/115]
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 6.6.6.6/32 [300/115]
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
L2 7.7.7.7/32 [400/115]
via 2.4.0.2, GigabitEthernet0/0/0/1, S2, SRGB Base: 16000, Weight: 0
RP/0/0/CPU0:L4#show isis route flex-algo 128
No comments:
Post a Comment