TCP与SCTP—CMT分析及在无线网络的发展策略

时间:2020-11-08 16:34:08 论文范文 我要投稿

TCP与SCTP—CMT分析及在无线网络的发展策略

  当前网络中广泛使用的传输层协议是TCP和UDP协议,TCP与UDP的显著区别是TCP可以提供可靠的数据传输服务,这使它在网络应用中有着杰出的贡献,然而随着网络技术的提高,TCP的局限性也越来越明显。SCTP协议(流控制传输协议)是2000年提出的新一代传输层协议,它具有与传统TCP和 UDP协议不同的多宿性和多流性,不仅可以提供可靠的数据传输服务还具有选择性重传、无序递交等特性[1]。为充分利用每条路径资源以提高网络传输速率,Iyengar博士等人在SCTP基础上提出了并行多路径传输(Concurrent Multipath Transfer)机制,在近年来受到了更多的关注,并已逐渐成为研究的热点,该文对TCP及SCTP-CMT的基本特性进行了介绍。随着无线网络的发展以及接入方式的多样化,无线网络通信受到了越来越多的关注,尤其是具有多种接入方式的无线网络通信,而车载网络属于高速移动的无线网络,且随着汽车的日益普及,对车载网络的研究具有一定的意义,基于以上几点,该文以车载网络为例来研究TCP和SCTP-CMT在具有多种接入方式的无线网络中的传输性能,并在NS2仿真平台上对TCP与SCTP-CMT在车载网络环境中的性能进行了仿真分析比较。

  1 TCP

  TCP协议(传输控制协议)是面向连接的、可靠的、基于字节流的传输层协议,当前网络中大多数的应用是使用TCP协议来进行数据传输的。作为在IP网络中可靠的数据传输协议,TCP协议有着杰出的表现。使用TCP协议进行传送的数据必须满足无重复、无差错和按序到达特点,正是因为TCP这些特性保证了数据传送的可靠性和健壮性;TCP协议的拥塞控制算法包括慢启动、拥塞避免、快速恢复和快速重传算法,在发生网络拥塞时拥塞控制算法能显著提高TCP的传输性能。使用TCP协议进行通信的两个端点在通信之前需通过三次握手来建立一条逻辑通信链路,在链路建立好后会进入慢启动阶段,进而进入拥塞避免阶段和拥塞控制阶段。

  在刚开始制定TCP协议时,由于当时的网络传输速度还很慢,网络性能也比较稳定,因此在设计数据包格式时为减少开销,将头部设计的非常紧凑,这使得 TCP协议的可扩展性较差,几乎不能扩展。然而随着网络接入技术的提高和网络带宽资源的增加,TCP因受到可靠数据传输服务要求以及拥塞控制机制的限制,已经不能充分利用现有的网络带宽资源,急需进行扩展,尤其是在以车载网络环境为例的具有多种接入方式的无线网络环境中。不同的链路在带宽以及传输时延上都存在着较大的差异,当TCP在不同链路之间进行切换时,性能会受到很大的影响。此外,TCP不能有效区别拥塞丢包与链路故障丢包,而是简单的将丢包均视为拥塞丢包,然而在无线网络中丢包不仅仅是拥塞丢包造成的也可能是因无线信号差错造成的,简单的归因于拥塞丢包会导致拥塞窗口的不必要降低,进而降低传输效率。可见,TCP在具有多种接入方式的无线网络环境下应用的局限性越来越明显。

  2 SCTP-CMT

  SCTP协议是由SIGTRAN组织最初设计并用来在IP网络上传输信令消息、面向数据流的端到端传输协议, SCTP可以提供可靠的数据传输服务并且可以保留数据消息边界[5]。SCTP协议中引入了关联的概念,关联是指两个终端经过四次握手后建立的一种连接关系。除此之外,SCTP还具有许多新特性,如多宿性、多流性。多宿性是SCTP的重要特性之一,在具有多个网络接口的主机上,可以通过多个IP地址来访问该主机,假设需要通信的两个主机分别有N个和M个接口,则该关联中最多可以拥有N*M条路径,使用多路径的目的是获得冗余,这可以避免因某条路径的失效而导致整个关联失败的现象发生,提高了通信的可靠性。多流性(multi-stream)是指在使用SCTP进行数据传输的两个端点可以同时拥有多个流,用户除了可以选择使用不同的路径进行数据传输外,还可通过不同的数据流来传输数据,且不同的数据流之间相互独立。

  在实际应用中,使用SCTP协议进行通信的终端间虽然可以拥有多条路径,但通常只使用主路径进行数据传输,当主路径失败后才会选择备用路径来进行数据传输,这极大的浪费了网络资源。随着人们对带宽的要求越来越高,为充分利用每一条路径的链路资源、增加端到端之间的网络利用率和网络吞吐量、提高传输效率,Iyengar博士等人提出了并行多路径传输(CMT)的概念,它不仅可以在多条路径上同时进行数据传输,而且当某条路径发生故障时,可以及时的选择其他路径进行数据传输,而新路径不需像传统SCTP一样,需要从慢启动阶段开始,这大大的.提高带宽的利用率和吞吐量[7]。为使多路径传输技术更加完美,Iyengar博士等人还针对CMT的不足之处分别提出了相应的改进算法。因每条路径的传输性能不同,有些被判断为需要重传的封包可能是因为在一个传输速率较慢的路径上,针对因此导致的乱序现象提出了SFR算法,该算法在每条路径上独立的应用快速重传算法,并且在发送端设置了两个参数,分别是 highest_in_sack_for_dest和saw_newack以判断数据是在传输中还是真的需要重传;由于SACK是基于整个关联而不是单个路径,SCTP在收到GAP信息时不会更新cwnd,既而减少了cwnd更新的机会,就此问题提出了CUC算法,与SFR类似,CUC算法在每条路径上独立地应用拥塞控制机制,以更加合理的更新拥塞窗口;针对个别延迟到达的ACK导致缓存不断增加的问题,提出了DAC算法,该算法通过修改计算丢包次数方法,以触发快速重传。

  使用多条路径进行并行传输时,由于每条路径的属性不同,网络的性能参数(如带宽、时延)各异,很难保证数据包能够同时到达接收端。同时丢包也可能会导致后发出的数据包先到达,使乱序问题变得更加严重,容易产生接收端缓存问题。Iyengar等人就接收端缓存问题提出了五种重传策略,分别是同路径重传(RTX-SAME);随机重传(RTX-ASAP);最大窗口重传(RTX-CWND);最大门限重传(RTX-SSTHRESH);最小丢包率重传(RTX-LOSSRATE)。此外,Preethi Natarajan等人也提出了CMT-PF(Potentially-failed)机制来缓解接收端缓存问题。Shailendra也为 SCTP-CMT提出了改进的MPSCTP机制。

  3 仿真实验

  随着网络技术的不断发展,无线网络通信受到了越来越多的关注,当前越来越多的终端可以拥有多种接入方式,因此具有多种接入方式的无线网络通信成为时下热点话题之一。车载网络属于高速移动的无线网络,随着车辆的日益普及,人们对车载网络的要求也越来越高。为研究SCTP-CMT与TCP在具有多种接入方式的无线网络环境中的传输性能,我们以车载网络环境为例,针对SCTP-CMT和TCP分别建立了模拟车载网络环境的拓扑结构图,如图1所示为SCTP-CMT的拓扑图,其中,S为服务器端,在传输层采用SCTP-CMT协议,应用层采用FTP协议。图2为TCP的拓扑结构图,其中,S1和S2为服务器端,传输层均采用TCP协议,应用层采用FTP协议。R1,1与R1,2以及R2,1与R2,2这两条瓶颈路径带宽均为2Mb,时延为20ms,其中MN为接收端,即移动车辆,基站 BS1和BS2的距离设为500m,MN以60km/h的速度在其站BS1和BS2之间移动。在版本为2.34的NS2网络仿真平台[12]上进行了仿真实验,以分析SCTP-CMT与TCP谁更适合应用于车载网络环境。