SDN中的报文交互方法及装置与流程

文档序号:16245660发布日期:2018-12-11 23:33阅读:432来源:国知局
SDN中的报文交互方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种sdn中的报文交互方法及装置。

背景技术

在相关技术中,双向转发检测协议(bidirectionalforwardingdetection,简称为bfd)通过在两台路由器或者路由交换机上建立会话,检测两台路由器之间的双向转发路径。它本身没有发现机制,而是靠被服务的上层协议通知其该与谁建立会话,会话建立后如果在检测时间内没有收到对端的bfd控制报文则认为发生故障,通知被服务的上层协议,上层协议进行相应的处理。

相关技术中,bfd定位更多是绑定到转发平面,只检测下一跳设备连接状态,能在任何类型通道上进行故障检测,支持ospf/isis/bgp等全部主流路由协议,当检测到链路发生故障,能快速发布链路状态,启动网络收敛,选择冗余备份链路。

软件定义网络(softwaredefinednetwork,简称为sdn)是一种新型的网络创新架构,其核心技术是通过openflow协议将网络设置的控制面与转发面分离开来,从而实现网络流量的灵活控制。交换机只专注于转发,控制(链路发现、拓扑生成、arp、引流、路由等)均由sdn控制器实现。

针对相关技术中,无法将传统网络中的某些协议应用到sdn的问题,目前还没有有效的解决方案。



技术实现要素:

本发明实施例提供了一种sdn中的报文交互方法及装置,以至少解决相关技术中无法将传统网络中的某些协议应用到sdn的问题。

根据本发明的一个实施例,提供了一种sdn中的报文交互方法,包括:

openflow域的域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息;所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至所述openflow域的域外设备;所述域内sdn设备接收所述域外设备反馈的响应报文,并将携带有所述响应报文的第二openflow报文上传至所述sdn控制器。

可选地,所述探测报文的类型包括以下至少之一:双向转发检测bfd报文,边界网关协议bgp报文。

可选地,在所述探测报文为bfd报文的情况下,所述方法包括:所述域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bfd配置信息;依据所述bfd配置信息生成bfd检测报文,并将所述bfd检测报文发送至域外设备;接收所述域外设备发送的bfd响应报文,将携带有所述bfd响应报文的第二openflow报文上送至所述sdn控制器,其中,所述sdn控制器依据所述bfd响应报文确定bfd链路状态,或者,所述sdn控制器在预设时间内没有收到所述域内sdn设备上送的所述bfd响应报文,确定所述bfd链路状态为down。

可选地,在所述第一openflow报文中的experimenter消息中携带所述bfd配置信息。

可选地,在所述探测报文为bgp报文的情况下,所述方法包括:所述域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bgp配置信息;依据所述bgp配置信息生成bgp协议报文,并将所述bgp协议报文发送至域外设备;接收所述域外设备发送的bgp响应报文,将携带有所述bgp响应报文的第二openflow报文上送至sdn控制器,其中,所述sdn控制器依据所述bgp响应报文确定所述域内sdn设备的邻居信息。

根据本发明的另一个实施例,还提供了一种sdn中的报文交互方法,包括:openflow域的sdn控制器向域内sdn设备发送第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息,其中,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至域外设备,其中,所述域外设备向所述域内sdn设备发送与所述探测报文对应的响应报文;所述sdn控制器接收所述域内sdn设备发送的第二openflow报文,其中,所述第二openflow报文是所述域内sdn设备依据所述响应报文生成的。

可选地,所述探测报文的类型包括以下至少之一:双向转发检测bfd报文,边界网关协议bgp报文。

可选地,在所述探测报文为bfd报文的情况下,所述方法包括:所述sdn控制器向域内sdn设备发送所述第一openflow报文,其中,所述第一openflow报文中携带有bfd配置信息,其中,所述bfd配置信息用于在域内sdn设备内生成bfd检测报文;所述sdn控制器依据所述bfd检测报文检测所述域内sdn设备和所述域外设备之间的bfd链路状态;所述sdn控制器依据所述bfd链路状态生成域内sdn交换机的路由信息,并将所述路由信息下发至所述域内sdn交换机。

