具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种选择路径的方法,该方法应用于包括接入设备和汇聚设备的组网中的任一设备上,该设备获得组网中各下游接入设备的拓扑信息,为所述各下游接入设备建立纵向组合聚合组,并将本设备可达所述各下游接入设备的端口加入到为各下游接入设备建立的纵向组合聚合组中。在接收到需要发送任一下游接入设备的单播报文时,通过为该接入设备建立的纵向组合聚合组中的端口转发该单播报文;若该纵向组合聚合组中包括多个端口,通过负载均衡算法选择一个端口转发该单播报文,能够使各设备的下行链路的流量均衡。
本发明具体实施例中的组网包含接入设备和汇聚设备,其中,汇聚设备可以为单一的一个汇聚设备,也可以为一个堆叠设备。堆叠设备中的成员设备之间通过堆叠链路相连。该堆叠设备下接的各同级接入设备之间横向无连接。
本发明的具体实施例应用在包含接入设备和汇聚设备的纵向组合组网中,因此,汇聚设备在向直连的设备通告设备信息时,如果与其他网络中的设备直连,不会通告,只会通告其所在组网中的直连的设备。
该组网的拓扑为从上向下的交叉树形结构,在本发明的具体实施例中称为纵向组合组网。该组网中的多级设备纵向连接,同级接入设备无横向连接,即树形结构;各级接入设备可多归属连接到多个上一级设备,即树的分支可交叉。当然,该组网中也包含一些直接连接到一个上一级设备的接入设备,因此,本发明具体实施例中的纵向组合组网中至少存在一个接入设备多归属连接到多个上一级接入设备,即跨设备聚合到多个接入设备。
优选地,该组网中除汇聚设备为堆叠设备,其成员设备之间为堆叠链路的情况之外,其他设备之间的连接链路上,即接入设备和接入设备之间,汇聚设备与接入设备之间都使用普通的以太网封装报文进行通信,不增加额外的封装头,既避免了对设备硬件的要求,又避免了额外封装头带来的带宽浪费。在具体实现时,也可以通过私有定制的报文格式进行通信。
该组网中各直连设备之间互相通告设备信息,通告的设备信息包括本设备的设备标识和发送该通告的端口的端口标识。各设备接收到直连设备通告的设备信息,获得各直连设备的设备信息,获得的任一直连设备的设备信息包括:该直连设备的标识、该直连设备通告设备信息的端口的端口标识、以及接收该直连设备通告设备信息的端口的端口标识。其中,设备标识可为各设备的MAC地址。
如果组网中的汇聚设备为堆叠设备,堆叠设备中的各成员设备之间通过堆叠链路通告设备信息。
仍以图2为例,图2中各直连设备之间互相通告设备信息,以成员设备A为例,向直连设备L1接入设备A和L1接入设备B发送成员设备A的设备信息,接收L1接入设备A和L1接入设备B发送的各自的设备信息,参见表1,表1为成员设备A获得其直连设备的设备信息包含的内容。
成员设备A端口标识 |
直连设备标识 |
直连设备端口标识 |
A-3 |
L1接入设备B |
L1-B-11 |
A-1 |
L1接入设备A |
L1-A-11 |
A-2 |
L1接入设备A |
L1-A-12 |
表1
汇聚设备确定本汇聚设备的级数为最高级,并根据获得的各直连设备的设备信息向其直连设备通告本汇聚设备的级数,使各接入设备确定所述接入设备的级数。汇聚设备中各成员设备具有相同的级数。
该汇聚设备向其直连设备通告本汇聚设备的级数,使所述直连设备确定本直连设备的级数为,接收到的通告的最高级数再减一级,并将本直连设备确定的级数通告给其直连设备,直到该组网中所有接入设备确定自身的级数。
参见图2,图2为多级接入设备的纵向组网示意图,汇聚设备中的各成员设备向其直连设备周期通告本设备的级数为最高级。
L1接入设备A接收到该通告时,将级数减一级作为本设备的级数,则确定本设备为次高级,确定本设备的级数后,再向直连设备通告本设备的级数。如L2接入设备A接收到后,确定本设备的级数低于L1接入设备的A的级数一级,并向直连设备通告本设备的级数。这样L1接入设备A会接收到成员设备A通告的级数,也会接收到L2接入设备A和L2接入设备B通告的级数,因此,任一接入设备在接收到同一周期内多个设备通告的级数时,将通告的最高级数再减一级作为本接入设备的级数。
其他接入设备通过与上述类似的过程确定本设备的级数,图2中组网中各设备最终确定的级数为:成员设备A和成员设备B为一个堆叠设备,确定为最高级数的设备,L1接入设备A、L1接入设备B和L1接入设备C确定为次高级数的设备;L2接入设备A、L2接入设备B和L2接入设备C确定为次低级数的设备;L3接入设备A和L3接入设备B确定为最低级数的设备。
汇聚设备向下一级邻居设备直连设备发送拓扑信息收集指令报文,下一级邻居设备直连设备收到后再向所述下一级邻居设备直连设备的下一级邻居设备直连设备转发,直到最低级数的接入设备。最低级接入设备接收到拓扑信息收集指令后,向汇聚设备发送拓扑信息收集指令应答报文,该拓扑信息收集指令应答报文在向汇聚设备转发时,所经接入设备时,将各接入设备在该报文所经路径上的设备信息添加到该拓扑信息收集指令应答报文中,同时,也记录该拓扑信息收集指令应答报文中携带的下游接入设备的拓扑信息。汇聚设备接收最低级数设备发送的拓扑信息收集指令应答报文,该拓扑信息收集指令应答报文携带其所经接入设备在该拓扑信息收集指令应答报文所经路径上的拓扑信息,从而获得该网络中的所有接入设备的拓扑信息。
任一接入设备的拓扑信息包括:该接入设备的上、下行端口的端口标识和该接入设备的设备标识。其中,所述拓扑信息中的上行端口的端口标识为该接入设备发送该拓扑信息收集指令应答报文的上行端口的端口标识,下行端口的端口标识为该接入设备接收该拓扑信息收集指令应答报文的下行端口的端口标识;若本接入设备为该组网中最低级数的接入设备,所述拓扑信息中的下行端口的端口标识为空。
通过上述拓扑收集过程,汇聚设备对整个纵向组合组网的拓扑是完全可见的,汇聚设备就可以建立与各设备之间的管理通道,对该组网进行拓扑管理。
图2中的各接入设备接收到该拓扑信息收集指令报文后,确定本设备如果还存在下一级接入设备,则向下一级接入设备转发该拓扑信息收集指令报文;否则,向上游设备发送拓扑信息收集指令应答报文,并携带该接入设备的拓扑信息。
以L3接入设备A为例,分别向L2接入设备A和L2接入设备B发送拓扑信息收集指令应答报文,向L2接入设备A发送的拓扑信息收集指令应答报文携带的拓扑信息为:上行口标识为L3-A-11,下行口标识为空,L3接入设备A的MAC地址。向L2接入设备B发送的拓扑信息收集指令应答报文携带的拓扑信息为:上行口标识为L3-A-12、下行口标识为空、L3接入设备A的MAC地址。
L2接入设备A接收到后,获得其下游接入设备的拓扑信息,并将本设备的拓扑信息携带在接收的拓扑信息收集指令应答报文分别发送给L1接入设备A和L1接入设备B,以此类推,直到汇聚设备接收到所有的拓扑信息收集指令应答报文,获得整个网络中的各接入设备的拓扑信息。
成员设备A和目的服务器之间有三级接入设备,成员设备A到端口a和端口b的纵向组合组网的拓扑路径不能唯一确定,即成员设备A到端口a和端口b都有多条路径,因此,通过图1的实现方式,仅获知包含端口a和端口b的UNI聚合组的信息不能完成图2中的组网中的选路。
实施例一
参见图3,图3为本发明实施例一中路径选择方法流程示意图。具体步骤为:
步骤301,组网中任一设备获得各下游接入设备的拓扑信息,为所述各下游接入设备建立纵向组合聚合组,并将本设备可达所述各下游接入设备的端口加入到为各下游接入设备建立的纵向组合聚合组中。
本步骤中,为所述各下游接入设备建立纵向组合聚合组包括纵向组合物理聚合组和纵向组合逻辑聚合组,纵向组合物理聚合组包含的端口为本设备与直连的同一接入设备相连的端口,纵向组合逻辑聚合组包含的端口为本设备与直连的不同接入设备相连的端口。
本步骤为所述各下游接入设备建立纵向组合聚合组,并将本设备可达所述各下游接入设备的端口加入到为各下游接入设备建立的纵向组合聚合组中,具体实现时包括:
该设备为直连的任一下游接入设备建立的纵向组合聚合组为纵向组合物理聚合组,将本设备可达该直连的接入设备的端口加入到该纵向组合物理聚合组。
该设备对于非直连的任一下游接入设备,若本设备可达该非直连的接入设备的端口的组合,同为直连的任一下游接入设备建立的纵向组合物理聚合组相同,则为该非直连的下游设备建立纵向组合物理聚合组,将本设备可达该非直连的接入设备的端口加入到该纵向组合物理聚合组;
若本设备可达该非直连的接入设备的端口的组合,不同于为直连的任一下游接入设备建立的纵向组合物理聚合组,则为该非直连的下游设备建立纵向组合逻辑聚合组,将本设备可达该非直连的接入设备的端口加入到该纵向组合逻辑聚合组。
若本设备为汇聚设备,且该汇聚设备为堆叠设备,堆叠设备中的成员设备为下游接入设备建立纵向组合物理聚合组或纵向组合逻辑聚合组中,如果可达端口中存在堆叠端口,且存在本地物理端口,则不将堆叠端口加入为该下游接入设备建立的纵向组合物理聚合组或纵向组合逻辑聚合组中;如果可达端口中仅存在堆叠端口,则将该堆叠端口加入为可下游接入设备建立的纵向组合物理聚合组或纵向组合逻辑聚合组中。
以图2中成员设备A为例,基于上述的建立纵向组合聚合组原则,为直连的L1接入设备A建立纵向组合物理聚合组L1A,将端口A-1和端口A-2加入该纵向组合物理聚合组L1A;为直连的L1接入设备B建立纵向组合物理聚合组L1B,将端口A-3加入该纵向组合物理聚合组L1B。成员设备A为非直连的L1接入设备C建立纵向组合物理聚合组L1C,将堆叠口A-4加入该纵向组合物理聚合组L1C。为非直连的L2接入设备A建立纵向组合逻辑聚合组来L2A,将端口A-1、端口A-2和端口A-3加入到该纵向组合逻辑聚合组L2A。类似地,为组网中的其他接入设备建立纵向组合逻辑聚合组或纵向组合物理聚合组。
对于图2中的接入设备为下游接入设备同样创建纵向组合物理聚合组或纵向组合逻辑聚合组。同汇聚设备不同的是,接入设备不存在堆叠端口。本发明具体实施例中为各接入设备建立纵向组合聚合组,均为本设备可达该接入设备时才建立,如果与某个接入设备不存在可达的端口,则不需要建立。
该设备在为非直连的下游接入设备建立纵向组合物理聚合组或纵向组合逻辑聚合组时,若本地已存在与需要建立的端口组相同的纵向组合物理聚合组或纵向组合逻辑聚合组时,直接将已建立的纵向物理聚合组或纵向组合逻辑聚合组,作为为该非直连的下游接入设备建立的纵向组合物理聚合组或纵向组合逻辑聚合组,不再重新建立。具体实现时,可以为建立的纵向组合物理聚合组和纵向组合逻辑聚合组分配聚合组标识,为建立相同的纵向组合物理聚合组或纵向组合逻辑聚合组的设备分配同一聚合组标识实现。
步骤302,该设备需要向下游设备发送单播报文时,若该单播报文的目的MAC地址为该组网中本设备的下游接入设备的MAC地址,则通过为该接入设备建立的纵向组合聚合组中的端口转发该单播报文;若该纵向组合聚合组中包括多个端口,通过负载均衡算法选择一个端口转发该单播报文。
本设备需要向任一接入设备转发单播报文时,根据为该接入设备建立的纵向组合聚合组中的端口转发。图2中如果成员设备A需要转发的单播报文的目的MAC地址为L1接入设备A的MAC地址,通过为L1接入设备A建立的纵向组合聚合组L1A中的端口转发,由于存在端口A-1和端口A-2,因此,通过负载均衡算法选择一个端口转发,负载均衡算法由具体实施者根据具体使用环境进行配置,如哈希算法等。
实施例二
本发明具体实施例中UNI包括除汇聚设备和接入设备之间相连的端口、以及接入设备和接入设备之间相连的端口之外的端口,如,同用户网络中的服务器连接的端口,同用户网络中的同交换机或路由器相连的端口等,这里我们统一称为用户设备。本发明在具体实施例中为了描述方便,均以通过UNI接收到服务器发送的数据报文为例,即学习到服务器的MAC地址为例,进行举例说明,其他情况处理方式相同。
组网中的任一设备为存在聚合的UNI的下游接入设备创建UNI聚合组,任一UNI聚合组中包含连接同一服务器的UNI,该UNI聚合组中存在多个UNI不属于同一个接入设备。即该UNI聚合组中的端口属于两个或两个以上的接入设备,当然,其中,某些UNI也可以属于同一接入设备。
该设备为该UNI聚合组中的各UNI所在的接入设备的组合建立纵向组合物理聚合组或纵向组合逻辑聚合组,并将本设备可达所述接入设备的组合中的各接入设备的端口加入到为所述接入设备的组合建立的纵向组合物理聚合组或纵向组合逻辑聚合组中。若为UNI聚合组中的各UNI所在的接入设备的组合建立的纵向组合物理聚合组或纵向组合逻辑聚合组已存在,则直接引用已建立的纵向组合物理聚合组或纵向组合逻辑聚合组。
在具体实现时,本设备为下游的任一接入设备或接入设备的组合建立的纵向组合聚合组可能是纵向组合物理聚合组,也可能是纵向组合逻辑聚合组。主要看本设备到达该接入设备或该接入设备的组合的,物理端口与几个邻居下游接入设备相连,如果仅与一个下游邻居接入设备相连,则为该接入设备或该接入设备的组合建立的纵向组合聚合组为纵向组合物理聚合组;如果与两个或两个以上的下游邻居接入设备相连,则为该接入设备或该接入设备的组合建立的纵向组合聚合组为纵向组合逻辑聚合组。
图2中以成员设备A为例,建立UNI聚合组1,该聚合组包含端口a和端口b。UNI聚合组1中包含的端口a和端口b属于不同接入设备,且分别为L3接入设备A和L3接入设备B,因此为L3接入设备A和L3接入设备B的组合建立纵向组合逻辑聚合组,该纵向组合逻辑聚合组包含的端口为端口A-1、端口A-2和端口A-3。
图2中各接入设备如果其可达的下游接入设备存在聚合UNI,也进行与成员设备A类似的处理。对于组网中的最低级数的接入设备,只需配置本地的UNI聚合组即可,不需要再配置纵向组合聚合组。
组网中的各设备已获知下游接入设备的拓扑结构,已经知道各接入设备的MAC地址和对应出端口,在接收源MAC为各接入设备的数据报文时不需要进行源MAC地址学习。但是如果接入设备挂接了服务器,则接收到各服务器发送的数据报文需要进行源MAC地址学习,并且由于组网的拓扑为交叉树行结构,仅仅依靠对服务器发送的数据报文的源MAC地址的学习,可能会导致某些单播报文被广播发送,或者下行流量从单一端口发送,导致下行流量不均匀的问题,因此,本发明具体实施例中不仅对服务器发送数据报文进行源MAC地址学习,并且在存在UNI的接入设备学习到服务器的MAC地址时,向上游设备同步学习到的服务器的MAC地址,使上游设备也能学习到该服务器的MAC地址。
在本发明的具体实施例中通过下游设备发送的通告报文学习服务器的MAC地址,优先于通过接收到的数据报文进行的源MAC地址学习。即如果本地已通过通告报文学习到某一个服务的MAC地址时,再接收到源MAC地址为该MAC地址的数据报文时,不进行源MAC地址学习;如果本地已经通过数据报文学习到某服务器的MAC地址时,再接收到下游设备发送的通告报文时,对通告报文中通告的该服务器的MAC地址进行学习,并覆盖通过数据报文进行源MAC地址学习所得的结果。
下面结合附图,详细描述通过数据报文和通告报文对服务器的MAC地址的学习过程。
参见图4,图4为本发明实施例二中通过通告报文对服务器的MAC地址的学习流程示意图。具体步骤为:
步骤401,组网中任一设备接收其下游接入设备发送的,且携带学习到UNI上的服务器的MAC地址的通告报文时。通过所述通告报文携带的UNI标识在本地匹配对应的UNI聚合组。
组网中任一接入设备如果存在UNI,首先需要配置一个组播MAC地址,并将本接入设备的上行端口配置为该组播MAC地址的成员端口。
该接入设备在通过UNI接收到服务器发送的数据报文时,对接收的数据报文的源MAC地址进行学习,并向上游设备发送通告报文,该通告报文携带服务器的MAC地址。如果通过聚合的UNI接收到的数据报文,即通告的服务器的MAC地址学习到UNI聚合组上时,在通告报文中还携带UNI聚合组标识。在发送该通告报文时,通过该组播MAC地址的对应的所有成员端口发送,保证各上游设备都能接收到对应的通告报文。并且由于该通告报文的源MAC地址为该接入设备的MAC地址,也可以使上游设备获知该服务器的MAC地址由谁学习到,并同步的。
步骤402,若该通告报文中,携带UNI聚合组标识,则通过所述通告报文携带的UNI聚合组标识在本地匹配对应的UNI聚合组;并将该通告报文携带的服务器的MAC地址,学习到为匹配到的UNI聚合组对应的接入设备的组合建立的纵向组合物理聚合组或纵向组合逻辑聚合组中的各端口上,结束本流程。
仍以图2为例,成员设备A接收到L3接入设备A发送的通告报文,该通告报文携带的UNI聚合组标识1。匹配到本地配置的UNI聚合组1,该UNI聚合组对应L3接入设备A和L3接入设备B,因此,将MAC1学习到为L3接入设备A和L3接入设备B的组合建立的纵向组合逻辑聚合组中的端口A-1、端口A-2和端口A-3上。
步骤403,若该通告报文中,未携带UNI聚合组标识,根据该通告报文的源MAC地址,确定发送该通告报文的接入设备,将该通告报文中携带的服务器的MAC地址学习到为发送该通告报文的接入设备建立的纵向组合物理聚合组或纵向组合逻辑聚合组中的各端口上。
仍以图2为例,成员设备A接收到L1接入设备C发送的通告报文,该通告报文不会携带UNI聚合组标识,因为L1接入设备C上不存在聚合的UNI。根据通告报文的源MAC地址确定发送该通告报文的设备为L1接入设备C,因此,将MAC3学习到为L1接入设备C建立的物理聚合组中的端口A-4上。
在具体实现时,本设备将通告报文通告的服务器的MAC地址学习到纵向组合逻辑聚合组中的各端口上,或者纵向组合物理聚合组中的各端口上,同接收该服务器的MAC地址的UNI所属的UNI聚合组中的各UNI属于一个接入设备,还是多个接入设备没有直接关系,而是看本设备可达该UNI聚合组中的各UNI所属的接入设备的端口,与一个还是多个接入设备直接相连,如果仅与一个接入设备直接相连,则将该服务器的MAC地址学习到纵向组合物理聚合组的各端口上;如果与两个或两个以上的接入设备直接相连,则将该服务器的MAC地址学习到纵向组合逻辑聚合组中的各端口上。
参见图5,图5为本发明实施例二中通过数据报文对服务器的MAC地址的学习流程示意图。具体步骤为:
步骤501,组网中任一设备接收到服务器发送的数据报文时,对该数据报文进行源MAC地址学习。
本步骤中该接入设备接收到服务器发送的数据报文后,对该数据报文进行源MAC地址学习,在进行源MAC地址学习之前,所述方法进一步包括:确定该数据报文的源MAC地址是否已通过通告报文进行学习,如果是,不对该数据报文进行源MAC地址学习,结束本流程;否则,执行所述对该数据报文进行源MAC地址学习及后续步骤。
步骤502,如果接收该数据报文的端口为UNI,该设备将该数据报文的源MAC地址学习到该UNI上,若该UNI存在对应的UNI聚合组,则将该数据报文的源MAC地址学习到该UNI聚合组中的所有UNI上,结束本流程。
如果该数据报文通过UNI接收到,说明是接收下挂的服务器的MAC地址,如果本地配置该UNI同其他UNI在同一UNI聚合组中,如果该聚合组中的UNI都属于本设备,则将该MAC地址学习到该UNI所在的UNI聚合组中的所有UNI上;如果该聚合组中的某个UNI为其他接入设备的UNI,则将该服务器的MAC地址和UNI聚合组的标识通告给所述某个UNI所在的接入设备,所述某个UNI所在的接入设备接收到通告时,将该服务器的MAC地址学习到通告中UNI聚合标识对应的UNI聚合组上
步骤503,如果本设备为汇聚设备,且该汇聚设备为堆叠设备,堆叠设备中的成员设备通过堆叠口接收到该数据报文,该设备将该数据报文的源MAC地址学习到该堆叠口上,结束本流程。
步骤504,如果接收该数据报文的端口不为UNI,将该数据报文的源MAC地址学习到该端口所属的纵向组合物理聚合组中的各端口上。
图2中,假设成员设备A通过端口A-1接收到服务器1发送的报文时,将服务器1的MAC地址学习到端口A-1和端口A-2所组成的纵向组合物理聚合组中,而不需要将通告报文中携带的用户设备的MAC地址1学习到包括端口A-1、端口A-2和端口A-3的纵向组合逻辑聚合组。
由上可见,通过数据报文进行服务器的MAC地址学习时,只将服务器的MAC地址学习到纵向组合物理聚合组中的各端口上,同通常的源MAC地址学习相同,只保证能正常转发到直连的接入设备即可,为直连的接入设备建立的聚合组为纵向组合物理聚合组;通过通告报文学习服务器的MAC地址时,根据具体情况有时候需要学习到纵向组合逻辑聚合组中的各端口上,由于到达该服务器所直连的接入设备会存在多条路径,每条路径都要学习到,可以避免单播报文的广播发送,也可以实现下行流量的均匀转发。
实施例三
本发明的具体实现时,转发单播报文时,根据该单播报文的目的MAC地址转发,MAC地址可能学习到纵向组合逻辑聚合组中的各端口上,也可能学习到纵向组合物理聚合组中的各端口上。而在转发广播报文时,不考虑本地建立的纵向组合逻辑聚合组,只通过建立的纵向组合物理聚合组。
参见图6,图6为本发明实施例三种报文转发流程示意图。具体步骤为:
步骤601,组网中任一设备需要向下游设备发送单播报文时,将该单播报文的目的MAC地址与本地学习到的MAC地址进行匹配,如果匹配到,通过学习到该MAC地址的纵向组合物理聚合组或纵向组合逻辑聚合组中的端口转发,若该纵向组合物理聚合组或纵向组合逻辑聚合组中存在多个端口时,通过负载均衡算法选择一个端口转发。
图2中,成员设备A需要发送目的MAC地址为MAC1的单播报文时,通过MAC地址匹配,确定MAC1学习到端口A-1、端口A-2和端口A-3上,则通过负载均衡算法选择一个端口转发。
步骤602,该设备需要向下游设备发送广播、组播或未知单播报文时,通过本地的纵向组合物理聚合组转发该广播、组播或未知单播报文,若任一纵向组合物理聚合组中存在多个端口时,通过负载均衡算法选择一个端口转发。
图2中,成员设备A需要发送广播、组播或未知单播报文时,确定本地存在3个纵向组合物理聚合组,第一个纵向组合物理聚合组包括端口A-1和端口A-2,则通过负载均衡算法选择一个端口转发该广播、组播或未知单播报文,第二个纵向组合物理聚合组包括端口A-3,第3个纵向组合物理聚合组包括端口A-4,因此通过端口A-3和端口A-4都转发该广播、组播或未知单播报文。
本发明具体实施例中基于同样的发明构思,还提出一种设备,可应用为包括接入设备和汇聚设备的组网中的任一设备;该组网中同级接入设备横向无连接,该组网的拓扑为从上向下的交叉树形结构。参见图7,图7为应用于上述技术的设备的结构示意图。该设备包括:配置单元701和发送单元702。
配置单元701,用于获得组网中各下游接入设备的拓扑信息,为所述各下游接入设备建立纵向组合聚合组,并将本设备可达所述各下游接入设备的端口加入到为各下游接入设备建立的纵向组合聚合组中。
发送单元702,用于需要向下游设备发送单播报文时,若该单播报文的目的MAC地址为该组网中本设备的下游接入设备的MAC地址,通过配置单元701为该接入设备建立的纵向组合聚合组中的端口转发该单播报文;若该纵向组合聚合组中包括多个端口,通过负载均衡算法选择一个端口转发该单播报文。
较佳地,
配置单元701,用于为直连的任一下游接入设备建立的纵向组合聚合组为纵向组合物理聚合组,将本设备可达该直连的接入设备的端口加入到该纵向组合物理聚合组;对于非直连的任一下游接入设备,若本设备可达该非直连的接入设备的端口的组合,同为直连的任一下游接入设备建立的纵向组合物理聚合组相同,则为该非直连的下游设备建立纵向组合物理聚合组,将本设备可达该非直连的接入设备的端口加入到该纵向组合物理聚合组;若本设备可达该非直连的接入设备的端口的组合,不同于为直连的任一下游接入设备建立的纵向组合物理聚合组,则为该非直连的下游设备建立纵向组合逻辑聚合组,将本设备可达该非直连的接入设备的端口加入到该纵向组合逻辑聚合组;若本设备为汇聚设备,可达任一下游接入设备的端口只有堆叠口时,为该接入设备建立纵向组合物理聚合组,并将该堆叠口加入到该纵向组合物理聚合组中。
较佳地,
配置单元701,进一步用于为存在聚合的用户网络接口UNI的下游接入设备创建UNI聚合组,任一UNI聚合组中包含连接同一用户设备的UNI;该UNI聚合组中存在多个UNI,且所述多个UNI不属于同一个接入设备;为该UNI聚合组中的各UNI所在的接入设备的组合建立纵向组合物理聚合组或纵向组合逻辑聚合组,并将本设备可达所述接入设备的组合中的各接入设备的端口加入到为所述接入设备的组合建立的纵向组合物理聚合组或纵向组合逻辑聚合组中,若为UNI聚合组中的各UNI所在的接入设备的组合建立纵向组合物理聚合组或纵向组合逻辑聚合组已存在,则直接引用已建立的纵向组合物理聚合组或纵向组合逻辑聚合组。
较佳地,接收单元703和学习单元704。
接收单元703,用于接收任一下游接入设备发送的通告报文。
学习单元704,用于当接收单元703接收到任一下游接入设备发送,且携带学习到UNI上的用户设备的MAC地址的通告报文;若该通告报文中携带UNI聚合组标识,则通过所述通告报文携带的UNI聚合组标识在本地匹配对应的UNI聚合组;并将该通告报文携带的用户设备的MAC地址,学习到为匹配到的UNI聚合组对应的接入设备的组合建立的纵向组合物理聚合组或纵向组合逻辑聚合组中的各端口上;若该通告报文中未携带UNI聚合组标识,根据该通告报文的源MAC地址,确定发送该通告报文的接入设备,将该通告报文中携带的用户设备的MAC地址学习到为发送该通告报文的接入设备建立的纵向组合物理聚合组或纵向组合逻辑聚合组中的各端口上。
较佳地,
接收单元703,进一步用于接收用户设备发送的数据报文。
学习单元704,进一步用于当接收单元703接收到用户设备发送的数据报文时,对该数据报文进行源MAC地址学习;如果接收该数据报文的端口为UNI,该设备将该数据报文的源MAC地址学习到该UNI上,若该UNI存在对应的聚合组,则将该数据报文的源MAC地址学习到该对应的UNI聚合组中的所有UNI上;如果接收该数据报文的端口不为UNI时,该设备将该数据报文的源MAC地址学习到该端口所属的纵向组合物理聚合组中的各端口上;若本设备为汇聚设备,且该汇聚设备为堆叠设备时,如果通过堆叠口接收到该数据报文,该设备将该数据报文的源MAC地址学习到该堆叠口上。
较佳地,
学习单元704,进一步用于当接收单元703接收到服务器发送的数据报文时,确定该数据报文的源MAC地址是否已通过通告报文进行学习,如果是,不对该数据报文进行源MAC地址学习;否则,对该数据报文进行源MAC地址学习及后续操作。
较佳地,
发送单元702,进一步用于需要向下游设备发送单播报文时,通过该单播报文的目的MAC地址与本地学习到的MAC地址进行匹配,如果匹配到,通过学习到该MAC地址的纵向组合物理聚合组或纵向组合逻辑聚合组中的端口转发,若该纵向组合物理聚合组或纵向组合逻辑聚合组中存在多个端口时,通过负载均衡算法选择一个端口转发;需要向下游设备发送广播、组播或未知单播报文时,通过本地的纵向组合物理聚合组转发该广播、组播或未知单播报文,若任一纵向组合物理聚合组中存在多个端口时,通过负载均衡算法选择一个端口转发。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中组网中任一设备获得组网中各下游接入设备的拓扑信息,为所述各下游接入设备建立纵向组合聚合组,并将本设备可达所述各下游接入设备的端口加入到为各下游接入设备建立的纵向组合聚合组中;在接收到需要发送任一下游接入设备的单播报文时,通过为该接入设备建立的纵向组合聚合组中的端口转发该单播报文;若该纵向组合聚合组中包括多个端口,通过负载均衡算法选择一个端口转发该单播报文,能够使各设备的下行链路的流量均衡。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。