一种基于周期触发代理的sdn广播处理方法

文档序号:7554649阅读:329来源:国知局
专利名称:一种基于周期触发代理的sdn广播处理方法
技术领域
以太网技术的低成本、高效传输以及“即插即用”的特性使其在局域网中占据统治地位。然而以太网最初的基于广播的服务发现机制(如Dynamic Host ConfigurationProtocol,DHCP 和 Address Resolution Protocol,ARP 等)严重的限制了其在大规模数据中心网络以及城域网中的应用。原因如下:1)大量的广播包占用网络中有效的带宽资源;2)在网络出现环路时易引起广播风暴,目前的解决办法是使用STP协议,以建立根桥的方式将网络划分成树型结构避免loop,但存在如下缺陷:a)根桥附近流量压力过大;b)网络中本来存在的冗余链路资源浪费(使原本可能的multipath传输变成unipath传输),在速率传输上带来了一定的瓶颈;c)当网络链路或bridge出现故障时,生成树拓扑需要重算,在收敛时间内(30-50S)会影响正常通信,可靠性差;3)为ARP欺骗带来可乘之机,由于广播包的泛滥,网络中任一主机可以轻松的获取其他主机的IP和MAC信息,因而可以轻松的伪造请求IP对应的MAC信息,并将其发给请求主机,引起网络混乱;4)增大网络中主机CPU的负担,因为网络的广播都是被所有主机端接收的,各主机需要判断是否是请求自己,是则应答相应信息,否则丢弃。
背景技术
EtherProxy是由雅虎提出的用于减少以太网中广播包的数量来扩展以太网的一
种技术。他们建议使用新型设备-EtherProxy来截获以太网中传送的ARP Request和
DHCP广播包,通过EtherProxy中缓存的相关信息对广播请求进行服务,从而降低以太网中的广播流量。EtherProxy的一种配置案例如图1,其中H代表主机,B代表传统以太网交换机,P 代表 EtherProxy:ARP模块:此模块在EtherProxy中缓存IP-MAC表(记录主机IP和对应MAC信息)和Pending Requests表(暂存ARP请求)。当主机A请求的IP对应的MAC地址已经存在IP-MAC表中,且在有效期内,则EtherProxy直接向主机A回复ARP Reply消息;若对应MAC地址存在,但不在有效期内,EtherProxy使用单播ARP探测此主机是否可达,如果对应主机有回应,刷新IP-MAC条目有效时间并回复ARP Reply包给请求主机,没有回应直接删除此条目。如果请求的IP对应的MAC地址不存在IP-MAC表中,则以广播的方式发出该ARP Request请求,并在收到ARP Reply时更新IP-MAC表。备注:在EtherProxy发出探测包或者广播包期间,若还有其它主机请求发出相同IP的ARP Request时,则把这些ARP Request暂存在Pending Requests表中,待收到对应主机的ARP Reply消息后,把记录添加到IP-MAC表中再一一回复,以减少网络流量,具体流程如图2。EtherProxy虽然在一定程度上减少广播包的数目,但此方案主要存在两个缺点。第一,图1表明以太网中EtherProxy设备数量会随着网络规模增大而增加,并且需要在每个EtherProxy中维护ARP缓存表来减少广播,成本很高;第二,从ARP模块流程图可以看出,该模块并没有完全避免ARP广播(ARP缓存表未命中时采用广播),且随着网络规模的扩大,该方案的可口展性较差。

发明内容
本方案基于软件定义网络(Software Defined Network, SDN)架构在兼容现有的广播服务发现协议前提下,解决终端接入感知并在控制器上记录主机信息以及主机信息表更新问题,完全消除以太网中的ARP广播。SDN是近年来最受学术界和产业界关注的未来网络技术之一,其核心思想是控制平面与数据转发平面的分离,控制平面负责处理每个流的第一个包,并通过OpenFlow协议将处理结果写入交换机的流表中去S使得后续的包按照流表中的处理结果线速转发。下面对该模块的工作原理做详细说明。