可选地,依据所述bfd检测报文检测所述域内sdn设备和所述域外设备之间的bfd链路状态,包括以下之一:在接收到所述域内sdn设备上送的bfd响应报文的情况下,所述sdn控制器依据所述bfd响应报文确定bfd链路状态,其中,所述bfd响应报文是由域外设备依据所述bfd检测报文反馈给所述域内sdn设备的响应报文;在预设时间内没有接收到所述域内sdn设备上送的bfd响应报文的情况下,所述sdn控制器确定所述bfd链路状态为down。

可选地,将所述路由信息下发至所述域内sdn交换机,包括:将所述路由信息通过openflow协议的flowmod消息发送到所述sdn交换机。

根据本发明的另一个实施例,还提供了一种sdn中的报文交互装置,应用于openflow域的域内sdn设备,包括:第一接收模块,用于接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息;第一发送模块,用于依据所述配置信息生成所述探测报文,并将所述探测报文发送至所述openflow域的域外设备;第一上报模块,接收所述域外设备反馈的响应报文,并将携带有所述响应报文的第二openflow报文上传至所述sdn控制器。

可选地,在所述探测报文为bfd报文的情况下,所述装置包括:第一接收单元,用于接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bfd配置信息;第一发送单元,用于依据所述bfd配置信息生成bfd检测报文,并将所述bfd检测报文发送至域外设备;第一上报单元,用于接收所述域外设备发送的bfd响应报文,将携带有所述bfd响应报文的第二openflow报文上送至所述sdn控制器,其中,所述sdn控制器依据所述bfd响应报文确定bfd链路状态,或者,所述sdn控制器在预设时间内没有收到所述域内sdn设备上送的所述bfd响应报文,确定所述bfd链路状态为down。

可选地,在所述探测报文为bgp报文的情况下,所述装置包括:第二接收单元,用于接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bgp配置信息;第二发送单元,依据所述bgp配置信息生成bgp协议报文,并将所述bgp协议报文发送至域外设备;第二上报单元,用于接收所述域外设备发送的bgp响应报文,将携带有所述bgp响应报文的第二openflow报文上送至sdn控制器,其中,所述sdn控制器依据所述bgp响应报文确定所述域内sdn设备的邻居信息。

根据本发明的另一个实施例,还提供了一种sdn中的报文交互装置,应用于openflow域的sdn控制器,包括:第二发送模块,用于向域内sdn设备发送第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息,其中,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至域外设备,其中,所述域外设备向所述域内sdn设备发送与所述探测报文对应的响应报文;第二接收模块,用于接收所述域内sdn设备发送的第二openflow报文,其中,所述第二openflow报文是所述域内sdn设备依据所述响应报文生成的。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:

openflow域的域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息;

所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至所述openflow域的域外设备;

所述域内sdn设备接收所述域外设备反馈的响应报文,并将携带有所述响应报文的第二openflow报文上传至所述sdn控制器。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:

openflow域的sdn控制器向域内sdn设备发送第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息,其中,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至域外设备,其中,所述域外设备向所述域内sdn设备发送与所述探测报文对应的响应报文;

所述sdn控制器接收所述域内sdn设备发送的第二openflow报文,其中,所述第二openflow报文是所述域内sdn设备依据所述响应报文生成的。

通过本发明,sdn控制器向sdn设备下发携带有探测报文的配置信息的openflow报文,该探测报文可以是bfd协议或者bgp协议等,sdn设备依据该配置信息生成该探测报文,发送至域外设备,并将域外设备的响应报文通过openflow报文的形式发送至sdn控制器,采用上述技术方案,实现了在sdn中应用传统网络中的某些协议报文,解决了相关技术中的无法将传统网络中的某些协议应用到sdn的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的sdn中的报文交互方法的流程图;

图2是根据本发明实施例的一种sdn中的报文交互方法流程图;

图3是根据本发明优选实施例的sdn控制器内部模块结构及处理流程示意图;

