论文部分内容阅读
覆盖网络是在现有网络越来越不能满足不断涌现的各种应用的情况下诞生的,它是重叠在现有网络上的虚拟网络,由分布在Internet各自治区域的一些覆盖节点和它们之间的逻辑链路组成。它实现方便,不用大规模改变现有网络架构就能提供更高的服务质量。Spines是源代码开放的覆盖网络,我们可以部署它用于测试覆盖网络协议,提高我们需要的服务质量要求。Spines运行于应用层,不需要改变基础设施和核心接入,数据在UDP顶部被封装成包。Spines分为两层,应用层和Daemon层。应用连接到最近的覆盖节点上,然后那个节点负责将数据通过覆盖网络传输到最终的目的节点。分为两层的好处是可以限制覆盖网络的规模,以减少交换流控信息的数据量。覆盖节点既起到服务器的作用,用于连接各种各样的应用,同时又起到路由器的作用,用于节点之间传输数据包。由于Spines这样的层结构,所有的应用既可以位于覆盖节点处,也可以连接到与节点相连的机器上。 Spines覆盖网络虚拟链路技术是Spines覆盖网络研究的关键问题之一,也是本文的研究重点。本文在介绍了Spines覆盖网络的层次结构和软件功能实现结构之后,研究了现有可用带宽发展状况,针对Spines覆盖网络特点提出了一种适合Spines的可用带宽测量机制BELR,BELR是逐跳的可用带宽测量算法,不同于传统的端到端算法,BELR实现了对每一跳可用带宽测量的目的,并且算法简单。然后对Spines虚拟链路层的主要协议—逐跳传输协议性能进行了仿真和分析,提出了Spines虚拟链路技术中需要改进的问题,提出了利用可用带宽进行路由的策略,阐述了利用可用带宽指导其路由的算法,并和Spines现有路由算法进行仿真比较。结果表明,我们的算法提高了Spines覆盖网络的性能,降低了时延,增大了吞吐量。同时,对实时恢复链路协议进行了性能分析,做了相应改进,通过改变实时链路丢包重传率降低了实时传输丢包率,使更多的包及时到达终端,并阐述了将SIP和Spines整合到VoIP服务中的建议。