专利名称:Ip传真网关用户数据报文包冗余传送方法
技术领域:
本发明涉及IP传真领域,尤其是一种IP传真网关用户数据报文包冗余传送方法。
TCP方式的特点是,数据传输的可靠性比较高。在这种方式下,一旦IP链路上发生丢包的情况,一般采用是由接收端要求发送端重传的方式进行丢包的恢复。因此,它一般不会出现哪一个包最后没有传过来的情况。其缺点是,一旦丢包就要重传,降低了传输速度,占用了系统带宽。
用户数据报文方式一般采取
图1的传真包格式,该格式格式头和封装的数据包组成。格式头有IP、UDP、UDPTL三种格式头,其中IP格式头封装UDP格式头,UDP格式头封装UDPTL格式头,UDPTL格式头封装数据包。这种方法的步骤是(1)发端网关从公用电话交换网侧接收传真信息,进行解调、编码后封装在图1格式的数据包的位置,在IP网络上发送;(2)收端网关收到传真包,取出当前数据包解码。
这种方式的好处是,数据包只发一次,即使丢失也不重传,提高了传输速度,较小地占用了系统带宽,但缺点是传输可靠性大大降低。
为实现上述目的,本发明的解决方案是一利IP传真网关用户数据报文包冗余传送方法,它包括a、在IP传真的发端网关设置一个发端缓冲器,用来放置发端网关从公用电话交换网侧解调、编码得到的数据和相应序列号;在收端网关设置一个收端缓冲器,用来按相应序列号放置收端网关从收到的包中解码解出的数据;b、定义一个传真包的包格式,在封装头、当前包序列号、当前数据包的格式后面加一个放若干冗余数据包的格式;c、发端网关从公用电话交换网侧接收传真信息,进行解调、编码后放到发端缓冲器,发端缓冲器按进入时间给出相应序列号,将相应序列号、该数据包放入定义好的传真包格式,并将发端缓冲器中当前数据包的前若干个序列号的数据包作为冗余数据包放入定义好的传真包格式中发送;d、收端网关收到传真包,取出当前数据包和冗余数据包解码后,查看收端缓冲器中当前数据包和冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入,如该数据包或冗余数据包的序号超出收端缓冲器所能容纳的范围则丢弃。
上述步骤d可以如下实现收端网关收到传真包,取出当前数据包和冗余数据包解码后,首先判断当前数据包的序列号,当该序列号小于或等于收端缓冲器当前已经填有数据包的最大序列号时,依次判断收端缓冲器中当前数据包和冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入;当该序列号大于收端缓冲器当前已经填有数据包的最大序列号时,如果该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差大于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数,则将该数据包及其冗余数据包丢弃,如果该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差小于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数,则将当前数据包内容填入收端缓冲器当前数据包序列号的位置,然后判断收端缓冲器中冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入。
在本发明的步骤b中,可以预先设定一个固定的冗余包数量,所有的传真包都具有同样的冗余包数量。
本发明还可以有如下进一步的改进在步骤b中,在发端网关设置一个人机接口,该人机接口可以输入冗余包的个数值,由一个控制器利用该值定义传真包的包格式;在步骤c中,该控制器按照该值进行取出冗余数据包数量的控制。
本发明还可以有如下进一步的改进在步骤b中,在发端网关设置一个网络性能监测器,它可以对网络拥塞程度进行实时监测,并将监测结果报告给一个控制器,控制器里根据网络性能越差,冗余数据包数量越大的原则预先存放网络拥塞程度数据与冗余数据包数量的对应关系,按照实时监测结果查找该对应关系,得到冗余数据包数量,利用该值定义传真包的包格式;在步骤c中,该控制器按照该值进行取出冗余数据包数量的控制。
由于本发明把传统用户数据报文方式的传真包格式作了一下改变在传统用户数据报文方式的传真包格式后面加上一个放若干冗余数据包的格式,在发送当前数据包时不但把当前数据包封装到传真包中,还同时把前若干个已发送走的数据包重新封装到传真包的冗余数据包中,这样,一旦前若干个已发送走的数据包有在链路上丢包的情况,就可以通过当前传真包的冗余数据包进行恢复,在用户数据报文方式数据包丢失不重传、保障传输速度的情况下,达到了保障传输可靠性的效果。
在本发明的进一步改进中,由于在发端网关设置一个人机接口,通过该人机接口,系统管理员可以随时根据网络的拥塞状况,设置需要带冗余包的数量,将设置的冗余包的数量输入人机接口中,由人机接口发送给控制器。这样,就达到了一个随时根据网络的拥塞状况,灵活地设置需要带冗余包的数量,在网络性能较好时尽量少带冗余包,在网络性能较差时多带冗余包,在保障可靠性的前提下尽量少占用系统资源,实现了一个灵活的控制。
另外,在本发明的进一步改进中,在发端网关设置一个网络性能监测器,对网络拥塞程度进行实时监测,并将监测结果报告给一个控制器,控制器根据网络的拥塞状况,设置需要带冗余包的数量。这样,就达到了一个更加实时、准确地根据网络的拥塞状况,灵活地设置需要带冗余包的数量,在保障可靠性的前提下尽量少占用系统资源,灵活地进行控制的目的。
图2是本发明中用户数据报文方式采取的传真包格式。
图3是本发明的方法流程图。
图4是本发明发端网关根据发端缓冲器中内容填充传真包的示意图。
图5是本发明当前接收到的数据包的序列号小于或等于收端缓冲器当前已经填有数据包的最大序列号的情况下,收端网关根据收到的传真包按序列号恢复出接收到的数据包的过程示意图。
图6是本发明当前接收到的数据包的序列号大于收端缓冲器当前已经填有数据包的最大序列号的情况下,收端网关根据收到的传真包按序列号恢复出接收到的数据包的过程示意图。
图3是本发明的方法流程图。从中我们可以大体看出本发明的实现过程,每个步骤与我们后面的每一个小标题大体是对应的。
(1)IP传真的发端网关设置一个发端缓冲器,用来放置发端网关从公用电话交换网侧解调、编码得到的数据和相应序列号;在收端网关设置一个收端缓冲器,用来按相应序列号放置收端网关从收到的包中解码解出的数据。
该发端缓冲器的格式如图4左边所示,可见,该缓冲器由两部分组成一部分是序列号,一部分用来放序列号所对应的数据包。该序列号一般是按照放入该缓冲器的时间顺序自动生成的。
收端缓冲器的格式如图5、6的左、右边所示,该缓冲器也由两部分组成一部分是收到的解码后的数据包的序列号,一部分是收到的解码后的数据包。
该步骤中的解调、编码是发端网关发送数据所必须经过的过程,也是发端网关的主要职能,本领域技术人员十分清楚,故不加赘述。该步骤中的解码是收端网关接收数据所必须经过的过程,本领域技术人员也十分清楚,故不加赘述。
(2)定义一个传真包的包格式,在封装头、当前包序列号、当前数据包的格式后面加一个放若干冗余数据包的格式,如图2所示。对照图1可以看出,该格式与用户数据报文方式一般采取的传真包格式的不同就在于该格式后面可以存放冗余数据包。
该冗余数据包的数量是多少呢?本发明可以有三种处理办法。
第一种方法是将冗余数据包的数量设为固定的,所有的传真包都具有同样的冗余包数量。这种方法的优点是便于操作,缺点是灵活性差。
第二种方法是在发端网关设置一个人机接口,该人机接口可以由系统管理员输入冗余包的个数,人机接口把该值传给一个控制器,由控制器根据该值定义传真包的包格式。这样,系统管理员就可以根据网络的拥塞程度灵活地设定冗余包的个数,在网络性能较好时尽量少带冗余包,在网络性能较差时多带冗余包,这样就实现了一个灵活的控制。这种方法的缺点是对网络性能的估计是人为的,有时候不够准确。
第三种方法是在发端网关设置一个网络性能监测器,它可以对网络拥塞程度进行实时监测,并将监测结果报告给一个控制器,控制器里根据网络性能越差,冗余数据包数量越大的原则预先存放网络拥塞程度数据与冗余数据包数量的对应关系,按照实时监测结果查找该对应关系,得到冗余数据包数量,利用该值定义传真包的包格式。目前这种能够测出网络拥塞程度的网络性能监测器有很多,网管系统经常要利用这种网络性能监测器进行网络性能的测试,本领域技术人员比较了解,故不加以列举。这一步的实现的前提必须用统计的方法统计出多大范围的网络拥塞程度的值可以对应某一种冗余包数量,然后要在实际网络中进行实验,看这样的拥塞程度我们分配这样的冗余包数量行不行,然后将对应关系固化,放在控制器程序中。这种方法的优点是更加实时、准确地根据网络的拥塞状况,灵活地设置需要带冗余包的数量,更灵活地进行控制。
(3)发端网关从公用电话交换网侧接收传真信息,进行解调、编码后放到发端缓冲器,发端缓冲器按进入时间给出相应序列号,将相应序列号、该数据包放入定义好的传真包格式,并将发端缓冲器中当前数据包的前若干个序列号的数据包作为冗余数据包放入定义好的传真包格式中发送。
举例来说,如图4所示,发端网关将解调、编码后的数据包放到发端缓冲器中,发端缓冲器按进入时间给出相应序列号25,也就是说,前面已经存放了24个数据包了,存放到这里的目的是为了给后面的数据包提供一个携带冗余包的基础,后面的数据包需要携带冗余包时,就可以到这里面取。然后,将序列号25对应的数据包放入定义好的传真包格式中的数据包位置,假设设定的冗余包个数为5,则将发端缓冲器中的第24、23、22、21、20数据包作为冗余数据包放入定义好的传真包格式中发送。
在步骤(2)提到的设置冗余包数量的后两种方法中,控制器分别按照从人机接口设定的冗余包数量和从控制器中的拥塞程度与冗余包数量的对应关系中得到的冗余包数量进行取出冗余数据包数量的控制。
(4)收端网关收到传真包,取出当前数据包和冗余数据包解码后,查看收端缓冲器中当前数据包和冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入,如该数据包或冗余数据包的序号超出收端缓冲器所能容纳的范围则丢弃。
具体地说,收端网关收到传真包,取出当前数据包和冗余数据包解码后,首先判断当前数据包的序列号,当该序列号小于或等于收端缓冲器当前已经填有数据包的最大序列号时,依次判断收端缓冲器中当前数据包和冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入;当该序列号大于收端缓冲器当前已经填有数据包的最大序列号时,如果该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差大于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数,则将该数据包及其冗余数据包丢弃,如果该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差小于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数,则将当前数据包内容填入收端缓冲器当前数据包序列号的位置,然后判断收端缓冲器中冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入。
举例来说,如图5所示,收端网关收到传真包,取出当前数据包和冗余数据包解码后,判断当前数据包的序列号为29,该序列号29小于收端缓冲器当前已经填有数据包的最大序列号31,所以依次判断收端缓冲器中当前数据包29和冗余数据包28、27(冗余数据包的数量设为2)的序列号的位置是否有数据,29的位置有数据,则丢掉该包;28、27的位置无数据则将该数据包内容填入。
假设图6的情形,当收到的当前序列号35大于收端缓冲器当前已经填有数据包的最大序列号31时,该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差为4,它小于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数7,则将当前数据包35内容填入收端缓冲器当前数据包序列号35的位置,然后判断收端缓冲器中冗余数据包的序列号34、33的位置是否有数据,发现无数据,则将该数据包34、33的内容填入。
若收到的当前序列号是39,它大于收端缓冲器当前已经填有数据包的最大序列号31时,该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差为8,它大于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数7,则将该数据包39丢弃。因为此时缓冲器的容器是不够的。且一般收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数会有很多,如出现这种情况往往是由于传输错误造成的,故剔除这种情况。
权利要求
1.一种IP传真网关用户数据报文包冗余传送方法,它包括a、在IP传真的发端网关设置一个发端缓冲器,用来放置发端网关从公用电话交换网侧解调、编码得到的数据和相应序列号;在收端网关设置一个收端缓冲器,用来按相应序列号放置收端网关从收到的包中解码解出的数据;b、定义一个传真包的包格式,在封装头、当前包序列号、当前数据包的格式后面加一个放若干冗余数据包的格式;c、发端网关从公用电话交换网侧接收传真信息,进行解调、编码后放到发端缓冲器,发端缓冲器按进入时间给出相应序列号,将相应序列号、该数据包放入定义好的传真包格式,并将发端缓冲器中当前数据包的前若干个序列号的数据包作为冗余数据包放入定义好的传真包格式中发送;d、收端网关收到传真包,取出当前数据包和冗余数据包解码后,查看收端缓冲器中当前数据包和冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入,如该数据包或冗余数据包的序号超出收端缓冲器所能容纳的范围则丢弃。
2.根据权利要求1所述的IP传真网关用户数据报文包冗余传送方法,其特征在于步骤d是如下具体实现的 收端网关收到传真包,取出当前数据包和冗余数据包解码后,首先判断当前数据包的序列号,当该序列号小于或等于收端缓冲器当前已经填有数据包的最大序列号时,依次判断收端缓冲器中当前数据包和冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入;当该序列号大于收端缓冲器当前已经填有数据包的最大序列号时,如果该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差大于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数,则将该数据包及其冗余数据包丢弃,如果该序列号减去收端缓冲器当前已经填有数据包的最大序列号的差小于收端缓冲器当前已经填有数据包的最大序列号到缓冲器的末尾空闲的序列号数,则将当前数据包内容填入收端缓冲器当前数据包序列号的位置,然后判断收端缓冲器中冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入。
3.根据权利要求1或2所述的IP传真网关用户数据报文包冗余传送方法,其特征在于在步骤b中,预先设定一个固定的冗余包数量,所有的传真包都具有同样的冗余包数量。
4.根据权利要求1或2所述的IP传真网关用户数据报文包冗余传送方法,其特征在于在步骤b中,在发端网关设置一个人机接口,该人机接口可以输入冗余包的个数值,由一个控制器利用该值定义传真包的包格式;在步骤c中,该控制器按照该值进行取出冗余数据包数量的控制。
5.根据权利要求1或2所述的IP传真网关用户数据报文包冗余传送方法,其特征在于在步骤b中,在发端网关设置一个网络性能监测器,它可以对网络拥塞程度进行实时监测,并将监测结果报告给一个控制器,控制器里根据网络性能越差,冗余数据包数量越大的原则预先存放网络拥塞程度数据与冗余数据包数量的对应关系,按照实时监测结果查找该对应关系,得到冗余数据包数量,利用该值定义传真包的包格式;在步骤c中,该控制器按照该值进行取出冗余数据包数量的控制。
全文摘要
一种IP传真网关用户数据报文包冗余传送方法,它包括在IP传真的发、收端网关分别设置发、收端缓冲器;定义一个传真包的包格式,在传统传真包的格式后面加一个放若干冗余数据包的格式;发端网关将解调、编码后的数据包放到发端缓冲器,将相应序列号、该数据包放入定义好的传真包格式,并将发端缓冲器中当前数据包的前若干个序列号的数据包作为冗余数据包放入定义好的传真包格式中;收端网关收到传真包,取出当前数据包和冗余数据包解码后,查看收端缓冲器中当前数据包和冗余数据包的序列号的位置是否有数据,有数据则丢掉该包,无数据则将该数据包内容填入。它能够在用户数据报文方式数据包丢失不重传的情况下,仍然保障传输的可靠性。
文档编号H04L12/28GK1399445SQ0112441
公开日2003年2月26日 申请日期2001年7月25日 优先权日2001年7月25日
发明者张广胜, 蒋晓黎, 曾思南 申请人:华为技术有限公司