图4是根据本发明优选实施例的针对域外设备静态路由的bfd检测场景示意图;

图5是根据本发明优选实施例的针对bfd检测设计的openflowexperiment消息报文格式示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例一

本申请实施例中的技术方案可以应用于sdn中,涉及到openflow域中的sdn控制器和sdn设备。即本申请文件中的网络架构包括sdn控制器和sdn设备。

在本实施例中提供了一种运行于上述网络架构的sdn中的报文交互方法,图1是根据本发明实施例的sdn中的报文交互方法的流程图,如图1所示,该流程包括如下步骤:

步骤s102,openflow域的域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息;

步骤s104,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至所述openflow域的域外设备;

步骤s106,所述域内sdn设备接收所述域外设备反馈的响应报文,并将携带有所述响应报文的第二openflow报文上传至所述sdn控制器。

通过上述步骤,sdn控制器向sdn设备下发携带有探测报文的配置信息的openflow报文,该探测报文可以是bfd协议或者bgp协议等,sdn设备依据该配置信息生成该探测报文,发送至域外设备,并将域外设备的响应报文通过openflow报文的形式发送至sdn控制器,采用上述技术方案,实现了在sdn中应用传统网络中的某些协议报文,解决了相关技术中的无法将传统网络中的某些协议应用到sdn的问题。

可选地,所述探测报文的类型包括以下至少之一:双向转发检测(bidirectionalforwardingdetection,简称为bfd)报文,边界网关协议(bordergatewayprotocol,简称为bgp)报文。需要补充的是,该探测报文还可以是传统网络中用户链路检测,邻居发现等具有探测性质的报文。

可选地,在所述探测报文为bfd报文的情况下,所述方法包括:所述域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bfd配置信息;依据所述bfd配置信息生成bfd检测报文,并将所述bfd检测报文发送至域外设备;接收所述域外设备发送的bfd响应报文,将携带有所述bfd响应报文的第二openflow报文上送至所述sdn控制器,其中,所述sdn控制器依据所述bfd响应报文确定bfd链路状态,或者,所述sdn控制器在预设时间内没有收到所述域内sdn设备上送的所述bfd响应报文,确定所述bfd链路状态为down。

需要补充的是,采用上述可选实施例的原因是,鉴于bfd在链路诊断上的优势,利用sdn通过对bfd诊断结果进行学习,从而获知对应链路的up/down状态,重新选路,然后结合openflow的流表下发,流量引流,可以动态地调整网络数据报文的转发。在网络发生故障时,可以快速切换至备份链路,加快网络收敛速度。在网络正常的情况下,也可以根据链路检测的结果,结合流表引流,调整交换机所承受的流量压力,在网络吞吐能力和资源使用占比之间动态平衡。

可选地,在所述第一openflow报文中的实验experimenter消息中携带所述bfd配置信息。

可选地,在所述探测报文为bgp报文的情况下,所述方法包括:所述域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bgp配置信息;依据所述bgp配置信息生成bgp协议报文,并将所述bgp协议报文发送至域外设备;接收所述域外设备发送的bgp响应报文,将携带有所述bgp响应报文的第二openflow报文上送至sdn控制器,其中,所述sdn控制器依据所述bgp响应报文确定所述域内sdn设备的邻居信息。需要补充的是,该实施例中的记载的是在sdn中应用bgp的技术方案。

图2是根据本发明实施例的一种sdn中的报文交互方法流程图,如图2所示,该流程包括以下步骤:

步骤s202,openflow域的sdn控制器向域内sdn设备发送第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息,其中,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至域外设备,其中,所述域外设备向所述域内sdn设备发送与所述探测报文对应的响应报文;

步骤s204,所述sdn控制器接收所述域内sdn设备发送的第二openflow报文,其中,所述第二openflow报文是所述域内sdn设备依据所述响应报文生成的。

可选地,所述探测报文的类型包括以下至少之一:双向转发检测bfd报文,边界网关协议bgp报文。

