[发明专利]基于高速周边元件扩展接口交换网的组播实现方法及系统有效
申请号: | 200810114082.7 | 申请日: | 2008-05-30 |
公开(公告)号: | CN101286866A | 公开(公告)日: | 2008-10-15 |
发明(设计)人: | 田浩 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | H04L12/18 | 分类号: | H04L12/18;H04L12/56 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 高速 周边 元件 扩展 接口 交换 实现 方法 系统 | ||
技术领域
本发明涉及组播技术领域,具体涉及一种基于高速周边元件扩展接口(PCIe,Peripheral Component Interconnect Express)交换网的组播实现方法、系统及现场可编程门阵列(FPGA,Field Programable Gate Array)。
背景技术
组播是指在因特网协议(IP,Internet Protocol)网络中将数据包以尽力传送的形式发送到某个确定的节点集合即:组播组,其基本思想是:源主机即:组播源只发送一份数据,其目的地址为组播组地址;组播组中的所有主机都可收到同样的数据拷贝,并且只有组播组内的主机可以接收该数据,而其它主机则不能收到。
组播技术有效地解决了单点发送、多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。更重要的是,可以利用网络的组播特性方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等互联网的信息服务领域。
目前商用的PCIe交换芯片均没有提供组播传送的功能,基于PCIe总线技术的系统均通过软件实现数据的组播传送,其基本过程如图1所示,单板0在收到数据包后解析该报文,判断该报文是否需要组播发送,在确认需要组播发送且目的单板为1、2、3后,在单板0内会通过软件将报文复制为3份,随后将复制完毕的报文入输出队列,通过单板0与PCIe交换器间的PCIe链路将3份不同目的地址的报文发出,此时发送过程类似单播发送。如果每个单板又分成多个业务出接口,比如单板1有20个出接口,而单板0收到的报文不仅要到达单板1,还要从单板1的15个出接口发出,这样如果选择在单板0中复制报文,就意味着需要通过软件复制更多数量的报文。
可以看出通过软件实现组播的方式主要存在以下两个问题:
1、需要单板处理器参与报文复制工作,增加了单板的处理负担,降低整板的性能。
2、由于复制的多份报文均需要通过单板与PCIe交换器之间的PCIe链路发送,这会极大地降低单板与PCIe交换器之间的带宽利用率。
3、由于组播报文需要通过单板与PCIe交换器之间的PCIe链路多次发送,即增大该组播报文通过该端口的延迟,这使得组播报文之后的单播报文也得不到及时发送,造成该端口的报文延迟增大甚至拥塞。
发明内容
本发明提供基于PCIe交换网实现组播的方法、系统及FPGA,以减轻单板的处理负担。
本发明的技术方案是这样实现的:
一种基于PCIe交换网的组播实现方法,其特征在于,在交换网板上设置FPGA,FPGA与交换网板上的PCIe交换器之间的链路为PCIe链路,方法包括:
源单板要向目的单板发送组播报文,将目的单板标识信息放入组播报文,将该组播报文发往FPGA,FPGA根据组播报文中的目的单板标识信息复制报文,复制完毕,将各组播报文发往各目的单板。
所述FPGA将各组播报文发往各目的单板之后进一步包括:目的单板收到组播报文,解析该报文,判断该报文是否要发往自身的出接口,若是,根据要发往的出接口数复制报文,复制完毕,将各组播报文从各出接口发送出去。
预先在FPGA上为每个单板设置一个入队列,
所述源单板将目的单板标识信息放入组播报文之后、将组播报文发往FPGA之前进一步包括:源单板判断FPGA上该源单板对应的入队列的可用空间是否大于预设第一阈值,若大于,则执行所述将组播报文发往FPGA的动作;否则,等待至源单板对应的入队列的可用空间大于预设第一阈值时,再执行所述将组播报文发往FPGA的动作。
在每个单板上设置一个状态标志,用于标示FPGA上的该单板对应的入队列的可用空间是否大于预设第一阈值,该状态标志初始化为“空”,且,当FPGA发现一个单板对应的入队列的可用空间从大于预设第一阈值变为小于预设第一阈值时,将该单板上的状态标志置为“满”,当FPGA发现一个单板对应的入队列的可用空间从小于预设第一阈值变为大于预设第一阈值时,将该单板上的状态标志置为“空”,
所述源单板判断FPGA上该源单板对应的入队列的可用空间是否大于预设第一阈值为:源单板判断自身的状态标志是否为“空”,若是,确定源单板对应的入队列的可用空间大于预设第一阈值。
所述预先在FPGA上为每个单板设置一个入队列为:预先在FPGA上为每个单板分配一块内存空间作为该单板的入队列,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810114082.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:实现高光谱成像的方法
- 下一篇:胶印洋红油墨挤水生产工艺