CN104038429B - 一种在分布式转发设备上进行报文多播的方法及装置 - Google Patents
一种在分布式转发设备上进行报文多播的方法及装置 Download PDFInfo
- Publication number
- CN104038429B CN104038429B CN201310069356.6A CN201310069356A CN104038429B CN 104038429 B CN104038429 B CN 104038429B CN 201310069356 A CN201310069356 A CN 201310069356A CN 104038429 B CN104038429 B CN 104038429B
- Authority
- CN
- China
- Prior art keywords
- message
- multicast
- mac address
- address learning
- line card
- 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
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种在分布式转发设备上进行报文多播的方法及装置,本发明的方法包括:判断接入所述分布式转发设备的广播报文是否需要进行多播;若判断所述广播报文需要进行多播,则产生一个MAC地址学习消息;基于所产生的一个MAC地址学习消息,并通过复制所述广播报文,产生多播成员。本发明可以大大简化通用的MAC地址学习模块,对于相同内容的重复MAC地址学习消息进行裁剪,可以使得MAC地址学习模块效率大大提升。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种在诸如PTN设备的分布式转发设备上进行报文多播的方法及装置。
背景技术
PTN设备通常采用分布式架构,即设备包含多块线卡。每个报文都需要经过上行和下行两块线卡,才算完成转发动作。PTN设备实现的VPLS业务,需要在上行线卡完成目的MAC地址查找,在下行线卡完成源MAC地址学习,分布式的架构给MAC地址学习功能增加了复杂度。
分布式设备架构如附图1所示,包括例如作为上行线卡的线卡1和例如作为下行线卡的线卡2,以及交换单元。
对于每块下行线卡来说,通常设计有相对独立的MAC地址学习模块,微码对每个报文的源MAC进行查找,如果源MAC不存在或者发生迁移,则产生固定格式的接口消息传递给MAC地址学习模块,该消息需要包括MAC地址,VFIID,VLAN ID和端口信息。
PTN设备的转发能力通常达到线速,而学习速度不必也不能达到报文转发的速度,所以MAC地址学习模块通常会对收到的接口消息进行速率限制,超过MAC地址学习模块处理能力的消息将被丢弃。
对于多播到某块下行线卡的报文,如果下行线卡包含的成员大于1,则最终得到转发的报文成员个数大于1。如果对每个多播成员都进行MAC地址学习,就会在短时间内产生多个相同内容的接口消息,由于MAC地址学习模块存在消息的速率限制,则相同内容的接口消息会挤占其他接口消息,从而造成学习的效率降低。
附图2所示为在PTN设备上建立两个VRF,VRF1包括AC1,AC2,AC3和PW。VRF2包括AC1和AC2。从VFR1.AC1接入的广播报文,将在线卡2上产生两个多播成员,分别发往VRF1.PW1和VRF.AC3,同时产生两个相同的接口消息,进入MAC地址学习模块进行学习。下行线卡包含的AC和PW数目越多,则相同的接口消息数目越多,对MAC地址学习模块的压力越大。
发明内容
本发明的目的是提供一种在分布式转发设备上进行报文多播的方法,用于减少多播成员在下行线卡产生MAC地址学习消息。
发明的另一目的是提供一种实现上述方法的装置。
根据本发明第一方面,提供了一种在分布式转发设备上进行报文多播的方法,包括以下步骤:
判断接入所述分布式转发设备的广播报文是否需要进行多播;
若判断结果为所述广播报文需要进行多播,则产生用于报文多播的一个MAC地址学习消息;
基于所述的一个MAC地址学习消息,并通过复制所述广播报文,产生用于报文多播的多播成员。
优选地,由分布式转发设备上行线卡判断所述广播报文是否需要进行报文多播。
优选地,所述的产生一个MAC地址学习消息包括:
所述的上行线卡判断所述广播报文的学习标记是否使能;
若所述学习标记被判断为使能,则所述上行线卡通过查找下行线卡列表,确定分布式转发设备上需要进行报文多播的下行线卡;
每个需要进行报文多播的下行线卡分别产生所述的一个MAC地址学习消息。
优选地,分布式转发设备的交换单元通过把所接入的广播报文分别复制给每个所述下行线卡,使所述广播报文进入下行线卡。
优选地,复制所述官博报文包括:所述下行线卡把广播报文复制自己的需要进行报文多播的多个成员端口。
优选地,每个需要进行报文多播的下行线卡分别产生所述的一个MAC地址学习消息的步骤包括:
所述下行线卡判断该广播报文携带的学习标记是否使能;
若所述学习标记被判断为使能,则所述下行线卡通过查找MAC地址表,产生所述的一个MAC地址学习消息;
接着,所述下行线卡将所述学习标记置为不使能。
根据本发明第二方面,提供了一种在分布式转发设备上进行报文多播的装置,包括:
多播判断模块,用于判断接入所述分布式转发设备的广播报文是否需要进行多播;
MAC地址学习消息产生模块,用于在判断结果为所述广播报文需要进行多播时,产生用于报文多播的一个MAC地址学习消息;
多播成员产生模块,用于基于所述的一个MAC地址学习消息,并通过复制所述广播报文,产生用于报文多播的多播成员。
优选地,所述的MAC地址学习消息产生模块包括:
学习标记使能判断子模块,用于判断所述广播报文的学习标记是否使能;
查找子模块,用于在所述学习标记被判断为使能时,通过查找下行线卡列表,确定分布式转发设备上需要进行报文多播的下行线卡;
MAC消息产生子模块,用于产生对应于一个下行线卡的一个MAC地址学习消息。
优选地,所述的MAC消息产生子模块包括:
学习标记使能判断单元,用于判断进入下行线卡的广播报文携带的学习标记是否使能;
消息产生子模块,用于在所述学习标记被判断为使能时,通过查找MAC地址表,产生所述的一个MAC地址学习消息。
相对于现有技术,本发明的有益技术效果是,可以大大简化通用的MAC地址学习模块,对于相同内容的重复MAC地址学习消息进行裁剪,可以使得MAC地址学习模块效率大大提升。
附图说明
图1是分布式PTN设备的多线卡示意图;
图2是PTN设备上两个VRF的配置示意图;
图3是本发明的提高分布式转发设备多播报文MAC学习效率的方法的示意图;
图4是本发明的多播复制及MAC地址学习消息产生的一个实施例的流程图;
图5是本发明的下行线卡处理的一个实施例的流程图;
图6是本发明的提高分布式转发设备多播报文MAC学习效率的装置的示意图。
具体实施方式
图3显示了本发明的一种提高分布式转发设备多播报文MAC学习效率的方法,如图3所示,该方法包括:
判断接入所述分布式转发设备的广播报文是否需要进行多播;
若判断结果为所述广播报文需要进行多播,则产生用于下行线卡报文多播的一个MAC地址学习消息;
基于所产生的一个MAC地址学习消息,并通过复制所述广播报文,产生用于报文多播的多播成员。
这里所述的MAC地址学习消息包括MAC地址、VFI ID,VLAN ID和端口信息,这里所述的多播成员是用来进行多播的数据包。
下面参照图4和图5对本发明的上述方法进行详细说明。
图4显示了本发明的多播复制及MAC地址学习消息产生的一个具体流程。在该流程中,为了避免多播成员同时产生多个MAC地址学习消息,在多播成员复制前,只产生一个MAC地址学习消息,也就是说,每个用于报文多播的下行线只有一个MAC地址学习消息。
如图4所示,该具体流程包括如下步骤:
步骤1,判断广播报文是否需要多播;
步骤2,若在步骤1中判断广播报文不需要多播,则流程进入单播处理;
步骤3,若在步骤1中判断广播报文需要多播,则判断该报文学习标记是否使能;
步骤4,若在步骤3中判断该学习标记使能(即,MAC地址修改器SMAC需要学习),则通过查找下行线卡列表,确定需要进行报文多播的下行线卡,产生一个供该下行线卡使用的MAC地址学习消息,例如确定N(注,N为正整数)个下行线卡需要进行报文多播,则N个下行线卡之每个均产生一个MAC地址学习消息;
步骤5,在产生一个MAC地址学习消息后,或者若在步骤3中判断该学习标记不使能(即,MAC地址修改器SMAC不需要学习),则复制多播成员。
具体地说,进行以下具体操作:
若判断所述广播报文不需要进行多播,则将所述广播报文进行单播处理。
由分布式转发设备的上行线卡判断所述广播报文是否需要进行多播。如需要多播,则通过以下方式产生一个MAC地址学习消息:
分布式转发设备上行线卡判断所述广播报文的学习标记是否使能;
若学习标记被判断为使能,则上行线卡通过查找下行线卡列表,确定需要进行报文多播的下行线卡;
然后,每个需要进行报文多播的下行线卡分别产生一个MAC地址学习消息。
此外,进入下行线卡的广播报文是分布式转发设备的交换单元通过把广播报文复制给下行线卡实现的,即交换单元把接入到分布式转发设备的广播报文分别复制给每个下行线卡。
图5显示了本发明的下行线卡处理流程,在该处理中,由分布式PIT设备交换单元完成空间多播,由其下行线卡完成逻辑多播。
这里所称的空间多播是指在交换单元上为每个成员所在的线卡复制一份报文;这里所称的完成逻辑多播是指将这一份报文复制到该线卡对应的多个成员端口。
可以在下行线卡完成逻辑多播前,查找MAC地址表,完成SMAC的学习或者刷新,具体处理流程如图5所示,包括:
步骤1),首先判断广播报文是否需要逻辑多播,不需要则跳转到进行单播处理的步骤6),否则流程进入步骤2);
步骤2),判断报文携带的学习标记是否使能(即,MAC地址修改器SMAC是否需要学习),若使能则流程进入步骤3),不使能则跳转步骤5)。
步骤3),查找MAC地址表,根据查表结果产生MAC地址学习消息,然后流程进入步骤4);
步骤4),将学习标记置为不使能,然后流程进入步骤5);
步骤5),开始逻辑多播,产生多个成员;
步骤6),各个成员进入单播处理流程。
需要说明的是,上行线卡判断是否需要进行多播是判断下行线卡是否需要进行多播,而下行线卡判断所述广播报文是否需要进行多播是判断其各个端口是否需要进行多播。
若判断所述广播报文不需要进行多播,则所述下行线卡将所述广播报文进行单播处理。
此外,当下行线卡产生一个MAC地址学习消息后,通过把广播报文复制到其对应的多个需要进行多播的成员端口,从而利用该MAC地址学习消息产生多播成员。
在上述图4和图5所示的流程中,MAC地址学习消息被送入下行线卡的MAC地址学习模块,以便由其完成源MAC地址学习。
图6显示了本发明的一种提高分布式转发设备多播报文MAC学习效率的装置,如图6所示,该装置包括:
多播判断模块,用于判断接入所述分布式转发设备的广播报文是否需要进行多播;
MAC地址学习消息产生模块,用于在判断所述广播报文需要进行多播时,产生用于报文多播的一个MAC地址学习消息;
多播成员产生模块,用于基于所述的一个MAC地址学习消息,通过复制所述广播报文,产生用于报文多播的多播成员。
MAC地址学习消息产生模块通常包括:学习标记使能判断子模块(图中未显示),用于判断广播报文的学习标记是否使能;查找子模块(图中未显示),用于在学习标记被判断为使能时,通过查找下行线卡列表获得需要进行报文多播的下行线卡;MAC消息产生子模块(图中未显示),用于在每个下行线卡中分别产生一个MAC地址学习消息,即一个下行线卡产生一个MAC地址学习消息。
MAC消息产生子模块可以包括:学习标记使能判断单元(图中未显示),用于判断进入下行线卡的广播报文携带的学习标记是否使能;消息产生单元(图中未显示),用于在学习标记被判断为使能时,通过查找MAC地址表,产生MAC地址学习消息。
综上所述,本发明的技术效果可以大大简化通用的MAC地址学习模块,对于相同内容的重复MAC地址学习消息进行裁剪,可以使得MAC地址学习模块效率大大提升。
需要说明的是,若只选取多播成员中的一个来产生MAC地址学习消息,也可以达到MAC地址学习消息个数的裁剪,但是相对于本发明的方法则存在这样一个缺陷:不产生MAC地址学习消息的报文,如果不查找SMAC,则无法实现SMAC的过滤功能。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种在分布式转发设备上进行报文多播的方法,所述方法包括:
判断接入分布式转发设备的广播报文是否需要进行多播;
若判断结果为所述广播报文需要进行多播,则产生用于报文多播的MAC地址学习消息;
基于所述的MAC地址学习消息,并通过复制所述广播报文产生用于报文多播的多播成员,其包括:
每个进行报文多播的下行线卡产生一个MAC地址学习消息,并且在产生一个MAC地址学习消息后,把广播报文复制到其对应的多个需要进行多播的成员端口,利用该MAC地址学习消息产生多播成员;
其中,所述多播成员是用来进行多播的数据包。
2.根据权利要求1所述的方法,其特征在于,由分布式转发设备的上行线卡判断所述广播报文是否需要进行报文多播。
3.根据权利要求2所述的方法,其特征在于,所述的产生MAC地址学习消息包括:
所述上行线卡判断所述广播报文的学习标记是否使能;
若所述学习标记使能,所述上行线卡通过查找下行线卡列表,确定分布式转发设备上需要进行报文多播的下行线卡;
每个需要进行报文多播的下行线卡分别产生所述的MAC地址学习消息。
4.根据权利要求3所述的方法,其特征在于,分布式转发设备的交换单元通过把所接入的广播报文分别复制给每个下行线卡,使所述广播报文进入下行线卡。
5.根据权利要求4所述的方法,其特征在于,复制所述广播报文包括:需要进行报文多播的下行线卡把广播报文复制到自己的需要进行报文多播的多个成员端口。
6.根据权利要求3或4所述的方法,其特征在于,每个需要进行报文多播的下行线卡分别产生所述的MAC地址学习消息的步骤包括:
判断广播报文是否需要进行报文多播;
若需要进行报文多播,则判断广播报文携带的学习标记是否使能;
若学习标记使能,通过查找MAC地址表,产生所述的MAC地址学习消息。
7.根据权利要求6所述的方法,其特征在于,所述下行线卡在产生所述的MAC地址学习消息后,将所述学习标记置为不使能。
8.一种在分布式转发设备上进行报文多播的装置,包括:
多播判断模块,用于判断接入所述分布式转发设备的广播报文是否需要进行多播;
MAC地址学习消息产生模块,用于在判断结果为所述广播报文需要进行多播时,产生用于报文多播的MAC地址学习消息;
多播成员产生模块,用于基于所述的MAC地址学习消息,并通过复制所述广播报文,产生用于报文多播的多播成员,其包括:
每个进行报文多播的下行线卡产生一个MAC地址学习消息,并且在产生一个MAC地址学习消息后,把广播报文复制到其对应的多个需要进行多播的成员端口,利用该MAC地址学习消息产生多播成员;
其中,所述多播成员是用来进行多播的数据包。
9.根据权利要求8所述的装置,其特征在于,所述的MAC地址学习消息产生模块包括:
学习标记使能判断子模块,用于判断所述广播报文的学习标记是否使能;
查找子模块,用于在所述学习标记被判断为使能时,通过查找下行线卡列表确定分布式转发设备上需要进行报文多播的下行线卡;
MAC消息产生子模块,用于产生对应于下行线卡的MAC地址学习消息。
10.根据权利要求8所述的装置,其特征在于,所述的MAC消息产生子模块包括:
学习标记使能判断单元,用于判断进入下行线卡的广播报文携带的学习标记是否使能;
消息产生单元,用于在判断结果为所述学习标记使能时,通过查找MAC地址表,产生MAC地址学习消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310069356.6A CN104038429B (zh) | 2013-03-05 | 2013-03-05 | 一种在分布式转发设备上进行报文多播的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310069356.6A CN104038429B (zh) | 2013-03-05 | 2013-03-05 | 一种在分布式转发设备上进行报文多播的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038429A CN104038429A (zh) | 2014-09-10 |
CN104038429B true CN104038429B (zh) | 2018-01-30 |
Family
ID=51469021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310069356.6A Expired - Fee Related CN104038429B (zh) | 2013-03-05 | 2013-03-05 | 一种在分布式转发设备上进行报文多播的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104038429B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2964714C (en) * | 2014-10-28 | 2021-06-15 | Sony Corporation | Reception device, transmission device, and data processing method |
CN105700859A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种基于网络处理器实现硬件表遍历的方法及装置 |
CN107018081B (zh) * | 2017-03-15 | 2020-05-05 | 烽火通信科技股份有限公司 | 一种用于实现点对多点的1+1保护的方法 |
CN113645120A (zh) * | 2021-10-15 | 2021-11-12 | 中兴通讯股份有限公司 | 报文处理方法、线卡、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744571A (zh) * | 2005-08-29 | 2006-03-08 | 杭州华为三康技术有限公司 | 减少网络内媒体接入控制地址学习的方法 |
CN101286990A (zh) * | 2008-05-27 | 2008-10-15 | 中兴通讯股份有限公司 | 二层组播的转发方法和装置 |
CN102811173A (zh) * | 2012-07-26 | 2012-12-05 | 杭州华三通信技术有限公司 | 一种mac地址学习方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8681661B2 (en) * | 2010-10-25 | 2014-03-25 | Force10 Networks, Inc. | Limiting MAC address learning on access network switches |
-
2013
- 2013-03-05 CN CN201310069356.6A patent/CN104038429B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744571A (zh) * | 2005-08-29 | 2006-03-08 | 杭州华为三康技术有限公司 | 减少网络内媒体接入控制地址学习的方法 |
CN101286990A (zh) * | 2008-05-27 | 2008-10-15 | 中兴通讯股份有限公司 | 二层组播的转发方法和装置 |
CN102811173A (zh) * | 2012-07-26 | 2012-12-05 | 杭州华三通信技术有限公司 | 一种mac地址学习方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104038429A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038429B (zh) | 一种在分布式转发设备上进行报文多播的方法及装置 | |
CN103970417B (zh) | 一种信息处理方法及电子设备 | |
CN106910381A (zh) | 一种钢琴智能教学*** | |
WO2008084433A3 (en) | Tracing copies of an implementation | |
CN102307118B (zh) | 背板的测试方法、装置和*** | |
CN102664456B (zh) | 智能变电站过程层组播管理方法及装置 | |
CN104050840A (zh) | 交互式电子白板教学方法及*** | |
EP1968335A4 (en) | RADIO COMMUNICATION BASE STATION DEVICE AND PILOT TRANSMISSION METHOD | |
CN105763457B (zh) | 组播报文处理方法和网络设备 | |
WO2018209870A1 (zh) | 电子课堂的编辑方法、***、可读存储介质及计算机设备 | |
CN106993321A (zh) | 一种基于簇的网络数据通信方法 | |
CN107295671A (zh) | 一种下行控制信息的通信方法和装置 | |
CN102281148B (zh) | 一种跨vpn建立组播分发树的方法、设备和*** | |
CN104901832A (zh) | 一种航空自组网半实物网络仿真平台 | |
CN102419748A (zh) | 一种学习资源包的制作方法 | |
CN105991783A (zh) | 一种媒体接入控制地址学习方法、设备和*** | |
CN107547535A (zh) | 防攻击的mac地址学习方法、装置和网络设备 | |
CN110113734A (zh) | 蓝牙一对多的数据传输方法、***及存储介质 | |
CN105812263B (zh) | 一种在asic芯片中实现路由arp信息和编辑信息分离的方法 | |
CN107040728A (zh) | 一种视频时间轴生成方法及装置、用户设备 | |
CN108183851B (zh) | 一种报文转发方法及转发设备 | |
CN104735377A (zh) | 一种实现投影的方法及*** | |
CN104702536B (zh) | 用于无线通信中OpenFlow交换机的报文处理方法 | |
CN106710349A (zh) | 一种移动基站运行与维护的教学*** | |
CN110035477B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180130 Termination date: 20190305 |