可选地,在所述探测报文为bfd报文的情况下,所述方法包括:所述sdn控制器向域内sdn设备发送所述第一openflow报文,其中,所述第一openflow报文中携带有bfd配置信息,其中,所述bfd配置信息用于在域内sdn设备内生成bfd检测报文;所述sdn控制器依据所述bfd检测报文检测所述域内sdn设备和所述域外设备之间的bfd链路状态;所述sdn控制器依据所述bfd链路状态生成域内sdn交换机的路由信息,并将所述路由信息下发至所述域内sdn交换机。

可选地,依据所述bfd检测报文检测所述域内sdn设备和所述域外设备之间的bfd链路状态,包括以下之一:在接收到所述域内sdn设备上送的bfd响应报文的情况下,所述sdn控制器依据所述bfd响应报文确定bfd链路状态,其中,所述bfd响应报文是由域外设备依据所述bfd检测报文反馈给所述域内sdn设备的响应报文;在预设时间内没有接收到所述域内sdn设备上送的bfd响应报文的情况下,所述sdn控制器确定所述bfd链路状态为down。

可选地,将所述路由信息下发至所述域内sdn交换机,包括:将所述路由信息通过openflow协议的flowmod消息发送到所述sdn交换机。

以下结合本发明的优选实施例进行详细说明。

本发明优选实施例的目的在于,提供一种功能独立、可配置,可调节,动态创建删除的快速检测链路故障,生成静态路由的实现部署方案。

本发明优选实施例采用以下技术方案,本发明优选实施例主要涉及到以下部分:

1、bfd会话管理应用模块,位于sdn控制器,主要存储记录bfd的创建删除,openflow协议栈上送的bfd链路状态等信息。

2、openflow报文收发包模块,位于sdn控制器,主要用于向对应sdn域内设备下发openflow消息,消息可承载bfd会话的创建/删除,bfd会话状态,流规则等,从而实现对域内sdn交换机设备转发的控制。

3、静态路由应用配置计算模块,位于sdn控制器,主要用于配置计算从域内sdn向域外设备下一跳ip、对应设备端口等路由信息。

4、域内sdn设备,是主要的报文转发设备。根据sdn控制器下发的流表含义,对满足条件的报文执行相应的转发设备。在本申请文件中,域内sdn设备还可以在用户的控制下动态创建删除bfd会话,上送给sdn控制器bfd的检测结果。

利用本发明优选实施例进行静态路由检测生成的方法主要包括以下步骤:

步骤一,用户在域内sdn控制器上配置网络上的静态路由信息。触发bfd会话管理模块拆解要检测的出口链路、端口。

步骤二,bfd会话管理模块,对步骤一拆解出的链路创建相应的bfd会话,通过openflow报文收发包模块向域内sdn设备发送扩展的experimenter消息。

步骤三,域内sdn设备收到openflow消息进行解析,获取相应的控制参数设置,构造并向域外设备发送传统的bfd检测报文。(需要说明的是,在本申请文件中传统的bfd检测报文是指在技术领域中,相对sdn而言的传统网络中运行的bfd检测报文)。

步骤四,域外设备收到bfd检测报文,返回响应报文。

步骤五,域内sdn设备检测到bfd回应报文,将bfd回应报文发送至通过openflow报文的形式发送至sdn控制器,由sdn控制器的收发包模块判断bfd链路状态(up/down),或者在预设时间内,sdn设备没有接收到域外设备的响应报文,则确定sdn设备与域外设备之间的链路出现问题。

步骤六,sdn控制器的收发包模块解析出bfd会话的状态通知给消息的订阅者。

步骤七,bfd会话管理模块订阅收发包模块的openflow消息,更新bfd会话状态,并将对应链路和状态通知给静态路由配置计算模块。

步骤八:静态路由配置计算模块自动选择冗余备份链路,生成对应的路由信息,重新下发路由到域内sdn交换机设备。此处主要是通过openflow协议的flowmod消息,给对应交换机下发流表,调整交换机的流水线处理,从而实现对报文按照刚生成的路由信息进行转发。

