很早就发现发现上下载原来是可以做到不影响的,到现在才明白其中奥妙。
主要是ACK指令的优先发送。
普通pppoe的拨号链接,由于没有高级流量控制,上行满负载就会导致ACK的传输受到影响最终影响了下行。如果有高级流量控制,优先让ACK通过,则不会使上下行因为另一个满负荷而受影响。
要解决这个问题需要采取某种机制保证数据和ack信号同时传输的时候ACK信号可以优先传输就行了,这种做法就是QOS(质量服务)的一个方面。
在xp和2003中系统自带了pppoe的支持,通过系统自带的pppoe拨号建立的dsl连接,默认的时候是支持QOS的。(这个选项一度被人误导说要占用额外的带宽,建议大家不要勾选,真是害人不浅)
只有xp和2003才有qos这个选项,这个选项中ack优先只是一个很小的方面,遗憾是的不能详细设置QOS的各个选项,只能选择打开或者关闭。打开QOS在没有QOS的需求的时候,并不会占用额外的带宽,也就是说打开QOS并不会影响正常的纯上行或纯下行的速度,在同时上下行的时候,反而会自动优化。
另外,QOS不仅仅和你电脑设置有关,和服务商的设备也有关系,如果服务商那边作了限制,或者没有设置ACK优先,个人电脑这边怎么优化也白搭。
DSL的设计思路就是上下行互不影响的,也就是说上下行可以同时达到满负荷。
但是我们平时使用的时候可能经常会有这样的感觉:当自己满负荷上传的时候,下载达不到满负荷,反之也一样。这种现象的出现就是因为ACK没有优先权。
我们先回顾一下TCP的传输原理:
假设A要和B建立TCP的连接,过程如下:
A首先向B发送syn信号,请求建立连接
B答复A的syn请求,这种答复信号就是ACK
A收到B的ACK信号,开始建立连接,传输数据
如果A和B之间要建立双向的TCP连接,过程如下:
A首先向B发送syn信号,请求建立连接
B答复A的syn请求,这是B发送的ACK信号;同时B向A发送syn请求,并等待A的ACK信号
A收到B的ACK信号,建立A到B的连接;同时答复A发过来的syn信号,也就是A发送了ACK给B
B接受到A的ACK信号,建立B到A的连接
这样就经过了一个三次握手过程,经过两两确认,建立了双向的TCP连接。
不管是单向还是双向的TCP连接,数据传输开始后,每次传输的数据都带有一个syn值,这个syn值是在建立连接的syn值上递增的,在传输下一个数据之前,必须要接收到对方的ACK值,这个ACK值是自己刚才发送的(syn值+1)。因为只有接收到对方 的ACK值,才意味着对方已经收到了我发送的syn值的数据,才能接下来发送值为(syn+1)的数据,这样就保证了TCP传输的可靠性。
通过上面的回顾,我们来分析单向传输的情况。
假设B是FTP server,A是FTP client,A从B上面下载数据。
连接建立以后,B向A每次发送数据之前都需要接收A给B的ACK信号,因为这时候绝大部分数据都是B到A的,A到B基本没有数据在传输,所以A到B的ACK信号没有受到任何影响,可以顺利发送,这种情况下,传输可以达到A和B之间的较小带宽的满负荷值。
接下来我们看看A和B之间双向传输的情况。
仍然假设B是FTP server,A是FTP client,但是A从B上面下载数据的同时还上传数据到B或其他的FTP SERVER。
这种情况下,B向A发送数据时需要等待A发送给B的ACK信号,A向B(或其他机器)发送数据时需要等待B(或其他机器)的ACK信号。不幸的是,A的发送和接收两个方向的信道都有数据在传输,如果ACK同时也传输,那就必然会受到正常传输的数据的影响, 需要排队,而发送方因为TCP的设计是必须要收到ACK后才发送下一数据段,这样就导致了双向传输时跑不到理论值的最大带宽。
用下面这个软件可以较好地解决上传下载相互影响的问题(适用于ADSL桥接、路由,同样适用于其它宽带类型)
cFosSpeed是一款具有很多功能DSL modem和路由器驱动软件,可以充分使用你的ISDN和DSL连接。
程序特点:
-高级Traffic Shaping (通信量调整功能);
-用于DSL 调制解调器和路由器;
-与通用的 PPPoE 驱动器兼容;
-自动识别路由器;
-自动校准;
-应答游戏以及例如 eMule,Kazaa 等的对等网络;
-可自由定义的优先级;
-禁拨高收费电话功能;
-通信量计数器及计时器;
-防火墙;
-时间同步;
-最优远程数据通信网连接提高网速;
-智能识别不在使用中的连接等!
安装方法如下:
1、安装cfosspeed-v202.exe
2、安装完成后,关闭进程spd.exe和cfosspeed.exe。
3、运行KEY,一路下一步,输入2VYW-QAC8-MAWA-YV9N,破解成功,重新启动计算机。
在Hosts文件中添加以下内容阻止程序校验。(C:\WINDOWS\system32\drivers\etc\hosts)
127.0.0.1 [url][/url]
127.0.0.1 194.95.249.23
下载地址:
阅读(3373) | 评论(0) | 转发(0) |