改善tcp传输性能的卫星链路系统及其使用方法

文档序号:7857262阅读:377来源:国知局
专利名称:改善tcp传输性能的卫星链路系统及其使用方法
技术领域
本发明属于卫星通信技术领域,尤其涉及ー种改善TCP传输性能的卫星链路系统及其使用方法。
背景技术
由于卫星通信具有覆盖面广、组网灵活、建网快和不受地理环境限制等优点,目前在广域网的建设上,有部分链路会采用卫星链路。TCP/I P是目前应用最广泛的通信协议,其中传输控制协议(TCP)是面向连接的可靠协议。虽然在大多数情况下,TCP的拥塞控制策略是有效的,但由于卫星网络固有的ー些特性,如长延时、高误码率、网络不対称性等,都影响了 TCP在高速数据传输中的性能。在卫星链路上采用TCP协议进行高速数据传输时,会受到时延带宽积(DelayBandwidth Product, BDP)的“瓶颈”制约。在TCP协议中,从一端到一端(比如在主机A和主机B之间)所正在传输的数据量受数据包窗ロ大小的限制。当该窗ロ满了以后,发送方就无法发送更多的数据,直到接收方确认已经接收了窗ロ中的部分数据。如果数据包窗ロ太小的话,势必会限制数据从一方传送到另一方井进行应答的速率,进而影响到整条链路的数据吞吐能力。在网络延时比较小的链路,这个瓶颈出现的几率很小,因为已经有很好的机制能允许TCP协议使用足够大的数据报窗ロ,而且现在流行的操作系统也都实现了这些机制。然而,由于卫星链路具有比较大的网络延吋,因此,通常情况下的窗ロ设置,不能满足卫星链路进行TCP高速数据传输的要求。有鉴于此,常用的TCP协议并不适合在卫星链路上进行高速的数据传输。此外,TCP的慢启动和拥塞控制行为也会引起在卫星链路上数据传输的低效率。这是由于TCP并不是总能利用最大窗ロ进行传输,也就是说,如果数据传送在一段时间内比较正常的话,TCP窗ロ大小会逐渐变大,但一旦传输失败的话其窗ロ大小会立即缩小。由于卫星网络同时具有高带宽和高延迟特性,这种行为就会导致带宽的浪费从而延长数据的传输时间。图I是卫星链路的广域网拓扑图。如图I所示,典型的卫星通信网络通常由卫星主站,卫星小姑,移动卫星站和地面网组成。当地面网的主机与卫星小站的主机进行TCP连 接的数据传输时,由于卫星链路具有较长时间的延吋,TCP将较长时间的物理延时认定为网络出现拥塞,从而启动了拥塞避免算法,降低了数据传输速率,这样就导致TCP业务的带宽利用率低的现象。通常通过修改TCP协议栈的窗ロ大小来避免TCP传输带宽利用率低的现象,但是会导致被修改終端与其他网络终端标准TCP协议的不兼容,因此这种方式实现比较困难。

发明内容
本发明的目的在于,提出ー种改善TCP传输性能的卫星链路系统及其使用方法,用以解决由于卫星链路特有的物理延时较长而导致的TCP性能恶化的问题。
为实现上述本发明的目的,本发明的技术方案是,ー种改善TCP传输性能的卫星链路系统,包括卫星主站,卫星小站、卫星小站内网主机、地面网和地面网主机,其特征是所述卫星主站包括卫星主站代理服务器,所述卫星小站包括卫星小站代理服务器;所述卫星主站代理服务器与卫星小站代理服务器通过隧道方式连接;所述卫星主站代理服务器与地面网主机通过TCP方式连接;所述卫星小站代理服务器与卫星小站内网的主机通过TCP方式连接;所述地面网主机设定卫星主站代理服务器为地面网TCP传输协议的代理服务器;所述卫星小站内网主机设定卫星小站代理服务器为卫星小站内网的TCP传输协议的代理服务器。

