卫星链路中TCP传输性能改进与仿真
摘 要:卫星信道与地面有线信道具有不同的特点,当TCP协议直接应用于卫星链路上时,其吞吐量等性能会受到影响。针对卫星链路的特点,分析了现有的卫星链路进行TCP传输的几种解决方案,使用NS 2仿真软件,建立了仿真模型,并在给定的仿真环境下得出了一些卫星链路下TCP传输性能和卫星spoofing技术的仿真结论。卫星链路具有时延大、误码率高等特点,仿真结果说明卫星spoofing技术和PS技术相结合的方案对卫星链路TCP传输性能改善是十分有益的。
关键词:卫星通信; TCP协议; spoofing技术; PS技术
中图分类号:TN927 文献标识码:A
文章编号:1004-373X(2010)11-0051-04
Improvement and Simulation of TCP Transmission Performance in Satellite Link
YE Qing-di
(Jinling Institute of Technology, Nanjing 211169, China)
Abstract: Because satellite channel and terrestrial cable channel has different characteristics, when the TCP is used in a satellite link directly, the performance such as its throughput will be affected. According to the satellite link characteristics, the several main solutions of the TCP transmission in the available satellite links are analyzed, the simulation models are established with the simulation software of NS2, and simulation conclusions about the TCP transmission performance in satellite links and satellite-spoofing technology are obtained in the given environment. The simulation results show that a program combining the satellite-spoofing technology with PS technology can improve the transmission performance of TCP satellite links.
Keywords: satellite link; TCP protocol; spoofing; PS technique
0 引 言
随着通信事业的发展,卫星通信系统承载了大量的网络应用,其中基于TCP的应用大约占了应用总量的85%以上。但目前Internet上的数据流广泛使用的TCP(Transport Control Protocol)协议最初设计时,主要考虑的是在地面有线信道上的传输,而卫星信道的特点与地面有线信道不同,当TCP协议直接应用于卫星链路上时,其吞吐量等性能会受到影响。
本文针对卫星链路的特点,比较现有的TCP协议在卫星链路中传输的主要解决办法,建立卫星链路TCP传输模型,对卫星链路中TCP传输性能进行改进和仿真分析。
1 卫星链路中进行TCP传输
1.1 存在的主要问题
与地面有线信道相比,卫星信道具有时延大、上下行信道带宽不对称等特点,卫星环境中TCP/IP的传输性能将会明显下降。主要体现在数据传输的速率很难接近信道标定速率,带宽的利用率比较低,以至于数据传输的实时性就较差。
具体来讲,主要有这样几个方面\:噪声的影响会造成网络拥塞,使信道的传输速率受限,从而造成整个网络吞吐量的降低;大时延对回传确认信息和传输策略有直接影响,从而造成TCP协议拥塞控制和流量恢复策略的性能降低;卫星信道不对称带宽对本质上是对称的TCP通信有直接的影响。
1.2 目前的主要解决方法
针对卫星链路的特点,目前主要采用以下几种方法来改善卫星链路TCP传输性能:
第一种是在不改变标准TCP协议的前提下,调整优化TCP的一些运行参数,如RFC2581中重新设计初始窗口大小、RFC2582中选择确认SACK机制等\。
第二种是对TCP协议的控制机制进行修改。如针对无线网络的的某些方面,通过资源缓存技术、修改TCP的快速重传算法等机制来增强其在无线条件下的性能\。
第三种是地面段仍然采用标准的TCP协议,卫星段采用专门针对卫星环境设计的传输协议,包括SKyX、STP(Satellite Transport Protocol)、XSTP(Extended Satellite Transport Protocol)、SCPS-TP(TCP for Space Communications)等,其中SkyX Gateway网络结构示意图如图1所示。STP和XSTP的主要改进是通过引入链路衰减探测机制来区分误码和拥塞产生的报文丢失,TCP发送端对于传输出错情况只是采取重传,而不发生拥塞控制行为,从而提高了TCP性能。
图1 SkyX Gateway 网络结构示意图
第四种是利用 “分割连接”技术\,如spoofing技术,它绕开对TCP进行“端修改”所带来的问题,将原先的TCP端到端连接分为卫星传输部分和非卫星传输部分:非卫星传输部分主要是指发送端到上行代理的通信链路和下行代理到接收端的通信链路,它采用标准的TCP协议;而卫星传输部分是由上、下行代理和卫星节点组成的卫星网络,它采用针对卫星网络进行了优化的TCP协议,如图2所示。当上行代理收到TCP源发来的报文后迅速回传应答消息,然后由它代表TCP源与接收方通信。
图2 采用spoofing技术的卫星TCP传输
2 仿真方案分析
2.1 性能仿真流程
首先对卫星链路TCP传输性能进行仿真,主要分析卫星链路长时延、高误码率对TCP传输性能的影响;然后在卫星网关处进行参数修改,引入一种新的TCP代理,能适时地给发送端发送假的确认ACK信号,模拟 spoofing(协议欺骗)功能,再分析卫星链路上TCP传输的性能\。
2.2 性能仿真环境设计
2.2.1 卫星链路TCP传输性能仿真环境设计
在该性能仿真中,本文使用时延为270 ms,带宽为2.048 Mb/s的链路来模拟卫星链路,使用NS 2中“bent-pipe”类型的GEO卫星\。为了模拟卫星链路高误码率的特性,在链路中加入了一个错误模型,使得数据包在模拟卫星链路上可以按要求的方式丢失。为了尽量逼近真实的网络环境,在模拟网络中应有竞争流量,于是本文在实际模拟中使用6个结点,卫星链路上不只传输一个连接的数据流。在模拟中使用了FTP数据流,因为它属于大数据量的传输,统计结果带有普遍性。在模拟中使用的TCP协议带有快速重传、快速恢复功能\。模拟方案拓扑示意图如图3所示。
图3 模拟方案拓扑结构示意图
2.2.2 卫星spoofing性能仿真环境设计
从前面的内容可知,spoofing技术在卫星网关处引入一个中间代理,对TCP连接进行分割,同时适时地给发送端发送假的确认ACK信号,从而可以解决卫星链路长时延的问题。但spoofing技术和代理缓存器不同的是,它对发送端和接收端都是透明的。这样,中间代理,或称为“spoofer”,就具有了通信双方的特性。
“spoofer”的职责就是对接收到的,来自发送端的数据进行拦截、缓存,同时给发送端发送确认信号ACK,然后再将数据转发给接收端。Spoofing技术虽然在一定程度上影响了原有的TCP端到端语义,但它在TCP连接建立过程中仍保持端到端的关系,提高了卫星链路中TCP的传输性能\。
卫星spoofing仿真模型如图4所示,拓扑结构和图3相比保持不变,但在卫星链路的边缘路由器r1处,采用了spoofing技术,一旦拦截到发送端传送过来的数据,就进行缓存,并适时地给发送端发送确认信号ACK。同时,对接收端发送过来的真正的确认ACK信号进行缓存抑制。
在仿真中,性能指标主要从吞吐量、丢包率等几方面考虑。其中,吞吐量即单位时间内传输的数据量,主要通过发送端和接收端两个方面来考虑。对发送端吞吐量的衡量,主要是看发送端接收到的确认ACK信号数;而对接收端吞吐量的衡量,主要看接收端发送的确认ACK信号数。在仿真模型中,仍假设所有卫星段连接都是TCP连接,仍使用FTP流产生数据,数据包大小仍为1.5 KB。
图4 卫星spoofing仿真模型
3 spoofing技术的性能仿真
3.1 性能仿真模型
卫星链路TCP传输性能仿真,模拟出来的nam拓扑结构如图5 所示。
图5 nam中拓扑图
在这个模型中,s1,s2是发送端用户;k1,k2是接收端用户;r1,r2是卫星网关(或边缘路由器)。用户到卫星网关设置为带宽8 Mb/s,时延5 ms的信道,卫星链路段如上所说设为带宽2.048 Mb/s,时延270 ms的信道。在边缘路由器处没有使用spoofing技术,而保持原有的地面段TCP连接,在r1处出现丢包(即模拟卫星链路误码率高的特性)。假设所有卫星段连接都是TCP连接,使用FTP流产生数据,数据包大小为1.5 KB。
卫星spoofing仿真模型和图5 相比保持不变,只是在卫星网关处进行参数修改,引入一种新的TCP代理,能适时地给发送端发送假的确认ACK信号,模拟 spoofing(协议欺骗)功能。
3.2 性能仿真结果及其分析
由于卫星链路长时延的特性,接收端发送过来的确认ACK信号就会滞后,严重地影响了TCP传输性能;另外,由于卫星链路长时延的影响,TCP协议不能适时地调整其拥塞窗口,这就导致TCP流在卫星边缘路由器处资源利用具有不公平性。对于前者,本文采用spoofing技术来改善系统性能;对于后者,本文主要通过选择性压缩技术(Preferential Suppression,PS)来改善系统资源利用率的公平性。所谓选择性压缩技术,就是对那些占有很多系统资源的TCP流进行压缩,从而使之能更好地分配卫星链路资源,实现资源共享\。
如图6所示,当在边缘路由器处不采用spoofing技术时,随着连接数的增加吞吐量迅速下降,即使是在连接数较少的情况下,网络吞吐量也很低。而且随着连接数的增加吞吐量迅速下降,系统资源利用率的公平性越来越差。
图6 卫星TCP情况下,吞吐量随连接数的变化
当在边缘路由器处采用spoofing技术时(如图7所示),随着连接数的增加系统吞吐量虽然也在迅速降低,但与图6相比,在连接数相同的情况下,系统吞吐量有了较大的提高。与此同时,从图7可以看出,随着连接数的增加,系统资源利用率的公平性仍然越来越差。
图7 卫星spoofing TCP情况下,吞吐量随连接数的变化
如图8所示,随着连接数的增加,系统资源利用率的公平性得到了改善。但与图6相比,在连接数相同的情况下,系统吞吐量相对较低。另外,从文献\结论可以看出,当只使用PS技术时,系统总体带宽利用率较低,且随连接数的增加,系统带宽利用率迅速下降;而其他情况下,系统总体带宽利用率较高,且随连接数的增加,系统带宽利用率相对保持不变。
如图9所示,当spoofing技术和PS技术相结合时,随着连接数的增加系统吞吐量虽然也在降低,但与图6和图8相比,在连接数相同的情况下,系统吞吐量有了较大的提高。与此同时,与图7相比,随着连接数的增加,系统吞吐量下降的速度相对缓慢,系统资源利用率的公平性有了明显的改善。
图8 卫星PS TCP情况下,吞吐量随连接数的变化
图9 卫星spoofing & PS TCP情况下,
吞吐量随连接数的变化
4 结 语
在分析卫星链路特点的基础上,分析了现有的卫星链路进行TCP传输的几种解决方案,对仿真方案进行分析,建立了仿真模型,得出了一些卫星链路下TCP传
输性能和卫星spoofing技术的仿真结论。显然,卫星spoofing技术和PS技术相结合的方案对卫星
链路TCP传输性能改善是十分有益的。
参考文献
[1]陈功富,王永建.卫星数字通信网络技术(下册)\.哈尔滨:哈尔滨工业大学出版社,2001.
[2]章淼,吴建平,林闯.互联网端到端拥塞控制研究综述\.软件学报,2002,13(3):354-363.
[3]屠翊.卫星网上的TCP/IP改进方法及仿真验证\.南京:南京邮电学院,2004.
[4]LUGLIO M, SANADIDI M Y, GERLA M, et al. On-board satellite ″Split TCP″ proxy\. IEEE Journal on Selected Areas in Communications, 2004, 22(2): 362-370.
[5]王铁君,吴辰文,邬开俊,等.基于NS 2的TCP性能仿真研究\. 兰州理工大学学报, 2006(5):43-45.
[6]徐雷鸣,庞博耀.NS与网络模拟\.北京:人民邮电出版社,2003.
[7]SPRACKLEN C T. Digital communications protocols in the satellite environment\//IEEE, Savoy Place. The Institution of Electrical Engineers. London: CZR OBL, 1997: 41-47.
[8]ISHAC J, ALLMAN M. On the performance of TCP spoofing in satellite networks\. \: \, 2001: 12-29.
[9]HENDERSON T, KATZ R. Transport protocols for Internet-compatible satellite networks\. IEEE Journal on Selected Areas in Communications, 1999, 17(2): 326-344.
[10]李凌春.无线网络中TCP性能改进技术研究\.电脑知识与技术,2006(23):74-76.