CN103581274B - 一种堆叠系统中报文转发方法和装置 - Google Patents

一种堆叠系统中报文转发方法和装置 Download PDF

Info

Publication number
CN103581274B
CN103581274B CN201210281519.2A CN201210281519A CN103581274B CN 103581274 B CN103581274 B CN 103581274B CN 201210281519 A CN201210281519 A CN 201210281519A CN 103581274 B CN103581274 B CN 103581274B
Authority
CN
China
Prior art keywords
port
message
descriptor
source
multicast
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210281519.2A
Other languages
English (en)
Other versions
CN103581274A (zh
Inventor
王东
汪洪远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210281519.2A priority Critical patent/CN103581274B/zh
Priority to US14/399,964 priority patent/US9509610B2/en
Priority to EP13827616.7A priority patent/EP2883123B1/en
Priority to PCT/CN2013/079893 priority patent/WO2014023160A1/en
Publication of CN103581274A publication Critical patent/CN103581274A/zh
Priority to US15/338,765 priority patent/US9960998B2/en
Application granted granted Critical
Publication of CN103581274B publication Critical patent/CN103581274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请公开了一种堆叠系统中报文转发方法,该方法包括:所属任一成员设备的任一VD同与该成员设备建立堆叠链路的成员设备上的VD编号相同的VD,通过所述堆叠链路相连;该VD通过业务端口接收到单播报文时,在该VD上的转发表中查找,若根据查找结果确定该单播报文需跨成员设备转发,则通过堆叠链路转发该单播报文。基于同样的发明构思,本发明还提出一种装置,在通过堆叠实现VD的链路备份时,各VD使用共享堆叠链路,节省了带宽资源。

Description

一种堆叠系统中报文转发方法和装置
技术领域
本申请涉及通信技术领域,特别涉及一种堆叠系统中报文转发方法和装置。
背景技术
数据中心的发展正在经历从整合、虚拟化到自动化的演变,基于云计算的数据中心是未来更远的目标。整合是基础,虚拟化技术为自动化、云计算数据中心的实现提供支持。
数据中心的数据化有很多的技术优点,可以通过整合或者共享物理资源来提高资源的利用率,调查公司的结果显示,全球多数的数据中心资源利用率为15%~20%之间,通过整合、虚拟化技术可以实现50%~60%的利用率;通过虚拟化技术可以实现节能高效的绿色数据中心,如可以减少物理设备、电缆、空间、电力、制冷等的需求成本;可以实现对资源的快速部署以及重部署以满足业务发展需求。
由此可见,虚拟化技术是数据中心发展关注的焦点,对于基础网络来说,虚拟化技术分为两类:将多个物理网络设备整合成一台逻辑设备,简化网络架构,则可称之为N:1的虚拟化,如堆叠技术;将一套物理网络上划分出多个相互隔离的逻辑网络或将一台物理设备划分成多个虚拟设备,可称为1:N的虚拟化。
在现有的数据中心组网中,存在将分立网络整合为一个通用基础设施的虚拟化需求,在保留物理上独立的网络的管理界限划分和故障隔离特性的前期下,提供单一基础设施所拥有。
现有实现中通过跨设备多链路捆绑技术,可以实现在单个设备上使用聚合链路连接两个经过虚通道连接(vPC)捆绑的上行设备,完全使用了所有上行链路的带宽,实现了链路的备份,在个别链路失效时提供了故障快速收敛,但是单个vPC域需要保证20G的链路用于vPC捆绑设备的维护。当存在多个VD时,就需要多个vPC进行捆绑,对系统的带宽开销较大,且部署复杂,增加维护成本。
发明内容
有鉴于此,本申请提供一种堆叠系统中报文转发方法和装置,在通过堆叠实现VD的链路备份时,各VD使用共享堆叠链路,节省了带宽资源。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种堆叠系统中报文转发方法,应用于包含两个以上成员设备的堆叠系统中,所述各成员设备被划分为两个以上VD,所述各成员设备上具有相同VD编号的VD合并为同一VD,所属任一所述成员设备的任一VD同与该成员设备建立堆叠链路的成员设备上的VD编号相同的VD,通过所述堆叠链路相连,所述方法包括:
所属任一所述成员设备的任一VD通过业务端口接收到单播报文时,在该VD上的转发表中查找,若根据查找结果确定该单播报文需跨成员设备转发,则通过所述堆叠链路转发该单播报文。
一种装置,可应用于包含两个以上成员设备的堆叠系统中任一成员设备的VD上,所述各成员设备被划分为两个以上VD,所述各成员设备上具有相同VD编号的VD合并为同一VD,所述装置包括:配置单元、接收单元、查找单元和转发单元;
所述配置单元,用于将本VD同与本VD所属的成员设备建立堆叠链路的成员设备上的VD编号相同的VD,通过所述堆叠链路相连;
所述接收单元,用于通过业务端口接收单播报文;
所述查找单元,用于当所述接收单元接收到单播报文时,在本地的转发表中查找;
所述转发单元,用于若根据所述查找单元查找的结果确定该单播报文需跨成员设备转发,通过所述配置单元配置的堆叠链路转发该单播报文。
综上所述,本申请通过在堆叠系统中实现VD,并将各成员设备中相同VD编号的VD合并成同一VD管理,且各成员设备上的同一VD之间共享同一堆叠链路,在接收到需跨成员设备转发的单播报文时,通过所述共享堆叠链路转发所述接收的单播报文,在通过堆叠实现VD的链路备份时,各VD使用共享堆叠链路,节省了带宽资源。
附图说明
图1为本发明实施例中堆叠系统进行VD虚拟化示意图;
图2为本发明实施例中实现堆叠系统中单播报文转发方法流程示意图;
图3为本发明实施例中堆叠系统中多播报文转发流程示意图;
图4为本发明具体实施例中用于实现堆叠系统中报文转发的装置的结构示意图;
图5是本发明具体实施例中用于实现堆叠系统中报文转发的装置500的硬件架构组成示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种堆叠系统中报文转发方法,在通过堆叠实现VD的链路备份时,各VD使用共享堆叠链路,节省了带宽资源。该方法应用在包含两个以上成员设备的堆叠系统中,所述各成员设备被划分为两个以上VD,所述各成员设备上具有相同VD编号的VD合并为同一VD,所属任一所述成员设备的任一VD同与该成员设备建立堆叠链路的成员设备上的VD编号相同的VD,通过所述堆叠链路相连。该方法包括:所属任一所述成员设备的任一VD通过业务端口接收到单播报文时,在该VD上的转发表中查找,若根据查找结果确定该单播报文需跨成员设备转发,则通过所述堆叠链路转发该单播报文。
也就是说,各成员设备之间堆叠建立之后,通过堆叠链路相连的两个成员设备上编号相同的VD之间的连接均通过所述堆叠链路相连。参见图1,图1为本发明实施例中堆叠系统进行VD虚拟化示意图。图1中成员设备1和成员设备2建立之间建立堆叠链路,成员设备1上的VD1和成员设备2上的VD1之间、成员设备1上的VD2和成员设备2上的VD2,以及成员设备1上的VD3和成员设备2上的VD3,均通过成员设备1和成员设备2建立的堆叠链路相连,即共享同一堆叠链路。
下面简要描述本发明实施例中实现报文转发前堆叠系统的建立、VD的合并、以及堆叠链路的共享配置过程:
完整的堆叠系统将经历物理连接,拓扑收集、角色选举、成员管理与维护四个阶段。成员设备之间需要先建立堆叠物理连接,然后会自动进行拓扑收集和角色选举,完成堆叠的建立,此后进入成员设备的管理和维护阶段,保持堆叠系统成员设备的关系稳定。在支持VD的堆叠系统中,以上四个阶段的功能由管理VD负责完成,非管理VD则直接在此基础上存在。堆叠系统上电启动时,管理VD首先启动并完成堆叠系统的建立,非管理VD随后才能启动。堆叠链路信息的变化由管理VD负责维护,如堆叠端口配置的改变,堆叠端口LINK状态的变化等,当感知到这些变化时,管理VD需及时通告其他非管理VD。另外,对于堆叠端口的物理层配置等操作也均是管理VD完成的,非管理VD不参与。
管理VD依靠Hello报文传递堆叠建立信息,Hello报文中携带指定的VD编号及特殊的hello报文类型标识,由CPU指定从堆叠端口发出,报文在到达目的成员设备堆叠口后,确定为hello报文将直接上送CPU处理,CPU软件再根据报文中的VD编号进入到该VD的堆叠建立状态机处理。如果该成员设备不存在对应编号的VD,将不予处理。
当各成员设备中具有相同编号的VD完成堆叠建立后,将进入到堆叠状态的管理和维护阶段。该阶段也统一由管理VD负责,包括堆叠链路的状态及成员设备的状态的维护与检测,当检测到堆叠链路断开或成员设备退出后,将通知各VD各自堆叠分裂。
除堆叠协议外的其他协议均由各VD内独立负责,各VD内发送的控制报文(由报文中的特殊字段标识为控制报文,以与数据报文区分开)由CPU指定从共享的堆叠端口发送到目的成员设备。目的成员设备收到该控制报文后,一律直接上送CPU软件,由CPU根据报文中的VD编号通知到指定的VD进行后续处理。
在堆叠系统启动时,首先创建管理VD(默认VD1),由管理VD创建非管理VD,即用户VD,并为各创建的用户VD进行配置。对于分布式设备具体包括:根据VD的数目划分控制板,并将接口板上的业务端口划分给各VD,进而实现将接口板划分给各VD。这样,一个接口板可能划分给一个VD,也可能划分给多个VD,一个VD可能被分配一个接口板也可能多个接口板。在堆叠系统中,成员设备及其堆叠链路的配置均是在管理VD中进行配置与保存,非管理VD自动继承这些配置并不可单独修改配置。对于集中式设备,则将各控制板集成在接口板中,在将接口板划分给各VD时,关联到控制板的划分,当整个接口板划分给一个VD时,该接口板上集成的控制板自动划分各VD,当一个接口板划分给多个VD时,该接口板上集成的控制板也需要划分给该接口板划分给的各VD。分布式或者集中式设备将接口板和控制板如何划分给本成员设备虚拟的各VD,同现有实现,这里不再详细赘述。
当堆叠系统启动后,管理VD将自身所在成员设备建立堆叠链路的堆叠端口号、为各用户VD分配的VD编号、以及分配的业务端口号下发给各用户VD。
各用户VD接收到管理VD下发的信息形成入端口属性表,该入端口属性表包括VD编号、业务端口号和堆叠端口号。
下面结合附图,详细说明本发明具体实施例中如何实现堆叠系统中报文的转发。
参见图2,图2为本发明实施例中VD实现堆叠系统中单播报文转发方法流程示意图。
步骤201,所属任一成员设备的任一VD接收到单播报文。
步骤202,该VD确定接收该单播报文的端口是否为堆叠端口,如果是,执行步骤203;否则,执行步骤207。
每个端口都属于一个VD,每个VD上都有入端口属性表,根据接收该单播报文的端口的端口号在本地的入端口属性表中查找,可获知接收该单播报文的端口是堆叠端口还是业务端口。
步骤203,该VD对接收到的该单播报文进行源MAC地址学习,生成转发表项。
如果确定该单播报文是通过堆叠端口接收,则该单播报文会携带描述符,该描述符为其他成员设备中与该VD编号相同的VD转发该单播报文时添加的,其中该描述符包含有:VD编号、目的端口号和源端口号,其中,所述源端口号为该单播报文进入该堆叠系统的端口的端口号。
所述成员设备通过堆叠口接收到报文,由于各VD的堆叠端口相同,因此,该堆叠端口接收到通过堆叠链路发来的单播报文时,根据该单播报文携带的描述符中的VD编号将该单播报文分配到对应的VD上进行处理。
其中,进行源MAC地址学习,生成转发表项包括:对该单播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为所述单播报文携带的描述符中的源端口号。
步骤204,该VD确定该单播报文携带的描述符中的目的端口号是否为本成员设备的成员端口号,如果是,执行步骤205;否则,执行步骤206。
步骤205,该VD删除该单播报文携带的描述符,并从所述目的端口号所对应的端口转发,结束本流程。
当确定该单播报文携带的描述符中的目的端口号为本成员设备的成员端口号,则确定该单播报文需转发出该堆叠系统,这时将该单播报文携带的描述符删除,从对应的端口转发。
步骤206,该VD根据所述目的端口号确定到达目的成员设备的堆叠链路,并通过所述到达目的成员设备的堆叠链路转发所述单播报文。
当确定该单播报文携带的目的端口号不为本成员设备的成员端口号,则确定该单播报文需跨成员设备转发,这时该单播报文仍然需要携带描述符,且处理VD和该报文进入该堆叠系统的端口的端口号不变,因此,直接将该报文通过共享堆叠链路转发即可,在转发时,选择哪条堆叠链路转发需根据目的成员设备确定,即不会将该单播报文从接收的堆叠链路的转发回去,从另外一条堆叠链路去转发。如果该VD仅与一条堆叠链路,该种转发情况也不会出现。
步骤207,该VD在本地的转发表项中,根据接收到的单播报文携带的目的MAC地址和目的VLAN ID查找到对应的目的端口号,同时进行源MAC地址学习,生成转发表项。
其中,对该单播报文进行源MAC地址学习,生成转发表项包含源MAC地址、源VLANID和源端口号。其中,所述源端口号为接收该单播报文端口的端口号。
步骤208,该VD确定所述查找到的目的端口号是否本成员设备的成员端口号,如果是,执行步骤209;否则,执行步骤210。
步骤209,该VD将该单播报文从所述目的端口号对应的端口转发,结束本流程。
当确定查找到目的端口号是本成员设备的成员端口号时,不需跨成员设备转发,将该单播报文直接转发,同现有实现。
步骤210,该VD在所述接收的单播报文中添加描述符,并从所述堆叠链路转发。
当确定查找到目的端口号不是本成员设备的成员端口号时,该单播报文需跨成员设备转发,在转发该单播报文时携带描述符,该描述符中包含有VD编号、目的端口号和源端口号,由于本发明具体实现报文跨成员设备共享一条堆叠链路,携带VD编号,使其他成员设备接收到该单播报文时,可以获知并分配到对应的VD;携带源端口号可以使通过共享堆叠链路接收该单播报文的VD在进行源MAC地址学习时,学习到真正的源端口号,携带目的端口号,可以节省在转发表中查找目的端口号的时间,直接从描述符中获得目的端口号。
由上可见,本发明具体实现时,描述符中也可以不包含目的端口号,任一VD接收到携带描述符的单播报文时,可以根据报文携带的目的MAC地址和目的VLAN ID在本地的转发表中查找目的端口号,查找到目的端口号后具体实现方式同上述方法,这里不再详细赘述。
下面结合具体实施例详细说明本发明如何实现堆叠系统中多播报文转发的。
参见图3,图3为本发明实施例中堆叠系统中多播报文转发流程示意图。
步骤301,所属任一成员设备的任一VD接收到多播报文。
步骤302,该VD确定接收该多播报文的端口是否为堆叠端口,如果是,执行步骤303;否则,执行步骤304。
步骤303,该VD根据该多播报文携带的描述符中的多播组编号在多播组成员表中查找端口号,删除该多播报文携带的描述符,并在查找到的每个端口号对应的端口上复制,执行步骤305。
本步骤中如果为该VD分配多个接口板,则在查找多播组转发表时,要在各个属于该VD的接口板上查找。其中,复制的多播报文为原始多播报文,即不携带描述符的多播报文。
步骤304,该VD获得该多播报文的多播组编号,在本地多播组成员表中查找成员端口号,并在查找到的每个成员端口号对应的端口上复制一份所述接收的多播报文。
其中,通过接收该多播报文的端口获知该多播报文的多播组编号,或者根据具体实现时的配置,获得多播组编号的方法同现有实现。
步骤305,该VD确定所述查找到的成员端口号是否为堆叠端口号,如果是,执行步骤306;否则,执行步骤307。
步骤306,在复制的多播报文中携带描述符,并通过所述查找到的成员端口号对应的端口转发,结束本流程。
本步骤中携带的描述符包含有本VD的VD编号、该多播报文的多播组编号。
步骤307,该VD将所述复制的多播报文通过所述查找到的成员端口号对应的端口转发。
在转发复制后的多播报文之前,需进行源端口过滤,即不将该多播报文从接收端口转发出去。
步骤306中通过所述共享的堆叠链路转发的多播报文中携带的描述符还包含源端口号,用于接收到该多播报文时进行源MAC地址学习生成转发表,指导单播报文的转发。
该VD通过业务端口接收到多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为接收该多播报文的业务端口的端口号;并且在由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为所述多播报文携带的描述符中的源端口号。
本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于包含两个以上成员设备的堆叠系统中任一成员设备的VD上,所述各成员设备被划分为两个以上VD,所述各成员设备上具有相同VD编号的VD合并为同一VD。参见图4,图4为本发明具体实施例中用于实现堆叠系统中报文转发的装置的结构示意图。该装置包括:配置单元401、接收单元402、查找单元403和转发单元404。
配置单元401,用于将本VD同与本VD所属的成员设备建立堆叠链路的成员设备上的VD编号相同的VD,通过所述堆叠链路相连。
接收单元402,用于通过业务端口接收单播报文。
查找单元403,用于当接收单元402接收到单播报文时,在本地的转发表中查找。
转发单元404,用于若根据查找单元403查找的结果确定该单播报文需跨成员设备转发,通过配置单元401配置的堆叠链路转发该单播报文。
较佳地,
查找单元403,用于根据该单播报文携带的目的MAC地址和目的VLAN ID在本地转发表中查找对应的目的端口号,若确定查找到的目的端口号不为本成员设备的成员端口号,则确定该单播报文需跨成员设备转发。
较佳地,该装置进一步包括:确定单元405。
转发单元404,进一步用于在通过所述堆叠链路转发该单播报文时,进一步在该单播报文中携带描述符,该描述符包含有所述查找到的目的端口号和本VD的VD编号;如果确定单元405确定该单播报文携带的描述符中的目的端口号是本成员设备的成员端口号,则删除该单播报文的描述符,并通过所述目的端口号对应的端口转发;否则,根据所述目的端口号确定到达目的成员设备的堆叠链路,并通过所述到达目的成员设备的堆叠链路转发所述单播报文。
接收单元402,进一步用于接收由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文。
确定单元405,用于在接收单元402接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,确定该单播报文携带的描述符中的目的端口号是否为本成员设备的成员端口号。
较佳地,该装置进一步包括:确定单元405。
转发单元404,进一步用于在通过所述堆叠链路转发该单播报文时,进一步在该单播报文中携带描述符,该描述符包含有本VD的VD编号;如果确定单元405确定查找到的目的端口号是本成员设备的成员端口号,则删除该单播报文的描述符,并通过所述目的端口号对应的端口转发;否则,根据所述目的端口号确定到达目的成员设备的堆叠链路,并通过所述到达目的成员设备的堆叠链路转发所述单播报文。
接收单元402,进一步用于接收由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文。
确定单元405,用于在接收单元402接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,根据该单播报文携带的目的MAC地址和目的VLAN ID在本地转发表中查找对应的目的端口号,并确定查找到的目的端口号是否为本成员设备的成员端口号。
较佳地,该装置进一步包括:第一学习单元406。
转发单元404,通过所述堆叠链路转发该单播报文时携带的描述符还包含源端口号,该源端口号为该单播报文进入所述堆叠系统的业务端口的端口号。
第一学习单元406,用于当接收单元402通过业务端口接收到单播报文时,在本地对该单播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为接收该单播报文的业务端口的端口号;当接收单元402接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,在本地对该单播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为所述单播报文携带的描述符中的源端口号。
较佳地,
接收单元402,用于通过业务端口接收多播报文;接收由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文。
查找单元403,用于当接收单元402通过业务端口接收到多播报文时,在本地获取多播组编号,并根据获取的多播组编号在该VD的多播组成员表中查找;当接收单元402接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文时,根据该多播报文中携带的多播组编号在本地的多播组成员表中查找。
转发单元404,用于在查找单元404根据获取的多播组编号在该VD的多播组成员表中查找到的每个成员端口上复制一份所述接收到的多播报文,若所述查找到的成员端口为堆叠端口,则在该多播报文中携带包含有VD编号和多播组编号的描述符,并通过所述堆叠链路转发;若所述查找到的成员端口为业务端口,将所述复制的多播报文通过所述查找到的成员端口转发;删除接收单元402接收的多播报文携带的描述符,并在查找单元403根据该多播报文中携带的多播组编号在本地的多播组成员表中查找到的每个成员端口上复制一份,若所述查找到的成员端口为堆叠端口,则在所述复制的多播报文中携带包含有本VD的VD编号和多播组编号的描述符,并通过所述查找到成员端口转发;若所述查找到的成员端口为业务端口,将所述复制的多播报文通过所述查找到的成员端口转发。
较佳地,该装置进一步包括:第二学习单元407。
转发单元404,通过所述堆叠链路转发的多播报文中携带的描述符还包含源端口号,其中,所述源端口号为该多播报文进入所述堆叠系统的业务端口的端口号。
第二学习单元407,用于当接收单元402通过业务端口接收到多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为接收该多播报文的端口号;当接收单元402在由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLANID和源端口号的转发表项,其中,所述源端口号为所述多播报文携带的描述符中的源端口号。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
以上对本发明具体实施例中用于实现堆叠系统中报文转发的装置进行了说明,下面给出本发明具体实施例中用于实现堆叠系统中报文转发的装置的硬件架构组成,该装置是可以软硬件结合的可编程设备,具体参见图5,图5是本发明具体实施例中用于实现堆叠系统中报文转发的装置500的硬件架构组成示意图,装置500包括存储器510,处理器520,报文处理芯片530,以及耦合存储器510、处理器520、报文处理芯片的互联机构540;其中,
存储器510,用于存储指令代码,当所述指令代码被执行时完成的操作主要为上述装置中确定单元、查找单元、第一学习单元、第二学习单元和转发单元完成的功能,这里不再详述。
处理器520,用于与报文处理芯片530通信,进行单播报文和多播报文的收发;用于与存储器510通信,读取和执行存储器510中存储的所述指令代码,完成上述装置中确定单元、查找单元、第一学习单元、第二学习单元和转发单元完成的功能,以及对从报文处理芯片530上送的报文的处理。
报文处理芯片530,用于通过该芯片上的端口连接到堆叠系统中的其他成员设备和堆叠系统以外的设备,负责数据报文的收发处理,从堆叠端口收发单播报文和多播报文,从业务端口收发多播报文和单播报文。
需要说明的是,图5所示的用于堆叠系统中报文转发的装置只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的处理器520可以是一个或多个,如果是多个,则由多个处理器共同负责读取和执行所述指令代码。因此,本发明对用于实现堆叠系统中报文转发的装置的具体结构不作具体限定。
综上所述,本发明具体实施例中在堆叠系统中实现VD,并将各成员设备中相同VD编号的VD合并成同一VD管理,且各成员设备上的同一VD之间共享同一堆叠链路,在接收到需跨成员设备转发的单播报文时,通过所述共享堆叠链路转发所述接收的单播报文,在通过堆叠实现VD的链路备份时,各VD使用共享堆叠链路,节省了带宽资源。
具体实现时,在通过堆叠链路的转发的报文中携带包含有VD编号和源端口号的描述符,使通过所述共享堆叠链路接收到报文时,通过报文携带的描述符获知该报文应该分配到哪个VD,并且能够根据描述符中的源端口号进行源MAC地址学习。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种堆叠系统中报文转发方法,应用于包含两个以上成员设备的堆叠系统中,所述各成员设备被划分为两个以上虚拟设备VD,所述各成员设备上具有相同VD编号的VD合并为同一VD,其特征在于,所属任一所述成员设备的任一VD同与该成员设备建立堆叠链路的成员设备上的VD编号相同的VD,通过所述堆叠链路相连,所述堆叠链路为共享堆叠链路,所述方法包括:
所属任一所述成员设备的任一VD通过业务端口接收到单播报文时,在该VD上的转发表中查找,若根据查找结果确定该单播报文需跨成员设备转发,则通过所述堆叠链路转发该单播报文。
2.根据权利要求1所述的方法,其特征在于,所述在该VD上的转发表中查找,若根据查找结果确定该单播报文需跨成员设备转发,包括:
根据该单播报文携带的目的MAC地址和目的VLAN ID在本地转发表中查找对应的目的端口号,若确定查找到的目的端口号不为本成员设备的成员端口号,则确定该单播报文需跨成员设备转发。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
所述VD在通过所述堆叠链路转发该单播报文时,进一步在该单播报文中携带描述符,该描述符包含有所述查找到的目的端口号和本VD的VD编号;
在接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,确定该单播报文携带的描述符中的目的端口号是否为本成员设备的成员端口号,如果是,删除该单播报文的描述符,并通过所述目的端口号对应的端口转发;否则,根据所述目的端口号确定到达目的成员设备的堆叠链路,并通过所述到达目的成员设备的堆叠链路转发所述单播报文。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在通过所述堆叠链路转发该单播报文时,进一步在该单播报文中携带描述符,该描述符包含有本VD的VD编号;
在接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,根据该单播报文携带的目的MAC地址和目的VLAN ID在本地转发表中查找对应的目的端口号,并确定查找到的目的端口号是否为本成员设备的成员端口号,如果是,删除该单播报文的描述符,并通过所述目的端口号对应的端口转发;否则,根据所述查找到的目的端口号确定到达目的成员设备的堆叠链路,并通过所述到达目的成员设备的堆叠链路转发所述单播报文。
5.根据权利要求3所述的方法,其特征在于,
所述通过所述堆叠链路转发该单播报文时携带的描述符还包含源端口号,该源端口号为该单播报文进入所述堆叠系统的业务端口的端口号;
所述方法进一步包括,通过业务端口接收到单播报文时,在本地对该单播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为接收该单播报文的业务端口的端口号;并且接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,在本地对该单播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为所述单播报文携带的描述符中的源端口号。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法进一步包括:
当通过业务端口接收到多播报文时,在本地获取多播组编号,并根据获取的多播组编号在该VD的多播组成员表中查找,在查找到的每个成员端口上复制一份所述接收到的多播报文,若所述查找到的成员端口为堆叠端口,则在该多播报文中携带包含有VD编号和多播组编号的描述符,并通过所述堆叠链路转发;若所述查找到的成员端口为业务端口,将所述复制的多播报文通过所述查找到的成员端口转发;
在接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文时,根据该多播报文中携带的多播组编号在本地的多播组成员表中查找,删除所述多播报文的描述符,并在查找到的每个成员端口上复制一份,若所述查找到的成员端口为堆叠端口,则在所述复制的多播报文中携带包含有本VD的VD编号和多播组编号的描述符,并通过所述查找到成员端口转发;若所述查找到的成员端口为业务端口,将所述复制的多播报文通过所述查找到的成员端口转发。
7.根据权利要求6所述的方法,其特征在于,
通过所述堆叠链路转发的多播报文中携带的描述符还包含源端口号,其中,所述源端口号为所述多播报文进入所述堆叠系统的业务端口的端口号;
所述方法进一步包括,通过业务端口接收到多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为接收该多播报文的业务端口的端口号;并且在由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为所述多播报文携带的描述符中的源端口号。
8.一种堆叠系统中报文转发装置,可应用于包含两个以上成员设备的堆叠系统中任一成员设备的虚拟设备VD上,所述各成员设备被划分为两个以上VD,所述各成员设备上具有相同VD编号的VD合并为同一VD,其特征在于,所述装置包括:配置单元、接收单元、查找单元和转发单元;
所述配置单元,用于将本VD同与本VD所属的成员设备建立堆叠链路的成员设备上的VD编号相同的VD,通过所述堆叠链路相连,所述堆叠链路为共享堆叠链路;
所述接收单元,用于通过业务端口接收单播报文;
所述查找单元,用于当所述接收单元接收到单播报文时,在本地的转发表中查找;
所述转发单元,用于若根据所述查找单元查找的结果确定该单播报文需跨成员设备转发,通过所述配置单元配置的堆叠链路转发该单播报文。
9.根据权利要求8所述的装置,其特征在于,
所述查找单元,用于根据该单播报文携带的目的MAC地址和目的VLAN ID在本地转发表中查找对应的目的端口号,若确定查找到的目的端口号不为本成员设备的成员端口号,则确定该单播报文需跨成员设备转发。
10.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:确定单元;
所述转发单元,进一步用于在通过所述堆叠链路转发该单播报文时,进一步在该单播报文中携带描述符,该描述符包含有所述查找到的目的端口号和本VD的VD编号;如果所述确定单元确定该单播报文携带的描述符中的目的端口号是本成员设备的成员端口号,则删除该单播报文的描述符,并通过所述目的端口号对应的端口转发;否则,根据所述目的端口号确定到达目的成员设备的堆叠链路,并通过所述到达目的成员设备的堆叠链路转发所述单播报文;
所述接收单元,进一步用于接收由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文;
所述确定单元,用于在所述接收单元接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,确定该单播报文携带的描述符中的目的端口号是否为本成员设备的成员端口号。
11.根据权利要求8所述的装置,其特征在于,所述装置进一步包括:确定单元;
所述转发单元,进一步用于在通过所述堆叠链路转发该单播报文时,进一步在该单播报文中携带描述符,该描述符包含有本VD的VD编号;如果所述确定单元确定查找到的目的端口号是本成员设备的成员端口号,则删除该单播报文的描述符,并通过所述目的端口号对应的端口转发;否则,根据所述目的端口号确定到达目的成员设备的堆叠链路,并通过所述到达目的成员设备的堆叠链路转发所述单播报文;
所述接收单元,进一步用于接收由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文;
所述确定单元,用于在所述接收单元接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,根据该单播报文携带的目的MAC地址和目的VLAN ID在本地转发表中查找对应的目的端口号,并确定查找到的目的端口号是否为本成员设备的成员端口号。
12.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:第一学习单元;
所述转发单元,通过所述堆叠链路转发该单播报文时携带的描述符还包含源端口号,该源端口号为该单播报文进入所述堆叠系统的业务端口的端口号;
所述第一学习单元,用于当所述接收单元通过业务端口接收到单播报文时,在本地对该单播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为接收该单播报文的业务端口的端口号;当所述接收单元接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的单播报文时,在本地对该单播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为所述单播报文携带的描述符中的源端口号。
13.根据权利要求8-12任意一项所述的装置,其特征在于,
所述接收单元,用于通过业务端口接收多播报文;接收由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文;
所述查找单元,用于当所述接收单元通过业务端口接收到多播报文时,在本地获取多播组编号,并根据获取的多播组编号在该VD的多播组成员表中查找;当所述接收单元接收到由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文时,根据该多播报文中携带的多播组编号在本地的多播组成员表中查找;
所述转发单元,用于在所述查找单元根据获取的多播组编号在该VD的多播组成员表中查找到的每个成员端口上复制一份所述接收到的多播报文,若所述查找到的成员端口为堆叠端口,则在该多播报文中携带包含有VD编号和多播组编号的描述符,并通过所述堆叠链路转发;若所述查找到的成员端口为业务端口,将所述复制的多播报文通过所述查找到的成员端口转发;删除所述接收单元接收的多播报文携带的描述符,并在所述查找单元根据该多播报文中携带的多播组编号在本地的多播组成员表中查找到的每个成员端口上复制一份,若所述查找到的成员端口为堆叠端口,则在所述复制的多播报文中携带包含有本VD的VD编号和多播组编号的描述符,并通过所述查找到成员端口转发;若所述查找到的成员端口为业务端口,将所述复制的多播报文通过所述查找到的成员端口转发。
14.根据权利要求13所述的装置,其特征在于,所述装置进一步包括:第二学习单元;
所述转发单元,通过所述堆叠链路转发的多播报文中携带的描述符还包含源端口号,其中,所述源端口号为该多播报文进入所述堆叠系统的业务端口的端口号;
所述第二学习单元,用于当所述接收单元通过业务端口接收到多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为接收该多播报文的端口号;当所述接收单元在由所述堆叠链路的堆叠端口依据描述符中携带的VD编号分发给自身处理的多播报文时,在本地对该多播报文进行源MAC地址学习,生成包含源MAC地址、源VLAN ID和源端口号的转发表项,其中,所述源端口号为所述多播报文携带的描述符中的源端口号。
CN201210281519.2A 2012-08-09 2012-08-09 一种堆叠系统中报文转发方法和装置 Active CN103581274B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201210281519.2A CN103581274B (zh) 2012-08-09 2012-08-09 一种堆叠系统中报文转发方法和装置
US14/399,964 US9509610B2 (en) 2012-08-09 2013-07-23 Forwarding packet in stacking system
EP13827616.7A EP2883123B1 (en) 2012-08-09 2013-07-23 Forwarding packet in stacking system
PCT/CN2013/079893 WO2014023160A1 (en) 2012-08-09 2013-07-23 Forwarding packet in stacking system
US15/338,765 US9960998B2 (en) 2012-08-09 2016-10-31 Forwarding packet in stacking system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210281519.2A CN103581274B (zh) 2012-08-09 2012-08-09 一种堆叠系统中报文转发方法和装置

Publications (2)

Publication Number Publication Date
CN103581274A CN103581274A (zh) 2014-02-12
CN103581274B true CN103581274B (zh) 2017-04-12

Family

ID=50052189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210281519.2A Active CN103581274B (zh) 2012-08-09 2012-08-09 一种堆叠系统中报文转发方法和装置

Country Status (4)

Country Link
US (2) US9509610B2 (zh)
EP (1) EP2883123B1 (zh)
CN (1) CN103581274B (zh)
WO (1) WO2014023160A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704023B (zh) * 2014-11-26 2020-03-13 中兴通讯股份有限公司 一种堆叠系统的报文转发方法、装置及堆叠设备
CN104639671B (zh) * 2015-02-11 2018-03-20 新华三技术有限公司 堆叠中的mac地址学习控制方法和设备
CN107846357A (zh) * 2017-12-22 2018-03-27 杭州迪普科技股份有限公司 一种基于流定义的报文转发方法及装置
CN109104376B (zh) * 2018-07-16 2022-04-08 新华三技术有限公司 一种数据的转发方法、装置、堆叠设备和计算机可读介质
CN109088830B (zh) * 2018-07-19 2021-06-29 新华三技术有限公司 一种端口状态同步方法及装置
CN109587027B (zh) * 2018-11-29 2021-05-25 新华三信息安全技术有限公司 一种报文转发方法及装置
CN110190995B (zh) * 2019-05-28 2022-04-26 新华三技术有限公司 报文处理方法及装置
CN110519079B (zh) * 2019-08-01 2022-11-25 新华三大数据技术有限公司 一种数据转发方法、装置、网板、网络设备和存储介质
CN112104712B (zh) * 2020-08-31 2022-08-30 新华三技术有限公司 一种堆叠系统成员设备及其远程管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572646A (zh) * 2009-06-15 2009-11-04 杭州华三通信技术有限公司 一种远程irf堆叠的实现方法和设备
CN101599909A (zh) * 2009-07-08 2009-12-09 杭州华三通信技术有限公司 一种流量转发的方法和装置
CN102469021A (zh) * 2010-11-18 2012-05-23 杭州华三通信技术有限公司 一种智能弹性框架系统中转发业务流量的方法和成员设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684423B2 (en) * 2006-06-30 2010-03-23 Sun Microsystems, Inc. System and method for virtual network interface cards based on internet protocol addresses
JP4676403B2 (ja) * 2006-08-30 2011-04-27 株式会社日立製作所 通信装置及び通信システム
CN101699789B (zh) * 2009-09-25 2011-11-23 江苏华丽网络工程有限公司 以太网设备堆叠系统的设计方法
US8831013B2 (en) * 2009-10-08 2014-09-09 Brocade Communications Systems, Inc. Virtual and logical inter-switch links
CN101820392B (zh) * 2010-03-26 2015-08-12 中兴通讯股份有限公司 一种实现多业务转发的方法和网络处理器
US8243729B2 (en) * 2010-07-01 2012-08-14 Force10 Networks, Inc. Multiple chassis stacking using front end ports

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572646A (zh) * 2009-06-15 2009-11-04 杭州华三通信技术有限公司 一种远程irf堆叠的实现方法和设备
CN101599909A (zh) * 2009-07-08 2009-12-09 杭州华三通信技术有限公司 一种流量转发的方法和装置
CN102469021A (zh) * 2010-11-18 2012-05-23 杭州华三通信技术有限公司 一种智能弹性框架系统中转发业务流量的方法和成员设备

Also Published As

Publication number Publication date
EP2883123A4 (en) 2016-03-23
EP2883123A1 (en) 2015-06-17
US9509610B2 (en) 2016-11-29
US9960998B2 (en) 2018-05-01
US20150163139A1 (en) 2015-06-11
CN103581274A (zh) 2014-02-12
US20170163533A1 (en) 2017-06-08
EP2883123B1 (en) 2017-04-12
WO2014023160A1 (en) 2014-02-13

Similar Documents

Publication Publication Date Title
CN103581274B (zh) 一种堆叠系统中报文转发方法和装置
Wang et al. A survey on data center networking for cloud computing
CN104426681B (zh) 端点的分布式多播
CN104823405B (zh) 对于基于mpls的虚拟私有云联网的ip组播服务离开过程
US9973422B2 (en) Traffic interconnection between virtual devices
CN103338161B (zh) 一种实现跨设备聚合的方法和设备
CN104780088A (zh) 一种业务报文的传输方法和设备
CN104468358A (zh) 分布式虚拟交换机系统的报文转发方法及设备
CN104521198A (zh) 用于虚拟以太网接口绑定的系统和方法
CN104811396A (zh) 一种负荷均衡的方法及系统
CN102986172A (zh) 虚拟集群交换
CN104104570A (zh) Irf系统中的聚合处理方法及装置
CN106209648B (zh) 跨虚拟可扩展局域网的组播数据报文转发方法和设备
CN104348724A (zh) 一种支持多租户的数据转发方法和装置
CN103401797A (zh) 一种报文处理方法和设备
CN106209689B (zh) 从vxlan至vlan的组播数据报文转发方法和设备
CN101789949B (zh) 一种实现负荷分担的方法和路由设备
US9397952B2 (en) Segment based switching architecture with hybrid control in SDN
CN109660442A (zh) Overlay网络中组播复制的方法及装置
CN106470155A (zh) 一种虚拟机数据的转发方法、sdn控制器和sdn系统
CN108173691A (zh) 一种跨设备聚合的方法及装置
CN112887134B (zh) 一种网络服务网格编排方法、装置、设备及介质
CN101370009B (zh) 基于Linux内核网络子系统的虚拟网络块框架的构建方法
CN105530179A (zh) 数据报文处理方法以及网络设备
CN104394075B (zh) 一种报文传输的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address