本发明优选实施例重点关注于sdn域边缘交换机与外部传统网络设备链路检测,静态路由检测切换技术领域,便于sdn和传统网络的融合使用。传统设备间bfd链路检测服务于传统的路由协议,在本发明优选实施例中,使用openflow协议承载,由软件控制计算生成sdn域内设备的路由信息,从而使sdn设备也可以达到快速选择路由,切换的目的。

相对于相关技术中sdn中链路检测方案,提供了一种可实现,可调节的sdn域内边缘交换机链路切换,静态路由实现的技术,解决了sdn与传统网络混合部署,数据转发,流量引流等现实问题。由于bfd检测参数可调节,静态路由等信息可修改,使得数据转发面的交换机设备更可控,增强了sdn的控制性和使用的灵活性。另外,提供了sdn针对bfd检测可实现的报文封装格式,便于和域内sdn设备交互。

本发明优选实施例提供了一种适用于sdn领域静态路由的bfd检测机制,但此原理同样可以应用在sdn领域的bgp邻居发现等场景。

以下结合具体实施方式进行详细说明。

下面结合附图对本发明优选实施例基于openflow协议的静态路由bfd检测方法进行说明。

图3是根据本发明优选实施例的sdn控制器内部模块结构及处理流程示意图,如图3所示,sdn控制器内部针对静态路由快切换处理主要以下几个模块协同完成。

静态路由管理模块101,主要负责用户的静态路由配置管理,以及在路由链路失效下的快速选路,和对交换机路由表项的下发。

图3所示的bgp邻居管理模块102同静态路由管理模块101一样,都是bfd会话管理模块201的上层用户。静态路由和bgp邻居两个模块都可以向bfd会话管理模块下发创建bfd会话的请求。

当sdn控制器配置了静态路由,静态路由管理101模块会记录下配置信息,查找路由对应ip网段、以及所在的设备id和端口,通过openflow收发包301模块向对应设备下发flowmode消息,调整设备上dstip为路由下一跳所在网段的流表的出端口,从而控制交换机对符合目的ip是下一跳的报文进行正确转发,如图3所示的请求处理方向7--->3。注:本发明优选实施例描述中目的ip均对应域外设备的某个端口。

同时,静态路由管理模块101向bfd会话管理模块201下发bfd会话创建请求,用于检测sdn交换机和对应域外设备之间链路的状态。流程请求顺序如图3中1-->2。

当openflow收发包模块收到创建bfd会话任务请求时,封装成包含有bfd配置信息的openflow的experiment消息向域内的sdn设备发送。报文格式分为标准的openflowexperimenterheader和扩展的bfd_session_connect两部分,格式如图5所示,图5是根据本发明优选实施例的针对bfd检测设计的openflowexperiment消息报文格式示意图。其中携带bfd会话参数,包括tx_interval、min_rx_interval、detect_multi等,当多个应用绑定同一个bfd会话时,则会话参数选择其中数值最小的,流程请求顺序如图3的流程3所示。

当sdn设备和域外设备创建bfd会话成功之后,协商交互流程在图4中有详细说明。sdn设备收到域外设备的bfd会话回应之后,封装成包含有bfd状态的experiment消息上送给sdn控制器的openflow收发包模块301。

注:图3所示流程3和4中experiment消息所承载的报文子类型和报文内容有所不同。流程3中包含bfd会话创建/删除等操作以及配置参数等内容,流程4是bfd相应链路上的会话状态(up/down)内容。

sdn内的openflow收发包模块在收到bfd会话状态消息之后,会通知给此消息的订阅者bfd会话管理模块201,会话管理模块再将链路上的up/down状态通知给静态路由模块。流程顺序如图3中的5--->6。

当静态路由管理模块101收到消息后,根据相应链路的状态,重新计算可用静态路由,查找相应的可用下一跳的设备id、端口、ip网段等路由信息,重新通过openflow收发包模块301下发openflow的flowmode报文到对应的边缘sdn交换机上,调整交换机的转发流表配置。如图3所示流程7--->3。

