一种分组交换网中数据包发送和接收的方法及装置的制作方法

文档序号:7739173阅读:293来源:国知局
专利名称:一种分组交换网中数据包发送和接收的方法及装置的制作方法
技术领域
本发明涉及分组交换网技术领域,特别是指一种分组交换网中数据包发送和接收的方法及装置。
背景技术
随着通信网络的发展,分组交换网广泛地应用于数据传输中。图I为现有技术中分组交换网的基本结构示意图。在分组交换网中基于数据包请求允许的握手机制是现有的实现分组交换的技术方向之一。随着交换网容量的不断增大,网络中数据的拥塞程度也在不断的加剧,采用基于数据包的握手机制实现交换的方法,在发送数据包之前,先建立好通路,可以避免数据包在交换网中出现拥塞的情况,从而减少缓存资源的消耗。由于数据包握手机制建立通路需要额外的带宽,交换网的交换效率会受到一定的影响。对于包长较长的包,即长数据包,建立通路所消耗带宽的比重很小,图2为包长较长的情况下的交换网中输入和输出的带宽占用率示意图,从图中可以看出,交换网的交换效率所受到的影响可以忽略,因此基于包长较长的情况下数据包握手机制能够在不增加系统资源开销的基础上,大量地减少了交换网中缓存资源的消耗。但是对于包长较短的包,即短数据包,每个数据包的握手都需要建立一次通路,图3为包长较短的情况下的交换网中输入和输出的带宽占用率示意图,从图中可以看出建立该通路所消耗带宽的比重较大,从而占用了较多的交换网带宽资源,减低了交换网的交换效率。如果出现了包长较短的包突发的情况,大量数据包会被积压在交换网的入口处,产生大量的积累,进一步的会产生以下几个问题(I)建立通路占用了较多的交换网带宽资源,减低了交换网的交换效率;(2)需要在交换网入口处设置较大的缓存空间,将突发的数据包缓存住,以防止数据包丢弃,这样增加了系统硬件资源的浪费;(3)产生大量的数据包积累会增大系统的抖动,使得系统的服务质量下降;(4)数据包包长较短的情况下,时延也会增大。由此可见,基于数据包的握手机制的系统性能在包长较长的包下表现出了充分的优越性,但是在包长较短的包的情况下性能会受到严重的影响。现在通常的解决方案是通过提高芯片频率,加大交换网的交换能力等方法提高系统的整体性能。当出现包长较短的包突发时,仍然能满足交换网的交换性能。但是这种方法实际上是对系统硬件资源的一种浪费,在大部分情况下,交换网的带宽是闲置的,并没有真正解决交换网对包长较短的数据包进行传输时的效率问题。

