Segment Routing on MPLS data plane leverages existing MPLS architecture .Segment id (SID) is represented as MPLS label. Segment list is encoded in the packet header as a stack of MPLS labels. SR MPLS data plane implementation can be used with both IPv4 and IPv6 address families.
SR MPLS data plane uses same label forwarding operation of existing MPLS as given below,
Label Push – Label Pop – Label Swap
Now, both IPv4 and IPv6 control plane (ISIS,OSPFv2 ,OSPFv3) can compute and program the MPLS forwarding entries.
Segment Routing data plane can also be IPv6 using new type of extension header called SRH (Segment Routing Header). The IPv6 data plane implementation of Segment Routing is known as SRv6 . In SRv6 implementation , segment is represented using IPv6 address , and segment list is encoded as an ordered list of IPv6 addresses in the SRH header.
SRv6 implementation does not require MPLS and also, it further reduces some of overlay technologies like VXLAN, NSH (Network Service Header ) etc. We will discuss SRv6 in details in subsequent posts. Currently , will focus on SR-MPLS.