一种基于MSPG的以太网帧转发方法及其MSPG系统技术方案

技术编号:20729801 阅读:38 留言:0更新日期:2019-03-30 19:24
本发明专利技术涉及基于MSPG的以太网帧转发方法及其MSPG系统,包括控制器和交换机,1交换机收到一个帧,有匹配的流表,按流表动作;2流表无匹配,发送packetin到控制器;3收到packetin后,根据帧的src_MAC与packetin中的in_port字段和dpid字段,更新Dpip‑

【技术实现步骤摘要】
一种基于MSPG的以太网帧转发方法及其MSPG系统
本专利技术涉及计算机
,特别与一种软件定义网络中基于多表查找和路径生成的以太网帧转发方法有关。
技术介绍
在局域网内,多种解析与发现协议(如ARP、NDP、DHCP)都会用到同一种局域网技术,即广播技术。由于在一个特定的局域网中,单一节点并不拥有网络中其他节点的相关知识,因此在进行目标节点的地址解析、重复地址检测及目标发现时需要以广播方式将报文发送给所有节点,因此会产生大量的网络负载。广播与网络设备是分不开的,所有的广播都需要网络设备的支持,而网络设备本身也会产生大量广播,典型的如交换机的MAC学习过程。以图1为例,假设LAN中有3台主机,分别是A、B和C,分别连接到交换机的1、2、3端口上,地址配置见表1。表1主机A、B、C配置MAC地址学习过程描述如下:步骤(1),当交换机刚接入到网络时,其MAC地址表是空的。如果主机A要发送帧给主机C,则主机A会在帧的源MAC地址和目的MAC地址字段分别写入自己的MAC地址MACA和目标主机C的MAC地址MACC,并发送至交换机1端口(这里我们不关注ARP过程,假设C的MAC地址是已知的)。步骤(2),当A发出的帧到达交换机后,交换机在MAC地址表中记录下A的MAC地址MACA和端口1。由于MAC表中并无主机C的MAC地址,所以交换机将该帧以泛洪的方式发送到除端口1以外的所有端口,也就是端口2和3。主机B和C都可以收到这个帧,B通过检查发现帧的目的地址与自己的MAC不符合,则丢弃该帧。步骤(3),C收到该帧后,检查发现帧的目的MAC地址是MACC,即发给自己的,所以发送应答帧。应答帧的目的地址填写MACA,源地址填写MACC。应答帧从端口3进入交换机,交换机通过地址学习功能将MACC和端口3加入MAC地址表,并通过查找MAC表后,将应答帧从端口1转发给A。随着通信的继续,交换机会逐步学习到与各接口相连的主机的MAC地址,并将它们写入MAC地址表。网络中的广播,严重影响了局域网性能。研究表明,在局域网中,由ARP协议产生的通信占据了广播总量的86%以上,是主要的广播负载来源,而大量的广播更是造成网络拥塞的源头。因此,为了减少局域网广播报文,本专利技术人设计了一种适用于软件定义网络(SoftwareDefinedNetwork,SDN)环境的帧转发方法,我们称之为多表查找路径生成方法(Multi-tableSearchingandPathGeneration,MSPG)。MSPG采用了多表查找与路径生成算法,大大减少了由于交换机发生MACmissing(如果某个被查找的MAC地址在交换机的MAC地址表中不存在时,即发生了MACmissing)而产生的泛洪(Flooding:是交换机和网桥使用的一种数据流传递技术,将某个接口收到的数据流从除该接口之外的所有接口发送出去),有效降低了局域网广播负载。
技术实现思路
本专利技术的目的是一种基于MSPG的以太网帧转发方法及其MSPG系统,采用了多表查找与路径生成算法,大大减少了由于交换机发生MACmissing而产生的泛洪,有效降低了局域网广播负载。为实现上述目的,本专利技术采用的技术方案如下:一种基于MSPG的以太网帧转发方法,包括控制器(OC)和交换机(OVS),控制器维持一个全局的Dpip-<MAC:inport>映射表,格式为{Dpid:{‘MAC’:inport}},当其收到一个帧时,按如下步骤转发:步骤一:当交换机收到一个帧时,如果有与帧匹配的流表,则按照流表动作;步骤二:如果流表中并无与该帧匹配的条目,则发送packetin报文到控制器;步骤三:控制器收到该packetin报文后,会根据帧的src_MAC与packetin报文中的in_port字段和Dpid字段,更新dpip-<MAC:inport>映射表;步骤四:控制器根据帧中dst_MAC字段进行查找;假设交换机的Dpid为x,则在与x对应的<MAC:inport>映射表中查找;步骤五:如果找到,则首先下发转发流表,然后发送packetout至交换机,要求交换机转发该帧;如果找不到,则执行packetout,要求交换机进行flooding操作。MSPG系统,包括如下各功能模块:(1)网络拓扑模块:利用LLDP协议生成全局网络拓扑,并负责监视网络拓扑变化;(2)流表统计模块:该模块包括两方面的功能:a.根据网络拓扑,周期性的对交换机中与MAC帧转发有关的流表进行统计;b.处理交换机流表变化事件;(3)维持模块:维持MSPG运行时需要的多种数据结构,该模块接收两方面的反馈信息:a.拓扑模块反馈的拓扑变化信息;b.流表统计模块的反馈信息;(4)多设备查找(MS模块):当交换机发生missing(v,MACX)时,该模块将查找离目标MACX位置最近的交换机;(5)路径生成模块(PG模块):对于给定的起点交换机和终点交换机,结合网络拓扑,生成一条从起点到终点的通路(Path);(6)流表分派模块:根据给定的路径,结合发生MACmissing的设备Dpid、MAC地址和端口号,生成流表集合,并下发,避免发生MACmissing扩散。MSPG系统可进一步优化:所述网络拓扑模块监听事件包括:交换机的进入与离开、链路的增加与删除、交换机端口状态变化。所述维持模块数据结构包括MDST、SDST、Links、Nodes。所述的MSPG中,控制器为每个交换机维持一个Dpip-<MAC:inport>映射表。MSPG系统工作过程:Step1:控制器通过LLDP协议生成全局的网络拓扑G=(Nodes,Links),Nodes为交换机集合,Links为边集合;对G中交换机下发优先级为0的流表,要求当发生Flowmissing时发送packetin到控制器;Step2:如果某个交换机S_START发生了missing(S_START,MACX),其对应的帧为FrameX,并发送packetin报文,控制器收到该报文后,则进行step3;Step3:控制器首先在S_START.SDST中查找MACX,如果存在与MACX对应的条目,假设为(MACX,PortX),则首先下发流表到S_START,然后通过Packetout消息,要求S_START对FrameX从PortX转发;如果不存在与MACX对应的条目,则发送进行Step4;Step4:在MDST中进行查找;如果存在n(n≥1)条与MACX有关的条目,则找到Createtime字段最小的条目,然后确定该条目所对应的交换机S_END与端口,进行Step5;如果没有找到与MACX有关的条目,则进行Step6;Step5:根据网络拓扑生成起始S_START与终点S_END之间的转发路径P;根据转发路径P生成流表集合F-set,然后将F-set中的每条流表下发至对应的交换机,然后要求S_START对FrameX进行转发;Step6:控制器发送Packetout至S_START,要求S_START对FrameX进行泛洪。所述的Step4中用了多表查找算法,多表查找算法会在MDST中查找,如果存在多个条目,则找出与MACX距离最近的交换机与相应的端口。本文档来自技高网
...

