以太网通信方法、系统和sdn交换的制造方法

文档序号:7801059阅读:195来源:国知局
以太网通信方法、系统和sdn交换的制造方法
【专利摘要】本发明公开了一种用于以太网通信的方法、系统和SDN交换机。包括:SDN交换机把本地学习到的MAC地址向集中控制器通告,集中控制器基于全网拓扑自动发现和基于策略的路由计算,向管理域下的所有SDN交换机下发目的MAC地址对应转发端口的转发表;SDN交换机根据本地学到的MAC地址转发表以及集中控制器下发的MAC地址转发表实现以太网帧的转发。本发明由集中控制器向管理域中SDN交换机下发MAC地址转发表,避免了传统以太网交换机通过数据转发平面学习全网MAC地址的局限性,解决了传统以太网存在广播风暴、生成树协议导致的大量冗余链路阻塞、网络收敛速度慢、无法实现流量工程等问题。
【专利说明】以太网通信方法、系统和SDN交换机
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种用于以太网通信的方法、系统和SDN交换机。【背景技术】
[0002]传统以太网存在广播风暴、STP (Spanning Tree Protocol,生成树协议)导致的大量冗余链路阻塞、网络收敛速度慢、无法实现流量工程等问题。这些问题限制了以太网的组网规模,不能适应正在兴起的云计算、大数据等业务的应用和创新。
[0003]图1示出了采用传统以太网交换机构建数据中心网络的典型组网架构。为避免环路引起广播风暴,交换机必须启用STP阻塞部分端口,导致网络链路利用率低下,同时还会产生以太网流量的非最优路径,如图中服务器11与服务器12的互通流量由于接入交换机之间的链路被阻塞,需绕转至汇聚交换机。

【发明内容】

