SRv6 Network Programming: Ushering in a New Era of IP Networks

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

SRv6 Network Programming, beginning with the challenges for Internet Protocol version 6 (IPv6) network development, describes the background, roadmap design, and implementation of Segment Routing over IPv6 (SRv6), as well as the application of this technology in traditional and emerging services. The book begins with the development of IP technologies by focusing on the problems encountered during MPLS and IPv6 network development, giving readers insights into the problems tackled by SRv6 and the value of SRv6. It then goes on to explain SRv6 fundamentals, including SRv6 packet header design, the packet forwarding process, protocol extensions such as Interior Gateway Protocol (IGP), Border Gateway Protocol (BGP), and Path Computation Element Protocol (PCEP) extensions, and how SRv6 supports existing traffic engineering (TE), virtual private networks (VPN), and reliability requirements. Next, SRv6 network deployment is introduced, covering the evolution paths from existing networks to SRv6 networks, SRv6 network deployment processes, involved O&M technologies, and emerging 5G and cloud services supported by SRv6. Bit Index Explicit Replication IPv6 encapsulation (BIERv6), an SRv6 multicast technology, is then introduced as an important supplement to SRv6 unicast technology. The book concludes with a summary of the current status of the SRv6 industry and provides an outlook for new SRv6-based technologies. SRv6 Network Programming: Ushering in a New Era of IP Networks collects the research results of Huawei SRv6 experts and reflects the latest development direction of SRv6. With rich, clear, practical, and easy-to-understand content, the volume is intended for network planning engineers, technical support engineers and network administrators who need a grasp of the most cutting-edge IP network technology. It is also intended for communications network researchers in scientific research institutions and universities.

Author(s): Zhenbin Li, Zhibo Hu, Cheng Li
Series: Data Communication Series
Publisher: CRC Press
Year: 2021

Language: English