【技术保护点】
1.一种基于MSPG的以太网帧转发方法,其特征在于:包括控制器和交换机,控制器维持一个全局的dpip‑

【技术特征摘要】
1.一种基于MSPG的以太网帧转发方法,其特征在于:包括控制器和交换机,控制器维持一个全局的dpip-<MAC:inport>映射表,格式为{Dpid:{‘MAC’:inport}},当其收到一个帧时,按如下步骤转发:步骤一:当交换机收到一个帧时,如果有与帧匹配的流表,则按照流表动作;步骤二:如果流表中并无与该帧匹配的条目,则发送packetin报文到控制器;步骤三:控制器收到该packetin报文后,会根据帧的src_MAC与packetin报文中的in_port字段和Dpid字段,更新dpip-<MAC:inport>映射表;步骤四:控制器根据帧中dst_MAC字段进行查找;假设交换机的Dpid为x,则在与x对应的<MAC:inport>映射表中查找;步骤五:如果找到,则首先下发转发流表,然后发送packetout至交换机,要求交换机转发该帧;如果找不到,则执行packetout,要求交换机进行flooding操作。2.如权利要求1所述的一种基于MSPG的以太网帧转发方法,其特征在于:所述步骤五中采用MSPG系统,包括如下各功能模块:网络拓扑模块:利用LLDP协议生成全局网络拓扑,并负责监视网络拓扑变化;流表统计模块:该模块包括两方面的功能:a.根据网络拓扑,周期性的对OpenFlow交换机中与MAC帧转发有关的流表进行统计;b.处理交换机流表变化事件;维持模块:维持MSPG运行时需要的多种数据结构,该模块接收两方面的反馈信息:a.拓扑模块反馈的拓扑变化信息;b.流表统计模块的反馈信息;多设备查找:当交换机发生missing(v,MACX)时,该模块将查找离目标MACX位置最近的交换机;路径生成模块:对于给定的起点交换机和终点交换机,结合网络拓扑,生成一条从起点到终点的通路Path;流表分派模块:根据给定的路径,结合发生MACmissing的设备Dpid、MAC地址和端口号,生成流表集合,并下发,避免发生MACmissing扩散。3.如权利要求2所述的一种基于MSPG的以太网帧转发方法,其特征在于:所述的MSPG系统中,网络拓扑模块监听事件包括交换机的进入与离开、链路的增加与删除、交换机端口状态变化。4.如权利要求2所述的一种基于MSPG的以太网帧转发方法,其特征在于:所述的MSPG系统中,维持模块数据结构包括MDST、SDST、Links、Nodes。5.如权利要求2所述的一种基于MSPG的以太网帧转发方法,其特征在于:所述的MSPG系统中,控制器为每个OpenFlow交换机维持一个dpip-<MAC:inport>映射表。6.如权利要求2所述的一种基于MSP...

【专利技术属性】
技术研发人员:宋广佳陈滨安仲立
申请(专利权)人:浙江农林大学暨阳学院
类型:发明
国别省市:浙江,33

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

1