图4是根据本发明优选实施例的针对域外设备静态路由的bfd检测场景示意图,图4所示的是可部署的针对域外链路静态路由的bfd简单检测场景。部署步骤如下:

步骤一,首先确保sdn交换机和sdn控制器的openflow连接正常。

步骤二,将sdn设备和传统域外设备相连。为了验证bfd检测链路,路由切换机制,将sdn设备和传统域外设备双连接。

步骤三,假设sdn交换机需要转发目的地址为域外网络10.42.93.2的报文,在sdn控制器上配置两条静态路由信息到域内sdn交换机设备上。路由信息内容是到目的地址为10.42.93.2的下一跳网段地址分别是设备的port1和port2两个端口所在的网段。其中port1和port2端口ip可在不同网段。

步骤四,根据本发明优选实施例方案此时控制器会发起图4所示链路中3和4的bfd检测。当断开sdn交换机和传统设备之间的链路3时,基于本发明优选实施例方案实现,sdn控制器会控制sdn交换机的静态路由切换成从链路4转到域外传统设备上。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件,服务器,或者软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(计算机、服务器)执行本发明各个实施例所述的方法。

实施例二

在本实施例中还提供了一种sdn中的报文交互装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

根据本发明的另一个实施例,还提供了一种sdn中的报文交互装置,应用于openflow域的域内sdn设备,包括:第一接收模块,用于接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息;第一发送模块,用于依据所述配置信息生成所述探测报文,并将所述探测报文发送至所述openflow域的域外设备;第一上报模块,接收所述域外设备反馈的响应报文,并将携带有所述响应报文的第二openflow报文上传至所述sdn控制器。

可选地,在所述探测报文为bfd报文的情况下,所述装置包括:第一接收单元,用于接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bfd配置信息;第一发送单元,用于依据所述bfd配置信息生成bfd检测报文,并将所述bfd检测报文发送至域外设备;第一上报单元,用于接收所述域外设备发送的bfd响应报文,将携带有所述bfd响应报文的第二openflow报文上送至所述sdn控制器,其中,所述sdn控制器依据所述bfd响应报文确定bfd链路状态,或者,所述sdn控制器在预设时间内没有收到所述域内sdn设备上送的所述bfd响应报文,确定所述bfd链路状态为down。

可选地,在所述探测报文为bgp报文的情况下,所述装置包括:第二接收单元,用于接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有bgp配置信息;第二发送单元,依据所述bgp配置信息生成bgp协议报文,并将所述bgp协议报文发送至域外设备;第二上报单元,用于接收所述域外设备发送的bgp响应报文,将携带有所述bgp响应报文的第二openflow报文上送至sdn控制器,其中,所述sdn控制器依据所述bgp响应报文确定所述域内sdn设备的邻居信息。

根据本发明的另一个实施例,还提供了一种sdn中的报文交互装置,应用于openflow域的sdn控制器,包括:第二发送模块,用于向域内sdn设备发送第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息,其中,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至域外设备,其中,所述域外设备向所述域内sdn设备发送与所述探测报文对应的响应报文;第二接收模块,用于接收所述域内sdn设备发送的第二openflow报文,其中,所述第二openflow报文是所述域内sdn设备依据所述响应报文生成的。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例三

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:

s1,openflow域的域内sdn设备接收sdn控制器发送的第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息;

s2,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至所述openflow域的域外设备;

s3,所述域内sdn设备接收所述域外设备反馈的响应报文,并将携带有所述响应报文的第二openflow报文上传至所述sdn控制器。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:

s4,openflow域的sdn控制器向域内sdn设备发送第一openflow报文,其中,所述第一openflow报文中携带有探测报文的配置信息,其中,所述域内sdn设备依据所述配置信息生成所述探测报文,并将所述探测报文发送至域外设备,其中,所述域外设备向所述域内sdn设备发送与所述探测报文对应的响应报文;

s5,所述sdn控制器接收所述域内sdn设备发送的第二openflow报文,其中,所述第二openflow报文是所述域内sdn设备依据所述响应报文生成的。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例中的方法步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1