查看原文
其他

HotICN 2021 Best Paper | 星地一体化信息中心传输架构


【导 读】

本文是对发表于网络领域会议HotICN 2021 Best Paper论文 "INTCP: Information-centric TCP for Satellite Network(针对卫星网络的信息中心TCP协议)" 的解读。

该论文由北大王选所张行功课题组完成,针对传统传输层协议在低轨道卫星网络下的不足,提出了一套星地一体化信息中心传输架构。该论文所提方法结合了TCP/IP与ICN(Information-Centric Network)两种架构的特点,能很好地适应低轨道卫星网络的环境,实验证明了所提方法在传输延迟、吞吐率等指标上显著优于传统方法,具有广阔的理论前途和应用前景。


1

研究背景

近年来,采用低地球轨道(Low Earth Orbit, LEO)卫星星座提供全球宽带接入的技术,已成为通信领域的新热点之一。此类星座的主要目标是为多媒体和高数据速率的应用提供一种全球覆盖的通信方式,对于时延要求低以及具有广播组播性质的高速数据业务,如大容量数据传输、多媒体广播、卫星远程应用、多媒体双向互动等业务来说,LEO卫星网络具有极大的优越性。

TCP是互联网上主流的传输层协议,它是为地面有线网络设计的。而卫星链路与地面有线网络在一些物理特性上存在巨大的差异,这导致TCP的性能在卫星信道上会受到影响,主要体现在以下几个方面:

  • 首先,卫星信道的比特差错率远远高于高速有线媒质,而TCP的拥塞控制算法一般对于丢包敏感,因此较大的信道差错率会过早触发窗口减小机制,导致吞吐率下降。

  • 其次,卫星信道较大的传播延迟导致TCP拥塞窗口增长缓慢,同样会影响TCP的性能;

  • 除此之外,卫星信道会发生频繁的链路中断,使得TCP在维护可靠的端到端连接时存在一定的困难。

因此,本文提出一种新的传输层设计,以提升卫星链路的吞吐率,适应卫星网络中星地链路、星间链路的异构性。以数据为中心,基于分段流量控制和路径数据缓存,实现星地一体化的高效率数据传输。

2

系统设计



2.1

架构设计




图1:INTCP系统架构

相比传统TCP端到端的传输模式,ICN对于大规模内容分发具有天然的优势,可以避免传输重复数据造成带宽浪费。同时,在ICN的订阅机制下收端需要发送的数据量小于TCP中ACK的数据量,能缓解卫星网络上下行带宽不对等的问题,因此INTCP协议以ICN的request-response机制作为基础模式。

       INTCP的架构如图1所示,它由中间节点缓存,丢包恢复、拥塞控制三个模块组成。它将端到端的路径分段,并提供逐跳的可靠传输和拥塞控制。INTCP在每一跳上完成丢包恢复,而不像传统TCP一样只在端到端进行数据包重传,这大大减少了数据重传的延迟。同时对于RTT较大的卫星链路,逐跳的拥塞控制可以将每一跳的链路利用率最大化,避免瓶颈链路的损害。

在一个运行INTCP协议的网络内,任意两个终端之间的链路上存在零到多个具有缓存功能的节点,这些缓存节点除了像普通路由器一样转发interest与data,还会以一定的策略将其转发过的data缓存起来,当后续收到请求同一data的interest时,中间节点从缓存中取出data直接发回,同时过滤掉该interest. 有两种情况下会出现重复interest, 一种情况是下一跳发起丢包重传请求,一种是出现另一终端请求该数据,这两种情况对于中间节点来说是统一的,它只需要在收到interest发回data即可。

缓存的引入使得每一跳可以尽可能快速地将数据发送给下一跳,由于卫星链路的带宽可能有较大的波动,一个节点可以将额外的数据存进缓存中,等网络条件变好时再发给下一跳,这提高了端到端的吞吐率。同时缓存节点中的数据可以提供给任意的请求方,这为逐跳丢包恢复和多播提供了条件。

2.2

丢包恢复机制




图2:丢包恢复机制示意图

INTCP采用选择性重传机制来保证卫星网络中数据的可靠传输。当接收端发现丢包时,它将重新发送一个重传interest来请求丢失的包。在INTCP中,有两种重传机制:空洞重传和超时重传,如图2所示。

