报文转发方法及装置制造方法及图纸

技术编号:14362144 阅读:72 留言:0更新日期:2017-01-09 09:36
本申请提供一种报文转发方法及装置,其中,该方法应用于SDN网络中的交换机,该方法包括:在接收到控制器发来的流表项下发消息之后,保存该流表项下发消息中携带的流表项,其中,该流表项中包含有失联标记,失联标记用于指示在交换机与控制器处于失联状态时,针对流表项或流表项中的执行动作的处理方式;在检测到本设备与控制器处于失联状态时,针对保存的每一个流表项,按照该流表项中包含的失联标记进行相应处理;在接收到用户报文之后,根据处理后的流表项对该用户报文进行转发。

【技术实现步骤摘要】

本申请涉及网络通信
,特别涉及一种报文转发方法及装置
技术介绍
OpenFlow(开放流)是SDN(SoftwareDefinedNetwork,软件定义网络)架构中定义的控制平面与转发平面之间的通信接口标准。OpenFlow的思想是分离控制平面和转发平面,转发平面采用基于流的方式进行转发。如图1所示,OpenFlow网络由交换机(OpenFlowSwitch)、控制器(OpenFlowController)、以及安全通道(SecureChannel)组成。其中,控制器是OpenFlow网络的控制中心,根据用户的配置或者动态运行的协议生成流表项发送到交换机;交换机保存接收到的流表项,根据流表项进行报文转发处理;安全通道是在控制器与交换机之间通过预先配置的连接通道。在控制器与交换机处于关联状态的情况下,两者之间的安全通道正常,此时,控制器可以向交换机发送流表项,但是,一旦控制器与交换机处于失联状态,两者之间的安全通道断开,控制器无法再向交换机发送流表项,此时,在现有技术中,交换机主要采用以下两种模式来进行报文转发处理:Failedsecuremode(失联保护模式):交换机已经保存的流表项进行报文转发处理;Failedstandalongmode(失联屏蔽模式):交换机不再根据流表项进行报文转发处理,而是采用传统方式转发,例如,根据MAC地址表进行二层转发,或者根据路由表进行三层转发等。但是,当采用Failedsecuremode时,交换机无法对网络中的新增数据流进行报文转发处理,可能导致新增数据流的丢弃;当采用Failedstandalongmode时,交换机对所有数据流都按照传统方式转发,存在不安全的问题。
技术实现思路
有鉴于此,本申请提供一种报文转发方法及装置。具体地,本申请是通过如下技术方案实现的:一方面,提供了一种报文转发方法,该方法应用于SDN网络中的交换机,该方法包括:在接收到控制器发来的流表项下发消息之后,保存该流表项下发消息中携带的流表项,其中,该流表项中包含有失联标记,失联标记用于指示在交换机与控制器处于失联状态时,针对流表项或流表项中的执行动作的处理方式;在检测到本设备与控制器处于失联状态时,针对保存的每一个流表项,按照该流表项中包含的失联标记进行相应处理;在接收到用户报文之后,根据处理后的流表项对该用户报文进行转发。另一方面,还提供了一种报文转发装置,该装置应用于SDN网络中的交换机中,该装置包括:接收模块,用于接收控制器发来的流表项下发消息;还用于接收用户报文;保存模块,用于在接收模块接收到控制器发来的流表项下发消息之后,保存该流表项下发消息中携带的流表项,其中,该流表项中包含有失联标记,失联标记用于指示在交换机与控制器处于失联状态时,针对流表项或流表项中的执行动作的处理方式;检测模块,用于检测本设备与控制器之间的状态;流表项处理模块,用于在检测模块检测到本设备与控制器处于失联状态时,针对所述保存模块中保存的每一个流表项,按照该流表项中包含的失联标记进行相应处理;转发模块,用于在接收模块接收到用户报文之后,根据处理后的流表项对该用户报文进行转发。通过本申请的以上技术方案,扩展出了失联标记,失联标记用于指示在交换机与控制器处于失联状态时,针对流表项或流表项中的执行动作的处理方式;交换机在接收到控制器发来的流表项下发消息之后,保存该流表项下发消息中携带的包含有失联标记的流表项,之后,在检测到本设备与控制器处于失联状态时,交换机会针对保存的每一个流表项,按照该流表项中包含的失联标记进行相应处理,从而,在接收到用户报文之后,根据处理后的流表项对该用户报文进行转发。在该方法中,交换机在检测到与控制器失联后,会自动的按照现有的流表项中包含的失联标记,对该流表项进行相应处理,从而,失联后接收到的用户报文可以根据处理后的流表项进行转发,不仅能够对网络中的新增数据流进行报文转发处理,而且保持了网络的安全性,提高了与控制器失联的交换机转发数据流的能力。附图说明图1是Openflow网络的架构示意图;图2是本申请一示例性实施例示出的报文转发方法的流程图;图3是本申请一示例性实施例示出的新增了失联标记的用于携带执行动作的TLV的格式示意图;图4是本申请一示例性实施例示出的一种实际的SDN网络的结构示意图;图5是本申请一示例性实施例示出的SDN网络中的交换机的硬件结构示意图;图6是本申请一示例性实施例示出的报文转发装置的一种结构示意图;图7是本申请一示例性实施例示出的报文转发装置的另一种结构示意图;图8是本申请一示例性实施例示出的报文转发装置的又一种结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。为了解决现有技术中存在的当采用Failedsecuremode时,会导致新增数据流被丢弃的问题,当采用Failedstandalongmode时,会导致网络不安全的问题,本申请以下实施例中提供了一种报文转发方法,以及一种可以应用该方法的报文转发装置。本申请以下实施例中,以SDN网络采用Openflow协议为例进行说明,但不限于SDN网络所采用的具体协议类型。在Openflow协议中,流表项中主要包括:匹配规则(matchrule)和执行动作(action),其中:匹配规则:流表项中包含1个或多个匹配规则,具体可以包括:进入接口,Ethernet(以太网)源地址、Ethernet目标地址、类型、VLAN(VirtualLocalAreaNetwork,虚拟局域网)ID(标识)、VLAN优先级、IP源地址、IP目标地址、协议、IPToS(TypeofService,服务类型)位、TCP(TransmissionControlProtocol,传输控制协议)/UDP(UserDatagramProtocol,用户数据报协议)目标端口、以及TCP/UDP源端口等中的一个或多个的组合。每一个匹配规则的值可以是一个确定值或者任意值(any),更准确的匹配可以通过掩码实现。执行动作:流表项中包含0个或者至少一个执行动作,如果流表项中没有执行动作,则默认为丢弃;如果流表项中包含有多个执行动作,则这多个执行动作需要依照优先级顺序本文档来自技高网
...
报文转发方法及装置

