CN103391296A - 一种控制器、转发器及通道建立方法和系统 - Google Patents
一种控制器、转发器及通道建立方法和系统 Download PDFInfo
- Publication number
- CN103391296A CN103391296A CN2013103230937A CN201310323093A CN103391296A CN 103391296 A CN103391296 A CN 103391296A CN 2013103230937 A CN2013103230937 A CN 2013103230937A CN 201310323093 A CN201310323093 A CN 201310323093A CN 103391296 A CN103391296 A CN 103391296A
- Authority
- CN
- China
- Prior art keywords
- message
- controller
- channel
- gre
- repeater
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000000926 separation method Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012544 monitoring process Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
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
技术领域
本发明属于通信技术领域,尤其涉及一种控制器、转发器及通道建立方法和系统。
背景技术
术语解释:
SDN(Software Defined Network,软件定义网络),是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow(开放流)通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
OpenFlow最初主要解决的是重新设计互联网的实验环境问题。在纯的实验网络上总难以有足够多的实际用户或者足够大的网络拓扑来测试新协议的性能和功能,最好的方法是将运行新协议的实验网络嵌入实际运营的网络,利用实际的网络环境来检验新协议的可行性和存在的问题。
现在很多主张重新设计计算机网络体系结构的人士认为:网络可以复制计算机领域的成功来解决现在网络所遇到的所有问题。在这种思想的指导下,将来的网络必将是这样的:底层的数据通路(交换机、路由器)是“哑的、简单的、最小的”,并定义一个对外开放的关于流表的公用的API(ApplicationProgramming Interface,应用编程接口),同时采用控制器来控制整个网络。未来的研究人员就可以在控制器上自由的调用底层的API来编程,从而实现网络的创新。OpenFlow正是这种网络创新思想的强有力的推动者。OpenFlow交换机将原来完全由交换机/路由器控制的报文转发过程转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)来共同完成,从而实现了数据转发和路由控制的分离。控制器可以通过事先规定好的接口操作来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的。在SDN中,交换设备的数据转发层和控制层是分离的,因此网络协议和交换策略的升级只需要改动控制层。OpenFlow在OpenFlow交换机上实现数据转发,而在控制器上实现数据的转发控制,从而实现了数据转发层和控制层的分离。基于OpenFlow实现SDN,则在网络中实现了软硬件的分离以及底层硬件的虚拟化,从而为网络的发展提供了一个良好的发展平台。
OpenFlow网络包括OpenFlow交换机、FlowVisor和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(VirtualPrivate 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 (12)
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通道进行收发报文。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310323093.7A CN103391296B (zh) | 2013-07-29 | 2013-07-29 | 一种控制器、转发器及通道建立方法和系统 |
PCT/CN2014/083206 WO2015014269A1 (zh) | 2013-07-29 | 2014-07-29 | 一种控制器、转发器及通道建立方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310323093.7A CN103391296B (zh) | 2013-07-29 | 2013-07-29 | 一种控制器、转发器及通道建立方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103391296A true CN103391296A (zh) | 2013-11-13 |
CN103391296B CN103391296B (zh) | 2016-08-24 |
Family
ID=49535453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310323093.7A Active CN103391296B (zh) | 2013-07-29 | 2013-07-29 | 一种控制器、转发器及通道建立方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103391296B (zh) |
WO (1) | WO2015014269A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243270A (zh) * | 2014-09-25 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种建立隧道的方法和装置 |
WO2015014269A1 (zh) * | 2013-07-29 | 2015-02-05 | 华为技术有限公司 | 一种控制器、转发器及通道建立方法和系统 |
CN104702509A (zh) * | 2015-03-31 | 2015-06-10 | 杭州华三通信技术有限公司 | 一种隔离sdn协议报文和数据报文的方法及装置 |
CN104796344A (zh) * | 2014-01-16 | 2015-07-22 | 中兴通讯股份有限公司 | 基于SDN实现报文转发的方法、系统、Openflow交换机及服务器 |
CN105264944A (zh) * | 2014-03-18 | 2016-01-20 | 华为技术有限公司 | 统计信息上报方法及装置 |
CN105471738A (zh) * | 2014-09-09 | 2016-04-06 | 中国电信股份有限公司 | 一种业务流量的传输方法及系统 |
WO2016101286A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 一种通告消息处理方法和装置 |
WO2016134631A1 (zh) * | 2015-02-27 | 2016-09-01 | 中兴通讯股份有限公司 | 一种OpenFlow报文的处理方法及网元 |
CN105981434A (zh) * | 2013-12-17 | 2016-09-28 | 诺基亚通信管理国际两合公司 | 软件定义联网中的切换 |
WO2016150140A1 (zh) * | 2015-03-23 | 2016-09-29 | 中兴通讯股份有限公司 | 一种基于sdn的网关中控制报文的处理方法及系统 |
CN106063203A (zh) * | 2014-02-26 | 2016-10-26 | 华为技术有限公司 | 软件定义网络(sdn)特定拓扑信息发现 |
CN108337243A (zh) * | 2017-11-02 | 2018-07-27 | 北京紫光恒越网络科技有限公司 | 报文转发方法、装置和转发设备 |
WO2018145267A1 (zh) * | 2017-02-08 | 2018-08-16 | 华为技术有限公司 | 一种转发器入网识别方法、sdn控制器及转发器 |
CN111147369A (zh) * | 2018-11-05 | 2020-05-12 | 中国电信股份有限公司 | 路由系统、路由方法和服务器 |
CN112655185A (zh) * | 2018-09-17 | 2021-04-13 | 上海诺基亚贝尔股份有限公司 | 软件定义网络中的服务分配的设备、方法和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488902A (zh) * | 2009-02-25 | 2009-07-22 | 杭州华三通信技术有限公司 | 一种gre隧道的动态建立方法和设备 |
CN102594697A (zh) * | 2012-02-21 | 2012-07-18 | 华为技术有限公司 | 负载均衡方法及负载均衡装置 |
WO2012106869A1 (zh) * | 2011-07-06 | 2012-08-16 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
WO2012165446A1 (ja) * | 2011-05-30 | 2012-12-06 | 日本電気株式会社 | 通信経路制御システム、及び通信経路制御方法 |
US20130039214A1 (en) * | 2011-08-11 | 2013-02-14 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing OSPF in Split-Architecture Networks |
WO2013030693A1 (en) * | 2011-08-29 | 2013-03-07 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3g packet core in a cloud computer with openflow data and control planes |
CN103023826A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种OpenFlow控制器的路由控制方法 |
CN103067277A (zh) * | 2013-01-06 | 2013-04-24 | 华为技术有限公司 | 建立控制通道的方法、转发设备和控制设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710432B (zh) * | 2012-04-27 | 2015-04-15 | 北京云杉世纪网络科技有限公司 | 云计算数据中心中的虚拟网络管理系统及方法 |
CN103391296B (zh) * | 2013-07-29 | 2016-08-24 | 北京华为数字技术有限公司 | 一种控制器、转发器及通道建立方法和系统 |
-
2013
- 2013-07-29 CN CN201310323093.7A patent/CN103391296B/zh active Active
-
2014
- 2014-07-29 WO PCT/CN2014/083206 patent/WO2015014269A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488902A (zh) * | 2009-02-25 | 2009-07-22 | 杭州华三通信技术有限公司 | 一种gre隧道的动态建立方法和设备 |
WO2012165446A1 (ja) * | 2011-05-30 | 2012-12-06 | 日本電気株式会社 | 通信経路制御システム、及び通信経路制御方法 |
WO2012106869A1 (zh) * | 2011-07-06 | 2012-08-16 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
US20130039214A1 (en) * | 2011-08-11 | 2013-02-14 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing OSPF in Split-Architecture Networks |
WO2013030693A1 (en) * | 2011-08-29 | 2013-03-07 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3g packet core in a cloud computer with openflow data and control planes |
CN102594697A (zh) * | 2012-02-21 | 2012-07-18 | 华为技术有限公司 | 负载均衡方法及负载均衡装置 |
CN103023826A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种OpenFlow控制器的路由控制方法 |
CN103067277A (zh) * | 2013-01-06 | 2013-04-24 | 华为技术有限公司 | 建立控制通道的方法、转发设备和控制设备 |
Non-Patent Citations (3)
Title |
---|
ONF: "《OF-CONFIG 1.1》", 25 June 2012 * |
ONF: "《ONF White Paper》", 13 April 2012 * |
ONF: "《OpenFlow Switch Specification Version 1.3.1》", 6 September 2012 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015014269A1 (zh) * | 2013-07-29 | 2015-02-05 | 华为技术有限公司 | 一种控制器、转发器及通道建立方法和系统 |
CN105981434A (zh) * | 2013-12-17 | 2016-09-28 | 诺基亚通信管理国际两合公司 | 软件定义联网中的切换 |
CN104796344B (zh) * | 2014-01-16 | 2020-01-14 | 中兴通讯股份有限公司 | 基于SDN实现报文转发的方法、系统、Openflow交换机及服务器 |
CN104796344A (zh) * | 2014-01-16 | 2015-07-22 | 中兴通讯股份有限公司 | 基于SDN实现报文转发的方法、系统、Openflow交换机及服务器 |
CN106063203B (zh) * | 2014-02-26 | 2019-09-03 | 华为技术有限公司 | 软件定义网络(sdn)特定拓扑信息发现 |
CN106063203A (zh) * | 2014-02-26 | 2016-10-26 | 华为技术有限公司 | 软件定义网络(sdn)特定拓扑信息发现 |
CN105264944A (zh) * | 2014-03-18 | 2016-01-20 | 华为技术有限公司 | 统计信息上报方法及装置 |
CN105264944B (zh) * | 2014-03-18 | 2019-06-21 | 华为技术有限公司 | 统计信息上报方法及装置 |
CN105471738A (zh) * | 2014-09-09 | 2016-04-06 | 中国电信股份有限公司 | 一种业务流量的传输方法及系统 |
CN105471738B (zh) * | 2014-09-09 | 2019-04-23 | 中国电信股份有限公司 | 一种业务流量的传输方法及系统 |
CN104243270B (zh) * | 2014-09-25 | 2017-11-24 | 新华三技术有限公司 | 一种建立隧道的方法和装置 |
CN104243270A (zh) * | 2014-09-25 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种建立隧道的方法和装置 |
WO2016101286A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 一种通告消息处理方法和装置 |
CN107113229B (zh) * | 2014-12-27 | 2019-11-29 | 华为技术有限公司 | 一种通告消息处理方法和装置 |
CN105991606A (zh) * | 2015-02-27 | 2016-10-05 | 中兴通讯股份有限公司 | 一种OpenFlow报文的处理方法及网元 |
WO2016134631A1 (zh) * | 2015-02-27 | 2016-09-01 | 中兴通讯股份有限公司 | 一种OpenFlow报文的处理方法及网元 |
WO2016150140A1 (zh) * | 2015-03-23 | 2016-09-29 | 中兴通讯股份有限公司 | 一种基于sdn的网关中控制报文的处理方法及系统 |
CN104702509A (zh) * | 2015-03-31 | 2015-06-10 | 杭州华三通信技术有限公司 | 一种隔离sdn协议报文和数据报文的方法及装置 |
WO2018145267A1 (zh) * | 2017-02-08 | 2018-08-16 | 华为技术有限公司 | 一种转发器入网识别方法、sdn控制器及转发器 |
CN108337243A (zh) * | 2017-11-02 | 2018-07-27 | 北京紫光恒越网络科技有限公司 | 报文转发方法、装置和转发设备 |
CN112655185A (zh) * | 2018-09-17 | 2021-04-13 | 上海诺基亚贝尔股份有限公司 | 软件定义网络中的服务分配的设备、方法和存储介质 |
CN112655185B (zh) * | 2018-09-17 | 2024-03-19 | 上海诺基亚贝尔股份有限公司 | 软件定义网络中的服务分配的设备、方法和存储介质 |
CN111147369A (zh) * | 2018-11-05 | 2020-05-12 | 中国电信股份有限公司 | 路由系统、路由方法和服务器 |
CN111147369B (zh) * | 2018-11-05 | 2022-02-08 | 中国电信股份有限公司 | 路由系统、路由方法和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN103391296B (zh) | 2016-08-24 |
WO2015014269A1 (zh) | 2015-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103391296B (zh) | 一种控制器、转发器及通道建立方法和系统 | |
JP7079866B2 (ja) | パケット処理方法、及びデバイス | |
US11882041B2 (en) | Congestion notification packet indicating specific packet flow experiencing congestion to facilitate individual packet flow based transmission rate control | |
US20220078114A1 (en) | Method and Apparatus for Providing Service for Traffic Flow | |
US10009267B2 (en) | Method and system for controlling an underlying physical network by a software defined network | |
EP2378720B1 (en) | Extranet networking method, system and device for multicast virtual private network | |
WO2013185715A1 (zh) | 一种实现虚拟网络的方法和虚拟网络 | |
WO2013086897A1 (zh) | 生成表项的方法、接收报文的方法及相应装置和系统 | |
WO2014201974A1 (zh) | 业务路由报文处理方法、装置及网络系统 | |
EP3487150B1 (en) | Packet processing method and device | |
CN106464596A (zh) | 开放流通信方法、系统、控制器和业务网关 | |
EP4191966A1 (en) | Method and device for processing data message, storage medium, and electronic device | |
CN113395212B (zh) | 网络装置及其操作方法和非暂时性计算机可读介质 | |
WO2015165249A1 (zh) | 一种建立业务路径的方法和设备 | |
WO2021254001A1 (zh) | 会话建立方法、装置、系统及计算机存储介质 | |
CN102420772B (zh) | 隧道报文收发方法和装置 | |
CN114268518B (zh) | 一种实现sdwan数据隧道转发加速的方法及系统 | |
CN113411200B (zh) | 一种基于仿真网络封装、解封及传输虚拟流量的方法及系统 | |
US9847929B2 (en) | Cluster and forwarding method | |
WO2023035836A1 (zh) | 一种报文处理方法及相关装置 | |
WO2014183579A1 (zh) | 控制数据转发的方法及逻辑交换机 | |
CN110505137B (zh) | 功能扩展式有线网络装置 | |
CN103457821B (zh) | 基于trill网络的跨vlan组播实现方法和装置 | |
JP6160101B2 (ja) | 通信装置、制御装置、通信システム、制御メッセージの送信方法 | |
CN114650196A (zh) | 一种vlan接口数据报文转发方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |