IP Library Granted Patent US 12,641,016
Granted Patent B2
US 12,641,016 · App. 18/165,106 · Granted May 26, 2026

Adding network services to MPLS network

Inventors: Haoyu Song (San Jose, CA); Zhenbin Li (Beijing, CN); Tianran Zhou (Beijing, CN); James N. Guichard (Hollis, NH); Stewart Frederick Bryant (Redhill, GB); Andrew G. Malis (Andover, MA)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L45/507H04L45/16H04L69/22
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,641,016
App. No.
18/165,106
Granted
May 26, 2026
Kind
B2
Abstract

Described herein are methods and devices (e.g., routers) that add network services to a multiprotocol label switching (MPLS) network. A method can include a network device of the MPLS network receiving a packet, the network device of the MPLS network modifying the packet by adding multiple MPLS extension headers, wherein each of the multiple MPLS extension headers added to the packet is used to support a different one of multiple network services for the MPLS network, and the network device of the MPLS network forwarding the packet as modified to another network device of the MPLS network.

Claims (62)

1 . A method for modifying a packet to enable multiple network services to be implemented by a multiprotocol label switching (MPLS) network, the method comprising:

a network device of the MPLS network receiving a packet;

the network device of the MPLS network modifying the packet by adding multiple MPLS extension headers, wherein each of the multiple MPLS extension headers added to the packet is used to implement a different one of the multiple network services for the MPLS network including at least one of Network Service Header (NSH), In-situ Operations, Administration, and Maintenance (IOAM), and network programming service; and

the network device of the MPLS network forwarding the packet as modified to another network device of the MPLS network.

2 . The method of claim 1 , wherein the multiple network services include one or more of the following:

a segment routing (SR) service; or

an extension header label (EHL) which comprises one of sixteen special-purpose reserved label values.

3 . The method of claim 1 , wherein the multiple network services include two or more of the following:

the NSH service;

the IOAM service;

an SR service; or

a network programming service.

4 . The method of claim 1 , further comprising:

the network device adding an indication within an MPLS label stack of the packet that one or more MPLS extension headers have been added to the packet.

5 . The method of claim 4 , wherein:

the MPLS label stack includes a plurality of MPLS label stack entries; and

the indication within the MPLS label stack that one or more MPLS extension headers have been added to the packet comprises an extension header label (EHL) within a label value field within one of the plurality of MPLS label stack entries included in the MPLS label stack.

6 . The method of claim 5 , wherein the EHL comprises one of sixteen special-purpose label values that are reserved by the MPLS working group of the Internet Engineering Task Force (IETF).

7 . The method of claim 5 , wherein another one of the plurality of MPLS label stack entries included within the MPLS label stack includes a special-purpose label value of 15, which is reserved by the MPLS working group of the Internet Engineering Task Force (IETF) to indicate that an Extension Label is included in the MPLS label stack and enables the network device to identify the EHL.

8 . The method of claim 1 , further comprising:

the network device adding a header of the extension headers;

wherein the header of the extension headers added by the network device includes an extension header count (EH Count) field that specifies a total number of the multiple MPLS extension headers included in the packet as modified.

9 . The method of claim 8 , wherein the header of the extension headers added by the network device also includes a total length field that specifies a total length of the multiple MPLS extension headers included in the packet as modified.

10 . The method of claim 1 , wherein each MPLS extension header of the multiple MPLS extension headers added by the network device includes a field that specifies a type of the next header included in the packet as modified, and a field that specifies a length of the MPLS extension header.

11 . A network device comprising:

a network interface configured to receive and forward packets over a multiprotocol label switching (MPLS) network;

a memory comprising instructions; and

one or more processors in communication with the memory and with the network interface, wherein the one or more processors execute the instructions to:

modify a packet received via the network interface by adding multiple MPLS extension headers, wherein each of the multiple MPLS extension headers added to the packet implements a different one of multiple network services for the MPLS network including at least one of Network Service Header (NSH), In-situ Operations, Administration, and Maintenance (IOAM), and network programming service; and

forward the packet as modified to another network device of the MPLS network.

