CN101494581B - 在网络处理器上实现用户端口二层互通的方法 - Google Patents
在网络处理器上实现用户端口二层互通的方法 Download PDFInfo
- Publication number
- CN101494581B CN101494581B CN2008100008258A CN200810000825A CN101494581B CN 101494581 B CN101494581 B CN 101494581B CN 2008100008258 A CN2008100008258 A CN 2008100008258A CN 200810000825 A CN200810000825 A CN 200810000825A CN 101494581 B CN101494581 B CN 101494581B
- Authority
- CN
- China
- Prior art keywords
- multicast group
- port
- source port
- secondary multicast
- loopback
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了在网络处理器上实现用户端口二层互通的方法,包括以下步骤:根据端口号确定端口所在的二级组播组的号码;查询二级组播组是否存在,如果二级组播组不存在,则创建二级组播组以及二级组播组的环回DID(Destination ID),并将环回DID添加到对应的一级组播组中;以及将端口的组播DID添加到二级组播组中。通过本发明,可以避免在用户端口二层互通打开情况下的组播复制中产生广播风暴。
Description
技术领域
本发明涉及一种在APP(Agere Payload Plus)网络处理器上实现用户端口二层互通的方法。
背景技术
在现有网络中,DSLAM(数字用户线接入复用端)往往是用作一个半桥转发系统,用户端口之间经常是无法互通的。但是,某些特殊应用对于DSLAM系统的用户端口二层互通功能也提出了要求。在这种应用中,对于从用户端口进入DSLAM转发系统的所有报文,都会查询MAC地址表得到目的端口后转发。而目的端口可以是DSLAM转发系统中的任何端口,包括用户端口。
然而,现有技术中,在进行组播复制时,容易产生广播风暴。
发明内容
考虑到上述问题而做出本发明,为此,本发明的主要目的在于,提供一种在网络处理器上实现用户端口二层互通的方法。
根据本发明的在网络处理器上实现用户端口二层互通的方法,包括以下步骤:根据端口号确定端口所在的二级组播组的号码;查询二级组播组是否存在,如果二级组播组不存在,则创建二级组播组以及二级组播组的环回DID(目标ID,Destination ID),并将环回DID添加到对应的一级组播组中;以及将端口的组播DID添加到二级组播组中;对组播数据流的复制过程,复制过程包括以下步骤:对流入一级组播组的组播数据流进行复制和转发;以及获得组播数据流的源端口号,并确定源端口是否在二级组播组中,如果源端口在二级组播组中,则将组播数据流转发到二级组播组中除源端口之外的其他端口,否则,将组播数据流直接转发到二级组播组中。
此外,在该方法中,二级组播组的号码等于端口号除以255。
此外,在该方法中,在环回DID的脚本参数区中保存二级组播组的最小端口号和最大端口号。
此外,在该方法中,还包括对组播数据流的复制过程,复制过程包括以下步骤:对流入一级组播组的组播数据流进行复制和转发;以及获得组播数据流的源端口号,并确定源端口是否在二级组播组中,如果源端口在二级组播组中,则将组播数据流转发到二级组播组中除源端口之外的其他端口,否则,将组播数据流直接转发到二级组播组中。
此外,在该方法中,确定源端口是否在二级组播组中的过程包括:判断源端口号是否在最小端口号和最大端口号之间,如果源端口号在最小端口号和最大端口号之间,则源端口在二级组播组中,否则,源端口不在二级组播组中。
此外,在该方法中,通过环回头中的标识位来表示源端口是否在二级组播组中。
此外,在该方法中,当环回头中的标识位为1时表示源端口在二级组播组中,以及当标识位为0时表示源端口不在二级组播组中。
通过本发明的上述方面,在进行组播复制时需要跳过源端口,以避免产生广播风暴。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是示出了根据本发明实施例的在网络处理器上实现用户端口二层互通的方法的流程图;
图2是示出了组播组和组播DID的分配情况示意图;以及
图3是示出了组播数据流复制的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是示出了根据本发明实施例的在网络处理器上实现用户端口二层互通的方法的流程图。
如图1所示,包括以下步骤:步骤S102,根据端口号确定端口所在的二级组播组的号码;步骤S104,查询二级组播组是否存在,如果二级组播组不存在,则创建二级组播组以及二级组播组的环回DID,并将环回DID添加到对应的一级组播组中;以及步骤S106,将端口的组播DID添加到二级组播组中。
此外,在该方法中,二级组播组的号码等于端口号除以255。
此外,在该方法中,在环回数据标识的脚本参数区中保存二级组播组的最小端口号和最大端口号。
此外,在该方法中,还包括对组播数据流的复制过程,复制过程包括以下步骤:对流入一级组播组的组播数据流进行复制和转发;以及获得组播数据流的源端口号,并确定源端口是否在二级组播组中,如果源端口在二级组播组中,则将组播数据流转发到二级组播组中除源端口之外的其他端口,否则,将组播数据流直接转发的二级组播组中。
此外,在该方法中,确定源端口是否在二级组播组中的过程包括:判断源端口号是否在最小端口号和最大端口号之间,如果源端口号在最小端口号和最大端口号之间,则源端口在二级组播组中,否则,源端口不在二级组播组中。
此外,在该方法中,通过环回头中的标识位来表示源端口是否在二级组播组中。
此外,在该方法中,当环回头中的标识位为1时表示源端口在二级组播组中,以及当标识位为0时表示源端口不在二级组播组中。
图2是示出了组播组和组播DID的分配情况示意图。图3是示出了组播数据流复制的流程图。
结合图2和图3进行详细描述。其中,图3中,黑色箭头表示数据流的走向。
本发明的实现主要包括两个方面,一是向组播组中添加端口的流程,二是组播数据流的复制流程。
向组播组/VLAN中添加用户的流程如下:
步骤1,端口所在的二级组播组号=端口号/255;
步骤2,查询对应的二级组播组是否为空;
步骤3,如果该二级组播组为空,那么创建该二级组播组,同时创建其对应环回DID并将该组播组中的最小端口号和最大端口号存放在其SED脚本参数区中,最后将该环回DID添加到一级组播组中;以及
步骤4,将端口的组播DID添加到该二级组播组中。
组播数据流进入一级组播组后,首先在其中进行复制和转发。复制出来的数据流拷贝,全部被发往环回GE(千兆以太网)口。在环回DID的SED脚本中,首先取出fTransmit()传送过来的源端口号,并将其和SED脚本参数区中存放的最小和最大端口号进行比较,以判断源端口是否在该环回DID对应的二级组播组中。如果源端口不在对应的二级组播组中,那么将环回头中的SkipSendFlag清零,查表得到与环回DID相对应的二级组播组DID,并将其填到环回头中去。如果源端口在对应的二级组播组中,那么将环回头中的SkipSendFlag设置为1,查表得到源端口对应的组播DID,并将其填到SED脚本参数区中(SED脚本参数区的结构为SkipSendFlag:1Byte+二级组播组DID:3Bytes+源端口组播DID:3Bytes)。经过环回DID之后,报文被再次环回到环回口。在这里,FPL首先查看SkipSendFlag位。如果该位为0,那么直接取出环回头中二级组播组DID,并将报文fTransmit()过去。否则,取出环回头中的源端口组播DID,并将报文fTransmit()过去。
综上所述,通过本发明,在进行组播复制时需要跳过源端口,以避免产生广播风暴。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种在网络处理器上实现用户端口二层互通的方法,其特征在于,包括以下步骤:
根据端口号确定所述端口所在的二级组播组的号码;
查询所述二级组播组是否存在,如果所述二级组播组不存在,则创建所述二级组播组以及所述二级组播组的环回目标ID,并将所述环回目标ID添加到对应的一级组播组中;
将所述端口的组播目标ID添加到所述二级组播组中;
对组播数据流的复制过程,所述复制过程包括以下步骤:
对流入所述一级组播组的组播数据流进行复制和转发;以及获得所述组播数据流的源端口号,并确定所述源端口是否在所述二级组播组中,如果所述源端口在所述二级组播组中,则将所述组播数据流转发到所述二级组播组中除所述源端口之外的其他端口,否则,将所述组播数据流直接转发到所述二级组播组中。
2.根据权利要求1所述的方法,其特征在于,所述二级组播组的号码等于所述端口号除以255。
3.根据权利要求2所述的方法,其特征在于,在所述环回目标ID的脚本参数区中保存所述二级组播组的最小端口号和最大端口号。
4.根据权利要求3所述的方法,其特征在于,所述确定所述源端口是否在所述二级组播组中的过程包括:
判断所述源端口号是否在所述最小端口号和所述最大端口号之间,如果所述源端口号在所述最小端口号和所述最大端口号之间,则所述源端口在所述二级组播组中,否则,所述源端口不在所述二级组播组中。
5.根据权利要求4所述的方法,其特征在于,通过环回头中的标识位来表示所述源端口是否在所述二级组播组中。
6.根据权利要求5所述的方法,其特征在于,当所述标识位为1时表示所述源端口在所述二级组播组中,以及当所述标识位为0时表示所述源端口不在所述二级组播组中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100008258A CN101494581B (zh) | 2008-01-22 | 2008-01-22 | 在网络处理器上实现用户端口二层互通的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100008258A CN101494581B (zh) | 2008-01-22 | 2008-01-22 | 在网络处理器上实现用户端口二层互通的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101494581A CN101494581A (zh) | 2009-07-29 |
CN101494581B true CN101494581B (zh) | 2012-07-18 |
Family
ID=40924997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100008258A Expired - Fee Related CN101494581B (zh) | 2008-01-22 | 2008-01-22 | 在网络处理器上实现用户端口二层互通的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101494581B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934892B (zh) * | 2020-07-09 | 2021-08-17 | 北京航空航天大学 | 一种基于多播的民航信息高效共享方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532233B1 (en) * | 1998-10-19 | 2003-03-11 | Nec Corporation | Multicast communication method and apparatus |
CN1416253A (zh) * | 2002-08-07 | 2003-05-07 | 华为技术有限公司 | 实现组播代理多粒度用户管理的方法 |
CN1486038A (zh) * | 2003-08-29 | 2004-03-31 | 北京港湾网络有限公司 | 组播精确转发的控制方法 |
CN1543132A (zh) * | 2003-04-29 | 2004-11-03 | 华为技术有限公司 | 跨虚拟局域网组播的实现方法 |
US7024469B1 (en) * | 2000-08-28 | 2006-04-04 | Avaya Technology Corp. | Medium access control (MAC) protocol with seamless polling/contention modes |
CN1913487A (zh) * | 2005-08-10 | 2007-02-14 | 中兴通讯股份有限公司 | 三层交换环境防止组播源侧流扩散的方法及其装置 |
CN1980246A (zh) * | 2006-12-07 | 2007-06-13 | 杭州华为三康技术有限公司 | 二层组播流转发方法和二层组播设备 |
-
2008
- 2008-01-22 CN CN2008100008258A patent/CN101494581B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532233B1 (en) * | 1998-10-19 | 2003-03-11 | Nec Corporation | Multicast communication method and apparatus |
US7024469B1 (en) * | 2000-08-28 | 2006-04-04 | Avaya Technology Corp. | Medium access control (MAC) protocol with seamless polling/contention modes |
CN1416253A (zh) * | 2002-08-07 | 2003-05-07 | 华为技术有限公司 | 实现组播代理多粒度用户管理的方法 |
CN1543132A (zh) * | 2003-04-29 | 2004-11-03 | 华为技术有限公司 | 跨虚拟局域网组播的实现方法 |
CN1486038A (zh) * | 2003-08-29 | 2004-03-31 | 北京港湾网络有限公司 | 组播精确转发的控制方法 |
CN1913487A (zh) * | 2005-08-10 | 2007-02-14 | 中兴通讯股份有限公司 | 三层交换环境防止组播源侧流扩散的方法及其装置 |
CN1980246A (zh) * | 2006-12-07 | 2007-06-13 | 杭州华为三康技术有限公司 | 二层组播流转发方法和二层组播设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101494581A (zh) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100442775C (zh) | 一种在MAC in MAC网络中实现组播的方法 | |
CN101258414B (zh) | 增强型多播vlan注册 | |
US7590115B1 (en) | Exchange of control information for virtual private local area network (LAN) service multicast | |
US7855950B2 (en) | Congruent forwarding paths for unicast and multicast traffic | |
CN101729274B (zh) | Pbb_vpls网络中实现组播的方法 | |
CN100542127C (zh) | 一种基于多业务传输平台的组播实现方法 | |
CN100471162C (zh) | 一种发布及处理虚线路信息的方法和供应商边缘设备 | |
US20090122732A1 (en) | Half-duplex multicast distribution tree construction | |
JP2008079175A (ja) | フレーム転送システム | |
WO2009082905A1 (fr) | Procédé système et dispositif commutateur permettant l'établissement dynamique de réseau local virtuel de multidiffusion | |
WO2007054006A1 (fr) | Station de base de système d’accès sans fil large bande et système pour réaliser un service de diffusion de groupe | |
WO2011140921A1 (zh) | 虚拟专用局域网业务vpls的数据帧的转发方法、设备和系统 | |
KR20040001206A (ko) | Mpls vpn에서의 멀티캐스트 트리 설정/해지 방법및 멀티캐스팅 서비스 제공 방법 | |
CN102347906B (zh) | 一种组播方法及组播网络系统 | |
CN101494581B (zh) | 在网络处理器上实现用户端口二层互通的方法 | |
CN102377648A (zh) | 网络系统及其远程镜像的实现方法 | |
CN101247541B (zh) | 移动通信网络多媒体组播业务的实现方法 | |
CN106357540B (zh) | 一种组播控制方法及装置、组播系统 | |
CN102025626B (zh) | 转发组播数据报文的方法和提供商边缘设备 | |
CN104285413A (zh) | Igmp/mld转换 | |
CN102136988A (zh) | 组播数据报文传送方法和装置 | |
CN102934394A (zh) | 用于特定源转码组播的方法和装置 | |
CN103338153B (zh) | 一种组播报文传输方法和pe设备 | |
CN107018081A (zh) | 一种用于实现点对多点的1+1保护的方法 | |
EP3609127B1 (en) | Method for control signalling overhead in an access network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120718 Termination date: 20180122 |
|
CF01 | Termination of patent right due to non-payment of annual fee |