版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业网无线路由器的安全策略与优化设计摘要网络是推进人类发展的一个重要因素,尤其在今天,各行业均离不开计算机网络,因为它提高了办公效率,缩短了人与人之间的距离,目前社会对于熟练掌握计算机网络技术的人才的需求越来越大,而从事该职位的人也非常多,而同时,计算机网络的发展也是非常快的,从IPv4地址即将被耗尽到IPv6时代的来临,计算机网络也变得越来越复杂化和智能化,在全球化的今天,无处不用网络技术,任何东西之间,通过网络互连会让人们的生活更加舒适和便捷,比如这几年兴起的智能家居,通过一些计算机编程,实现网络控制家里电器设备的启动与关闭,不仅适应了当代人们快节奏的生活,也提高了人类的发展,网络的地位日益重要,而网络的联通,路由是必不可少的,选择一个合适的路由协议,不仅能够提高网络的速度,还能减少网络中存在的问题。这篇文章先是对于课题背景、探究意义和现状进行了必要的阐述,之后对于网络协议的选定做出了必要的陈述,其中能够涵盖普通的路由协议、路由的优缺点、路由协议的基本原理,进一步分析了企业网络建设,包括企业网络现状、实际构建该方案的网络信息安全技术、网络设计、子网划分、操作过程、网络实现。关键词:无线路由器;安全设计;企业网目录TOC\o"1-3"\h\u11994摘要 I22855ABSTRACT II293511绪论 1171541.1研究背景与意义 123511.2国内外研究现状 1109741.3论文主要任务 1233882无线路由器相关理论 2293602.1无线路由器的原理及应用 2138202.2无线路由器安全状况 313282.3无线路由器的优化 3280313无线路由器安防与优化中的关键技术 439013.1无线路由器所采用的安全技术 4324473.2基于无线路由器的网络优化技术 638324企业网无线路由器安全与优化需求分析 7303204.1整体需求分析 725784.2员工需求分析 7311664.3管理层需求分析 7207274.4运维人员需求分析 799215企业网无线路由器安全策略与优化的方案设计 7267375.1企业网无线路由器整体设计 766345.2企业网无线路由器安全配置 1089095.3企业网无线路由器核心安防功能设计 10280135.4网络拓扑结构优化 11302225.5企业网无线路由器软硬件优化 19257036测试与结果分析 2662596.1无线路由器安全配置与性能测试 26326836.2无线路由器安全防护效果测试 27323476.3网络性能测试 27271206.4网络安全验证 2887596.5测试结果对比 29129317总结 296058参考文献 301绪论1.1研究背景与意义由于Internet技术在全世界范畴中获得了快速的发展,当前在Internet广域网、Intranet企业网中,OSPF路由协议早已是使用比较多且比较普遍的一种。它其实是IETF(InternetEngineeringTaskForce)IGP工作小组指出的一种路由协议,能够以SPF算法为基础,当前选用此协议的第2版,能够定义成RFC1247、RFC1583。另外它还属于1个内部网关协议(InteriorGatewayProtocol,可简写为IGP),能够使用在单一自治系统(AutonomousSystemAS)中实现对路由的决策。和RIP是相对的,OSPF属于链路形态的路由协议,至于RIP,它则属于距离矢量的路由协议。关于OSPF协议,它具有分布式的特征,并且具有动态特征,对于网络流量、拓扑架构产生的改变,动态路由能够想办法去适应这种改变。考虑到要动态适应故障等相关的网络形态的改变情况,在结点之间务必交换链路的形态,比如此路由器和哪部分路由器临近、带宽等等内容。如果链路形态产生了相应的改变,能够发送这部分数据。并非全部的路器之间均能够实现数据的发送,唯有邻接的路由器装置之间方可实现对链路形态数据的发送。1.2国内外研究现状对于互联网里面的路由,能够分成1个主干区域(backbone)与一些非主干区域,对于区域而言,其实是将很多网络与主机还有此区域中的路由器共同组成的逻辑组。在路由里面所有区域的内部均具备链路状态数据库与对应的网络拓扑图,另外区域中全部路由器运转的数据库能够保持同步。任意1个路由里面均具备1个主干区,这就是区域O,通过ID进行相应的标记。它能够实现的任务则是对于各非主干区之间的路由数据完成相应的发布。对于主干区而言,务必保持持续性,一样的,全部的OSPF区务必被衔接至区域O,假如在主干区的持续性产生了断开的情况,那么也许要求创建虚链路进行相应的衔接。1个区域的信息与细节对于该区之外的区域而言具有不可见的特性,如此一来能够制约1个区域自身的洪泛流量,确保路由在管理和维护起来更加便利,另外这也是有效填补OSPF协议占用CPU与内存的方式,能够极大程度上减小路由数据耗用的网络带宽。1.3论文主要任务由于科技不断进步,各个产业的发展持续完善。尤其是计算机技术以较快的速度持续发展,结果网络越来越普遍地使用在人们生活的方方面面。它们和人们的工作、生活之间的关联逐渐更加密切。基于Internet网的全球信息化不断发展,关于网络技术的探究与发展则会更加完善更加深刻。2无线路由器相关理论2.1无线路由器的原理及应用在计算机网络运行过程中,路由是至关重要的,选择一个合适的路由协议,不仅可以提高网络运行效率,还能减少一些不必要的问题,比如路由环路等等情况。对于路由协议而言,能够分成静态、动态这2类,对于前者,配置起来耗时耗力,非常不方便,尤其是在大型网络中,操作过程非常繁琐,并且在管理方面也十分的困难,因此,你很难看到一个大型网络使用静态路由协议,而动态路由的出现,则解决了这一难题,动态路由是自动学习和更新路由表的,管理起来十分方便,相比静态路由,工作量大大减少了,目前主流路由协议就是动态路由。常见的动态路由协议有RIP,OSPF,EIGRP,BGP,下面简单陈述RIP协议:这种协议在非常早的时候就已经应用到Internet上,它的配备非常简洁。它重点是传输路由数据,每经过30的时间就对于路由表实施1次广播,由此维护临近路由器的方位关联,之后参照接到的路由表数据求出自身的路由表数据。考虑到RIP协议属于距离矢量型的,它的跳数最大值是15跳,如果该数据大于15跳,那么判定目标网络无法抵达。故而,对于RIP协议而言,一般经常使用到小型网络中。它能够分成RIPv1、RIPv2这2个版本,后者能够支持VLSM技术还有相关技术方面的改良。RIP的特点是:1.配置简单;2.适用于小型网络(最大支持15跳)缺点是:1.收敛速度慢;2.不支持中大型网络。OSPF(开放式最短路径优先):OSPF是IETF(InternetEngineeringTaskForce)组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPFVersion2。考虑到它在链路状态的选路算法中用到SPF来求出最短路径,故而,如果网站规模增大,它就会具备更加优质的扩展性,故而,OSPF具备更加优质的网络性能。另外它能够支持负载平衡(LoadingBalancing)与以服务种类为基础的选路,能够支持许多类路由样式,其中能够涵盖特殊的主机路由等等。若存在到某个路由谜底网络的多条费用相等的最佳通路,OSPF也能够将流量均匀地分配到这几条路由上。它能够支持内在的层级化选路方式,能够把内网分为一些区域(Area)。区域自包含的(Self-Contained),区域内的拓扑结构对其他区域隐藏。然后,各个区域能够合作地利用OSPF进行选路,同时又使个区域保留了独立改变其内部拓扑结构的能力。这样的话,OSPF协议扩展与梳理起来更加便利,故而,它可以应用到规模比较大的网络中。OSPF的特点是:1.适用于大型网络2.组播触发式更新3.收敛速度块4.以开销作为度量值5.不会产生路由环路6.应用最广泛7.支持路由汇总。2.2无线路由器安全状况关于OSPF协议,作为内部网关协议,它具有分布式的特征和动态特征,其中动态路由能够想办法去匹配网络流量、拓扑架构这些因素的改变情况。考虑到需要动态符合故障等相关的网络形态产生的变化情况,对于节点之间务必完成链路形态的交换,比如该路由器和哪部分路由器临近、距离、带宽等等内容。如果链路形态出现了相应的改变,那么能够发送这部分数据。并非全部的路由器间均能够发送相关的数据,唯有处于邻接状态的路由器间方可实现对链路形态数据的传送。对于1个OSPF路由器实施初始化操作的时候,先是对于路由器本身带有的协议数据库实施初始化操作,之后等候低层协议的提示接口是不是处在工作形态。假如低层协议判定1个接口处在工作形态,那么OSPF协议能够经过其Hello分组和余下的OSPF路由器创建对应的交互联系。在1个OSPF路由器对于临近的路由器传送Hello数据包的情况下,假如它自身接到某个路由器传回的Hello数据包,那么判定这2个OSPF路由器间顺利创建了OSPF交互联系,此流程在OSPF内就是邻接,唯有这种关系下的路由器装置之间方可传送相关的链路形态数据。相比较于RIP,OSPF不会产生路由环路,并且支持大型网络,相比较于EIGRP,OSPF的适用范围更广,支持的设备也更多,相比较于BGP来讲配置起来更加简单,管理起来也更加轻松。2.3无线路由器的优化关于OSPF协议,它其实是一类比较经典的链路形态(Link-state)的路由协议,通常情况下使用在相同的路由域中。此处的路由域其实就是1个AS(AutonomousSystem)自治系统。在此系统里面,全部的OSPF路由器均能够维护1个一样的数据库,用来陈述此AS架构,在此数据库内主要放置路由域里面对应链路的形态数据,对于OSPF路由器而言,它就是经过此数据库求出对应的OSPF路由表的。和距离矢量路由协议不一样的是,OSPF这种链路形态的路由协议能够把链路形态广播数据包LSA(LinkStateAdvertisement)传递至位于某个区块的全部路由器。对于运转距离矢量路由协议的路由器,其实是把一些或是所有的路由表传送至和其能够保持相邻状态的路由器。对于本有的局域网关键性能、带宽不够,或是冗余牢靠性比较弱的状况,如果要对核心层进行相应的改良,那么重点是选用千兆链路带宽实施相应的拓展,能够选定1个容量比较大的新的中心交换机ZXR108908去替换本有的装置,另外思考把本有的核心装备舍弃掉或是实施下移处理。另外新的核心装备则要求实现的和全部旧的有关网络装备的衔接,确保本有的交换机体系在衔接了新的核心装备之后,可以确保本有的业务体系处于运转状态。经过改建指挥,有关中纺院的网络拓扑架构情况可参见下图。在互联网里面涵盖很多AS自治系统的路由域,它用到了统一的路由协议,并且能够相互交换路由数据。一般情况下AS间会运用边界路由协议BGP,但是在AS内部,一般情况下会运用到OSPF或是IS-IS等相关的协议。OSPF这种协议当前应用相对普遍。在运用此协议的时候,全部OSPF路由器均维护1个一样的数据库,能够用来陈述AS拓扑架构,此数据库里面放置了AS体系内所有网络链路的形态数据,对于每台OSPF路由器设备而言,关于由此路由器抵达所有目标地的最短路径,实际上是运用此数据库中的相关数据,并且选用SPF算法求出的。这个时候尽管所有的路由器均能够从自身角度找出抵达各个目标网络的最短路径,然而考虑到它们均具备一样的拓扑数据库,故而最短路径应当是统一的。在OSPF协议运算过程中,用到的距离其实是1个没有单位的度量值。它其实是参照管理与技术方面的相关要求进行选定的,比如此数据能够直接体现应用端口的真实费用;能够体现端口的网络带宽等等。通常来讲,它选用的是将10E8除上带宽获取的数据。关于SPF算法,它其实是OSPF协议的基本前提。它能够把所有的路由器当作根(ROOT),从而求出其抵达所有目标地的间距,每个路由器参照1个一致的数据库,从而求出有关路由域的拓扑架构图,此架构图近似1棵树,其中在SPF算法里面就是最短路径树。另外在OSPF协议里面,关于最短路径树的树干长度,其实就是OSPF的Cost,具体算法则是:Cost=100×106/链路带宽,此处,链路带宽则通过bps进行表述。3无线路由器安防与优化中的关键技术3.1无线路由器所采用的安全技术3.1.1接入层技术关于IEEE804.1X标准,它其实是一类以端口为基础的网络连入控制协议,起初重点用来处理无线局域网客户在连入认证方面的相关问题,不过考虑到它的运行原理对全部满足标准的局域网是具备普适性的,故而在有线局域网里面同样获得了普遍的运用。对于804.1X系统,能够涵盖3个实体,其中包含了用户端、装备端、认证服务器这3个部分。其中认证服务器能够涵盖本地型、远程集中型这2类,它们能够使用在差别的场合中,由于该网络属于中小型的,所以最终选定本地型的认证服务器模式。这种设备一般情况下能够集成到装备端上。对于接口隔离技术进行简要解析,考虑到要对于报文间完成相应的二层隔离,故而能够把无用的接口添加差别的VLAN,不过需要白白耗费掉比较受限的VLAN资源。选用接口隔离的相关特征,能够对于相同的VLAN内接口完成彼此间的隔离操作。客户仅用把接口添加至隔离组内,这样能够对于隔离组里面的接口间的二层数据完成相应的隔离操作。关于接口隔离这项功能,可以为客户供应更加安全并且更加灵活的组网策略。3.1.2核心及汇聚层技术关于STP,其实是参照804.1D标准进行创建,并且此标准由IEEE协会拟定。能够使用到局域网内,从而清除掉数据链路层中的物理环路。对于运转此协议的装备,经过交互数据能够找出网络里面的相关环路,并且需要有计划地对于部分接口实施相应的堵塞。最后把环路网架构改为没有环路的树状架构,从而有效避免报文在网络里面发生无限循环、持续增生的情况,并且能够有效防止装备因为重复接纳同一报文导致处置实力减弱的相关问题。关于VRRP,分析目前的情况可知,在设定路由的时候,重点包含下列2类经常用到的方式:第一,根据路由协议比如OSPF等实施相应的动态研习;第二,实施静态模式下的配备。如果要在各终端运转动态路由协议,那么这在实际操作中缺少可行性。在此类状况下,在拟定路由的过程中,通常会选用静态配备,一般情况下是终端装备在默许的网关上设定1个或是多个。此类方式能够精简网络管理的繁杂度,并且能够减小终端装备在通讯方面的开支费用,不过其依旧存在1个不足之处:假如是路由器用作默许网关的时候遭遇了毁坏,那么能够切断全部关联的通讯。就算是具备很多个默许网关的配备,假如不能对于终端装备实施重启操作,那么仍然不能完成对于新网关的转换操作。选用虚拟路由器的冗余协议(VRRP),其实就是为了有效避免静态指定网关过程中产生的有关难题。在此协议里面,会牵涉到2组有关的概念,特别关键。第一,VRRP和虚拟路由器,第二,主控型、备选型路由器。当中,对于VRRP路由器而言,其实就是一类物理实体,运转VRRP协议的路由器设备;至于虚拟路由器,其实属于1个逻辑概念,它的建立源自VRRP协议。使用1组VRRP路由器装置,确保其在运行中发挥相关的协同效用,这样可以有效完成对于虚拟路由器的组成。在此路由器装置中,MAC和IP地址具有固定性,并且具备唯一性。另外在1组VRRP里面,关于主控型、备选型路由器装置,这2类角色具备互斥的相关特性。在此类状况下,仅有1个主控型路由器装置,但是备选型能够设置1个,另外还能够设置多个。一般而言,仅有1台路由器装备处于主控状态,至于余下的备选装备,能够始终保持待命状态,唯有在主控产生相关问题的情况下,备份方可进入主控状态。此系统对于终端用户而言具有透明性。3.1.3防火墙相关技术关于ACL(AccessControlList,访问控制列表),它能够完成数据的甄别,想要完成这项功能,网络装备应当配备一连串的匹配条件,从而对于报文实施相应的分类处理,这部分条件能够是报文的源地址、目标地址等等内容。对于包过滤防火墙这项功能,它其实是以ACL列表为基础的,能够确保合法用户的报文经过的时候可以对于非法访问实施相应的拒绝操作。3.1.4边界路由器相关技术关于NAT(NetworkAddressTranslation,网络地址转化)技术,它能够把私有地址转换成合法的IP地址,能够普遍使用在各类Internet连入样式与各类网络里面。分析原因非常简洁,NAT技术能够较佳地处理lP地址不够用的难题,另外可以合理防止源自网络外围的攻击,有效隐藏并且维护网络内的相关计算机设备。在IP报文中,有关源、目标IP地址都是经过使用NAT技术实施自动模式的更改的,对于Ip地址的校验处理,其实是在NAT处置流程内以自动方式实现。部分应用程序能够在IP报文的数据中嵌入相应的源IP地址,故而要求同时对于报文实施相应的更改,由此匹配IP头里面早已更改过的源IP地址。不然的话,对于报文数据里面嵌入了IP地址的应用程序,则很难保持正常状态下的运行。3.2基于无线路由器的网络优化技术对于子网的优化,Internet机构则界说了5类IP地址,其中包含A、B、C这3种地址。其中A类网包含126个,另外任意1个A类网也许具备16777214台主机设备,它们处在相同的广播域。在相同的广播域里面设置数目如此庞大的节点很不现实,网络则会由于广播通信从而进入到饱和形态,这样的话导致16777214个地址中大多数不能进行科学的配备。能够将基于每类的IP网实施深层面的分割,从而获取更小的网络,这样的话1个子网通过路由器设备进行相关的界定,并且配备1个新的子网地址。完成子网的分割处置之后,经过选用掩码,能够将子网实施相应的隐藏,这样的话从外部分析网络并无相应的改变。关于虚拟局域网(VLAN),它其实是1组逻辑方面的装备与用户,这部分装备与用户不会受到物理方位这个因素的制约,能够参照功能、部门等相关因素对于它们进行相应的组织,互相间的通讯如同它们处于相同网段内,因此称为虚拟局域网。对于VLAN技术而言,它相对新颖,能够运行在OSI模型的第2、3层,1个VLAN代表了1个广播域,在VLAN间的通讯其实是经过第3层路由器装置实现的。比起传统层面上的局域网技术,这种VLAN技术相对要灵活很多,它具备的优势为:网络装备在移动、增添、更改这些方面的支出会比较少;能够有效调控相关的广播活动;另外能够有效提升网络自身的安全性。4企业网无线路由器安全与优化需求分析4.1整体需求分析无论我们做什么设计,都需要在实地进行调研,分析员工的需求。例如,在企业路由管理,需要考虑通用布线、人员需求、管理需求和其他客观因素,满足用户的需求,也需要各种临时突发事件,所有类型的应急计划和各种各样的考虑解决方案。一般来说,构建的网络架构类型主要取决于用户的需求,但是,总的来说,整个网络环境体系结构,例如稳定性、可靠性、安全性、冗余性等都需要改进。4.2员工需求分析在员工的眼中,希望网络能够正常运行,即:如果用户访问内网服务器,则有足够的带宽。目前,以确保连接的带宽和连接的负载可适当增加,但是,当前网络电缆的状况不能满足工人的需求。终端的数据端口速度只能达到100MB,但是终端网卡可以支持900MB的千兆速度。因此,我们需要增加此通信线路的宽度。从数据点到自由流的带宽无法达到千兆位速度。对于连接,建议在访问设备和会聚设备之间的连接接口上使用6类电缆和5种以上的电源电缆。4.3管理层需求分析从管理的角度来看,他们希望能够有效地监控员工的工作环境,员工绩效以及对互联网的访问,以防止未经授权的网站访问。如果发生非传统的停电,则可以确保服务器上的数据不会丢失或损坏。4.4运维人员需求分析企业运营人员希望该网络体系结构能够确保更高和更强的发热量,更快地进行故障排除,并在出现故障时提醒员工迅速对问题进行故障排除。他们还希望网络架构简单稳定,以减少故障的数量,并且希望硬件系统能够满足通用要求,例如自动监视和设备记录。5企业网无线路由器安全策略与优化的方案设计5.1企业网无线路由器整体设计本研究设计的无线路由管理系统在Ubuntu18.4环境下,系统的整体框架使用了PyCharmIDE进行编写,网络拓扑发现图使用Gephi工具,SDN控制器使用Ryu,动态路由引擎使用RouteFlow方案,传统网络设备使用CiscoWS-C3560-48TS和华为eNSP网络模拟软件,OpenFlow网络使用Mininet模拟,OpenFlow协议使用1.0版。其中,动态路由处理部分使用RouteFlow路由引擎框架,RouteFlow框架将动态路由协议引入OpenFlow网络,使OpenFlow设备具有同传统设备一样处理动态路由协议的能力,使得传统设备可以毫无感知地与OpenFlow设备进行动态路由交换,实现动态路由转发。RouteFlow框架实现原理是将动态路由协议生成的路由表,转换成OpenFlow协议流表,进而下发到OpenFlow设备实现路由转发,RouteFlow框架路由引擎控制层面则使用了基于Linux网络虚拟化以及LXC容器技术。RouterFlow框架的实现已有专门论述,本论文引用这一路由引擎框架,目的是对无线路由管理系统功能进行增强与完善,同时借鉴RouteFlow框架思想,研究基于OSPF协议的实时网络拓扑发现技术。本研究设计的无线路由管理系统总体方案如图5-1所示。整体系统包括五个组成部分,即静态路由管理模块、静态路由处理模块、动态路由处理模块、拓扑生成模块、OpenFlow协议代理模块。各个模块的主要功能为:(1)静态路由管理模块:下发静态路由信息,获取设备流表。(2)静态路由处理模块:处理网络基础协议和静态路由信息,生成OpenFlow静态路由流表。(3)动态路由处理模块:使用RouteFlow动态路由引擎,处理OSPF动态路由协议,生成OpenFlow动态路由流表,旁路OSPF协议报文。(4)拓扑生成模块:分析OSFP协议报文,构建实时网络拓扑图。(5)OpenFlow协议代理模块:代理OpenFlow协议报文,处理OpenFlow协议与传统设备控制命令之间的转换。图5-1无线路由管理系统功能架构图如图5-1所示,无线路由管理系统可以划分为三层功能架构,分别是:(1)应用层,负责接受用户对静态路由的控制,OSPF网络实时拓扑显示,包括静态路由管理模块、拓扑生成模块(2)控制层,实现SDN控制器集中控制,负责静态路由与动态路由功能、流表信息下发与拓扑生成,包括静态路由处理模块、动态路由处理模块、拓扑生成模块(3)代理层,负责OpenFlow协议代理与转换工作,包括OpenFlow协议代理模块无线路由管理系统初始化阶段,通过静态路由处理模块处理本地接口地址信息,建立本地路由表,生成默认流表项以满足非路由数据包基本转发要求。而后,静态路由与动态路由处理模块开始各自处理路由信息,静态路由处理模块通过静态路由管理模块接收静态路由设置,判断路由信息有效性,添加至本地路由表,生成对应的路由转发流表项;动态路由处理模块接收OSPF协议握手报文,通过路由引擎进行路由计算,生成动态路由表,生成对应路由转发流表项。之后流表项通过OpenFlow协议代理模块对流表项内容进行分析转换,发送至对应网络设备。通过三者的结合,无线路由管理系统可以无差别的管理传统网络设备和OpenFlow网络设备,并且对于组网方式没有要求。5.2企业网无线路由器安全配置图5-2给出了无线路由管理系统总体架构,并对各部分模块内部进行功能划分,指出系统内部主要数据交互过程。图5-2无线路由管理系统总体架构图5.3企业网无线路由器核心安防功能设计本节具体描述各模块功能划分及作用。(1)静态路由管理模块静态路由管理模块是系统的应用级模块,通过提供RESTAPI接口,实现路由管理,流表显示等功能。(2)静态路由处理模块静态路由处理模块包括,指令接收处理:执行路由管理指令;ICMP代理:处理目的地址是本地接口地址的非路由ICMP协议以及其它IP协议数据包,发送ICMP回复报文,丢弃其它IP协议数据包;ARP协议代理:处理ARP协议,发送ARP请求、回复等报文;流表项生成:根据协议处理结果和静态路由信息,生成本地路由表并生成对应流表项下发。(3)动态路由处理模块动态路由处理模块包括,RouteFlow路由引擎:基于Quagga的OpenFlow路由实现方案,提供了基于OSPF协议的动态路由支持;路由协议报文旁路:对OSFP协议LSU报文进行拦截、复制、旁路,上送拓扑生成模块处理。(4)拓扑生成模块拓扑生成模块包括,路由协议报文分析:分析OSPF协议LSU报文,提取并构建链路状态数据库;GephiRESTAPI调用:调用Gephi软件的RESTAPI接口,绘制网络拓扑图。(5)OpenFlow协议代理模块OpenFlow协议代理模块包括,控制器通信通道:模拟OpenFlow协议与控制器通信规范,提取OpenFlow协议消息内容;传统设备控制通道:通过Telnet方式登陆设备,发送配置命令;OpenFlow协议流表项处理:分析OpenFlow协议流表项内容,执行传统设备配置命令转换;OpenFlow协议消息处理:负责处理与路由机制相关的OpenFlow消息,包括PacketIN与PacketOUT等;Trunk接口数据包处理:负责VLAN接口号与OpenFlow虚拟设备接口号的转换,对数据包实施VLANtag打标签或去标签服务。5.4网络拓扑结构优化5.4.1协议代理模块协议代理模块是无线路由管理系统中连接底层物理设备的核心组件,负责维护传统设备与设备的控制通道、与控制器的通信通道,将协议消息与路由流表项内容转换成传统设备配置命令以及对Trunk接口数据包进行封装与解封装等工作。本小节将对模块具体实现进行详细阐述。(1)控制器通信通道子模块为了实现与SDN控制器的通信,代理模块首先需要模拟自身为一个支持OpenFlow协议的网络设备。根据OpenFlow协议规范描述,OpenFlow交换机和控制器的通信过程使用TCP或者TLS进行,端口号默认为6633。连接建立后OpenFlow设备发送Hello消息协商OpenFlow协议版本,之后控制器向OpenFlow设备发送FeaturesRequest消息,获取交换机的ID、缓冲区数量、端口信息等特性,OpenFlow设备回复FeaturesReply,至此双方握手完成。控制器通信通道子模块的实现采用了sdnpwn2开源项目中对于OpenFlow设备的模拟方法。该项目是模拟对SDN控制器的攻击以测试控制器的安全性,其内部实现了简单OpenFlow设备,可以通过该设备对OpenFlow协议消息与流表项进行捕获,满足OpenFlow协议代理模块要求。具体实现过程如下所述。1)使用配置文件配置OpenFlow虚拟设备的基本物理信息,包括设备型号、设备描述、特性以及接口等信息,用于响应控制器与OpenFlow虚拟设备的握手请求。2)通过使用socket类,建立代理程序到控制器的TCP连接,实现OpenFlow协议消息在控制器与代理程序之间的收发。3)建立对应的OpenFlow协议消息处理函数,并将函数映射到对应的OpenFlow协议消息代码。由于OpenFlow协议消息具有固定8字节长的报文头,因此,通过socket.recv获取数据包的前8个字节长度,即可取得OpenFlow协议的报文头,通过对报文类型字段的解析,得到具体的OpenFlow协议消息类型,将消息分发到对应的处理函数进行处理。4)完成控制器与虚拟OpenFlow设备的握手过程,分发后续OpenFlow消息到对应处理函数。(2)流表项处理子模块OpenFlow流表项处理子模块主要负责处理控制器流表项下发消息,包括流表项的添加与删除消息(FlowMod),以及流表信息的查询与上报(StatsRequest/StatsResponse)。同时依据流表项匹配域内容,负责传统设备配置命令的生成。1)流表项处理OpenFlow流表项处理子模块通过使用字典来保存控制器下发的流表项,字典键值使用流表项cookie字段,cookie字段相同的路由流表项,表示关联的是同一虚拟接口地址,通过cookie字段,建立起流表项有效性与接口有效的联系。流表信息上报实现,需要对StatsResponse消息构建,使用的是开源项目pyof,它是Kytos项目中关于OpenFlow协议的实现库。构建过程通过将字典中保存的流表项内容,转换成StatsResponse消息格式。由于字典中的流表项内容,是由FlowMod消息下发的,通过对比两种消息格式,重新计算StatsResponse消息长度,填充字段内容,使用pyof提供的StatsReply类构建StatsResponse消息。2)传统设备配置命令生成根据OpenFlow路由机制流程,初始流表项和本地流表项仅和本地接口与网段有关,无需进行路由转发。由于传统网络设备自身具有基础网络处理能力,因此,对于本地相关的流表项,无需生成传统设备配置命令,传统设备会自行对本地相关的数据包进行本地转发处理。传统设备命令生成主要针对路由转发流表项进行,首先对路由转发流表项进行判定。路由转发流表项匹配域中的目的IP地址,必然是不同于网络设备本地接口网段的外部地址,因此,通过对流表项匹配域目的IP地址范围的判断,可以获取路由目的地址。路由信息下一跳的获取,可以通过两种方法:一是如果流表项的动作字段,存在出接口号,则可根据出接口获取下一跳地址;二是通过流表项动作字段中对目的MAC地址的改写,可以获得下一跳接口的MAC地址,根据此地址信息获取下一跳接口的IP地址。通过上述路由信息的获取,便可以生成传统设备的策略路由配置命令。依据路由信息目的网段,生成传统设备的ACL配置命令;依据下一跳地址,生成传统设备的RouteMap配置命令;根据下一跳地址所属网段,得知设备的接口号,进而生成基于PBR的策略路由配置命令。具体实现流程如图5-3所示。图5-3传统设备配置命令生成流程图(3)协议消息处理子模块OpenFlow协议消息处理子模块主要负责处理与路由机制相关的OpenFlow消息,包括PacketIN与PacketOUT等。对于静态路由应用场景,PacketIN消息主要用于发送邻接网络设备对本地接口的ARP请求;PacketOUT消息主要用于发送对路由信息下一跳MAC地址的ARP请求,以及对邻接网络设备的ARP回复。对于动态路由应用场景,除了与静态路由应用场景相同的情况外,PacketIN消息还负责发送邻接网络设备动态路由协议数据报文,PacketOUT消息还负责发送本地动态路由协议数据报文。PacketIN与PacketOUT消息的构建,同样使用pyof库,通过将需要上送的数据包序列化为网络字节序,并将其完整装入PacketIN实例的data属性,指定入接口号,通过控制器通信通道进行发送;对PacketOUT实例调用unpack方法,得到实例的data属性和outport属性,进而获取需要发送的数据包和出接口信息。(4)Trunk接口数据包处理子模块Trunk接口数据包处理子模块主要负责VLAN接口号与OpenFlow虚拟设备接口号的转换,负责对通过Trunk接口的数据包进行分类过滤,对需要进行处理的数据包实施VLANtag打标签或去标签服务。对于数据包的处理,使用的是开源Scapy项目,该项目提供了大量不同类型数据包的类库,提供了构建任意数据包的方法,以及通过网络接口直接发送数据包的能力,同时该项目还支持对网络接口进行异步监听,并支持回调函数对监听到的数据包进行处理。1)数据包过滤传统网络设备设置与虚拟OpenFlow设备相同的接口配置。由于传统设备1号VLAN通常具有特殊的作用,因此,我们将虚拟设备的接口号增加10后,与传统设备的VLAN号对应。每个VLAN绑定一个物理接口,实现了虚拟接口与物理接口的对应。子模块与传统网络设备的Trunk接口直接相连,能够接收到所有来自传统设备通过Trunk接口转发的数据包,其中包括传统设备自身产生的数据包。根据路由机制与路由场景的描述,在实际路由转发过程中发挥作用的数据包,主要包括ARP协议报文以及动态路由协议交互报文。子模块使用Scapy项目中的AsyncSniffer方法创建对Trunk接口的异步监听,使用Scapy中的Ether类、ARP类以及路由协议相关报文类(如OspfHdr类)来对Trunk接口报文进行过滤;使用Dot1Q类获取数据包所属的VLAN号,并与虚拟设备的接口号对应,同时对数据包VLANTag进行处理。2)VLAN标签处理对Trunk接口数据包去标签的过程主要包括:1)遍历数据包中包含的各层协议头部数据;2)判断协议头部数据是否存在校验字段,并对检验字段进行删除;3)判断当前协议层是否是Ether,是否存在Dot1Q协议层,并提取其后续数据包载荷;4)从当前协议层删除所有数据载荷(包括Dot1Q协议层),将保存的数据包载荷添加到当前协议层;5)更改数据包类型(将0x8100改为0x0800或0x0806等);6)重复步骤1)对数据包载荷各层协议遍历,直至数据包结尾。具体流程如图5-4所示。图5-4Trunk接口数据包去VLANTag流程图对Trunk接口数据包打标签的过程,有两种方法,第一种方法与上述去标签过程基本一致,需将删除Dot1Q协议层改为添加Dot1Q协议层;第二种方法是使用Linux系统提供的8021q模块,该模块为网络接口提供支持VLAN子网的能力。其中第1条配置命令表示加载8021q模块,以实现Linux系统支持VLAN子网;第2条配置命令为物理网络接口ens39,创建一个VLAN号为11的子接口,名字为ens39.11,该子接口将仅收发父接口ens39中VLANtag为11的数据包,并自动对数据包进行打标签与去标签处理;第3条配置命令表示将子接口使能。我们可以使用Scapy项目sendp方法向VLAN子接口直接发送数据包,而不用关心打标签的问题,打标签的过程由Linux系统自行完成。虽然此方法同样可以用于对数据包进行去标签操作,但是,如果使用此方法进行去标签,需要Scapy对所有VLAN子接口进行监听,如果子接口数量较大,监听过程将占用大量系统资源,大大降低监听效率。Trunk接口数据包处理子模块功能包括Trunk数据包过滤与VLAN标签的处理,具体实现如图5-5所示。图5-5Trunk接口数据包处理子模块工作示意图(3)传统设备控制通道传统设备控制通道负责建立与传统设备的连接,下发配置命令。具体实现使用Python的telnetlib模块,建立到传统设备的telnet命令。由于与传统设备建立telnet远程连接,是基于交互模式,因此,需要对传统设备的回显内容进行判断,满足条件才能进行命令输入。传统设备的交互模式都有固定的回显格式,我们通过使用正则表达式进行匹配,以Cisco传统设备为例,需要判断的内容如表5-1所示。表5-1传统设备配置状态处理对照表传统设备回显状态正则表达式可进行操作登陆用户名输入username:输入用户名登陆密码输入password:输入密码视图模式\w+>$视图命令特权模式\w+#$全部命令配置模式\)#$配置命令5.4.2拓扑生成模块拓扑生成模块负责通过OSPF动态路由协议报文交互信息,生成实时拓扑。其主要作用是为路由管理系统提供可视化网络结构,方便查找网络路由故障。该模块由路由协议报文分析组件与GephiRESTAPI调用组件组成。(1)路由协议报文分析组件路由协议报文组件主要负责网络拓扑生成,其实现原理依托SDN控制器网络全局控制能力,通过对RouteFlow路由框架quagga路由引擎中,OSPF协议交互报文的实时截取,分析处理OSPF协议交互消息,进而得出网络拓扑结构。对于OSPF协议报文的截取,使用的是RouteFlow路由框架中的POX控制器的事件机制。POX是一个由Python编写的控制器,仅支持OpenFlow1.0。POX的事件机制处理符合发布/订阅模式(publish/subscribe),主要原理是使用revent类,当某个对象发布事件时,其他的对象可以在这个对象上订阅指定的事件。POX控制器会发布PacketIN事件,当POX收到OpenFlow设备通过PacketIN消息上送的OSFP协议报文时,会触发PacketIN事件。POX控制器中应用程序以组件的方式运行,我们需要将拓扑发现模块编写成Python类的形式,然后向POX的core进行注册,使用core.registerNew方法。同时,拓扑发现模块订阅POX的PacketIN事件,以便旁路接收OSPF协议报文。(2)GephiRESTAPI调用组件GephiRESTAPI调用组件主要负责网络实时拓扑的绘制,使用的是Gephi开源软件,该软件提供了基于RESTAPI的画图接口。为了达到拓扑实时性,需要对每次OSPF协议交互数据进行分析,发现拓扑变化情况,并实时调用GephiAPI对网络拓扑进行重新绘制。因此,路由协议报文分析组件使用POX的事件机制,通过revent.Event类,自定义了拓扑变化事件,并将事件进行发布;GephiRESTAPI调用组件订阅该事件,连接GephiRESTAPI用来进行拓扑绘制,确保了一旦拓扑发生变化,Gephi就重新绘制网络拓扑。OSPF协议的交互过程由RouteFlow路由框架中Quagga引擎处理,包括OSPF协议的握手过程等,我们只关心OSPF协议成功建立邻接关系以后的消息交换,即LSA消息的交互,因为这些消息包含了网络设备节点与节点链路的信息。OSPF包括了5种常用类型的LSA,通过分析可知,RouterLSA(类型1)与NetworkLSA(类型2)中分别包含网络设备信息、设备接口信息与接口连接信息。因此,在拓扑生成的实现过程中,我们对PacketIN上送的OSPF协议报文进行了筛选,只需要分析RouterLSA和NetworkLSA即可。我们通过研究OSPF协议规范,总结出OSPF协议LSA交互过程中的几点约定:1)只有始发这条LSA的路由器有权利提前发送LSAAGE=3600的LSA过期消息,从而使其它路由器删除这条LSA。例如一个DR突然离线,则其它路由器收不到任何这个DR发送的数据包,超时重新选举DR,后原DR上线,可能是DRother,或又被重选为DR,这时其它路由器会把当时DR的netlsa通过DD报文发送给它,由于是遗留LSA,DR会主动发一个Age3600让其它路由器删除。2)所有重启后的路由器都会通过DD报文来向邻居获取自己以前的序列号,并加1发送新的LSA。如果路由器收到了一个比自己的LSDB里存储的LSA小的序列号,证明邻居发送的是错误LSA(可能是邻居问题或网络问题),则断开与它的邻接关系或者拒绝与它建立邻接。3)当一个LSDB中LSAAGE=3600时,所有路由器会在一个时间段随机发送过期这条LSA,只要有一个路由器发送,其它路由器收到后就不用再发,减少洪泛。这几条约定是拓扑实现正确性的依据。结合对OSPF协议的分析,我们得出网络拓扑生成模块的主要流程,分别如图5-6与图5-7所示。图5-6OSPF路由器LSA处理流程图图5-7OSPF网络LSA处理流程图5.5企业网无线路由器软硬件优化5.5.1静态路由处理模块静态处理模块主要由ARP代理模块、ICMP代理模块、RESTAPI模块以及流表项生成模块组成,我们以图5-8所示拓扑结构对静态路由处理模块的流程与实现进行阐述。图5-8静态路由处理场景图模块工作流程主要可以分为初始化阶段、本地通信处理阶段和路由转发阶段,下面对这三个阶段处理流程进行详细描述。(1)初始化阶段初始化阶段,模块会向3台OpenFlow设备下发基础路由表,包括将ARP协议报文上送控制器,对其它数据包进行丢弃动作等默认流表项,对于ARP协议报文的上送是进行后续路由转发的基础。这个阶段还没有为设备配置接口IP地址信息,暂时不能对上送的ARP协议报文进行处理。静态路由管理模块通过RESTAPI发送接口地址设置指令,分别为3台OpenFlow设备指定虚拟接口IP地址,由于设备本身没有处理IP数据包的能力,需要将目的地址为设备本身的数据包交由控制器处理,对于与接口地址相同网段内主机间通信,如H1与H4之间的通信,根据第二章中有关论述,将交由设备进行二层处理,流表项生成子模块会根据接口地址信息,下发对应的流表项。以S1设备为例,对应虚拟接口IP地址的流表项与设备默认流表项如表5-2所示。表5-2S1基础路由表项表dpidMatch域Actionethtypenw_srcnw_dst10x0800*/32ToController10x0800*/32ToController10x0800/24/24NORMAL10x0800/24/24NORMAL10x0806**ToController1***DROP(2)本地通信阶段此时对于目的地址是本地地址的数据报文,OpenFlow设备可依据初始流表项进行处理,以H1向其网关发送ICMP报文为例,H1首先发送ARP请求报文询问网关的MAC地址,S1根据初始流表项将ARP报文送控制器,ARP代理子模块对报文进行解析,将源报文链路层中的源MAC地址11:11:11:11:11:12,替换回复报文的目的MAC地址,将接口MAC地址01:01:01:01:01:02,替换回复报文的源MAC地址,构建内容为接口MAC地址的回复报文,进行单播发送。这里设备S1有两个接口,如何确定回复报文中使用的MAC地址,运用了第二章提到的关于通过PacketIN消息改进虚拟接口IP地址与物理接口号的方法,H1发送的ARP报文通过PacketIN上送到控制器后,ARP代理子模块利用控制器提供的函数,获取到ARP报文的入接口号,进而建立虚拟接口与物理接口的绑定关系。至此,ARP代理子模块获取了H1主机的地址信息,H1主机同时具有设备虚拟接口的地址信息,H1主机与网关地址之间可以正常通信。结合路由转发机制,网关进行路由转发的底层操作是MAC地址的逐跳转换,作为网关的S1设备,已经获取其接口下的主机H1的地址信息,便可通过MAC地址转换来实现到H1主机的路由转发机制。因此,ARP处理子模块不仅处理了正常ARP请求过程,还获取了接口连接主机的可达信息,通过下发流表项指导S1对目的地址是H1的主机进行路由转发。由此可知,同接口同网段内的主机,只要发送ARP请求,就会被ARP代理模块捕获,从而下发对应的路由转发流表项。H1获取到网关的MAC地址以后,发送目的地址是的ICMP报文,S1根据流表匹配第1条,通过PacketIN上送到控制器,ICMP处理子模块构建ICMP报文,将ICMP报文从入接口发送出去,完成了本次ICMP通信。同一网段下两主机通信的情况,与上述情况类似,区别在于需要ARP代理子模块将ARP报文进行一次转发。H1发送ARP请求同一网段H4主机MAC地址,ARP代理子模块判断是同一网段内两主机通信,将ARP报文通过PacketOUT消息转发,H4主机回复ARP报文,ARP代理子模块获取到H4主机的地址信息,后续步骤与上述一致。此后主机间通信通过OpenFlow设备的Normal动作进行转发以图X所示拓扑结构为例,设备S1的本地路由流表项如表5-3所示。表5-3S1本地路由表项表dpidMatch域Actionethtypenw_dst10x0800/32TTL--SetSrc_MAC:01:01:01:01:01:01SetDst_MAC:11:11:11:11:11:12Ouput:110x0800/32TTL--SetSrc_MAC:01:01:01:01:01:01SetDst_MAC:11:11:11:11:11:13Ouput:1(3)路由转发阶段指令接收处理模块接收路由添加指令,首先对添加的路由信息进行有效性判断,包括路由信息的下一跳地址是否与设备虚拟接口属于同一网段,以及下一跳地址是否与虚拟接口地址重复等。路由有效性验证成功后,指令接收处理模块将路由信息添加路由表,此时路由表中的路由信息缺少下一跳的MAC地址。根据路由转发机制,此路由信息可以被正常转发的前提是对下一跳MAC地址的学习,因此指令接收处理模块将构建ARP请求,从设备所有接口发送ARP查询下一跳MAC地址。ARP请求的处理将回归ARP代理子模块完成,下一跳设备虚拟接口回复ARP请求,将获取的MAC地址更新到路由表中下一跳的MAC地址。使用完整的路由信息,ARP代理子模块便可生成静态路由转发流表。这里存在另一种情景,即下一跳地址不存在,无法回复ARP请求。虽然无法获取下一跳的MAC地址,但是路由设置是合理的,路由表中应当保存此路由条目。对于没有下一跳MAC地址的路由,指令接收处理子模块会将此路由转换成PacketIN形式的流表项,对于发往此路由的数据包,由PacketIN处理子模块做出判定,触发ARP代理子模块对于路由下一跳MAC地址的ARP查询,直到下一跳地址可达并回复ARP请求,由ARP代理子模块依照上述正常流程下发更新的路由流表项,覆盖此PacketIN流表项。下面通过实例进行阐述。对于设备S1,设置两条路由信息分别为:目的地址/24,下一跳为;目的地址/24,下一跳地址为00(此地址不存在);对于设备S2,设置一条路由信息为:目的地址/24,下一跳为。S1验证两条路由有效性,并添加路由表,由于第2条路由下一跳地址不存在,将产生不同的路由流表项。S2执行同样流程。具体流表项内容如表5-4所示。表5-4S1转发路由表项表dpidMatch域Actionethtypenw_dst10x0800/32TTL--SetSrc_MAC:01:01:01:01:01:02SetDst_MAC:03:03:03:03:03:02Ouput:210x0800/24同上10x0800/24ToController20x0800/32TTL--SetSrc_MAC:03:03:03:03:03:02SetDst_MAC:02:02:02:02:02:02Ouput:320x0800/24同上综上所述,静态路由处理模块整体工作流程如图5-9所示。图5-9静态路由处理模块整体工作流程图其中指令接收处理子模块流程和ARP代理子模块流程分别如图5-10和图5-11所示。图5-10指令处理接收模块工作流程图图5-11ARP代理模块工作流程图静态路由处理模块围绕路由机制中MAC地址转换核心思想,通过将路由流程分为三个阶段进行功能构建,各子模块之间相互关联,实现路由转发功能。5.5.2静态路由管理模块静态路由管理模块负责系统静态路由的添加以及删除等工作。实现原理为,通过使用PythonWSGI(WebServerGatewayInterface,网页服务器网关接口)规范,建立WSGI服务器与应用程序,将静态路由管理指令内容,映射到RESTAPI中,再将RESTAPI映射到目标处理函数。其中服务器负责接收RESTAPI形式的指令内容,应用程序负责将RESTAPI映射到对应的处理函数。WSGI规范[]描述了网页服务器与网页应用程序的通信规则,定义了一种服务器与应用程序解耦的规范。WSGI服务器负责从客户端接收请求,将请求(request)转发给应用程序,并将应用程序的返回(response)返回给客户端;WSGI应用程序接收由服务器转发的请求(request),处理请求,并将处理结果(response)返回给服务器。WSGI规定每个python程序(Application)必须
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管法兰焊接工装课程设计
- 蒙特卡罗方法课程设计
- 环保科研项目资助办法
- 广东省加油站社会责任报告
- 课程设计要有什么素质呢
- 少数民族地区援助协议书模板
- 大型水箱吊装服务协议
- 船舶公司船员聘用协议
- 能源审计师课课程设计
- 航空维修工艺操作
- 动物感觉系统-眼(动物解剖生理课件)
- 系统运维年终总结模板
- 脑梗死静脉溶栓流程优化-课件
- 刑事撤案申请书
- 普外科科室医疗质量持续改进记录
- 群文阅读:童话中的不可思议 (教学实录)
- 原发性肝癌介入治疗(TACE)临床路径
- 丰田锋兰达保养手册
- 苏教版五年级上册科学第2单元第4课《物体的传热本领》教学课件
- 初中音乐人音九年级上册经典交响第五命运交响曲
- 4.4.1 对数函数的概念 课时教学设计
评论
0/150
提交评论