一种数据包的转发装置及方法制造方法及图纸

技术编号:35818286 阅读:16 留言:0更新日期:2022-12-03 13:42
本发明专利技术提供一种数据包的转发装置及方法。该装置包括:包缓存RAM、缓存管理列表和标签查找表;所述包缓存RAM被以最大包长为单位划分为N个缓存块,所有缓存块均被进行编号,使得每个缓存块对应有唯一的Tag编号,每个缓存块用于存放一个数据包;所述缓存管理列表具有N个比特位,每个缓存块都对应有一个比特位,利用比特位来记录缓存块的占用状态;所述标签查找表用于记录输出的数据包对应的缓存块的Tag编号,采用ackid编号作为索引,以便基于ackid编号实现被确认包的缓存块的释放;其中,每个输出的数据包均携带有为其分配的唯一的ackid编号。本发明专利技术可以实现RapidIO协议数据包的确认。本发明专利技术可以实现RapidIO协议数据包的确认。本发明专利技术可以实现RapidIO协议数据包的确认。

【技术实现步骤摘要】
一种数据包的转发装置及方法


[0001]本专利技术涉及数据传输
,尤其涉及一种数据包的转发装置及方法。

技术介绍

[0002]RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能、低引脚数、基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯,可作为嵌入式设备的背板(Backplane)连接。
[0003]RapidIO的物理层流量控制机制可确保数据包的可靠传送。每个包都会被发送器保留直到被确认。如果检测到发送误码,链路维护协议可确保发生误码的数据包得到重传。
[0004]RapidIO互联主要通过RapidIO交换芯片实现,目前国外比较主流的多种高性能,低功耗的RapidIO交换芯片有CPS

1848、CPS

1432、CPS

1616、Tsi578等。国内对RapidIO交换芯片的研究较少,首款自主研发RapidIO二代交换芯片为NRS1800,该芯片弥补了我国在RapidIO交换芯片领域的空白。
[0005]数据包确认及重传对于RapidIO协议(当然不仅限于RapidIO协议,对于PCIe等需要实现确认及重传功能的相关协议)的可靠传输至关重要,然而公开资料中尚未发现有关于RapidIO协议数据包确认及重传具体实现方法的介绍。

技术实现思路