空洞重传属于逐跳重传。它在每一跳检测和恢复丢失的数据包。当每一跳的接收端收到DATA报文时,检查包的序列号是否符合顺序。一旦一个包被随后的三个包跳过,就假定链路上发生了丢包,这时根据其附近包的range还原出丢失数据包的范围,并主动向上一跳发起重传请求。

而超时重传是一种端到端重传机制。当端节点的请求端发出一个interest消息时,会记录在本地的重传超时表(RTO表)中。每当收到一个数据包时,就从RTO表中删除记录。如果计时器超时仍未收到数据,请求端将发出超时重传interest重新请求数据。

超时重传是对于逐跳重传的补充。逐跳重传可以实现路径上的数据包恢复。这将大大减少恢复延迟。但由于它只能在一跳内恢复丢包,因此不能保证端到端的可靠传输。特别地,当卫星轨道发生变化或链路中断时,丢失的数据包不能通过空洞重传恢复,因此需要超时重传机制保证传输的可靠性。

2.3

拥塞控制机制





图3:拥塞控制机制示意图

INTCP采用逐跳的拥塞控制。每一跳的请求端检测网络状态,运行拥塞控制算法来获得合适的数据发送速率,并定期将其反馈给发送端。发送端则根据请求方的反馈控制数据发送的速度,以避免拥塞和实现带宽的公平分配,如图3所示。

请求端统计这一跳的单向时延、丢包和历史吞吐率等可以代表网络条件和拥塞状态的信息,并同时监控buffer的可用大小。为了解决流之间的公平性问题,卫星路由器的拥塞控制模块收集所有流的信息,统一计算它们的可用带宽,以及合适的发送速率。计算出的数据发送速率承载在interest中反馈给发送端,发送端收到interest之后将根据这个值控制数据的发送。

逐跳的拥塞控制算法可以实现公平性、高带宽利用率和低排队延迟。同时它还避免了请求端的buffer溢出。当请求端的buffer占用率较高时,它会向发送端做出反馈,相应地降低它的发送速率。如果发送端正在转发来自前一跳的数据,由于自身发送速率的降低,它的buffer占用率也会上升,于是再向上一跳发出降低发送速率的反馈。于是当网络的瓶颈处即将发生拥塞时,上游节点会迅速逐跳降低其发送速率,避免向瓶颈发送过多的数据,从而造成排队时延的增加和丢包。

与端到端的网络相比,分段网络能够更精确地检测网络状态,并具备更小的反馈延迟。因此,INTCP在卫星网络中更加灵活,总体带宽利用率得到提高。

3

实验表现


我们根据Starlink公布的数据,在模拟实验平台上构建卫星链路模型进行测试。图4是两跳实验的结果,在这个实验环境中地面链路的带宽固定为20Mbps,卫星链路的平均带宽也为20Mbps。

图4(a)比较了TCP和INTCP应对链路中断的能力,我们假设卫星链路每20s会发生一次中断,可以看到随着中断时间的增加,端到端TCP的吞吐率出现明显下降,但对INTCP几乎没有影响。



图4(a)

图4(b)中我们假设卫星链路的带宽在一个方波周期内在5Mbps和35Mbps之间波动,可以看到随着波动周期的增加,INTCP的吞吐率相比TCP有明显的优势。这两个实验说明在卫星链路中断频繁、链路不稳定的条件下,INTCP的缓存机制可以使其相比端到端TCP有更大的吞吐率。


图4(b)

图4(c)则说明了INTCP减小重传延迟的作用,在这一实验环境中地面链路的RTT为50ms,卫星链路RTT有5%的丢包率,RTT在20ms-300ms之间,图中画出了重传包的平均延迟和95%置信区间,可以看出INTCP有效降低了平均单向延迟,这对于视频会议等应用有重要意义。


图4(c)

4

总结

本文提出一种新型卫星网络传输架构,以数据为中心,通过数据缓存和分段流量控制,实现高效率的星地一体化传输。该架构以其新颖性,获得学术会议HotICN’2021年Best Paper。

北大王选所

2021年度优秀成果推介

近期发布

release

—   版权声明  —

本微信公众号刊载的所有内容,由北京大学王选计算机研究所微信自身创作、收集的文字、图片和音视频资料,版权属北京大学王选计算机研究所所有;从公开渠道收集、整理及授权转载的文字、图片及音视频资料,版权属原作者。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存