Saturday, May 2, 2020

Network Slicing - Flex Algo

GSMA defines, "5G networks, in combination with network slicing, permit business customers to enjoy connectivity and data processing tailored to the specific business requirements that adhere to a Service Level Agreement (SLA) agreed with the mobile operator. The customisable network capabilities include data speed, quality, latency, reliability, security, and services."

What is customisable network? Every network is fixed network like monolithic and fully dependent on the underneath resource availability. Fixed or monolithic sort of networks can only provide the connectivity with basic business SLAs. But 5G has different network requirements to support different type of business use cases like enhanced mobile broadband, massive machine to machine and ultra reliable low latency. To support different type of use cases, we need network which is like cloud native, we need network like micro-services, we need network like docker. To have these different customization we have to slice the network into different logical layers and use cases can be mapped to logical layers as per the signed business SLA. Dividing monolithic network into different layers or slices by using segment routing along with flexible algorithm is called customisable network or "Network Slicing".

What is Network Slicing?
Network slicing is an end-to-end concept that divides the physical network into logical parallel layers. It enables deployment of multiple logical, self-contained and independent shared or partitioned networks concurrently on a common infrastructure by abstracting, isolating and orcestrating it.

How do we create slicing in service provider network?
We can use flexible algorithm along with Segment Routing to create different slices in the network.

What is Flex Algrithm?
Segment Routing Control Plane - ISIS post explains about the Router Capability TLV (242). Router capability TLV has SR-Algorithm(Segment Routing Algorithm, Flex Algo, Flex 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: Shortest Path First (SPF) algorithm based on link metric. This is the well-known shortest path algorithm as computed by the IS-IS process. Consistent with the deployed practice for link-state protocols, algorithm 0 permits any node to overwrite the SPF path with a different path based on local policy.

1: Strict Shortest Path First (SPF) algorithm based on link metric. The algorithm is identical to algorithm 0 but algorithm 1 requires that all nodes along the path will honor the SPF routing decision. Local policy MUST NOT alter thevforwarding decision computed by algorithm 1 at the node claiming to support algorithm.

Flexible Algo means that this is flexible rather than fixed and the algorithm is defined by the operator based on per deployment basis.

Below are the steps used to discover and deploy Flex-Algo Topology:
Topology Discovery
1. A node computes Flex-Algo(K) if it is enabled for K. K is nothing but mathematical value starts from 128 till 255.
2. Flex Algo Topology is defined by pruning any nodes and links that is not advertising participation to K.
3. Advertises prefix-sid for that flex also node.
Compute Shortest Path
1. Compute shortest-path tree on Flex-Algo Topo(K) with the metric defined by K. Metric could be IGP, TE or Delay.

Build FIB Table
1. Install any reachable Prefix-SID of Flex-Algo(K) in the forwarding table

By using the above steps, let's see how Flex Algo(K) builds its topology. As per above figure, Node 10 supports 0,128 and 138. Node 1,2,3 and 4 supports flex algo 0 and 128. Nodes 5,6,7 and 8 supports flex algo 0 and 138. Node 9 supports flex also 0,128 and 138.

Node10 will be advertising prefix sid 16010 for flex algo 0, 17010 for flex also 128 and 18010 for flex algo 138. Similarly Nodes 1 will be advertising 16001 for flex algo 0 and 17001 for flex also 128.

By using the flex algo or flexible algorithm we can easily create network slices. Nodes below to same flex algo be part of same network slice. Once we create the slice, accordingly we can apply route the traffic on to the slices as per the business SLA.

Stay tuned for my next post, which will be discussing how to implement network slice on Cisco IOS-XR based platform. References

People who read this post also read :

No comments: