首页> 中国专利> 一种基于SDN的免费地址解析协议发送的方法、装置和系统

一种基于SDN的免费地址解析协议发送的方法、装置和系统

摘要

本发明提供一种基于SDN的免费地址解析协议发送的方法、装置和系统,其中方法包括:控制器接收SDN中交换机发送的私有扩展的Experimenter报文,该Experimenter报文包括交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口;接收SDN中交换机上报的未匹配流表的报文,该未匹配流表的报文中包括入口交换机ID和交换机端口;根据未匹配流表的报文中的入口交换机ID和交换机端口以及Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费地址解析协议对应关系表;根据免费地址解析协议对应关系表,向对应的交换机发送免费地址解析协议报文。本发明能够在网络拓扑发生变化的情况下,自动适配变化,无需重再配置。

著录项

  • 公开/公告号CN106302860A

    专利类型发明专利

  • 公开/公告日2017-01-04

    原文格式PDF

  • 申请/专利权人 上海斐讯数据通信技术有限公司;

    申请/专利号CN201610826353.6

  • 发明设计人 翟跃;

    申请日2016-09-14

  • 分类号H04L29/12(20060101);H04L12/24(20060101);

  • 代理机构31251 上海硕力知识产权代理事务所;

  • 代理人郭桂峰

  • 地址 201616 上海市松江区思贤路3666号

  • 入库时间 2023-06-19 01:21:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-10

    授权

    授权

  • 2017-04-12

    实质审查的生效 IPC(主分类):H04L29/12 申请日:20160914

    实质审查的生效

  • 2017-01-04

    公开

    公开

说明书

技术领域

本发明实施方式涉及通讯技术领域,尤其涉及一种基于SDN的免费地址解析协议(Gratuitous ARP)发送的方法、装置和系统。

背景技术

免费ARP(Address Resolution Protocol)主要用于检测IP(Internet Protocol,网络协议)地址冲突。当一台主机发送了免费ARP请求报文后,如果收到了ARP响应报文,则说明网络内已经存在使用该IP的主机。当设备重启或代理ARP功能开启时就会向本地网络主动发免费ARP以检测IP地址是否冲突。免费ARP是以源、目IP都是自己,源MAC(MediaAccess Control,媒体访问控制)也是自己,目标MAC是广播,即向自己所在网络请求自己的MAC地址,当网络中如果有其他主机使用了与自己相同的IP地址,他就会给主机一个ARP回复,此时如果发免费ARP的主机收到了回复就证明自己所用的IP地址有冲突,如果没有收到回复则说明没有IP地址冲突。

如图1所示,传统的免费ARP技术,可以在网关的接口上使能定时发送免费ARP功能。使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址的免费ARP报文。这样,每台主机都可以学习到正确的网关,从而正常访问网络。

但是,如果攻击者仿冒网关发送免费ARP报文,就可以欺骗同网段内的其它主机,使得被欺骗的主机访问网关的流量,被重定向到一个错误的MAC地址,导致其它主机用户无法正常访问网络。

在实际环境中,当网络负载较大或接收端主机的CPU占用率较高时,可能存在ARP报文被丢弃或主机无法及时处理接收到的ARP报文等现象。这种情况下,接收端主机的动态ARP表项会因超时而老化,在其重新学习到发送设备的ARP表项之前,二者之间的流量就会发生中断。

此外,传统免费ARP发送只是针对某一台交换设备,配置是分布式的,如果网络拓扑复杂,配置非常繁琐。如果网络拓扑发生变化,需要重新再配置。

发明内容

针对上述问题,本发明实施方式的目的在于提供一种基于SDN的免费ARP发送的方法、装置和系统,能够在网络拓扑发生变化的情况下,自动适配变化,无需重再配置。

为实现上述目的,本发明实施方式提供一种基于SDN的免费地址解析协议发送的方法,包括:控制器接收SDN中交换机发送的私有扩展的Experimenter报文,所述Experimenter报文包括交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口;控制器接收SDN中交换机上报的未匹配流表的报文,所述未匹配流表的报文中包括入口交换机ID和交换机端口;控制器根据所述未匹配流表的报文中的入口交换机ID和交换机端口以及所述Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费地址解析协议对应关系表;控制器根据所述免费地址解析协议对应关系表,向对应的交换机发送免费地址解析协议报文。

进一步地,所述方法还包括:所述控制器预先设置基于SDN的免费地址解析协议选项,以配置基于SDN的免费免费地址解析协议功能的打开或关闭。

进一步地,所述方法还包括:所述控制器预先设置发送免费地址解析协议的间隔时间;所述免费地址解析协议对应关系表包括:交换机ID、交换机端口、IP地址、MAC地址以及间隔时间。

