一种基于SDN的分布式ARP代理方法

2016-12-13 05:50魏亚清王慧斌田小燕
光通信研究 2016年6期
关键词:局域网网关延时

魏亚清,王慧斌,田 玮,田小燕

(1.邢台学院数学与信息技术学院,河北邢台 054001; 2.天津科技大学机械工程学院,天津 300222)

一种基于SDN的分布式ARP代理方法

魏亚清1,王慧斌1,田 玮2,田小燕1

(1.邢台学院数学与信息技术学院,河北邢台 054001; 2.天津科技大学机械工程学院,天津 300222)

SDN(软件定义网络)有效地简化了网络的配置与管理,使网络的革新更加快捷。利用控制器作为ARP(地址解析协议)代理,能显著地减小数据层面的广播流量,缓解因广播带来的带宽资源浪费。然而,控制器多采用被动的方式下发流表,在处理大量的广播包时会产生极大的扩展性问题。文章提出了一种基于SDN的分布式ARP代理方法,将多个局域网的网关作为ARP代理,各局域网内部的ARP请求报文以单播的方式转发到其网关做统一处理。实验结果表明,该方法不仅大大减少了网络中的广播流量和ARP请求响应延时,而且极大地缓解了SDN控制器的负载,提高了SDN的扩展性。

软件定义网络;广播;地址解析协议代理

0 引 言

近年来,SDN(软件定义网络)已成为网络领域的研究热点,得到了工业界的积极参与和推进,尤其是在云计算和数据中心环境中被广泛地部署与应用,如Google在世界各地的数据中心骨干网上已采用SDN技术来解决数据中心间的流量调度问题[1]。

有效管理网络中的广播流量是SDN最典型的应用之一。在文献[2]中,作者提出在SDN与传统网络的混杂场景下,利用SDN集中管控的优势,实时感知主机的地址变化与网络故障,响应网络的ARP(地址解析协议)请求。然而现有基于SDN的集中式ARP代理方法存在若干问题。采用SDN控制器作为ARP代理,极易使SDN控制器成为整个网络的瓶颈,甚至导致全网崩溃,极大地限制了SDN的扩展性[3]。同时,采用SDN控制器作为广播请求的代理并不一定能够降低请求延时,反而可能增大延时。

为了解决上述问题,本文提出一种基于SDN的分布式ARP代理方法(简称Gater)。该方法利用局域网的网关作为ARP代理,网关负责对其局域网内部的广播请求作出应答。本文所提的代理架构,解决了过去基于集中式控制器代理的难扩展、延时大的问题。在ARP代理中,利用SDN框架,通过预先下发Open Flow[4]流表的方式将局域网中的广播流量改为单播流量并转发到网关,从而实现局域网网关对ARP请求的统一应答,并提出了如何在分布式的网关中维护和更新ARP表项。

1 基于SDN的分布式ARP代理方法

1.1 架构设计

本文利用网关作为ARP代理,每个网关维护与更新本局域网内部的ARP映射表,同时利用SDN控制器预先下发流表控制局域网内部的交换机,使其将ARP请求报文通过单播的方式转发到网关,网关进行统一的ARP应答[5]。系统架构图如

图1所示。

图1 系统架构图

1.2 网关代理的ARP信息更新

网关的ARP学习与更新主要有以下3种方式:首先,网关是局域网与外界三层IP网络的连接入口,汇聚了局域网内部的出入流量。其次,对不同的局域网建立不同的ARP映射表,保存各自域内的映射关系。当映射表有更新时,将更新的IP-MAC (IP上的媒体访问控制)映射以Packet_out的方式发送到网关中,作为网关自主学习ARP映射的补充。最后,网络中可能存在一些服务器不主动向外发送流量的情况,因而无法使网关或SDN控制器学习到其IP-MAC映射。

1.3 ARP报文的路由算法

本文采用Dijkstra算法[6]一次计算出所有主机的路径,该算法只需计算一次即可,只有当网络发生变化时才需要进行重新计算。ARP请求报文路由算法的输入为局域网拓扑和网关节点,输出为局域网中各主机到网关的路由。具体算法如下:

图2所示为ARP请求报文流表,图中显示路由算法计算出的该交换机到网关的出口为端口2,生成的流表如图中表格所示。当数据报文到达交换机时,通过协议号和目的MAC可以首先识别报文是否为ARP请求,如果命中,则直接将其转发到通向网关的接口,网关通过查表进行响应。ARP的响应报文虽然协议号为ARP,但是目的MAC地址为主机地址,因此ARP回复包在返回主机时不会匹配预先设置的ARP表项,而是通过正常的目的IP和MAC进行转发,最终到达请求主机。

图2 ARP请求报文流表

2 实验结果与分析

为了验证Gater算法的性能,本文基于Mininet[7]实验平台进行仿真实验。

2.1 实验环境部署

采用Mininet作为仿真实验平台,将开源的基于Python的RYU作为SDN控制器,负责控制Mininet平台中的Open Flow交换机,RYU控制器独立运行在一台物理服务器中,实验拓扑如图3所示。

图3 实验拓扑

本文在Mininet平台上分别采用了FSDM和Learning Switch[8]算法作为本实验的对比算法。实验的性能指标包括数据层流量负载、请求延时、控制器负载(包括流量、内存使用率)和网关负载(包括流量、内存使用率)。

2.2 实验结果分析

(1)数据层ARP广播流量实验