[0004]本发明的发明人发现上述现有技术中存在问题,并因此针对所述问题中的至少一个问题提出了一种新的技术方案。
[0005]根据本发明的一方面,提出一种SDN (Software Defined Network,软件定义网络)交换机对以太网帧处理的方法,包括:
所述SDN交换机把本地学到的MAC地址转发表通告给集中控制器;
所述SDN交换机接收集中控制器下发的目的MAC地址对应转发端口的转发表;
所述SDN交换机收到来自用户侧端口或网络侧端口的以太网单播帧或组播帧,根据本地学到的MAC地址转发表和集中控制器下发的MAC地址转发表向对应的端口转发;
所述SDN交换机收到来自用户侧端口属于某个VLAN的以太网广播帧,向除网络侧端口外的所有属于同一个VLAN的用户侧端口广播;同时将该以太网广播帧直接转发到集中控制器,所述集中控制器根据预先定义的策略向其管理域指定SDN交换机转发以太网广播帧;
所述SDN交换机接收到集中控制器的以太网广播帧,若该广播帧没有携带VLAN ID信息,向交换机本地所有用户侧端口广播;若该广播帧携带VLAN ID信息,只向交换机本地所有对应VLAN ID的用户侧端口广播;
其中,所述SDN交换机的用户侧端口是指直连传统以太网交换机或用户终端的以太网端口,所述SDN交换机的网络侧端口是指直连SDN交换机的以太网端口。
[0006]进一步,所述SDN交换机收到的以太网单播帧或组播帧的目的MAC地址在转发表中未找到相应匹配项,则丢弃该以太网帧。
[0007]进一步,所述SDN交换机在设定的时间间隔内收到用户侧端口的多个相同的以太网广播帧,只向集中控制器发送一个以太网广播帧;
为防止大量以太网广播帧对集中控制器的冲击,所述SDN交换机在向集中控制器发送以太网广播帧时,能够控制以太网广播帧的发送速度。[0008]根据本发明的另一方面,还提出一种用于处理以太网帧的SDN交换机,包括:
状态监控单元,用于监控交换机节点及端口工作状态、端口链路连通性状态、端口链路带宽利用率情况;
配置及状态信息上报单元,用于设备重启回到工作状态时配置信息的上报,以及所述状态信息或状态变化的实时上报;
MAC地址本地学习单元,用于所述SDN交换机对来自用户侧端口的以太网帧的MAC地址学习,生成本地目的MAC地址与转发端口的对应关系表;
MAC地址通告单元,用于把本地学到的MAC地址实时通告给集中控制器;
MAC地址转发表接收单元,用于接收集中控制器下发的MAC地址转发表,并与本地学到的MAC地址转发表合并一起安装在对应的缓存中,供以太网帧目的MAC地址查找与匹配。
[0009]进一步,所述状态监控单元,还用于通过某种链路连通性快速检测机制实时监测端口链路的连通性能。
[0010]进一步,所述状态及配置信息上报单元对当前端口链路带宽利用率的变化范围与前一次上报的数据进行比较,若超过预设的阀值即时上报集中控制器。
[0011]进一步,所述配置信息包括设备ID、端口 ID、端口所属VLAN ID、端口链路代价;所述状态信息包括节点工作状态、端口 UP/D0WN状态、端口链路的连通性能、端口链路带宽利用率,所述集中控制器基于这些信息来实现网络拓扑自动发现和路由计算。
[0012]进一步,所述MAC地址本地学习单元根据接收到的用户侧端口以太网单播帧或广播帧的源MAC地址,生成本地目的MAC地址与转发端口的对应关系表;并且根据接收到的用户侧端口的IGMP组播请求帧,支持组播的交换机通过IGMP snooping学习组播MAC地址与端口的绑定关系,生成本地目的MAC地址与转发端口的对应关系表。
[0013]进一步,所述MAC地址通告单元只向集中控制器通告发生变化的MAC地址;当监测到某个用户侧端口的连通性中断时,应即时撤销通过此用户侧端口学到的MAC地址。
[0014]进一步,所述MAC地址转发表接收单元接收到集中控制器下发的目的MAC地址与转发端口的对应关系表,并把最新下发的转发表中单播目的MAC地址与原来安装的单播MAC地址转发表进行比较,若发现重复的单播MAC地址,则以最新的单播MAC地址转发表替换原来的单播MAC地址转发表。
[0015]根据本发明的另一方面,还提出一种用于以太网通信的系统,包括根据上述任一所述的SDN交换机,以及集中控制器;所述集中控制器包括:
SDN交换机配置及状态信息收集单元,用于收集管理域下各SDN交换机的配置及状态信息;
拓扑自动发现单元,用于根据所述SDN交换机配置及状态信息收集单元输入的信息,自动生成并维护一张动态的网络拓扑视图;
MAC地址接收单元,用于接收管理域下各SDN交换机通告的目的MAC地址;
路由计算单元,用于根据所述拓扑自动发现单元输入的网络拓扑视图,基于最短路径、链路负载或指定经由节点等策略,为管理域下各SDN交换机计算以太网帧转发路由,最终生成全网目的MAC地址与转发端口的转发信息表;
MAC地址转发表下发单元,用于把所述路由计算单元输出的各个SDN交换机的MAC地址转发表下发到管理域下各SDN交换机。[0016]进一步,所述集中控制器的MAC地址接收单元收到同一 MAC地址的多条通告时,以最新的MAC地址通告替换旧的MAC地址通告。
[0017]本发明提供的以太网通信方法和系统,由集中控制器向管理域中SDN交换机下发MAC地址转发表,避免了传统以太网交换机通过数据转发平面学习全网MAC地址的局限性,解决了传统以太网存在广播风暴、生成树协议导致的大量冗余链路阻塞、网络收敛速度慢、无法实现流量工程等问题。
[0018]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
[0019]
【专利附图】

