WO2016034075A1 - 转发参数传递的方法及设备 - Google Patents

转发参数传递的方法及设备 Download PDF

Info

Publication number
WO2016034075A1
WO2016034075A1 PCT/CN2015/088275 CN2015088275W WO2016034075A1 WO 2016034075 A1 WO2016034075 A1 WO 2016034075A1 CN 2015088275 W CN2015088275 W CN 2015088275W WO 2016034075 A1 WO2016034075 A1 WO 2016034075A1
Authority
WO
WIPO (PCT)
Prior art keywords
forwarding
field
parameter
encoding rule
format encoding
Prior art date
Application number
PCT/CN2015/088275
Other languages
English (en)
French (fr)
Inventor
于光学
陈诚
马朋
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP15837710.1A priority Critical patent/EP3190751B1/en
Publication of WO2016034075A1 publication Critical patent/WO2016034075A1/zh
Priority to US15/449,862 priority patent/US10320660B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present application relates to the field of communication networks, and in particular, to a method, an apparatus, and a system for forwarding parameter transmission.
  • the SDN (Software Defined Networking) architecture based on the control forwarding separation idea is a new type of network switching model, which has promoted the innovation and development of the network. Its key components include OpenFlow switches and controllers. The interaction between the controller and the OpenFlow switch is completed through the control channel of the OpenFlow protocol specification. The controller implements the control function through the network view to generate a forwarding flow table for the OpenFlow switch. The OpenFlow switch forwards the data packet according to the flow table. The flow entry is mainly composed of matching fields and operations. However, a large number of traditional forwarding devices have been deployed on the Internet. SDN/OpenFlow is an emerging network architecture and forwarding model. How to adapt these traditional network forwarding devices that support the traditional forwarding model is also a challenge for SDN/OpenFlow.
  • NDM negotiable data forwarding face model
  • TTP table type template TTP (Table Typing Patterns) specification and description language
  • NDM/TTP defines a framework based on which allows vendors to define many different forwarding models based on actual application requirements and existing chip architectures. Each model can involve multiple tables, matching different fields, based on lookups. As a result, different actions are performed. Since the existing chips are based on existing chips, the matching fields and executed actions are limited. Therefore, NDM/TTP describes a limited number of OpenFLow switch forwarding capabilities defined in the OpenFlow protocol specification. set.
  • NDM/TTP solves the problem that OpenFLow is compatible with the traditional forwarding model to some extent, but some parameters required in the existing traditional forwarding logic and forwarding table are not the OpenFlow protocol specification.
  • the OpenFlow protocol is generally required to be supported in the prior art, but a long-term standard push is required, and each time a new OpenFlow specification is found to be added without a defined forwarding parameter, it needs to be performed once or A number of corresponding standards have been promoted to extend these forwarding parameters into the OpenFlow protocol specification, which is time consuming, laborious, and cumbersome, and has somewhat delayed and affected the speed of SDN/OpenFlow technology promotion and development.
  • the embodiment of the present invention provides a method, a device, and a system for forwarding a parameter.
  • the controller needs to transmit a forwarding parameter that is not defined by the OpenFlow protocol specification to a forwarding device that supports the traditional forwarding model in the SDN network, the OpenFlow protocol does not need to be extended.
  • the parameter passing is completed, so that OpenFlow can be better compatible with forwarding devices in the network that support the traditional forwarding model.
  • a first aspect of the embodiments of the present invention provides a method for forwarding parameter forwarding performed by a controller, which is applied to a network that controls forwarding and separation.
  • the network for controlling forwarding and forwarding includes a controller and a forwarding device, and the control Controlling the forwarding device, the method includes: the controller obtaining an extended forwarding model description, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate the first a type of the forwarding parameter and a location of the first forwarding parameter in the first field, the first field being a field in an OpenFlow protocol flow entry; the controller according to the first forwarding parameter The first format encoding rule is filled in the first field, and the flow entry carrying the first field is sent to the forwarding device by using an OpenFlow protocol, so that the forwarding device is configured according to the first format.
  • the encoding rule parses the first field in the flow entry to obtain the first forwarding parameter.
  • the method includes: the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and The location of the second forwarding parameter in the first field; correspondingly, the method further includes: the controller filling the second forwarding parameter into the first field according to the second format encoding rule Transmitting, by the forwarding device, the flow entry that carries the first field to the forwarding device by using an OpenFlow protocol, so that the forwarding device parses the foregoing in the flow entry according to the second format encoding rule. The first field obtains the second forwarding parameter.
  • the method includes: the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and Describe the location of the second forwarding parameter in the second field, the second field is a field in the OpenFlow protocol flow entry, the second field being different from the first field; correspondingly, the method further includes: the controller, according to the second format coding rule, the second forwarding parameter Filling in the second field, and sending the flow entry carrying the second field to the forwarding device by using an OpenFlow protocol, so that the forwarding device parses the flow table according to the second format encoding rule The second field in the item obtains the second forwarding parameter.
  • the method further includes: the first field is in an OpenFlow protocol Metadata MetaData field.
  • the fourth possible implementation manner of the first aspect Descriptive language extension grammar generation, the extended grammar comprising a field format encoding key, an encoded location key, and an information type key of an encoding location, wherein the field format encoding key is used to indicate the extended grammar
  • the code location keyword is used to indicate a location in a field where data is stored
  • the information type keyword of the code location is used to indicate the type of the data.
  • the method further includes: the type of the data is a virtual route forwarding instance identifier VRFID, a next hop IP address, and a Interface or table item index.
  • the type of the data is a virtual route forwarding instance identifier VRFID, a next hop IP address, and a Interface or table item index.
  • the method further includes: the extended forwarding model description is saved in the On the controller and/or on the forwarding device.
  • a second aspect of the embodiments of the present invention provides a method for forwarding a forwarding parameter performed by a forwarding device, which is applied to a network that controls forwarding and separation.
  • the network for controlling forwarding and forwarding includes a controller and a forwarding device, and the forwarding is performed.
  • the device receives the control of the controller, the method includes: the forwarding device obtains an extended forwarding model description, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate a type of the first forwarding parameter and a location of the first forwarding parameter in the first field, where the first field is a field in an OpenFlow protocol flow entry; the forwarding device receives the identifier sent by the controller Carrying the OpenFlow protocol flow entry of the first field, parsing the first field according to the first format coding rule to obtain the first forwarding parameter.
  • the method includes: the extended forwarding model description
  • the method further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the first field; accordingly, the method further
  • the forwarding device receives the OpenFlow protocol flow entry that is sent by the controller and carries the first field, and parses the first field to obtain the second forwarding according to the second format coding rule. parameter.
  • the method further includes: the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and The second forwarding parameter is located in the second field, the second field is a field in the OpenFlow protocol flow entry, and the second field is different from the first field; correspondingly, the method further includes: The forwarding device receives the OpenFlow protocol flow entry that is sent by the controller and carries the second field, and parses the second field to obtain the second forwarding parameter according to the second format coding rule.
  • the method further includes: the first field is in an OpenFlow protocol Metadata MetaData field.
  • the fourth possible implementation manner of the second aspect Descriptive language extension grammar generation, the extended grammar comprising a field format encoding key, an encoded location key, and an information type key of an encoding location, wherein the field format encoding key is used to indicate the extended grammar
  • the code location keyword is used to indicate a location in a field where data is stored
  • the information type keyword of the code location is used to indicate the type of the data.
  • the method further includes: the type of the data is a virtual route forwarding instance identifier VRFID, a next hop IP address, outbound interface, or entry index.
  • the type of the data is a virtual route forwarding instance identifier VRFID, a next hop IP address, outbound interface, or entry index.
  • the method further includes: the extended forwarding model description is saved in the On the controller and/or on the forwarding device.
  • a third aspect of the embodiments of the present invention provides a controller, which is applied to a network that controls forwarding separation.
  • the control forwarding and separating network includes the controller and a forwarding device, and the controller controls the forwarding.
  • the device comprising: an obtaining unit for obtaining an extended forwarding mode a type description, the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate a type of the first forwarding parameter and a location of the first forwarding parameter in the first field,
  • the first field is a field in the OpenFlow protocol flow entry;
  • the sending unit is configured to fill the first forwarding parameter into the first field according to the first format encoding rule, and carry the first The flow entry of the field is sent to the forwarding device by using the OpenFlow protocol, so that the forwarding device parses the first field in the flow entry according to the first format encoding rule, to obtain the first A forwarding parameter.
  • the method further includes: the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the first field; the sending unit is further configured to: fill the second forwarding parameter into the first field according to the second format encoding rule, and carry the The flow entry of the first field is sent to the forwarding device by using the OpenFlow protocol, so that the forwarding device parses the first field in the flow entry according to the second format encoding rule, to obtain a The second forwarding parameter is described.
  • the method further includes: the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and Determining a location of the second forwarding parameter in the second field, the second field is a field in an OpenFlow protocol flow entry, the second field is different from the first field, and the sending unit is further configured to The second forwarding parameter is filled in the second field according to the second format encoding rule, and the flow entry carrying the second field is sent to the forwarding device by using an OpenFlow protocol, so that the forwarding device Parsing the second field in the flow entry according to the second format encoding rule to obtain the second forwarding parameter.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and Determining a location of the second forwarding parameter in the second field, the second field is a field in an OpenFlow protocol flow entry, the second field is different from the first field, and
  • a fourth aspect of the embodiments of the present invention provides a forwarding device, which is applied to a network that controls forwarding and separation.
  • the control forwarding and separating network includes a controller and the forwarding device, and the forwarding device receives the control.
  • the device includes: an obtaining unit, configured to obtain an extended forwarding model description, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate the first forwarding parameter And a location of the first forwarding parameter in the first field, where the first field is a field in an OpenFlow protocol flow entry; the receiving unit is configured to receive the first The OpenFlow protocol flow entry of the field parses the first field according to the first format coding rule to obtain the first forwarding parameter.
  • the method further includes: the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the first field, where the first field is a field in an OpenFlow protocol flow entry; the receiving unit is further configured to receive, by the forwarding device, the bearer sent by the controller The OpenFlow protocol flow entry of the first field parses the first field according to the second format coding rule to obtain the second forwarding parameter.
  • the method further includes: the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and Determining a location of the second forwarding parameter in the second field, the second field is a field in an OpenFlow protocol flow entry, the second field is different from the first field; the sending unit is further configured to The controller fills the second forwarding parameter into the second field according to the second format encoding rule, and sends a flow entry carrying the second field to the forwarding device by using an OpenFlow protocol, so that The forwarding device parses the second field in the flow entry according to the second format encoding rule to obtain the second forwarding parameter.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and Determining a location of the second forwarding parameter in the second field, the second field is a field in an OpenFlow protocol flow entry, the second field is different from the first field;
  • a fifth aspect of the embodiments of the present invention provides a system for implementing forwarding parameter transmission, which is applied to a network for controlling forwarding and separation.
  • the system includes: a controller and a forwarding device; and the controller includes: the third Any of the controllers of the aspect; the forwarding device comprises: any of the forwarding devices of the above fourth aspect.
  • the embodiment of the present invention implements the forwarding parameters required by the traditional forwarding device by extending the forwarding model description language, conforms to the OpenFlow protocol specification, and is carried in the field of the OpenFlow protocol specification, and is sent from the controller to the forwarding device, and is forwarded on the forwarding device.
  • the field of the OpenFlow protocol specification is restored to the forwarding parameters required by the forwarding device.
  • the present invention provides a method for simply and efficiently delivering forwarding parameters, thereby making OpenFlow more compatible with traditional forwarding devices in the network.
  • FIG. 1 is a schematic flowchart of a method for transmitting a forwarding parameter according to an embodiment of the present invention
  • 2-1 is a schematic diagram of carrying the first forwarding parameter in the embodiment of the present invention.
  • 2-3 is a schematic diagram of carrying a third forwarding parameter in the embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a method for transmitting a forwarding parameter according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a controller according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a forwarding device according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a forwarding parameter delivery system according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a controller according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a forwarding device according to an embodiment of the present invention.
  • OpenFlow Switch Specification 1.x OpenFlow Switch Specification 1.x
  • NDM/TTP OpenFlow Negotiable Datapath Models specification published by ONF.
  • the solution of the embodiment of the present invention relates to the controller and the forwarding device.
  • the method for transmitting the forwarding parameter in the embodiment of the present invention is explained below.
  • FIG. 1 a schematic flowchart of a method for transmitting a forwarding parameter by a controller according to an embodiment of the present invention is shown, which is applied to a network that controls forwarding and separation.
  • the network that controls forwarding and separation includes the controller and a forwarding device, and the controller controls The forwarding device.
  • the specific method may include the following steps:
  • Step 101 The controller obtains an extended forwarding model description, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate a type of the first forwarding parameter and the first Transmitting a location of the parameter in the first field, where the first field is a field in an OpenFlow protocol flow entry;
  • Step 102 The controller fills the first forwarding parameter into the first field according to the first format encoding rule, and sends the flow entry carrying the first field to the portal through the OpenFlow protocol.
  • the forwarding device is configured to enable the forwarding device to parse the first field in the flow entry according to the first format encoding rule to obtain the first forwarding parameter.
  • the forwarding model description is used to describe the forwarding capabilities and behavior of a particular forwarding device, such as TTP or NDM defined by the ONF, describing the OpenFLow switch forwarding defined in the OpenFlow protocol specification. A limited subset of abilities and behaviors.
  • the forwarding model description is generated according to the forwarding capability of the forwarding device, and is generated according to a forwarding model description language, for example, may be manually generated.
  • the embodiment of the invention extends the forwarding model description language, adds a syntax for formatting and encoding a field, can semanticize a non-semantic field, and escape a semantically-defined field.
  • the first format encoding rule is generated according to the extended format encoding syntax.
  • the first format encoding rule is generated according to a syntax of a forwarding model description language extension, where the extended syntax includes a field format encoding (Field Format Encoding, FldFmtEncd) keyword, and a coded location (FmtEncd_Location) keyword. And an information type (FmtEncd_Type) keyword of the encoding location, wherein the field format encoding keyword is used to indicate a function of the extended syntax, and the encoding location keyword is used to indicate a location in a field where data is stored, The information type keyword of the encoding location is used to indicate the type of the data.
  • FmtEncd_Type information type
  • the type of the data is a virtual route forwarding instance identifier VRFID, a next hop IP address, an outbound interface, or an entry index.
  • a variable can be defined to describe the type of a parameter, which is a specific value of the information type keyword of the encoding position.
  • An example of the syntax of the extension is as follows:
  • Figure 2-1 schematically illustrates the manner in which the first forwarding parameter is carried by the first field in accordance with the first format encoding rule.
  • the length of the first field is M bits, and the first to Nth bits indicate the position where the first forwarding parameter is placed in the first field, 1 ⁇ N ⁇ M.
  • the first field is a metadata MetaData field in the OpenFlow protocol.
  • the extended forwarding model description is saved on the controller and/or on the forwarding device.
  • the controller obtains an extended forwarding model description manner, which may be dynamically obtained from the control channel between the controller and the forwarding device.
  • the forwarding device is obtained and saved on the controller; or the administrator directly saves the controller on the controller by manual configuration; or the controller does not save the forwarding model description, and if necessary, passes through the
  • the control channel between the controller and the forwarding device is dynamically read from the forwarding device in real time.
  • the forwarding device receives the flow entry that carries the first field. After receiving the flow entry, the forwarding device obtains the first field in the flow entry, and parses the first field in the flow entry according to the first format coding rule. Obtaining the first forwarding parameter.
  • the manner in which the forwarding device obtains the first format encoding rule may be that the administrator directly saves the extended forwarding model description of the first format encoding rule in the manual configuration manner.
  • the forwarding device is obtained by the forwarding device; or the extended forwarding model description is dynamically obtained from the controller by using a control channel between the controller and the forwarding device, and is saved in the And forwarding, on the forwarding device, the forwarding device does not save the extended forwarding model description, and if necessary, dynamically and dynamically from the controller through the control channel between the controller and the forwarding device Get on.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate the type of the second forwarding parameter and the second forwarding parameter is in the first field
  • the method further includes: the controller filling the second forwarding parameter into the first field according to the second format encoding rule, and placing the first field
  • the flow entry is sent to the forwarding device by using the OpenFlow protocol, so that the forwarding device parses the first field in the flow entry according to the second format encoding rule, to obtain the second forwarding parameter.
  • FIG. 2-2 is a schematic diagram showing the manner in which the first forwarding parameter and the second forwarding parameter are carried by the first field according to the first format encoding rule and the second format encoding rule.
  • the length of the first field is M bits
  • the first to Nth bits indicate the position where the first forwarding parameter is placed in the first field
  • the Tth to Mth bits indicate the The second forwarding parameter is placed in the position of the first field, 1 ⁇ N ⁇ T, N ⁇ T ⁇ M.
  • the controller sends the flow entry that carries the first field to the forwarding device by using an OpenFlow protocol, and the specific sending method may be, for example, forwarding the first forwarding.
  • the parameter and the second forwarding parameter are simultaneously carried in the first field in a flow entry, and then the flow entry is sent to the forwarding device; or may be sent separately, for example, twice.
  • the first field of the flow entry that is delivered at one time carries the first forwarding parameter
  • the first field of the flow entry that is delivered another time carries the second forwarding parameter.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the second field,
  • the second field is a field in an OpenFlow protocol flow entry, and the second field is different from the first field.
  • the method further includes: the controller, according to the second forwarding parameter, The second format encoding rule is filled in the second field, and the flow entry carrying the second field is sent to the forwarding device by using an OpenFlow protocol, so that the forwarding device encodes according to the second format.
  • the rule parses the second field in the flow entry to obtain the second forwarding parameter.
  • the first forwarding parameter is carried by the first field according to the first format encoding rule
  • the second field is carried by the second field according to the second format encoding rule.
  • the length of the first field is M bits, and the first to Nth bits indicate the position where the first forwarding parameter is placed in the first field, 1 ⁇ N ⁇ M;
  • the length is S bits, and the first bit to the Tth bit indicate the position where the second forwarding parameter is placed in the second field, 1 ⁇ T ⁇ S.
  • first in the first field and the “second” in the second field in the embodiment of the present invention are only used to indicate that two fields are distinguished, and the order is not limited; “First”, the “second” in the second format encoding rule is only used to indicate that the two format encoding rules are distinguished, and the order is not limited; “first” in the first forwarding parameter, and “second in the second forwarding parameter” The second one is only used to indicate that two forwarding parameters are distinguished, and the order is not limited.
  • the embodiment of the present invention only illustrates the case of carrying and transmitting two forwarding parameters.
  • three or more forwarding parameters may also be delivered as needed.
  • the first embodiment of the present invention implements the forwarding parameters required by the traditional forwarding device by extending the forwarding model description language, conforms to the OpenFlow protocol specification, and is carried in the field of the OpenFlow protocol specification, and is sent from the controller to the forwarding device to enable forwarding.
  • the field of the OpenFlow protocol specification is restored on the device to the forwarding parameters required by the forwarding device.
  • the embodiments of the present invention facilitate the simple and efficient delivery of forwarding parameters, thereby making OpenFlow more compatible with traditional forwarding devices in the network.
  • the embodiment of the present invention further provides a forwarding parameter transmission method of the forwarding device, which is applied to a network that controls forwarding and separation, and the control forwarding and separating network includes the control. And the forwarding device, the forwarding device receiving control of the controller.
  • a forwarding parameter transmission method of the forwarding device which is applied to a network that controls forwarding and separation, and the control forwarding and separating network includes the control.
  • the forwarding device the forwarding device receiving control of the controller.
  • Step 301 The forwarding device obtains an extended forwarding model description, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate a type of the first forwarding parameter and the first Forwarding the location of the parameter in the first field, the first field being a field in an OpenFlow OpenFlow protocol flow entry.
  • the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate a type of the first forwarding parameter and the first Forwarding the location of the parameter in the first field, the first field being a field in an OpenFlow OpenFlow protocol flow entry.
  • Step 302 The forwarding device receives the OpenFlow protocol flow entry that is sent by the controller and carries the first field, and parses the first field according to the first format coding rule to obtain the first Forward parameters.
  • the first format encoding rule, and the extended forwarding model description language for generating the first format encoding rule in the embodiment refer to the corresponding description in the first embodiment, where No longer.
  • Figure 2-1 schematically illustrates the manner in which the first forwarding parameter is carried by the first field in accordance with the first format encoding rule.
  • Figure 2-1 schematically illustrates the manner in which the first forwarding parameter is carried by the first field in accordance with the first format encoding rule.
  • the first field is a metadata MetaData field in the OpenFlow protocol.
  • the extended forwarding model description is saved on the controller and/or on the forwarding device.
  • the forwarding device obtains the extended forwarding model description manner, and the administrator may directly describe the extended forwarding model that includes the first format encoding rule by manually configuring. Storing on the forwarding device; or dynamically obtaining, by the control channel between the controller and the forwarding device, the extended forwarding model description from the controller and saving the forwarding model in the forwarding device The forwarding device does not save the extended forwarding model description, and if necessary, dynamically reads from the controller through the control channel between the controller and the forwarding device. take.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and the second forwarding parameter is in the first field
  • the method further includes: the forwarding device receiving, by the controller, the OpenFlow protocol flow entry carrying the first field, according to the second format coding rule, A field parsing results in the second forwarding parameter.
  • FIG. 2-2 schematically illustrates a manner in which the first forwarding parameter and the second forwarding parameter are carried by the first field according to the first format encoding rule and the second format encoding rule.
  • the forwarding device receives the OpenFlow protocol flow entry that is sent by the controller and carries the first field
  • the specific receiving method may be that the flow entry is received once.
  • the first field in the flow entry carries the first forwarding parameter and the second forwarding parameter, and may also receive the flow entry twice, where the received flow entry carries the first forwarding The first field of the parameter, and the other received flow entry carries the first field of the second forwarding parameter.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the second field,
  • the second field is a field in the OpenFlow protocol flow entry, and the second field is different from the first field.
  • the method further includes: the forwarding device receiving the bearer sent by the controller The OpenFlow protocol flow entry of the second field parses the second field according to the second format coding rule to obtain the second forwarding parameter.
  • the first forwarding parameter is carried by the first field according to the first format coding rule
  • the second field is carried by the second field according to the second format coding rule.
  • first in the first field and the “second” in the second field in the embodiment of the present invention are only used to indicate that two fields are distinguished, and the order is not limited; “First”, the “second” in the second format encoding rule is only used to indicate that the two format encoding rules are distinguished, and the order is not limited; “first” in the first forwarding parameter, and “second in the second forwarding parameter” The second one is only used to indicate that two forwarding parameters are distinguished, and the order is not limited.
  • the embodiment of the present invention only illustrates the case of carrying and transmitting two forwarding parameters.
  • three or more forwarding parameters may also be delivered as needed.
  • a field for receiving an OpenFlow protocol specification of a forwarding parameter required by the traditional forwarding device from the controller is implemented on the forwarding device, and the field of the OpenFlow protocol specification is used. Restore to the forwarding parameters required by the forwarding device.
  • the embodiments of the present invention facilitate the simple and efficient delivery of forwarding parameters, thereby making OpenFlow more compatible with traditional forwarding devices in the network.
  • an embodiment of the present invention provides a controller 400, where the controller 400 controls a forwarding device, and is applied to a network that controls forwarding and separation, and includes:
  • the obtaining unit 401 is configured to obtain an extended forwarding model description, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate a type of the first forwarding parameter and the first forwarding The location of the parameter in the first field, the first field being a field in the OpenFlow OpenFlow protocol flow entry.
  • the sending unit 402 is configured to fill the first forwarding parameter into the first field according to the first format encoding rule, and send the flow entry that carries the first field to the Forwarding on the device, so that the forwarding device parses the first field in the flow entry according to the first format coding rule, to obtain the first forwarding parameter.
  • an optional implementation is as follows:
  • the extended forwarding model description further includes a second format encoding rule, and the second format encoding
  • the code rule is used to indicate the type of the second forwarding parameter and the location of the second forwarding parameter in the first field.
  • the sending unit 402 is further configured to: fill the second forwarding parameter into the first field according to the second format encoding rule, and pass the flow entry carrying the first field to an OpenFlow protocol. Sending to the forwarding device, so that the forwarding device parses the first field in the flow entry according to the second format encoding rule, to obtain the second forwarding parameter.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the second field, where The two fields are fields in an OpenFlow protocol flow entry, and the second field is different from the first field.
  • the sending unit 402 is further configured to: fill the second forwarding parameter into the second field according to the second format encoding rule, and send the flow entry that carries the second field to the OpenFlow protocol to And the forwarding device is configured to enable the forwarding device to parse the second field in the flow entry according to the second format encoding rule to obtain the second forwarding parameter.
  • control device provided by the third embodiment of the present invention
  • functional units of the control device are based on the specific implementation of the method provided in the first embodiment.
  • the definition of the term and the solution to the problem are consistent with the first embodiment, and details are not described herein again. .
  • the controller provided in Embodiment 3 of the present invention obtains an extended forwarding model description by the obtaining unit 401, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate the first forwarding parameter.
  • the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate the first forwarding parameter.
  • a type of the first forwarding parameter in the first field the first field is a field in an OpenFlow protocol flow entry; the first forwarding parameter is sent by the sending unit 402 according to the first
  • the format encoding rule fills in the first field, and sends the flow entry carrying the first field to the forwarding device by using an OpenFlow protocol, so that the forwarding device according to the first format encoding rule Parsing the first field in the flow entry to obtain the first forwarding parameter.
  • the embodiments of the present invention facilitate the simple and efficient delivery of forwarding parameters, thereby making OpenFlow more compatible with traditional forwarding devices in the network.
  • an embodiment of the present invention provides a forwarding device 500, where the forwarding device The 500 is controlled by the controller and is applied to the network that controls the forwarding and separation, including:
  • the obtaining unit 502 is configured to obtain an extended forwarding model description, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate a type of the first forwarding parameter and the first forwarding The location of the parameter in the first field, the first field being a field in the OpenFlow OpenFlow protocol flow entry.
  • the receiving unit 501 is configured to receive the OpenFlow protocol flow entry that is sent by the controller and that carries the first field, and parse the first field according to the first format coding rule to obtain the first forwarding parameter.
  • an optional implementation is as follows:
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the first field.
  • the receiving unit 501 is further configured to receive the OpenFlow protocol flow entry that is sent by the controller and that carries the first field, and parse the first field according to the second format coding rule to obtain the The second forwarding parameter.
  • the extended forwarding model description further includes a second format encoding rule, where the second format encoding rule is used to indicate a type of the second forwarding parameter and a location of the second forwarding parameter in the second field, where The two fields are fields in an OpenFlow protocol flow entry, and the second field is different from the first field.
  • the receiving unit 501 is further configured to receive the OpenFlow protocol flow entry that is sent by the controller and that carries the second field, and parse the second field to obtain the second forwarding according to the second format coding rule. parameter.
  • the functional units of the forwarding device provided by the fourth embodiment of the present invention are based on the specific implementation of the method provided in the second embodiment.
  • the definition of the term and the solution to the problem are consistent with the second embodiment. .
  • the forwarding device provided by the fourth embodiment of the present invention obtains the extended forwarding model description by the obtaining unit 502, where the extended forwarding model description includes a first format encoding rule, where the first format encoding rule is used to indicate the first forwarding parameter.
  • Type and the first forwarding parameter in the first field The first field is a field in the OpenFlow protocol flow entry; the receiving unit 501 receives the OpenFlow protocol flow entry that is sent by the controller and carries the first field, according to the The first format encoding rule parses the first field to obtain the first forwarding parameter.
  • the embodiments of the present invention facilitate the simple and efficient delivery of forwarding parameters, thereby making OpenFlow more compatible with traditional forwarding devices in the network.
  • an embodiment of the present invention provides a system for forwarding parameter transmission, which is applied to a network for controlling forwarding separation, including: a controller 601 and a forwarding device 602;
  • the controller 601 includes:
  • the forwarding device 602 includes:
  • the functional units of the controller and the forwarding device provided by the fifth embodiment of the present invention are based on the specific implementation of the methods provided in Embodiments 1 to 2 and the combination of the third to fourth devices, and the definition and solution of terms. The problem is consistent with the first to fourth embodiments and will not be described here.
  • the system provided in the fifth embodiment of the present invention implements the forwarding parameters required by the traditional forwarding device according to the combination of the controller described in the third embodiment and the forwarding device described in the fourth embodiment, and complies with the OpenFlow protocol specification.
  • the field of the OpenFlow protocol specification is carried, and is sent from the controller to the forwarding device, and the field of the OpenFlow protocol specification is restored on the forwarding device to the forwarding parameter required by the forwarding device.
  • the embodiments of the present invention facilitate the simple and efficient delivery of forwarding parameters, thereby making OpenFlow more compatible with traditional forwarding devices in the network.
  • an embodiment of the present invention provides a control device 700 that can be embedded or is itself a microprocessor computer, such as a general-purpose computer, a custom machine, a mobile phone terminal, or a tablet device, including: at least: A processor 704, a memory 706, a communication interface 702, and a bus 708.
  • the processor 704, the memory 706, and the communication interface 702 are connected by bus 708 and complete communication with each other.
  • the bus 708 may be an Industry Standard Architecture (ISA) bus or a Peripheral Component (PCI) bus. Or extend the Industrial Standard Architecture (EISA) bus.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component
  • EISA Industrial Standard Architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For convenience of representation, only one thick line is shown in FIG. 7, but it does not mean that there is only one bus or one type of bus.
  • Memory 706 is for storing executable program code, the program code including computer operating instructions.
  • Memory 706 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
  • the processor 704 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more configured to implement the embodiments of the present invention. integrated circuit.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • the communication interface 702 is configured to perform the operation that the controller in the third embodiment sends the flow entry carrying the first field to the forwarding device through an OpenFlow protocol and/or obtains an extended forwarding model description.
  • the communication interface 702 is further configured to perform the operation that the controller in the third embodiment sends the flow entry carrying the second field to the forwarding device by using an OpenFlow protocol.
  • the memory 706 is configured to store an instruction.
  • the processor 704 is configured to read the instructions stored in the memory 706, so as to perform the operations performed by the controller in the third embodiment to fill the first forwarding parameter into the first field according to the first format encoding rule.
  • the processor 704 further performs: filling the second forwarding parameter into the first field according to the second format encoding rule.
  • the processor 704 further performs: filling the second forwarding parameter into the second field according to the second format encoding rule.
  • an embodiment of the present invention provides a forwarding device 800 that can be embedded or is itself a microprocessor computer, such as a general-purpose computer, a custom machine, a mobile phone terminal, or a tablet device, including: at least: A processor 804, a memory 806, a communication interface 802, and a bus 808.
  • processor 804, memory 806, and communication interface 802 are connected by bus 808 and complete communication with one another.
  • the bus 808 can be an industry standard architecture (Industry Standard Architecture, Referred to as ISA) bus, Peripheral Component (PCI) bus or Extended Industry Standard Architecture (EISA) bus.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 8, but it does not mean that there is only one bus or one type of bus.
  • Memory 806 is for storing executable program code, the program code including computer operating instructions.
  • Memory 806 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
  • the processor 804 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more configured to implement the embodiments of the present invention. integrated circuit.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • the processor 804 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more configured to implement the embodiments of the present invention. integrated circuit.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • the communication interface 802 is configured to perform the operation of receiving, by the controller, the OpenFlow protocol flow entry carrying the first field and/or obtaining an extended forwarding model description in Embodiment 4.
  • the communication interface 802 is further configured to perform the operation of receiving, by the controller, the OpenFlow protocol flow entry that carries the second field in Embodiment 4.
  • the storage 806 is configured to store the forwarding entry saved in the saving unit 520 in FIG. 5;
  • the memory 806 is further configured to store an instruction.
  • the processor 804 is configured to read the forwarding entry and the instruction stored in the memory 806, so as to perform the operation of parsing the first field to obtain the first forwarding parameter according to the first format encoding rule in Embodiment 4.
  • the processor 804 further performs an operation of parsing the first field to obtain the second forwarding parameter according to the second format encoding rule in Embodiment 4.
  • the processor 804 further performs an operation of parsing the second field to obtain the second forwarding parameter according to the second format encoding rule in Embodiment 4.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种转发参数传递的方法、装置及系统,包括:所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。本发明提供了一种简单高效地传递转发参数的方法。

