Sie sind auf Seite 1von 23

A Comparison of Segment Routing

Data-plane Encodings

Service enablement based upon segments (32bit or 128bit)


• Gunter Van de Velde
• 11-04-2019

1 © Nokia 2019
Agenda

• Introduction
• Evolution of Segment Routing
• Conclusion

2 © Nokia 2019
Market needs
Network adapts for application and user experience

Policy imposed directly upon Policy Mapping, RSVP, LDP,


each payload packet Pick your poison Policy Based Routing, …

Segment Routing Current Architecture

Simple architecture Doesn’t scale for


*** newest network
Reduced state services and adaptive
in the network network behavior
***
Ease of operation

3 © Nokia 2019
Segment Routing
Value Proposition – Simplicity by “Enhanced Forwarding Behavior”
• Packet Forwarding decision is based upon “Segments”
and not upon “IP payload prefix”
• Segments are encoded as 32bits or 128bits
- 32bit Segments supported IPv6, MPLS, (or even IPv4)
dataplane
- 128bit Segments supported only upon IPv6 dataplane
- Sequence of segments represents a set of
actions/instructions imposed to the packet
• No per-flow state contained within the network
• Segments are distributed by Routing or SDN control
- No more LDP, because LDP is “Soo Sad”
- Fair balance between “distributed intelligence” and
“centralized optimization/programming”
• Perfect complement to NSH (Network Services Header)
- However, minimal context could be encoded in segments (see
4 later)
© Nokia 2019
Agenda

• Introduction
• Evolution of Segment Routing
• Conclusion
A story to compare Apples with Apples !

5 © Nokia 2019
Evolution of Segment Routing # 1
Encoding: 32bits Segments directly into MPLS Dataplane
• Do not confuse with MPLS !
- There is no ‘LDP’ with Segment Routing
• Segments encoded directly into MPLS Dataplane
• https://datatracker.ietf.org/doc/draft-ietf-spring-segment-routing/
• Principle used:
- Encode the Segments as a sequence of 32bit Label fields
• MPLS label itself is 20 bits added with 12 bit operational overhead/information

- Segments directly distributed by Routing Protocols or controllers (there is NO LDP)


- Build upon massive existing technology experience (Fast-Reroute, L2/3 Services support, etc…)
- Well known and documented security implications
• Minimal packet overhead imposed by Segment Routing (i.e. 32bit/segment)
• Mature dataplane technology well supported by Network vendors and Forwarding ASICs
• Technology sweet-spot: Reduce complexity in MPLS based networks

6 © Nokia 2019
How does segment Routing look like?
Using 32bit Segments (on dataplane it mimics MPLS)

32 bit per Segment SR Header


(MPLS Dataplane Encapsulation)

Original
IP Header

Segment Routing Payload


Original (e.g. original IP Packet)
IP packet payload
(variable size)

7 © Nokia 2019
Evolution of Segment Routing # 2
Encoding: 128bits Segments directly into IPv6 Header
• Do not confuse with classic IPv6 - This is NOT classic IPv6 Routing
• Segments encoded as [Outer IPv6 header] [SRH extension header] [optional HMAC security header]
• https://tools.ietf.org/html/draft-ietf-6man-segment-routing-header-16
• Principle used:
- Based upon IPv6 Source Routing with new innovative IPv6 extension header (SRH)
- Each segment is 128 bit
• 128bit segments allow limited service semantics to be encoded (NSH not absolutely required anymore)
• Larger header overhead tax compared to MPLS encoding
• IPv6-only data-plane support
• HW forwarding ASIC considerations
- Processing long extension headers is computationally expensive
• Security consideration: semantics mix of “location” and “context” is good topic for discussion

