WO2015014269A1 - 一种控制器、转发器及通道建立方法和系统 - Google Patents

一种控制器、转发器及通道建立方法和系统 Download PDF

Info

Publication number
WO2015014269A1
WO2015014269A1 PCT/CN2014/083206 CN2014083206W WO2015014269A1 WO 2015014269 A1 WO2015014269 A1 WO 2015014269A1 CN 2014083206 W CN2014083206 W CN 2014083206W WO 2015014269 A1 WO2015014269 A1 WO 2015014269A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
gre
channel
message
forwarder
Prior art date
Application number
PCT/CN2014/083206
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 华为技术有限公司
Publication of WO2015014269A1 publication Critical patent/WO2015014269A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • SDN Software Defined Network
  • OpenFlow OpenFlow
  • the initial solution to OpenFlow was to redesign the experimental environment of the Internet. It is difficult to have enough actual users or a large enough network topology to test the performance and functionality of the new protocol on a pure experimental network. The best way is to embed the experimental network running the new protocol into the actual operating network, using the actual The network environment to test the feasibility and problems of the new protocol.
  • the OpenFlow switch converts the packet forwarding process, which is completely controlled by the switch/router, into an OpenFlow switch (OpenFlow Switch) and a Control Server (Controller), thereby realizing the separation of data forwarding and routing control.
  • the controller can control the flow table in the OpenFlow switch by pre-specified interface operations, thereby achieving the purpose of controlling data forwarding.
  • SDN the data forwarding layer and the control layer of the switching device are separated, so the upgrade of the network protocol and the switching policy only needs to change the control layer.
  • OpenFlow implements data forwarding on the OpenFlow switch, and implements data forwarding control on the controller, thereby realizing the separation of the data forwarding layer and the control layer.
  • the implementation of SDN based on OpenFlow realizes the separation of software and hardware and the virtualization of the underlying hardware in the network, thus providing a good development platform for the development of the network.
  • OpenFlow networks include OpenFlow switches, Flow Visor, and Controller.
  • the OpenFlow switch forwards the data layer; the FlowVisor virtualizes the network; the Controller centrally controls the network to implement the functions of the control layer.
  • GRE Generic Routing Encapsulation
  • the system has a payload (or payload) package that needs to be encapsulated and sent to a destination.
  • the payload is first encapsulated in a GRE packet, and then the GRE packet is encapsulated in another protocol and forwarded.
  • the agreement is the transmission protocol.
  • IPv4 is transmitted as a GRE payload
  • the Protocol Type field must be set to 0x800.
  • the destination address in the IPv4 header must be used to forward the packet and the TTL of the payload packet needs to be reduced.
  • the GRE (Generic Routing Encapsulation) protocol encapsulates data packets of certain network layer protocols (such as IP and IPX) to encapsulate these encapsulated data packets. Can be transmitted in another network layer protocol such as IP. GRE uses Tunnel technology, which is the Layer 3 tunneling protocol of VPN (Virtual Private Network).
  • control and data channels between the controller and the repeater in the SDN network are implemented by OpenFlow.
  • the implementation scheme is as follows: After the OpenFlow channel is established between the SDN controller and the forwarder, all control plane routing protocol packets are sent and received between the controller and the forwarder through OpenFlow.
  • the OpenFlow protocol standard has defined two types of message types, PACKET-IN and PACKET-OUT, to distinguish between packet data and flow table information carried in the channel.
  • the forwarder After receiving the packet of the network interface, the forwarder queries the flow table and further processes the packet according to the flow table indication. If the indication is the uplink controller, the forwarder encapsulates the packet into the OpenFlow PACKET-IN message type. The TCP link of OpenFlow is sent to the controller, and the controller parses the message after the OpenFlow message is parsed.
  • the packet When the routing protocol in the controller needs to send a packet, the packet is encapsulated into the PACKET-OUT message type of the OpenFlow and then sent to the corresponding forwarder through the TCP link of the OpenFlow. After the forwarder parses the OpenFlow message, the packet is sent from the physical interface. Send it out.
  • Various routing protocols (such as BGP, RSVP, etc.) of the control plane run in the controller, and the packets of the routing protocol itself are required to be transmitted between the controller and the forwarder (such as a switch) through the OpenFlow channel.
  • OpenFlow itself is carried on a TCP protocol connection, and OpenFlow is also required to be used for the delivery of various forwarding flow entries.
  • the OpenFlow channel is congested, which affects the forwarding flow entries. Normally issued.
  • the routing protocol packets cannot be sent from the controller in time, resulting in a decrease in protocol convergence performance.
  • the delay requirements for the delivery and refresh of flow entries and the convergence of routing protocols are very high.
  • the congestion delay caused by congestion can greatly reduce the quality of network data forwarding.
  • the purpose of the embodiments of the present invention is to provide a controller, a repeater, and a channel establishing method and system that are independent of the communication between the data packet and the forwarding flow table between the controller and the forwarder, so as to avoid the two types of information sharing the OpenFlow channel. If one party's traffic is too large, the channel will be congested and affect the other party.
  • the method for establishing a channel includes:
  • the controller creates a TCP service port, where the port is used to listen to the message sent by the forwarder; the controller receives the registration message initiated by the forwarder, and registers according to the registration message;
  • the controller receives an attribute advertisement message sent by the forwarder
  • the controller creates a corresponding GRE channel instance control block according to the GRE channel establishment information carried in the attribute advertisement message;
  • the controller sends and receives a message through the GRE channel.
  • the attribute advertisement message includes: a flow table forwarding capability message and a message data channel capability message.
  • the step of the controller sending and receiving a message by using the GRE channel is specifically:
  • the packet When the controller needs to send a routing protocol packet, the packet encapsulates the GRE protocol header and the IP layer and the link layer protocol header of the GRE channel, and sends the encapsulated packet to the forwarder.
  • the method further includes:
  • the GRE channel is iterated to the IPSec channel according to the IPSec overlay attribute carried in the packet data channel capability message.
  • the method further includes:
  • the controller includes:
  • a port creation module configured to create a TCP service port, where the port is configured to listen to a message sent by the forwarder;
  • a registration module configured to receive a registration message initiated by the repeater, and register according to the registration message
  • the attribute advertisement message receiving module is configured to receive an attribute advertisement message sent by the forwarder.
  • a GRE channel instance control block creation module configured to carry according to the attribute advertisement message
  • the GRE channel establishes information and creates a corresponding GRE channel instance control block.
  • the controller further includes:
  • An iterative module is configured to iterate the GRE channel to the IPSec channel according to the IPSec overlay attribute carried in the packet data channel capability message.
  • the controller further includes:
  • the GRE channel instance control block creation module is further configured to create multiple GRE channels according to the establishment information of establishing multiple GRE channels carried in the attribute advertisement message.
  • a setting module is configured to set a GRE channel with a corresponding priority level when the controller sends a protocol packet to the forwarder to send the distributed flow entry.
  • the method for establishing a channel includes:
  • the repeater initiates a registration message to the controller
  • the forwarder After receiving the successful registration message, the forwarder sends an attribute advertisement message to the controller; the forwarder creates a GRE channel instance control block at the local end;
  • the forwarder sends and receives messages through the GRE channel.
  • the forwarder creates multiple GRE channel instance control blocks on the local end
  • the repeater sends and receives messages through multiple GRE channels.
  • the repeater includes: a message initiation module, configured to initiate a registration message to the controller;
  • An attribute advertisement message sending module configured to: after receiving the successful registration message, the forwarder sends an attribute advertisement message to the controller;
  • the GRE channel instance control block creation module is used to create a GRE channel instance control block.
  • the channel establishment system includes a controller and a repeater;
  • the controller creates a TCP service port, the port is used to listen to the message sent by the forwarder; the forwarder initiates a registration message to the controller;
  • the controller receives the registration message initiated by the forwarder, and registers according to the registration message; after receiving the successful registration message, the forwarder sends the attribute advertisement message to the controller, and the forwarder creates the GRE channel instance control block at the local end;
  • the controller receives an attribute advertisement message sent by the forwarder
  • the controller creates a corresponding GRE channel instance control block according to the GRE channel establishment information carried in the attribute advertisement message.
  • the controller and the forwarder send and receive messages through the GRE channel.
  • FIG. 1 is a schematic flowchart showing the implementation of a channel establishing method according to Embodiment 1 of the present invention.
  • FIG. 2 is a control channel and a GRE pass between a controller and a repeater according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a separation mode between a control channel and a GRE channel between a controller and a repeater according to Embodiment 2 of the present invention.
  • FIG. 4 is a schematic diagram of a separation mode between a control channel and a GRE channel between a controller and a repeater according to Embodiment 3 of the present invention.
  • FIG. 5 is a schematic flowchart of an implementation process of a channel establishment method according to Embodiment 4 of the present invention.
  • FIG. 6 is a schematic structural diagram of a controller according to Embodiment 7 of the present invention.
  • FIG. 7 is a schematic structural diagram of a repeater according to Embodiment 10 of the present invention.
  • FIG. 8 is a schematic structural diagram of a controller according to Embodiment 12 of the present invention.
  • FIG. 9 is a schematic structural diagram of a repeater according to Embodiment 13 of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION In order to make the objects, technical solutions and advantageous effects of the present invention more comprehensible, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • an implementation flow of a method for establishing a channel based on a controller side according to Embodiment 1 of the present invention includes:
  • the controller creates a TCP service port, and the port is configured to listen to a message sent by the forwarder;
  • the forwarder registration management service is started, and the creation is started.
  • TCP service port which is used to listen and wait for a registration message initiated by the repeater.
  • the controller receives a registration message initiated by the repeater, and registers according to the registration message;
  • the controller receives an attribute advertisement message sent by the forwarder;
  • the attribute advertisement message mainly includes: a flow table forwarding capability message and a message data channel capability message.
  • the controller creates a corresponding GRE channel instance control block according to the GRE channel establishment information carried in the attribute advertisement message.
  • the controller after receiving the attribute advertisement message of the forwarder, the controller records the flow table forwarding capability message of the forwarder, and establishes information according to the GRE channel carried in the packet data channel capability message, in the controller Create a corresponding GRE channel instance control block and generate a channel virtual interface instance.
  • the controller sends and receives a message through the GRE channel.
  • the controller receives the flow entry sent by the protocol delivery packet to the forwarder according to the protocol packet of the protocol, and the flow entry is sent through the control channel.
  • the control channel (such as OpenFlow) arrives at the forwarder; the flow entry contains the characteristic attributes of the packet (such as source and destination MAC, source and destination IP, source and destination port numbers), and is used to match the route that the forwarder receives from the external interface.
  • the protocol packet, and the flow entry also includes the channel to which the packet is sent to the controller.
  • the shared control channel can be specified or the GRE channel can be specified. This embodiment is intended to describe the process of transmitting protocol packet data through the GRE channel.
  • the GRE data channel between the controller and the repeater is established.
  • Figure 2 shows the separation path between the control channel and the GRE channel between the controller and the repeater.
  • the packet when the controller needs to send a routing protocol packet, the packet encapsulates the GRE protocol header and the IP layer and the link layer protocol header of the GRE channel, and sends the encapsulated packet to the packet.
  • the transponder is implemented as follows: When the controller needs to send a routing protocol packet, the packet is encapsulated with the GRE protocol header and the GRE channel after the original transport layer, the IP layer, and the link layer are encapsulated. The IP layer and the link layer protocol header are sent to the forwarder. After receiving the packet, the forwarder performs decapsulation of the GRE protocol, and then sends the original packet through the network interface.
  • the protocol packet is queried. If the packet is sent, the packet is not parsed.
  • the original packet is encapsulated in the GRE protocol header and the IP layer and link layer protocol header of the GRE channel, and then sent to the controller.
  • the controller receives the packet.
  • the decapsulation process of the GRE protocol is performed first, and the original packet is sent to the corresponding routing protocol for processing.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • the GRE tunnel can be iterated to the IPSec tunnel.
  • the specific implementation scheme is as follows: GRE encapsulation of the packet, and IPSec encryption processing on the GRE encapsulated packet.
  • the forwarder carries the GRE channel information while carrying the GRE channel information to the controller, and carries the IPSec overlay attribute.
  • the packet is GRE channel encapsulation and decapsulation processing, the IPSec encryption and decryption processing is added.
  • the control channel between the controller and the repeater is separated from the GRE channel.
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • multiple GRE channels can be created, which are as follows: Multiple GRE channel establishment information, create multiple GRE channels; and set different levels of priority attributes.
  • the controller sends a protocol packet to the forwarder to send the distributed flow entry, the GRE channel of the corresponding priority is also specified.
  • the model of the routing protocol packet with different priorities is carried. .
  • Embodiment 4 is a diagrammatic representation of Embodiment 4:
  • an implementation flow of a method for establishing a channel based on a repeater side according to Embodiment 4 of the present invention includes:
  • the repeater initiates a registration message to the controller
  • a TCP connection registration message and a control channel protocol message are sent to the controller according to the user configuration or the internal default configured controller service address, but is not limited to this control channel protocol.
  • the message advertisement message mainly includes: a flow table forwarding capability message and a message data channel capability message.
  • the forwarder after receiving the successful registration message, notifies the controller of the flow table forwarding capability and the packet data channel capability of the forwarder according to the attribute query of the controller, where the packet data channel capability information is carried in the packet data channel capability information.
  • GRE channel establishment information the GRE channel establishment information mainly includes the local and the peer GRE channel address, the GRE internal extension TLV capability and the version number.
  • the forwarder creates a GRE channel instance control block on the local end
  • the forwarder creates a GRE channel instance control block according to the GRE channel establishment information, and generates a channel virtual interface instance.
  • the forwarder sends and receives messages through the GRE channel.
  • the controller receives the flow entry sent by the protocol delivery packet to the forwarder according to the protocol packet of the protocol, and the flow entry is sent through the control channel.
  • the control channel (such as OpenFlow) arrives at the forwarder; the flow entry contains the characteristic attributes of the packet (such as source and destination MAC, source and destination IP, source and destination port numbers), and is used to match the route that the forwarder receives from the external interface.
  • the protocol packet, and the flow entry also includes the channel to which the packet is sent to the controller.
  • the shared control channel can be specified or the GRE channel can be specified. This embodiment is intended to describe the process of transmitting protocol packet data through the GRE channel. At this point, the GRE data channel between the controller and the repeater is completed.
  • the packet when the controller needs to send the routing protocol packet, the packet is encapsulated into the GRE protocol header and the GRE channel after the original transport layer, the IP layer, and the link layer are encapsulated.
  • the IP layer and the link layer protocol header are sent to the forwarder.
  • the forwarder After receiving the packet, the forwarder performs decapsulation of the GRE protocol and then sends the original packet through the network interface.
  • the packet is sent by the query protocol packet, and if the packet is matched, the packet is not further processed, and the original packet is encapsulated into the GRE protocol header. And the IP layer and the link layer protocol header of the GRE channel are sent to the controller, After receiving the packet, the controller performs the decapsulation process of the GRE protocol, and sends the original packet to the corresponding routing protocol for processing.
  • Embodiment 5 is a diagrammatic representation of Embodiment 5:
  • the forwarder carries the GRE channel information while carrying the GRE channel information to the controller.
  • the IPSec overlay attribute is added to the GRE channel encapsulation process. Encryption and decryption processing.
  • the forwarder creates multiple GRE channel instance control blocks on the local end.
  • the forwarder sends and receives packets through multiple GRE channels.
  • the controller sends a protocol packet to the forwarder to send the distributed flow entry, it also specifies the GRE channel of the corresponding priority.
  • the controller includes a port creation module 101, a registration module 102, an attribute advertisement message receiving module 103, and a GRE channel instance control block creation module 104.
  • a port creation module 101 configured to create a TCP service port, where the port is configured to listen to a message sent by the forwarder;
  • the forwarder registration management service is started, and the creation is started.
  • TCP service port which is used to listen and wait for a registration message initiated by the repeater.
  • the registration module 102 is configured to receive a registration message initiated by the repeater, and register according to the registration message;
  • the attribute advertisement message receiving module 103 is configured to receive an attribute advertisement message sent by the forwarder, where the attribute advertisement message mainly includes: a flow table forwarding capability message and a message data channel energy Force message.
  • the GRE channel instance control block creation module 104 is configured to create a corresponding GRE channel instance control block according to the GRE channel establishment information carried in the attribute advertisement message.
  • the controller further includes: a recording module.
  • the recording module is configured to record the flow table forwarding capability message of the forwarder after receiving the attribute advertisement message of the forwarder.
  • the controller further includes: a generating module.
  • the generating module is configured to generate a channel virtual interface instance according to the GRE channel establishment information carried in the packet data channel capability message.
  • the controller further includes: a packaging module.
  • the encapsulating module is configured to encapsulate the GRE protocol header and the IP layer and the link layer protocol header of the GRE channel, and send the encapsulated packet to the transponder when the controller needs to send the routing protocol packet .
  • the packet is encapsulated with the GRE protocol header and the IP layer and chain of the GRE channel after the original transport layer, the IP layer, and the link layer are encapsulated.
  • the layer protocol header is sent to the repeater.
  • the controller also includes: an iterative module.
  • An iterative module is configured to iterate the GRE channel to the IPSec channel according to the IPSec overlay attribute carried in the packet data channel capability message.
  • This embodiment can ensure the security of the GRE channel.
  • the controller further includes: a setting module.
  • the GRE channel instance control block creation module 104 is further configured to create multiple GRE channels according to the establishment information of establishing multiple GRE channels carried by the attribute advertisement message.
  • the setting module is configured to set a GRE channel with a corresponding priority level when the controller sends a protocol flow message to the forwarder to send the distributed flow entry. This embodiment enables data messages between different routing protocols on the controller to have different priorities or QOS when communicating between the controller and the repeater.
  • the repeater includes: a message initiating module 201, an attribute advertisement message sending module 202, and a GRE channel instance control block creating module 203.
  • a message initiation module 201 configured to initiate a registration message to the controller
  • a TCP connection registration message and a control channel protocol message are sent to the controller according to the user configuration or the internal default configured controller service address, but is not limited to this control channel protocol.
  • the attribute advertisement message sending module 202 is configured to: after receiving the successful registration message, the forwarder sends an attribute advertisement message to the controller; wherein the attribute advertisement message mainly includes: a flow table forwarding capability message and a message data channel capability message.
  • the forwarder after receiving the successful registration message, notifies the controller of the flow table forwarding capability and the packet data channel capability of the forwarder according to the attribute query of the controller, where the packet data channel capability information is carried in the packet data channel capability information.
  • GRE channel establishment information the GRE channel establishment information mainly includes the local and the peer GRE channel address, the GRE internal extension TLV capability and the version number.
  • the GRE channel instance control block creation module 203 is configured to create a GRE channel instance control block.
  • the forwarder creates a GRE channel instance control block according to the GRE channel establishment information, and generates a channel virtual interface instance.
  • Embodiment 11 of the present invention provides a channel establishment system, which includes a controller and a transponder.
  • the controller creates a TCP service port, the port is used to listen to the message sent by the forwarder; the forwarder initiates a registration message to the controller; The controller receives the registration message initiated by the forwarder, and registers according to the registration message; after receiving the successful registration message, the forwarder sends the attribute advertisement message to the controller, and the forwarder creates the GRE channel instance control block at the local end;
  • the attribute advertisement message mainly includes: a flow table forwarding capability message and a message data channel capability message.
  • the controller receives an attribute advertisement message sent by the forwarder
  • the controller creates a corresponding GRE channel instance control block according to the GRE channel establishment information carried in the attribute advertisement message.
  • the controller and the forwarder send and receive messages through the GRE channel.
  • the channel establishing system is an interaction process between the controller in the embodiment of the channel establishing method and the repeater in the channel establishing method between the controller and the repeater.
  • the controller provided in Embodiment 12 of the present invention includes: a processor 61, a memory 62, and a network interface 63. among them,
  • the processor 61 is configured to execute a program.
  • the program may include program code, the program code including computer operating instructions.
  • Processor 61 may be a central processing unit CPU or one or more integrated circuits configured to implement embodiments of the present invention.
  • the memory 62 is used to store a program.
  • Memory 62 may include random access memory and may also include non-volatile memory.
  • the network interface 63 is configured to receive the registration message initiated by the repeater, and to receive an attribute advertisement message sent by the forwarder.
  • the network interface is a network card.
  • the processor 61 When the processor is running, the processor 61 is configured to execute a program stored in the memory 62 such that the processor performs the following method:
  • the processor 61 creates a TCP service port, and the port is used to listen to a message sent by the forwarder;
  • the processor 61 is configured to register according to the forwarding message initiated by the forwarder received by the network interface 63.
  • the processor 61 creates the GRE channel establishment information carried in the attribute advertisement message sent by the forwarder received by the network interface 63.
  • Corresponding GRE channel instance control block; the processor 61 sends and receives messages through the GRE channel.
  • the repeater provided in Embodiment 13 of the present invention includes: a processor 71, a memory 72, and a network interface 73. among them,
  • the processor 71 is configured to execute a program.
  • the program may include program code, the program code including computer operating instructions.
  • Processor 71 may be a central processing unit CPU or one or more integrated circuits configured to implement embodiments of the present invention.
  • the memory 72 is used to store a program.
  • Memory 72 may include random access memory and may also include non-volatile memory.
  • the network interface 73 is configured to initiate a registration message to the controller, and to send an attribute advertisement message to the controller.
  • the network interface is a network card.
  • the processor 71 When the processor is running, the processor 71 is configured to execute a program stored in the memory 72 such that the processor performs the following method:
  • the processor creates a GRE channel instance control block on the local end and sends and receives packets through the GRE channel.
  • the packet data channel between the controller and the forwarder is isolated from the forwarding flow table data channel through the GRE channel.
  • the normal forwarding and refreshing of the forwarding flow table will not be affected.
  • the amount of data in the forwarding flow table is large, the normal convergence of the control plane routing protocol will not be affected.
  • the embodiment of the present invention can also customize a separate QOS, security policy, and the like for the message channel, and does not have any influence or dependency on the TCP link of the OpenFlow.
  • the security of the packet channel can be ensured by the capability extension of IPSec.
  • the creation of multiple GRE channels can meet the different priority requirements of different routing protocol messages transmitted between the controller and the repeater.

