[发明专利]一种交换机数据包切分与重组的方法与装置在审
申请号: | 201410413780.2 | 申请日: | 2014-08-20 |
公开(公告)号: | CN104158770A | 公开(公告)日: | 2014-11-19 |
发明(设计)人: | 王忆文;胡浩;张微;彭春;郭华俭;王晓婷;李辉 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L12/951 | 分类号: | H04L12/951;H04L12/931 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 张杨 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 交换机 数据包 切分 重组 方法 装置 | ||
技术领域
本发明属于通信技术领域,特别是涉及一种交换机数据包切分与重组的方法与装置。
背景技术
交换机是现代大型网络的基础。在目前的交换机设计中,为了提高交换系统的性能,对数据包的处理广泛采用定长分组交换技术。定长分组交换技术,要求将变长数据包在交换机输入端切分成固定长度的信元,再通过交换结构进行交换,最后在输出端将信元重组为原始数据包再进行转发。定长分组交换使得整个交换结构的各个交换单元都同步操作,实现简单,交换的信元颗粒小,交换时延短。
现行的交换机一般包括交换模块和对应于每个端口的切分模块、重组模块和网络接口模块。网络接口模块,根据协议完成物理介质中的物理信号和并行传输的数据包之间的相互转换,并维护链路。网络接口模块收到物理介质传来的数据后得到有效的数据包,发给切分模块。切分模块根据数据包头部中的信息生成信元头部,将目的地址对应为目的端口号,并将数据包切分为定长信元,发给交换模块。交换模块根据信元头部中的目的端口号,将信元转发给目的端口的重组模块。重组模块将交换模块发送来的信元重组为原始数据包,并发送到网络接口模块。网络接口模块根据协议将数据包发送出去。
现有的切分技术大都是接收数据包并存储于RAM中,当接收并存储一个完整的数据包后,从RAM读出该数据包再切分为信元。这种方法存在以下问题:
1.在数据包较长时,导致数据包切分延时很大。现有切分技术采用等待一个数据包被完整地接收并存储之后,再开始切分并发送信元。因此数据包较长时,需要等待的时间较长,导致切分延时大。
2.在数据包长度变化大的情况下延迟抖动明显。当数据包较短时,延时较小,数据包较大时延迟大。如光纤通道协议中最长帧为2148字节,最短帧为36字节,采用现有切分技术在切分模块延时相差数十倍。
3.需要大量存储资源,地址管理复杂。现有技术采用RAM存储,需要专门的地址管理模块。
专利“一种星上交换模块的数据报分段与重组系统及实现方法”中,在“分段器”模块采用两倍于内部信元净荷长度大小的RAM,用乒乓操作的方式每存入一个信元净荷长度的数据,则读出并生成一个内部信元。此技术方案缓解了上述延时大和延时抖动问题,但存在以下问题:
1.采用两级缓存,存储利用率不高。先将数据包存储在“输入缓存器”,然后从“输入缓存器”中读出,提取信息,然后在“分段器”中完成切分操作。其中“分段器”中包含两倍于内部信元净荷长度大小的缓存,用乒乓操作的方式完成切分。
2.数据包存入“输入缓存器”到读出“输入缓存器”仍然存在长数据包延时较大和数据包长度变化大时延时抖动较大的情况。
3.在交换机内发生数据堵塞时,数据不能从“分段器”中的切分缓存中被及时读出,而切分缓存不足以存储完整数据包,因此可能会在此部分发生数据包内容丢失。解决此问题需要在其“输入缓存器”和“分段器”间添加复杂的流量控制。
4.在“分段器”中地址管理复杂,需要专门的地址管理模块。
现有的交换机的内部信元重组技术主要采用RAM存储,通过对地址的处理达到重组的目的,此技术地址管理复杂。
发明内容
本发明的目的在于针对现有技术的不足之处,提供一种交换机数据包切分与重组的方法与装置,从而达到高效可靠,延迟低,抖动小,数据管理简单的目的。
本发明的解决方案为一种交换机数据包切分与重组的方法,该方法包括数据包切分和数据包重组。
数据包切分,接收由网络接口模块发来的数据包并缓存,提取数据包头部中的信息生成信元头部,将数据包切分为定长信元,与信元头部组成完整信元后发送到交换模块;
数据包重组,接收由交换模块发来的信元并缓存,提取信元中的有效净荷数据将其重组为完整的数据包,并发送到网络接口模块。
在所述交换机数据包切分与重组的方法中,数据包切分具体包括以下步骤:
步骤11:接收到由网络接口模块发来的数据包后,提取数据包头部中的源地址信息、目的地址信息,生成信元头部所需的交换机中的源端口号、目的端口号信息;
步骤12:将数据包数据依次存入数据缓存中;
步骤13:生成信元头部所需的其他信息,如信元的有效净荷长度、信元在所属数据包中的编号等,利用这些信息和步骤11生成的信息生成信元头部,并将其存入信息缓存中;
步骤14,若信息缓存非空,则从信息缓存中取出首个信元头部;
步骤15,根据步骤14信元头部中的有效净荷长度,从数据缓存中取出对应有效净荷长度大小的数据包数据,即为信元的有效净荷数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410413780.2/2.html,转载请声明来源钻瓜专利网。