【附图说明】
[0020]构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
[0021]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1示出了采用STP组建数据中心网络的典型架构。
[0022]图2是根据本发明的一种用于以太网通信系统的结构示意图。
[0023]图3是根据本发明的集中控制器根据端口链路代价计算路由示例图。
[0024]图4是根据本发明的集中控制器根据链路带宽利用率计算路由示例图。
[0025]图5是根据本发明的一种用于处理以太网帧的SDN交换机结构示意图。
[0026]图6是根据本发明的所述SDN交换机的MAC地址本地学习示例图。
[0027]图7是根据本发明的所述集中控制器根据路由策略向SDN交换机下发MAC地址转发表示例图。
[0028]图8是根据本发明的一种集中控制器结构示意图。
[0029]图9是根据本发明的终端位置改变时MAC地址通告更新示例图。
[0030]图10是根据本发明的所述SDN交换机对从用户侧端口接收以太网帧的处理流程。
[0031]图11是根据本发明的所述SDN交换机对从集中控制器接收以太网广播帧的处理流程。
[0032]图12是根据本发明的所述SDN交换机的工作流程。
[0033]
【具体实施方式】
[0034]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0035]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0036]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0037]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0038]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0039]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0040]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0041]图2是根据本发明的一方面的一种用于以太网通信系统的结构示意图。该系统包括集中控制器以及管理域下的SDN交换机。
[0042]集中控制器21通过南向接口同底层的4个SDN交换机实现通讯。为了实现集中控制器对底层网络拓扑的自动发现,SDN交换机需做一些初始配置,包括设备ID、端口 ID、端口所属的VLAN ID、端口链路代价,端口链路代价可以是链路带宽、传输延迟的函数,也可以根据策略定义。端口标识可采用多种实际可行方式,目的是方便集中控制器自动识别SDN交换机通过哪些端口连接其它SDN交换机,本实施例采用IP地址/子网掩码的方式来标识SDN交换机端口,同一 SDN交换机不同端口划分为不同的子网,若两个交换机的某个端口的子网相同,表示SDN交换机通过这两个端口相连。如图中SDN交换机22的端口 3的标识为192.168.1.1/30,SDN交换机23的端口 3的标识为192.168.1.2/30。集中控制器计算IP地址 192.168.1.1/30 属于 192.168.1.0 子网,IP 地址 192.168.1.2/30 也属于 192.168.1.0子网,据此可以确定SDN交换机22与SDN交换机23通过端口 3相连。
[0043]下面的示例性实施例详细说明所述集中控制器实现底层网络拓扑的自动发现功倉泛。
[0044]SDN交换机22配置的设备ID为S22,端口 I连接用户终端,配置为用户侧端口 1,端口 2和端口 3连接SDN交换机,配置为网络侧端口,端口 2的标识为192.168.1.5/30,端口 3的标识为192.168.1.1/30,并配置SDN交换机22的端口都属于同一个VLAN I。SDN交换机24配置的设备ID为S24,端口 2连接用户终端,配置为用户侧端口 2,端口 3和端口 4连接SDN交换机,配置为网络侧端口,端口 3的标识为192.168.1.10/30,端口 4的标识为192.168.1.13/30,并配置SDN交换机24的端口都属于同一个VLAN I。SDN交换机23配置的设备ID为S23,没有配置用户侧端口,端口 3和端口 4连接SDN交换机,配置为网络侧端口,端口 3的标识为192.168.1.2/30,端口 4的标识为192.168.1.14/30,并配置SDN交换机23的端口都属于同一个VLAN I。SDN交换机25配置的设备ID为S25,没有配置用户侧端口,端口 2和端口 3连接SDN交换机,配置为网络侧端口,端口 2的标识为192.168.1.6/30,端口 3的标识为192.168.1.9/30,并配置SDN交换机25的端口都属于同一个VLAN I。所述SDN交换机通过配置的管理IP地址与集中控制器进行通信。
[0045]当所述SDN交换机重启到工作状态时,分别向所述集中控制器上报配置信息和端口状态信息。集中控制器根据收集得到的所有底层交换机的配置和状态信息,可以自动发现底层的网络拓扑与实际的物理连接是完全吻合的。
[0046]下面的示例性实施例详细说明所述集中控制器根据网络拓扑来实现基于策略的
路由计算。
[0047]参见图3所示。所述SDN交换机22为网络侧端口 2配置的端口链路代价Cost=I,为网络侧端口 3配置的端口链路代价cost=2 ;所述SDN交换机23为网络侧端口 3配置的端口链路代价cost=2,为网络侧端口 4配置的端口链路代价cost=2 ;所述SDN交换机24为网络侧端口 3配置的端口链路代价cost=l,为网络侧端口 4配置的端口链路代价cost=2 ;所述SDN交换机25为网络侧端口 2配置的端口链路代价cost=l,为网络侧端口 3配置的端口链路代价Cost=I。集中控制器根据所述SDN交换机各端口的链路代价,基于自定义策略,比如最短路径策略,为SDN交换机22到SDN交换机24的以太网帧选择经由SDN交换机25的路径。
[0048]参见图4所示。所述集中控制器还可以根据SDN交换机上报的各端口链路带宽利用率,基于各链路负载情况选择路由。所述SDN交换机22实时上报网络侧端口 2的链路带宽利用率为80%,网络侧端口 3的链路带宽利用率为20% ;所述SDN交换机23实时上报网络侧端口 3的链路带宽利用率为20%,网络侧端口 4的链路带宽利用率为20% ;所述SDN交换机24实时上报网络侧端口 3的链路带宽利用率为80%,网络侧端口 4的链路带宽利用率为20% ;所述SDN交换机25实时上报网络侧端口 2的链路带宽利用率为80%,网络侧端口 3的链路带宽利用率为80%。集中控制器根据各SDN交换机端口链路负载情况,为SDN交换机22到SDN交换机24的以太网帧选择经由SDN交换机23的路径。
[0049]所述集中控制器还可以基于指定经由节点为特定的以太网数据流选择路由。如集中控制器为所述SDN交换机22发送的源MAC地址为MACl的以太网帧选择经由SDN交换机25的路径,为所述SDN交换机22发送的源MAC地址为MAC2的以太网帧选择经由SDN交换机23的路径。
[0050]图5是根据本发明一方面的一种用于处理以太网巾贞的SDN交换机结构不意图。所述SDN交换机结构包括:状态监控单元51、配置及状态信息上报单元52、MAC地址本地学习单元53、MAC地址通告单元54、MAC地址转发表接收单元55。其中:
状态监控单元51,用于监控交换机节点及端口工作状态、端口链路连通性状态、端口链路带宽利用率情况。监控交换机节点状态包括节点掉电、重启、正常工作或非正常工作、CPU及存储利用率等;监控交换机端口工作状态包括端口的UP/D0WN、端口正常或异常;监控端口链路连通性状态主要通过某种链路连通性快速检测机制实时监测端口链路的连通性能,如BFD (Bidirectional Forwarding Detection,双向转发检测)或以太网OAM ;实时监控端口链路带宽利用率的变化情况。当然,这里只是用于举例,不应理解为对本发明的限制。
[0051]配置及状态信息上报单元52,用于设备重启后工作状态时配置信息的上报,以及所述状态信息或状态变化的实时上报。所述配置信息包括设备ID、端口 ID、端口所属VLANID、端口链路代价;所述状态信息包括节点工作状态、端口 UP/D0WN状态、端口链路的连通性能、端口链路带宽利用率,所述集中控制器基于这些信息来实现网络拓扑自动发现和路由计算。所述状态信息的实时上报还包括上述节点、端口、链路连通性发生变化时立即上报给集中控制器,以及持续监测端口链路带宽利用率的变化情况,并将其变化范围与前一次上报的数据进行比较,若超过预设的阀值立即上报集中控制器。状态信息的实时上报有利于集中控制器动态发现网络拓扑的变化,根据拓扑的变化重新计算路由。参见图3所示,假设所述SDN交换机22监控到网络侧端口 2与SDN交换机25的链路连通性发生了中断,SDN交换机22应立即上报集中控制器,集中控制器据此重新计算路由,为SDN交换机22到SDN交换机24的以太网帧选择经由SDN交换机23的路径。又假设所述SDN交换机22监控到网络侧端口 2的链路带宽利用率比上次上报的数值变化了 10%,SDN交换机22也应立即上报集中控制器,便于集中控制器及时调整路由。
[0052]MAC地址本地学习单元53,用于所述SDN交换机对来自用户侧端口的以太网帧的MAC地址学习,生成本地目的MAC地址与转发端口的对应关系表。当所述SDN交换机收到本地用户侧端口的以太网单播帧或广播帧,解析所述以太网帧的源MAC地址,生成本地目的MAC地址与转发端口的对应关系表;当所述SDN交换机收到本地用户侧端口的IGMP组播请求帧,若交换机支持IGMP snooping功能,通过解析所述IGMP组播请求帧中的目的组播MAC地址,学习组播MAC地址与端口的绑定关系,同样生成本地目的MAC地址与转发端口的对应关系表。因此,所述SDN交换机生成的本地MAC地址转发表同时包含目的单播和组播MAC地址与转发端口的对应关系表。参见图6所示,SDN交换机22通过用户侧端口 I学习用户终端I的MAC地址;同时,这个用户终端还是组播节目的接收者,该终端向特定组播组发送的IGMP请求时,支持IGMP snooping的SDN交换机22还学到组播MAC地址与端口的绑定关系,最终生成本地单播和组播MAC混合转发表。
[0053]MAC地址通告单元54,用于把本地MAC地址学习单元生成的目的MAC地址实时通告给集中控制器。MAC地址通告单元发送的MAC地址通告消息包含发送通告的SDN交换机设备ID、被通告的MAC地址列表等信息。MAC地址通告消息分为两类:MAC地址可达消息和MAC地址撤销消息。MAC地址可达消息用于所述SDN交换机对本地学到的MAC地址的实时通告,MAC地址撤销消息用于撤销先前已通告MAC地址。参见图6所示,SDN交换机22把本地学到的单播和组播MAC地址实时通告给集中控制器,SDN交换机24也把本地学到的单播MAC地址转发表实时通告给集中控制器。当SDN交换机22监测到用户侧端口 I的连通性中断时,应立即向集中控制器撤销从用户侧端口学到的单播和组播MAC地址。集中控制器基于撤销的MAC地址向SDN交换机23、24、25更新受影响的MAC地址转发表。
[0054]MAC地址转发表接收单元55,用于接收集中控制器下发的MAC地址转发表,并与本地学到的MAC地址转发表合并一起安装在对应的缓存中,供以太网帧目的MAC地址查找与匹配。参见图7所示,所述集中控制器根据SDN交换机22和SDN交换机24通告的MAC地址转发表,并基于最短路径算法,分别向SDN交换机22下发MAC地址转发表为MAC2 --端口2,向SDN交换机24下发MAC地址转发表为MACl:端口 3,向SDN交换机25下发MAC地址转发表为MACl:端口 2和MAC2:端口 3,向SDN交换机23下发MAC地址转发表为组播MAC:端口 3。最终,用户终端I和用户终端2之间的以太网数据流经过SDN交换机25转发,组播服务器播放的组播流从SDN交换机23的端口 3转发到SDN交换机22。
[0055]图8是根据本发明另一方面的一种集中控制器结构示意图。所述集中控制器结构包括:SDN交换机配置及状态信息收集单元81、拓扑自动发现单元82、MAC地址接收单元83、路由计算单元84、MAC地址转发表下发单元85。
[0056]SDN交换机配置及状态信息收集单元81,用于收集管理域下各SDN交换机的配置及状态信息;拓扑自动发现单元82,用于根据所述SDN交换机配置及状态信息收集单元输入的信息,自动生成并维护一张动态的网络拓扑视图;MAC地址接收单元83,用于接收管理域下各SDN交换机通告的目的MAC地址;路由计算单元84,用于根据所述拓扑自动发现单元输入的网络拓扑视图,基于最短路径、链路负载或指定经由节点等策略,为管理域下各SDN交换机计算以太网帧转发路由,最终生成全网目的MAC地址与转发端口的转发信息表FIB ;MAC地址转发表下发单元85,用于把所述路由计算单元输出的各个SDN交换机的MAC地址转发表下发到管理域下各SDN交换机。
[0057]当所述集中控制器的MAC地址接收单元收到同一 MAC地址的多条通告时,以最新的MAC地址通告替换旧的MAC地址通告。参见图9所示,当数据中心的虚拟机VMl从SDN交换机22的用户侧端口 I迁移到SDN交换机23的用户侧端口 I时,此时,SDN交换机23在本地学到VMl的MAC地址,并向集中控制器通告,所述集中控制器应以来自SDN交换机23的MAC通告替换旧的来自SDN交换机22的MAC通告。这样才能向底层SDN交换机下发正确的MAC地址转发表。此时,集中控制器向SDN交换机22下发的MAC地址转发表包含VMl的MAC地址:端口 3的表项,SDN交换机22把最新下发的转发表中VMl的MAC地址与所述SDN交换机本地学习到的VMl的MAC地址进行比较,发现VMl的MAC地址重复,则剔除掉本地学习到的VMl的MAC地址。同样,SDN交换机24和25的MAC地址转发表也要做相应修改。
[0058]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明所述SDN交换机对以太网帧处理的方法及SDN交换机的工作流程做进一步详细说明。
[0059]图10是根据本发明的一方面的所述SDN交换机对从用户侧端口接收以太网帧的处理流程。
[0060]步骤101,所述SDN交换机从用户侧端口接收携带VLAN ID的以太网帧。
[0061]步骤102,所述SDN交换机对接收的以太网帧进行判断并做相应处理:
A.若接收的以太网帧为广播帧,转至
步骤103,所述SDN交换机将该以太网广播帧向本地具有相同VLAN ID的用户侧端口转
发;
步骤104,同时,还将该以太网广播帧向集中控制器发送,若在设定时间内收到多个相同的以太网广播帧,只向集中控制器发送一个广播帧;
B.若接收的以太网帧为单播或组播帧,转至
步骤105,所述SDN交换机在MAC地址转发表查找相应匹配项,若以太网帧的目的MAC地址在MAC地址转发表找到相应匹配项,转至步骤106 ;否则,转至步骤107:
步骤106,所述SDN交换机将所述以太网单播或组播帧向对应端口转发;
步骤107,所述SDN交换机丢弃此以太网单播或组播帧。
[0062]图11是根据本发明的一方面的所述SDN交换机对从集中控制器接收以太网广播帧的处理流程。
[0063]步骤111,所述SDN交换机从集中控制器接收以太网广播帧。
[0064]步骤112,所述SDN交换机对接收的以太网帧进行相应处理:
若所述以太网广播帧携带VLAN ID,则转至步骤113,向本地相同VLAN ID的用户侧端口转发;
若所述以太网广播帧不携带VLAN ID,则转至步骤114,向本地所有用户侧端口转发。
[0065]参见图7所示,所述集中控制器基于最短路径算法,分别向SDN交换机22下发MAC地址转发表为MAC2:端口 2,向SDN交换机24下发MAC地址转发表为MACl:端口 3,向SDN交换机25下发MAC地址转发表为MACl:端口 2和MAC2:端口 3,向SDN交换机23下发MAC地址转发表为组播MAC:端口 3。
[0066]当SDN交换机22收到来自用户侧端口 I的目的MAC地址为MAC2的以太网单播帧时,根据本地学到的MAC地址转发表和下发的MAC地址转发表,由于转发表中存在MAC2对应端口 2的转发表项,SDN交换机22应把目的MAC地址为MAC2的以太网单播帧向端口 2转发。此时SDN交换机25收到来自端口 2的目的MAC地址为MAC2的以太网单播帧,由于转发表中存在MAC2对应端口 3的转发表项,SDN交换机25应把目的MAC地址为MAC2的以太网单播帧向端口 3转发。此时SDN交换机24收到来自端口 3的目的MAC地址为MAC2的以太网单播帧,由于本地转发表中存在MAC2对应用户侧端口 2的转发表项,SDN交换机24应把目的MAC地址为MAC2的以太网单播帧向用户侧端口 2转发,最终用户终端2收到用户终端I发送的单播以太网帧。
[0067]按照同样的转发方式,用户终端2向用户终端I发送的以太网单播帧首先经由SDN交换机24的端口 3转发到SDN交换机25,SDN交换机25根据转发表的匹配规则,把目的MAC地址为MACl的以太网单播帧经由端口 2转发到SDN交换机22,SDN交换机22查找本地转发表,然后把对应的以太网帧向用户侧端口 I转发,最终用户终端I收到用户终端2发送的单播以太网帧。
[0068]当连接在SDN交换机23的用户侧端口 I的组播服务器播放组播节目时,由于SDN交换机23的转发表中存在组播MAC对应端口 3的转发表项,SDN交换机23应把目的MAC地址为组播MAC的以太网组播帧经由端口 3转发到SDN交换机22,SDN交换机22查找本地转发表,把以太网组播帧向用户侧端口 I转发,最终由用户终端I接收到组播流。
[0069]假设图中4个交换机的所有端口都配置为VLAN I。当所述SDN交换机22收到来自用户侧端口 I携带VLAN I的以太网广播帧,只向本地用户侧端口广播,不向网络侧端口2和端口 3广播;同时将该以太网广播帧直接转发到集中控制器,所述集中控制器根据预先定义的策略向其管理域中配置用户侧端口的的SDN交换机23和SDN交换机24转发以太网广播帧;
SDN交换机接收到集中控制器的以太网广播帧,因该广播帧携带VLAN I信息,只向交换机本地所有对应VLAN I的用户侧端口广播。
[0070]当所述SDN交换机收到的以太网单播帧或组播帧的目的MAC地址在转发表中未找到相应匹配项,则丢弃该以太网帧。
[0071 ] 当所述SDN交换机在设定的时间间隔如I秒内收到用户侧端口的多个相同的以太网广播帧,只向集中控制器发送一个以太网广播帧。
[0072]图12是根据本发明的一方面的所述SDN交换机的工作流程。
[0073]步骤121,所述SDN交换机重启后回到工作状态。
[0074]步骤122,所述SDN交换机向集中控制器上报配置及状态信息。
[0075]步骤123,所述SDN交换机进行本地MAC地址学习并向集中控制器通告。
[0076]步骤124,所述SDN交换机接收集中控制器下发的MAC地址转发表。
[0077]步骤125,所述SDN交换机根据本地MAC地址转发表和集中控制器下发的MAC地址转发表对以太网帧进行转发和丢弃处理。
[0078]至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
[0079]可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
[0080]虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
【权利要求】
1.一种SDN交换机对以太网帧处理的方法,其特征在于,包括: 所述SDN交换机把本地学到的MAC地址转发表通告给集中控制器; 所述SDN交换机接收集中控制器下发的目的MAC地址对应转发端口的转发表; 所述SDN交换机收到来自用户侧端口或网络侧端口的以太网单播帧或组播帧,根据本地学到的MAC地址转发表和集中控制器下发的MAC地址转发表向对应的端口转发; 所述SDN交换机收到来自用户侧端口属于某个VLAN的以太网广播帧,向除网络侧端口外的所有属于同一个VLAN的用户侧端口广播;同时将所述以太网广播帧直接转发到集中控制器,所述集中控制器根据预先定义的策略向其管理域指定SDN交换机转发此以太网广播中贞; 所述SDN交换机接收到集中控制器的以太网广播帧,若该广播帧没有携带VLAN ID信息,向交换机本地所有用户侧端口广播;若该广播帧携带VLAN ID信息,只向交换机本地所有对应VLAN ID的用户侧端口广播; 其中,所述SDN交换机的用户侧端口是指直连传统以太网交换机或用户终端的以太网端口,所述SDN交换机的网络侧端口是指直连SDN交换机的以太网端口。
2.根据权利要求1所述SDN交换机对以太网帧处理的方法,其特征在于,还包括: 所述SDN交换机收到的以太网单播帧或组播帧的目的MAC地址在转发表中未找到相应匹配项,则丢弃该以太网帧。
3.根据权利要求1所述SDN交换机对以太网帧处理的方法,其特征在于,还包括: 所述SDN交换机在设定的时间间隔 内收到用户侧端口的多个相同的以太网广播帧,只向集中控制器发送一个以太网广播帧; 为防止大量以太网广播帧对集中控制器的冲击,所述SDN交换机在向集中控制器发送以太网广播帧时,能够控制以太网广播帧的发送速度。
4.一种用于处理以太网帧的SDN交换机,其特征在于,包括: 状态监控单元,用于监控交换机节点及端口工作状态、端口链路连通性状态、端口链路带宽利用率情况; 配置及状态信息上报单元,用于设备重启回到工作状态时配置信息的上报,以及所述状态信息或状态变化的实时上报; MAC地址本地学习单元,用于所述SDN交换机对来自用户侧端口的以太网帧的MAC地址学习,生成本地目的MAC地址与转发端口的对应关系表; MAC地址通告单元,用于把本地学到的MAC地址实时通告给集中控制器; MAC地址转发表接收单元,用于接收集中控制器下发的MAC地址转发表,并与本地学到的MAC地址转发表合并一起安装在对应的缓存中,供以太网帧目的MAC地址查找与匹配。
5.根据权利要求4所述SDN交换机,其特征还在于,所述状态及配置信息上报单元对当前端口链路带宽利用率的变化范围与前一次上报的数据进行比较,若超过预设的阀值即时上报集中控制器。
6.根据权利要求4所述SDN交换机,其特征在于,所述配置信息包括设备ID、端口ID、端口所属VLAN ID、端口链路代价;所述状态信息包括节点工作状态、端口 UP/DOWN状态、端口链路的连通性能、端口链路带宽利用率,所述集中控制器基于这些信息来实现网络拓扑自动发现和路由计算。
7.根据权利要求4所述SDN交换机,其特征在于,所述MAC地址本地学习单元根据接收到的用户侧端口以太网单播帧或广播帧的源MAC地址,生成本地目的MAC地址与转发端口的对应关系表;并且根据接收到的用户侧端口的IGMP组播请求帧,支持组播的交换机通过IGMP snooping学习组播MAC地址与端口的绑定关系,生成本地组播目的MAC地址与转发端口的对应关系表。
8.根据权利要求4所述SDN交换机,其特征在于,所述MAC地址通告单元只向集中控制器通告发生变化的MAC地址;当监测到某个用户侧端口的连通性中断时,应即时撤销通过此用户侧端口学到的MAC地址。
9.根据权利要求4所述SDN交换机,其特征在于,所述转发表接收单元接收到集中控制器下发的目的MAC地址与转发端口的对应关系表,并把最新下发的转发表中单播目的MAC地址与原来安装的单播MAC地址转发表进行比较,若发现重复的单播MAC地址,则以最新的单播MAC地址转发表替换原来的单播MAC地址转发表。
10.一种用于以太网通信的系统,其特征在于,所述系统包括: 根据权利要求4至9任一项所述SDN交换机,以及集中控制器;所述集中控制器包括: SDN交换机配置及状态信息收集单元,用于收集管理域下各SDN交换机的配置及状态信息; 拓扑自动发现单元,用于根据所述SDN交换机配置及状态信息收集单元输入的信息,自动生成并维护一张动态的网络拓扑视图; MAC地址接收单元,用于接收管理域下各SDN交换机通告的目的MAC地址; 路由计算单元,用于根据所 述拓扑自动发现单元输入的网络拓扑视图,基于最短路径、链路负载或指定经由节点等策略,为管理域下各SDN交换机计算以太网帧转发路由,最终生成全网目的MAC地址与转发端口的转发信息表; MAC地址转发表下发单元,用于把所述路由计算单元输出的各个SDN交换机的MAC地址转发表下发到管理域下各SDN交换机。
11.根据权利要求10所述的系统,其特征在于,所述集中控制器的MAC地址接收单元收到同一 MAC地址的多条通告时,以最 新的MAC地址通告替换旧的MAC地址通告。
【文档编号】H04L12/931GK103888369SQ201410142137
【公开日】2014年6月25日 申请日期:2014年4月10日 优先权日:2014年4月10日
【发明者】不公告发明人 申请人:何顺民
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1