Landscapes

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

Abstract

本发明适用于通信技术领域,提供了一种控制器、转发器及通道建立方法和系统。系统包括:控制器创建TCP服务端口,所述端口用于侦听转发器发送的消息;转发器向控制器发起注册消息;控制器接收转发器发起的注册消息,并根据所述注册消息进行注册;当接收到成功注册消息后,转发器向控制器发送属性通告消息的同时转发器在本端创建GRE通道实例控制块;控制器接收转发器发送的属性通告消息;控制器根据所述属性通告消息携带的GRE通道建立信息,创建对应的GRE通道实例控制块;控制器与转发器通过所述GRE通道进行收发报文。本发明实施例在SDN网络环境下,通过GRE通道实现控制器与转发器之间报文数据通道与转发流表数据通道隔离。当报文数据量较大时不会影响转发流表的正常下发和刷新,当转发流表数据量较大时也不会影响控制平面路由协议的正常收敛。

Description

一种控制器、 转发器及通道建立方法和系统 本申请要求于 2013 年 7 月 29 日提交中国专利局、 申请号为 201310323093. 7 , 发明名称为 "一种控制器、 转发器及通道建立方法和系 统" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域 本发明属于通信技术领域, 尤其涉及一种控制器、 转发器及通道建立 方法和系统。 背景技术 术语解释:
SDN ( Software Defined Network, 软件定义网络), 是由美国斯坦福大 学 clean slate研究组提出的一种新型网络创新架构, 其核心技术 OpenFlow (开放流)通过将网络设备控制面与数据面分离开来, 从而实现了网络流 量的灵活控制, 为核心网络及应用的创新提供了良好的平台。
OpenFlow最初主要解决的是重新设计互联网的实验环境问题。 在纯的 实验网络上总难以有足够多的实际用户或者足够大的网络拓朴来测试新协 议的性能和功能, 最好的方法是将运行新协议的实验网络嵌入实际运营的 网络, 利用实际的网络环境来检验新协议的可行性和存在的问题。
现在很多主张重新设计计算机网络体系结构的人士认为: 网络可以复 制计算机领域的成功来解决现在网络所遇到的所有问题。 在这种思想的指 导下, 将来的网络必将是这样的: 底层的数据通路(交换机、 路由器)是 "哑的、 简单的、 最小的" , 并定义一个对外开放的关于流表的公用的 API ( Application Programming Interface , 应用编程接口) , 同时釆用控制器来 控制整个网络。 未来的研究人员就可以在控制器上自由的调用底层的 API 来编程, 从而实现网络的创新。 OpenFlow正是这种网络创新思想的强有力 的推动者。 OpenFlow交换机将原来完全由交换机 /路由器控制的报文转发过 程转化为由 OpenFlow交换机( OpenFlow Switch )和控制服务器( Controller ) 来共同完成, 从而实现了数据转发和路由控制的分离。 控制器可以通过事 先规定好的接口操作来控制 OpenFlow交换机中的流表, 从而达到控制数据 转发的目的。 在 SDN中, 交换设备的数据转发层和控制层是分离的, 因此 网络协议和交换策略的升级只需要改动控制层。 OpenFlow在 OpenFlow交换 机上实现数据转发, 而在控制器上实现数据的转发控制, 从而实现了数据 转发层和控制层的分离。 基于 OpenFlow实现 SDN, 则在网络中实现了软硬 件的分离以及底层硬件的虚拟化, 从而为网络的发展提供了一个良好的发 展平台。
OpenFlow网络包括 OpenFlow交换机、 Flow Visor和 Controller。 OpenFlow 交换机进行数据层的转发; FlowVisor对网络进行虚拟化; Controller对网络 进行集中控制, 实现控制层的功能。
通用路由封装 ( GRE , Generic Routing Encapsulation )定义了在任意 一种网络层协议上封装任意一个其它网络层协议的协议。
在大多数常规情况下, 系统拥有一个有效载荷 (或负载) 包, 需要将 它封装并发送至某个目的地。 首先将有效载荷封装在一个 GRE 包中, 然后 将此 GRE 包封装在其它某协议中并进行转发。 此外发协议即为发送协议。 当 IPv4 被作为 GRE有效载荷传输时, 协议类型字段必须被设置为 0x800。 当一个隧道终点拆封此含有 IPv4 包作为有效载荷的 GRE 包时, IPv4 包头 中的目的地址必须用来转发包,并且需要减少有效载荷包的 TTL。值得注意 的是, 在转发这样一个包时, 如果有效载荷包的目的地址就是包的封装器 (也就是隧道另一端) , 就会出现回路现象。 在此情形下, 必须丟弃该包。 当 GRE 包被封装在 IPv4 中时, 需要使用 IPv4 协议 47。
GRE ( Generic Routing Encapsulation, 通用路由封装)协议是对某些网 络层协议(如 IP 和 IPX ) 的数据报文进行封装, 使这些被封装的数据报文 能够在另一个网络层协议(如 IP )中传输。 GRE釆用了 Tunnel (隧道)技术, 是 VPN ( Virtual Private Network ) 的第三层隧道协议。
在现有技术中, 通过 OpenFlow实现 SDN网络中控制器与转发器之间的 控制和数据通道。其实现方案如下: SDN控制器与转发器之间建立 OpenFlow 通道后, 所有的控制平面路由协议报文通过 OpenFlow在控制器与转发器之 间进行收发。 OpenFlow协议标准已经定义了 PACKET-IN、 PACKET-OUT 两种消息类型, 用于区分通道中承载的报文数据和流表信息。
转发器收到网络接口的报文后, 查询流表, 根据流表的指示对报文做 进一步处理, 如果指示为上送控制器则转发器将报文封装为 OpenFlow的 PACKET-IN消息类型通过 OpenFlow的 TCP链接发送到控制器, 控制器解析 OpenFlow消息后将报文进行协议解析处理。
控制器内的路由协议需要发送报文时, 则将报文封装为 OpenFlow 的 PACKET-OUT消息类型后通过 OpenFlow的 TCP链接发送到对应的转发 器, 转发器解析 OpenFlow消息后将报文从物理接口发送出去。
然而, 上述现有技术存在的缺陷如下:
控制平面的各种路由协议(如 BGP、 RSVP等)运行在控制器中, 要 求路由协议自身的报文通过 OpenFlow通道在控制器与转发器 (如交换机) 之间进行传输。 而 OpenFlow 自身承载在一条 TCP 协议连接上, 并且 OpenFlow还需要用于各种转发流表项的下发, 当路由协议报文流量较大时 则会造成 OpenFlow通道产生拥塞, 从而影响转发流表项的正常下发。反过 来当转发流表下发信息量较大时则会导致路由协议报文无法及时从控制器 发送, 从而导致协议收敛性能下降。 对于运营商级别的网络中, 流表项下 发和刷新以及路由协议收敛的时延要求都非常高, 因拥塞而产生的拥塞时 延会大大降低网络数据转发的质量。 发明内容 本发明实施例的目的在于提供一种控制器与转发器之间数据报文与转 发流表的通信相互独立的控制器、 转发器及通道建立方法和系统, 避免两 类信息共用 OpenFlow通道时因一方流量过大导致通道拥塞而对另一方产 生影响。 第一方面, 所述通道建立方法包括:
控制器创建 TCP服务端口, 所述端口用于侦听转发器发送的消息; 所述控制器接收所述转发器发起的注册消息, 并根据所述注册消息进 行注册;
所述控制器接收所述转发器发送的属性通告消息;
所述控制器根据所述属性通告消息携带的 GRE通道建立信息, 创建对 应的 GRE通道实例控制块;
所述控制器通过所述 GRE通道进行收发报文。
在第一方面的第一种可能的实现方式中, 所述属性通告消息包括: 流 表转发能力消息以及报文数据通道能力消息。
在第一方面的第二种可能的实现方式中, 所述控制器通过所述 GRE通 道进行收发报文的步骤, 具体为:
当控制器需要发送路由协议报文时, 对所述报文进行封装 GRE协议头 以及 GRE通道的 IP层和链路层协议头, 并将封装后的报文发送给转发器。
结合第一方面的第一种可能的实现方式, 在第三种可能的实现方式中, 所述方法还包括:
根据报文数据通道能力消息中携带的 IPSec叠加属性, 将 GRE通道建 立迭代到 IPSec通道上。
在第一方面的第四种可能的实现方式中, 所述方法还包括:
根据属性通告消息携带的建立多条 GRE通道的建立信息, 创建多条
GRE通道;
在控制器向转发器下发协议报文上送分发的流表项时, 设置相应优先 级别的 GRE通道。
第二方面, 所述控制器包括:
端口创建模块, 用于创建 TCP服务端口, 所述端口用于侦听转发器发 送的消息;
注册模块, 用于接收转发器发起的注册消息, 并根据所述注册消息进 行注册;
属性通告消息接收模块, 用于接收转发器发送的属性通告消息。
GRE 通道实例控制块创建模块, 用于根据所述属性通告消息携带的
GRE通道建立信息, 创建对应的 GRE通道实例控制块。
在第二方面的第一种可能实现方式中, 所述控制器还包括;
迭代模块, 用于根据报文数据通道能力消息中携带的 IPSec叠加属性, 将 GRE通道建立迭代到 IPSec通道上。
在第二方面的第二种可能实现方式中, 所述控制器还包括:
GRE通道实例控制块创建模块, 还用于根据属性通告消息携带的建立 多条 GRE通道的建立信息, 创建多条 GRE通道;
设置模块, 用于在控制器向转发器下发协议报文上送分发的流表项时, 设置相应优先级别的 GRE通道。
第三方面, 所述通道建立方法包括:
转发器向控制器发起注册消息;
当接收到成功注册消息后, 所述转发器向控制器发送属性通告消息; 所述转发器在本端创建 GRE通道实例控制块;
所述转发器通过 GRE通道进行收发报文。
在第三方面的第一种可能实现方式中,
所述转发器在本端创建多条 GRE通道实例控制块;
所述转发器通过多条 GRE通道进行收发报文。
第四方面, 所述转发器包括: 消息发起模块, 用于向控制器发起注册消息;
属性通告消息发送模块, 用于当接收到成功注册消息后, 转发器向控 制器发送属性通告消息;
GRE通道实例控制块创建模块, 用于创建 GRE通道实例控制块。 第五方面, 所述通道建立系统包括控制器和转发器;
控制器创建 TCP服务端口, 所述端口用于侦听转发器发送的消息; 转发器向控制器发起注册消息;
控制器接收转发器发起的注册消息, 并根据所述注册消息进行注册; 当接收到成功注册消息后, 转发器向控制器发送属性通告消息的同时 转发器在本端创建 GRE通道实例控制块;
控制器接收转发器发送的属性通告消息;
控制器根据所述属性通告消息携带的 GRE通道建立信息, 创建对应的 GRE通道实例控制块;
控制器与转发器通过所述 GRE通道进行收发报文。
在本发明实施例中, 在 SDN网络环境下, 通过 GRE通道实现控制器与 转发器之间报文数据通道与转发流表数据通道隔离。 当报文数据量较大时 不会影响转发流表的正常下发和刷新, 当转发流表数据量较大时也不会影 响控制平面路由协议的正常收敛。 本发明实施例还可以针对报文通道定制 单独的 QOS、 安全策略等等, 不会对 OpenFlow的 TCP链接产生任何影响和 依赖。 另外, 通过 IPSec的能力扩展可以保证报文通道的安全性。 再者, 通 过多 GRE通道的创建可以满足不同路由协议报文在控制器与转发器之间传 输的不同优先级需求。 附图说明 图 1是本发明实施例一提供的通道建立方法的实现流程示意图。
图 2为本发明实施例提供的控制器与转发器之间的控制通道与 GRE通 道分离模型示意图。
图 3是本发明实施例二提供的控制器与转发器之间的控制通道与 GRE 通道分离模型示意图。
图 4是本发明实施例三提供的控制器与转发器之间的控制通道与 GRE 通道分离模型示意图。
图 5是本发明实施例四提供的通道建立方法的实现流程示意图。
图 6是本发明实施例七提供的控制器的结构示意图。
图 7是本发明实施例十提供的转发器的结构示意图。
图 8是本发明实施例十二提供的控制器的结构示意图。
图 9是本发明实施例十三提供的转发器的结构示意图。 具体实施方式 为了使本发明的目的、 技术方案及有益效果更加清楚明白, 以下结合 附图及实施例, 对本发明进行进一步详细说明。 应当理解, 此处所描述的 具体实施例仅仅用以解释本发明, 并不用于限定本发明。
实施例一:
请参阅图 1 ,为本发明实施例一提供的基于控制器侧的通道建立方法的 实现流程, 其包括:
在 S101中,控制器创建 TCP服务端口,所述端口用于侦听转发器发送 的消息;
在本发明实施例中, 控制器启动后, 开启转发器注册管理服务, 创建
TCP服务端口, 该 TCP服务端口用于侦听以及等待转发器发起的注册消 息。
在 S102中, 控制器接收转发器发起的注册消息, 并根据所述注册消息 进行注册;
在 S103中, 控制器接收转发器发送的属性通告消息; 在本发明实施例中, 所述属性通告消息主要包括: 流表转发能力消息 以及报文数据通道能力消息。
在 S104中, 控制器根据所述属性通告消息携带的 GRE通道建立信息, 创建对应的 GRE通道实例控制块;
在本发明实施例中, 控制器收到转发器的属性通告消息后, 记录该转 发器的流表转发能力消息, 并根据报文数据通道能力消息中携带的 GRE通 道建立信息, 在控制器本端创建对应的 GRE通道实例控制块, 并生成通道 虚拟接口实例。
在 S105中, 控制器通过所述 GRE通道进行收发报文。
在本发明实施例中, GRE通道创建成功后, 控制器根据自身的协议报 文接收属性下发协议报文上送分发的流表项到转发器, 此流表项的下发是 通过控制通道(如 OpenFlow )到达转发器的; 其中流表项包含报文的特征 属性(如源和目的 MAC、 源和目的 IP、 源和目的端口号) , 用于匹配转发 器从外部接口收到的路由协议报文, 同时流表项还包含报文上送控制器的 通道, 可以指定共用控制通道, 也可以指定使用 GRE通道, 本实施例旨在 描述协议报文数据通过 GRE通道传输的流程。 至此, 控制器与转发器之间 的 GRE数据通道完成建立, 如图 2所示, 图 2为控制器与转发器之间的控 制通道与 GRE通道分离模型。
在本发明实施例中, 当控制器需要发送路由协议报文时, 对所述报文 进行封装 GRE协议头以及 GRE通道的 IP层和链路层协议头, 并将封装后 的报文发送给转发器, 其具体实现为: 当控制器需要发送路由协议报文时, 对于路由协议数据完成原有的传输层、 IP层、 链路层封装后, 将报文再次 封装 GRE协议头以及 GRE通道的 IP层和链路层协议头后发送给转发器, 转发器收到报文后先进行 GRE协议的解封装, 再将原始报文通过网络接口 发送出去。
在本发明实施例中, 当转发器从网络接口收到报文后, 查询协议报文 上送分发流表项, 如果匹配, 则不对报文做进一步解析处理, 将原始报文 封装 GRE协议头以及 GRE通道的 IP层和链路层协议头后发送至控制器, 控制器收到报文后先进行 GRE协议的解封装处理, 在将原始报文上送对应 的路由协议做处理。
实施例二:
为了保证 GRE通道的安全性,可以将 GRE通道建立迭代到 IPSec通道 上, 其具体实施方案为: 对报文进行 GRE封装, 再对进行 GRE封装后的 报文进行 IPSec的加密处理。 如, 在控制通道注册后, 转发器向控制器通告 报文数据通道能力时携带 GRE通道信息的同时携带 IPSec叠加属性, 在报 文进行 GRE通道封装解封装处理时增加 IPSec的加密和解密处理, 如图 3 所示, 为控制器与转发器之间的控制通道与 GRE通道分离模型。
实施例三:
为了能让控制器上的不同路由协议之间数据报文在控制器与转发器之 间通信时具有不同的优先级或 QOS, 可以创建多条 GRE通道, 具体为: 根 据属性通告消息携带的建立多条 GRE通道的建立信息, 创建多条 GRE通 道; 并设置不同级别的优先级属性。 在控制器向转发器下发协议报文上送 分发的流表项时, 同时指定相应优先级别的 GRE通道, 如图 4所示, 为多 GRE通道承载不同优先级的路由协议报文的模型。
实施例四:
请参阅图 5 ,为本发明实施例四提供的基于转发器侧的通道建立方法的 实现流程, 其包括:
在 S201中, 转发器向控制器发起注册消息;
在本发明实施例中, 转发器启动后, 根据用户配置或内部默认配置的 控制器服务地址向控制器发起 TCP连接注册消息和控制通道协议消息, 例 如 OpenFlow, 但不限于这一种控制通道协议。
在 S202中, 当接收到成功注册消息后, 转发器向控制器发送属性通告 消息; 其中, 所述属性通告消息主要包括: 流表转发能力消息以及报文数 据通道能力消息。
在本发明实施例中, 当接收到成功注册消息后, 转发器根据控制器的 属性查询向控制器通告转发器的流表转发能力以及报文数据通道能力, 其 中报文数据通道能力信息中携带 GRE通道建立信息, 所述 GRE通道建立 信息主要包括本端和对端 GRE通道地址, GRE内部扩展 TLV能力及版本 号等。
在 S203中, 转发器在本端创建 GRE通道实例控制块;
在本发明实施例中, 转发器在本端根据 GRE通道建立信息创建 GRE 通道实例控制块, 并生成通道虚拟接口实例。
在 S204中, 转发器通过 GRE通道进行收发报文。
在本发明实施例中, GRE通道创建成功后, 控制器根据自身的协议报 文接收属性下发协议报文上送分发的流表项到转发器, 此流表项的下发是 通过控制通道(如 OpenFlow )到达转发器的; 其中流表项包含报文的特征 属性(如源和目的 MAC、 源和目的 IP、 源和目的端口号) , 用于匹配转发 器从外部接口收到的路由协议报文, 同时流表项还包含报文上送控制器的 通道, 可以指定共用控制通道, 也可以指定使用 GRE通道, 本实施例旨在 描述协议报文数据通过 GRE通道传输的流程。 至此, 控制器与转发器之间 的 GRE数据通道完成建立。
在本发明实施例中, 当控制器需要发送路由协议报文时, 对于路由协 议数据完成原有的传输层、 IP层、 链路层封装后, 将报文再次封装 GRE协 议头以及 GRE通道的 IP层和链路层协议头后发送给转发器,转发器收到报 文后先进行 GRE协议的解封装, 再将原始报文通过网络接口发送出去。
在本发明实施例中, 当转发器从网络接口收到报文后, 查询协议报文 上送分发流表项, 如果匹配, 则不对报文做进一步解析处理, 将原始报文 封装 GRE协议头以及 GRE通道的 IP层和链路层协议头后发送至控制器, 控制器收到报文后先进行 GRE协议的解封装处理, 在将原始报文上送对应 的路由协议做处理。
实施例五:
为了保证 GRE通道的安全性, 在控制通道注册后, 转发器向控制器通 告报文数据通道能力时携带 GRE通道信息的同时携带 IPSec叠加属性, 在 报文进行 GRE通道封装解封装处理时增加 IPSec的加密和解密处理。
实施例六:
为了能让控制器上的不同路由协议之间数据报文在控制器与转发器之 间通信时具有不同的优先级或 QOS,在转发器端也需要创建多条 GRE通道, 具体实现为: 所述转发器在本端创建多条 GRE通道实例控制块; 所述转发 器通过多条 GRE通道进行收发报文。 在控制器向转发器下发协议报文上送 分发的流表项时, 同时指定相应优先级别的 GRE通道。
实施例七:
请参阅图 6, 为本发明实施例七提供的控制器的结构, 为了便于说明, 仅示出了与本发明实施例相关的部分。所述控制器包括:端口创建模块 101、 注册模块 102、属性通告消息接收模块 103、 GRE通道实例控制块创建模块 104。
端口创建模块 101, 用于创建 TCP服务端口, 所述端口用于侦听转发 器发送的消息;
在本发明实施例中, 控制器启动后, 开启转发器注册管理服务, 创建
TCP服务端口, 该 TCP服务端口用于侦听以及等待转发器发起的注册消 息。
注册模块 102, 用于接收转发器发起的注册消息, 并根据所述注册消息 进行注册;
属性通告消息接收模块 103 , 用于接收转发器发送的属性通告消息; 其 中, 所述属性通告消息主要包括: 流表转发能力消息以及报文数据通道能 力消息。
GRE通道实例控制块创建模块 104, 用于根据所述属性通告消息携带 的 GRE通道建立信息, 创建对应的 GRE通道实例控制块。
在本发明实施例中, 所述控制器还包括: 记录模块。
记录模块, 用于收到转发器的属性通告消息后, 记录该转发器的流表 转发能力消息。
在本发明实施例中, 所述控制器还包括: 生成模块。
生成模块, 用于根据报文数据通道能力消息中携带的 GRE通道建立信 息, 生成通道虚拟接口实例。
在本发明实施例中, 所述控制器还包括: 封装模块。
封装模块, 用于当控制器需要发送路由协议报文时, 对所述报文进行 封装 GRE协议头以及 GRE通道的 IP层和链路层协议头, 并将封装后的报 文发送给转发器。 具体用于当控制器需要发送路由协议报文时, 对于路由 协议数据完成原有的传输层、 IP层、 链路层封装后, 将报文再次封装 GRE 协议头以及 GRE通道的 IP层和链路层协议头后发送给转发器。
实施例八:
所述控制器还包括: 迭代模块。
迭代模块, 用于根据报文数据通道能力消息中携带的 IPSec叠加属性, 将 GRE通道建立迭代到 IPSec通道上。
本实施例能够保证 GRE通道的安全性。
实施例九:
所述控制器还包括: 设置模块。
GRE通道实例控制块创建模块 104, 还用于根据所述属性通告消息携 带的建立多条 GRE通道的建立信息, 创建多条 GRE通道。
设置模块, 用于在控制器向转发器下发协议报文上送分发的流表项时, 设置相应优先级别的 GRE通道。 本实施例能让控制器上的不同路由协议之间数据报文在控制器与转发 器之间通信时具有不同的优先级或 QOS。
实施例十:
请参阅图 7, 为本发明实施例十提供的转发器的结构, 为了便于说明, 仅示出了与本发明实施例相关的部分。所述转发器包括:消息发起模块 201、 属性通告消息发送模块 202、 GRE通道实例控制块创建模块 203。
消息发起模块 201 , 用于向控制器发起注册消息;
在本发明实施例中, 转发器启动后, 根据用户配置或内部默认配置的 控制器服务地址向控制器发起 TCP连接注册消息和控制通道协议消息, 例 如 OpenFlow, 但不限于这一种控制通道协议。
属性通告消息发送模块 202, 用于当接收到成功注册消息后, 转发器向 控制器发送属性通告消息; 其中, 所述属性通告消息主要包括: 流表转发 能力消息以及报文数据通道能力消息。
在本发明实施例中, 当接收到成功注册消息后, 转发器根据控制器的 属性查询向控制器通告转发器的流表转发能力以及报文数据通道能力, 其 中报文数据通道能力信息中携带 GRE通道建立信息, 所述 GRE通道建立 信息主要包括本端和对端 GRE通道地址, GRE内部扩展 TLV能力及版本 号等。
GRE通道实例控制块创建模块 203 , 用于创建 GRE通道实例控制块。 在本发明实施例中, 转发器在本端根据 GRE通道建立信息创建 GRE 通道实例控制块, 并生成通道虚拟接口实例。
实施例十一:
本发明实施例十一提供一种通道建立系统, 所述系统包括控制器和转 发器。
控制器创建 TCP服务端口, 所述端口用于侦听转发器发送的消息; 转发器向控制器发起注册消息; 控制器接收转发器发起的注册消息, 并根据所述注册消息进行注册; 当接收到成功注册消息后, 转发器向控制器发送属性通告消息的同时 转发器在本端创建 GRE通道实例控制块; 其中, 所述属性通告消息主要包 括: 流表转发能力消息以及报文数据通道能力消息。
控制器接收转发器发送的属性通告消息;
控制器根据所述属性通告消息携带的 GRE通道建立信息, 创建对应的 GRE通道实例控制块;
控制器与转发器通过所述 GRE通道进行收发报文。
在本发明实施例中, 该通道建立系统是釆用上述通道建立方法实施例 中的控制器与釆用上述控制器与转发器之间的通道建立方法实施例中转发 器的交互过程。
请参阅图 8 , 本发明实施例十二提供的控制器包括: 处理器 61 , 存储器 62和网络接口 63。 其中,
处理器 61 , 用于执行程序。
在本发明实施例中, 程序可以包括程序代码, 所述程序代码包括计算 机操作指令。
处理器 61可能是中央处理器 CPU, 或者是被配置成实施本发明实施例 的一个或多个集成电路。
存储器 62 , 用于存储程序。
存储器 62可能包含随机存取存储器, 也可能还包括非易失性存储器。 网络接口 63 , 用于接收所述转发器发起的注册消息, 和用于接收所述 转发器发送的属性通告消息。
在本发明实施例中, 网络接口是网卡。
当处理器运行时, 所述处理器 61用于执行存储器 62中存储的程序使得 所述处理器执行如下的方法:
处理器 61创建 TCP服务端口, 所述端口用于侦听转发器发送的消息; 所述处理器 61根据网络接口 63接收的所述转发器发起的注册消息进行注 册; 所述处理器 61根据网络接口 63接收的所述转发器发送的属性通告消 息携带的 GRE通道建立信息, 创建对应的 GRE通道实例控制块; 所述处 理器 61通过所述 GRE通道进行收发报文。
请参阅图 9, 本发明实施例十三提供的转发器包括: 处理器 71 , 存储器 72和网络接口 73。 其中,
处理器 71 , 用于执行程序。
在本发明实施例中, 程序可以包括程序代码, 所述程序代码包括计算 机操作指令。
处理器 71可能是中央处理器 CPU, 或者是被配置成实施本发明实施例 的一个或多个集成电路。
存储器 72, 用于存储程序。
存储器 72可能包含随机存取存储器, 也可能还包括非易失性存储器。 网络接口 73 , 用于向控制器发起注册消息, 和用于向所述控制器发送 属性通告消息。
在本发明实施例中, 网络接口是网卡。
当处理器运行时, 所述处理器 71用于执行存储器 72中存储的程序使得 所述处理器执行如下的方法:
处理器在本端创建 GRE通道实例控制块; 并通过 GRE通道进行收发 报文。
综上所述, 本发明实施例在 SDN网络环境下, 通过 GRE通道实现控 制器与转发器之间报文数据通道与转发流表数据通道隔离。 当报文数据量 较大时不会影响转发流表的正常下发和刷新, 当转发流表数据量较大时也 不会影响控制平面路由协议的正常收敛。 本发明实施例还可以针对报文通 道定制单独的 QOS、 安全策略等等, 不会对 OpenFlow的 TCP链接产生任 何影响和依赖。 另外, 通过 IPSec的能力扩展可以保证报文通道的安全性。 再者, 通过多 GRE通道的创建可以满足不同路由协议报文在控制器与转发 器之间传输的不同优先级需求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成, 所述的程序可以存储于一计 算机可读取存储介质中, 所述的存储介质, 如 ROM/RAM、 磁盘、 光盘等。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在 本发明的精神和原则之内所作的任何修改、 等同替换和改进等, 均应包含 在本发明的保护范围之内。