12 . The network device of claim 11 , wherein the multiple network services include one or more of the following:

a segment routing (SR) service; or

an extension header label (EHL) which comprises one of sixteen special-purpose reserved label values.

13 . The network device of claim 11 , wherein the multiple network services include two or more of the following:

the NSH service;

the IOAM service;

an SR service; or

a network programming service.

14 . The network device of claim 11 , wherein the one or more processors execute the instructions to also add an indication within an MPLS label stack of the packet that one or more MPLS extension headers have been added to the packet.

15 . The network device of claim 14 , wherein:

the MPLS label stack includes a plurality of MPLS label stack entries; and

the indication within the MPLS label stack that one or more MPLS extension headers have been added to the packet comprises an extension header label (EHL) within a label value field within one of the plurality of MPLS label stack entries included in the MPLS label stack.

16 . The network device of claim 15 , wherein the EHL comprises one of sixteen special-purpose label values that are reserved by the MPLS working group of the Internet Engineering Task Force (IETF).

17 . The network device of claim 15 , wherein another one of the plurality of MPLS label stack entries included within the MPLS label stack includes a special-purpose label value of 15, which is reserved by the MPLS working group of the Internet Engineering Task Force (IETF) to indicate that an Extension Label is included in the MPLS label stack and enables the network device to identify the EHL.

18 . The network device of claim 11 , wherein:

the one or more processors execute the instructions to also add a header of the extension headers; and

wherein the header of the extension headers includes an extension header count (EH Count) field that specifies a total number of the multiple MPLS extension included in the packet as modified.

19 . The network device of claim 18 , wherein the header of the extension headers also includes a total length field that specifies a total length of the multiple MPLS extension headers included in the packet as modified.

20 . The network device of claim 11 , wherein each MPLS extension header of the multiple MPLS extension headers includes a field that specifies a type of the next header included in the packet as modified, and a field that specifies a length of the MPLS extension header.

21 . A non-transitory computer-readable medium storing computer instructions that when executed by one or more processors of a network device of a multiprotocol label switching (MPLS) network cause the network device to perform the steps of:

modifying a packet received by the network device by adding multiple MPLS extension headers, wherein each of the multiple MPLS extension headers added to the packet is used to implement a different one of multiple network services for the MPLS network including at least one of Network Service Header (NSH), In-situ Operations, Administration, and Maintenance (IOAM), and network programming service; and

forwarding the packet as modified to another network device of the MPLS network.

22 . The non-transitory computer-readable medium of claim 21 , wherein the multiple network services include one or more of the following:

a segment routing (SR) service; or

an extension header label (EHL) which comprises one of sixteen special-purpose reserved label values.

23 . The non-transitory computer-readable medium of claim 21 , wherein the instructions also cause the network device to perform the step of:

adding an indication within an MPLS label stack of the packet that one or more MPLS extension headers have been added to the packet.

24 . The non-transitory computer-readable medium of claim 23 , wherein:

the MPLS label stack includes a plurality of MPLS label stack entries; and

the indication within the MPLS label stack that one or more MPLS extension headers have been added to the packet comprises an extension header label (EHL) within a label value field within one of the plurality of MPLS label stack entries included in the MPLS label stack.

25 . The non-transitory computer-readable medium of claim 24 , wherein the EHL comprises one of sixteen special-purpose label values that are reserved by the MPLS working group of the Internet Engineering Task Force (IETF).