[0006]本专利技术旨在提供一种数据包的转发装置及方法,实现包括RapidIO协议在内的需要实现确认及重传功能的相关协议数据包确认及重传。
[0007]一方面,本专利技术提供一种数据包的转发装置,包括:包缓存RAM、缓存管理列表和标签查找表;所述包缓存RAM被以最大包长为单位划分为N个缓存块,所有缓存块均被进行编号,使得每个缓存块对应有唯一的Tag编号,每个缓存块用于存放一个数据包;所述缓存管理列表具有若干比特位,每个缓存块都对应有一个比特位,利用比特位来记录缓存块的占用状态;标签查找表用于记录输出的数据包对应的缓存块的Tag编号,所述标签查找表采用ackid编号作为索引,以便基于ackid编号实现被确认包的缓存块的释放;其中,每个输出的数据包均携带有为其分配的唯一的ackid编号。
[0008]进一步地,还包括:X个优先级队列和队列查找表;X表示数据包可能的优先级个数;所有优先级队列均被进行编号,每个优先级队列用于存储具有对应优先级的数据包对应的缓存块的Tag编号;每个优先级队列都有读指针、写指针以及读指针备份指针;其中,读指针用于指示优先级队列中下一个将要被读取的地址,写指针用于指示优先级队列中下一个将要被写入的地址,读指针备份指针用于指示优先级队列中下一个将要被确认的
地址;队列查找表用于记录输出的数据包所属的优先级队列号,所述队列查找表采用ackid编号作为索引,以便基于ackid编号实现读指针备份指针的更新。
[0009]进一步地,所述读指针备份指针存放于优先级队列的寄存器中。
[0010]另一方面,本专利技术提供一种数据包的转发方法,采用上述的一种数据包的转发装置,包括:接收数据包,为接收到的数据包分配缓存块并将数据包存入至所述缓存块;输出数据包,将输出的数据包对应的缓存块的Tag编号记录在标签查找表中;其中,数据包未被输出时,处于未发送状态;数据包被输出后在其未被对端确认之前处于输出未确认状态,其对应的缓存块不会被释放;接收对端回复的控制符,若所述控制符为确认控制符,则对其解析以获取被确认包的ackid编号,根据ackid编号从标签查找表中查找到被确认包所占用的未被释放的缓存块的Tag编号,修改缓存管理列表中与Tag编号对应的比特位值以完成缓存块的释放。
[0011]本专利技术还提供一种数据包的转发方法,采用上述的一种数据包的转发装置,包括:接收数据包,为接收到的数据包分配缓存块并将数据包存入至所述缓存块,并读取写指针,将所述缓存块的Tag编号存入与数据包优先级对应的优先级队列中的写指针所指示地址;读取读指针,输出与所述读指针所指示地址内存储的Tag编号对应的数据包,将输出的数据包所属的优先级队列号记录在队列查找表中;其中,数据包未被输出时,处于未发送状态;数据包被输出后在其未被对端确认之前处于输出未确认状态;接收对端回复的控制符,若所述控制符为确认控制符,则对其解析以获取被确认包的ackid编号,根据ackid编号从队列查找表中查找到被确认包所属的优先级队列,将优先级队列的读指针备份指针进行更新以指向下一个将要被确认的地址;若所述控制符为重传控制符,则将各优先级队列的读指针回退为各自读指针备份指针,从而将处于输出未确认状态的数据包的状态恢复为未发送状态,以便后续进行重新发送。
[0012]本专利技术的有益效果:本专利技术基于bitmap对缓存进行分块管理,管理方式简单易实现;基于虚拟输出队列对数据包进行调度管理,可实现基于优先级的调度输出,支持优先级QoS;通过链路对端返回的确认控制符(ACK控制符)携带的ackid信息来确定被确认的数据包对应的缓存块Tag编号及其所属的优先级队列,进而释放其占用的缓存块并更新其所属优先级队列的读指针备份指针;链路对端返回重传控制符(NACK控制符)后通过将各优先级队列的读指针调整为读指针备份指针来实现数据包重传。本方法用到的发送缓存兼有数据包缓存及重传缓存的作用,无需单独设立重传缓存,缓存利用率高。此外,通过测试,本专利技术方法可以在NRS1800交换芯片中得到成功应用与验证。
附图说明
[0013]图1为本专利技术实施例提供的一种数据包的转发装置的原理结构图之一;图2为本专利技术实施例提供的一种数据包的转发装置的原理结构图之二。
具体实施方式
[0014]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0015]实施例1如图1所示,本专利技术实施例提供一种数据包的转发装置,包括:包缓存RAM、缓存管理列表和标签查找表(图中的Tag_lookup);所述包缓存RAM被以最大包长为单位划分为N个缓存块,所有缓存块均被进行编号,使得每个缓存块对应有唯一的Tag编号,每个缓存块用于存放一个数据包;所述缓存管理列表具有若干比特位,每个缓存块都对应有一个比特位,利用比特位来记录缓存块的占用状态;标签查找表用于记录输出的数据包对应的缓存块的Tag编号,所述标签查找表采用ackid编号作为索引,以便基于ackid编号实现被确认包的缓存块的释放;其中,每个输出的数据包均携带有为其分配的唯一的ackid编号。
[0016]具体地,可以将缓存块编号为0~N

1,无论数据包长或短,一个缓存块存放一个数据包。本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据包的转发装置,其特征在于,包括:包缓存RAM、缓存管理列表和标签查找表;所述包缓存RAM被以最大包长为单位划分为N个缓存块,所有缓存块均被进行编号,使得每个缓存块对应有唯一的Tag编号,每个缓存块用于存放一个数据包;所述缓存管理列表具有N个比特位,每个缓存块都对应有一个比特位,利用比特位来记录缓存块的占用状态;标签查找表用于记录输出的数据包对应的缓存块的Tag编号,所述标签查找表采用ackid编号作为索引,以便基于ackid编号实现被确认包的缓存块的释放;其中,每个输出的数据包均携带有为其分配的唯一的ackid编号。2.根据权利要求1所述的一种数据包的转发装置,其特征在于,还包括:X个优先级队列和队列查找表;X表示数据包可能的优先级个数;所有优先级队列均被进行编号,每个优先级队列用于存储具有对应优先级的数据包对应的缓存块的Tag编号;每个优先级队列都有读指针、写指针以及读指针备份指针;其中,读指针用于指示优先级队列中下一个将要被读取的地址,写指针用于指示优先级队列中下一个将要被写入的地址,读指针备份指针用于指示优先级队列中下一个将要被确认的地址;队列查找表用于记录输出的数据包所属的优先级队列号,所述队列查找表采用ackid编号作为索引,以便基于ackid编号实现读指针备份指针的更新。3.根据权利要求2所述的一种数据包的转发装置,其特征在于,所述读指针备份指针存放于优先级队列的寄存器中。4.一种数据包的转发方法,其特征在于,采用权利要求1至3任一所述的一种数据包的转发装置,包括:接收数据包,为接收到的数据...

【专利技术属性】
技术研发人员:董春雷陈艇宋克吕平沈剑良汤先拓张文建赵博祁晓峰高彦钊
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1