【技术保护点】
一种报文转发方法,其特征在于,所述方法应用于软件定义网络SDN网络中的交换机,所述方法包括:在接收到控制器发来的流表项下发消息之后,保存所述流表项下发消息中携带的流表项,其中,所述流表项中包含有失联标记,所述失联标记用于指示在交换机与控制器处于失联状态时,针对所述流表项或所述流表项中的执行动作的处理方式;在检测到本设备与所述控制器处于失联状态时,针对保存的每一个流表项,按照该流表项中包含的失联标记进行相应处理;在接收到用户报文之后,根据处理后的流表项对所述用户报文进行转发。

【技术特征摘要】
1.一种报文转发方法,其特征在于,所述方法应用于软件定义网络SDN网络中的交换机,所述方法包括:在接收到控制器发来的流表项下发消息之后,保存所述流表项下发消息中携带的流表项,其中,所述流表项中包含有失联标记,所述失联标记用于指示在交换机与控制器处于失联状态时,针对所述流表项或所述流表项中的执行动作的处理方式;在检测到本设备与所述控制器处于失联状态时,针对保存的每一个流表项,按照该流表项中包含的失联标记进行相应处理;在接收到用户报文之后,根据处理后的流表项对所述用户报文进行转发。2.根据权利要求1所述的方法,其特征在于,所述失联标记包括以下至少之一:NORMAL、FAILD_ADD、FAILD_INSTEAD,其中:所述NORMAL用于指示在交换机与控制器处于失联状态时,对应的流表项或流表项中的执行动作保持不变;所述FAILD_ADD用于指示在交换机与控制器处于失联状态时,新增对应的流表项或流表项中的执行动作;所述FAILD_INSTEAD用于指示在交换机与控制器处于失联状态时,将流表项中不带有所述FAILD_INSTEAD的第一执行动作,替换为带有所述FAILD_INSTEAD的第二执行动作,其中,所述第一执行动作与所述第二执行动作的动作类型相同。3.根据权利要求2所述的方法,其特征在于,当所述失联标记为所述NORMAL或所述FAILD_ADD时,所述流表项中包含有匹配规则、执行动作、以及所述失联标记;在保存所述流表项下发消息中携带的流表项之后,还包括:若所述流表项中包含的失联标记为所述NORMAL,则将所述流表项配置到转发模块中用于指导用户报文的转发;按照该流表项中包含的失联标记进行相应处理,包括:若该流表项中包含的失联标记为所述FAILD_ADD,则将该流表项配置到所述转发模块中用于指导用户报文的转发。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在检测到本设备与所述控制器恢复为关联状态时,针对保存的每一个流表项,若该流表项中包含的失联标记为所述FAILD_ADD,则从所述转发模块中删除该流表项。5.根据权利要求2所述的方法,其特征在于,当所述失联标记为所述NORMAL、所述FAILD_ADD、所述FAILD_INSTEAD中的任意一个时,所述流表项中包含有匹配规则和带有所述失联标记的执行动作;在保存所述流表项下发消息中携带的流表项之后,还包括:若所述流表项中的任一执行动作带有的失联标记为所述NORMAL,则将包含有该执行动作的该流表项配置到转发模块中用于指导用户报文的转发;若所述流表项中的任一执行动作带有的失联标记为所述FAILD_ADD或所述FAILD_INSTEAD,则将不包含有该执行动作的该流表项配置到所述转发模块中用于指导用户报文的转发;按照该流表项中包含的失联标记进行相应处理,包括:若该流表项中的任一执行动作带有的失联标记为所述FAILD_ADD,则将该执行动作添加到所述转发模块中的该流表项中;若该流表项中存在带有所述FAILD_INSTEAD的所述第二执行动作,则将所述转发模块中的该流表项中的所述第一执行动作替换为所述第二执行动作。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在检测到本设备与所述控制器恢复为关联状态时,针对保存的每一个流表项,若该流表项中的任一执行动作带有的失联标记为所述FAILD_ADD,则从所述转发模块中的该流表项中删除该执行动作;若该流表项中存在带有所述FAILD_INSTEAD的所述第二执行动作,则将所述转发模块中的该流表项中的所述第二执行动作替换为所述第一执行动作。7.一种报文转发装置,其特征在于,所述装置应用于软件定义SDN网络中的交换机中,所述装置包括:接收模块,用于接收控制器发来的流表项下发消息;还用于接收用户报文;保存模块,用于在所述接收模块接收到所述控制器发来的流表项下发消息之后,保存所述流表项下发消息中携带的流表项,其中,所述流...

【专利技术属性】
技术研发人员:缪琛
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1