BT下载实现的关键算法和策略
流水线作业
网络协议一般都要求具有较高的传输效率,BT协议就是采用了流水线作业来提供传输效率的。
当客户端向peer发送数据请求时(即发送request消息),一次请求多个slice(即一个数据包发送多个request消息请
求多个slice)。假如客户端一次只发送一个slice请求,则peer给客户端发送完一个slice的数据后进入等待,等待客户
端发送新的
数据请求。如果一
次发送多个slice请求,则peer发送完一个slice后接着发送下一个slice,从而避免了等待
提高数据传输的效率。
HTTP协议的1.1版本就广泛地采用流水线作业的思想,大大提高了浏览器和Web服务器之间的