IP Library › Granted Patent US 12,021,753
Granted Patent B2
US 12,021,753 · App. 17/725,776 · Granted Jun 25, 2024

Preserving quality of service (QoS) markings for downstream flows

Inventor: Ian G. Wheelock (Cork, IE)
Assignee: ARRIS ENTERPRISES LLC
H04L47/24H04L47/43H04L2212/00
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,021,753
App. No.
17/725,776
Granted
Jun 25, 2024
Kind
B2
Abstract

A network device receives an IPv4-in-IPv6 packet. An IPv6 header is removed. A first DSCP value in a TC field and a second DSCP value in a ToS field is stored in a database. The IPv4 packet is forwarded upstream and a return IPv4 packet is received. The returned IPv4 packet is encapsulated to form an IPv6 packet. The first DSCP value and the second DSCP value are retrieved from the database. Based on the at least one policy, the second DSCP value is inserted into an IPv4 ToS field and into an IPv6 TC field, the retrieved second DSCP value is inserted into the IPv4 ToS field and the first DSCP value is inserted into the IPv6 TC field, or the first DSCP value is inserted into the IPv6 TC field and into the IPv4 ToS field. The network device then forwards the IPv6 packet downstream.

Claims (55)

1. A network device, comprising:

a memory storing computer-readable instructions and at least one policy for preserving Quality of Service (QoS) markings; and

a processor configured to execute the computer-readable instructions to:

receive, over an Internet Protocol version 4-in-Internet Protocol version 6 (IPv4-in-IPv6) tunnel of service provider network, a first IPv6 packet encapsulating a first IPv4 packet;

remove a first IPv6 header from the first IPv6 packet to leave the first IPv4 packet and store an IPv6 record including a first Differentiated Services Code Point (DSCP) value in a Traffic Class (TC) field from the first IPv6 header in a database;

obtain a first IPv4 header from the first IPv4 packet and store an IPv4 record including a second DSCP value in a Type of Service (ToS) field from the first IPv4 header in the database; and

forward the first IPv4 packet to a destination IPv4 network;

receive a responding IPv4 packet having a second IPv4 header;

encapsulate the responding IPv4 packet with a second IPv6 header to form a second IPv6 packet encapsulating the responding IPv4 packet;

retrieve the IPv6 record including the first DSCP value and the IPv4 record including the second DSCP value from the database;

based on the at least one policy, perform one of:

inserting the retrieved second DSCP value into an IPv4 ToS field in the second IPv4 header of the responding IPv4 packet and into an IPv6 TC field in the second IPv6 header;

inserting the retrieved second DSCP value into the IPv4 ToS field in the second IPv4 header of the responding IPv4 packet and inserting the retrieved first DSCP value into the IPv6 TC field in the second IPv6 header; and

inserting the retrieved first DSCP value into the IPv6 TC field in the second IPv6 header and into the IPv4 ToS field in the second IPv4 header of the responding IPv4 packet; and

forward the second IPv6 packet encapsulating the responding IPv4 packet downstream.

2. The network device of claim 1 , wherein the IPv6 packet encapsulating the responding IPv4 packet is classified using the first DSCP value in the second IPv6 header.

3. The network device of claim 1 , wherein the first IPv6 header includes a Flow Label field value, the processor is further configured to store the Flow Label field value in the IPv6 record in the database, and retrieve the Flow Label field value from the database and insert the Flow Label field value into the second IPv6 header of the second IPv6 packet encapsulating the responding IPv4 packet, the Flow Label field value of the second IPv6 header used to classify the second IPv6 packet.

4. The network device of claim 1 , wherein the processor stores the IPv6 record including the first DSCP value in the TC field in a Network Address Translation (NAT) database.

5. The network device of claim 1 , wherein the processor stores the IPv4 record including the second DSCP value in the ToS field in a Network Address Translation (NAT) database.

6. The network device of claim 1 , wherein the processor performs one of copying ECN bits from the IPv6 TC field to a corresponding position in the IPv4 ToS field of the first IPv4 packet received at an egress point of an upstream IPv6 tunnel before being forwarded to the destination IPv4 network and copying ECN bits from the IPv4 ToS field to a corresponding position in the IPv6 TC field of a second IPv6 packet before being forwarded to an ingress point of a downstream IPv6 tunnel.

7. A method of preserving Quality of Service (QoS) markings for downstream flows, comprising:

receiving, over an Internet Protocol version 4-in-Internet Protocol version 6 (IPv4-in-IPv6) tunnel of service provider network, a first IPv6 packet encapsulating a first IPv4 packet;

removing a first IPv6 header from the first IPv6 packet to leave the first IPv4 packet and storing an IPv6 record including a first Differentiated Services Code Point (DSCP) value in a Traffic Class (TC) field from the first IPv6 header in a database;

obtaining a first IPv4 header from the first IPv4 packet and storing an IPv4 record including a second DSCP value in a Type of Service (ToS) field from the first IPv4 header in the database; and

forwarding the first IPv4 packet to a destination IPv4 network;

receiving a responding IPv4 packet having a second IPv4 header;

encapsulating the responding IPv4 packet with a second IPv6 header to form a second IPv6 packet encapsulating the responding IPv4 packet;

retrieving the IPv6 record including the first DSCP value and the IPv4 record including the second DSCP value from the database;

based on at least one policy, performing one of:

inserting the retrieved second DSCP value into an IPv4 ToS field in the second IPv4 header of the responding IPv4 packet and into an IPv6 TC field in the second IPv6 header;