Claims

权利要求
1、 一种通道建立方法, 其特征在于, 所述方法包括:
控制器创建 TCP服务端口, 所述端口用于侦听转发器发送的消息; 所述控制器接收所述转发器发起的注册消息, 并根据所述注册消息进 行注册;
所述控制器接收所述转发器发送的属性通告消息;
所述控制器根据所述属性通告消息携带的 GRE通道建立信息, 创建对 应的 GRE通道实例控制块;
所述控制器通过所述 GRE通道进行收发报文。
2、 如权利要求 1所述的方法, 其特征在于, 所述属性通告消息包括: 流表转发能力消息以及报文数据通道能力消息。
3、 如权利要求 1所述的方法, 其特征在于, 所述控制器通过所述 GRE 通道进行收发报文的步骤, 具体为:
当控制器需要发送路由协议报文时, 对所述报文进行封装 GRE协议头 以及 GRE通道的 IP层和链路层协议头, 并将封装后的报文发送给转发器。
4、 如权利要求 2所述的方法, 其特征在于, 所述方法还包括: 根据报文数据通道能力消息中携带的 IPSec叠加属性, 将 GRE通道建 立迭代到 IPSec通道上。
5、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括: 根据属性通告消息携带的建立多条 GRE通道的建立信息, 创建多条
GRE通道;
在控制器向转发器下发协议报文上送分发的流表项时, 设置相应优先 级别的 GRE通道。
6、 一种控制器, 其特征在于, 所述控制器包括:
端口创建模块, 用于创建 TCP服务端口, 所述端口用于侦听转发器发 送的消息; 注册模块, 用于接收转发器发起的注册消息, 并根据所述注册消息进 行注册;
属性通告消息接收模块, 用于接收转发器发送的属性通告消息。
GRE 通道实例控制块创建模块, 用于根据所述属性通告消息携带的 GRE通道建立信息, 创建对应的 GRE通道实例控制块。
7、 如权利要求 6所述的控制器, 其特征在于, 所述控制器还包括; 迭代模块, 用于根据报文数据通道能力消息中携带的 IPSec叠加属性, 将 GRE通道建立迭代到 IPSec通道上。
8、 如权利要求 6所述的控制器, 其特征在于, 所述控制器还包括: GRE通道实例控制块创建模块, 还用于根据属性通告消息携带的建立 多条 GRE通道的建立信息, 创建多条 GRE通道;
设置模块, 用于在控制器向转发器下发协议报文上送分发的流表项时, 设置相应优先级别的 GRE通道。
9、 一种通道建立方法, 其特征在于, 所述方法包括:
转发器向控制器发起注册消息;
当接收到成功注册消息后, 所述转发器向所述控制器发送属性通告消 息;
所述转发器在本端创建 GRE通道实例控制块;
所述转发器通过 GRE通道进行收发报文。
10、 如权利要求 9所述的方法, 其特征在于,
所述转发器在本端创建多条 GRE通道实例控制块;
所述转发器通过多条 GRE通道进行收发报文。
11、 一种转发器, 其特征在于, 所述转发器包括:
消息发起模块, 用于向控制器发起注册消息;
属性通告消息发送模块, 用于当接收到成功注册消息后, 转发器向控 制器发送属性通告消息; GRE通道实例控制块创建模块, 用于创建 GRE通道实例控制块。
12、 一种通道建立系统, 其特征在于, 所述系统包括控制器和转发器; 控制器创建 TCP服务端口, 所述端口用于侦听转发器发送的消息; 所述转发器向所述控制器发起注册消息;
所述控制器接收所述转发器发起的注册消息, 并根据所述注册消息进 行注册;
当接收到成功注册消息后, 所述转发器向所述控制器发送属性通告消 息的同时所述转发器在本端创建 GRE通道实例控制块;
所述控制器接收所述转发器发送的属性通告消息;
所述控制器根据所述属性通告消息携带的 GRE通道建立信息, 创建对 应的 GRE通道实例控制块;
所述控制器与所述转发器通过所述 GRE通道进行收发报文。
PCT/CN2014/083206 2013-07-29 2014-07-29 一种控制器、转发器及通道建立方法和系统 WO2015014269A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310323093.7A CN103391296B (zh) 2013-07-29 2013-07-29 一种控制器、转发器及通道建立方法和系统
CN201310323093.7 2013-07-29

