CN102164095B - 一种星上交换模块的数据报分段与重组系统及实现方法 - Google Patents
一种星上交换模块的数据报分段与重组系统及实现方法 Download PDFInfo
- Publication number
- CN102164095B CN102164095B CN201110146509.3A CN201110146509A CN102164095B CN 102164095 B CN102164095 B CN 102164095B CN 201110146509 A CN201110146509 A CN 201110146509A CN 102164095 B CN102164095 B CN 102164095B
- Authority
- CN
- China
- Prior art keywords
- cell
- datagram
- address
- read
- switching module
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种星上交换模块的数据报分段与重组系统及实现方法,该系统包括数据报分段模块、交换模块和数据报重组模块,数据报分段模块将数据报携带的前导码及帧开始信息从数据报中剥离,并将剥离后的数据报进行分段,根据提取的转发信息确定数据报的输出端口,将分段后的数据报及输出端口信息输出给交换模块,交换模块将分段后的数据报从相应的端口输出给数据报重组模块,数据报重组模块接收交换模块输出的分段后的数据报,进行数据报的重组,该系统提高了存储空间的利用率,同时也减小了输出端口重组所需的存储空间,大大减少了交换结构中缓存使用量,减少了处理时延和抖动,提高了交换结构的转发效率。
Description
技术领域
本发明涉及一种星上交换模块的数据报分段与重组系统及实现方法,属于通信技术领域。
背景技术
基于分组的通信系统通过网络中的交换模块来传递信息,网络中的交换模块将来自不同输入端口的分组根据分组中包含的目的地址送到不同的输出端口。如图1所示,交换模块包含三个部分:入线处理模块、交换模块和出线处理模块,入线处理模块负责分组的接收和处理,交换模块根据分组目的地址将其送到不同的出线处理模块、出线处理模块负责完成出线处理及分组的发送。
当输入模块收到一个数据报之后,需要确定分组的目的地址,目的地址唯一的确定了数据报的输出端口。数据报首先在输出处理模块中分割成定长的信元,然后将信元送到交换模块进行交换,交换完成之后在出线处理模块将切割后的信元重组成数据报进行发送。
目前的处理方法都是将一个分组先接收到的部分进行存储直到分组全部接收之后再进行差错校验,然后再通过交换结构发送到出线处理模块。
上海大学2008年姚亿群的硕士论文“IP over ATM的FPGA实现”21-22页中对于数据报的分段描述为:当得到一个完整的AAL5数据包之后,把它分段通过ATM信元来发送就完整了整个AAL5的适配过程。AAL5的整个适配结构如图1所示。
2005年的美国专利“Method and apparatus for intermediate buffersegmentation and reassembly”中涉及分段与重组,但该专利中处理方法存在如下三个问题:
1)需要占用大量的存储资源;
2)处理时延和抖动大大增加;
3)交换结构的利用率不高。
其它文献介绍的分段与重组方法,分段发生在信源端,重组发生在信宿段。在第三层数据以数据报的形式存在,在数据发送时从第三层送到第二层,而第二层采用的是定长的ATM信元,因此需要进行分段。
发明内容
本发明的目的在于克服现有技术的上述不足,提供一种星上交换模块的数据报分段与重组系统,给系统大大减少了星载交换模块中缓存使用量,减少了处理时延和抖动,提高了交换结构的转发效率。
本发明的另外一个目的在于提供一种星上交换模块的数据报分段与重组方法。
本发明的上述目的是通过如下技术方案予以实现的:
一种星上交换模块的数据报分段与重组系统,包括数据报分段模块、交换模块和数据报重组模块,其中:
数据报分段模块:接收数据报并进行缓存,将数据报携带的前导码及帧开始信息从数据报中剥离,然后从数据报中提取转发信息,根据转发信息确定数据报的输出端口,并将剥离后的数据报分段为信元,在信元中嵌入输出端口信息,将含有输出端口信息的信元输出给交换模块,
其中对数据报进行分段的具体方法为:
从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元A,此时启动读过程,将得到的所述信元A读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,当缓存至地址2N-1时,得到又一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元B,此时启动读过程,将得到的所述信元B读出送入交换模块进行交换,启动读过程的同时继续从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元C,此时启动读过程,将得到的所述信元C读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,依次类推,从零地址~N-1地址及N地址~2N-1地址之间交替进行数据报的缓存和信元的读出,完成数据报的分段;
交换模块:接收数据报分段模块输出的信元,根据信元中输出端口信息将信元从相应的端口输出给数据报重组模块;
数据报重组模块:接收交换模块输出的信元,进行数据报的重组,具体方法为:接收交换模块送出的信元,为所述信元分配存储地址并进行信元存储,同时分别记录不同数据报中每个信元的首地址及最后一个信元的尾地址,即从每个数据报的第一个信元开始记录信元首地址,直到记录最后一个到来的信元首地址及尾地址,根据记录的所述数据报的信元地址依次读取每个信元,完成所述数据报的重组,在数据报重组过程中,每读出一个信元就将该信元的首地址收回,以为新到来的数据报信元分配存储地址。
在上述星上交换模块的数据报分段与重组系统中,数据报分段模块包括输入缓存器、输入处理器、分段器和转发表查询器,其中输入缓存器接收外部输入的数据报并进行缓存;输入处理器将从输入缓存器中接收的数据报携带的前导码及帧开始信息从数据报中剥离,并提取转发信息;分段器接收输入处理器输出的剥离后的数据报及转发信息,进行数据报分段处理,并将分段后的数据报及转发信息输出给转发表查询器;转发表查询器根据转发信息确定数据报的输出端口,并将输出端口信息嵌入信元中,并将所述分段后含有输出端口信息的信元输出给交换模块,
其中分段器进行分段处理的具体方法为:
从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元A,此时启动读过程,将得到的所述信元A读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,当缓存至地址2N-1时,得到又一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元B,此时启动读过程,将得到的所述信元B读出送入交换模块进行交换,启动读过程的同时继续从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元C,此时启动读过程,将得到的所述信元C读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,依次类推,从零地址~N-1地址及N地址~2N-1地址之间交替进行数据报的缓存和信元的读出,完成数据报的分段。
在上述星上交换模块的数据报分段与重组系统中,数据报重组模块包括空闲地址管理器、信元存储RAM和重组信元地址管理器,其中空闲地址管理器负责为信元分配存储地址,并在当一个数据报重组完成后,将重组后的数据报中各信元的地址收回;信元存储RAM负责信元的存储;重组信元地址管理器负责记录数据报中各个信元的首地址及最后一个信元的尾地址,即从每个数据报的第一个信元开始记录信元首地址,直到记录最后一个到来的信元首地址及尾地址,根据记录的所述数据报的信元地址从信元存储RAM中依次读取每个信元,完成所述数据报的重组。
在上述星上交换模块的数据报分段与重组系统中,分段器中包含写指针和读指针,写指针指示数据报的写入地址,读指针指示信元的读出地址,写指针的更新频率为fw,读指针的更新频率为fr=(fw×k)÷N,其中N为数据报分段长度,k为包含开销在内的信元长度。
在上述星上交换模块的数据报分段与重组系统中,信元存储RAM中包含写指针和读指针,写指针指示信元的写入地址,读指针指示信元的读出地址,写指针的更新频率为fw,读指针的更新频率为fr=(fw×k)÷N,其中N为数据报分段长度,k为包含开销在内的信元长度。
在上述星上交换模块的数据报分段与重组系统中,转发信息包括控制字、目的地址和源地址。
一种星上交换模块的数据报分段与重组方法,包括如下步骤:
(1)接收外部输入的数据报并进行缓存,将数据报携带的前导码及帧开始信息从数据报中剥离,并将剥离后的数据报分段为信元,对数据报进行分段的具体方法如下:
从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元A,此时启动读过程,将得到的所述信元A读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,当缓存至地址2N-1时,得到又一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元B,此时启动读过程,将得到的所述信元B读出送入交换模块进行交换,启动读过程的同时继续从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由所述缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元C,此时启动读过程,将得到的所述信元C读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,依次类推,从零地址~N-1地址及N地址~2N-1地址之间交替进行数据报的缓存和信元的读出,完成数据报的分段;
(2)从数据报中提取转发信息,根据转发信息确定数据报的输出端口,并将输出端口信息嵌入所述分段后的信元中,之后将含有输出端口信息的信元输出给交换模块进行交换;
(3)接收交换模块输出的分段后的信元,进行数据报的重组,具体方法为:接收数据报信元,为所述信元分配存储地址并进行信元存储,同时记录数据报中每个信元的首地址及最后一个信元的尾地址,即从每个数据报的第一个信元开始记录信元首地址,直到记录最后一个到来的信元首地址及尾地址,根据记录的所述数据报的信元地址依次读取每个信元,完成所述数据报的重组,在数据报重组过程中,每读出一个信元就将该信元的首地址收回,以为新到来的数据报信元分配存储地址。
本发明与现有技术相比具有如下有益效果:
(1)本发明数据报分段与重组方法大大减小了数据报分段所需要的缓冲容量;
本发明当接收到的数据报能够生成一个信元时就开始分割数据报,而不是等待所有数据报全部接收完成后再进行分割,这样减少了数据报输入缓存的使用量;
按照文献中数据报的分段方法需要在每个输入端口设置最小为2*L大小的缓冲器,其中L为数据报的长度,而本发明实施例中提出的分段方法需要的缓冲容量最大为2*52个字节,在本发明中采用的数据报的长度为1526个字节,由此可以看出前者所需的缓冲容量是后者所需缓冲容量的14.67倍。
(2)本发明数据报分段与重组方法由于不必等待数据报完全接收,因而减少了处理时延和抖动;
(3)本发明数据报分段与重组方法使得各个输入端口到达交换结构的分布更加均匀,这是因为数据报长度为不定长,如果要等待数据报完全接收,那么等待时间也为不定长,实际上在等待接收的过程中该端口是没有信元送到交换结构的,本发明中无需等待,只要有一个信元到达则将其送到交换结构,这样就可以使得信元均匀连续的到达交换结构,因此提高了交换结构的转发效率;
(4)本发明数据分段与重组系统中的数据报重组模块包括信元存储RAM、空闲地址管理器和重组信元地址管理器,空闲地址管理器负责为信元分配存储地址并将信元存储到信元存储RAM中,重组信元地址管理器负责记录数据报中每个信元的起始地址,根据记录的信元地址从信元存储RAM中依次读取每个信元,完成数据报的重组,由于各个端口共享存储空间,提高了存储空间的利用率,同时也减小了输出端口重组所需的存储空间;
(5)本发明数据分段与重组系统及方法适合在星载环境中使用,已成功应用并取得了很好的效果。
附图说明
图1为现有技术中AAL5的整个适配结构图;
图2为本发明数据报分段与重组系统结构示意图;
图3为本发明数据报分段模块结构示意图;
图4为本发明数据报重组模块结构示意图;
图5为本发明输入数据报格式图;
图6为本发明数据报的分段示意图;
图7为本发明数据报分段后的信元格式;
图8为本发明数据报的分段流程图;
图9为本发明数据报分段成信元的示意图;
图10为本发明数据报分段时读、写指针的更新过程图;
图11为本发明数据报的信元重组流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的描述:
如图2所示为本发明数据报分段与重组系统结构示意图,图3为本发明数据报分段模块结构示意图;图4为本发明数据报重组模块结构示意图,由图2可知数据报分段与重组系统包括数据报分段模块、交换模块和数据报重组模块。
由图3可知,数据报分段模块包括输入缓存器、输入处理器、分段器和转发表查询器,其中输入缓存器接收外部输入的数据报并进行缓存。输入处理器将从输入缓存器中接收的数据报携带的前导码及帧开始信息从数据报中剥离,并提取转发信息,转发信息包括控制字、目的地址、源地址。分段器接收输入处理器输出的剥离后的数据报及转发信息,进行数据报分段处理,并将分段后的数据报及转发信息输出给转发表查询器。转发表查询器根据转发信息确定分段后的数据报的输出端口,并将输出端口信息嵌入到分段后的数据报信元中,并输出给交换模块。
交换模块接收数据报分段模块输出的信元,根据信元中输出端口信息将信元从相应的端口输出给数据报重组模块。
由图4可知,数据报重组模块包括空闲地址管理器、信元存储RAM和重组信元地址管理器,其中空闲地址管理器负责为信元分配存储地址,并在当一个数据报重组完成后,将重组后的数据报中各信元的地址收回。信元存储RAM负责信元的存储。重组信元地址管理器负责记录数据报中每个信元的起始地址及最后一个信元的尾地址,即从数据报的第一个信元开始记录信元首地址,直到记录最后一个到来信元的首地址及尾地址,根据记录的数据报的信元地址从信元存储RAM中依次读取每个信元,完成数据报的重组。
本发明中采用的星载交换模块的输入数据报格式(其他数据报格式的处理方法相同)如图5所示,帧长1526字节(不计算前导码和帧开始字节)。
数据报格式中各个字段的含义如下:
前导码,长度为7个字节,作同步用。每个字节均为01010101(0x55);
帧定界符,长度为1个字节,表示帧的开始,其值为0xD5;
控制字,长度为6个字节,二层的各个控制和管理管理功能都在这个字段中实现;
目的地址、源地址,长度各为6个字节。是表示终端的MAC地址;
长度,表示帧体中数据的长度;
序列控制、流量控制中帧的序号,2个字节;
帧体,帧承载的高层数据报(IP报),长度在20-1500字节;
前向纠错码,CRC的生成多项式为:
G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+x0
CRC一共4个字节,第31位放在最左边的字节最高位,第0位放在最右边一个字节的最低位,即发送顺序为x31,x30,...,x1,x0。
星载交换模块处理的内部信元格式如图7所示,图7为本发明数据报分段后的信元格式。为了硬件处理方便将该信元长度设计为64个字节,信元中各个字段的含义如下:
头标识,如果该位为1则表示该信元为数据报的第一信元;
尾标识,如果该位为1则表示该信元为数据报的最后一个信元;
有效标识,只有当尾标识为1时该位才有意义,该位在数据报的最后一个信元中用来表示该数据报是不是有效的数据报。只有当数据报有效时才将信元重新进行组合;
填充标识,如果该位为1表示该信元载荷中含有填充,否则没有填充;
保留,为以后的扩展预留3位;
输入端口,表示该信元承载的有效数据是从哪个输入端口进来的数据报分割出来的;
输入标识,用于信元交换时查表;
输出端口,表示该信元承载的有效数据应该送到的输出端口号;
输出标识,用于信元交换时查表;
载荷,承载数据报内容,这一区域的字节数目由尾标识、填充标识两个字段决定;如果信元中有填充内容,那么载荷字段的字节数目为长度模52的结果;如果无填充内容则载荷字段的字节数目为52个字节。
长度字段,只有尾信元有效,表明数据报的长度;
CRC,设计该字段的目的是为了校验信元在通过交换结构时是否发生了错误。CRC的生成多项式为:
G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+x0
CRC一共4个字节,第31位放在最左边的字节最高位,第0位放在最右边一个字节的最低位,即发送顺序为x31,x30,...,x1,x0。
下面描述数据报在分段器中的分段流程:
如图6所示为本发明数据报的分段示意图,图8为本发明数据报的分段流程图。
数据报分段模块中的分段器在输入端口接收数据报的过程中对数据报进行分割,当一个信元产生之后将其送到交换器进行交换。
数据报分段器中设计了一个写指针和读指针,写指针指示数据报的写入地址,读指针指示信元的读出地址,读指针和写指针的更新频率不同。写指针的更新频率为fw,则读指针的更新频率为fr=(fw×64)÷52,其中N为数据报分段长度,k为包含开销在内的信元长度。。
在分段器中为每个输入端口设计104个字节,即两个信元载荷的大小即可完成输入缓冲。当有新的数据报到来时写指针指向缓冲区的0地址,即从0地址开始缓存数据报。当写指针指向地址51的时候就可以由信元头的6个字节和缓冲区的52字节及2字节长度字段和4字节CRC字段组成一个64字节的信元A,这时需要将这个信元送到交换模块进行交换。当写指针为51的时候启动读过程,读指针首先指向信元头存储区,读取6个字节的信头,然后从数据报缓冲区读取52字节的载荷,同时加入2字节的长度字段和4字节的CRC字段。启动读过程的同时继续从地址52开始缓存数据报,当缓存至地址103时,得到又一个由信元头的6个字节和缓冲区的52字节及2字节长度字段和4字节CRC字段组成的64字节的信元B,这时需要将这个信元送到交换模块进行交换,当写指针为103的时候启动读过程,读指针首先指向信元B的信元头存储区,读取6个字节的信头,然后从数据报缓冲区读取52字节的载荷,同时加入2字节的长度字段和4字节的CRC字段。启动读过程的同时继续从0地址开始缓存数据报,当缓存至地址51时,得到又一个由信元头的6个字节和缓冲区的52字节及2字节长度字段和4字节CRC字段组成的64字节的信元C,这时需要将这个信元送到交换模块进行交换,当写指针为51的时候启动读过程......依次类推,从0地址~51地址及52地址~103地址之间交替进行数据报的缓存和信元的读出,完成数据报的分段。
如图9所示为本发明数据报分段成信元的示意图,图7所示为本发明数据报分段后的信元格式。
读取载荷部分的数据时可能从两个地址开始,一个是0地址,另外一个是地址52。如果开始读取信元时写指针指向51则从0地址开始读取载荷,如果开始读取信元时写指针指向103的时候则从地址52开始读取载荷。
如图10所示为本发明数据报分段时读、写指针的更新过程图,图中清楚的描述了数据报分段的详细步骤:
1)含有目的地址、源地址、长度字段的数据报到达数据报分段模块;
2)数据报分段模块根据数据报头查找转发表,并生成信元头;
3)判断写指针是否为51或者是103,如果不是二者之一,则继续缓存接收到的数据,如果是二者之一,则读指针指向信元头存储区;
4)从信元头存储区读取信元头;
5)如果写指针为51则从缓冲区的0到51地址读取数据,如果写指针为103则从地址52到103读取数据;
6)将信元头存储区读到的信元头和数据存储区读到的数据组成的信元送到交换模块进行交换。
7)判断数据报是否接收完毕,如果接收完毕,则接收下一个数据报,如果未接收完毕,则重复步骤3)搭配步骤6)。
如图11所示为本发明数据报的信元重组流程图。信元重组过程同样需要两个指针,一个是写指针,另外一个是读指针。写指针的更新频率和读指针的更新频率不同,写指针指示信元的写入地址,读指针指示信元的读出地址,写指针的更新频率为fw,读指针的更新频率为fr=(fw×64)÷52,其中N为数据报分段长度,k为包含开销在内的信元长度。。
图11中清楚的描述了数据报信元重组的详细步骤:
1)出线处理模块接收到一个信元,从信元头中的头标识和尾标识判断该信元是否是尾信元,如果不是尾信元则向空闲地址管理模块申请信元存储空间,如果是尾信元则启动数据报重组流程;
2)将接收到的信元存储在空闲地址管理器分配的信元存储RAM的地址空间中,并将空闲地址管理器分配的存储空间地址送给重组信元地址管理器进行管理;
3)重复步骤2)直到一个数据报的所有信元全部接收完毕;
4)从重组信元地址管理器中读取头信元地址送给重组读指针进行信元重组;
5)从读指针指向的地址区域读取数据从输出端口送出,并判断同一数据报的信元是否发送完毕;
6)如果数据发送完毕则该数据报重组完毕,等待下一个尾信元到达;
7)如果数据未发送完毕,则从重组信元地址管理器中读取下一个信元的地址送到读指针,直到一个数据报的所有数据发送完毕。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (8)
1.一种星上交换模块的数据报分段与重组系统,其特征在于包括数据报分段模块、交换模块和数据报重组模块,其中:
数据报分段模块:接收数据报并进行缓存,将数据报携带的前导码及帧开始信息从数据报中剥离,然后从数据报中提取转发信息,根据转发信息确定数据报的输出端口,并将剥离后的数据报分段为信元,在信元中嵌入输出端口信息,将含有输出端口信息的信元输出给交换模块,
其中对数据报进行分段的具体方法为:
从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元A,此时启动读过程,将得到的所述信元A读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,当缓存至地址2N-1时,得到又一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元B,此时启动读过程,将得到的所述信元B读出送入交换模块进行交换,启动读过程的同时继续从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元C,此时启动读过程,将得到的所述信元C读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,依次类推,从零地址~N-1地址及N地址~2N-1地址之间交替进行数据报的缓存和信元的读出,完成数据报的分段;
交换模块:接收数据报分段模块输出的信元,根据信元中输出端口信息将信元从相应的端口输出给数据报重组模块;
数据报重组模块:接收交换模块输出的信元,进行数据报的重组,具体方法为:接收交换模块送出的信元,为所述信元分配存储地址并进行信元存储,同时分别记录不同数据报中每个信元的首地址及最后一个信元的尾地址,即从每个数据报的第一个信元开始记录信元首地址,直到记录最后一个到来的信元首地址及尾地址,根据记录的所述数据报的信元地址依次读取每个信元,完成所述数据报的重组,在数据报重组过程中,每读出一个信元就将该信元的首地址收回,以为新到来的数据报信元分配存储地址。
2.根据权利要求1所述的一种星上交换模块的数据报分段与重组系统,其特征在于:所述数据报分段模块包括输入缓存器、输入处理器、分段器和转发表查询器,其中输入缓存器接收外部输入的数据报并进行缓存;输入处理器将从输入缓存器中接收的数据报携带的前导码及帧开始信息从数据报中剥离,并提取转发信息;分段器接收输入处理器输出的剥离后的数据报及转发信息,进行数据报分段处理,并将分段后的数据报及转发信息输出给转发表查询器;转发表查询器根据转发信息确定数据报的输出端口,并将输出端口信息嵌入信元中,并将所述分段后含有输出端口信息的信元输出给交换模块,
其中分段器进行分段处理的具体方法为:
从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元A,此时启动读过程,将得到的所述信元A读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,当缓存至地址2N-1时,得到又一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元B,此时启动读过程,将得到的所述信元B读出送入交换模块进行交换,启动读过程的同时继续从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元C,此时启动读过程,将得到的所述信元C读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,依次类推,从零地址~N-1地址及N地址~2N-1地址之间交替进行数据报的缓存和信元的读出,完成数据报的分段。
3.根据权利要求1所述的一种星上交换模块的数据报分段与重组系统,其特征在于:所述数据报重组模块包括空闲地址管理器、信元存储RAM和重组信元地址管理器,其中空闲地址管理器负责为信元分配存储地址,并在当一个数据报重组完成后,将重组后的数据报中各信元的地址收回;信元存储RAM负责信元的存储;重组信元地址管理器负责记录数据报中各个信元的首地址及最后一个信元的尾地址,即从每个数据报的第一个信元开始记录信元首地址,直到记录最后一个到来的信元首地址及尾地址,根据记录的所述数据报的信元地址从信元存储RAM中依次读取每个信元,完成所述数据报的重组。
4.根据权利要求2所述的一种星上交换模块的数据报分段与重组系统,其特征在于:所述分段器中包含写指针和读指针,写指针指示数据报的写入地址,读指针指示信元的读出地址,写指针的更新频率为fw,读指针的更新频率为fr=(fw×k)÷N,其中N为数据报分段长度,k为包含开销在内的信元长度。
5.根据权利要求3所述的一种星上交换模块的数据报分段与重组系统,其特征在于:所述信元存储RAM中包含写指针和读指针,写指针指示信元的写入地址,读指针指示信元的读出地址,写指针的更新频率为fw,读指针的更新频率为fr=(fw×k)÷N,其中N为数据报分段长度,k为包含开销在内的信元长度。
6.根据权利要求1~3任一权利要求所述的一种星上交换模块的数据报分段与重组系统,其特征在于:所述转发信息包括控制字、目的地址和源地址。
7.一种星上交换模块的数据报分段与重组方法,其特征在于包括如下步骤:
(1)接收外部输入的数据报并进行缓存,将数据报携带的前导码及帧开始信息从数据报中剥离,并将剥离后的数据报分段为信元,对数据报进行分段的具体方法如下:
从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元A,此时启动读过程,将得到的所述信元A读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,当缓存至地址2N-1时,得到又一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元B,此时启动读过程,将得到的所述信元B读出送入交换模块进行交换,启动读过程的同时继续从零地址开始缓存数据报,当缓存至地址N-1时,得到一个由缓存的N字节数据报、信元头、长度字段及CRC字段组成的信元C,此时启动读过程,将得到的所述信元C读出并送入交换模块进行交换,启动读过程的同时继续从N地址开始缓存数据报,依次类推,从零地址~N-1地址及N地址~2N-1地址之间交替进行数据报的缓存和信元的读出,完成数据报的分段;
(2)从数据报中提取转发信息,根据转发信息确定数据报的输出端口,并将输出端口信息嵌入所述分段后的信元中,之后将含有输出端口信息的信元输出给交换模块进行交换;
(3)接收交换模块输出的分段后的信元,进行数据报的重组,具体方法为:接收数据报信元,为所述信元分配存储地址并进行信元存储,同时记录数据报中每个信元的首地址及最后一个信元的尾地址,即从每个数据报的第一个信元开始记录信元首地址,直到记录最后一个到来的信元首地址及尾地址,根据记录的所述数据报的信元地址依次读取每个信元,完成所述数据报的重组,在数据报重组过程中,每读出一个信元就将该信元的首地址收回,以为新到来的数据报信元分配存储地址。
8.根据权利要求7所述的一种星上交换模块的数据报分段与重组方法,其特征在于:所述转发信息包括控制字、目的地址和源地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110146509.3A CN102164095B (zh) | 2011-05-31 | 2011-05-31 | 一种星上交换模块的数据报分段与重组系统及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110146509.3A CN102164095B (zh) | 2011-05-31 | 2011-05-31 | 一种星上交换模块的数据报分段与重组系统及实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102164095A CN102164095A (zh) | 2011-08-24 |
CN102164095B true CN102164095B (zh) | 2014-07-02 |
Family
ID=44465076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110146509.3A Active CN102164095B (zh) | 2011-05-31 | 2011-05-31 | 一种星上交换模块的数据报分段与重组系统及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102164095B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158770B (zh) * | 2014-08-20 | 2018-02-13 | 电子科技大学 | 一种交换机数据包切分与重组的方法与装置 |
CN106776374B (zh) * | 2017-01-23 | 2021-04-13 | 中核控制系统工程有限公司 | 一种基于fpga的高效数据缓冲方法 |
CN109743353B (zh) * | 2018-12-04 | 2021-06-25 | 北京讯众通信技术股份有限公司 | 一种基于物联网的数据转换方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581793A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 因特网协议(ip)包进行重组的装置和方法 |
CN1984030A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种基于fpga实现atm网络流量控制的装置及方法 |
-
2011
- 2011-05-31 CN CN201110146509.3A patent/CN102164095B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581793A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 因特网协议(ip)包进行重组的装置和方法 |
CN1984030A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种基于fpga实现atm网络流量控制的装置及方法 |
Non-Patent Citations (2)
Title |
---|
张怡 等.星上交换系统输入缓存调度算法.《电子与信息学报》.2009,第31卷(第6期),第1429-第1432页. |
星上交换系统输入缓存调度算法;张怡 等;《电子与信息学报》;20090630;第31卷(第6期);第1429-第1432页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102164095A (zh) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5572522A (en) | Asynchronous transfer mode switch with multicasting ability | |
US5592476A (en) | Asynchronous transfer mode switch with multicasting ability | |
US5555256A (en) | Channel identifier generation | |
KR101607180B1 (ko) | 패킷 재조립 및 재배열 방법, 장치 및 시스템 | |
JP2015535410A (ja) | データ通信ネットワークにおいてメッセージを修正及び転送する方法及び装置 | |
JP2011024269A (ja) | 低ビットレートアプリケーション用にatmセルを生成するための方法 | |
WO2019128287A1 (zh) | 基于FlexE业务的信元交换方法及系统 | |
CN103825841B (zh) | 一种以太网报文排序方法及装置 | |
JP2003229907A (ja) | ネットワーク・プロセッサ内のデータ・ブロックの再組立てのための方法および装置 | |
CN102137008B (zh) | 一种服务质量QoS保持方法、装置及系统 | |
JP2003037572A (ja) | スケジューリング方式 | |
CN102164095B (zh) | 一种星上交换模块的数据报分段与重组系统及实现方法 | |
JPH10285185A (ja) | Atmネットワークにおいてデータ・セル伝送をスケジューリングする方法 | |
CN104158770A (zh) | 一种交换机数据包切分与重组的方法与装置 | |
CN101217466B (zh) | 无线网络媒体接入控制系统数据处理方法及处理装置 | |
CN101237384A (zh) | 多媒体广播/组播业务数据发送的方法、装置、用户面实体和系统 | |
CN104333516A (zh) | 用于组合输入交叉点缓存交换结构的旋转轮训调度方法 | |
CN101964751B (zh) | 数据包的传输方法及装置 | |
US7065628B2 (en) | Increasing memory access efficiency for packet applications | |
WO2016123975A1 (zh) | 数据传输方法及装置 | |
CN102340453B (zh) | 一种变长数据流的调度方法 | |
CN115189811B (zh) | 一种灵活以太网中网络时延优化的方法和装置 | |
CN100551076C (zh) | 传输流解复用装置及方法 | |
CN102036420A (zh) | 一种高速接口及其传输数据的方法 | |
CN106453159A (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 |