Description

转发参数传递的方法及设备
本申请要求于2014年9月5日提交中国专利局、申请号为CN 201410453369.8、发明名称为“转发参数传递的方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信网络领域,具体涉及一种转发参数传递的方法、装置以及系统。
背景技术
基于控制转发分离思想的SDN(Software Defined Networking)架构,是一种新型网络交换模型,对网络的创新发展起到了较好的推动作用,其关键组件包括OpenFlow交换机和控制器。控制器和OpenFlow交换机之间通过OpenFlow协议规范的控制通道完成消息的交互和信息的传递。控制器通过全网络视图来实现管控功能,为OpenFlow交换机生成转发流表;OpenFlow交换机根据流表来转发数据包,流表项主要由匹配字段(match fields)和操作(instructions)等部分组成。然而,现网上已经部署了大量的传统转发设备,SDN/OpenFlow毕竟是新兴的网络架构和转发模型,如何兼容这些支持传统转发模型的传统网络转发设备,也是SDN/OpenFlow面临的挑战。
为了兼容这些支持传统转发模型的网络转发设备,ONF(Open Networking Foundation)定义了可协商的数据转发面模型NDM(Negotiable Datapath Models)和表类型模板TTP(Table Typing Patterns)规范和描述语言,TTP是NDM的第一阶段,支持现有的OpenFlow协议版本,如OpenFlow-Switch 1.x。NDM/TTP定义了一个框架,基于这个框架,允许厂商基于实际的应用需求和现有的芯片架构来定义很多种不同的转发模型,每种模型可以涉及多张表,匹配不同的字段,基于查找结果执行不同的动作,由于是基于现有传统的芯片,无论匹配的字段还是执行的动作都是有限制的,所以,NDM/TTP描述了OpenFlow协议规范中定义的OpenFLow交换机转发能力的一个有限子集。
NDM/TTP一定程度上解决了OpenFLow兼容传统转发模型的问题,但是当现有传统转发逻辑和转发表中需要的一些参数是OpenFlow协议规范没有 定义的转发参数时,现有技术中通常需要扩展OpenFlow协议来支持,但是需要进行长时间的标准推动,而且每当发现需要增加一个新的OpenFlow规范没有定义的转发参数时,都需要进行一次或多次相应的标准推动,将这些转发参数扩展到OpenFlow协议规范中来,非常耗时费力繁琐、一定程度上拖延和影响了SDN/OpenFlow技术推动和发展的速度。
发明内容
本发明实施例提供一种转发参数传递的方法、装置及系统,当控制器需要向SDN网络中支持传统转发模型的转发设备传递OpenFlow协议规范没有定义的转发参数时,无需扩展OpenFlow协议,便可完成参数传递,从而使得OpenFlow能更好地兼容网络中支持传统转发模型的转发设备。
为了解决上述问题,本发明实施例第一方面提供一种控制器执行的转发参数传递的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述控制器控制所述转发设备,所述方法包括:所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
在第一方面的第一种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
在第一方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是 OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
结合第一方面或者第一方面的第一种至第二种任一可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:所述第一字段是OpenFlow协议中的元数据MetaData字段。
结合第一方面或者第一方面的第一种至第三种任一可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,还包括:所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
结合第一方面或者第一方面的第一种至第五种任一可能的实现方式,在第一方面的第六种可能的实现方式中,还包括:所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
为了解决上述问题,本发明实施例第二方面提供一种转发设备执行的转发参数传递的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述转发设备接收所述控制器的控制,所述方法包括:所述转发设备获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
在第二方面的第一种可能的实现方式中,包括:所述扩展的转发模型描 述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
在第二方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
结合第二方面或者第二方面的第一种至第二种任一可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:所述第一字段是OpenFlow协议中的元数据MetaData字段。
结合第二方面或者第二方面的第一种至第三种任一可能的实现方式,在第二方面的第四种可能的实现方式中,还包括:所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
结合第二方面或者第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,还包括:所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
结合第二方面或者第二方面的第一种至第五种任一可能的实现方式,在第二方面的第六种可能的实现方式中,还包括:所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
为了解决上述问题,本发明实施例第三方面提供一种控制器,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备,所述装置包括:获取单元用于获得扩展的转发模 型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;发送单元用于将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
在第三方面的第一种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
在第三方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
为了解决上述问题,本发明实施例第四方面提供一种转发设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和所述转发设备,所述转发设备接收所述控制器的控制,所述装置包括:获取单元用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;接收单元用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
在第四方面的第一种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述接收单元还用于所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
在第四方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;所述发送单元还用于所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
为了解决上述问题,本发明实施例第五方面提供一种实现转发参数传递的系统,应用于控制转发分离的网络,所述系统包括:控制器和转发设备;所述控制器包括:上述第三方面的任一控制器;所述转发设备包括:上述第四方面的任一转发设备。
本发明实施例通过扩展转发模型描述语言,实现了将传统转发设备需要的转发参数,遵从OpenFlow协议规范,放入OpenFlow协议规范的字段中携带,从控制器发送到转发设备,在转发设备上把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明提供了一种简单高效地传递转发参数的方法,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
附图说明
图1是本发明实施例一种转发参数传递方法的流程示意图;
图2-1是本发明实施例中第一种转发参数携带的示意图;
图2-2是本发明实施例中第二种转发参数携带的示意图;
图2-3是本发明实施例中第三种转发参数携带的示意图;
图3是本发明实施例一种转发参数传递方法的流程示意图;
图4是本发明实施例一种控制器的结构示意图;
图5是本发明实施例一种转发设备的结构示意图;
图6是本发明实施例一种转发参数传递系统的示意图;
图7是本发明实施例一种控制器的结构示意图;
图8是本发明实施例一种转发设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
关于本发明实施例描述中涉及的OpenFlow协议规范的具体细节,请参考ONF发布的《开放流交换机规范》版本1.x(OpenFlow Switch Specification 1.x)。关于NDM/TTP的具体细节,请参考ONF发布的《开放流可协商的数据转发面模型》(OpenFlow Negotiable Datapath Models)规范。
实施例一、
本发明实施例方案涉及控制器和转发设备两侧,下面先从控制器出发,对本发明实施例传递转发参数的方法进行解释说明。
参见图1,示出了本发明实施例控制器传递转发参数方法的流程示意图,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备。具体方法可包括以下步骤:
步骤101,所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
步骤102,所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
转发模型描述用于描述特定转发设备的转发能力和行为,例如ONF定义的TTP或NDM,描述了OpenFlow协议规范中定义的OpenFLow交换机转发 能力和行为的一个有限子集。所述转发模型描述根据转发设备的转发能力,遵循转发模型描述语言生成,比如可以是人工生成。本发明实施例扩展了所述转发模型描述语言,增加了对一个字段进行格式化编码的语法,可以对一个无语义的字段进行语义化,以及对一个有语义的字段进行转义。所述第一格式编码规则根据所述扩展的格式化编码语法生成。
可选地,所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码(Field Format Encoding,简写为FldFmtEncd)关键字、编码的位置(FmtEncd_Location)关键字和编码位置的信息类型(FmtEncd_Type)关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引等。具体的,通过扩展的语法,可以定义一个变量,用于描述一种参数的类型,所述变量是所述编码位置的信息类型关键字的一个具体取值。举例示意性说明所述扩展的语法如下:
[“FldFmtEncd”“FmtEncd_Location”|“FmtEncd_Type”]
“FmtEncd_Type”=variable;
variable=VRFID;
“FmtEncd Location”=number;
图2-1示意性表明了按照所述第一格式编码规则,用所述第一字段携带所述第一转发参数的方式。其中,所述第一字段的长度为M比特,第1位至第N位指示了所述第一转发参数放入所述第一字段的位置,1≤N≤M。举例说明,所述第一格式编码规则可以如下(此时,M=128,N=64;所述第一转发参数的类型是虚拟路由转发实例标识VRFID):
[“FldFmtEncd”
{“FmtEncd_Location”:"0xffff0000"|“FmtEncd_Type”:"VRFID"}]
优选的,所述第一字段是OpenFlow协议中的元数据MetaData字段。
可选地,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
值得说明的是,上述步骤101中,所述控制器获得扩展的转发模型描述的方式,可以是通过所述控制器与所述转发设备之间的控制通道动态从所述 转发设备上获取并保存在所述控制器上;也可以是管理员通过人工配置的方式直接保存在所述控制器上;还可以是所述控制器不保存转发模型描述,需要时,通过所述控制器与所述转发设备之间的所述控制通道,实时动态的从所述转发设备上读取。
上述步骤102执行后,所述转发设备收到携带所述第一字段的所述流表项。所述转发设备收到所述流表项后,获得所述流表项中的所述第一字段,并根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。举例来说,所述转发设备获得所述第一格式编码规则的方式,,可以是管理员通过人工配置的方式直接将含有所述第一格式编码规则的所述扩展的转发模型描述保存在所述转发设备上,由所述转发设备获取;也可以是通过所述控制器与所述转发设备之间的控制通道动态从所述控制器上获取所述扩展的转发模型描述并保存在所述转发设备上;还可以是所述转发设备不保存所述扩展的转发模型描述,需要时,通过所述控制器与所述转发设备之间的所述控制通道,实时动态的从所述控制器上获取。
进一步,可选地,如果还有第二转发参数需要传递,则可以通过以下方式实现:
方式一:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示所述第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
如图2-2示意性表明了按照所述第一格式编码规则和第二格式编码规则,用所述第一字段携带所述第一转发参数和第二转发参数的方式。其中,所述第一字段的长度为M比特位,第1位至第N位指示了所述第一转发参数放入所述第一字段的位置,第T位至第M位指示了所述第二转发参数放入所述第一字段的位置,1≤N<T,N<T≤M。举例说明,所述第二格式编码规则可以为(此时,M=128,N=64,T=65;所述第二转发参数的类型是下一跳IP地址NextHopIPAddr):
[“FldFmtEncd”
{“FmtEncd_Location”:"0x0000ffff"|“FmtEncd_Type”:"NextHopIPAddr"}]
值得说明的是,所述方式一中控制器将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,具体的发送方法,例如可以是将所述第一转发参数和所述第二转发参数同时携带到一个流表项中的所述第一字段中,然后将该流表项发送到所述转发设备上;也可以是分别发送,例如下发两次流表项,其中一次下发的流表项的所述第一字段中携带所述第一转发参数,而另一次下发的流表项的所述第一字段中携带所述第二转发参数。
方式二:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
如图2-3示意性表明了按照所述第一格式编码规则用所述第一字段携带所述第一转发参数和按照所述第二格式编码规则用所述第二字段携带所述第二转发参数的方式。其中,所述第一字段的长度为M比特,第1位至第N位指示了所述第一转发参数放入所述第一字段的位置,1≤N≤M;所述第二字段的长度为S比特,第1位至第T位指示了所述第二转发参数放入所述第二字段的位置,1≤T≤S。举例说明,所述第二格式编码规则可以为(此时,S=128,T=64,所述第二转发参数的类型是下一跳IP地址NextHopIPAddr):
[“FldFmtEncd”
{“FmtEncd_Location”:"0x ffff0000"|“FmtEncd_Type”:"NextHopIPAddr"}]
值得说明的是,本发明实施例中第一字段中的“第一”,第二字段中的“第二”,仅用于表明区分两个字段,不限定顺序;第一格式编码规则中的“第一”,第二格式编码规则中的“第二”,仅用于表明区分两个格式编码规则,不限定顺序;第一转发参数中的“第一”,第二转发参数中的“第二”,仅用于表明区分两个转发参数,不限定顺序。
进一步说明,本发明实施例中的所有举例说明,仅仅是一种示意,且并不局限于举例中所述的格式和样式。
更进一步说明,本发明实施例仅示意的说明了携带和传递两个转发参数的情况,使用本发明所述的方法,还可以根据需要传递三个以及三个以上的转发参数。
本发明实施例一通过扩展转发模型描述语言,实现了将传统转发设备需要的转发参数,遵从OpenFlow协议规范,放入OpenFlow协议规范的字段中携带,从控制器发送到转发设备,以使得在转发设备上把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例二、
与上文控制器的转发参数传递方法相对应的,本发明实施例还提供了一种转发设备的转发参数传递方法,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和所述转发设备,所述转发设备接收所述控制器的控制。具体方法可参见图3所示流程示意图,可包括以下步骤:
步骤301、所述转发设备获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段。
步骤302、所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
本实施例中的所述扩展的转发模型描述、所述第一格式编码规则,以及生成所述第一格式编码规则的扩展的转发模型描述语言,请参考实施例一中相应的描述,在此不再赘述。
图2-1示意性表明了按照所述第一格式编码规则,用所述第一字段携带所述第一转发参数的方式。具体请参考实施例一中相应的描述,在此不再赘述。
优选的,所述第一字段是OpenFlow协议中的元数据MetaData字段。
可选地,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
值得说明的是,上述步骤301中,所述转发设备获得扩展的转发模型描述的方式,可以是管理员通过人工配置的方式直接将含有所述第一格式编码规则的所述扩展的转发模型描述保存在所述转发设备上;也可以是通过所述控制器与所述转发设备之间的所述控制通道动态从所述控制器上获取所述扩展的转发模型描述并保存在所述转发设备上;还可以是所述转发设备不保存所述扩展的转发模型描述,需要时,通过所述控制器与所述转发设备之间的所述控制通道,实时动态的从所述控制器上读取。
进一步,可选地,如果还有第二转发参数需要传递,则可以通过以下方式实现:
方式一:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
如图2-2示意性表明了按照所述第一格式编码规则和第二格式编码规则,用第一字段携带第一转发参数和第二转发参数的方式。具体请参考实施例一中相应的描述,在此不再赘述。
值得说明的是,所述方式一中所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,具体的接收方法,可以是接收一次流表项,该流表项中的所述第一字段同时携带所述第一转发参数和所述第二转发参数;也可以是接收两次流表项,其中一次接收的流表项携带所述第一转发参数的所述第一字段,而另一次接收的流表项携带所述第二转发参数的所述第一字段。
方式二:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
如图2-3示意性表明了按照所述第一格式编码规则用所述第一字段携带所述第一转发参数和按照所述第二格式编码规则用所述第二字段携带所述第 二转发参数的方式。具体请参考实施例一中相应的描述,在此不再赘述。
值得说明的是,本发明实施例中第一字段中的“第一”,第二字段中的“第二”,仅用于表明区分两个字段,不限定顺序;第一格式编码规则中的“第一”,第二格式编码规则中的“第二”,仅用于表明区分两个格式编码规则,不限定顺序;第一转发参数中的“第一”,第二转发参数中的“第二”,仅用于表明区分两个转发参数,不限定顺序。
进一步说明,本发明实施例中的所有举例说明,仅仅是一种示意,且并不局限于举例中所述的格式和样式。
更进一步说明,本发明实施例仅示意的说明了携带和传递两个转发参数的情况,使用本发明所述的方法,还可以根据需要传递三个以及三个以上的转发参数。
本发明实施例二通过扩展转发模型描述语言,实现了在所述转发设备上接收从所述控制器携带传统转发设备需要的转发参数的OpenFlow协议规范的字段,并把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例三、
请参考图4,本发明的一个实施例提供一种控制器400,所述控制器400控制转发设备,应用在控制转发分离的网络中,包括:
获取单元401,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段。
发送单元402,用于将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编 码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置。
相应地,发送单元402,还用于将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则另一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同。
相应地,发送单元402,还用于将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
值得说明的是,本发明实施例三提供的控制设备的各功能单元,是基于实施例一提供的方法的具体实现,术语的定义和解决的问题与实施例一保持一致,此处不再赘述。
本发明实施例三提供的控制器,通过获取单元401获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;通过发送单元402将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例四、
请参考图5,本发明的一个实施例提供一种转发设备500,所述转发设备 500被控制器所控制,应用在控制转发分离的网络中,包括:
获取单元502,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段。
接收单元501,用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置。
相应地,接收单元501还用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则另一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同。
接收单元501还用于接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
值得说明的是,本发明实施例四提供的转发设备的各功能单元,是基于实施例二提供的方法的具体实现,术语的定义和解决的问题与实施例二保持一致,此处不再赘述。
本发明实施例四提供的转发设备,通过获取单元502获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中 的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;通过接收单元501接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例五、
请参考图6,本发明的一个实施例提供一种用于转发参数传递的系统,应用于控制转发分离的网络,包括:控制器601和转发设备602;
所述控制器601,包括:
实施例三中所述的控制器;
所述转发设备602,包括:
实施例四中所述的转发设备。
值得说明的是,本发明实施例五提供的控制器和转发设备的各功能单元,是基于实施例一至二提供的方法的具体实现和实施例三至四装置的组合,术语的定义和解决的问题与实施例一至四保持一致,此处不再赘述。
本发明实施例五提供的系统,通过实施例三描述的所述控制器和实施例四描述的所述转发设备的组合,实现了将传统转发设备需要的转发参数,遵从OpenFlow协议规范,放入OpenFlow协议规范的字段中携带,从控制器发送到转发设备,在转发设备上把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例六、
请参考图7,本发明的一个实施例提供一种控制设备700,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器704、存储器706、通信接口702和总线708。处理器704、存储器706和通信接口702通过总线708连接并完成相互间的通信。
所述总线708可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线 或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
存储器706用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器704可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口702,用于执行实施例三中所述控制器将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备和/或获得扩展的转发模型描述的操作。
可选地,所述通信接口702,还用于执行实施例三中所述控制器将携带所述第二字段的所述流表项通过OpenFlow协议发送到所述转发设备的操作。
存储器706,用于存储指令。
处理器704,用于读取存储器706中存储的指令,从而执行实施例三中控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段执行的操作。
可选地,所述处理器704,还执行将所述第二转发参数按照所述第二格式编码规则填入所述第一字段。
可选地,所述处理器704,还执行将所述第二转发参数按照所述第二格式编码规则填入所述第二字段。
实施例七、
请参考图8,本发明的一个实施例提供一种转发设备800,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器804、存储器806、通信接口802和总线808。处理器804、存储器806和通信接口802通过总线808连接并完成相互间的通信。
所述总线808可以是工业标准体系结构(Industry Standard Architecture, 简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
存储器806用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器804可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器804可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口802,用于执行实施例四中接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项和/或获得扩展的转发模型描述的操作。
可选地,通信接口802,还用于执行实施例四中接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项的操作。
存储器806,用于存储图5中保存单元520中保存的转发表项;
可选的,所述存储器806还用于存储指令。
处理器804,用于读取存储器806中存储的转发表项和指令,从而执行实施例四中按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数的操作。
可选地,所述处理器804,还执行实施例四中按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数的操作。
可选地,所述处理器804,还执行实施例四中按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数的操作。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory, ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。

Claims (21)

  1. 一种转发参数的传递方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述控制器控制所述转发设备,其特征在于,包括:
    所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
    所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
  2. 根据权利要求1所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;
    相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
  3. 根据权利要求1所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
    相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
  4. 根据权利要求1-3任一所述的方法,其特征在于,所述第一字段是OpenFlow协议中的元数据MetaData字段。
  5. 根据权利要求1-4任一所述的方法,其特征在于,
    所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩 展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
  6. 根据权利要求5所述的方法,其特征在于,所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
  7. 根据权利要求1-6任一所述的方法,其特征在于,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
  8. 一种转发参数的传递方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述转发设备接收所述控制器的控制,其特征在于,包括:
    所述转发设备获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
    所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
  9. 根据权利要求8所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;
    相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
  10. 根据权利要求8所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
    相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
  11. 根据权利要求8-10任一所述的方法,其特征在于,所述第一字段是OpenFlow协议中的元数据MetaData字段。
  12. 根据权利要求8-11任一所述的方法,其特征在于,
    所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
  13. 根据权利要求12所述的方法,其特征在于,所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
  14. 根据权利要求8-13任一所述的方法,其特征在于,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
  15. 一种控制器,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备,其特征在于,包括:
    获取单元,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
    发送单元,用于将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
  16. 根据权利要求15所述的控制器,其特征在于,
    所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;
    所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
  17. 根据权利要求15所述的控制器,其特征在于,
    所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
    所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
  18. 一种转发设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和所述转发设备,所述转发设备接收所述控制器的控制,其特征在于,包括:
    获取单元,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
    接收单元,用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
  19. 根据权利要求18所述的转发设备,其特征在于,包括:
    所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
    所述接收单元还用于所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
  20. 根据权利要求18所述的转发设备,其特征在于,包括:
    所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
    所述发送单元还用于所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
  21. 一种实现转发参数传递的系统,应用于控制转发分离的网络,其特征在于,包括:权利要求15-17任一所述的控制器和权利要求18-20任一所述的转发设备。
PCT/CN2015/088275 2014-09-05 2015-08-27 转发参数传递的方法及设备 WO2016034075A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15837710.1A EP3190751B1 (en) 2014-09-05 2015-08-27 Methods for transmitting a forwarding parameter, controller, forwarding device and system
US15/449,862 US10320660B2 (en) 2014-09-05 2017-03-03 Method and device for transmitting forwarding parameter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410453369.8 2014-09-05
CN201410453369.8A CN105471726B (zh) 2014-09-05 2014-09-05 转发参数传递的方法及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/449,862 Continuation US10320660B2 (en) 2014-09-05 2017-03-03 Method and device for transmitting forwarding parameter

Publications (1)

Publication Number Publication Date
WO2016034075A1 true WO2016034075A1 (zh) 2016-03-10

Family

ID=55439126

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/088275 WO2016034075A1 (zh) 2014-09-05 2015-08-27 转发参数传递的方法及设备

Country Status (4)

Country Link
US (1) US10320660B2 (zh)
EP (1) EP3190751B1 (zh)
CN (1) CN105471726B (zh)
WO (1) WO2016034075A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278053A (zh) * 2023-11-17 2023-12-22 南京智盟电力有限公司 一种gltf-json格式数据压缩方法、系统及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840155B (zh) * 2017-11-24 2023-04-07 中兴通讯股份有限公司 一种实现远程过程调用的方法及装置
EP3817300A1 (en) * 2019-10-28 2021-05-05 Huawei Technologies Co., Ltd. Forwarding parameter obtaining method, apparatus, and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103347013A (zh) * 2013-06-21 2013-10-09 北京邮电大学 一种增强可编程能力的OpenFlow网络系统和方法
CN103581021A (zh) * 2013-10-23 2014-02-12 华为技术有限公司 软件定义网络下业务检测的方法及设备
US20140112190A1 (en) * 2012-10-22 2014-04-24 Futurewei Technologies, Inc. System and Apparatus of Generalized Network Controller for a Software Defined Network (SDN)
WO2014082056A1 (en) * 2012-11-26 2014-05-30 Level 3 Communications, Llc Apparatus, system, and method for packet switching
WO2014085207A1 (en) * 2012-11-30 2014-06-05 Alcatel Lucent Software-defined network overlay

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050078704A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Method and apparatus for translating data packets from one network protocol to another
US8897134B2 (en) * 2010-06-25 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel
US9167501B2 (en) * 2011-08-29 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US9178833B2 (en) * 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
US9015823B2 (en) * 2011-11-15 2015-04-21 Nicira, Inc. Firewalls in logical networks
US8711860B2 (en) * 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
US10097452B2 (en) * 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
EP2869509B1 (en) * 2012-08-02 2019-01-02 Huawei Technologies Co., Ltd. Method, apparatus, and system for processing data packet
US9253035B2 (en) * 2013-02-21 2016-02-02 International Business Machines Corporation Reducing switch state size in flow-based networks
US8964752B2 (en) * 2013-02-25 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system for flow table lookup parallelization in a software defined networking (SDN) system
US20140241346A1 (en) * 2013-02-25 2014-08-28 Google Inc. Translating network forwarding plane models into target implementation using network primitives
CN103873464B (zh) * 2014-02-27 2017-05-10 华为技术有限公司 报文处理的方法及转发设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140112190A1 (en) * 2012-10-22 2014-04-24 Futurewei Technologies, Inc. System and Apparatus of Generalized Network Controller for a Software Defined Network (SDN)
WO2014082056A1 (en) * 2012-11-26 2014-05-30 Level 3 Communications, Llc Apparatus, system, and method for packet switching
WO2014085207A1 (en) * 2012-11-30 2014-06-05 Alcatel Lucent Software-defined network overlay
CN103347013A (zh) * 2013-06-21 2013-10-09 北京邮电大学 一种增强可编程能力的OpenFlow网络系统和方法
CN103581021A (zh) * 2013-10-23 2014-02-12 华为技术有限公司 软件定义网络下业务检测的方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3190751A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278053A (zh) * 2023-11-17 2023-12-22 南京智盟电力有限公司 一种gltf-json格式数据压缩方法、系统及装置
CN117278053B (zh) * 2023-11-17 2024-02-09 南京智盟电力有限公司 一种gltf-json格式数据压缩方法、系统及装置

Also Published As

Publication number Publication date
CN105471726A (zh) 2016-04-06
US10320660B2 (en) 2019-06-11
EP3190751B1 (en) 2020-02-19
EP3190751A1 (en) 2017-07-12
US20170187612A1 (en) 2017-06-29
EP3190751A4 (en) 2017-08-23
CN105471726B (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
WO2016034040A1 (zh) 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置
CN105229976B (zh) 数据中心使用的低延迟无损交换结构
CN105684382A (zh) 报文的控制方法、交换机及控制器
WO2016034075A1 (zh) 转发参数传递的方法及设备
US10033619B2 (en) Data processing method and apparatus for OpenFlow network
CN105052040A (zh) 多流压缩与解压的方法与系统
WO2010148984A1 (zh) 实现动态预设消息的方法及装置
WO2016074434A1 (zh) 数据提取方法及装置
EP3379771A1 (en) Message processing method, device and system
CN104122979A (zh) 一种语音控制大屏幕的方法及装置
WO2012027932A1 (zh) 短信编码解码方法、装置以及终端
WO2017063400A1 (zh) 一种基于业务链信息的报文选路方法及装置
EP3425860A1 (en) Tunnel type selection method and apparatus
WO2013107143A1 (zh) 接口参数传输方法和装置
WO2012097641A1 (zh) 一种对数据流进行协议解析处理的方法及装置
US20140112142A1 (en) Method of forwarding packet and apparatus thereof
CN114373449A (zh) 智能设备、服务器及语音交互方法
CN108306757B (zh) 可编程数据平面虚拟层构建方法及存储介质
CN110098959A (zh) 工控协议交互行为的建模方法、装置、系统及存储介质
KR101924712B1 (ko) 패킷 전송 방법 및 오픈플로우 스위치
CN107404440B (zh) 一种转发表项发送方法、报文转发方法及装置
WO2014029081A1 (zh) 压缩方法及设备
KR101656416B1 (ko) 실시간 데이터 전송 처리 시스템의 메시지 자동 생성 장치 및 방법
WO2016065928A1 (zh) 路由器配置方法及路由器、路由器控制装置和通信系统
CN112217644B (zh) 数字签名方法、设备、系统及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15837710

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015837710

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015837710

Country of ref document: EP