上一篇:网上隐身衣 >>
如何提高ADSL速度
但是我们平时使用的时候可能经常会有这样的感觉:当自己满负荷上传的时候,下载达不到满负荷,反之也一样。这种现象的出现就是因为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后才发送下一数据段,这样就导致了双向传输时跑不到理论值的最大带宽。
要解决这个问题很简单,只要采取某种机制保证数据和ack信号同时传输的时候ack信号可以优先传输就行了,这种做法就是qos(质量服务)的一个方面。
接下来再分析pppoe的dsl的情况:
qos建立在pppoe的节点。pppoe的节点有哪些呢?首先是操作系统拨号。在windows系统中,windows xp以前的系统并自带pppoe支持,需要安装第三方的拨号软件,我试过的软件中raspppoe0.98是支持qos,0.98以前的版本不支持。
在windows xp和windows 2003中系统自带了pppoe的支持,通过系统自带的pppoe拨号建立的dsl连接,默认的时候是支持qos的。(这个选项一度被人误导说要占用额外的带宽,建议大家不要勾选,真是害人不浅)
在linux和类linux系统中,可以通过ipfw+dummynet或者pf+altq来实现qos
可是对于现在的很多dsl用户,并不是采用操作系统来拨号的,比如用宽带路由器。遗憾的是目前市面上各种各样的几百块钱的dsl router,各种wifi+router的产品,都不支持ack优先,当然,如果使用cisco的路由器(比如1700,2600)+dsl模块,是毫无疑问可以配置qos保证ack优先的。
()
下一篇:Windows操作系统空间丢失之谜 >>
相关文章:
- · Window 消息大全使用详解
- · 通信网络安全分层及关键技术解决
- · win2000进程一览
- · SMTP命令简介
- · 优秀网管心得三则
- · 防火墙进化进行时
- · 杀毒技巧系列:杀毒、防恶意代码、脚本病毒的不完全合集
- · N款教程,款款精品
- · windows XP 系统服务“关闭”详细列表,释放N多内存
- · Linux尝鲜[50M的Linux]
- · socket简易入门手册
- · Java学习从入门到精通
- · asp.dll解析成system提升权限
- · 企业无线局域网安全防护
- · IP地址与域名详解
- · Windows XP 的 TCP/IP 和 NBT 配置参数
- · 10招秘技快捷方式用得顶呱呱
- · 用户访问管理系统完备功能详解
- · SQL Server防范措施
- · 使用LINUX系统DDOS攻击WINDOWS服务器
- · 两妙招“强行”杀死病毒进程
- · 最大限度的避免垃圾邮件
- · 保护爱机 慎用六大软件伤硬盘
- · 病毒杀不死的原因分析和相应对策
- · cs的优化--网络端设置
- · 92个经典开源项目集锦(包括URL)
- · 开放源代码知识大全
- · 电脑降噪全攻略之光驱篇
- · 微软IE主内火狐主外 安全评测深度分析报告
- · 补丁刚打完Office再现高危漏洞
- · 初探FreeBSD与Linux的预处理机制
- · 巧用 Windows 系统控制台删除病毒文件
- · JAVA代码编写的30条建议
- · 让你的WinXP 和Win98一样快
- · 利用传感器监测服务器机房
- · 去除pdf文件“打印”“拷贝”限制
- · 完全破解灰鸽子成为会员
- · SPARC中如何安装Linux系统