Cover
Half Title
Series Page
Title Page
Copyright Page
Table of Contents
Foreword I
Foreword II
Preface
Teams
Acknowledgments
Author
Part I: Introduction
Chapter 1 ◾ SRv6 Background
1.1 OVERVIEW OF INTERNET DEVELOPMENT
1.2 START OF ALL IP 1.0: A COMPLETE VICTORY FOR IP
1.2.1 Competition between ATM and IP
1.2.2 MPLS: The Key to All IP 1.0
1.3 CHALLENGES FACING ALL IP 1.0: IP/MPLS DILEMMA
1.3.1 MPLS Dilemma
1.3.2 IPv4 Dilemma
1.3.3 Challenges for IPv6
1.4 OPPORTUNITIES FOR ALL IP 1.0: SDN AND NETWORK PROGRAMMING
1.4.1 OpenFlow
1.4.2 POF
1.4.3 P4
1.4.4 SR
1.5 KEY TO ALL IP 2.0: SRv6
1.6 STORIES BEHIND SRv6 DESIGN
REFERENCES
Part II: SRv6 1.0
Chapter 2 ◾ SRv6 Fundamentals
2.1 SRv6 OVERVIEW
2.2 NETWORK INSTRUCTIONS: SRv6 SEGMENTS
2.3 NETWORK NODES: SRv6 NODES
2.3.1 SRv6 Source Node
2.3.2 Transit Node
2.3.3 Endpoint Node
2.4 NETWORK PROGRAM: SRv6 EXTENSION HEADER
2.4.1 SRv6 Extension Header Design
2.4.2 SRH TLVs
2.4.2.1 Padding TLV
2.4.2.2 HMAC TLV
2.4.3 SRv6 Instruction Set: Endpoint Node Behaviors
2.4.3.1 End SID
2.4.3.2 End.X SID
2.4.3.3 End.T SID
2.4.3.4 End.DX6 SID
2.4.3.5 End.DX4 SID
2.4.3.6 End.DT6 SID
2.4.3.7 End.DT4 SID
2.4.3.8 End.DT46 SID
2.4.3.9 End.DX2 SID
2.4.3.10 End.DX2V SID
2.4.3.11 End.DT2U SID
2.4.3.12 End.DT2M SID
2.4.3.13 End.B6.Insert SID
2.4.3.14 End.B6.Encaps SID
2.4.3.15 End.BM SID
2.4.4 SRv6 Instruction Set: Source Node Behaviors
2.4.4.1 H.Insert
2.4.4.2 H.Encaps
2.4.4.3 H.Encaps.L2
2.4.5 SRv6 Instruction Set: Flavors
2.4.5.1 PSP
2.4.5.2 USP
2.4.5.3 USD
2.5 NETWORK PROGRAM EXECUTION: SRv6 PACKET FORWARDING
2.5.1 Local SID Table
2.5.2 Packet Forwarding Process
2.5.2.1 Step 1: Processing on SRv6 Source Node A
2.5.2.2 Step 2: Processing on Endpoint Node B
2.5.2.3 Step 3: Processing on Transit Node C
2.5.2.4 Step 4: Processing on Endpoint Node D
2.5.2.5 Step 5: Processing on Transit Node E
2.5.2.6 Step 6: Processing on Endpoint Node F
2.6 ADVANTAGES OF SRv6 NETWORK PROGRAMMING
2.6.1 Superior Backward Compatibility and Smooth Evolution
2.6.2 High Scalability and Simple Deployment in Cross-Domain Scenarios
2.6.3 Networking Programming for Building Intelligent Networks
2.6.4 All Things Connected through an E2E Network
2.7 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 3 ◾ Basic Protocols for SRv6
3.1 IS-IS EXTENSIONS
3.1.1 IS-IS SRv6 Fundamentals
3.1.2 IS-IS Extensions for SRv6
3.1.2.1 SRv6 Capabilities Sub-TLV
3.1.2.2 Node MSD Sub-TLV
3.1.2.3 SRv6 Locator TLV
3.1.2.4 SRv6 End SID Sub-TLV
3.1.2.5 SRv6 End.X SID Sub-TLV
3.1.2.6 SRv6 LAN End.X SID Sub-TLV
3.1.2.7 SRv6 SID Structure Sub-Sub-TLV
3.2 OSPFv3 EXTENSIONS
3.2.1 OSPFv3 SRv6 Fundamentals
3.2.2 OSPFv3 Extensions for SR v6
3.2.2.1 SRv6 Capabilities TLV
3.2.2.2 SR Algorithm TLV
3.2.2.3 Node MSD TLV
3.2.2.4 OSPFv3 SRv6 Locator LSA
3.2.2.5 SRv6 Locator TLV
3.2.2.6 SRv6 End SID Sub-TLV
3.2.2.7 SRv6 End.X SID Sub-TLV
3.2.2.8 SRv6 LAN End.X SID Sub-TLV
3.2.2.9 Link MSD Sub-TLV
3.2.2.10 SRv6 SID Structure Sub-Sub-TLV
3.3 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 4 ◾ SRv6 TE
4.1 SR-TE ARCHITECTURE
4.1.1 Traditional MPLS TE Architecture
4.1.2 Centralized SR-TE Architecture
4.2 BGP-LS FOR SRv6
4.2.1 BGP-LS Overview
4.2.2 BGP-LS Extensions for SRv6
4.2.2.1 SRv6 SID NLRI
4.2.2.2 SRv6 SID Information TLV
4.2.2.3 SRv6 Endpoint Function TLV
4.2.2.4 SRv6 BGP Peer Node SID TLV
4.2.2.5 SRv6 SID Structure TLV
4.2.2.6 SRv6 Capabilities TLV
4.2.2.7 SRv6 Node MSD Types
4.2.2.8 SRv6 End.X SID TLV
4.2.2.9 SRv6 LAN End.X SID TLV
4.2.2.10 SRv6 Locator TLV
4.3 PCEP FOR SRv6
4.3.1 PCE Overview
4.3.2 Stateful PCE
4.3.3 PCEP Extensions for SRv6
4.3.3.1 SRv6 PATH-SETUP-TYPE
4.3.3.2 SRv6 PCE Capability Sub-TLV
4.3.3.3 SRv6-ERO Subobject
4.3.3.4 SRv6-RRO Subobject
4.4 SRv6 POLICY
4.4.1 SRv6 Policy Model
4.4.1.1 Keys
4.4.1.2 Candidate Paths
4.4.1.3 Segment Lists
4.4.2 SRv6 Policy Path Computation
4.4.2.1 Manual Configuration
4.4.2.2 Headend Computation
4.4.2.3 Centralized Computation
4.4.3 Traffic Steering into an SRv6 Policy
4.4.3.1 Binding SID-Based Traffic Steering
4.4.3.2 Color-Based Traffic Steering
4.4.3.3 DSCP-Based Traffic Steering
4.4.4 Data Forwarding over an SRv6 Policy
4.4.5 SRv6 Policy Fault Detection
4.4.5.1 SBFD for SRv6 Policy
4.4.5.2 Headend-Based Fault Detection
4.4.6 SRv6 Policy Switchover
4.5 BGP SRv6 POLICY
4.5.1 SRv6 Policy SAFI and NLRI
4.5.2 SR Policy and Tunnel Encaps Attribute
4.5.3 Binding SID Sub-TLV
4.5.4 Preference Sub-TL V
4.5.5 Segment List Sub-TLV
4.5.6 Weight Sub-TLV
4.5.7 Segment Sub-TLV
4.5.8 Policy Priority Sub-TLV
4.5.9 Policy Name Sub-TLV
4.6 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 5 ◾ SRv6 VPN
5.1 VPN OVERVIEW
5.1.1 Basic VPN Model
5.1.2 VPN Service Types
5.1.2.1 L3VPN
5.1.2.2 L2VPN and EVPN
5.2 SRv6 VPN PROTOCOL EXTENSIONS
5.2.1 SRv6 Services TLV
5.2.2 SRv6 SID Information Sub-TLV
5.2.3 SRv6 SID Structure Sub-Sub-TLV
5.3 SRv6 L3VPN
5.3.1 Principles of L3VPN over SRv6 BE
5.3.1.1 Workflow of L3VPN over SRv6 BE in the Control Plane
5.3.1.2 Workflow of L3VPN over SRv6 BE in the Forwarding Plane
5.3.2 Principles of L3VPN over SRv6 TE
5.3.2.1 Workflow of L3VPN over SRv6 Policy in the Control Plane
5.3.2.2 Workflow of L3VPN over SRv6 Policy in the Forwarding Plane
5.4 SRv6 EVPN
5.4.1 Principles of EVPN E-LAN over SRv6
5.4.1.1 MAC Address Learning and Unicast Forwarding
5.4.1.2 Replication List Establishment and BUM Traffic Forwarding
5.4.2 Principles of EVPN E-Line over SRv6
5.4.3 Principles of EVPN L3VPN over SRv6
5.4.4 SRv6 EVPN Protocol Extensions
5.4.4.1 Ethernet A-D Route
5.4.4.2 MAC/IP Advertisement Route
5.4.4.3 IMET Route
5.4.4.4 ES Route
5.4.4.5 IP Prefix Route
5.5 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 6 ◾ SRv6 Reliability
6.1 IP FRR AND E2E PROTECTION
6.1.1 TI-LFA Protection
6.1.1.1 LFA
6.1.1.2 RLFA
6.1.1.3 TI-LFA
6.1.2 SRv6 Midpoint Protection
6.1.3 Egress Protection
6.1.3.1 Anycast FRR
6.1.3.2 Mirror Protection
6.2 MICROLOOP AVOIDANCE
6.2.1 Microloop Cause
6.2.2 SRv6 Local Microloop Avoidance in a Traffic Switchover Scenario
6.2.3 SRv6 Microloop Avoidance in a Traffic Switchback Scenario
6.2.4 SRv6 Remote Microloop Avoidance in a Traffic Switchover Scenario
6.3 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 7 ◾ SRv6 Network Evolution
7.1 CHALLENGES FACED BY SRv6 NETWORK EVOLUTION
7.1.1 Network Upgrade to Support IPv6
7.1.2 SRv6 Compatibility with Legacy Devices
7.1.3 Security Challenges Faced by SRv6
7.2 INCREMENTAL DEPLOYMENT FOR SRv6 NETWORKS
7.2.1 SRv6 Evolution Paths
7.2.2 SRv6 Deployment Process
7.2.3 SRv6 Evolution Practices
7.2.3.1 SRv6 Deployment Practice of China Telecom
7.2.3.2 SRv6 Deployment Practice of China Unicom
7.3 SRv6 COMPATIBILITY WITH LEGACY DEVICES
7.3.1 Using Binding SIDs to Reduce the Depth of the SRv6 SID Stack
7.3.2 Applying FlowSpec to SRv6
7.4 SRv6 NETWORK SECURITY
7.4.1 IPv6 Security Measures
7.4.2 Security Measures for Source Routing
7.4.3 SRv6 Security Solution
7.5 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 8 ◾ SRv6 Network Deployment
8.1 SRv6 SOLUTION
8.1.1 Single-AS Network
8.1.1.1 IP Backbone Network
8.1.1.2 Metro Network
8.1.1.3 Mobile Transport Network
8.1.1.4 Data Center Network
8.1.2 E2E Network
8.1.2.1 Inter-AS VPN
8.1.2.2 Carrier’s Carrier
8.2 IPv6 ADDRESS PLANNING
8.2.1 Principles for IPv6 Address Planning
8.2.2 IPv6 Address Allocation Methods
8.2.3 Hierarchical IPv6 Address Allocation
8.3 SRv6 NETWORK DESIGN
8.3.1 Basic SRv6 Configuration
8.3.2 IGP Design
8.3.3 BGP Design
8.3.4 SRv6 BE Design
8.3.4.1 Locator Route Advertisement
8.3.4.2 IS-IS Route Import and Aggregation
8.3.4.3 SRv6 BE TI-LFA Protection
8.3.5 SRv6 TE Design
8.3.5.1 SRv6 Policy
8.3.5.2 BGP-LS and BGP SRv6 Policy
8.3.5.3 SRv6 Policy Path Computation
8.3.5.4 SRv6 Policy Reliability
8.3.6 VPN Service Design
8.3.6.1 SRv6 EVPN L3VPN
8.3.6.2 SRv6 EVPN E-Line
8.3.6.3 EVPN SRv6 Policy
8.4 EVOLUTION FROM MPLS TO SRv6
8.5 STORIES BEHIND SRv6 DESIGN
REFERENCES
Part III: SRv6 2.0
Chapter 9 ◾ SRv6 OAM and On-Path Network Telemetry
9.1 SRv6 OAM
9.1.1 OAM Overview
9.1.2 SRv6 FM
9.1.2.1 Classic IP Ping
9.1.2.2 SRv6 SID Ping
9.1.2.3 Classic Traceroute
9.1.2.4 SRv6 SID Traceroute
9.1.3 SRv6 PM
9.1.3.1 TWAMP Fundamentals
9.1.3.2 TWAMP-Based Active SRv6 PM
9.1.3.3 Coloring-Based Hybrid SRv6 PM
9.2 ON-PATH NETWORK TELEMETRY
9.2.1 On-Path Network Telemetry Overview
9.2.2 On-Path Network Telemetry Modes
9.2.3 IFIT Architecture and Functions
9.2.3.1 Smart Traffic Selection
9.2.3.2 Efficient Data Sending
9.2.3.3 Dynamic Network Probe
9.2.4 IFIT Encapsulation Mo de
9.2.5 IFIT for SRv6
9.2.5.1 Passport Mode
9.2.5.2 Postcard Mode
9.2.5.3 SRv6 IFIT Encapsulation
9.3 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 10 ◾ SRv6 for 5G
10.1 5G NETWORK EVOLUTION
10.2 SRv6 FOR NETWORK SLICING
10.2.1 5G Network Slicing
10.2.2 Transport Network Slicing Architecture
10.2.3 SRv6-based Network Slicing
10.2.4 Network Slice Scalability
10.2.4.1 Control Plane Scalability of Network Slices
10.2.4.2 Data Plane Scalability of Network Slices
10.3 SRv6 FOR DETNET
10.3.1 5G uRLLC
10.3.1.1 Smart Grid
10.3.1.2 IoV
10.3.1.3 Cloud VR
10.3.2 DetNet Fundamentals
10.3.2.1 Redundancy Protection Fundamentals
10.3.2.2 Deterministic Latency Fundamentals
10.3.3 SRv6-based DetNet
10.3.3.1 SRv6-Based Redundancy Protection
10.3.3.2 SRv6-Based Deterministic Latency
10.4 SRv6 FOR 5G MOBILE NETWORKS
10.4.1 5G Mobile Network Architecture
10.4.2 SRv6 Deployment on a 5G Mobile Network
10.4.3 Key SRv6 Functions on a 5G Mobile Network
10.4.3.1 Args.Mob.Session
10.4.3.2 End.M.GTP6.D/End.M.GTP6.E
10.4.3.3 End.M.GTP4.E
10.4.3.4 End.Limit SID
10.4.4 Control Plane of a 5G Mobile Network
10.5 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 11 ◾ SRv6 for Cloud Services
11.1 SRv6 FOR TELCO CLOUD
11.1.1 Telco Cloud Overview
11.1.2 Telco Cloud Transport Network Architecture
11.1.3 Edge Telco Cloud Architecture
11.1.3.1 NAAF Physical Architecture
11.1.3.2 NAAF Transmission Protocols and Key Technologies
11.2 SRv6 FOR SFC
11.2.1 SFC Overview
11.2.1.1 Transport Network Gi-LAN
11.2.1.2 Multi-tenant Data Center
11.2.2 PBR/NSH-based SFC
11.2.3 SRv6-based SFC
11.2.3.1 Stateless SRv6 SFC
11.2.3.2 Stateful SRv6 SFC
11.3 SRv6 FOR SD-WAN
11.3.1 SD-WAN Overview
11.3.2 SRv6-based SD-WAN
11.3.2.1 Basic SRv6 SD-WAN Networking
11.3.2.2 Control Plane Processing Flow on the SRv6 SD-WAN
11.3.2.3 SRv6 SD-WAN Data Forwarding Process
11.3.2.4 Advantages of the SRv6 SD-WAN Solution
11.4 STORIES BEHIND SRv6 DESIGN
REFERENCES
Chapter 12 ◾ SRv6 Multicast/BIERv6
12.1 OVERVIEW OF MULTICAST TECHNOLOGIES AND SERVICES
12.1.1 PIM
12.1.2 MVPN
12.1.2.1 MVPN Routes
12.1.2.2 MVPN over an mLDP P2MP Tunnel
12.1.2.3 MVPN over an RSVP-TE P2MP Tunnel
12.1.2.4 Advantages of MVPN
12.1.2.5 Disadvantages of MVPN
12.1.3 BIER
12.1.3.1 BIER Working Group Anecdotes
12.2 BIER MULTICAST TECHNOLOGY
12.2.1 Basic Concepts of BIER
12.2.2 BIER Architecture
12.2.2.1 Routing Underlay
12.2.2.2 BIER Layer
12.2.2.3 Multicast Flow Overlay
12.2.3 BIER Forwarding Fundamentals
12.2.3.1 BFR-ID Configuration
12.2.3.2 BIFT Introduction
12.2.3.3 BIFT Establishment
12.2.3.4 BIFT Lookup and Packet Forwarding
12.2.4 BIER Data Plane
12.2.5 BIER Control Plane
12.2.6 MVPN over BIER
12.2.7 Characteristics of BIER
12.3 BIERv6 MULTICAST TECHNOLOGY
12.3.1 Proposal and Design of BIERv6
12.3.2 BIERv6 Fundamentals
12.3.3 BIERv6 Control Plane
12.3.4 MVPN over BIERv6
12.3.5 GTM over BIERv6
12.3.6 Inter-AS Multicast over BIERv6
12.3.7 Characteristics of BIERv6
12.4 OTHER SRv6 MULTICAST TECHNOLOGIES
12.4.1 P2MP Multicast Forwarding Path Establishment Using the Tree SID Solution
12.4.2 Multicast Packet Forwarding Using the Tree SID Solution
12.4.3 Characteristics of the Tree SID Solution
12.5 STORIES BEHIND SRv6 DESIGN
REFERENCES
Part IV: Summary and Future Developments
Chapter 13 ◾ SRv6 Industry and Future
13.1 SRv6 INDUSTRY PROGRESS
13.1.1 SRv6 Standardization Progress
13.1.2 SRv6-Related Products
13.1.3 SRv6 Interoperability Test
13.1.3.1 SRv6 Interoperability Test by the EANTC
13.1.3.2 SRv6 Interoperability Test by China’s Expert Committee of Promoting Large-Scale IPv6 Deployment
13.1.4 Commercial SRv6 Deployment
13.1.5 SRv6 Industrial Activities
13.2 SRv6 EXTENSION HEADER COMPRESSION
13.2.1 Impact of the SRv6 Extension Header Length
13.2.2 SRv6 Extension Header Compression Solutions
13.2.2.1 G-SRv6
13.2.2.2 uSID
13.2.2.3 SRm6
13.2.3 Comparison between SRv6 Extension Header Compression Solutions
13.2.4 Future of SRv6 Extension Header Compression
13.3 APN6
13.3.1 Why APN6
13.3.1.1 Current Carriers’ Pain Points and Requirements
13.3.1.2 Challenges Faced by Traditional Differentiated Service Solutions
13.3.1.3 APN6 Solution
13.3.2 APN6 Framework
13.3.3 APN6 Framework Requirements
13.3.3.1 Requirements for Carrying Application Characteristic Information
13.3.3.2 Requirements for Processing Application-Aware Information
13.3.3.3 Security Requirements
13.3.4 Future of APN6
13.4 FROM SRv6 TO IPv6+
13.5 STORIES BEHIND SRv6 DESIGN
13.5.1 Design of SRv6 Compression: From C-SRH to G-SRH
13.5.2 Design Principle: Internet and Limited Domains
13.5.3 Design Principle: The Greatest Truths Are the Simplest
REFERENCES
POSTFACE: SRv6 PATH
APPENDIX A: IPv6 BASICS
APPENDIX B: IS-IS TLVs
APPENDIX C: OSPFv3 TLVs
APPENDIX D: ACRONYMS AND ABBREVIATIONS