Publications (1)

Publication Number Publication Date
WO2015014269A1 true WO2015014269A1 (zh) 2015-02-05

Family

ID=49535453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/083206 WO2015014269A1 (zh) 2013-07-29 2014-07-29 一种控制器、转发器及通道建立方法和系统

Country Status (2)

Country Link
CN (1) CN103391296B (zh)
WO (1) WO2015014269A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103391296B (zh) * 2013-07-29 2016-08-24 北京华为数字技术有限公司 一种控制器、转发器及通道建立方法和系统
KR101918554B1 (ko) * 2013-12-17 2018-11-15 노키아 솔루션스 앤드 네트웍스 게엠베하 운트 코. 카게 소프트웨어 정의 네트워킹에서의 핸드오버
CN104796344B (zh) * 2014-01-16 2020-01-14 中兴通讯股份有限公司 基于SDN实现报文转发的方法、系统、Openflow交换机及服务器
US9749214B2 (en) * 2014-02-26 2017-08-29 Futurewei Technologies, Inc. Software defined networking (SDN) specific topology information discovery
WO2015139199A1 (zh) * 2014-03-18 2015-09-24 华为技术有限公司 统计信息上报方法及装置
CN105471738B (zh) * 2014-09-09 2019-04-23 中国电信股份有限公司 一种业务流量的传输方法及系统
CN104243270B (zh) * 2014-09-25 2017-11-24 新华三技术有限公司 一种建立隧道的方法和装置
WO2016101286A1 (zh) * 2014-12-27 2016-06-30 华为技术有限公司 一种通告消息处理方法和装置
CN105991606A (zh) * 2015-02-27 2016-10-05 中兴通讯股份有限公司 一种OpenFlow报文的处理方法及网元
CN106161289A (zh) * 2015-03-23 2016-11-23 中兴通讯股份有限公司 一种基于sdn的网关中控制报文的处理方法及系统
CN104702509B (zh) * 2015-03-31 2019-02-19 新华三技术有限公司 一种隔离sdn协议报文和数据报文的方法及装置
WO2018145267A1 (zh) * 2017-02-08 2018-08-16 华为技术有限公司 一种转发器入网识别方法、sdn控制器及转发器
CN108337243B (zh) * 2017-11-02 2021-12-07 紫光恒越技术有限公司 报文转发方法、装置和转发设备
EP3855708A4 (en) * 2018-09-17 2022-04-20 Nokia Solutions and Networks Oy SERVICE DISTRIBUTION DEVICE AND METHOD IN A SOFTWARE DEFINED NETWORK AND STORAGE MEDIUM
CN111147369B (zh) * 2018-11-05 2022-02-08 中国电信股份有限公司 路由系统、路由方法和服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488902A (zh) * 2009-02-25 2009-07-22 杭州华三通信技术有限公司 一种gre隧道的动态建立方法和设备
CN102710432A (zh) * 2012-04-27 2012-10-03 北京云杉世纪网络科技有限公司 云计算数据中心中的虚拟网络管理系统及方法
CN103023826A (zh) * 2012-12-26 2013-04-03 华中科技大学 一种OpenFlow控制器的路由控制方法
CN103391296A (zh) * 2013-07-29 2013-11-13 北京华为数字技术有限公司 一种控制器、转发器及通道建立方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101562726B1 (ko) * 2011-05-30 2015-10-22 닛본 덴끼 가부시끼가이샤 통신 경로 제어 시스템, 및 통신 경로 제어 방법
EP2712128B1 (en) * 2011-07-06 2016-01-13 Huawei Technologies Co., Ltd. Message processing method and related device thereof
US8559314B2 (en) * 2011-08-11 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Implementing OSPF in split-architecture networks
US8762501B2 (en) * 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
CN102594697B (zh) * 2012-02-21 2015-07-22 华为技术有限公司 负载均衡方法及负载均衡装置
CN103067277B (zh) * 2013-01-06 2016-06-22 华为技术有限公司 建立控制通道的方法、转发设备和控制设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488902A (zh) * 2009-02-25 2009-07-22 杭州华三通信技术有限公司 一种gre隧道的动态建立方法和设备
CN102710432A (zh) * 2012-04-27 2012-10-03 北京云杉世纪网络科技有限公司 云计算数据中心中的虚拟网络管理系统及方法
CN103023826A (zh) * 2012-12-26 2013-04-03 华中科技大学 一种OpenFlow控制器的路由控制方法
CN103391296A (zh) * 2013-07-29 2013-11-13 北京华为数字技术有限公司 一种控制器、转发器及通道建立方法和系统