进一步地,所述控制器接收SDN中交换机上报的未匹配流表的报文,所述未匹配流表的报文中包括入口交换机ID和交换机端口,包括:当报文进入到SDN后查询流表,将匹配所述流表的报文根据所述流表中的转发路径进行转发;将未匹配所述流表的报文上报给控制器;控制器接收到交换机上报的未匹配流表的报文,从所述未匹配流表的报文中获取需要发送免费地址解析协议的入口交换机ID和交换机端口。

进一步地,所述控制器根据免费地址解析协议对应关系表,向对应的交换机发送免费地址解析协议报文,包括:在基于SDN的免费地址解析协议功能打开的情况下,所述控制器根据免费地址解析协议对应关系表中的交换机ID和交换机端口,按照所述间隔时间向对应的交换机下发发送免费地址解析协议报文。

为实现上述目的,本发明实施方式还提供一种基于SDN的免费地址解析协议发送的系统,包括:控制器和交换机,其中,

所述交换机,用于向控制器发送私有扩展的Experimenter报文,所述Experimenter报文包括交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口;向控制器上报的未匹配流表的报文,所述未匹配流表的报文包括入口交换机ID和交换机端口;所述控制器,用于控制器接收SDN中交换机发送的私有扩展的Experimenter报文和交换机上报的未匹配流表的报文;根据所述所述未匹配流表的报文中的入口交换机ID和交换机端口以及所述Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费地址解析协议对应关系表;根据所述免费地址解析协议对应关系表,向对应的交换机发送免费地址解析协议报文。

为实现上述目的,本发明实施方式还提供一种基于SDN的免费地址解析协议发送的控制器,包括:第一处理模块,用于接收SDN中交换机发送的私有扩展的Experimenter报文和交换机上报的未匹配流表的报文;第二处理模块,用于根据所述所述未匹配流表的报文中的入口交换机ID和交换机端口以及所述Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费地址解析协议对应关系表;第三处理模块,用于根据所述免费地址解析协议对应关系表,向对应的交换机发送免费地址解析协议报文。

由上可见,本发明实施方式提供的一种基于SDN的免费ARP发送的方法、装置和系统,基于SDN架构,控制器根据网络拓扑,计算网关的位置,并在网关的接口上使能定时发送免费ARP功能,如果网络拓扑发生变化,会自动适配变化,无需重再配置。

附图说明

为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中提供的免费ARP发送的组网示意图;

图2为本发明实施方式提供的基于SDN的免费ARP发送的方法的流程示意图;

图3为本发明实施方式提供的扩展的Experimenter消息格式示意图;

图4为本发明实施方式提供的基于SDN的免费ARP发送的系统组网示意图;

图5为本发明实施方式提供的基于SDN的免费ARP发送的控制器的功能模块图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

本发明实施方式提供一种基于SDN的免费ARP发送的方法。请参阅图2,所述方法可以包括以下步骤:

步骤S1:控制器预先设置基于SDN的免费ARP选项和免费ARP对应关系选项。

在本实施方式中,预先设置基于SDN的免费ARP选项,如表1所示。

表1

配置项含义基于SDN的免费ARP功能打开或关闭基于SDN的免费ARP功能

在本实施方式中,还预先设置基于SDN的免费ARP对应关系表,如表2所示。

表2

步骤S2:控制器接收SDN中交换机发送的私有扩展的Experimenter报文,所述Experimenter报文包括交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口。

在本步骤中,SDN中的交换机首先建立和控制器的通道,需要初始化OpenFlow(开放流)通道,然后交换机通过私有扩展的Experimenter报文,上报交换机自己的IP地址和MAC地址。

和现有技术相比,本发明实施例对私有Experimenter报文进行了扩展,扩展的Experimenter消息格式如图3所示,Experimenter值为255需要向ONF组织申请;Experimenter type值为1表明是从交换机到控制器,Experimenter type值为2表明是从控制器到交换机。此外,在本发明实施例中的私有扩展的Experimenter消息中,增加了接口IP地址,接口MAC地址,交换机ID和交换机端口。

步骤S3:控制器接收SDN中交换机上报的未匹配流表的报文,并从所述未匹配流表的报文中获取入口交换机ID和交换机端口。

在本步骤中,当报文进入到SDN后查询流表,将匹配流表的报文根据流表中的转发路径进行转发;将未匹配流表的报文上报给控制器。

控制器接收到交换机上报的未匹配流表的报文,从该报文中获取入口交换机ID和交换机端口。

步骤S4:控制器根据所述所述未匹配流表的报文中的入口交换机ID和交换机端口以及所述Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费ARP对应关系表。

