找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 77|回复: 7

调整TCP拥塞控制算法

[复制链接]

5

主题

50

回帖

123

积分

注册会员

积分
123
发表于 2011-4-4 22:40:24 | 显示全部楼层 |阅读模式
中美之间的线路质量不是很好,rtt较长且时常丢包。TCP协议是成也丢包,败也丢包;TCP的设计目的是解决不可靠线路上可靠传输的问题,即为了解决丢包,但丢包却使TCP传输速度大幅下降。HTTP协议在传输层使用的是TCP协议,所以网页下载的速度就取决于TCP单线程下载的速度(因为网页就是单线程下载的)。
丢包使得TCP传输速度大幅下降的主要原因是丢包重传机制,控制这一机制的就是TCP拥塞控制算法。
Linux内核中提供了若干套TCP拥塞控制算法,已加载进内核的可以通过内核参数net.ipv4.tcp_available_congestion_control看到:[ol]
  • sudo sysctl net.ipv4.tcp_available_congestion_control[/ol]复制代码没有加载进内核的一般是编译成了模块,可以用modprobe加载。
    这些算法各自适用于不同的环境。
    reno是最基本的拥塞控制算法,也是TCP协议的实验原型。
    bic适用于rtt较高但丢包极为罕见的情况,比如北美和欧洲之间的线路,这是2.6.8到2.6.18之间的Linux内核的默认算法。
    cubic是修改版的bic,适用环境比bic广泛一点,它是2.6.19之后的linux内核的默认算法。
    hybla适用于高延时、高丢包率的网络,比如卫星链路——同样适用于中美之间的链路。
    TCP拥塞控制算法对TCP传输速率的影响可以参看http://d.ream.at/tcp-congestion- ... -is-very-important/
    修改TCP拥塞控制算法需要修改内核参数net.ipv4.tcp_congestion_control(OpenVZ的VE无此权限,Xen或者独服才有):[ol]
  • sudo sysctl net.ipv4.tcp_congestion_control=×××[/ol]复制代码
  • 回复

    使用道具 举报

    148

    主题

    1803

    回帖

    4084

    积分

    论坛元老

    积分
    4084
    发表于 2011-4-4 22:44:06 | 显示全部楼层
    顶上楼下来
    回复

    使用道具 举报

    53

    主题

    4296

    回帖

    8801

    积分

    论坛元老

    积分
    8801
    发表于 2011-4-4 22:47:10 | 显示全部楼层
    没分了.今天扣的太起劲
    回复

    使用道具 举报

    31

    主题

    827

    回帖

    1763

    积分

    金牌会员

    积分
    1763
    发表于 2011-4-4 22:50:56 | 显示全部楼层
    我靠……
    回复

    使用道具 举报

    166

    主题

    3284

    回帖

    7114

    积分

    论坛元老

    积分
    7114
    发表于 2011-4-4 22:51:22 | 显示全部楼层
    OpenVZ的可以在母鸡上改tcp_congestion_control,建议凡是国人做OpenVZ的,一律把tcp_congestion_control改成hybla;做Xen的,一律把OS模板里的tcp_congestion_control改成hybla。提高很明显的。
    回复

    使用道具 举报

    166

    主题

    3284

    回帖

    7114

    积分

    论坛元老

    积分
    7114
    发表于 2011-4-4 23:00:39 | 显示全部楼层
    听起来hybla不错
    回复

    使用道具 举报

    73

    主题

    284

    回帖

    813

    积分

    高级会员

    积分
    813
    发表于 2011-4-4 23:11:08 | 显示全部楼层
    xxx为多少?
    回复

    使用道具 举报

    171

    主题

    3754

    回帖

    8073

    积分

    论坛元老

    积分
    8073
    发表于 2011-4-4 23:21:18 | 显示全部楼层
    原帖由 lxfy 于 2011-4-4 23:21 发表


    xxx为多少?

    当然是算法的名字了。
    ps. 这个不是我……是我就不告诉你们了。
    ps2. 你们做vpn的实现不了tcp proxy改这个也没用。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-1-11 23:46 , Processed in 0.022989 second(s), 5 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表