ー种改善TCP传输性能的卫星链路系统的使用方法,其特征是所述方法包括步骤I :建立改善TCP传输性能的卫星链路系统;步骤2 :以地面网主机/卫星小站内网主机作为发送端,以卫星主站代理服务器/卫星小站代理服务器作为发送端代理服务器,则卫星小站内网主机/地面网主机为接收端,卫星小站代理服务器/卫星主站代理服务器为接收端代理服务器;步骤3 :发送端通过TCP协议向发送端代理服务器发送TCP数据;步骤4 :发送端代理服务器将TCP数据转化为UDP数据,封装所述UDP数据与含有发送时刻的UDP时间戳检测包后,发送到接收端代理服务器; 步骤5 :接收端代理服务器接收到封装了 UDP数据与含有发送时刻的UDP时间戳检测包后,分别提取UDP数据和含有发送时刻的UDP时间戳检测包;步骤6 :接收端代理服务器将UDP数据转换为TCP数据并通过TCP协议将TCP数据发送到接收端;同时,将含有发送时刻的m)P时间戳检测包封装成UDP响应包并发送到发送端代理服务器;步骤7 :判断发送端代理服务器在设定时间内是否收到接收端代理服务器发送的UDP响应包,如果发送端代理服务器在设定时间内收到接收端代理服务器发送的UDP响应包,则执行步骤8 ;否则,执行步骤10 ;步骤8 :发送端代理服务器从UDP响应包中提取发送时刻,并根据发送时刻和当前时刻计算当前链路的延时;步骤9 :根据当前链路的延时判断当前链路的带宽利用率,同时动态调整发送数据的速率,结束流程;步骤10 :判断发送端代理服务器发送的封装了 UDP数据与含有发送时刻的UDP时间戳检测包的次数是否超过设定次数,如果超过设定次数,则执行步骤11 ;否则,返回步骤
4;步骤11 :发送端代理服务器向发送端发送数据传输失败消息并关闭与发送端的TCP连接。所述步骤9具体是,根据当前链路的延时判断当前链路的带宽利用率,如果当前链路的延时大于系统设定延时,则当前链路的带宽利用率低,提高发送数据的速率;如果当前链路的延时小于等于系统设定延时,则当前链路的带宽利用率高,降低发送数据的速率。本发明通过引入代理服务器、隧道机制和协议转换机制,提高卫星系统的TCP应用效果,避免了 TCP在较长延时的情况下的带宽利用率低的问题。


