摘要:针对有线网络设计的传输控制协议(TCP),在应用到无线环境中时存在许多不兼容问题,必须对TCP进行修改。目前人们提出了几种对TCP协议在无线网络环境下的改进方案,但是这些改进方案同IP安全协议(IPsec)存在一定的冲突。文章分析了IPsec与TCP的改进方案之间的冲突问题,给出了4种解决方案:用传输层安全协议/安全套接层协议(TLS/SSL)代替IPsec、扩展封装安全载荷(ESP)协议、对TCP路径分段和修改IPsec的端到端保护模式,并分析了各方案的优缺点。
|
关键词:无线网络;传输控制协议;IP安全协议
|
Abstract:Transmission Control Protocol (TCP) was designed for wired networks. There exist many compatibility problems when it is applied to wireless environments, so it needs modification. There are currently several TCP performance enhancement mechanisms for TCP application in wireless environments, but they all conflict with IPsec. This paper not only analyzes these conflicts, but also proposes 4 solutions: replacing IPsec with Transport Layer Security/Secure Socket Layer (TLS/SSL) protocol, adopting the extended Encapsulating Security Payload (ESP) protocol, segmenting the TCP route, and modifying the end-to-end protection mode of IPsec. It also examines their strengths and weaknesses.
|
Key words:wireless network; transmission control protocol; IPsec
|
传输控制协议(TCP) 提供可靠有序的数据传输,是目前应用最广泛的传输层协议。TCP协议是针对固定网络设计的,认为所有的数据包丢失都是由于网络拥塞引起的。当TCP应用到无线网络中时,无线信道中的非网络拥塞导致的数据包丢失多、时延长和时延抖动大等特性会使TCP的性能受到很大影响。为了改善TCP在无线环境下的性能,人们提出了几种对TCP协议的改进方案,并且已经得到了较广泛的应用,例如Snoop方案[1]和ELN-ACK方案[2]。但是这些改进方案与IP安全协议(IPsec)[3]存在冲突,如果用户使用了IPsec协议来保证通信的安全,那么这些改进方案就无法工作,TCP在无线信道上的性能就得不到改善。 1 IPsec协议 2 无线网络中的TCP 但是在无线环境下,由于无线信道的高误码率和移动主机的频繁切换也会导致大量的数据包丢失,在这种情况下,启动TCP的拥塞避免机制降低发送速率,就会造成信道资源浪费,影响TCP的性能。同时无线网络中的时延比较大,使得拥塞窗口的递增缓慢,降低了TCP的吞吐量。 目前针对TCP在无线网络中应用时出现的问题,开展了许多研究工作。文献[1]提出的Snoop方案是在基站上添加一个软件模块:Snoop代理。该代理监视在移动主机和固定主机之间的各个TCP连接上传送的TCP报文,同时将所有未应答的TCP报文缓存起来。Snoop代理通过收到的多个重复的应答(ACK)得知发生本地超时而判断出某个报文段在无线链路上丢失。Snoop立刻重传缓存中的TCP报文段,并扔掉由该报文段丢失所引起的重复ACK。Snoop方案通过在本地基站进行重传,既能将无线链路上丢失的报文恢复,又避免了发端TCP由于收到多个ACK而启动快速重传机制,从而可以改善从固定主机到移动主机方向上的TCP性能。 TCP在无线网络中性能受到影响的一个重要原因是传输层无法确定数据包的丢失是否是由于网络拥塞造成的,因此提出了显式拥塞通知方案(ECN)[7]。在ECN方案中,TCP头中定义了一个ECN-ECHO标志位,利用该标志位通知发送端在网络中是否发生了拥塞。发送端只有在得到网络中出现拥塞的通知后,才能启动拥塞避免机制,降低发送速率。 在Snoop和显式拥塞通知方案的基础上,文献[2]提出了ELN-ACK方案。该方案在TCP中添加了称作ACKELN的响应数据包,ACKELN中定义了一个ELN标志位来表示数据包发生丢失的原因,“0”表示数据包丢失是无线网络造成的,“1”表示是网络拥塞引起的。 ELN-ACK方案在每个基站中添加一个ELN代理,该代理缓存由固定主机发向移动主机的报文,判断数据包丢失的原因,然后设置ACKELN中ELN标志位的值。固定主机接收到ACKELN后,如果其中ELN标志位的值为1,则确认网络拥塞导致了数据包丢失,立刻启动正常的拥塞避免机制,降低发送速率;如果ELN标志位的值为0,则数据包丢失是由于无线网络造成的,固定主机立刻重传丢失的数据包,但不会减小滑动窗口。该方案较好地改善了TCP在从固定主机到移动主机方向上的吞吐量和时延性能。 3 IPsec与TCP的兼容性分析 (1) TCP在无线网络中的改进方案依赖于TCP报头中的某些数据进行工作,例如源端口、目的端口、报文序号和确认序号等。网络中的中间节点根据这些数据,对数据包进行重传或者生成ACK操作,改善TCP的性能,例如Snoop方案中的Snoop代理。如果网络的中间节点得不到这些数据,改进方案就无法工作。但是用户使用IPsec中的ESP保护IP数据包时,整个TCP报文都被加密,除了TCP连接的两端外,所有的中间节点都无法得到TCP报头的明文数据,从而使TCP的改进方案不能工作。 (2)用户使用AH保护IP数据包时,AH对TCP的报头和数据部分都进行了完整性保护,网络中所有的中间节点都无法对TCP报头进行任何改动操作。而在TCP的改进方案里,某些中间节点需要对TCP报头的数据进行修改操作,例如ELN-ACK方案中的ELN代理要修改ACKELN数据包中的ELN标志位。因此,AH协议无法与TCP的改进方案协同工作。 总之,在无线网络中,IPsec提供的IP层上的端到端保护模式,与TCP的改进方案不能兼容,使TCP在无线信道中的性能得不到改善。 4 解决方案 4.1 用TLS/SSL代替IPsec 4.2 扩展ESP协议 但是该方案不允许中间节点对TCP报头进行修改操作,所以某些TCP的改进方案还不能工作,例如ELN-ACK。此外,将TCP源端口、目的端口、报文序号和确认序号等数据在网络上以明文形式传输,也会造成安全漏洞。 4.3 对TCP路径分段 4.4 修改IPsec的端到端保护模式 修改IPsec的端到端保护模式对IP数据包提供了比IPsec协议粒度更细的保护,把IP数据的TCP报头和TCP数据分为两个不同的域。对TCP数据进行正常的端到端的保护,只有发送端和接收端拥有密钥。而对TCP报头则采用另一种保护模式,除了发送端和接收端外,某些被授权的中间节点也拥有密钥,例如ELN-ACK方案中的ELN代理。这些被授权的中间节点可以对TCP报头进行读写操作,从而解决IPsec与TCP的改进方案之间的冲突问题。 在修改IPsec的端到端保护模式中,必须对被授权的中间节点进行身份鉴权。可以通过公钥基础设施(PKI)实现鉴权,以防止各种中间人攻击。鉴权通过后,才能把密钥等共享秘密发送给中间节点。方案的缺陷在于,目前密钥分发只能通过手工方式完成,需要对IKE进行相应扩展后,才能实现动态分发密钥。 5 结论 6 参考文献 收稿日期:2004-07-21
|
作者简介:
赵海洋,北京邮电大学信息安全中心在读博士生。研究方向为移动网络和计算机网络安全技术。 杨义先,北京邮电大学信息安全中心主任、教授、博导。长江学者奖励计划特聘教授、全国政协委员。承担了国家级科研项目40余项,在网络信息安全、现代密码学和纠错编码等方面获得1项国家发明三等奖、3项省部级科技进步一等奖等。
|
无线网络中TCP与IPsec的兼容性研究
最新推荐文章于 2023-11-13 21:31:11 发布