发明内容
有鉴于此,本发明的主要目的在于提供一种分组交换网中数据包发送和接收的方法及装置,能够解决交换网对包长较短的数据包传输时效率低下的问题。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种分组交换网中数据包发送的方法,所述方法包括
将待发送的数据包根据目的地址进行分类;将同类的多个短数据包整合后,进行切片封装并发送。其中,所述将同类的多个短数据包整合前,还包括判断分类后的数据包长度是否为短数据包,如果不是,则发送到输出队列进行发送,如果是则判断输出队列是否空闲,如果空闲则将数据包发送到输出队列进行发送,否则缓存短数据包,等待其他新的同类短数据包缓存后,将同类的多个短数据包进行整合。其中,所述判断分类后的数据包长度是否为短数据包,具体为根据预设的包长阈值进行判断,如果数据包长度小于包长阈值即为短数据包,否则为长数据包;所述将同类的多个短数据包整合,具体为当缓存的多个数据包的总包长超过包 长阈值后,进行整合。其中,所述将同类的多个短数据包整合后,进行切片封装并发送,包括将同类的多个短数据包,采用包长调整技术进行整合后,进行切片封装发送到输出队列进行发送,其中,切片封装过程中添加封装信息包括数据切片的目的地址、封装后新的数据包号、数据切片所属封装包的切片总数、数据切片属于封装包的切片编号、数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、数据切片属于原数据包的切片编号。本发明还提供了一种分组交换网中数据包接收的方法,所述方法包括经过分组交换网传输后,对接收的数据包进行重组;对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。其中,所述对接收的数据包进行重组,具体为根据封装信息中的封装后新的数据包号、数据切片所属封装包的切片总数、以及数据切片属于封装包的切片编号,将属于同一封装包的多个切片重组为整合后的数据包;所述对重组得到的整合后的数据包进行解析,具体为根据封装信息中的数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、以及数据切片属于原数据包的切片编号,将整合后的数据包解析为原始的各个短数据包。本发明还提供了一种分组交换网中数据包发送的装置,所述装置具体为数据调整发送模块,其中,所述数据调整发送模块,用于将待发送的数据包根据目的地址进行分类,将同类的多个短数据包整合后,进行切片封装并发送。其中,所述数据调整发送模块中具体包括数据包分类子模块、调整队列、切片封装子模块、输出队列和调整判断子模块,其中,所述数据包分类子模块,用于将待发送的数据包根据目的地址进行分类,分别发送到对应的调整队列中;所述调整判断子模块,用于判断调整队列中的数据包长度是否为短数据包,如果不是,则指示调整队列将数据包经过切片封装子模块的切片封装发送给输出队列进行发送,如果是则判断输出队列是否空闲,如果空闲则指示调整队列将数据包经过切片封装子模块的切片封装发送给输出队列进行发送,否则指示调整队列缓存短数据包,等待其他新的同类短数据包缓存后,将同类的多个短数据包进行整合,经过切片封装子模块的切片封装发送给输出队列进行发送。
其中,所述调整判断子模块判断调整队列中的数据包长度是否为短数据包,具体为根据预设的包长阈值进行判断,如果数据包长度小于包长阈值即为短数据包,否则为长数据包;所述调整判断子模块将同类的多个短数据包整合,具体为当缓存的多个数据包的总包长超过包长阈值后,进行整合。其中,所述数据调整发送模块将同类的多个短数据包整合后,进行切片封装并发送,包括所述数据调整发送模块将同类的多个短数据包,采用包长调整技术进行整合后,进行切片封装发送到输出队列进行发送,其中,切片封装过程中添加封装信息包括数据切片的目的地址、封装后新的数据包号、数据切片所属封装包的切片总数、数据切片属于封装包的切片编号、数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、数据切片属于原数据包的切片编号。本发明还提供了一种分组交换网中数据包接收的装置,所述装置具体为数据接·收重组模块,用于接收经过分组交换网传输的数据包,对其进行重组,对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。其中,所述数据接收重组模块中具体包括数据切片接收子模块、数据包重组子模块和数据包恢复子模块,其中,数据切片接收子模块,用于接收经过分组交换网传输的数据包;数据包重组子模块,用于根据封装信息中的封装后新的数据包号、数据切片所属封装包的切片总数、以及数据切片属于封装包的切片编号,将属于同一封装包的多个切片重组为整合后的数据包;数据包恢复子模块,用于根据封装信息中的数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、以及数据切片属于原数据包的切片编号,将整合后的数据包解析恢复为原始的各个短数据包。本发明所提供的分组交换网中数据包发送和接收的方法及装置,在发送端将待发送的数据包根据目的地址进行分类,将同类的多个短数据包整合后,进行切片封装并发送;在接收端经过分组交换网传输后,对接收的数据包进行重组,对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。所述方法能够在不增加系统资源开销的基础上,利用包长调整技术对积累的包长较短的数据包进行重新整合和封装,形成包长较长的数据包,以提高交换网的交换效率,避免出现网络抖动。