图I是包含卫星链路的广域网拓扑图;图2是改善TCP传输性能的卫星链路系统结构图;图3改善TCP传输性能的卫星链路系统的使用方法流程图;图4是改善TCP传输性能的卫星链路系统数据流转示意图。
具体实施例方式下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。图2是改善TCP传输性能的卫星链路系统结构图。图2中,本发明提供的改善TCP传输性能的卫星链路系统包括卫星主站,卫星小姑、卫星小站内网主机、地面网和地面网主机。其中,卫星主站包括卫星主站代理服务器,卫星小站包括卫星小站代理服务器。卫星主站代理服务器与卫星小站代理服务器通过隧道方式连接,卫星主站代理服务器与地面网主机通过TCP方式连接,卫星小站代理服务器与卫星小站内网的主机通过TCP方式连接,地面网主机设定卫星主站代理服务器为地面网TCP传输协议的代理服务器,卫星小站内网主机设定卫星小站代理服务器为卫星小站内网的TCP传输协议的代理服务器。图3改善TCP传输性能的卫星链路系统的使用方法流程图。图3中,改善TCP传输性能的卫星链路系统的使用方法包括步骤I :建立改善TCP传输性能的卫星链路系统。如图2所示,分别在卫星主站和卫星小站中设置卫星主站代理服务器和卫星小站 代理服务器。建立卫星主站代理服务器和卫星小站代理服务器之间的隧道连接。在地面网主机中设定卫星主站代理服务器为地面网TCP传输协议的代理服务器,建立地面网主机与卫星主站代理服务器的TCP连接;在卫星小站内网主机中设定卫星小站代理服务器为卫星小站内网TCP传输协议的代理服务器,建立卫星小站内网主机与卫星小站代理服务器的TCP连接。步骤2 :本实施例以地面网主机作为发送端,以卫星主站代理服务器作为发送端代理服务器,则卫星小站内网主机为接收端,卫星小站代理服务器为接收端代理服务器。分别取设定时间为5秒,设定次数为3次,系统设定延时为300毫秒。步骤3 :发送端通过TCP协议向发送端代理服务器发送TCP数据。步骤4 :发送端代理服务器将TCP数据转化为UDP数据,封装UDP数据与含有发送时刻的UDP时间戳检测包后,发送到接收端代理服务器。于此同吋,启动定时器进行计时。步骤5 :接收端代理服务器接收到封装了 UDP数据与含有发送时刻的UDP时间戳检测包后,分别提取UDP数据和含有发送时刻的UDP时间戳检测包。步骤6 :接收端代理服务器将UDP数据转换为TCP数据并通过TCP协议将TCP数据发送到接收端;同时,将含有发送时刻的m)P时间戳检测包封装成UDP响应包并发送到发送端代理服务器。步骤7 :判断发送端代理服务器在设定时间(即5秒)内是否收到接收端代理服务器发送的UDP响应包。
发送端代理服务器查看定时器记录的时间,如果在定时器记录的5秒内收到接收端代理服务器发送的UDP响应包,则认为发送端代理服务器在设定时间内收到接收端代理服务器发送的UDP响应包,此时执行步骤8。如果在定时器记录的5秒内未收到接收端代理服务器发送的UDP响应包,则认为发送端代理服务器未在设定时间内收到接收端代理服务器发送的UDP响应包,此时执行步骤10。步骤8 :发送端代理服务器从UDP响应包中提取发送时刻,并根据发送时刻和当前时刻计算当前链路的延时。当前链路的延时等于当前时刻与发送时刻之差。图4是改善TCP传输性能的卫星链路系统数据流转示意图,图4显示了改善TCP传输性能的卫星链路系统的一条完整的数据流转过程。步骤9 :根据当前链路的延时判断当前链路的带宽利用率,同时动态调整发送数据的速率。根据当前链路的延时判断当前链路的带宽利用率,如果当前链路的延时大于系统设定延时(即300毫秒),则当前链路的带宽利用率低,提高发送数据的速率。提高发送数据的速率,就是指代理服务器增加发送数据包的频率,例如之前每秒发送10个数据包,则之后每秒发送15个数据包,这样就达到提高发送数据的速率的目的。如果当前链路的延时小于等于系统设定延时(即300毫秒),则当前链路的带宽利用率高,降低发送数据的速率。降低发送数据的速率,就是指代理服务器减少发送数据包的频率,例如之前每秒发送10个数据包,则之后每秒发送5个数据包,这样就达到降低发送数据的速率的目的。步骤10 :判断发送端代理服务器发送的封装了 UDP数据与含有发送时刻的UDP时间戳检测包的次数是否超过设定次数(即3次),如果超过3次,则执行步骤11 ;否则,返回步骤4。 步骤11 :如果发送端代理服务器未在5秒内收到接收端代理服务器发送的UDP响应包,且发送端代理服务器发送的封装了 UDP数据与含有发送时刻的UDP时间戳检测包的次数已经超过3次,则说明链路传输出现问题,此时发送端代理服务器向发送端发送数据传输失败消息并关闭与发送端的TCP连接。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种改善TCP传输性能的卫星链路系统,包括卫星主站,卫星小站、卫星小站内网主机、地面网和地面网主机,其特征是所述卫星主站包括卫星主站代理服务器,所述卫星小站包括卫星小站代理服务器; 所述卫星主站代理服务器与卫星小站代理服务器通过隧道方式连接; 所述卫星主站代理服务器与地面网主机通过TCP方式连接; 所述卫星小站代理服务器与卫星小站内网的主机通过TCP方式连接; 所述地面网主机设定卫星主站代理服务器为地面网TCP传输协议的代理服务器; 所述卫星小站内网主机设定卫星小站代理服务器为卫星小站内网的TCP传输协议的代理服务器。
2.一种如权利要求I所述的卫星链路系统的使用方法,其特征是所述方法包括 步骤I:建立改善TCP传输性能的卫星链路系统; 步骤2 以地面网主机/卫星小站内网主机作为发送端,以卫星主站代理服务器/卫星小站代理服务器作为发送端代理服务器,则卫星小站内网主机/地面网主机为接收端,卫星小站代理服务器/卫星主站代理服务器为接收端代理服务器; 步骤3 :发送端通过TCP协议向发送端代理服务器发送TCP数据; 步骤4 :发送端代理服务器将TCP数据转化为UDP数据,封装所述UDP数据与含有发送时刻的UDP时间戳检测包后,发送到接收端代理服务器; 步骤5 :接收端代理服务器接收到封装了 UDP数据与含有发送时刻的UDP时间戳检测包后,分别提取UDP数据和含有发送时刻的UDP时间戳检测包; 步骤6 :接收端代理服务器将UDP数据转换为TCP数据并通过TCP协议将TCP数据发送到接收端;同时,将含有发送时刻的m)P时间戳检测包封装成UDP响应包并发送到发送端代理服务器; 步骤7 :判断发送端代理服务器在设定时间内是否收到接收端代理服务器发送的UDP响应包,如果发送端代理服务器在设定时间内收到接收端代理服务器发送的UDP响应包,则执行步骤8 ;否则,执行步骤10 ; 步骤8 :发送端代理服务器从UDP响应包中提取发送时刻,并根据发送时刻和当前时刻计算当前链路的延时; 步骤9 :根据当前链路的延时判断当前链路的带宽利用率,同时动态调整发送数据的速率,结束流程; 步骤10 :判断发送端代理服务器发送的封装了 UDP数据与含有发送时刻的UDP时间戳检测包的次数是否超过设定次数,如果超过设定次数,则执行步骤11 ;否则,返回步骤4 ;步骤11 :发送端代理服务器向发送端发送数据传输失败消息并关闭与发送端的TCP连接。
3.根据权利要求2所述的方法,其特征是所述步骤9具体是,根据当前链路的延时判断当前链路的带宽利用率,如果当前链路的延时大于系统设定延时,则当前链路的带宽利用率低,提高发送数据的速率;如果当前链路的延时小于等于系统设定延时,则当前链路的带宽利用率高,降低发送数据的速率。
全文摘要
本发明公开了卫星通信技术领域中的一种改善TCP传输性能的卫星链路系统及其使用方法。包括在基于卫星链路的网络当中引入代理服务器,代理服务器将TCP协议转为UDP协议,然后通过卫星链路将数据传输到对端的代理服务器,代理服务器间通过隧道方式连接,UDP的传输速率是经过代理服务器两端动态协商,数据到达隧道对端后,代理服务器将UDP转为TCP协议。这种系统及方法能提高卫星链路的带宽利用率,改善TCP协议在卫星链路数据传输性能差的问题,而对终端用户保持完全透明,保持原有网络拓扑不变,所有应用的功能均可继续正常运行。
文档编号H04B7/185GK102820915SQ201210272660
公开日2012年12月12日 申请日期2012年8月1日 优先权日2012年8月1日
发明者姜圳 申请人:北京佳讯飞鸿电气股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1