CN1509020A - 城域网传输设备中数据报文广播/多播的实现方法 - Google Patents
城域网传输设备中数据报文广播/多播的实现方法 Download PDFInfo
- Publication number
- CN1509020A CN1509020A CNA021567034A CN02156703A CN1509020A CN 1509020 A CN1509020 A CN 1509020A CN A021567034 A CNA021567034 A CN A021567034A CN 02156703 A CN02156703 A CN 02156703A CN 1509020 A CN1509020 A CN 1509020A
- Authority
- CN
- China
- Prior art keywords
- message
- multicast
- vpi
- group
- broadcasting packet
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种城域网传输设备中数据报文广播/多播的实现方法,其特征在于,该方法包括:将来自端口的广播报文/多播报文复制;在所有广播报文/多播报文复制件上分别加上所属广播域/多播组中的一个虚通道标识,所述广播报文/多播报文复制件与广播域/多播组中的虚通道一一对应;按照虚通道标识将广播报文/多播报文复制件发送至相应虚通道中。本发明通过在城域网设备的数据业务接入单元中采用标记方法实现报文的广播/多播,并且灵活、易控。
Description
技术领域
本发明涉及以太网的多播和广播技术,特别是关于城域网传输设备中数据报文广播/多播的实现方法。
背景技术
在以太网中,所有以太帧的开始96位为源介质访问控制(MAC,MediaAccess Control)地址和目的MAC地址两部分,并且其定义都是相同的。目的MAC地址共有48位,分为单播、广播和多播三类。单播地址第一个字节的最低位为0,如:00-E0-FC-00-00-06;多播地址第一个字节的最低位为1,如:01-E0-FC-00-00-06;广播地址的48位全部为1,即:FF-FF-FF-FF-FF-FF。在实际处理中,并不是具有广播地址的报文,简称广播报文,才做广播处理,而对于找不到目的端口的单播报文同样也做广播处理。
参见图1所示,以太网报文处理流程如下:
步骤101、桥接设备收到以太网报文后,首先判断目的MAC地址是否等于全1,如果为全1,表明该报文为广播报文,且直接将其广播处理,否则,执行步骤102;
步骤102、判断该报文目的MAC地址第一个字节的最低位是否为1,如果为1,则将其进行多播处理,否则,执行步骤103;
步骤103、判断该报文是否查找到目的端口,如果是,则将其进行单播处理,否则,将其进行广播处理。
参见图2所示,现有技术中报文广播处理的具体过程如下:
步骤201、将一个需要广播的报文送入广播处理入口;
步骤202、复制一份该广播报文;
步骤203、将复制后的报文绑定到一个出端口队列中等待调度;
步骤204、判断该报文是否还有其它端口,如果有,执行步骤202,否则,结束。
从上述步骤可以看出,复制后的报文在局域网(LAN)内所有物理端口中逐一绑定后,压入出端口队列,等待发送。并且,上述过程只能在以太网的桥接设备中实现,而对于城域网设备的数据业务接入单元却显的力不从心。这主要是由于桥接设备中一个物理端口只对应一个逻辑通道,需要广播的报文能和唯一的物理通道绑定;而城域网设备中数据业务接入单元的上行业务采用虚通道技术,每一个虚通路由都有对应的唯一标识(Tag),该标识是网络链路端点之间的一种逻辑联系,是在两个或多个端点之间传送报文的通信链路,用于端点之间信息转移。并且,具有同一标识符的一组报文流,在传输过程中组合在一起构成虚通道(VC)。也就是说,同一物理端口中存在多个虚通道,而每个虚通道在逻辑上是独立的,因此需要广播的报文也就不能识别逻辑上的虚通道,导致无法发送多播或广播报文。
发明内容
有鉴于此,本发明提供了一种城域网传输设备中数据报文广播/多播的实现方法,使其在城域网设备中实现报文的广播/多播。
城域网传输设备中数据报文广播/多播实现方法,是这样实现的。
A.将来自端口的广播报文/多播报文复制;在所有广播报文/多播报文复制件上分别加上所属广播域/多播组中的一个虚通道标识;所述广播报文/多播报文复制件与广播域/多播组中的虚通道一一对应;
B.按照虚通道标识将广播报文/多播报文复制件发送至相应虚通道中。
所述步骤A进一步包括:
A1.预先设置虚通道标识索引表,用于存放端口广播域/多播组内所有虚通道标识;
A2.根据来自端口的广播报文/多播报文所属端口和虚拟局域网(VLAN)域,确定该广播报文/多播报文的群索引和转发路由,然后将确定的群索引值加在该广播/多播报文头部,再根据确定的转发路由将该含有群索引值的广播报文/多播报文送入交换网模块;
A3.交换网模块收到该含有群索引值的广播报文/多播报文后,复制该广播报文/多播报文,且复制份数与步骤A1中所述虚通道标识索引表含有的虚通道标识数量相等,然后对广播报文/多播报文复制件进行调度;
A4.调度出广播报文/多播报文复制件至发送处理模块,发送处理模块根据每个广播报文/多播报文复制件中含有的群索引值索引虚通道标识索引表得到对应的虚通道标识,将对应的虚通道标识加在每个广播报文/多播报文复制件的头部。
来自端口的报文为广播报文,步骤A1中所述虚通道标识索引表存储广播域中所有虚通道标识。
来自端口的报文为多播报文,步骤A1中所述虚通道标识索引表存储多播组中所有虚通道标识。
来自端口的报文为多播报文,预先设置的虚通道标识索引表存储广播域中所有虚通道标识,所述步骤A1进一步包括:预先设置多播过滤表,用于存储该多播组内的所有虚通道标识;并且在步骤A4给多播报文添加完虚通道标识后,索引多播过滤表,根据多播过滤表中含有的虚通道标识,丢弃不属于多播组内的虚通道标识的多播报文复制件。
步骤A3中所述调度为串行调度方式。
步骤A4所述索引虚通道标识索引表,为报文添加虚通道标识的过程包括:
根据广播报文/多播报文复制件含有的群索引值索引虚通道标识索引表,读取虚通道标识索引表中的标识指针值,读取群索引值加上该标识指针值处的标识,将该标识封装在报文头部;
将该标识指针值加上1,判断标识指针是否大于该广播域/多播组所包含的虚通道数,如果不大于,则将标识指针存储回表项的原位置,否则,则将标识指针初始化后,存储回原位置。
本发明通过采用标记方法,实现在城域网设备的数据业务接入单元中报文的广播和多播,所有操作均可由预先设置的软件完成,因此该方法灵活、易控,并且对传统的广播/多播技术是一个很好的完善和补充。
附图说明
图1为以太网报文处理流程图;
图2为现有技术中广播报文处理流程图;
图3为本发明实现城域传输设备中数据报文广播/广播系统示意图;
图4为本发明处理广播报文的具体流程图;
图5为虚通道广播报文的复制件调度示意图;
图6为虚通道标识索引表;
图7为多播过滤表示意图。
具体实施方式
本发明的核心内容是将需要广播或多播的报文复制成与所需虚通道数量相等的复制件,且在所有广播或多播报文复制件的帧首部分别加上对应虚通道号,然后根据虚通道号将广播或多播报文的复制件分别发送至对应虚通道中。
下面结合附图和具体实施例进一步说明本发明的具体实施方案。
如图3所示,实现城域传输设备中数据单元广播的系统包括端口301、接收处理模块302、交换网模块303、发送处理模块304和虚通道305等。其中,接收处理模块302和发送处理模块303为城域传输设备上行传输中使用的处理模块。
参见图4所示,本发明处理报文的具体过程如下:
步骤401、报文从端口进入接收处理模块,接收处理模块根据报文的MAC地址,判断该报文是否是多播报文,如果不是,执行步骤402,否则,执行步骤403;
步骤402、将该报文进行单播处理;
步骤403、判断该报文是否是广播报文,如果不是,则执行步骤404,否则,执行步骤405;
步骤404、将该报文进行多播处理;
步骤405、根据广播报文所属端口和虚拟局域网(VLAN)域,确定群索引和转发路由;
步骤406、将步骤405确定的群索引值添加在该报文的头部;
步骤407、再根据步骤405确定的转发路由将该广播报文送入交换网模块;
步骤408、交换网模块收到该广播报文后,复制广播报文,且复制的份数和所用虚通道标识索引表含有的虚通道数相等;
步骤409、将所有广播报文复制件送入同一出端口队列进行调度;
步骤410、交换网模块调度出的一个含有群索引值的广播报文复制件,且送入发送处理模块;
步骤411、发送处理模块收到含有群索引的广播报文后,将群索引值从广播报文中分离出来,利用该群索引值索引虚通道标识索引表得到对应的虚通道号,再将每个广播报文复制件加上虚通道号;
步骤412、根据该广播报文的虚通道号,发送处理模块将该广播报文发送至相应虚通道中。
从上述过程中可以看出,由于每个去往虚通道的报文都具有确定的目的物理端口,所以当多个虚通道属于同一个广播域时,广播报文需要进行复制,本实施例中由交换网硬件完成数据报文的复制,并且,在报文出交换网,到达物理端口前,广播报文已被复制成和虚通道数目相等的多份报文,但这时每份报文还没有和虚通道一一对应。
为了防止报文乱续,在步骤409中对广播报文的复制件要进行统一调度。如图5所示,虚通道所在的物理端口对应一个调度器,调度器下挂接多个等待调度的队列。其中,一个调度队列作为单播报文拷贝的专用队列,另一个调度队列作为多播或广播报文的拷贝件的专用队列,而且所有多播和广播报文的拷贝件都入到该队列中。因此,所有拷贝件都能够串行的、按顺序从物理端口出去,同样也是按顺序去读取虚通道标识,保证报文不会乱序。
并且,由于广播报文在复制之前会获得一个群索引(Group_Index),该群索引指向虚通道标识索引表。当广播/多播报文被交换网复制后,每份报文都将存在该索引值,并且都指向虚通道标识的索引表。
图6所示为虚通道标识索引表,该索引表宽度为2个字节,其中第0个字节为N,N为自然数,表示有N个报文与N个虚通道相对应,也就是需要对N个报文分别打上N个不同的标识(Tag),这里,该标识包括Tag1+Tag2;第1个字节标识指针(Tag_Pointer)表示当前报文所需要打上标识Tag的偏移量,也就是从该处读取虚通道标识。当存在多个线程或者任务并行处理时,需要对每个线程或者任务的读写进行互斥操作。
系统读取虚通道标识以及将其封装具体操作过程如下:
A.先读第1个字节处的Tag_Pointer的值;
B.以群索引(Group_Index)与Tag_Pointer之和为偏移量,读取(Group_Index+Tag_Pointer)处的Tag(包括Tag1+Tag2)标识,封装在报文头部;
C.将Tag_Pointer加1;
D.判断Tag_Pointer是否等于N,如果不等于N,则将Tag_Pointer存储回表项的原来位置;如果等于N,则将Tag_Pointer赋值“0”后,再存储回表项的原来位置;
F、下一个报文重复步骤A~D。
其中,上述Tag_Pointer初始化值为0。
另外,上述实现报文的广播过程同样可以适用多播报文,只是多播报文在对应多播组内进行广播,而不是将报文转发到系统所有虚通道中,因此,在这种情况下,虚通道标识索引表是存放多播组内所有的虚通道标识。但是,如果多播报文与广播报文使用的虚通道标识索引表是一样的,那么只要在步骤411和步骤412之间增加丢弃被打上不属于该多播组中的虚通道标识的报文的过程即可,本实施例采用多播过滤表来过滤出不属于多播组的虚通道。
如图7所示,每个多播组对应一个多播过滤表,并且每个虚通道对应过滤表中的一位,虚通道号和多播过滤表中的比特位是一一对应的。如果一个比特位的值为1,则说明其对应的虚通道属于该多播组,若该比特位的值为0,则说明该比特位对应的虚通道不属于该多播组,则具有该虚通道号的多播报文需要被过滤。比如,图中0、4、5号虚通道对应的比特位为0,因此,被打上0、4、5虚通道标识的报文将被丢弃,而1、2、3等虚通道号对应比特位为1,则被打上1、2、3虚通道号的报文将发送到1、2、3通道中。
本发明在传统以太网端口的广播/多播技术基础上,在城域网传输产品中,采用标记技术实现了基于虚通道技术的多播和广播。所有操作由软件完成,因此灵活,易控,并且对传统的广播/多播技术是一个很好的完善和补充。
Claims (7)
1、城域网传输设备中数据报文广播/多播的实现方法,其特征在于,该方法包括以下步骤:
A.将来自端口的广播报文/多播报文复制;在所有广播报文/多播报文复制件上分别加上所属广播域/多播组中的一个虚通道标识;所述广播报文/多播报文复制件与广播域/多播组中的虚通道一一对应;
B.按照虚通道标识将广播报文/多播报文复制件发送至相应虚通道中。
2、根据权利要求1所述的方法,其特征在于,所述步骤A进一步包括:
A1.预先设置虚通道标识索引表,用于存放端口广播域/多播组内所有虚通道标识;
A2.根据来自端口的广播报文/多播报文所属端口和虚拟局域网(VLAN)域,确定该广播报文/多播报文的群索引和转发路由,然后将确定的群索引值加在该广播报文/多播报文头部,再根据确定的转发路由将该含有群索引值的广播报文/多播报文送入交换网模块;
A3.交换网模块收到该含有群索引值的广播报文/多播报文后,复制该广播报文/多播报文,且复制份数与步骤A1中所述虚通道标识索引表含有的虚通道标识数量相等,然后对广播报文/多播报文复制件进行调度;
A4.调度出广播报文/多播报文复制件至发送处理模块,发送处理模块根据每个广播报文/多播报文复制件中含有的群索引值索引虚通道标识索引表得到对应的虚通道标识,将对应的虚通道标识加在每个广播报文/多播报文复制件的头部。
3、根据权利要求2所述的方法,其特征在于,来自端口的报文为广播报文,步骤A1中所述虚通道标识索引表存储广播域中所有虚通道标识。
4、根据权利要求2所述的方法,其特征在于,来自端口的报文为多播报文,步骤A1中所述虚通道标识索引表存储多播组中所有虚通道标识。
5、根据权利要求2所述的方法,其特征在于,来自端口的报文为多播报文,预先设置的虚通道标识索引表存储广播域中所有虚通道标识,
所述步骤A1进一步包括:预先设置多播过滤表,用于存储该多播组内的所有虚通道标识;
并且在步骤A4给多播报文添加完虚通道标识后,索引多播过滤表,根据多播过滤表中含有的虚通道标识,丢弃不属于多播组内的虚通道标识的多播报文复制件。
6、根据权利要求2所述的方法,其特征在于,步骤A3中所述调度为串行调度方式。
7、根据权利要求2所述的方法,其特征在于,步骤A4所述索引虚通道标识索引表,为报文添加虚通道标识的过程包括:
根据广播报文/多播报文复制件含有的群索引值索引虚通道标识索引表,读取虚通道标识索引表中的标识指针值,读取群索引值加上该标识指针值处的标识,将该标识封装在报文头部;
将该标识指针值加上1,判断标识指针是否大于该广播域/多播组所包含的虚通道数,如果不大于,则将标识指针存储回表项的原位置,否则,则将标识指针初始化后,存储回原位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02156703 CN1260919C (zh) | 2002-12-17 | 2002-12-17 | 城域网传输设备中数据报文广播/多播的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02156703 CN1260919C (zh) | 2002-12-17 | 2002-12-17 | 城域网传输设备中数据报文广播/多播的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1509020A true CN1509020A (zh) | 2004-06-30 |
CN1260919C CN1260919C (zh) | 2006-06-21 |
Family
ID=34236356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02156703 Expired - Lifetime CN1260919C (zh) | 2002-12-17 | 2002-12-17 | 城域网传输设备中数据报文广播/多播的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1260919C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008034389A1 (fr) * | 2006-09-18 | 2008-03-27 | Huawei Technologies Co., Ltd. | Procédé, système et terminal de transmission/réception en service de diffusion multidiffusion |
-
2002
- 2002-12-17 CN CN 02156703 patent/CN1260919C/zh not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008034389A1 (fr) * | 2006-09-18 | 2008-03-27 | Huawei Technologies Co., Ltd. | Procédé, système et terminal de transmission/réception en service de diffusion multidiffusion |
CN101150466B (zh) * | 2006-09-18 | 2011-04-06 | 华为技术有限公司 | 组播广播业务的传输方法、系统及终端 |
US8391197B2 (en) | 2006-09-18 | 2013-03-05 | Huawei Technologies Co., Ltd. | Method, system, and terminal for sending and receiving multicast broadcast service |
Also Published As
Publication number | Publication date |
---|---|
CN1260919C (zh) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101656659B (zh) | 一种混合业务流的缓存处理方法、存储转发方法及装置 | |
CN1146192C (zh) | 以太网交换芯片输出队列管理调度方法和装置 | |
CN1201532C (zh) | 具有中心调度程序的atm交换机及其调度方法 | |
CN1866910A (zh) | 一种基于vlan的数据报文传输方法和以太网桥设备 | |
CN1109231A (zh) | 临时存储数据包的方法和设备以及使用该设备的交换机 | |
CN1428976A (zh) | 在桥接的vlan中的用户优先级映射 | |
CN1825804A (zh) | 实现分布式系统板间通信的系统和方法 | |
CN1809022A (zh) | 以太网设备堆叠方法及其系统 | |
CN1859077A (zh) | 一种基于分组交换的时分复用数据传输方法 | |
CN1787489A (zh) | 将接口流量在多个网络处理器引擎中均担的方法 | |
CN1716904A (zh) | 一种基于多业务传输平台的组播实现方法 | |
CN102891809A (zh) | 多核网络设备报文按接口保序方法及系统 | |
CN1677982A (zh) | 虚拟局域网标识的可个别地编程的最高有效位 | |
CN101052011A (zh) | Mpls标签分配方法、系统和设备 | |
CN1731767A (zh) | 一种交换设备、实现交换设备的方法和交换方法 | |
CN1925464A (zh) | 通信设备 | |
CN1543132A (zh) | 跨虚拟局域网组播的实现方法 | |
CN1561062A (zh) | 实现网络数据多路传输的方法 | |
CN1968207A (zh) | 广播风暴控制系统及方法 | |
CN1260919C (zh) | 城域网传输设备中数据报文广播/多播的实现方法 | |
CN1725727A (zh) | 一种标签交换路径聚合方法 | |
CN1165142C (zh) | 网络数据包的输出队列方法 | |
CN1400785A (zh) | 异步传输模式交换系统中子端口多点传送的方法 | |
CN1669279A (zh) | 提高分组应用的存储器存取效率 | |
CN102546397A (zh) | 上链聚合端口的流量均衡方法、装置及设备 |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20060621 |
|
CX01 | Expiry of patent term |