8 © Nokia 2019
How does SRv6 Look like
Segments (128 bit) with IPv6 encapsulation
IPv6 Encapsulation
40 Byte (320 bit)
(Tunnel/Outer Header)
SRH Extension Header
8 byte fixed SRH header SRv6 Header
+
(IPv6 Dataplane Encapsulation)
(X * 128 bit/segment

40 Byte (320 bit) Optional HMAC (Security)

Original
IP Header
Segment Routing Payload
Original (e.g. original IP Packet)
IP packet payload
(variable size)
9 © Nokia 2019
Encoding 128bit Segment
How does it look on the wire?
Customer Site or Data-Center Provider Backbone

IP Packet (v4 or v6) IP Packet (v4 or v6) SR Headers


Provider Edge
Router
IPv6/IPv4 IPv6-Only for SRv6

10 © Nokia 2019
Encoding 128bit Segment
How does it look on the wire?
Customer Site or Data-Center Provider Backbone

IP Packet (v4 or v6) IP Packet (v4 or v6) SR Headers


Provider Edge
Router
IPv6/IPv4 IPv6-Only for SRv6

Payload SR Headers

SRv6 IP Packet (v4 or v6) IP Packet (v4 or v6) HMAC

40 byte
SRH

8 + (x * 16) byte
IPv6

40 byte

11 © Nokia 2019
Encoding 128bit Segment
How does it look on the wire?
Customer Site or Data-Center Provider Backbone

IP Packet (v4 or v6) IP Packet (v4 or v6) SR Headers


Provider Edge
Router
IPv6/IPv4 IPv6-Only for SRv6

Payload SR Headers

SRv6 IP Packet (v4 or v6) IP Packet (v4 or v6) HMAC

40 byte
SRH

8 + (x * 16) byte
IPv6

40 byte

Typical SRv6 overhead properties Imposed bandwidth overhead


Typically 8 bytes of overhead (4 bytes are mandatory) Short packets ( >500) bytes are common on the Internet
Typically, another 16 bytes per SID Routing header with three SIDS may become common
Routing header with 3 SIDs is 56 bytes long > 10% Routing header overhead
*Note1 *Note1

12 © Nokia 2019
*Note1: Reference (https://datatracker.ietf.org/meeting/104/materials/slides-104-spring-the-ipv6-compressed-routing-header-crh-01)
Encoding 128bit Segment
Comparing 128bit vs 32bit encoding
Customer Site or Data-Center Provider Backbone

IP Packet (v4 or v6) IP Packet (v4 or v6) SR Headers


Provider Edge
Router
IPv6/IPv4 IPv6-Only for SRv6

Payload SR Headers

SRv6 IP Packet (v4 or v6) IP Packet (v4 or v6) HMAC

40 byte
SRH

8 + (x * 16) byte
IPv6

40 byte

Payload SR Headers

MPLS IP Packet (v4 or v6) IP Packet (v4 or v6) Segments

4 byte/segment

13 © Nokia 2019
Evolution of Segment Routing
What is next?
• What we discussed sofar
- We have 32bit segments encoded in MPLS dataplane
- We have 128bit segments encoded in IPv6 dataplane

• So, can we not have 32bit segments encoded using native IPv6 and IPv4?

Ofcours we can !!!


14 © Nokia 2019
Evolution of Segment Routing # 3
Encoding: 32bits Segments directly in SRoUDP (v4 or v6)
• Support of 32bit SIDs for IP-based networks
• 32bit Segments encoded using UDP header
- Outer IPv4 header is 20byte (variable length) and IPv6 header is 40 byte (fixed)
- UDP header size is 8 Byte
- 32bit Segments sequence will look like MPLS labels
- Nothing new and existed for years for MPLS under the technology radar
• https://tools.ietf.org/html/draft-ietf-mpls-sr-over-ip-02
• Principle used:
- Encode the Segments as a sequence of 32bit Labels encoded inside UDP
- Build upon existing technology experience (MPLS), Fast-Path forwarding, Fast-Reroute
- Native support for IPv6 and IPv4 dataplane (NO flag day at operator)
- Well known and documented security implications
- Payload Meta-data is added using NSH (IETF SFC standard technology)

15 © Nokia 2019
How does SRoUDP Look like
Segments (32 bit) with IP encapsulation

40 byte (IPv6) or 20 byte (IPv4) IP Outer (Tunnel) Header IP Tunnel Encapsulation Header

8 byte UDP Header UDP Header UDP Transport Header

32 bit per Segment SR Header


(MPLS Dataplane Encapsulation)

Don’t forget about NSH Meta-Data NSH


Applications use it Original
(=16 byte for NSH Type1)
(>16byte for NSH type 2) IP Header
Segment Routing Payload
Original (e.g. original IP Packet)
IP packet payload
(variable size)
16 © Nokia 2019
How does SRoUDP compare with SRv6?
Comparing the encoding
SRv6 (128 bit segments) SRoUDP (32 bit segments)
IPv6 Encapsulation
40 byte
(Tunnel Header) 40 byte (IPv6)
IP Tunnel Header (v4 or v6) or 20 byte (IPv4)
SRH Extension Header
8 byte fixed SRH header
UDP Header 8 byte fixed
+
(X * 128 bit/segment)
Each segment
is 32 bit
40 Byte Optional HMAC (Security)

Optional NSH Optional NSH


Original Original
SRv6 can use a 128bit
IP Header IP Header
Segment encoding
for limited meta-data
Original Original
IP packet payload IP packet payload
(variable size) (variable size)
17 © Nokia 2019
Comparing the encoding: Use-case perspective
Approved for Native IPv6 Data-plane transport
RFC8354: Use Cases for IPv6 SPRING

18 © Nokia 2019
How does SRoUDP compare with SRv6?
Comparing the encoding

>10% BW overhead for +-4% BW overhead for For a 500Byte Payload


500byte packets w/ 3 SID 500byte packets w/ 3 SID
SRv6
Fixed SRH + 3 * SID
8Byte + 3*16Byte
56 Byte
11.2% BW overhead

SRoUDP
UDP header + 3 * SID
8Byte + 3*4Byte
20 Byte
4% BW overhead

19 © Nokia 2019
*Note1: Reference (https://datatracker.ietf.org/meeting/104/materials/slides-104-spring-the-ipv6-compressed-routing-header-crh-01)
Evolution of Segment Routing - 4
Seamless Segment Routing Encoding
• Seamless Segment Routing support for
- Native IPv6 dataplane (SRoUDPv6)
- Native MPLS dataplane
- (and even native IPv4 Dataplane (SRoUDPv4))
• A Segment Routing 32bit-Segment is mapped to most appropriate data-plane encapsulation
(performance, security, availability)
- Part of Nokia NF-IX (Network Function Interconnect Framework)
- NFIX uses predominant BGP (BGP-LS, BGP-LU, BGP SR-TE, EVPN etc…) as the dominant protocol
- NFIX segment routing underlay: Advanced LFA, SRTE tunnels, scale optimization, SDN controller driven
- Note: Nokia NFIX architecture allows SRv6 as well if needed/required
• Deployment scenario
- Sweet spot: Brownfield networks (Fixed and Mobile providers)
- Easy integration of existing L2/3 and resiliency services
- Deploy proven/secure technology first and seamlessly optimize when appropriate to different types of segments
20 © Nokia 2019
Agenda

• Introduction
• Evolution of Segment Routing
• Conclusion

21 © Nokia 2019
Conclusion
Segment Routing Data-plane encoding
• SRoMPLS & SRoUDP (32bit segments) run over MPLS/IPv4/IPv6
- Good fit for brownfield networks
• Can keep using existing MPLS, IPv4 and IPv6 dataplane
• No need for forklift upgrade
• Seamless across all dataplanes
- Small BW overhead imposed by Segment Routing
- Forwarding ASIC friendly
- Well documented security properties
• SRv6 (128bit segments) runs over IPv6 network
- Innovative technology fit for IPv6 networks
- 128bit segments could contain service/context properties
• Simplification: SRv6 may use industry standard NSH header, but not a must anymore
- Ongoing work progressed at IETF

- Processing long extension headers is computationally expensive


• Be aware of forwarding ASIC limitations
22 © Nokia 2019 Confidential

Das könnte Ihnen auch gefallen