+

CN107404440B - Forwarding table item sending method, message forwarding method and device - Google Patents

Forwarding table item sending method, message forwarding method and device Download PDF

Info

Publication number
CN107404440B
CN107404440B CN201610339670.5A CN201610339670A CN107404440B CN 107404440 B CN107404440 B CN 107404440B CN 201610339670 A CN201610339670 A CN 201610339670A CN 107404440 B CN107404440 B CN 107404440B
Authority
CN
China
Prior art keywords
flow
service
information
forwarding
ttp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610339670.5A
Other languages
Chinese (zh)
Other versions
CN107404440A (en
Inventor
党兵
马鹏飞
倪辉
郭文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610339670.5A priority Critical patent/CN107404440B/en
Priority to PCT/CN2017/082032 priority patent/WO2017198052A1/en
Publication of CN107404440A publication Critical patent/CN107404440A/en
Application granted granted Critical
Publication of CN107404440B publication Critical patent/CN107404440B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种转发表项发送方法、报文转发方法及装置,用于解决现有技术中OpenFlow协议定义的组表中无法区分其所表述的业务,使得组表在OpenFlow协议中应用不灵活的问题。方法包括:控制器获取第一转发表项,所述第一转发表项包括组表信息,所述组表信息中包括用于指示所述第一转发表项对应的业务流的业务类型的业务类型信息;所述控制器将所述第一转发表项发送给所述第一转发设备。

Figure 201610339670

The embodiments of the present application provide a method for sending a forwarding table entry, a method and a device for forwarding a message, which are used to solve the problem that the services represented by the group table defined by the OpenFlow protocol in the prior art cannot be distinguished, so that the group table in the OpenFlow protocol cannot be distinguished. Application inflexible problem. The method includes: the controller obtains a first forwarding entry, the first forwarding entry includes group table information, and the group table information includes a service used to indicate a service type of a service flow corresponding to the first forwarding entry Type information; the controller sends the first forwarding entry to the first forwarding device.

Figure 201610339670

Description

Forwarding table item sending method, message forwarding method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a forwarding table entry sending method, a packet forwarding method, and an apparatus.
Background
A Software Defined Network (SDN) is a Network architecture with separate control function and forwarding function. The SDN is divided into a control plane and a data plane, wherein the control plane is responsible for control management of the whole network, and the data plane forwards data according to rules specified by the control plane. The control device of the control plane is called a central controller (controller for short), and the forwarding device of the data plane may be a network switch (switch for short). The controller is a core device of the whole SDN and decides the correct forwarding of the flow on the data level. The switch implements the processing of the data packet according to the flow table sent by the controller, such as forwarding and discarding of the data packet.
The open flow (OpenFlow) protocol is a forwarding protocol followed by data forwarding in the SDN architecture. The Openflow technology realizes message forwarding through a flow table. The flow Table in a broad sense includes a flow Table and a Group Table (Group Table) defined in the OpenFlow protocol. The flow table defined in the OpenFlow protocol includes a match (match) and an Instruction (Instruction)/Action (Action).
The group table defined in the OpenFlow protocol is an efficient way for the OpenFlow protocol to specify the same set of operations to be performed in multiple traffic flows for a packet. Several flow table entries point to a group table. Each group table includes a plurality of fields, such as those shown in Table 1. With the group table, each traffic flow can be divided into corresponding groups, and the execution of action instructions can be for all packets belonging to the same group identifier or specify that only certain specific sets of operations in the action bucket are to be performed. Where the group type specifies whether all instructions in the action bucket will be executed.
TABLE 1
Figure BDA0000994583810000021
At present, services expressed by a group table defined by an OpenFlow protocol cannot be distinguished, so that the application of the group table in OpenFlow is not flexible enough.
Disclosure of Invention
The embodiment of the application provides a forwarding table item sending method, a message forwarding method and a device, and is used for solving the problem that services expressed by a group table defined by the OpenFlow protocol cannot be distinguished in the group table, so that the group table is not flexible to apply in OpenFlow.
In a first aspect, an embodiment of the present application provides a method for sending a forwarding entry, where the method includes:
the method comprises the steps that a controller obtains a first forwarding table item, wherein the first forwarding table item comprises group table information, and the group table information comprises service type information used for indicating the service type of a service flow corresponding to the first forwarding table item; and the controller sends the first forwarding table entry to the first forwarding device. By adding the service type information in the group table, the group table can better distinguish the expressed service, and the flexibility of the application of the group table in OpenFlow is increased.
In one possible design, a format of the first forwarding entry conforms to a first table type template TTP, the first TTP is a rule that the first forwarding device forwards a packet, and the controller is not adapted to the first TTP, where each service flow supported by the first forwarding device is described in the first TTP, each service flow supported by the first forwarding device corresponds to one group table, and group table information included in one group table corresponding to each service flow supported by the first forwarding device carries service type information used for indicating a service type of each service flow;
before the controller obtains the first forwarding table entry, the method further includes: the controller obtains a second forwarding table entry, a format of the second forwarding table entry follows a second table type template TTP, the second TTP is a rule followed by a second forwarding device to forward a packet, and the controller and the second TTP complete adaptation, where the second TTP describes each service flow supported by the second forwarding device, each service flow supported by the second forwarding device corresponds to a group table, and group table information of a group table corresponding to each service flow supported by the second forwarding device carries service type information used for indicating a service type of each service flow; based on the corresponding relation between the second TTP and the first TTP, the controller converts the second forwarding table entry into the first forwarding table entry; wherein the correspondence between the second TTP and the first TTP is constructed by the controller based on the traffic type information corresponding to each traffic flow supported by the first forwarding device and the traffic type information corresponding to each traffic flow supported by the second forwarding device.
According to the scheme, when the controller sends the forwarding table item to the first forwarding equipment, the second forwarding table item following the second TTP is converted into the first forwarding table item following the first TTP and then sent to the first forwarding equipment, so that the first forwarding equipment can forward the message according to the received forwarding table item sent by the controller, and errors can not occur. And one controller can support various different types of forwarding devices, only the TTP of the forwarding device needs to be acquired, and the SDN solution can be better supported. In addition, the scheme provided by the embodiment of the application does not need to improve the chip at the controller end to adapt to different TTPs, so that the development cycle of a commercial chip is not required to be prolonged, and resources are saved.
In a possible design, the first forwarding table entry is configured to, when the first forwarding device forwards a packet, based on service type information, which is included in group table information carried in the packet and used for indicating a service type of a service flow corresponding to the packet, match service type information, which is included in the group table information in the first forwarding table entry and used for indicating the service type of the service flow corresponding to the first forwarding table entry, with the group table information in the first forwarding table entry, and forward the packet based on the group table corresponding to the matched group table information in the first forwarding table entry.
Through the scheme, when the first forwarding device is matched with the forwarding table item, part of the group table is preferentially screened out according to the service type information in the matched forwarding table item, then the group table corresponding to other information except the service type information in the group table information is determined in the screened group table, and the message is forwarded by using the screened group table. Or the corresponding relation between the second TTP and the first TTP is established through the service type information, so that the application of the group table is more flexible.
In one possible design, after the controller acquires the second forwarding entry and before the controller acquires the first forwarding entry, the method further includes:
the controller constructs a corresponding relation between the second TTP and the first TTP;
the controller constructs a correspondence relationship between the second TTP and the first TTP, including:
the controller obtains the second TTP and the first TTP; the controller analyzes second flow path information for describing flow paths of the traffic flows supported by the second forwarding equipment from the second TTP and analyzes first flow path information of the flow paths of the traffic flows supported by the first forwarding equipment from the first TTP; the controller traverses the service flow included in the second flow path information and the service flow included in the first flow path information, and determines the service flow included in the first flow path information and the service flow included in the second flow path information which have the same service type information; determining that a second service flow in the second flow path information is the same as a service described by a first service flow in the first flow path information from service flows included in the determined first flow path information and service flows included in the second flow path information with the same service type information; the controller obtains the corresponding relation between the flow path information of the second traffic flow and the flow path information of the first traffic flow, thereby determining the corresponding relation between the second TTP and the first TTP.
Through the scheme, when the fact that the second service flow in the second flow path information is the same as the service described by the first service flow in the first flow path information is determined, the service flows with the same service type are preferably searched, and then whether the services described by the service flows are the same or not is determined in the service flows with the same service type, so that fields needing to be matched for each service flow are prevented from being matched once, and the searching efficiency is improved.
In one possible design, the controller parsing out, from the second TTP, second flow path information describing a flow path of a traffic flow supported by the second forwarding device may be implemented as follows:
the controller analyzes a second table tree diagram used for describing the flow path relation of the service flow supported by the second forwarding equipment from the second TTP and stores the second table tree diagram; wherein, the node in the second table tree is a second flow table identifier that needs to be matched with the service flow supported by the second forwarding device; the nodes in the second table tree-like graph carry fields required by child nodes pointing to the nodes from the nodes and the values of the fields; the second flow table identification comprises a group ID of a group table corresponding to each service flow; the field comprises service type information carried in group table information corresponding to the group ID; the field is included in a second flow table corresponding to a second flow table identification as the node.
The controller analyzes first flow path information of a flow path of the traffic flow supported by the first forwarding device from the first TTP, and may be implemented as follows:
the controller analyzes a first table tree diagram used for describing the flow path relation of the traffic flow supported by the first forwarding equipment from the first TTP and stores the first table tree diagram; wherein, the node in the first table tree is a first flow table identifier which needs to be matched with the service flow supported by the first forwarding device; nodes in the first table tree carry fields required by children nodes pointing to the nodes from the nodes and values of the fields; the fields carried by the nodes corresponding to each service flow and the values of the fields form a phrase according to the pointing sequence of the nodes; the second flow table identification comprises a group ID of a group table corresponding to each service flow; the phrase comprises service type information carried in group table information corresponding to the group ID; the field is included in a first flow table corresponding to a first flow table identification of the node.
In one possible design, the controller traverses the traffic flow included in the second flow path information and the traffic flow included in the first flow path information, determines the traffic flow included in the first flow path information and the traffic flow included in the second flow path information which have the same traffic type information, determines, from the traffic flow included in the determined first flow path information and the traffic flow included in the second flow path information, that the second traffic flow in the second flow path information is the same as the traffic described by the first traffic flow in the first flow path information, and may implement the following steps:
the controller traverses a phrase corresponding to each service flow supported by the first forwarding device and a phrase corresponding to each service flow supported by the second forwarding device, determines at least one second phrase corresponding to a service flow supported by the second forwarding device and at least one first phrase corresponding to a service flow supported by the first forwarding device, wherein the at least one second phrase includes the same service type information, matches values of other fields and fields, except for the service type information, included in the at least one second phrase with values of other fields and fields, except for the service type information, included in the at least one first phrase, and determines, according to a matching result, that the service described by the first service flow described in the first table tree diagram is the same as the service described by the second service flow described in the second table tree diagram.
In a possible design, the controller obtains a correspondence between the flow path information of the second traffic flow and the flow path information of the first traffic flow, and may be implemented as follows:
the controller determines the sequence of a second flow table of the second service flow described by the second table tree diagram, and sequentially determines fields in the second flow table corresponding to fields in a first flow table of the first service flow according to the determined sequence.
In a second aspect, an embodiment of the present application further provides a packet forwarding method, where the method includes:
the forwarding device receives a forwarding table item sent by a controller, wherein the forwarding table item comprises group table information, and the group table information comprises service type information used for indicating the service type of a service flow corresponding to the forwarding table item; the forwarding equipment receives a message, wherein the message carries group table information, and the group table information comprises service type information used for indicating the service type of a service flow corresponding to the message; the forwarding device matches, based on the service type information included in the group table information carried in the packet, the service type information included in the group table information in the forwarding table entry and used for indicating the service type of the service flow corresponding to the forwarding table entry; and the forwarding equipment forwards the message based on the group table corresponding to the group table information of the matched forwarding table entry.
Through the scheme, when the forwarding device is matched with the forwarding table entry, part of the group table is preferentially screened out according to the service type information in the matched forwarding table entry, then the group table corresponding to other information except the service type information in the group table information is determined in the screened group table, and the message is forwarded by using the screened group table, so that the application flexibility of the group table in Openflow is improved.
In a third aspect, an embodiment of the present application further provides a forwarding table entry sending apparatus, where the forwarding table entry sending apparatus has a function of sending a forwarding table entry in any one of the possible designs of the foregoing first aspect or the first aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In a fourth aspect, an embodiment of the present application further provides a packet forwarding apparatus, where the apparatus has a function of implementing the packet forwarding in the second aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In a fifth aspect, an embodiment of the present application further provides an apparatus for sending a forwarding table entry, where the apparatus is applied to a controller, and the apparatus includes a communication interface, a processor, and a memory. The communication interface is configured to send a forwarding table entry, the memory is configured to store a program code executed by the processor, and the processor executes the program code stored by the memory, and is specifically configured to execute the method according to any one of the first aspect or the first aspect.
In a sixth aspect, an embodiment of the present application further provides a packet forwarding apparatus, where the apparatus is applied to a forwarding device, and the apparatus includes a communication interface, a processor, and a memory. The communication interface is configured to receive a forwarding table entry, a packet, and a transmission packet, the memory is configured to store a program code executed by the processor, and the processor executes the program code stored in the memory, and is specifically configured to execute the method according to the second aspect.
In a seventh aspect, an embodiment of the present application provides a communication system, including the forwarding table entry sending apparatus in the third aspect or the fifth aspect, and the packet forwarding apparatus in the fourth aspect or the sixth aspect.
In an eighth aspect, this embodiment of the present application further provides a computer-readable storage medium for storing computer software instructions for executing the functions of the first aspect, and the second aspect, which contain programs designed for executing the methods of the first aspect, and the second aspect.
Drawings
Fig. 1 is a schematic diagram of an Openflow switching system according to an embodiment of the present disclosure;
fig. 2 is a schematic diagram of a forwarding table entry sending method according to an embodiment of the present application;
FIG. 3 is a tree diagram of a first table according to an embodiment of the present application;
FIG. 4 is a tree diagram of a second table according to an embodiment of the present application;
fig. 5 is a TTP tree diagram provided in an embodiment of the present application;
fig. 6 is another TTP tree diagram provided in the embodiment of the present application;
FIG. 7 is a schematic diagram of a flow path tree provided in an embodiment of the present application;
fig. 8 is a schematic diagram of a correspondence relationship between flow tables according to an embodiment of the present application;
FIG. 9 is a schematic diagram of control information generation provided in an embodiment of the present application;
fig. 10 is a flowchart of a message forwarding method provided in the embodiment of the present application;
fig. 11 is a schematic diagram of a forwarding table entry sending apparatus according to an embodiment of the present application;
fig. 12 is a schematic diagram of another forwarding table entry sending apparatus according to an embodiment of the present application;
fig. 13 is a schematic diagram of a message forwarding apparatus according to an embodiment of the present application;
fig. 14 is a schematic diagram of another packet forwarding apparatus according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be described in further detail with reference to the accompanying drawings, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The embodiment of the application provides a method and a device for sending a forwarding table item, which are used for solving the problem that services expressed by a group table defined by an OpenFlow protocol cannot be distinguished in the group table in the prior art, so that the group table is not flexible to apply in OpenFlow. The method and the device are based on the same inventive concept, and because the principles of solving the problems of the method and the device are similar, the implementation of the device and the method can be mutually referred, and repeated parts are not repeated.
For specific details of the OpenFlow protocol Specification referred to in the description of the embodiments of the present application, refer to "OpenFlow Switch Specification" version 1.x (OpenFlow Switch Specification 1.x) issued by ONF. For the details of the Negotiable data forwarding plane model (NDM)/Table Type model (TTP), please refer to the open flow Table Type model specification published by ONF.
In addition, ordinal numbers such as "first", "second", "third", and the like in the embodiments of the present application are only used to distinguish a plurality of objects, and the number and the order of the plurality of objects are not specifically limited.
The "service flow" described in the embodiments of the present application is a data flow for describing a service.
The application scenario described in the embodiment of the present application is only for clearly illustrating the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application. One of ordinary skill in the art will appreciate that the technical solutions provided in the embodiments of the present application can also be applied to other scenarios.
An application scenario according to the embodiment of the present application will be described below with reference to fig. 1. Fig. 1 shows an Openflow switching system, which includes a controller 100, a first forwarding device 200a, and a second forwarding device 200 b. Fig. 1 is merely an example and does not specifically limit the number of devices. The Openflow switching system may include one or more controllers, each controller is configured to control one or more forwarding devices, and the controllers and the forwarding devices may be connected through southbound interfaces. The controller 100 sends a forwarding table adapted to the first forwarding apparatus 200a, and sends a forwarding table adapted to the second forwarding apparatus 200b, so that the first forwarding apparatus 200a adapts the forwarding table through the quintuple information carried in the packet when receiving the packet, and then forwards the packet according to the forwarding table. Therefore, when receiving the packet, the second forwarding device 200b adapts the forwarding table entry through the quintuple information carried in the packet, and then forwards the packet according to the forwarding table entry. In the embodiment of the present application, the quintuple is not limited, and a heptatuple and the like may be further used. The five-tuple includes a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol. The seven-tuple includes a source IP address, a destination IP address, a protocol number, a source port, a destination port, a service type, and an interface index.
An embodiment of the present application provides a method for sending a forwarding entry, as shown in fig. 2, the method includes:
s201, the controller 100 obtains a first forwarding table entry, where the first forwarding table entry includes group table information, and the group table information includes service type information used for indicating a service type of a service flow corresponding to the first forwarding table entry.
The group table information carries service type information for indicating the service type of the service flow corresponding to the forwarding table entry, that is, service type information corresponding to the service type described by the group table corresponding to the group table information.
S202, the controller 100 sends the first forwarding table entry to the first forwarding device 200 a.
In the embodiment of the application, the service type information is added in the group table, so that the group table can better distinguish the services expressed by the group table, and the flexibility of the application of the group table in OpenFlow is increased.
If the group table is configured, the plurality of group tables may be partitioned based on the traffic type described by the group table. The group table information carried in the packet may include service type information used to indicate the service type of the service flow corresponding to the packet.
Therefore, the first forwarding table entry forwarded by the controller 100 to the first forwarding device 200a is used to indicate that, when the first forwarding device forwards a packet, based on the service type information, included in the group table information carried in the packet, for indicating the service type of the service flow corresponding to the packet, the service type information, included in the group table information in the first forwarding table entry, for indicating the service type of the service flow corresponding to the first forwarding table entry is matched, and the packet is forwarded based on the group table corresponding to the matched group table information in the first forwarding table entry.
Through the scheme, when the forwarding device is matched with the forwarding table entry, part of the group table is preferentially screened out according to the service type information in the matched forwarding table entry, then the group table corresponding to other information except the service type information in the group table information is determined in the screened group table, and the message is forwarded by using the screened group table, so that the application flexibility of the group table in Openflow is improved.
The service type information may be carried in a field of the header for describing the group table, as shown in table 2. The field extension message header includes service type information.
TABLE 2
Figure BDA0000994583810000101
Because the related services are more at present, one service type can be set for each service, and certainly, the same service type can be set for a plurality of similar services, so that the occupied bit number can be saved.
Optionally, the service type information for indicating the service flow corresponding to the first forwarding table entry is set in the high-order 4 bits of the highest byte occupied by the Group table information, and the other 28 bits of the highest 4 bytes in the Group table information except for the 4 bits occupied by the service type information for indicating the service flow corresponding to the first forwarding table entry are used to indicate a Group identifier Group ID in the Group table information.
Specifically, in the embodiment of the present application, the Group ID is extended, and the Group ID occupies the highest 4 bytes of the Group table information in the prior art. Because the service type only occupies the upper four bits, the same service type is set for a plurality of similar services during setting.
In this embodiment of the present application, the service type information, which is used to indicate the service type of the service flow corresponding to the first forwarding table entry, is identified in the high 4 bits of the highest byte. And the other 28 bits of the top 4 bytes except for the 4 bits occupied by the service type information used for indicating the service type of the service flow corresponding to the first forwarding table entry are used for indicating the group identifier ID in the group table information.
For example, as shown in table 3, various service types are indicated by numbers.
TABLE 3
Figure BDA0000994583810000111
Figure BDA0000994583810000121
As shown in table 3 above, the group id has a total of 32 bits, and the upper 4 bits are used to represent the service type described by the group, and the lower 28 bits are used to represent the group id of the group defined by the standard Openflow protocol.
Using an L2Interface as an example, the name mappings may be organized into the form described in Table 4 below:
TABLE 4
Domain (filled) Number of bits Description of the invention
Interface (Port) Id [15:0] Indicating physical interfaces
vlan id [27:16] vlan id
Business Type (Type) [31:28] 0 (L2 Interface)
As shown in Table 4 above, the upper 4 bits (31-28 bits) are used to represent the service type described by the group, here 0, which represents the L2Interface type, the middle 12 bits (27-16) are used to represent vlan id, and the lower 16 bits (15-0) are used to represent the actual physical Interface corresponding to the Interface.
Optionally, in this embodiment of the present application, the service type information used for indicating the service flow corresponding to the first forwarding table entry may be set in the highest 2 bytes occupied by the group table information, and the other 32 bits, except the 16 bits occupied by the service type information used for indicating the service flow corresponding to the first forwarding table entry, in the highest 6 bytes in the group table information are used for indicating a group identifier ID in the group table information.
Specifically, in the embodiment of the present application, the Group ID may be further extended in the following manner, and the Group ID is expressed by using 48 bits in total of 6 bytes. Wherein the upper 16 bits are used to represent different types and the lower 32 bits are used to represent group ids under each type. For example, as shown in table 5.
TABLE 5
Figure BDA0000994583810000131
Compared with the above way of using the high 4 bits to represent the service type and the low 28 bits to represent the group id, the way of using 6 bytes to extend the group id has two advantages: one is that the service types are represented by two bytes, the number of the service types described by the representable group is greatly increased, 65535 types can be supported maximally, and one service type can be already marked for each service; secondly, when the device interacts with messages of other traditional devices conforming to the Openflow standard, the lower 32 bits can be directly intercepted as group ids to interact with the messages of the other devices.
In this embodiment of the present application, the service type information used for indicating the service flow corresponding to the first forwarding table entry may be set in the highest 1 byte occupied by the group table information. The embodiment of the application does not specifically limit the byte position of the service type information, and can be configured according to service requirements.
In addition, OpenFlow is a forwarding protocol followed by data forwarding in the SDN architecture. The biggest problems faced by OpenFlow in the forwarding plane are: the commercial chip corresponding to the existing forwarding device has a limited support for OpenFlow in forwarding, and cannot perform actions that can be theoretically supported. But commercial chips have long development cycles and high technical thresholds. Therefore, in order to promote the development and wide deployment of SDN technology, the open network fund proposes a Table type template (english: Table Typing Patterns, TTP for short). The TTP is mainly a function that needs to be achieved by combining Openflow with processing logic and table entries of existing business chips. Therefore, the TTP defines a framework, different forwarding models can be defined according to actual application requirements and existing business chip architectures, each model can design a plurality of flow tables, include a plurality of different fields, and execute different actions, and since the TTP is implemented on the basis of the existing business chip, and the existing business chip has standards in matching fields and executed actions, a business chip can only correspond to one TTP format.
An existing SDN controller 100 needs to adapt to business chips corresponding to different manufacturers and different types of forwarding devices, so if TTP formats that can be supported by the business chips corresponding to the different types of forwarding devices of different manufacturers are different and the controller 100 does not adapt to the business chip of the forwarding device in the TTP format, when the controller 100 sends a forwarding entry required by the forwarding device controlled by the controller 100, the forwarding device cannot identify the forwarding entry, so that the forwarding device cannot forward a message. Therefore, in the embodiment of the present application, it may be preferentially determined whether the TTP adapted by the controller 100 is the same as the TTP followed by the forwarding device in forwarding the packet, and if not, the format of the forwarding table is to be converted.
In this embodiment, it is assumed that the controller 100 is not adapted to a first TTP, a format of the first forwarding entry follows the first TTP, the first TTP is a rule followed by the first forwarding device 200a to forward a packet, the controller 100 is adapted to a second TTP, and the second TTP is a rule followed by the second forwarding device 200b to forward a packet. If the controller 100 needs to send a forwarding table entry to the first forwarding device 200a, a second forwarding table entry is generated according to the adapted second TTP, and the format of the second forwarding table entry follows the second TTP. Therefore, the controller 100 converts the second forwarding table entry into the first forwarding table entry following the first TTP according to the relationship between the second TTP and the first TTP, and then sends the first forwarding table entry to the first forwarding apparatus 200 a. Since the controller 100 and the second forwarding device 200b are both adapted to the second TTP, when the controller 100 needs to send the forwarding table to the second forwarding device 200b, the forwarding table is directly generated according to the adapted second TTP and sent to the second forwarding device 200b, and no conversion is needed.
Based on this, before step S201, the method further includes:
s200a, the controller 100 obtains the second forwarding table entry.
S200b, based on the corresponding relationship between the second TTP and the first TTP, the controller 100 converts the second forwarding entry into the first forwarding entry.
Through the scheme, when the first forwarding device is matched with the forwarding table item, part of the group table is preferentially screened out according to the service type information in the matched forwarding table item, then the group table corresponding to other information except the service type information in the group table information is determined in the screened group table, and the message is forwarded by using the screened group table. Or the corresponding relation between the second TTP and the first TTP is established through the service type information, so that the application of the group table is more flexible.
Wherein, each service flow supported by the first forwarding device 200a is described in the first TTP, each service flow supported by the first forwarding device 200a corresponds to a group table, and group table information included in a group table corresponding to each service flow supported by the first forwarding device 200a carries service type information used for indicating a service type of each service flow; the second TTP describes each service flow supported by the second forwarding device 200b, each service flow supported by the second forwarding device 200b corresponds to a group table, and group table information of a group table corresponding to each service flow supported by the second forwarding device 200b carries service type information used for indicating a service type of each service flow; therefore, the correspondence relationship between the second TTP and the first TTP may be constructed by the controller 100 based on the traffic type information corresponding to each traffic flow supported by the first forwarding device 200a and the traffic type information corresponding to each traffic flow supported by the second forwarding device 200 b.
Optionally, after the controller 100 acquires the second forwarding entry and before acquiring the first forwarding entry, the method further includes:
s200c, the controller 100 constructs a correspondence relationship between the second TTP and the first TTP.
Alternatively, the correspondence relationship between the second TTP and the first TTP may be established when the controller 100 establishes a connection with the first forwarding device 200a, or when the first forwarding device 200a accesses the controller 100.
After the OpenFlow switching system is configured, when the system is started, the controller 100 and the first forwarding device 200a need to start a connection adaptation process, and a corresponding relationship between the second TTP and the first TTP is established in the process.
The first TTP and the second TTP may be stored in a file format or a data structure format, such as a text file.
When the controller 100 establishes the correspondence between the second TTP and the first TTP, the following may be implemented:
the controller 100 obtains the second TTP and the first TTP;
the controller 100 parses second flow path information describing a flow path of the traffic flow supported by the second forwarding device 200b from the second TTP, and parses first flow path information describing a flow path of the traffic flow supported by the first forwarding device 200a from the first TTP;
the controller 100 traverses the traffic flow included in the second flow path information and the traffic flow included in the first flow path information, and determines the traffic flow included in the first flow path information and the traffic flow included in the second flow path information which have the same traffic type information; determining that a second service flow in the second flow path information is the same as a service described by a first service flow in the first flow path information from service flows included in the determined first flow path information and service flows included in the second flow path information with the same service type information;
the controller 100 obtains the correspondence between the flow path information of the second traffic flow and the flow path information of the first traffic flow, thereby determining the correspondence between the second TTP and the first TTP.
In this embodiment of the present application, the first flow path information and the second flow path information are each a set of flow paths, and the first flow path information describes flow paths of all traffic flows supported by the first TTP file; the second flow path information describes flow path descriptions of all traffic flows supported by the second TTP file.
The corresponding relationship between the second TTP and the first TTP is used to instruct the controller 100 to convert the second forwarding table following the second TTP into a first forwarding table following the first TTP and send the first forwarding table to the first forwarding device 200a when sending the forwarding table to the first forwarding device 200 a.
By the above scheme, the corresponding relationship between the flow path information of the first service flow and the flow path information of the second service flow is obtained, so that when the controller 100 sends a forwarding table entry to the first forwarding device 200a, the second forwarding table entry following the second TTP is converted into a first forwarding table entry following the first TTP and then sent to the first forwarding device 200a, thereby ensuring that the first forwarding device 200a can forward a message according to the received forwarding table entry sent by the controller 100, and avoiding an error caused by using different TTPs to forward the message. And one controller 100 can support multiple different types of forwarding devices, only the TTP of the forwarding device needs to be acquired, and the SDN solution can be better supported. In addition, the scheme provided by the embodiment of the application does not need to improve the chip at the controller 100 end to adapt to different TTPs, thereby avoiding prolonging the development cycle of the commercial chip and saving resources.
Optionally, after the controller 100 obtains the correspondence between the flow path information of the first service flow and the flow path information of the second service flow, the controller 100 generates control information according to the correspondence between the flow path information of the first service flow and the flow path information of the second service flow, where the control information is used to control the controller 100 to convert the second forwarding entry following the second TTP into the first forwarding entry following the first TTP and then send the first forwarding entry to the first forwarding device 200a according to the correspondence between the flow path information of the first service flow and the flow path information of the second service flow when sending the forwarding entry to the first forwarding device 200 a.
In the above solution, the generated control information describes that the controller 100 performs TTP format conversion on the forwarding table entry according to the correspondence between the flow path information of the first traffic flow and the flow path information of the second traffic flow, that is, the control information describes the correspondence between the first TTP and the second TTP. Of course, control information how to perform TTP format conversion for following the forwarding table entry according to the corresponding relationship between the flow path information of the first traffic flow and the flow path information of the second traffic flow may also be configured in advance in the controller 100, so that the controller 100 can directly convert the TTP format for following the forwarding table entry according to the corresponding relationship between the flow path information of the first traffic flow and the flow path information of the second traffic flow.
Based on this, the generated control information is used to describe the corresponding relationship between the first TTP and the second TTP, and the control information is generated according to the corresponding relationship between the flow path information of the first service flow and the flow path information of the second service flow, that is, a conversion rule how to control the conversion from the first TTP to the second TTP is generated according to the corresponding relationship between the flow path information of the first service flow and the flow path information of the second service flow.
According to the scheme, when the fact that the second service flow in the second flow path information is the same as the service described by the first service flow in the first flow path information is determined, the service flows with the same service type are preferentially searched, and then whether the service described by the service flows is the same or not is determined in the service flows with the same service type, so that fields needing to be matched for each service flow are prevented from being matched once, and the searching efficiency is improved.
Optionally, when parsing out stream path information describing stream paths of traffic flows supported by different forwarding devices based on the TTP, the controller 100 may be implemented by:
the controller 100 may parse second flow path information describing a flow path of the traffic flow supported by the second forwarding device 200b from the second TTP, and may implement the following steps:
the controller 100 parses a second table tree for describing a flow path relationship of the traffic flow supported by the second forwarding device 200b from the second TTP and stores the second table tree;
wherein, the node in the second table tree is a second flow table identifier that needs to be matched with the service flow supported by the second forwarding device 200 b; the nodes in the second table tree-like graph carry fields required by child nodes pointing to the nodes from the nodes and the values of the fields; the second flow table identification comprises a group ID of a group table corresponding to each service flow; the field comprises service type information carried in group table information corresponding to the group ID; the field is contained in a second flow table corresponding to a second flow table identification of the node;
the controller 100 parses first flow path information of a flow path of the traffic flow supported by the first forwarding device 200a from the first TTP, and includes:
the controller 100 parses a first table tree describing a flow path relationship of the traffic flow supported by the first forwarding device 200a from the first TTP and stores the first table tree;
wherein, the node in the first table tree is a first flow table identifier that needs to be matched with the service flow supported by the first forwarding device 200 a; nodes in the first table tree carry fields required by children nodes pointing to the nodes from the nodes and values of the fields; the fields carried by the nodes corresponding to each service flow and the values of the fields form a phrase according to the pointing sequence of the nodes; the second flow table identification comprises a group ID of a group table corresponding to each service flow; the phrase comprises a service type carried in group table information corresponding to the group ID; the field is included in a first flow table corresponding to a first flow table identification of the node.
Among them, the field may be a Match (Match) and/or an Instruction (Instruction) included in the flow table, or the like.
The controller 100 traverses the traffic flow included in the second flow path information and the traffic flow included in the first flow path information, determines the traffic flow included in the first flow path information and the traffic flow included in the second flow path information which have the same traffic type information, determines, from the traffic flow included in the determined first flow path information and the traffic flow included in the second flow path information, that the traffic described by the second traffic flow in the second flow path information is the same as the traffic described by the first traffic flow in the first flow path information, and may implement the following steps:
the controller 100 traverses the phrase corresponding to each service flow supported by the first forwarding device 200a and the phrase corresponding to each service flow supported by the second forwarding device 200b, determines at least one second phrase corresponding to the service flow supported by the second forwarding device 200b and at least one first phrase corresponding to the service flow supported by the first forwarding device 200a that include the same service type information, matching values of fields and fields other than the service type information included in the at least one second phrase with values of fields and fields other than the service type information included in the at least one first phrase, and determining that the second service flow described in the second table tree diagram is the same as the service described in the first service flow described in the first table tree diagram according to the matching result.
The controller 100 obtains the corresponding relationship between the flow path information of the second service flow and the flow path information of the first service flow, and implements the following steps:
the controller 100 determines an order of a second flow table of the second service flow described by the second table tree diagram, and sequentially determines fields in the second flow table corresponding to fields in the first flow table of the first service flow according to the determined order.
The controller 100 may represent the flow path trend of the traffic flow as a first table tree diagram as shown in fig. 4 through parsing the first TTP. The node in the first table tree is a first flow table identifier that needs to be matched with the service flow supported by the first forwarding device 200 a; nodes in the first table tree carry fields required by children nodes pointing to the nodes from the nodes and values of the fields; the fields carried by the nodes corresponding to each service flow and the values of the fields form a phrase according to the pointing sequence of the nodes; the second flow table identification comprises a group ID of a group table corresponding to each service flow; the phrase comprises service type information carried in group table information corresponding to the group ID; the field is included in a first flow table corresponding to a first flow table identification as the node.
The controller 100 may represent the flow path trend of the traffic flow as a second table tree diagram as shown in fig. 3 through parsing the second TTP. The flow path of each traffic flow may be regarded as a process of matching the flow table, by which it is finally indicated from which port to output. So matching different flow tables will take different paths.
Since the last matched table of each traffic stream is a Group table, the last field in the phrase is a Group ID. The service flows including the same service type can be preferentially found based on the service types included in the GroupID. For example, flowath 1 shown in fig. 3 is used to match each traffic flow shown in fig. 4, the traffic type included in the GroupID in flowath 1 is determined to be 1, that is, L3Unicast, the flowath 1 is a flow path describing three-layer Unicast forwarding traffic, and then the flow path with the traffic type 1 is searched in each flow path shown in fig. 4. Then, the phrases corresponding to the flow path with the service type 1 found in each flow path shown in fig. 4 are matched with the phrases corresponding to the flow 1 one by one.
Specifically, fig. 3 illustrates a flow path of 4 traffic flows, and each circle can be considered as a flow table. There may be a cross point in the two flow paths, e.g. flow table a. Each flow table or group table also corresponds to a field required for how the corresponding traffic flow matches the flow table pointing to the child node from the flow table and a value of the field, respectively.
FIG. 3 shows a second table tree, where the flow path (flow path)1 of the second table tree is a- > b- > e- > l, and there may be a relation a- > b, and this path needs match a MAC _ DST, where MAC _ DST represents MAC address, so the created phrase will have (match, MAC _ DST); then continuing b- > e may have match with a vlan ID, wherein the vlan ID represents the local area network ID; then a new phrase (match, vlan ID) is added, and then e- > l may be a (group), that is, a group that describes to jump to the group, where the group represents the group and the group represents the group ID.
Then the phrase for this flowpath1 is as shown in table 6:
TABLE 6
Match MAC_DST
Match Vlanid
Group Groupid
Fig. 4 shows a first table tree, one for each circle in fig. 4. There are multiple flow paths depicted in fig. 4: c- > A- > F, C- > A- > B- > G, C- > A- > E- > H, C- > A- > E- > I, C- > A- > D- > J. Then finding out the phrases of these stream paths, assuming that the corresponding phrases are as follows: the phrase corresponding to C- > A- > F is shown in Table 7, the phrase corresponding to C- > A- > B- > G is shown in Table 6, the phrase corresponding to C- > A- > E- > H is shown in Table 9, the phrase corresponding to C- > A- > E- > I is shown in Table 8, and the phrase corresponding to C- > A- > D- > J is shown in Table 10.
TABLE 7
Match Ipv4Dst
Group Groupid
TABLE 8
Match Ipv4Dst
Match MAC_DST
Group Groupid
TABLE 9
Figure BDA0000994583810000211
Figure BDA0000994583810000221
Watch 10
Match Vlanid
Match MAC_DST
Group Groupid
If the service type in the GroupID included in the phrase corresponding to flowath 1 in the second table tree diagram is 1, a phrase whose service type is 1 in the GroupID included in the phrases corresponding to each flow path of the first tree diagram structure is searched, and it is assumed that the service type in the GroupID in the phrases described in table 7, table 8 and table 9 is 1. For convenience of subsequent description, a phrase with a service type 1 in the GroupID, which is searched and included in phrases corresponding to each flow path of the first tree diagram structure, is referred to as a first service flow phrase.
Then, by comparing the phrase corresponding to flowath 1 in the second table tree with the phrase corresponding to the first traffic flow, it can be determined that the phrase of table 8 is the same as the phrase of table 6 corresponding to flowath 1, and thus it can be determined that the flow path C- > a- > E- > H corresponding to table 8 is the same as the traffic described in flowath 1.
Specifically, when a phrase corresponding to the flowpath1 is matched with a phrase of the first service flow, the method can be implemented as follows:
a bitmap of flowath 1 is initialized, for example, a bitmap of flowath 1 is initialized to three bits 000, each bit representing a phrase in the phrase map. The target Path should include the same phrase as flowpath1, and the bitmap of the target Path is 111. Comparing phrases corresponding to flowpath1 with the first service flow phrase, respectively, comparing with C- > A- > F, all phrases are not matched, the final bitmap is still 000, comparing with C- > A- > B- > G, the MAC _ DST of the first bit and the Group of the third bit in the target path appear successively, and then the bitmap is finally 101; in comparison to the third C- > A- > E- > H, all three phrases are present and the bitmap end result is 111. And then the obtained bitmaps are respectively bit-wise equal to the bitmap 111 of the target path after bit-wise operation with the bitmap 111 of the target path, namely the bitmaps are the same as the service described by the service flow corresponding to the target path to be selected.
Because there is no phrase value in the target path and no sequence is concerned during bitmap lookup, the final bitmaps of C- > a- > E- > H and C- > a- > E- > I are both 111, two paths may be the same as the target path, and at this time, we want to concern about the precedence relationship of phrases of the traffic flow described by the target path when forwarding normally, that is, some traffic flows strictly require the matching relationship of forwarding keywords, and the appearance sequence of phrases is completely consistent with the target path, so C- > a- > E- > H is the flowpath with the same traffic flow description service as the target path.
Optionally, the controller 100 may further parse the first table tree and the second table tree as follows:
the controller 100 decomposes the first TTP into a first TTP tree and stores the first TTP tree according to a relationship between a plurality of titles and a plurality of titles included in the first TTP;
wherein, the root node in the first TTP tree graph is the name of the first TTP; a first level node in the first TTP tree is a child node of the root node; a first level node in the first TTP tree comprises a first level header included by the first TTP, a second level node in the first TTP tree is a child node of the first level node in the first TTP tree, and the second level node in the first TTP tree comprises a second level header included by the first TTP; a third level node in the first TTP tree is a child node of a second level node in the first TTP tree, the third level node in the first TTP tree includes a third level header included in the first TTP, the first level header included in the first TTP includes a first flow table, the second level header included in the first TTP includes a name of the first flow table, and the third level header included in the first TTP includes an attribute of the first flow table;
the controller 100 parses a first table tree from the decomposed first TTP tree.
The controller 100 decomposes the second TTP into a second TTP tree and stores the second TTP tree according to a relationship between a plurality of titles and a plurality of headings included in the second TTP;
wherein, the root node in the second TTP tree is the name of the second TTP; a first level node in the second TTP tree is a child node of the root node; a first level node in the second TTP tree comprises a first level header included by the second TTP, a second level node in the second TTP tree is a child node of the first level node in the second TTP tree, and the second level node in the second TTP tree comprises a second level header included by the second TTP; a third level node in the second TTP tree is a child node of a second level node in the second TTP tree, the third level node in the second TTP tree includes a third level header included in the second TTP, the first level header included in the second TTP includes a second flow table, the second level header included in the second TTP includes a name of the second flow table, and the third level header included in the second TTP includes an attribute of the second flow table;
the controller 100 parses a second table tree from the decomposed second TTP tree.
In the implementation mode, the TTP is decomposed and then stored in the format of the TTP tree graph, so that convenience is provided for subsequent analysis of the table tree graph.
In the embodiment of the present application, the number of nodes included in each level of nodes in the TTP tree is not specifically limited. And the number of the child nodes of each level of the node is not specifically limited, and certainly, each level of the node may include the child node or may not include the child node.
The description of the embodiments of the present application for the TTP may further include a fourth-level title, a fifth-level title, and the like. The number of included title ratings is determined according to the description in the TTP.
For example, as shown in fig. 5, the first-level header of the TTP includes a flow table as an example. The root node is the name of the TTP, and the first-level node is a flow table which is a first-level title included in the TTP. The second level node includes a second level header included by the TTP. The second level header includes a name, a stream mode type. The name in the second-level header refers to the name of the flow table, and the flow mode type is used to indicate an instruction that the flow table points to the next flow table. Where the stream pattern type can in turn be broken down into third level headers: name, domain, match type, instruction. The name in the third level header is the name of the stream mode type. For example: control framework to controller, control framework to virtual local area network. The fields and match types herein may also be collectively referred to as a match set, in which case the third level headings include names, match sets, instructions. Then a fourth level header is also included: a domain and a match type.
For example, as shown in fig. 6, a TTP tree after TTP decomposition is shown, and in fig. 6, the first-level header of the TTP includes the flow table and also includes other headers as an example.
The first level title includes: negotiable Data-plane Model (NDM) metadata (metadata), table maps (table maps), Identifiers (Identifiers), flow tables (flow _ tables), group entry types, and flow paths.
The second stage header of the flow table includes: name (name), built flow model (build in flow models), table subset (table), and flow mode type (table _ subsets), so that child nodes of the flow table include name, built flow model, table subset, and flow mode type. And the names in the second-level title, the established flow model, the table subset and the flow mode type have the association relationship. The method comprises the steps that a plurality of name information are included under a name node, a plurality of flow model information are included under an established flow model node, a plurality of table subset information are included under a table subset node, and a plurality of flow mode type information are included under a flow mode type node. Between them a name information points to a stream model information points to a table subset information points to a stream mode type information. The same applies to the other stage headings, and the embodiments of the present application are not described in detail here. The second level header of the group table includes a name (name), a group table type (group type), and a bucket type (bucket types). The second level title of the path includes a name (name), a path (path).
The third level headings under the flow pattern type node include: name (name), match set (match set), instruction set (instruction set). The third level headings under the table subset nodes include: name (name), subset (subset). The third level headings under the bucket type node include: action set.
The fourth level headings under the matching set node include: field, match type. The fourth level headings under the instruction set nodes include: instruction (instruction). The fourth level headings under the action subset node include: and (action).
The fifth level headings under the instruction node include: and (action).
Wherein each node not including the word node points to the information included by that node. In addition, a path node points to a name in the second level node of the flow table, a subset in the third level node of the subset of tables, and a name in the second level node of the group table. I.e., a path has an association with the name of the flow table, a subset in the third level node of the table subset, and a name in the second level node of the group table. In particular, this may be implemented by pointers in the data structure.
Through the above method, a TTP file is decomposed into a TTP tree as shown in fig. 6.
After a TTP file is decomposed into TTP tree graphs, a table tree graph used for describing the flow path relation of the service flow supported by the forwarding equipment is analyzed from the TTP tree graphs. Reference may be made in particular to fig. 3 and 4.
Optionally, the first table tree diagram and the second table tree diagram may be parsed as follows:
after the first TTP is decomposed into a first TTP tree diagram, a first flow path tree diagram is resolved from the decomposed first TTP tree diagram; the first flow path tree diagram comprises a flow path tree diagram corresponding to the flow paths of a plurality of traffic flows, and each node in each flow path tree diagram is a field needing to be matched in the flow path of the traffic flow and a value of the field. For example, as shown in FIG. 7: the node flow path points to the table subset, the flow mode type, the established flow model and the group table; the subset of tables points to a stream pattern type; the stream pattern type points to the matching subset and the instruction subset; the matching subset points to a domain and a matching type; the subset of instructions points to instructions; the group table is directed to a group table type and a bucket type, which points to an action.
Then, a first table tree diagram for describing the traffic flow supported by the second forwarding device 200b is extracted from the decomposed first flow path tree diagram.
After the second TTP is decomposed into a second TTP tree, a second flow path tree can be parsed from the decomposed second TTP tree; the second flow path tree diagram comprises a flow path tree diagram corresponding to the flow paths of the plurality of traffic flows, and each node in each flow path tree diagram is a field needing to be matched in the flow path of the traffic flow and a value of the field. A second table tree describing the traffic flows supported by the first forwarding device 200a is then parsed from the decomposed second flow path tree.
The nodes in the first table tree graph analyzed by the method can only carry fields required by child nodes pointing to the nodes from the nodes, and particularly, when the values of the fields are required, the values of the fields stored in the first flow path tree graph are inquired; meanwhile, the nodes in the second table tree graph analyzed by the method can only carry fields required by child nodes pointing to the nodes from the nodes, and specifically, when the values of the fields are required, the values of the fields stored in the second flow path tree graph are inquired.
Optionally, the controller 100 matches the values of the fields and the fields other than the service type information included in the at least one second phrase with the values of the fields and the fields other than the service type information included in the at least one first phrase, and may be implemented as follows:
the controller 100 matches fields other than the service type information included in the at least one second phrase with fields other than the service type information included in the at least one first phrase based on the term data dictionary; and when the matching is consistent, matching the values of the fields except the service type information in the second phrase which is consistent with the matching with the values of the fields except the service type information in the first phrase which is consistent with the matching to obtain a matching result.
Wherein the term data dictionary is used for describing the corresponding relation of different fields expressing the same meaning in at least two TTPs. For example: the term data dictionary includes correspondences of different fields in the first TTP and in the second TTP for expressing the same meaning. The correspondence between the field expressed by the first TTP and the field expressed by the second TTP in the term data dictionary may be performed by using standard fields defined in the Openflow protocol and the TTP protocol.
For example, the destination MAC address in the first TTP is described in the following manner: "MAC _ DST"; and the description mode of the destination MAC address in the second TTP is "ETH _ DST", so the term data dictionary includes the correspondence between the description modes of the two destination MAC addresses. That is, a mapping relationship is made between fields describing the same meaning, and a term data dictionary is constructed. Specifically, the mapping may be performed according to a field description mode defined in the openflow standard.
After the first table tree diagram and the second table tree diagram are established, the controller 100 obtains the correspondence between the flow path information of the first service flow and the flow path information of the second service flow, and may implement the following steps:
the controller 100 determines an order of a second flow table of the second service flow based on the obtained flow path information of the second service flow, and sequentially determines fields in the second flow table corresponding to fields in the first flow table of the first service flow according to the determined order. And generating control information after sequentially determining fields in the second flow table corresponding to fields in the first flow table of the first service flow according to the determined sequence.
For example: as shown in fig. 8, the sequence of each flow table that needs to be matched and corresponds to the second service flow is B1- > B2- > B3, and the sequence of each flow table that needs to be matched and corresponds to the first service flow is H1- > H2- > H3- > H4. B1 corresponds to H1 and H2. Each circle in fig. 8 is used to represent a flow table. B1, B2, etc. in the circle are used to identify the flow table name. Control information is then generated based on which fields of each flow table need to be matched.
In some application scenarios, the controller 100 manufacturer may set an internal data dictionary, which may be referred to as an FES internal data dictionary, and an FES private table. The FES private sheet forwards corresponding field description information for the service flow defined in the manufacturer. The TTP is a description file which is externally packaged on the basis of an internal FES private sheet and conforms to Openflow forwarding. The FES internal data dictionary describes the correspondence between each field described in the TTP and a field set internally by the vendor. And a table to which each field belongs is described. It can be determined from the FES internal data dictionary that H1 corresponds to T1, H2 corresponds to T3 and T5, and thus B1 can be determined to correspond to T1, T3, T5. And the FES internal data dictionary is used for describing the mapping relation between the field analyzed by the first TTP and the field described by the FES private sheet. Wherein, T1-T6 are fields described by the FES private sheet.
Specifically, the flow table correspondence shown in fig. 8 is an example, and the process of generating the control information is as follows:
firstly, starting from a first flow table of a flow path (B1-B2-B3) of a first manufacturer, searching a corresponding flow table in traffic flows of TTP (H1-H2-H3-H4) of a second manufacturer corresponding to the flow path according to match/action;
then, through a flow table corresponding to the TTP of the second manufacturer, which fields in which FES tables (T1-T6) are correspondingly needed are searched; and finally, for the searched FES table and field, recording the field of which table of the target TTP the FES table and field should be issued to on the field to generate an issuing configuration file.
The control information may be represented as a mapping of FES table number/field name- > target table number/field name, as indicated by the dashed line in fig. 9. Flow table 1 includes three Match (Match) fields and a go to Group table (Goto Group) field, the two Match fields being ETH _ TYPE and IP _ DST and VRF, respectively. ETH _ TYPE represents a MAC address TYPE, IP _ DST represents a destination IP address, and VRF represents a virtual forwarding network identifier. The Goto Group field is L3_ Unicast, and L3_ Unicast is used to indicate three-layer Unicast forwarding service. Two matching fields are included in flow table 2, VRFID and IPV4_ DST, respectively. In flow table 2, the Goto Group field is SecondLevel-ECMP. VRFID represents virtual forwarding network identification, and SecondLevel-ECMP represents two-layer equivalent routing service.
Match (ETH _ TYPE) and Match (IP _ DST) in table 1 correspond to Match (IPV4_ DST) in table 2, and Match (vrf) in table 1 corresponds to Match (vrfid) in table 2. The FES internal data dictionary comprises field values uivrfIndex, uiDestAddr, UCMaskLen and the like, wherein the field values are used for describing routing information data in the forwarding process, the uivrfIndex represents a Virtual Private Network (VPN) index, the uiDestAddr represents a destination IP address, and the UCMaskLen represents an IP address mask. Wherein, Match (vrfid) corresponds to the field uivrflindex in the FES internal data dictionary, and Match (IPV4_ DST) corresponds to the field uiDestAddr in the FES internal data dictionary. Thus the field uiVfIndex- > Match (IP _ DST), the field uiDestAddr- > Match (VRF).
Optionally, after generating control information according to the correspondence between the flow path information of the first service flow and the flow path information of the second service flow, the control information may also be stored.
An embodiment of the present application further provides a method for forwarding a packet, as shown in fig. 10, where the method includes:
s1001, a forwarding device receives a forwarding table item sent by a controller, wherein the forwarding table item comprises group table information, and the group table information comprises service type information used for indicating the service type of a service flow corresponding to the forwarding table item;
s1002, the forwarding device receives a message, wherein the message carries group table information, and the group table information comprises service type information used for indicating the service type of a service flow corresponding to the message.
S1003, the forwarding device matches, based on the service type information included in the group table information carried in the packet, the service type information included in the group table information in the forwarding table entry, which is used to indicate the service type of the service flow corresponding to the forwarding table entry.
S1004, the forwarding device forwards the packet based on the group table corresponding to the group table information of the matched forwarding table entry.
The above-described forwarding device may be applied to the first forwarding device 200a or the second forwarding device 200b shown in fig. 1.
If the group table is configured, the plurality of group tables may be partitioned based on the traffic type described by the group table. The service type information for indicating the service type of the service flow corresponding to the packet may be included in the group table information carried in the packet.
Therefore, when the forwarding table item forwarded to the forwarding device by the controller is used for indicating the forwarding device to forward a message, based on the service type information which is included in the group table information carried by the message and is used for indicating the service type of the service flow corresponding to the message, the service type information which is included in the group table information in the forwarding table item and is used for indicating the service type of the service flow corresponding to the forwarding table item is matched, and the message is forwarded based on the group table corresponding to the matched group table information of the forwarding table item.
Through the scheme, when the forwarding device is matched with the forwarding table entry, part of the group table is preferentially screened out according to the service type information in the matched forwarding table entry, then the group table corresponding to other information except the service type information in the group table information is determined in the screened group table, and the message is forwarded by using the screened group table, so that the application flexibility of the group table in Openflow is improved.
The service type information may be carried in a field of the header for describing the group table.
The embodiment of the present application may also provide a forwarding table entry sending apparatus, which may be implemented by the controller shown in fig. 1, may be disposed inside the controller 100 shown in fig. 1, or may be disposed outside the controller 100, and is independent from a device of the controller 100, and is capable of communicating with the first forwarding device 200a and the second forwarding device 200 b. As shown in fig. 11, the apparatus includes:
a processing unit 1101, configured to obtain a first forwarding table entry, where the first forwarding table entry includes group table information, and the group table information includes service type information used to indicate a service type of a service flow corresponding to the first forwarding table entry.
A sending unit 1102, configured to send the forwarding table entry to the first forwarding apparatus 200 a.
Optionally, the service type information is set in the upper 4 bits of the highest byte occupied by the group table information, and the other 28 bits except the 4 bits occupied by the service type for indicating the service flow corresponding to the forwarding table entry in the highest 4 bytes in the group table information are used to indicate a group identifier ID in the group table information.
Optionally, the service type information is set in the top 2 bytes occupied by the group table information, and the other 32 bits except the 16 bits occupied by the service type for indicating the service flow corresponding to the forwarding table entry in the top 6 bytes in the group table information are used to indicate a group identifier ID in the group table information.
Optionally, a format of the first forwarding entry conforms to a first table type template TTP, the first TTP is a rule followed by the first forwarding device to forward a packet, the controller is not adapted to the first TTP, where each service flow supported by the first forwarding device is described in the first TTP, each service flow supported by the first forwarding device corresponds to one group table, and group table information included in each group table corresponding to each service flow supported by the first forwarding device carries service type information used for indicating a service type of each service flow;
the processing unit 1101 is further configured to, before obtaining a first forwarding entry, obtain a second forwarding entry, where a format of the second forwarding entry conforms to a second table type template TTP, the second TTP is a rule that a second forwarding device forwards a packet, and the controller completes adaptation with the second TTP, where the second TTP describes each service flow supported by the second forwarding device, each service flow supported by the second forwarding device corresponds to one group table, and group table information of one group table corresponding to each service flow supported by the second forwarding device carries service type information used for indicating a service type of each service flow; converting the second forwarding table entry into the first forwarding table entry based on the corresponding relationship between the second TTP and the first TTP; wherein the correspondence between the second TTP and the first TTP is constructed by the controller based on the traffic type information corresponding to each traffic flow supported by the first forwarding device and the traffic type information corresponding to each traffic flow supported by the second forwarding device.
In one possible implementation, the device may be an off-line automatic switching tool for safety considerations of the control, i.e. the device generates the correspondence in advance and then sends the correspondence to the controller. Of course, a real-time switching device may also be provided within the controller.
In a possible implementation manner, the processing unit 1101 is further configured to construct a corresponding relationship between the second TTP and the first TTP after acquiring the second forwarding entry and before acquiring the first forwarding entry, and specifically includes:
obtaining a second TTP and a first TTP;
parsing second flow path information describing a flow path of the traffic flow supported by the second forwarding device 200b from the second TTP, and parsing first flow path information describing a flow path of the traffic flow supported by the first forwarding device 200a from the first TTP;
traversing the service flow included by the second flow path information and the service flow included by the first flow path information, and determining the service flow included by the first flow path information and the service flow included by the second flow path information which have the same service type information; determining that a second service flow in the second flow path information is the same as a service described by a first service flow in the first flow path information from service flows included in the determined first flow path information and service flows included in the second flow path information with the same service type information;
and obtaining the corresponding relation between the flow path information of the second service flow and the flow path information of the first service flow, thereby determining the corresponding relation between the second TTP and the first TTP.
Optionally, when the second flow path information describing the flow path of the traffic flow supported by the second forwarding device 200b is parsed from the second TTP, the processing unit 1101 is specifically configured to:
parsing a second table tree for describing a flow path relationship of the traffic flow supported by the second forwarding device 200b from the second TTP;
the apparatus further comprises a storage unit 1103 for storing the second table tree.
Wherein, the node in the second table tree is a second flow table identifier that needs to be matched with the service flow supported by the second forwarding device 200 b; the nodes in the second table tree-like graph carry fields required by child nodes pointing to the nodes from the nodes and the values of the fields; the second flow table identification comprises a group ID of a group table corresponding to each service flow; the field comprises service type information carried in group table information corresponding to the group ID; the field is contained in a second flow table corresponding to a second flow table identification of the node;
the processing unit 1101, when parsing out first flow path information of a flow path of a service flow supported by the first forwarding device 200a from the first TTP, is specifically configured to:
parsing out a first table tree diagram for describing a flow path relationship of the traffic flow supported by the first forwarding device 200a from the first TTP;
the storage unit 1103 is further configured to store the first table tree;
wherein, the node in the first table tree is a first flow table identifier that needs to be matched with the service flow supported by the first forwarding device 200 a; nodes in the first table tree carry fields required by children nodes pointing to the nodes from the nodes and values of the fields; the fields carried by the nodes corresponding to each service flow and the values of the fields form a phrase according to the pointing sequence of the nodes; the second flow table identification comprises a group ID of a group table corresponding to each service flow; the phrase comprises service type information carried in group table information corresponding to the group ID; the field is included in a first flow table corresponding to a first flow table identification of the node.
Optionally, the processing unit 1101, after traversing the traffic flow included in the second flow path information and the traffic flow included in the first flow path information, determines the traffic flow included in the first flow path information and the traffic flow included in the second flow path information that have the same traffic type information, and determines, from the traffic flow included in the determined first flow path information and the traffic flow included in the second flow path information that have the same traffic type information, that the second traffic flow in the second flow path information is the same as the traffic described by the first traffic flow in the first flow path information, is specifically configured to:
traversing a phrase corresponding to each service flow supported by the first forwarding device 200a and a phrase corresponding to each service flow supported by the second forwarding device 200b, determining at least one second phrase corresponding to a service flow supported by the second forwarding device 200b and at least one first phrase corresponding to a service flow supported by the first forwarding device 200a, which include the same service type information, matching values of other fields and fields, except for the service type information, included in the at least one second phrase with values of other fields and fields, except for the service type information, included in the at least one first phrase, and determining, according to a matching result, that the services described by the second service flow described in the second table tree diagram are the same as the services described by the first service flow described in the first table tree diagram.
Optionally, the processing unit 1101, after obtaining the corresponding relationship between the flow path information of the second service flow and the flow path information of the first service flow, is specifically configured to:
and determining the sequence of a second flow table of the second service flow described by the second table tree diagram, and sequentially determining fields in the second flow table corresponding to the fields in the first flow table of the first service flow according to the determined sequence.
By the scheme, the corresponding relation between the flow path information of the first service flow and the flow path information of the second service flow is obtained, so that when the device sends the forwarding table item to the second forwarding equipment, the forwarding table item is converted from following the first TTP to following the second TTP and then sent to the second forwarding equipment, the second forwarding equipment can forward the message according to the received forwarding table item sent by the controller, and errors cannot occur. And the controller can support various forwarding devices of different types, and only needs to acquire the TTP of the forwarding device, so that the SDN solution can be better supported. In addition, the scheme provided by the embodiment of the application does not need to improve the chip at the controller end to adapt to different TTPs, so that the development cycle of a commercial chip is not required to be prolonged, and resources are saved.
The division of the unit in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation, and in addition, each functional unit in each embodiment of the present application may be integrated in one processor, may also exist alone physically, or may also be integrated in one unit by two or more units. The integrated unit can be realized in a form of hardware or a form of a software functional module.
When the integrated unit may be implemented in a hardware form, as shown in fig. 12, the integrated unit may include a communication interface 1201 for receiving and sending a forwarding table entry. The hardware of the entity corresponding to the processing unit 1101, the sending unit 1102, and the storage unit 1103 may be the processor 1202. The processor 1202 may be a Central Processing Unit (CPU), a digital processing unit, or the like. The processor 1202 receives and transmits the forwarding table entry through the communication interface 1201, and stores the information such as the correspondence relationship constructed by itself. The apparatus may therefore further comprise: a memory 1203 for storing programs executed by the processor 1202. The processor 1202 is configured to execute a program stored in the memory 1203, and is specifically configured to implement a scheme executed by the processing unit 1101, the sending unit 1102, and the storage unit 1103. The memory 1203 is also used for storing the corresponding relationship constructed by the processor 1202, and also can be used for storing a term data dictionary, storing information such as a first table tree diagram and a second table tree diagram, and the like.
In the embodiment of the present application, the specific connection medium among the communication interface 1201, the processor 1202, and the memory 1203 is not limited. In the embodiment of the present application, the memory 1203, the processor 1202, and the communication interface 1201 are connected by a bus 1204 in fig. 12, the bus is represented by a thick line in fig. 12, and the connection manner between other components is merely illustrative and not limited. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 12, but this is not intended to represent only one bus or type of bus.
The memory 1203 may be a volatile memory (volatile memory), such as a random-access memory (RAM); the memory 1203 may also be a non-volatile memory (non-volatile memory), such as a read-only memory (ROM), a flash memory (flash memory), a Hard Disk Drive (HDD) or a solid-state drive (SSD), or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to this. The memory 1203 may be a combination of the above.
The embodiment of the present application further provides a packet forwarding apparatus, as shown in fig. 13, where the apparatus is applied to the first forwarding device 200a or the second forwarding device 200b shown in fig. 1. The message forwarding device comprises:
a receiving unit 1301, configured to receive a forwarding table entry sent by a controller, where the forwarding table entry includes group table information, and the group table information includes service type information used to indicate a service type of a service flow corresponding to the forwarding table entry;
the receiving unit 1301 is further configured to receive a packet, where the packet carries group table information, and the group table information includes service type information used to indicate a service type of a service flow corresponding to the packet;
a processing unit 1302, configured to match, based on the service type information included in the group table information carried in the packet received by the receiving unit 1301, service type information included in the group table information in the forwarding table entry and used for indicating a service type of a service flow corresponding to the forwarding table entry;
a sending unit 1303, configured to forward the packet based on the group table corresponding to the group table information of the forwarding table entry matched by the processing unit 1302.
The division of the unit in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation, and in addition, each functional unit in each embodiment of the present application may be integrated in one processor, may also exist alone physically, or may also be integrated in one unit by two or more units. The integrated unit can be realized in a form of hardware or a form of a software functional module.
When the integrated unit may be implemented in a hardware form, as shown in fig. 14, the integrated unit may include a communication interface 1401 for receiving a forwarding table entry, a message, and sending a message. The hardware of the entity corresponding to the receiving unit 1301, the processing unit 1302, and the sending unit 1303 may be the processor 1402. The processor 1402 may be a CPU, or a digital processing unit, etc. Processor 1402 receives forwarding entries, messages, and sends messages via communications interface 1401. The apparatus may further include: a memory 1403 for storing programs executed by the processor 1402. The processor 1402 is configured to execute the programs stored in the memory 1403, and is specifically configured to implement the schemes executed by the receiving unit 1301, the processing unit 1302, and the sending unit 1303.
The specific connection medium among the communication interface 1401, the processor 1402 and the memory 1403 is not limited in the embodiments of the present application. In the embodiment of the present application, the memory 1403, the processor 1402, and the communication interface 1401 are connected by the bus 1404 in fig. 14, the bus is represented by a thick line in fig. 14, and the connection manner between other components is merely illustrative and not limited. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 14, but this is not intended to represent only one bus or type of bus.
Memory 1403 may be volatile memory, such as RAM; memory 1403 may also be a non-volatile memory such as a ROM, flash memory, HDD or SSD, or memory 1403 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory 1403 may be a combination of the above memories.
An embodiment of the present invention further provides a communication system, including the forwarding table entry sending device in the embodiment corresponding to fig. 11 or fig. 12, and the message forwarding device in the embodiment corresponding to fig. 13 or fig. 14. The specific function of the forwarding table entry sending device may refer to an embodiment corresponding to fig. 11 or fig. 12, and the specific function of the packet forwarding device refers to an embodiment corresponding to fig. 13 or fig. 14 for the first time, which is not described herein again.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (17)

1.一种转发表项发送方法,其特征在于,包括:1. A method for sending a forwarding entry, comprising: 控制器获取第一转发表项,所述第一转发表项包括组表信息,所述组表信息中包括用于指示所述第一转发表项对应的业务流的业务类型的业务类型信息和组表标识符;The controller acquires a first forwarding entry, where the first forwarding entry includes group table information, and the group table information includes service type information used to indicate the service type of the service flow corresponding to the first forwarding entry and group table identifier; 所述控制器将所述第一转发表项发送给所述第一转发设备。The controller sends the first forwarding entry to the first forwarding device. 2.根据权利要求1所述的方法,其特征在于:所述第一转发表项的格式遵循第一表类型模板TTP,所述第一TTP为所述第一转发设备转发报文所遵循的规则,所述控制器与所述第一TTP未完成适配,其中,所述第一TTP中描述有所述第一转发设备所支持的每一业务流,所述第一转发设备所支持的每一业务流分别对应一个组表,所述第一转发设备所支持的每一业务流对应的一个组表包括的组表信息携带用于指示所述每一业务流的业务类型的业务类型信息;2. The method according to claim 1, wherein the format of the first forwarding entry follows the first table type template TTP, and the first TTP is the format followed by the first forwarding device to forward packets rule, the controller has not completed the adaptation with the first TTP, wherein each service flow supported by the first forwarding device is described in the first TTP, and each service flow supported by the first forwarding device is described in the first TTP. Each service flow corresponds to a group table respectively, and the group table information included in a group table corresponding to each service flow supported by the first forwarding device carries service type information used to indicate the service type of each service flow ; 所述控制器获取第一转发表项之前,所述方法还包括:Before the controller acquires the first forwarding entry, the method further includes: 所述控制器获取第二转发表项,所述第二转发表项的格式遵循第二表类型模板TTP,所述第二TTP为第二转发设备转发报文所遵循的规则,所述控制器与所述第二TTP完成了适配,其中,所述第二TTP描述有所述第二转发设备所支持的每一业务流,所述第二转发设备所支持的每一业务流分别对应一个组表,所述第二转发设备所支持的每一业务流对应的一个组表的组表信息携带用于指示所述每一业务流的业务类型的业务类型信息;The controller obtains the second forwarding entry, the format of the second forwarding entry follows the second table type template TTP, and the second TTP is the rule followed by the second forwarding device to forward packets, and the controller Completing the adaptation with the second TTP, wherein the second TTP describes each service flow supported by the second forwarding device, and each service flow supported by the second forwarding device corresponds to one a group table, where group table information of a group table corresponding to each service flow supported by the second forwarding device carries service type information used to indicate the service type of each service flow; 基于所述第二TTP与所述第一TTP的对应关系,所述控制器将所述第二转发表项转换为所述第一转发表项;其中,所述第二TTP与所述第一TTP的对应关系是所述控制器基于所述第一转发设备所支持的每一业务流对应的业务类型信息以及所述第二转发设备所支持的每一业务流对应的业务类型信息构建的。Based on the correspondence between the second TTP and the first TTP, the controller converts the second forwarding entry into the first forwarding entry; wherein the second TTP and the first The TTP correspondence is constructed by the controller based on service type information corresponding to each service flow supported by the first forwarding device and service type information corresponding to each service flow supported by the second forwarding device. 3.如权利要求2所述的方法,其特征在于,所述控制器获取所述第二转发表项之后,获取所述第一转发表项之前,所述方法还包括:3. The method according to claim 2, wherein after the controller acquires the second forwarding entry and before acquiring the first forwarding entry, the method further comprises: 所述控制器构建所述第二TTP与所述第一TTP的对应关系;The controller constructs a correspondence between the second TTP and the first TTP; 所述控制器构建所述第二TTP与所述第一TTP的对应关系,包括:The controller constructs the correspondence between the second TTP and the first TTP, including: 所述控制器获得所述第二TTP以及所述第一TTP;the controller obtains the second TTP and the first TTP; 所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息,并从所述第一TTP中解析出所述第一转发设备所支持的业务流的流路径的第一流路径信息;The controller parses the second flow path information for describing the flow path of the service flow supported by the second forwarding device from the second TTP, and parses the first TTP from the first TTP. first flow path information of the flow path of the service flow supported by the forwarding device; 所述控制器遍历所述第二流路径信息包括的业务流和所述第一流路径信息包括的业务流,确定具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流;从确定的具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流中确定所述第二流路径信息中的第二业务流与所述第一流路径信息中的第一业务流描述的业务相同;The controller traverses the service flow included in the second flow path information and the service flow included in the first flow path information, and determines that the service flow included in the first flow path information with the same service type information and the second flow path information include determine the service flow included in the first flow path information and the service flow included in the second flow path information with the same service type information to determine the second service flow in the second flow path information and the first flow path information. The services described by the first service flow in the first-class path information are the same; 所述控制器获得所述第二业务流的流路径信息与所述第一业务流的流路径信息的对应关系,从而确定所述第二TTP与所述第一TTP的对应关系。The controller obtains the correspondence between the flow path information of the second service flow and the flow path information of the first service flow, so as to determine the correspondence between the second TTP and the first TTP. 4.如权利要求3所述的方法,其特征在于,所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息,包括:4. The method according to claim 3, wherein the controller parses the second flow path for describing the flow path of the service flow supported by the second forwarding device from the second TTP information, including: 所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储所述第二表树状图;The controller parses out, from the second TTP, a second table tree diagram for describing the flow path relationship of the service flow supported by the second forwarding device, and stores the second table tree diagram; 其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述第二流表标识中包括每一业务流对应的组表的组ID;所述字段包括组ID对应的组表信息中携带的业务类型信息;所述字段包含于作为所述节点的第二流表标识对应的第二流表中;The nodes in the second table tree diagram are the second flow table identifiers that need to be matched by the service flow supported by the second forwarding device; the nodes in the second table tree diagram carry data from the second table tree diagram. The field required by the node to point to the child node of the node and the value of the field; the second flow table identifier includes the group ID of the group table corresponding to each service flow; the field includes the group table corresponding to the group ID Service type information carried in the information; the field is included in the second flow table corresponding to the second flow table identifier of the node; 所述控制器从所述第一TTP中解析出所述第一转发设备所支持的业务流的流路径的第一流路径信息,包括:The controller parses the first flow path information of the flow path of the service flow supported by the first forwarding device from the first TTP, including: 所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储所述第一表树状图;The controller parses out, from the first TTP, a first table tree diagram for describing flow path relationships of service flows supported by the first forwarding device, and stores the first table tree diagram; 其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;每一业务流对应的节点携带的字段及所述字段的值按照节点的指向顺序构成一个词组;所述第二流表标识中包括每一业务流对应的组表的组ID;所述词组中包括组ID对应的组表信息中携带的业务类型信息;所述字段包含于所述节点的第一流表标识对应的第一流表中。Wherein, the node in the first table tree diagram is the first flow table identifier that needs to be matched by the service flow supported by the first forwarding device; the node in the first table tree diagram carries the data from the node The fields required to point to the child nodes of the node and the values of the fields; the fields carried by the nodes corresponding to each service flow and the values of the fields form a phrase according to the pointing order of the nodes; the second flow table identifies It includes the group ID of the group table corresponding to each service flow; the phrase includes the service type information carried in the group table information corresponding to the group ID; the field is included in the first flow table identification of the node corresponding to the first flow in the table. 5.如权利要求4所述的方法,其特征在于,所述控制器遍历所述第二流路径信息包括的业务流和所述第一流路径信息包括的业务流,确定具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流,从确定的具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流中确定所述第二流路径信息中的第二业务流与所述第一流路径信息中的第一业务流描述的业务相同,包括:5. The method according to claim 4, wherein the controller traverses the service flow included in the second flow path information and the service flow included in the first flow path information, and determines the service flow with the same service type information. The service flow included in the first flow path information and the service flow included in the second flow path information are determined from the determined service flows included in the first flow path information and the service flows included in the second flow path information that have the same service type information. The second service flow in the second flow path information is the same as the service described by the first service flow in the first flow path information, including: 所述控制器遍历所述第一转发设备所支持的每一业务流对应的词组以及所述第二转发设备所支持的每一业务流对应的词组,确定包括相同业务类型信息的所述第二转发设备所支持的业务流对应的至少一个第二词组以及所述第一转发设备所支持的业务流对应的至少一个第一词组,对所述至少一个第二词组中包括的除业务类型信息之外的其它字段以及字段的值与所述至少一个第一词组中包括的除业务类型信息之外的其它字段以及字段的值进行匹配,根据匹配结果确定所述第二表树状图中描述的第二业务流与所述第一表树状图中描述的第一业务流所述描述的业务相同。The controller traverses the phrase corresponding to each service flow supported by the first forwarding device and the phrase corresponding to each service flow supported by the second forwarding device, and determines that the second forwarding device includes the same service type information. At least one second phrase corresponding to the service flow supported by the forwarding device and at least one first phrase corresponding to the service flow supported by the first forwarding device, for the at least one second phrase except the service type information included in the at least one second phrase. Other fields and field values other than those included in the at least one first phrase are matched with other fields and field values except the service type information included in the at least one first phrase. The second service flow is the same as the described service described in the first service flow described in the first table tree diagram. 6.如权利要求5所述的方法,其特征在于,所述控制器获得所述第二业务流的流路径信息与所述第一业务流的流路径信息的对应关系,包括:6. The method of claim 5, wherein the controller obtains the correspondence between the flow path information of the second service flow and the flow path information of the first service flow, comprising: 所述控制器确定所述第二表树状图描述的所述第二业务流的第二流表的顺序,根据确定的顺序依次确定所述第二流表中的字段对应在所述第一业务流的第一流表中的字段。The controller determines the order of the second flow table of the second service flow described in the second table tree diagram, and sequentially determines that the fields in the second flow table correspond to the first flow table according to the determined order. Fields in the first flow table of the business flow. 7.根据权利要求1至6任一项所述的方法,其特征在于:所述第一转发表项用于指示所述第一转发设备在转发报文时,基于所述报文所携带的组表信息中包括的用于指示所述报文对应的业务流的业务类型的业务类型信息,匹配到所述第一转发表项中的组表信息包括的用于指示所述第一转发表项对应的业务流的业务类型的业务类型信息,并基于所述匹配到的所述第一转发表项的组表信息对应的组表转发所述报文。7. The method according to any one of claims 1 to 6, wherein the first forwarding entry is used to instruct the first forwarding device to forward a packet based on the The service type information included in the group table information is used to indicate the service type of the service flow corresponding to the packet, and the group table information that matches the first forwarding table entry is included and used to indicate the first forwarding table the service type information of the service type of the service flow corresponding to the entry, and forward the packet based on the matched group table corresponding to the group table information of the first forwarding entry. 8.一种报文转发方法,其特征在于,包括:8. A message forwarding method, comprising: 转发设备接收控制器发送的转发表项,所述转发表项包括组表信息,所述组表信息包括用于指示所述转发表项对应的业务流的业务类型的业务类型信息和组表标识符;The forwarding device receives the forwarding entry sent by the controller, where the forwarding entry includes group table information, where the group table information includes service type information and a group table identifier used to indicate the service type of the service flow corresponding to the forwarding entry symbol; 所述转发设备接收报文,所述报文携带组表信息,所述组表信息中包括用于指示所述报文对应的业务流的业务类型的业务类型信息;The forwarding device receives a message, the message carries group table information, and the group table information includes service type information used to indicate a service type of a service flow corresponding to the message; 所述转发设备基于所述报文携带的所述组表信息包括的业务类型信息,匹配到所述转发表项中的组表信息包括的用于指示所述转发表项对应的业务流的业务类型的业务类型信息;The forwarding device matches, based on the service type information included in the group table information carried in the packet, to a service included in the group table information in the forwarding entry that is used to indicate the service flow corresponding to the forwarding entry Type of business type information; 所述转发设备基于所述匹配到的转发表项的组表信息对应的组表转发所述报文。The forwarding device forwards the packet based on the group table corresponding to the group table information of the matched forwarding entry. 9.一种转发表项发送装置,其特征在于,所述装置应用于控制器,包括:9. An apparatus for sending forwarding entries, wherein the apparatus is applied to a controller, comprising: 处理单元,用于获取第一转发表项,所述第一转发表项中包括组表信息,所述组表信息中包括用于指示所述第一转发表项对应的业务流的业务类型的业务类型信息和组表标识符;A processing unit, configured to acquire a first forwarding entry, where the first forwarding entry includes group table information, and the group table information includes a service type used to indicate a service flow corresponding to the first forwarding entry service type information and group table identifier; 发送单元,用于将所述第一转发表项发送给所述第一转发设备。A sending unit, configured to send the first forwarding entry to the first forwarding device. 10.如权利要求9所述的装置,其特征在于,所述第一转发表项的格式遵循第一表类型模板TTP,所述第一TTP为所述第一转发设备转发报文所遵循的规则,所述控制器与所述第一TTP未完成适配,其中,所述第一TTP中描述有所述第一转发设备所支持的每一业务流,所述第一转发设备所支持的每一业务流分别对应一个组表,所述第一转发设备所支持的每一业务流对应的一个组表包括的组表信息携带用于指示所述每一业务流的业务类型的业务类型信息;10 . The apparatus according to claim 9 , wherein the format of the first forwarding entry follows a first table type template TTP, and the first TTP is the format followed by the first forwarding device to forward packets. 11 . rule, the controller has not completed the adaptation with the first TTP, wherein each service flow supported by the first forwarding device is described in the first TTP, and each service flow supported by the first forwarding device is described in the first TTP. Each service flow corresponds to a group table respectively, and the group table information included in a group table corresponding to each service flow supported by the first forwarding device carries service type information used to indicate the service type of each service flow ; 所述处理单元,在获取所述第一转发表项之前,还用于获取第二转发表项,所述第二转发表项的格式遵循第二表类型模板TTP,所述第二TTP为第二转发设备转发报文所遵循的规则,所述控制器与所述第二TTP完成了适配,其中,所述第二TTP描述有所述第二转发设备所支持的每一业务流,所述第二转发设备所支持的每一业务流分别对应一个组表,所述第二转发设备所支持的每一业务流对应的一个组表的组表信息携带用于指示所述每一业务流的业务类型的业务类型信息;The processing unit, before acquiring the first forwarding entry, is further configured to acquire a second forwarding entry, where the format of the second forwarding entry follows the second table type template TTP, and the second TTP is the first forwarding entry. Two rules followed by the forwarding device for forwarding packets, the controller has completed the adaptation with the second TTP, wherein the second TTP describes each service flow supported by the second forwarding device, and the Each service flow supported by the second forwarding device corresponds to a group table respectively, and the group table information of a group table corresponding to each service flow supported by the second forwarding device is carried to indicate the each service flow. business type information of the business type; 所述处理单元,还用于基于所述第二TTP与所述第一TTP的对应关系,将所述第二转发表项转换为所述第一转发表项;其中,所述第二TTP与所述第一TTP的对应关系是所述控制器基于所述第一转发设备所支持的每一业务流对应的业务类型信息以及所述第二转发设备所支持的每一业务流对应的业务类型信息构建的。The processing unit is further configured to convert the second forwarding entry into the first forwarding entry based on the correspondence between the second TTP and the first TTP; wherein the second TTP and The corresponding relationship of the first TTP is that the controller is based on the service type information corresponding to each service flow supported by the first forwarding device and the service type corresponding to each service flow supported by the second forwarding device. information is constructed. 11.如权利要求10所述的装置,其特征在于,在获取所述第二转发表项之后,获取所述第一转发表项之前,所述处理单元,还用于构建所述第二TTP与所述第一TTP的对应关系;11 . The apparatus according to claim 10 , wherein, after acquiring the second forwarding entry and before acquiring the first forwarding entry, the processing unit is further configured to construct the second TTP. 12 . the corresponding relationship with the first TTP; 所述处理单元,具体用于获得所述第二TTP以及所述第一TTP,从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息,并从所述第一TTP中解析出所述第一转发设备所支持的业务流的流路径的第一流路径信息;The processing unit is specifically configured to obtain the second TTP and the first TTP, and parse out the second TTP from the second TTP for describing the flow path of the service flow supported by the second forwarding device. flow path information, and parse out the first flow path information of the flow path of the service flow supported by the first forwarding device from the first TTP; 所述处理单元,还用于遍历所述第二流路径信息包括的业务流和所述第一流路径信息包括的业务流,确定具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流,从确定的具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流中确定所述第二流路径信息中的第二业务流与所述第一流路径信息中的第一业务流描述的业务相同,获得所述第二业务流的流路径信息与所述第一业务流的流路径信息的对应关系,从而确定所述第二TTP与所述第一TTP的对应关系。The processing unit is further configured to traverse the service flow included in the second flow path information and the service flow included in the first flow path information, and determine the service flow included in the first flow path information with the same service type information and the second flow path information. The service flow included in the flow path information, the second service flow in the second flow path information is determined from the determined service flow included in the first flow path information and the service flow included in the second flow path information that have the same service type information The same as the service described by the first service flow in the first flow path information, obtain the corresponding relationship between the flow path information of the second service flow and the flow path information of the first service flow, so as to determine the second service flow The correspondence between the TTP and the first TTP. 12.如权利要求11所述的装置,其特征在于,所述处理单元,在从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息时,具体用于:12 . The apparatus according to claim 11 , wherein the processing unit parses the second TTP from the second TTP for describing the flow path of the service flow supported by the second forwarding device. 12 . When the flow path information is used, it is specifically used for: 从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图;Parse, from the second TTP, a second table tree diagram for describing the flow path relationship of the service flow supported by the second forwarding device; 所述装置还包括存储单元,用于存储所述第二表树状图;The apparatus further includes a storage unit for storing the second table tree diagram; 其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述第二流表标识中包括每一业务流对应的组表的组ID;所述字段包括组ID对应的组表信息中携带的业务类型信息;所述字段包含于作为所述节点的第二流表标识对应的第二流表中;The nodes in the second table tree diagram are the second flow table identifiers that need to be matched by the service flow supported by the second forwarding device; the nodes in the second table tree diagram carry data from the second table tree diagram. The field required by the node to point to the child node of the node and the value of the field; the second flow table identifier includes the group ID of the group table corresponding to each service flow; the field includes the group table corresponding to the group ID Service type information carried in the information; the field is included in the second flow table corresponding to the second flow table identifier of the node; 所述处理单元,在从所述第一TTP中解析出所述第一转发设备所支持的业务流的流路径的第一流路径信息时,具体用于:The processing unit, when parsing the first flow path information of the flow path of the service flow supported by the first forwarding device from the first TTP, is specifically configured to: 从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图;Parse, from the first TTP, a first table tree diagram for describing the flow path relationship of the service flow supported by the first forwarding device; 所述存储单元,还用于存储第一表树状图;The storage unit is also used to store the first table tree diagram; 其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;每一业务流对应的节点携带的字段及所述字段的值按照节点的指向顺序构成一个词组;所述第二流表标识中包括每一业务流对应的组表的组ID;所述词组中包括组ID对应的组表信息中携带的业务类型信息;所述字段包含于所述节点的第一流表标识对应的第一流表中。Wherein, the node in the first table tree diagram is the first flow table identifier that needs to be matched by the service flow supported by the first forwarding device; the node in the first table tree diagram carries the data from the node The fields required to point to the child nodes of the node and the values of the fields; the fields carried by the nodes corresponding to each service flow and the values of the fields form a phrase according to the pointing order of the nodes; the second flow table identifies It includes the group ID of the group table corresponding to each service flow; the phrase includes the service type information carried in the group table information corresponding to the group ID; the field is included in the first flow table identification of the node corresponding to the first flow in the table. 13.如权利要求12所述的装置,其特征在于,所述处理单元,在用于遍历所述第二流路径信息包括的业务流和所述第一流路径信息包括的业务流,确定具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流,从确定的具有相同业务类型信息的第一流路径信息包括的业务流和第二流路径信息包括的业务流中确定所述第二流路径信息中的第二业务流与所述第一流路径信息中的第一业务流描述的业务相同时,具体用于:13 . The apparatus according to claim 12 , wherein the processing unit, when traversing the service flow included in the second flow path information and the service flow included in the first flow path information, determines that the service flow has the same The service flow included in the first flow path information of the service type information and the service flow included in the second flow path information are determined from the service flow included in the first flow path information and the service flow included in the second flow path information with the same service type information. When it is determined that the second service flow in the second flow path information is the same as the service described by the first service flow in the first flow path information, it is specifically used for: 遍历所述第一转发设备所支持的每一业务流对应的词组以及所述第二转发设备所支持的每一业务流对应的词组,确定包括相同业务类型信息的所述第二转发设备所支持的业务流对应的至少一个第二词组以及所述第一转发设备所支持的业务流对应的至少一个第一词组,对所述至少一个第二词组中包括的除业务类型信息之外的其它字段以及字段的值与所述至少一个第一词组中包括的除业务类型信息之外的其它字段以及字段的值进行匹配,根据匹配结果确定所述第二表树状图中描述的第二业务流与所述第一表树状图中描述的第一业务流所述描述的业务相同。Traverse the phrase corresponding to each service flow supported by the first forwarding device and the phrase corresponding to each service flow supported by the second forwarding device, and determine that the second forwarding device including the same service type information supports At least one second phrase corresponding to the service flow of the first forwarding device and at least one first phrase corresponding to the service flow supported by the first forwarding device, the at least one second phrase included in the other fields except the service type information And the value of the field is matched with other fields other than the service type information included in the at least one first phrase and the value of the field, and the second service flow described in the second table tree diagram is determined according to the matching result. The described service is the same as the described service of the first service flow described in the first table tree diagram. 14.如权利要求13所述的装置,其特征在于,所述处理单元,在用于获得所述第二业务流的流路径信息与所述第一业务流的流路径信息的对应关系时,具体用于:14. The apparatus according to claim 13, wherein, when the processing unit is used to obtain the corresponding relationship between the flow path information of the second service flow and the flow path information of the first service flow, Specifically for: 确定第二表树状图描述的第二业务流的第二流表的顺序,根据确定的顺序依次确定第二流表中的字段对应在所述第一业务流的第一流表中的字段。The order of the second flow table of the second service flow described in the second table tree diagram is determined, and the fields in the second flow table corresponding to the fields in the first flow table of the first service flow are sequentially determined according to the determined order. 15.根据权利要求9至14任一项所述的装置,其特征在于:所述第一转发表项用于指示所述第一转发设备在转发报文时,基于所述报文所携带的组表信息中包括的用于指示所述报文对应的业务流的业务类型的业务类型信息,匹配到所述第一转发表项中的组表信息包括的用于指示所述第一转发表项对应的业务流的业务类型的业务类型信息,并基于所述匹配到的所述第一转发表项的组表信息对应的组表转发所述报文。15. The apparatus according to any one of claims 9 to 14, wherein the first forwarding entry is used to instruct the first forwarding device to forward a packet based on the The service type information included in the group table information is used to indicate the service type of the service flow corresponding to the packet, and the group table information that matches the first forwarding table entry is included and used to indicate the first forwarding table the service type information of the service type of the service flow corresponding to the entry, and forward the packet based on the matched group table corresponding to the group table information of the first forwarding entry. 16.一种报文转发装置,其特征在于,包括:16. A message forwarding device, comprising: 接收单元,用于接收控制器发送的转发表项,所述转发表项包括组表信息,所述组表信息包括用于指示所述转发表项对应的业务流的业务类型的业务类型信息和组表标识符;A receiving unit, configured to receive a forwarding table item sent by the controller, where the forwarding table item includes group table information, and the group table information includes service type information used to indicate the service type of the service flow corresponding to the forwarding table item and group table identifier; 所述接收单元,还用于接收报文,所述报文携带组表信息,所述报文携带的组表信息中包括用于指示所述报文对应的业务流的业务类型的业务类型信息;The receiving unit is further configured to receive a message, where the message carries group table information, and the group table information carried in the message includes service type information used to indicate the service type of the service flow corresponding to the message ; 处理单元,用于基于所述报文携带的所述组表信息包括的业务类型信息,匹配到所述转发表项中的组表信息包括的用于指示所述转发表项对应的业务流的业务类型的业务类型信息;The processing unit is configured to match, based on the service type information included in the group table information carried in the message, to match the group table information in the forwarding entry to indicate the service flow corresponding to the forwarding entry. business type information of the business type; 发送单元,用于基于所述处理单元匹配到的转发表项的组表信息对应的组表转发所述报文。A sending unit, configured to forward the message based on the group table corresponding to the group table information of the forwarding entry matched by the processing unit. 17.一种通信系统,其特征在于,包括权利要求9-15任一项所述的转发表项发送装置或权利要求16所述的报文转发装置。17 . A communication system, characterized by comprising the forwarding table item sending device according to any one of claims 9 to 15 or the message forwarding device according to claim 16 . 18 .
CN201610339670.5A 2016-05-19 2016-05-19 Forwarding table item sending method, message forwarding method and device Active CN107404440B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610339670.5A CN107404440B (en) 2016-05-19 2016-05-19 Forwarding table item sending method, message forwarding method and device
PCT/CN2017/082032 WO2017198052A1 (en) 2016-05-19 2017-04-26 Packet processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610339670.5A CN107404440B (en) 2016-05-19 2016-05-19 Forwarding table item sending method, message forwarding method and device

Publications (2)

Publication Number Publication Date
CN107404440A CN107404440A (en) 2017-11-28
CN107404440B true CN107404440B (en) 2021-01-29

Family

ID=60324840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610339670.5A Active CN107404440B (en) 2016-05-19 2016-05-19 Forwarding table item sending method, message forwarding method and device

Country Status (2)

Country Link
CN (1) CN107404440B (en)
WO (1) WO2017198052A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513456A (en) * 2018-10-12 2022-05-17 华为技术有限公司 A service flow processing method and device
CN113347090B (en) * 2020-02-18 2023-06-20 华为技术有限公司 Message processing method, forwarding device and message processing system
CN112968841B (en) * 2021-03-04 2023-04-07 杭州迪普信息技术有限公司 Message convergence and distribution method and device and electronic equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067534A (en) * 2012-12-26 2013-04-24 中兴通讯股份有限公司 Network address translation (NAT) implementing system, method and openflow switch
CN104079492A (en) * 2013-03-28 2014-10-01 华为技术有限公司 Method, device and system of configuring flow table in OpenFlow network
CN104252504A (en) * 2013-06-29 2014-12-31 华为技术有限公司 Method, equipment and system for inquiring data
WO2015063618A1 (en) * 2013-11-04 2015-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Service chaining in a cloud environment using software defined networking
CN104734948A (en) * 2013-12-20 2015-06-24 卫征 Method and device for achieving intelligent routing
CN105245363A (en) * 2015-09-23 2016-01-13 盛科网络(苏州)有限公司 Open Flow based linear protection method
WO2016053225A1 (en) * 2014-09-29 2016-04-07 Hewlett Packard Enterprise Development Lp Dynamic allocation of flow table capacity

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200122B (en) * 2013-03-05 2016-08-10 国家电网公司 A kind of software defined network is organized the processing method of table, system and controller
CN104247363B (en) * 2013-03-28 2017-03-29 华为技术有限公司 A kind of method of message transmissions and switching equipment and controller
US9674315B2 (en) * 2013-05-07 2017-06-06 Futurewei Technologies, Inc. Methods for dynamically binding header field identifiers in a network control protocol
CN103326884B (en) * 2013-05-30 2016-06-01 烽火通信科技股份有限公司 SDN combines Business Stream sensory perceptual system and the method for stream detection and bag detection
US9843504B2 (en) * 2013-08-09 2017-12-12 Futurewei Technologies, Inc. Extending OpenFlow to support packet encapsulation for transport over software-defined networks
CN104243340B (en) * 2014-09-28 2017-11-10 新华三技术有限公司 Message processing method and device in a kind of software defined network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067534A (en) * 2012-12-26 2013-04-24 中兴通讯股份有限公司 Network address translation (NAT) implementing system, method and openflow switch
CN104079492A (en) * 2013-03-28 2014-10-01 华为技术有限公司 Method, device and system of configuring flow table in OpenFlow network
CN104252504A (en) * 2013-06-29 2014-12-31 华为技术有限公司 Method, equipment and system for inquiring data
WO2015063618A1 (en) * 2013-11-04 2015-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Service chaining in a cloud environment using software defined networking
CN104734948A (en) * 2013-12-20 2015-06-24 卫征 Method and device for achieving intelligent routing
WO2016053225A1 (en) * 2014-09-29 2016-04-07 Hewlett Packard Enterprise Development Lp Dynamic allocation of flow table capacity
CN105245363A (en) * 2015-09-23 2016-01-13 盛科网络(苏州)有限公司 Open Flow based linear protection method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Reliable and flexible communications for power systems: Fault-tolerant multicast with SDN/OpenFlow;Pfeiffenberger Thomas;《2015 7th International Conference on New Technologies, Mobility and Security (NTMS). IEEE》;20150630;全文 *

Also Published As

Publication number Publication date
WO2017198052A1 (en) 2017-11-23
CN107404440A (en) 2017-11-28

Similar Documents

Publication Publication Date Title
CN102945249B (en) A kind of policing rule matching inquiry tree generation method, matching process and device
US11337211B2 (en) Operation request generating method, device, and system
CN105556916B (en) Method and device for information statistics of network flow
US8615015B1 (en) Apparatus, systems and methods for aggregate routes within a communications network
WO2017113300A1 (en) Route determining method, network configuration method and related device
CN111147372B (en) Downlink message sending and forwarding method and device
CN109218467A (en) A kind of method for network address translation and chip
CN107404440B (en) Forwarding table item sending method, message forwarding method and device
WO2011124030A1 (en) Method and device for storing routing table entry
CN103873464B (en) Message processing method and forwarding equipment
CN108965134B (en) Message forwarding method and device
CN107968749A (en) Realize method, exchange chip and the interchanger of QinQ route terminations
CN102014065A (en) Method for analyzing packet headers, header analysis preprocessing device and network processor
CN107919973B (en) Method and apparatus for configuring network device parameters
CN106453091B (en) The equivalent route management method and device of router Forwarding plane
US20220393978A1 (en) Packet processing method, forwarding device, and packet processing system
CN106936716B (en) A kind of TTP parsing conversion method, forwarding entry sending method and device
US8855015B2 (en) Techniques for generic pruning in a trill network
KR101800320B1 (en) Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded
CN107294746B (en) Method and equipment for deploying service
CN115834340A (en) Rule storage method and device, electronic equipment and storage medium
CN114430390A (en) Method and device for acquiring cross-domain link
CN105049375A (en) Data forwarding method and system based on cloud computing data center
CN114301775B (en) A storage business management method, device, and computer-readable storage medium
CN103997457B (en) Method for realizing OSPF unnumbered broadcast and NBMA interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载