Also Published As

Publication number Publication date
CN103391296B (zh) 2016-08-24
CN103391296A (zh) 2013-11-13

Similar Documents

Publication Publication Date Title
WO2015014269A1 (zh) 一种控制器、转发器及通道建立方法和系统
JP7079866B2 (ja) パケット処理方法、及びデバイス
US10616379B2 (en) Seamless mobility and session continuity with TCP mobility option
US10749752B2 (en) Methods and systems for managing VPN tunnels
WO2020134739A1 (zh) 配置无缝双向转发检测sbfd机制的方法和装置
US10085253B2 (en) Methods and apparatus for controlling wireless access points
US9231820B2 (en) Methods and apparatus for controlling wireless access points
US10009267B2 (en) Method and system for controlling an underlying physical network by a software defined network
WO2017137008A1 (zh) 一种虚拟网络设备及相关方法
US7835285B2 (en) Quality of service, policy enhanced hierarchical disruption tolerant networking system and method
WO2013185715A1 (zh) 一种实现虚拟网络的方法和虚拟网络
US8817815B2 (en) Traffic optimization over network link
WO2013086897A1 (zh) 生成表项的方法、接收报文的方法及相应装置和系统
WO2019042303A1 (zh) 报文转发
WO2011160517A1 (zh) 一种多协议标签交换业务隧道切换的方法及系统
EP4191966A1 (en) Method and device for processing data message, storage medium, and electronic device
CN113395212B (zh) 网络装置及其操作方法和非暂时性计算机可读介质
CN112637237B (zh) 基于SRoU的业务加密方法、系统、设备及存储介质
WO2015090087A1 (zh) 路由扩散的方法及装置
WO2023035836A1 (zh) 一种报文处理方法及相关装置
JP4011528B2 (ja) ネットワーク仮想化システム
CN115442121A (zh) 一种流量传输方法、系统、装置及存储介质
CN113411200B (zh) 一种基于仿真网络封装、解封及传输虚拟流量的方法及系统
JP4388464B2 (ja) パケット中継装置およびパケット通信ネットワーク
JP2017208718A (ja) 通信装置および通信方法

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: 14833047

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14833047

Country of ref document: EP

Kind code of ref document: A1