IP Library › Granted Patent US 10,951,512
Granted Patent B2
US 10,951,512 · App. 16/201,411 · Granted Mar 16, 2021

Data forwarding method and device

Inventors: Qiwen Zhong (Shenzhen, CN); Xiaojun Zhang (Shenzhen, CN); Xiaofei Xu (Beijing, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L45/121H04J3/1658H04L7/041H04L45/125H04J2203/0085H04L2007/045
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 10,951,512
App. No.
16/201,411
Granted
Mar 16, 2021
Kind
B2
Abstract

This application discloses a data forwarding method and device. The method includes: obtaining a first data unit sequence stream by using a first logical ingress port, where the first data unit sequence stream includes at least one first data unit; determining, according to a preconfigured mapping relationship between at least one logical ingress port and at least one logical egress port, a first logical egress port corresponding to the first logical ingress port, where the at least one logical ingress port includes the first logical ingress port; adjusting a quantity of idle units in the first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches a rate of the first logical egress port; and sending the adjusted first data unit sequence stream by using the first logical egress port.

Claims (69)

1. A data forwarding method, comprising:

obtaining a first data unit sequence stream by using at least one timeslot of at least one physical ingress interface corresponding to a first logical ingress port, wherein the first data unit sequence stream comprises at least one first data unit, wherein the first data unit sequence stream comprises an idle unit, wherein the idle unit is a 64B/66B idle block;

determining, according to a preconfigured mapping relationship between at least one logical ingress port and at least one logical egress port, a first logical egress port corresponding to the first logical ingress port, wherein the at least one logical ingress port comprises the first logical ingress port;

increasing or decreasing a quantity of idle units in the first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches a rate of the first logical egress port; and

sending the adjusted first data unit sequence stream by using at least one timeslot of at least one physical egress interface corresponding to the first logical egress port.

2. The method according to claim 1 , wherein the mapping relationship between the at least one logical ingress port and the at least one logical egress port comprises at least one of the following mapping relationships:

a one-to-one mapping relationship between a logical ingress port in the at least one logical ingress port and a logical egress port in the at least one logical egress port;

a one-to-many mapping relationship between a logical ingress port in the at least one logical ingress port and a plurality of logical egress ports in the at least one logical egress port; or

a many-to-one mapping relationship between a plurality of logical ingress ports in the at least one logical ingress port and a logical egress port in the at least one logical egress port.

3. The method according to claim 1 , wherein a physical interface corresponding to each logical ingress port in the at least one logical ingress port and a physical interface corresponding to each logical egress port in the at least one logical egress port are the following types of interfaces:

an optical transport network (OTN) interface, a flexible optical transport network (FlexOTN) interface, an Ethernet interface, a flexible Ethernet (FlexE) interface, a common public radio interface (CPRI), a synchronous digital hierarchy (SDH) interface, a fiber channel (FC) interface, or an infinite bandwidth (InfiniBand) interface.

4. The method according to claim 1 , wherein the at least one first data unit comprises at least one of the following data units:

an OTN data unit, a FlexOTN data unit, an Ethernet packet data unit, a FlexE packet data unit, a CPRI data unit, a synchronous digital hierarchy SDH data unit, an FC data unit, or an InfiniBand data unit.

5. The method according to claim 1 , wherein a total bandwidth of the at least one first data unit in the first data unit sequence stream is less than or equal to a saturation bandwidth of the first logical ingress port and is less than or equal to a saturation bandwidth of the first logical egress port.

6. The method according to claim 1 , wherein the first data unit sequence stream is an encoded data unit sequence stream;

wherein the increasing or decreasing the quantity of idle units in the first data unit sequence stream comprises:

decoding the first data unit sequence stream;

adjusting a quantity of idle bytes in a decoded first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches the rate of the first logical egress port; and

encoding the adjusted first data unit sequence stream; and

wherein the sending the adjusted first data unit sequence stream by using the first logical egress port comprises:

sending an adjusted and encoded first data unit sequence stream by using the first logical egress port.

7. The method according to claim 1 , wherein the first data unit sequence stream is an encoded data unit sequence stream; and

wherein the increasing or decreasing the quantity of idle units in the first data unit sequence stream comprises:

adjusting a quantity of encoded idle code elements in the first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches the rate of the first logical egress port.

8. The method according to claim 1 , wherein the method further comprises:

obtaining a second data unit sequence stream by using a second logical ingress port, wherein the second data unit sequence stream comprises at least one second data unit, and each second data unit in the at least one second data unit comprises forwarding decision-making reference information;

determining, according to the forwarding decision-making reference information, a second logical egress port corresponding to each second data unit in the at least one second data unit;

caching each second data unit into a cache queue of the corresponding second logical egress port; and

sending the second data unit in the second data unit sequence stream by using the second logical egress port.

9. The method according to claim 1 , wherein the increasing or decreasing the quantity of idle units in the first data unit sequence stream comprises:

when the first data unit sequence stream comprises no idle unit, increasing the quantity of idle units in the first data unit sequence stream.

10. A data forwarding device, comprising a first logical ingress port, a first logical egress port, and a processor; wherein:

the first logical ingress port is configured to obtain a first data unit sequence stream by using at least one timeslot of at least one physical ingress interface, wherein the first data unit sequence stream comprises at least one first data unit, wherein the first data unit sequence stream comprises an idle unit, wherein the idle unit is a 64B/66B idle block;

the processor is configured to:

determine, according to a preconfigured mapping relationship between at least one logical ingress port and at least one logical egress port, the first logical egress port corresponding to the first logical ingress port, wherein the at least one logical ingress port comprises the first logical ingress port; and

increase or decrease a quantity of idle units in the first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches a rate of the first logical egress port; and

the first logical egress port is configured to send the adjusted first data unit sequence stream by using at least one timeslot of at least one physical egress interface.

11. The device according to claim 10 , wherein the mapping relationship between the at least one logical ingress port and the at least one logical egress port comprises at least one of the following mapping relationships:

a one-to-one mapping relationship between a logical ingress port in the at least one logical ingress port and a logical egress port in the at least one logical egress port;

a one-to-many mapping relationship between a logical ingress port in the at least one logical ingress port and a plurality of logical egress ports in the at least one logical egress port; or

a many-to-one mapping relationship between a plurality of logical ingress ports in the at least one logical ingress port and a logical egress port in the at least one logical egress port.

12. The device according to claim 10 , wherein a physical interface corresponding to each logical ingress port in the at least one logical ingress port and a physical interface corresponding to each logical egress port in the at least one logical egress port are the following types of interfaces:

an optical transport network (OTN) interface, a flexible optical transport network (FlexOTN) interface, an Ethernet interface, a flexible Ethernet (FlexE) interface, a common public radio interface (CPRI), a synchronous digital hierarchy (SDH) interface, a fiber channel (FC) interface, or an infinite bandwidth (InfiniBand) interface.

13. The device according to claim 10 , wherein the at least one first data unit comprises at least one of the following data units:

an OTN data unit, a FlexOTN data unit, an Ethernet packet data unit, a FlexE packet data unit, a CPRI data unit, a synchronous digital hierarchy SDH data unit, an FC data unit, or an InfiniBand data unit.

14. The device according to claim 10 , wherein a total bandwidth of the at least one first data unit in the first data unit sequence stream is less than or equal to a saturation bandwidth of the first logical ingress port and is less than or equal to a saturation bandwidth of the first logical egress port.

15. The device according to claim 10 , wherein the first data unit sequence stream is an encoded data unit sequence stream;

wherein the processor is specifically configured to:

decode the first data unit sequence stream;

increase or decrease the quantity of idle bytes in a decoded first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches the rate of the first logical egress port; and

encode the adjusted first data unit sequence stream; and

wherein the first logical egress port is further configured to:

send an adjusted and encoded first data unit sequence stream.

16. The device according to claim 10 , wherein the first data unit sequence stream is an encoded data unit sequence stream; and

wherein the processor is specifically configured to:

increase or decrease the quantity of encoded idle code elements in the first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches the rate of the first logical egress port.

17. The device according to claim 10 , wherein the device further comprises a second logical ingress port and a second logical egress port; wherein:

the second logical ingress port is configured to obtain a second data unit sequence stream, wherein the second data unit sequence stream comprises at least one second data unit, and each second data unit in the at least one second data unit comprises forwarding decision-making reference information;

the processor is further configured to:

determine, according to the forwarding decision-making reference information, a second logical egress port corresponding to each second data unit in the at least one second data unit sequence stream;

cache each second data unit into a cache queue of the corresponding second logical egress port; and

the second logical egress port is configured to send the second data unit in the second data unit sequence stream.

18. The device according to claim 10 , wherein the processor is further configured to:

when the first data unit sequence stream comprises no idle unit, increase the quantity of idle units in the first data unit sequence stream.

19. A non-transitory computer readable medium storing program code thereon for data forwarding, the program code comprising instructions for executing a method that comprises:

obtaining a first data unit sequence stream by using at least one timeslot of at least one physical ingress interface corresponding to a first logical ingress port, wherein the first data unit sequence stream comprises at least one first data unit, wherein the first data unit sequence stream comprises an idle unit, wherein the idle unit is a 64B/66B idle block;

determining, according to a preconfigured mapping relationship between at least one logical ingress port and at least one logical egress port, a first logical egress port corresponding to the first logical ingress port, wherein the at least one logical ingress port comprises the first logical ingress port;

increasing or decreasing a quantity of idle units in the first data unit sequence stream, so that a rate of an adjusted first data unit sequence stream matches a rate of the first logical egress port; and

sending the adjusted first data unit sequence stream by using at least one timeslot of at least one physical egress interface corresponding to the first logical egress port.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2020
From: ZHONG, QIWEN; ZHANG, XIAOJUN; XU, XIAOFEI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 052445/0697 →
Priority Claims (1)
CN 201610368270.7 · May 27, 2016 · national
Continuity (2)
Continuation PCTCN2017080893 · Apr 18, 2017
Related Publication 20190097914A1 · Mar 28, 2019