inserting the retrieved second DSCP value into the IPv4 ToS field in the second IPv4 header of the responding IPv4 packet and inserting the retrieved first DSCP value into the IPv6 TC field in the second IPv6 header; and

inserting the retrieved first DSCP value into the IPv6 TC field in the second IPv6 header and into the IPv4 ToS field in the second IPv4 header of the responding IPv4 packet; and

forwarding the second IPv6 packet encapsulating the responding IPv4 packet downstream.

8. The method of claim 7 , further comprising using the first DSCP value in the second IPv6 header to classify the IPv6 packet encapsulating the responding IPv4 packet.

9. The method of claim 8 , wherein the storing the IPv6 record including the first DSCP value in the TC field from the first IPv6 header in a database further comprises storing a Flow Label field value from the first IPv6 header in the database, the method further comprising retrieving the Flow Label field value from the database, inserting the Flow Label field value into the second IPv6 header of the second IPv6 packet encapsulating the responding IPv4 packet, and using the Flow Label field value of the second IPv6 header to classify the second IPv6 packet.

10. The method of claim 7 , wherein the storing the IPv6 record including the first DSCP value in a database further comprises storing the IPv6 record including the first DSCP value in Network Address Translation (NAT) database.

11. The method of claim 7 , wherein the storing the IPv4 record including the second DSCP value in a database further comprises storing the IPv4 record including the second DSCP value in a Network Address Translation (NAT) database.

12. The method of claim 7 further comprising performing one of copying ECN bits from the IPv6 TC field to a corresponding position in the IPv4 ToS field of the first IPv4 packet received at an egress point of an upstream IPv6 tunnel before being forwarded to the destination IPv4 network and copying ECN bits from the IPv4 ToS field to a corresponding position in the IPv6 TC field of a second IPv6 packet before being forwarded to an ingress point of a downstream IPv6 tunnel.

13. A non-transitory computer-readable media having computer-readable instructions stored thereon, which when executed by a processor causes the processor to perform operations comprising:

receiving, over an Internet Protocol version 4-in-Internet Protocol version 6 (IPv4-in-IPv6) tunnel of service provider network, a first IPv6 packet encapsulating a first IPv4 packet;

removing a first IPv6 header from the first IPv6 packet to leave the first IPv4 packet and storing an IPv6 record including a first Differentiated Services Code Point (DSCP) value in a Traffic Class (TC) field from the first IPv6 header in a database;

obtaining a first IPv4 header from the first IPv4 packet and storing an IPv4 record including a second DSCP value in a Type of Service (ToS) field from the first IPv4 header in the database; and

forwarding the first IPv4 packet to a destination IPv4 network;

receiving a responding IPv4 packet having a second IPv4 header;

encapsulating the responding IPv4 packet with a second IPv6 header to form a second IPv6 packet encapsulating the responding IPv4 packet;

retrieving the IPv6 record including the first DSCP value and the IPv4 record including the second DSCP value from the database; and

based on at least one policy, performing one of:

inserting the retrieved second DSCP value into an IPv4 ToS field in the second IPv4 header of the responding IPv4 packet and into an IPv6 TC field in the second IPv6 header;

inserting the retrieved second DSCP value into the IPv4 ToS field in the second IPv4 header of the responding IPv4 packet and inserting the retrieved first DSCP value into the IPv6 TC field in the second IPv6 header; and

inserting the retrieved first DSCP value into the IPv6 TC field in the second IPv6 header and into the IPv4 ToS field in the second IPv4 header of the responding IPv4 packet; and

forward the second IPv6 packet encapsulating the responding IPv4 packet downstream.

14. The non-transitory computer-readable media of claim 13 , further comprising using the first DSCP value in the second IPv6 header to classify the IPv6 packet encapsulating the responding IPv4 packet.

15. The non-transitory computer-readable media of claim 13 , wherein the storing the IPv6 record including the first DSCP value in the TC field from the first IPv6 header in a database further comprises storing a Flow Label field value from the first IPv6 header in the database, the method further comprising retrieving the Flow Label field value from the database, inserting the Flow Label field value into the second IPv6 header of the second IPv6 packet encapsulating the responding IPv4 packet, and using the Flow Label field value of the second IPv6 header to classify the second IPv6 packet.

16. The non-transitory computer-readable media of claim 13 , wherein the storing the IPv6 record including the first DSCP value in the TC field in a database further comprises storing the IPv6 record including the first DSCP value in the TC field in Network Address Translation (NAT) database, and wherein the storing the IPv4 record including the second DSCP value in the ToS field in a database further comprises storing the IPv4 record including the second DSCP value in the ToS field in a Network Address Translation (NAT) database.

17. The non-transitory computer-readable media of claim 13 further comprising performing one of copying ECN bits from the IPv6 TC field to a corresponding position in the IPv4 ToS field of the first IPv4 packet received at an egress point of an upstream IPv6 tunnel before being forwarded to the destination IPv4 network and copying ECN bits from the IPv4 ToS field to a corresponding position in the IPv6 TC field of a second IPv6 packet before being forwarded to an ingress point of a downstream IPv6 tunnel.

Assignments (3)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2022
From: WHEELOCK, IAN G.
To: ARRIS ENTERPRISES LLC
Reel/Frame 059666/0443 →
Continuity (2)
Provisional Application 63188637 · May 14, 2021
Related Publication 20220368640A1 · Nov 17, 2022