一种数据通信的方法、控制设备以及节点技术

技术编号:11613849 阅读:46 留言:0更新日期:2015-06-17 13:51
本发明专利技术的实施例提供一种数据通信的方法、控制设备以及节点,涉及通信领域,在完成报文传输的同时,降低了报文丢包的可能性,提高了报文传输的成功率。具体方案为:获取报文传输路径,执行同时向该路径上的各个节点下发对应的流表项的操作,判断同时向报文传输路径上的各个节点下发对应的流表项的操作是否成功,若操作失败,并再次执行获取报文传输路径的步骤、同时向各个节点下发流表项的步骤以及判断下发是否成功的步骤,直至各个节点全部成功接收到对应的流表项;若操作成功,则向首节点下发激活流表项消息,指示首节点执行接收到的流表项,以便各个节点按照接收到的对应的流表项传输报文。本发明专利技术用于数据通信。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种数据通信的方法、控制设备W及节点。
技术介绍
目前,软件定义网络(SoftwareDefinedNetwork,SDN)技术受到广泛关注,Open Flow(开放流)是其中的一个开放式协议标准。该技术主要包括化enFlow交换机、控制设 备两部分。化enFlow交换机根据流表(FlowTable)来转发数据,控制设备管控流表的生 成、维护和配置。化enFlow交换机负责数据转发,主要由H部分组成;流表(FlowT油le)、 安全信道(Se州reQiannel)和OpenFlow协议(OpenFlowProtocol)。安全通道是连 接化enFlow交换机和控制设备的接口,控制设备通过该个接口,按照化enFlow协议规 定的格式来配置和管理化enFlow交换机。每个化enFlow交换机的处理单元由流表构 成,每个流表由许多流表项组成,流表项代表转发规则,进入交换机的数据包通过查询流表 来取得对应的操作。流表项主要由匹配字段(MatchFields)、计数器(Counters)和操作 (Actions)等H部分组成,匹配字段(MatchFields)的结构包含很多匹配项,涵盖了链路 层、网络层和传输层大部分标识,用来匹配网络报文。计数器(Counters)用来记录匹配到 的报文数。操作(Actions)规定了对匹配上的报文所做的操作。 在化enFlow技术中,主机之间的通信是报文经过报文传输路径上的各个化en Flow交换机进行转发来实现的,在没有可用的报文传输路径时,根据需要首先计算出一条 报文传输路径,控制设备向该报文传输路径上的各个化enFlow交换机下发流表项,当所有 流表项成功下发后,主机之间的报文经过报文传输路径上的各个化enFlow交换机转发后 完成数据通信。 现有技术会存在W下问题;由于网络状态不是理想情况,控制设备对报文传输路 径上的各个化enFlow交换机下发流表项所到达的时间也不尽相同,如果报文经过报文传 输路径到达某个化enFlow交换机而该交换机暂时未收到流表项或因为网络异常无法向该 交换机下发流表项,那么报文到达该交换机后无法继续进行转发,从而造成报文丢包。
技术实现思路
本专利技术的实施例提供一种数据通信的方法、控制设备W及节点,在完成报文传输 的同时,降低了报文丢包的可能性,提高了报文传输的成功率。 为达到上述目的,本专利技术的实施例采用如下技术方案: 第一方面,提供一种数据通信的方法,所述方法包括: 获取报文传输路径; 执行同时向所述报文传输路径上的各个节点下发对应的流表项的操作;并指示所 述报文传输路径上的首节点不执行接收到的流表项,指示所述报文传输路径上除首节点外 的其他节点执行接收到的流表项; 判断所述同时向所述报文传输路径上的各个节点下发对应的流表项的操作是否 成功; 若所述各个节点中任一节点未能成功接收所述对应流表项,则确定所述操作失 败,指示所述各个节点中已成功接收所述对应流表项的节点删除接收到的流表项,并再次 执行获取报文传输路径的步骤、同时向各个节点下发流表项的步骤W及判断下发是否成功 的步骤,,直至所述各个节点全部成功接收到所述对应的流表项; 若所述各个节点全部成功接收到所述对应的流表项,则确定所述操作成功,向所 述首节点下发激活流表项消息,指示所述首节点执行接收到的流表项,W便所述各个节点 按照接收到的所述对应的流表项传输报文。 结合第一方面,在第一种可能的实现方式中,所述指示所述报文传输路径上的首 节点不执行流表项包括: 在向所述首节点下发的流表项中携带标识字段,所述标识字段为未激活,用于指 示所述首节点不执行接收到的流表项并将匹配到所述流表项的报文缓存在所述首节点的 缓存队列中;或 在向所述首节点下发的流表项中携带指示信息,所述指示信息用于指示所述首节 点将接收到的流表项插入去激活流表并将匹配到所述流表项的报文缓存在所述首节点的 缓存队列中,其中所述缓存队列为所述去激活流表对应的缓存队列。 结合第一方面,在第二种可能的实现方式中,所述判断所述同时向所述报文传输 路径上的各个节点下发对应的流表项的操作是否成功包括: 判断在预设时间内是否收到所述各个节点反馈的响应消息;[001引若在所述预设时间内收到所述各个节点反馈的响应消息,则所述各个节点成功接 收所述对应的流表项并确定所述操作成功; 若在所述预设时间内未收到所述各个节点中任一节点反馈的响应消息,则确定所 述各个节点未成功接收所述对应的流表项并确定所述操作失败。 结合第一方面的第二种可能的实现方式,在第H种可能的实现方式中,若所述操 作是通过控制设备中的至少一个控制节点执行的,则为所述操作分配有对应的操作信息, 所述操作信息包括:操作标识符、操作失败标识、所述至少一个控制节点的控制节点总数W 及操作成功的节点数; 其中,所述操作信息是由所述控制设备中的应用程序生成后分配给所述至少一个 控制节点的,或者由所述至少一个控制节点生成的;所述至少一个控制节点中的任意一个 控制节点具有对所述操作信息进行修改、读取、订阅的权限。 结合第一方面的第H种可能的实现方式,在第四种可能的实现方式中,若所述各 个节点是通过多个控制节点控制的,所述判断在预设时间内是否收到所述各个节点反馈的 响应消息包括: 若一个控制节点在预设时间内收到所述一个控制节点所控制的所有节点反馈的 响应消息,则将所述操作成功的节点数加1 ; 将所述操作成功的节点数的增量与控制所述各个节点的控制节点总数比较,若所 述操作成功的节点数的增量与所述控制节点总数相等,则确定在预设时间内收到所述各个 节点反馈的响应消息;否则,确定在预设时间内未收到所述各个节点反馈的响应消息。 结合第一方面,在第五种可能的实现方式中,所述若所述各个节点中任一节点未 能成功接收所述对应流表项,则确定所述操作失败,指示所述各个节点中已成功接收所述 对应流表项的节点删除接收到的流表项包括: 若所述各个节点中任一节点未能成功接收所述对应流表项,则向所述各个节点中 已成功接收所述对应流表项的节点发送删除消息,指示所述各个节点中已成功接收所述对 应流表项的节点删除收到的流表项。 结合第一方面,在第六种可能的实现方式中,若所述各个节点是通过多个控制节 点控制的,所述若所述各个节点中任一节点未能成功接收所述对应流表项,则确定所述操 作失败,指示所述各个节点中已成功接收所述对应流表项的节点删除接收到的流表项包 括: 若第一节点未能成功接收所述对应流表项,所述第一节点为所述各个节点中的任 一节点,则接受所述第一节点的控制节点对所述操作失败标识的修改,所述操作失败标识 用于标记本次流表项下发流程是否失败; 向所述多个控制节点中除所述第一节点的控制节点的其他控制节点发送通知消 息,所述通知消息包括修改后的操作失败标识,用于通知所述其他控制节点本次流表项下 发流程失败,使所述多个控制节点分别向所述各个节点中已经接收到流表项的节点发送删 除消息,指示所述各个节点中已成功接收流表项的节点删除收到的流表项。 第二方面,提供一种数据通信的方法,所述方法包括: 从控制设备获取流表项; 确定是否执行所述流表项,若不执行所述流表项,则等待所述控制设备下发激活 本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/CN104717139.html" title="一种数据通信的方法、控制设备以及节点原文来自X技术">数据通信的方法、控制设备以及节点</a>

【技术保护点】
一种数据通信的方法,其特征在于,包括:获取报文传输路径;执行同时向所述报文传输路径上的各个节点下发对应的流表项的操作;并指示所述报文传输路径上的首节点不执行接收到的流表项,指示所述报文传输路径上除首节点外的其他节点执行接收到的流表项;判断所述同时向所述报文传输路径上的各个节点下发对应的流表项的操作是否成功;若所述各个节点中任一节点未能成功接收所述对应流表项,则确定所述操作失败,指示所述各个节点中已成功接收所述对应流表项的节点删除接收到的流表项,并再次执行获取报文传输路径的步骤、同时向各个节点下发流表项的步骤以及判断下发是否成功的步骤,直至所述各个节点全部成功接收到所述对应的流表项;若所述各个节点全部成功接收到所述对应的流表项,则确定所述操作成功,向所述首节点下发激活流表项消息,指示所述首节点执行接收到的流表项,以便所述各个节点按照接收到的所述对应的流表项传输报文。

【技术特征摘要】

【专利技术属性】
技术研发人员:娄帅
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1