26 . The non-transitory computer-readable medium of claim 24 , wherein another one of the plurality of MPLS label stack entries included within the MPLS label stack includes a special-purpose label value of 15, which is reserved by the MPLS working group of the Internet Engineering Task Force (IETF) to indicate that an Extension Label is included in the MPLS label stack and enables the network device to identify the EHL.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2023
From: SONG, HAOYU; LI, ZHENBIN; ZHOU, TIANRAN; GUICHARD, JAMES N.; BRYANT, STEWART FREDERICK; MALIS, ANDREW G.
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 062620/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2023
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 062620/0041 →
Continuity (4)
Continuation 17147208 · Jan 12, 2021
Continuation PCTCN2019095180 · Jul 9, 2019
Provisional Application 62697783 · Jul 13, 2018
Related Publication 20230188462A1 · Jun 15, 2023
References Cited (90)
US 6374303B1 · Armitage et al. · 2002 [cited by applicant]
US 8144710B2 · McGuire et al. · 2012 [cited by applicant]
US 9049145B2 · Li et al. · 2015 [cited by applicant]
US 9350605B2 · Bhattacharya et al. · 2016 [cited by applicant]
US 9749227B2 · Yost et al. · 2017 [cited by applicant]
US 10348648B2 · Pignataro et al. · 2019 [cited by applicant]
US 10601961B2 · Patel et al. · 2020 [cited by applicant]
US 10616063B1 · Dutta · 2020 [cited by applicant]
US 10931580B2 · Zheng et al. · 2021 [cited by applicant]
US 11582148B2 · Song · 2023 [cited by examiner]
US 20020152321A1 · Le et al. · 2002 [cited by applicant]
US 20020176450A1 · Kong et al. · 2002 [cited by applicant]
US 20020186692A1 · Chang et al. · 2002 [cited by applicant]
US 20030097481A1 · Richter · 2003 [cited by applicant]
US 20040223502A1 · Wybenga · 2004 [cited by examiner]
US 20050232277A1 · See · 2005 [cited by applicant]
US 20080025308A1 · Morgan et al. · 2008 [cited by applicant]
US 20080159288A1 · Nagarajan · 2008 [cited by examiner]
US 20100226315A1 · Das et al. · 2010 [cited by applicant]
US 20120069845A1 · Carney et al. · 2012 [cited by applicant]
US 20120069847A1 · Saad et al. · 2012 [cited by applicant]
US 20120219003A1 · Cui et al. · 2012 [cited by applicant]
US 20130336315A1 · Guichard et al. · 2013 [cited by applicant]
US 20140226662A1 · Frost et al. · 2014 [cited by applicant]
US 20140369356A1 · Bryant · 2014 [cited by examiner]
US 20150103691A1 · Bhattacharya et al. · 2015 [cited by applicant]
US 20150109902A1 · Kumar et al. · 2015 [cited by applicant]
US 20150256456A1 · Previdi et al. · 2015 [cited by applicant]
US 20160044532A1 · Champel · 2016 [cited by applicant]
US 20160099864A1 · Akiya et al. · 2016 [cited by applicant]
US 20160294987A1 · Tian · 2016 [cited by examiner]
US 20160315921A1 · Dara et al. · 2016 [cited by applicant]
US 20170250907A1 · Pignataro et al. · 2017 [cited by applicant]
US 20170289032A1 · Guichard et al. · 2017 [cited by applicant]
US 20170302571A1 · Frost et al. · 2017 [cited by applicant]
US 20170310594A1 · Kotha et al. · 2017 [cited by applicant]
US 20170324654A1 · Previdi et al. · 2017 [cited by applicant]
US 20170373990A1 · Jeuk et al. · 2017 [cited by applicant]
US 20180062984A1 · Hill et al. · 2018 [cited by applicant]
US 20180375763A1 · Brissette et al. · 2018 [cited by applicant]
US 20190036818A1 · Nainar et al. · 2019 [cited by applicant]
US 20190149449A1 · Morris · 2019 [cited by applicant]
US 20200244582A1 · Li · 2020 [cited by examiner]
US 20200296033A1 · Hill et al. · 2020 [cited by applicant]
US 20200322353A1 · Bhandari et al. · 2020 [cited by applicant]
US 20200358698A1 · Song et al. · 2020 [cited by applicant]
US 20200382379A1 · Bashandy et al. · 2020 [cited by applicant]
US 20200382415A1 · Chunduri et al. · 2020 [cited by applicant]
US 20210021513A1 · Filsfils et al. · 2021 [cited by applicant]
US 20210083977A1 · Ren et al. · 2021 [cited by applicant]
US 20210135986A1 · Song et al. · 2021 [cited by applicant]
US 20210203599A1 · Guichard et al. · 2021 [cited by applicant]
US 20210306257A1 · Dutta · 2021 [cited by examiner]
US 20230155930A1 · Dong · 2023 [cited by examiner]
US 20250133014A1 · Huang · 2025 [cited by examiner]
CN 1780259A · 2006 [cited by applicant]
CN 1878165A · 2006 [cited by applicant]
CN 101257455A · 2008 [cited by applicant]
CN 101588367A · 2009 [cited by applicant]
CN 101636973A · 2010 [cited by applicant]
CN 102271079A · 2011 [cited by applicant]
CN 102577260A · 2012 [cited by applicant]
CN 102598601A · 2012 [cited by applicant]
CN 103503387A · 2014 [cited by applicant]
CN 104980350A · 2015 [cited by applicant]
CN 106464542A · 2017 [cited by applicant]
CN 106656781A · 2017 [cited by applicant]
WO WO2012055168A1 · 2012 [cited by applicant]
WO WO2020011143A1 · 2020 [cited by applicant]
RFC 7274: “Allocating and Retiring Special-Purpose MPLS Labels” by K. Kompella, L. Andersson, A. Farrel; pp. 1-11 (Year: 2014). [cited by examiner]
International Search Report & The Written Opinion of the International Searching Authority dated Oct. 9, 2019, International Application No. PCT/CN2019/095180. [cited by applicant]
English Abstract of CN Publication No. CN101588367 published Nov. 25, 2009. [cited by applicant]
Liu Hong, PTN Technology Helps Xiamen Radio and Television Group Customers Access, Telecommunications Technology, 2013, Issue 05, 4 pages. [cited by applicant]
J. Brzozowski et al, IPv6 Spring Use Cases draft-ietf-spring-ipv6-use-cases-07, Jul. 22, 2016, 13 pages. [cited by applicant]
Chinese Office Action dated Jun. 10, 2021, Chinese Application No. 201980045370.8. [cited by applicant]
Notice of Allowance dated Aug. 11, 2021, U.S. Appl. No. 16/940,323, filed Jul. 27, 2020. [cited by applicant]
Request for Comments: 4659, J. De Clercq et al, BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN, Sep. 2006, total 18 pages. [cited by applicant]
Request for Comments: 4901, J. Ash, Ed. et al, Protocol Extensions for Header Compression over MPLS, Jun. 2007, total 34 pages. [cited by applicant]
Xiao Zhongjie et al, Study of Label Stack Applications in MPLS, 2004, total 3 pages. [cited by applicant]
Notice of Allowance daled Dec. 3, 2021, Chinese Patent Application No. 201980045370.8. [cited by applicant]
Chinese Office Action dated Nov. 21, 2022, Chinese Patent Application No. 202110118938.8. [cited by applicant]
Non-final Office Action dated Apr. 26, 2022, U.S. Appl. No. 17/147,208, filed Jan. 12, 2021. [cited by applicant]
Response to Office Action dated Jul. 6, 2022, U.S. Appl. No. 17/147,208, filed Jan. 12, 2021. [cited by applicant]
Final Office Action dated Jul. 29, 2022, U.S. Appl. No. 17/147,208, filed Jan. 12, 2021. [cited by applicant]
Response to Office Action dated Sep. 28, 2022, U.S. Appl. No. 17/147,208, filed Jan. 12, 2021. [cited by applicant]
Notice of Allowance dated Oct. 13, 2022, U.S. Appl. No. 17/147,208, filed Jan. 12, 2021. [cited by applicant]
P. Quinn et al: “RFC 8300-Network Service Header (NSH)”, XP055733920, Internet Engineering Task Force (IETF), Jan. 1, 2018, 40 pages. [cited by applicant]
Office Action dated Jun. 5, 2023, European Patent Application No. 19833705.7. [cited by applicant]
Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., “Network Service Header (NSH)”, RFC 8300, DOI 10.17487/RFC8300 Jan. 2018 (Year: 2018). [cited by applicant]
H. Song, Ed. et al. Segment Routing with MPLS Extension Header draft-song-segment-routing-mpls-extension-header-00, Network Working Group Internet-Draft Intended status: Standards Track, May 10, 2018, total 8 pages. [cited by applicant]