针对不同网络规模(主机数量),对SDN数据层面的ARP广播流量比例进行了监测,数据层流量图如图4所示。从图中可以看出,Learning Switch算法的ARP广播流量随网络中主机数量的增多而快速增大,由3.1%增长到11.6%,造成了巨大的带宽浪费。而Gater算法所产生的ARP广播流量非常少,仅占网络总流量的3%以下,且随着主机数量的增多,网络中的ARP广播包流量比例增长也非常少。

图4 数据层流量图

(2)ARP请求响应延时实验

3种算法的平均ARP响应的延时如图5所示。Learning Switch算法采用广播的方法来获得响应,因此其ARP延时请求较大,达2 ms左右,但随着网络规模的增大,其延时基本不变。随着网络规模的增大,FSDM算法中SDN控制器负载大大增加,其存储的ARP映射表规模增大从而导致查表速度降低,使得延时也随之增大。而Gater算法由于采用局域网本地ARP代理方式,传输延时较小,且增长非常缓慢。

图5 3种算法平均ARP响应的延时图

(3)控制器负载实验

SDN控制器是SDN的核心,图6和图7所示分别为控制器的流量负载和内存使用率。在本实验中只针对ARP引起的流量进行分析。由图6可以看出,随着网络规模的增大,Learning Switch和FSDM算法在控制器中的ARP流量明显增长。而Gater算法由于其ARP请求报文需要被转发到网关,并且控制器已经预先下发了每台交换机到达网关的流表项,因此几乎不用与控制器通信即可完成ARP响应。

由图7可知,Gater算法只在控制器中缓存最新的没有被网关同步的ARP映射表,因此只占0.3%左右的内存。而FSDM算法在控制器中缓存了整个网络中所有主机的ARP映射表,因此,随着网络规模的增大,控制器中ARP缓存表所占的内存空间也随之增大,导致SDN的扩展性问题。

图6 控制器流量负载图

图7 控制器内存使用率图

(4)Gater算法的负载实验

Gater算法的负载实验图如图8所示,从图中可以看出,Gater的流量负载和内存使用率均随网络规模的增大而增大,但负载和使用率均很小,验证了算法的有效性。

图8 Gater算法的负载实验图

3 结束语

文章提出了一种基于SDN的分布式ARP代理算法,该算法利用局域网网关作为ARP代理,通过SDN控制器预先计算的流表将广播的ARP请求单播到网关,各局域网网关分别处理其网络内部的ARP请求。该方法不仅明显降低了网络的ARP广播流量,而且避免了采用SDN集中式控制器作为ARP代理的扩展性和延时问题。实验表明,本文所提算法在请求响应延时、数据层广播流量和控制器负载等指标上均优于现有方法。

[1]Jain S,Kumar A,Mandal S,et al.B4:Experience with a Globally-Deployed Software Defined WAN[J]. Acm Sigcomm Computer Communication Review,2013,43(4):3―14.

[2]马俊青.面向软件定义网络的流量分析与识别技术研究[D].南京:南京邮电大学,2015.

[3]Elmeleegy K,Cox A L.EtherProxy:Scaling Ethernet By Suppressing Broadcast Traffic[C]//INFOCOM 2009.Rio de Janeiro,Brazil:IEEE,2009:1584―1592.

[4]Al-Fares M,Loukissas A,Vahdat A.A scalable,commodity data center network architecture[J].Acm Sigcomm Computer Communication Review,2008,38 (4):63―74.

[5]周苏静.浅析SDN安全需求和安全实现[J].电信科学,2013,29(09):113―116.

[6]左青云,陈鸣,赵广松,等.基于OpenFlow的SDN技术研究[J].软件学报,2013,(5):1078―1097.

[7]郭春梅,张如辉,毕学尧.SDN网络技术及其安全性研究[J].信息网络安全,2012,(8):112―114.

[8]Fujita,Yamahada.Learning switch in RYU[EB/ OL].(2015-07-10)[2016-05-14].https://github. com/osrg/ryu/blob/master/ryu/app/simple_switch. py.

A Distributed ARP Proxy Approach in Software Defined Network

WEI Ya-qing1,WANG Hui-bin1,TIAN Wei2,TIAN Xiao-yan1
(1.College of Mathematics and Information Technology,Xingtai University,Xingtai 054001,China; 2.College of Mechanical Engineering,Tianjin University of Science and Technology,Tianjin 300222,China)

The Software Defined Network(SDN)can provide simple and flexible network configuration and management.Recently,many proposals utilize the SDN controller as the Address Resolution Protocolproxy(ARP),which obviously reduces the volume of broadcast flow in data plane and avoids the waste of bandwidth.However,since the recent controller has to use pro-active way to setup flow entries,it will cause the scalability problem when dealing with large amount of broadcast packets. Therefore,we propose a novel approach named Gater,which is a SDN-based distributed ARP proxy.Our approach uses the gateways as the ARP proxies,and they will respond to the ARP request in the corresponding LAN.According to the experimental results,our approach not only reduces the broadcast flow data in the network and the ARP response delay,but also lightens the payload of controller to achieve higher scalability.

software defined network;broadcast;ARP proxy

TP393

A

1005-8788(2016)06-0020-03

10.13756/j.gtxyj.2016.06.005

2016-05-14

河北省教育厅高等学校科学研究项目(Z2014151)

魏亚清(1982―),男,河北邢台人。讲师,硕士研究生,主要研究方向为计算机网络、计算机应用技术。

猜你喜欢
局域网网关延时
基于级联步进延时的顺序等效采样方法及实现
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
日光灯断电关闭及自动延时开关设计
信号系统网关设备的优化
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”