图1EtherProxy 配置案例图2EtherProxy ARP 模块流程图3ARP模块流程实施方式为解决以太网中ARP广播问题,通过在主机接入网络初始阶段建立全网主机信息IP-to-MAC表,使得网络中任一主机的ARP请求均可以由控制端统一响应,从而避免整网的泛洪。该模块分为三大部分:1、主机信息注册阶段主机接入网络采用动态主机配置协议(DHCP)或者静态IP地址配置两种模式。若主机采用DHCP,在启 动时将向外发出DHCPDISCOVERY消息,控制器处理DHCP消息,并在最终接收到DHCPACK时记录主机的IP地址与MAC地址映射关系以及主机位置信息;若主机采用静态配置,大多数主机操作系统会产生gratuitous ARP请求,交换机接收到该数据封装成packet-1n消息发给控制器,控制器接收到该消息,以hash算法建立一个主机基本信息表,以(key,value)的方式存储主机IP地址,MAC地址以及位置信息,如(IP地址,[MAC地址,主机位置])。2、ARP处理流程(I)主机发送ARP请求,由相邻交换机根据OpenFlow协议以packet-1n消息的
方式提交给控制器;-------------1也支持以packet-out命令方式将处理结果交由交换
机,向特定端口转发(不写入流表)。(2)控制器解析该packet-1n事件,分析数据包类型同时交由ARP模块处理;(3)更新ARP请求的源主机IP地址条目;(4)在IP-to-MAC表中查看是否存储ARP请求的终端IP地址条目,若有转至e),若无转至I);(5)查看条目是否过期,若未过期转至f),若过期转至h);(6)根据条目提供的MAC地址信息封装成ARP应答信息,并通过packet-out命令方式将该消息返回给发起请求的交换机;(7)该交换机解封装packet-out消息,将ARP应答消息从相应端口转发给源主机,结束;
(8)根据过期条目提供的终端主机位置信息(交换机id以及端口号),向该终端主机发出一个探测包(如源主机发出的ARP请求),同时标记该条目;(9)若在规定时间内收到终端主机应答则转至j),若无则转至k);(10)根据应答信息更新IP-to-MAC表,转至f);(11)在规定时间到期后自动删除标记的条目;(12)终止该事件处理,结束。3、IP-to-MAC 表更新机制本发明提出的ARP广播抑制在IP-to-MAC表的更新上与传统方案存在如下几个创新:(I)当主机接入网络时,通过DHCP或者ARP初始化IP_to_MAC表;(2)b)当表中条目过期时,采用想终端主机发送单播探测包的方式进行条目更新;(3)对于条目过期,控制器保持沉默,直到有用户请求该条目才去更新,这样可在一定程度上降低控制器的负载。
权利要求
1.本发明提出主机接入网络时建立全网主机状态信息hash表(ΙΡ-to-MAC和MAC_MAP)。
2.本发明提出ARP请求的应答直接从控制端获取,从而避免整网广播。
3.本发明提出了IP-to-MAC表和MAC_MAP表的更新策略。
全文摘要
本发明提供了一种基于周期触发代理的SDN广播处理方法。该方法解决以太网中ARP广播问题,通过在主机接入网络初始阶段建立全网主机信息hash表(IP-to-MAC和MAC_MAP),并提出IP-to-MAC表和MAC_MAP表的更新策略,使得网络中任一主机的ARP请求均可以由控制端统一响应,从而避免整网的泛洪。该方法适用于任意集中式网络架构的场景,具有消除了以太网中的ARP广播、降低网络流量和主机负载压力、有效预防DHCP欺骗、杜绝ARP欺骗、支持主机端的移动等特点。
文档编号H04L12/801GK103209225SQ201310115938
公开日2013年7月17日 申请日期2013年4月3日 优先权日2013年4月3日
发明者刘江, 王健, 黄韬, 赵伟辰, 杨守仁, 陈建亚, 刘韵洁 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1