图I为现有技术中分组交换网的基本结构示意图;图2为包长较长的情况下的交换网中输入和输出的带宽占用率示意图;图3为包长较短的情况下的交换网中输入和输出的带宽占用率示意图;图4为本发明一种分组交换网中数据包发送的方法流程示意图;图5为本发明数据切片中封装信息的格式示意图;图6为本发明一种分组交换网中数据包接收的方法流程示意图;图7为包长调整的数据包在整个交换过程中的数据结构变化示意图8为本发明一种分组交换网中数据包传输的系统结构示意图;图9为本发明数据调整发送模块81的具体结构示意图;图10为本发明数据接收重组模块82的具体结构示意图;图11为经过包长调整之后包长较短的数据包的带宽利用率示意图。
具体实施例方式本发明的基本思想是将待发送的数据包根据目的地址进行分类;将同类的多个短数据包整合后,进行切片封装并发送。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。图4为本发明一种分组交换网中数据包发送的方法流程示意图,如图4所示,所述方法具体包括以下步骤步骤401,将待发送的数据包根据目的地址进行分类;具体的,将待发送的数据包根据目的地址进行分类,具体为将目的地址相同的数据包归为同类的数据包。在分组交换网络中,所述各个目的地址分别对应各个出口线卡。步骤402,将同类的多个短数据包整合后,进行切片封装并发送。具体的,所述将同类的多个短数据包整合后,进行切片封装并发送,包括将同类的多个短数据包,采用包长调整技术进行整合后,进行切片封装发送到输出队列进行发送。所述切片封装过程中添加封装信息包括数据切片的目的地址;封装后新的数据包号;数据切片所属封装包的切片总数;数据切片属于封装包的切片编号;数据切片所属原数据包的包号;数据切片所属原数据包的切片总数;数据切片属于原数据包的切片编号。图5为本发明数据切片中封装信息的格式示意图,如图5所示,Dest_ID :数据切片的目的地址,即对应出口线卡;N_P_ID :封装后新的数据包号;N_C_NUM :数据切片所属封装包的切片总数;N_C_ID :数据切片属于封装包的切片编号,即该切片属于封装包的第几个切片;P_ID :数据切片所属原数据包的包号;C_NUM :数据切片所属原数据包的切片总数;C_ID :数据切片属于原数据包的切片编号,即该切片属于原数据包的第几个切片。进一步的,所述步骤402之前,所述方法还包括判断分类后的数据包长度是否为短数据包,如果不是,则发送到输出队列进行发送,如果是则进一步判断输出队列是否空闲,如果空闲则将数据包发送到输出队列进行发送,否则缓存所述短数据包,等待其他新的同类短数据包缓存后,执行步骤402。具体的,所述判断分类后的数据包长度是否为短数据包,具体为根据预设的包长阈值进行判断,如果数据包长度小于包长阈值即为短数据包,否则为长数据包。所述将同类的多个短数据包整合,具体为当缓存的多个数据包的总包长超过包长阈值后,进行整合。其中,所述包长阈值具体为根据分组交换网的传输状况进行预设。在具体实现中,优选的方案为将分类后的数据包被分别缓存到各自的调整队列中,所述调整队列的长度为包长阈值,判断分类后的数据包长度是否为短数据包,即比较数据包长度和调整队列的长度,大于或等于调整队列的长度即为长数据包,将所述长数据包发送到输出队列进行发送;数据包长度小于调整队列的,进一步判断输出队列是否空闲,如果空闲则将数据包发送到输出队列进行发送,否则将所述短数据包缓存到调整队列中,等待其他新的同类短数据包缓存;当缓存的数据包总长度大于或等于调整队列的长度后,将多个短数据包整合,然后进行切片封装并发送到输出队列进行发送。图6为本发明一种分组交换网中数据包接收的方法流程示意图,如图6所示,所述方法具体包括以下步骤步骤601,经过分组交换网传输后,对接收的数据包进行重组;具体的,所述对接收的数据包进行重组,具体为根据封装信息对接收的数据包进行重组,得到整合后的数据包。其中,所述重组过程中,根据封装信息中的封装后新的数据包号、数据切片所属封装包的切片总数、以及数据切片属于封装包的切片编号,将属于同一封装包的多个切片重组为整合后的数据包。步骤602,对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。具体的,所述对重组得到的整合后的数据包进行解析,具体为根据封装信息对整合后的数据包进行解析,得到所述同类的各个短数据包。其中,所述解析过程中,根据封装·信息中的数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、以及数据切片属于原数据包的切片编号,将整合后的数据包解析为原始的各个短数据包。图7为包长调整的数据包在整个交换过程中的数据结构变化示意图,如图7所示,假设某一时间段内,入口线卡接收到5个目的地址都为20的包长较短的包,分别为数据包61至65,在调整队列中缓存后,将调整队列中的5个数据包进行切片,假设每个数据包可以切成两个数据切片,则总共可以产生10个数据切片,并且进行封装,存入输出队列等待发送,其中所述封装后的数据切片I和数据切片10的如图中所示。出口线卡接收到数据切片I至数据切片10后对接收到数据切片进行重组和解析,恢复出相应的数据包61至65。图8为本发明一种分组交换网中数据包传输的系统结构示意图,如图8所示,所述系统中包括数据包发送的装置,具体为数据调整发送模块81,用于将待发送的数据包根据目的地址进行分类,将同类的多个短数据包整合后,进行切片封装并发送。具体的,在分组交换网络中,所述各个目的地址分别对应各个出口线卡。所述数据调整发送模块81将同类的多个短数据包整合后,进行切片封装并发送,包括所述数据调整发送模块81将同类的多个短数据包,采用包长调整技术进行整合后,进行切片封装发送到输出队列进行发送。所述切片封装过程中添加封装信息包括数据切片的目的地址;封装后新的数据包号;数据切片所属封装包的切片总数;数据切片属于封装包的切片编号;数据切片所属原数据包的包号;数据切片所属原数据包的切片总数;数据切片属于原数据包的切片编号。所述系统中还包括数据包接收的装置,具体为数据接收重组模块82,用于接收经过分组交换网传输的数据包,对其进行重组,对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。具体的,所述数据接收重组模块82对接收的数据包进行重组,具体为根据封装信息对接收的数据包进行重组,得到整合后的数据包。其中,所述重组过程中,根据封装信息中的封装后新的数据包号、数据切片所属封装包的切片总数、以及数据切片属于封装包的切片编号,将属于同一封装包的多个切片重组为整合后的数据包。所述数据接收重组模块82对重组得到的整合后的数据包进行解析,具体为根据封装信息对整合后的数据包进行解析,得到所述同类的各个短数据包。其中,所述解析过程中,根据封装信息中的数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、以及数据切片属于原数据包的切片编号,将整合后的数据包解析为原始的各个短数据包。进一步的,图9为本发明数据调整发送模块81的具体结构示意图,如图9所示,所述数据调整发送模块81中具体包括数据包分类子模块711、调整队列712、切片封装子模块713、输出队列714和调整判断子模块715,其中,所述数据包分类子模块711,用于将待发送的数据包根据目的地址进行分类,分别发送到对应的调整队列712中;
所述调整判断子模块715,用于判断调整队列712中的数据包长度是否为短数据包,如果不是,则指示调整队列712将数据包经过切片封装子模块713的切片封装发送给输出队列714进行发送,如果是则判断输出队列714是否空闲,如果空闲则指示调整队列712将数据包经过切片封装子模块713的切片封装发送给输出队列714进行发送,否则指示调整队列712缓存所述短数据包,等待其他新的同类短数据包缓存后,将同类的多个短数据包进行整合,经过切片封装子模块713的切片封装发送给输出队列714进行发送。具体的,所述调整判断子模块715判断调整队列712中的数据包长度是否为短数据包,具体为根据预设的包长阈值进行判断,如果数据包长度小于包长阈值即为短数据包,否则为长数据包。所述调整判断子模块715将同类的多个短数据包整合,具体为当缓存的多个数据包的总包长超过包长阈值后,进行整合。其中,所述包长阈值具体为根据分组交换网的传输状况进行预设。进一步的,图10为本发明数据接收重组模块82的具体结构示意图,如图10所示,所述数据接收重组模块82中具体包括数据切片接收子模块821、数据包重组子模块822和数据包恢复子模块823,其中,数据切片接收子模块821,用于接收经过分组交换网传输的数据包,即数据切片;数据包重组子模块822,用于根据封装信息中的封装后新的数据包号、数据切片所属封装包的切片总数、以及数据切片属于封装包的切片编号,将属于同一封装包的多个切片重组为整合后的数据包;数据包恢复子模块823,用于根据封装信息中的数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、以及数据切片属于原数据包的切片编号,将整合后的数据包解析恢复为原始的各个短数据包。综上所述,本发明中根据基于数据包握手机制的交换网,对包长较长的包交换的优越性能,采用包长调整技术,对产生的包长较短的包进行整合和封装,形成包长较长的包,再进行发送。这样在不增加系统开销的基础上,提高交换网对包长较短的包的交换效率,提高整网的性能。本发明将接收到的数据包根据目的地址进行分类,采用包长调整技术对包长较短的包进行整合和封装,形成包长较长的包,再进行发送,从而对多个包长较短的包只需要建立一次通路,大大减少了通路建立所占用的时间和带宽,进而提高了交换网的交换效率。其中是根据调整队列长度和输出队列的状态来决定是否对数据包进行整合,形成新的包长较长的包。数据包是否被整合取决于输出队列的状态是否为空闲。当交换网繁忙时,数据包出队的速度很慢,输出队列的状态不容易为空,此时整合的效率很高。反之交换网空闲时,输出队列经常为空,则整合的效率很低,即可以直接发送数据包。通过这种自动调节,保持整合率与交换网状态一致,即防止整合率低引起交换效率低下数据阻塞,又防止一味提高整合率引起数据不必要的滞留。这样保持交换速度与数据流速保持动态平衡,从而提高了交换网的整体交换效率,从根本上解决了现有技术的缺点。图11为经过包长调整之后包长较短的数据包的带宽利用率示意图,由图中可以看出上述优点。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种分组交换网中数据包发送的方法,其特征在于,所述方法包括 将待发送的数据包根据目的地址进行分类; 将同类的多个短数据包整合后,进行切片封装并发送。
2.根据权利要求I所述的方法,其特征在于,所述将同类的多个短数据包整合前,还包括 判断分类后的数据包长度是否为短数据包,如果不是,则发送到输出队列进行发送,如果是则判断输出队列是否空闲,如果空闲则将数据包发送到输出队列进行发送,否则缓存短数据包,等待其他新的同类短数据包缓存后,将同类的多个短数据包进行整合。
3.根据权利要求2所述的方法,其特征在于,所述判断分类后的数据包长度是否为短数据包,具体为根据预设的包长阈值进行判断,如果数据包长度小于包长阈值即为短数据包,否则为长数据包; 所述将同类的多个短数据包整合,具体为当缓存的多个数据包的总包长超过包长阈值后,进行整合。
4.根据权利要求I或2所述的方法,其特征在于,所述将同类的多个短数据包整合后,进行切片封装并发送,包括 将同类的多个短数据包,采用包长调整技术进行整合后,进行切片封装发送到输出队列进行发送,其中,切片封装过程中添加封装信息包括数据切片的目的地址、封装后新的数据包号、数据切片所属封装包的切片总数、数据切片属于封装包的切片编号、数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、数据切片属于原数据包的切片编号。
5.一种分组交换网中数据包接收的方法,其特征在于,所述方法包括 经过分组交换网传输后,对接收的数据包进行重组; 对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。
6.根据权利要求5所述的方法,其特征在于,所述对接收的数据包进行重组,具体为根据封装信息中的封装后新的数据包号、数据切片所属封装包的切片总数、以及数据切片属于封装包的切片编号,将属于同一封装包的多个切片重组为整合后的数据包; 所述对重组得到的整合后的数据包进行解析,具体为根据封装信息中的数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、以及数据切片属于原数据包的切片编号,将整合后的数据包解析为原始的各个短数据包。
7.一种分组交换网中数据包发送的装置,其特征在于,所述装置具体为数据调整发送模块,其中, 所述数据调整发送模块,用于将待发送的数据包根据目的地址进行分类,将同类的多个短数据包整合后,进行切片封装并发送。
8.根据权利要求7所述的装置,其特征在于,所述数据调整发送模块中具体包括数据包分类子模块、调整队列、切片封装子模块、输出队列和调整判断子模块,其中, 所述数据包分类子模块,用于将待发送的数据包根据目的地址进行分类,分别发送到对应的调整队列中; 所述调整判断子模块,用于判断调整队列中的数据包长度是否为短数据包,如果不是,则指示调整队列将数据包经过切片封装子模块的切片封装发送给输出队列进行发送,如果是则判断输出队列是否空闲,如果空闲则指示调整队列将数据包经过切片封装子模块的切片封装发送给输出队列进行发送,否则指示调整队列缓存短数据包,等待其他新的同类短数据包缓存后,将同类的多个短数据包进行整合,经过切片封装子模块的切片封装发送给输出队列进行发送。
9.根据权利要求8所述的装置,其特征在于,所述调整判断子模块判断调整队列中的数据包长度是否为短数据包,具体为根据预设的包长阈值进行判断,如果数据包长度小于包长阈值即为短数据包,否则为长数据包; 所述调整判断子模块将同类的多个短数据包整合,具体为当缓存的多个数据包的总包长超过包长阈值后,进行整合。
10.根据权利要求7或8所述的装置,其特征在于,所述数据调整发送模块将同类的多个短数据包整合后,进行切片封装并发送,包括 所述数据调整发送模块将同类的多个短数据包,采用包长调整技术进行整合后,进行切片封装发送到输出队列进行发送,其中,切片封装过程中添加封装信息包括数据切片的目的地址、封装后新的数据包号、数据切片所属封装包的切片总数、数据切片属于封装包的切片编号、数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、数据切片属于原数据包的切片编号。
11.一种分组交换网中数据包接收的装置,其特征在于,所述装置具体为数据接收重组模块,用于接收经过分组交换网传输的数据包,对其进行重组,对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。
12.根据权利要求11所述的装置,其特征在于,所述数据接收重组模块中具体包括数据切片接收子模块、数据包重组子模块和数据包恢复子模块,其中, 数据切片接收子模块,用于接收经过分组交换网传输的数据包; 数据包重组子模块,用于根据封装信息中的封装后新的数据包号、数据切片所属封装包的切片总数、以及数据切片属于封装包的切片编号,将属于同一封装包的多个切片重组为整合后的数据包; 数据包恢复子模块,用于根据封装信息中的数据切片所属原数据包的包号、数据切片所属原数据包的切片总数、以及数据切片属于原数据包的切片编号,将整合后的数据包解析恢复为原始的各个短数据包。
全文摘要
本发明公开了一种分组交换网中数据包发送的方法,所述方法包括将待发送的数据包根据目的地址进行分类,将同类的多个短数据包整合后,进行切片封装并发送。本发明还公开了一种分组交换网中数据包接收的方法,经过分组交换网传输后,对接收的数据包进行重组,对重组得到的整合后的数据包进行解析,得到所述同类的各个短数据包。本发明还公开了分组交换网中数据包发送和接收的装置,通过上述方法和装置,能够在不增加系统资源开销的基础上,利用包长调整技术对积累的包长较短的数据包进行重新整合和封装,形成包长较长的数据包,以提高交换网的交换效率,避免出现网络抖动。
文档编号H04L12/861GK102916880SQ20111021779
公开日2013年2月6日 申请日期2011年8月1日 优先权日2011年8月1日
发明者魏幸子, 谢洪波, 徐健 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1