博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
utorrent如何处理占资源过大的问题
阅读量:4048 次
发布时间:2019-05-25

本文共 1839 字,大约阅读时间需要 6 分钟。

问题:The fact that BitTorrent uses multiple TCP connections gives it an unfair advantage when competing with other services for bandwidth, which exaggerates the effect of BitTorrent filling the upload pipe. The reason for this is because TCP distributes the available bandwidth evenly across connections, and the more connections one application uses, the larger share of the bandwidth it gets.

大意是说BitTorrent使用多个TCP连接,使得它相比其他应用,占用了更多的带宽,特别是上传带宽。主要原因是TCP是对每个连接是均匀的分配带宽的。BitTorrent应用采用的连接越多,它占用的带宽就越大。

解决方案:uTP solves this problem by using the modem queue size as a controller for its send rate. When the queue grows too large, it throttles back.

uTP协议解决这个问题是通过采用队列大小控制其发送速度来达到目的的。当这个队列发送队列成长过快,则它自行抑制。

这种解决方案存在的问题主要在于:

The main drawbacks with this solution are:

    The user needs to configure his/her BitTorrent client, it won't work out-of-the-box.
    The user needs to know his/her internet connection's upload capacity. This capacity may change, especially on laptops that may connect to a large number of different networks.
    The headroom of 20% is arbitrary and wastes bandwidth. Whenever there is no interactive traffic competing with BitTorrent, the extra 20% are wasted. Whenever there is competing interactive traffic, it cannot use more than 20% of the capacity.
utp协议是基于UDP协议的,但它的拥塞控制机制是基于滑动窗口的。原文如此,Each socket has a max_window which determines the maximum number of bytes the socket may have in-flight at any given time. Any packet that has been sent, but not yet acked, is considered to be in-flight.

是需要有一个最大窗口来控制这个网络拥塞。

即使如此,还有一些实现细节需要注意

当目前窗口大小+包大小小于或者等于 Min(最大窗口,wnd_size)套接字最小也可能只传一个包。wnd_size是指 is the advertised window from the other end. It setsan upper limit on the number of packets in-flight.

Unlike TCP, sequence numbers and ACKs in uTP refers to packets, notbytes. This means uTP cannot repackage data when resending it.

转载地址:http://atbci.baihongyu.com/

你可能感兴趣的文章
简单Linux C线程池
查看>>
内存池
查看>>
输入设备节点自动生成
查看>>
GNU hello代码分析
查看>>
Qt继电器控制板代码
查看>>
wpa_supplicant控制脚本
查看>>
gstreamer相关工具集合
查看>>
RS232 四入四出模块控制代码
查看>>
linux 驱动开发 头文件
查看>>
container_of()传入结构体中的成员,返回该结构体的首地址
查看>>
linux sfdisk partition
查看>>
ipconfig,ifconfig,iwconfig
查看>>
opensuse12.2 PL2303 minicom
查看>>
网络视频服务器移植
查看>>
Encoding Schemes
查看>>
移植QT
查看>>
如此调用
查看>>
计算机的发展史
查看>>
带WiringPi库的交叉编译如何处理一
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>