在本步骤中,在步骤S2中控制器接收到的Experimenter报文中带有接口IP地址、接口MAC地址、交换机ID和交换机端口;在步骤S2中控制器接收到的未匹配流表的报文中包括入口交换机ID和交换机端口,即为需要发送免费ARP的交换机和端口。控制器根据所述所述未匹配流表的报文中的入口交换机ID和交换机端口以及所述Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费ARP对应关系表。

控制器还预先设置发送免费ARP的间隔时间添加在免费ARP对应关系表中,因此免费ARP对应关系表包括交换机ID、交换机端口、IP地址、MAC地址以及间隔时间,其中,交换机ID表明SDN中交换机的ID,交换机端口表明SDN中交换机的端口,IP地址表明网关的接口IP地址,MAC地址表明网关的接口MAC地址,间隔时间为发送免费ARP的间隔时间。

步骤S5:控制器根据免费ARP对应关系表,向对应的交换机发送免费ARP报文。

在本步骤中,控制器根据获取到的接收到的Experimenter报文和未匹配流表的报文,依据LLDP(Link Layer Discovery Protocol,链路层发现协议)计算SDN网络拓扑,并在网关的接口上使能发送免费ARP功能。

在基于SDN的免费ARP功能打开的情况下,控制器根据免费ARP对应关系表中的交换机ID和交换机端口,按照间隔时间向对应的交换机下发发送免费ARP报文。

图4为本发明实施方式提供的基于SDN的免费ARP发送的系统组网示意图。如图4所示,该系统包括:控制器和交换机S0,S1,S2,S3。

其中,

交换机,用于向控制器发送私有扩展的Experimenter报文,所述Experimenter报文包括交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口;向控制器上报的未匹配流表的报文,所述未匹配流表的报文包括入口交换机ID和交换机端口;

控制器,用于当接收到所述Experimenter报文时,获取交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口;当接收到所述未匹配流表的报文时,获取入口交换机ID和交换机端口;根据所述未匹配流表的报文中的入口交换机ID和交换机端口以及所述Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费ARP对应关系表;根据免费ARP对应关系表,向对应的交换机发送免费ARP报文。

上述的涉及到的基于SDN的免费ARP发送的系统的具体技术细节和基于SDN的免费ARP发送的方法中的类似,故不再具体赘述。

在本发明的一个具体实施例中,交换机S0,S1,S2,S3分别向控制器发送私有扩展的Experimenter报文。当报文进入到SDN后查询流表,将未匹配流表的报文的入口交换机,例如S1的交换机ID和交换机端口的上报给控制器,即为需要发送免费ARP的交换机和端口。控制器根据需要发送免费ARP的交换机和端口以及之前获取到的SDN中交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费ARP对应关系表;根据免费ARP对应关系表,向对应的交换机S1发送免费ARP报文,交换机S1将向主机A发送免费ARP报文。

如果网络拓扑发生改变,主机A迁移和交换机S3通讯,当报文进入到SDN后查询流表,将未匹配流表的报文的入口交换机,即S3的交换机ID和交换机端口的上报给控制器。控制器根据需要发送免费ARP的交换机和端口以及之前获取到的SDN中交换机的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费ARP对应关系表;根据免费ARP对应关系表,向对应的交换机S3发送免费ARP报文,交换机S3将向主机A发送免费ARP报文,S1停止发送免费ARP报文。

请参阅图5。本发明一个实施方式还提供一种基于SDN的免费ARP的控制器,包括:

第一处理模块,用于接收SDN中交换机发送的私有扩展的Experimenter报文和交换机上报的未匹配流表的报文;

第二处理模块,用于根据所述所述未匹配流表的报文中的入口交换机ID和交换机端口以及所述Experimenter报文中的接口IP地址,接口MAC地址、交换机ID和交换机端口,生成免费地址解析协议对应关系表;

第三处理模块,用于根据所述免费地址解析协议对应关系表,向对应的交换机发送免费地址解析协议报文。

此外,所述控制器还包括设置模块,用于设置基于SDN的免费地址解析协议选项,以配置基于SDN的免费免费地址解析协议功能的打开或关闭。所述设置模块,还用于设置发送免费地址解析协议的间隔时间并添加在所述免费地址解析协议对应关系表中,所述免费地址解析协议对应关系表包括交换机ID、交换机端口、IP地址、MAC地址以及所述间隔时间。

上述的涉及到的基于SDN的免费ARP发送的控制器的具体技术细节和基于SDN的免费ARP发送的方法中的类似,故不再具体赘述。

由上可见,本发明实施方式提供的一种基于SDN的免费ARP发送的方法、装置和系统,本发明实施方式提供的一种基于SDN的免费ARP发送的方法、装置和系统,基于SDN架构,控制器根据网络拓扑,计算网关的位置,并在网关的接口上使能定时发送免费ARP功能,如果网络拓扑发生变化,会自动适配变化,无需重再配置。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。

最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号