论文部分内容阅读
TCP协议是一种面向连接的、基于字节流的传输层协议,它是一种基于IP层服务的可靠的传输协议。由于其采用了拥塞控制,TCP能够在网络发生拥塞的时候,迅速地减少注入网络中信息包的数量,因此保证了网络在低误码率情况下有较高的吞吐量。但是如果网络拥塞程度不高而误码率较高的时候,这种拥塞控制机制同样会导致注入网络中的信息包数量迅速减少,因此大大降低了此时的吞吐量,针对这种情况,本文结合网络编码技术对TCP协议进行了改进,改进后的协议能够大幅度提高了高误码率低拥塞率下TCP的性能,具体工作如下:1.本文设计了利用网络编码层解决TCP在高误码率情形下吞吐量下降问题的新方法。网络编码层位于TCP层与IP层之间,能够与TCP层和IP层进行透明的交互。在发送端:TCP将数据传到网络编码层,网络编码层对来到的数据进行本地确认,这样TCP层就会不断地将数据发送给网络编码层,当网络编码层接收到够编码的包数以后就立即进行编码。网络编码层同时直接与IP层进行交互,编码后的数据包直接递交到IP层,发送端对接收到的反馈的ACK时进行屏蔽,这样TCP层就仿佛在直接与IP层进行交互,实现了对上层的透明服务。在接收端:网络编码层接收到IP层递交的编码数据包以后,将编码包进行分组缓存,待一组编码包数量足够解码的时候立即解码提交给TCP层,并向发送端发送解码成功的信号,此时上层传给网络编码层的数据包要根据用途的不同进行不同的处理。2.将随机线性编解码应用到TCP数据流的传输中,设计了网络编码层具体的应答机制,包括分组编码、分组解码、以及定时反馈等,保证了在误码率较高的时候编码数据包能够足数正确地到达接收端。论文还设计了发送端发送的流程,以及接收端接收的流程,并给出了具体流程图。同时对网络编码首部格式进行了具体的设计,网络编码首部中包含标志位、分组号和重传数,保证了发送端以及接收端能够对收到的反馈包和编码包进行相应处理,接收端编码包能够正确分组解码,如果不成功能够重传解码需要的剩余个数。3.基于NS3网络仿真平台,仿真了单跳情况与多跳情况下基于网络编码的TCP协议(NCTCP)在时延、链路容量、以及误码率不同时的性能,并进行了对比,结果表明,基于网络编码的TCP协议在其它参数固定时,无论是时延还是链路容量以及误码率方面的性能都高于原始TCP的性能。尤其在误码率较高并且拥塞概率较小的时候,基于网络编码的TCP协议的性能远远优于原始的TCP协议,从而验证了本文设计的基于网络编码的TCP协议在误码率较高的信道下的高效性。