1:这篇文章主旨是解决什么问题?
恐怕不少喜欢上网朋友会遇到一个问题:和别人共享上网的时候,会卡
卡!
2:问题产生的原因?
这应该大家都知道,在网络设备没有问题的前提下,其他人看了一些高清电影、正在下载、或者什么都没做,但其电脑里有没完全退出的软件在后台偷偷的上传…… 一旦需求的带宽接近或大于ISP(网络服务提供商,即电信联通什么的)提供的最大带宽,就会发生卡的现象
这是主要原因,次要原因还有可能 TCP链接数过多,路由器芯片承受不了巨大的负载等等
3:我们的目标 ?
目标是所有的服务全部流畅使用,并且不得浪费带宽
目前测试,4M宽带,PPLive/迅雷看看在在线放蓝光版生化危机3/时间规划局,速度473KB /s 近乎满速。开着wow,打着战场,世界延迟10-53,本地延迟10-52.同时我打开了一个图片很多网页,迅雷速度降低到了270KB/s左右,网页加载完毕后,下载速度恢复到470+,近乎满速,在此期间,我的火法没有感到炎爆术受到任何的“阻拦”,网页也是输入网址完毕后立刻进行加载,打开14个不同域名的未访问过的页面,加载过程没有感觉被延缓
4:完美解决此问题的准备
1.一个在此数据库里可以搜到的路由(怎么搜,搜到后怎么做,第6部分会详细说明),并且你有对它有控制权
2.一根能连接上路由的电脑、网线
3. 了解自己办理的上网业务的接入方法,曾经自己亲手操作过让自己的某设备接入互联网
4.祈求别突然断电 o_o||
5: 需要了解的
风险:此文章将会指导大家对路由器的操作系统进行修改,也就是传说中的“刷机”。刷机有风险,操作需谨慎。本人和DD-WRT社区不对任何刷机失败事件负责,如果实在没胆,那就直接去淘宝买个已经刷好的9成新二手吧!选择范围也广很多
ISP: (Internet Service Provider),互联网服务提供商,即电信、联通、网通等
WAN:广域网,本文指Internet互联网
LAN: 局域网
带宽和网速: 带宽,在传输管道中可以传递数据的能力,单位为Mbps 、Kbps。网速:上网时,上传和下载的速度,最高网速可以由带宽决定,单位为MB/s 、KB/s 请注意B的大小写 1Mbps=128KB/s=1024Kbps 再次请注意B的大小写。
ISP提供的带宽:这个带宽写在你的入网协议里,实在不知道就打电话问。一定要搞清楚准确的下载带宽和上传带宽,对是否成功优化网络是决定性的因素
6:解决方案全过程示例——刷机(TL-WR841ND V5为例)
1.将路由器翻过来,查看后面的具体型号、版本,尤其是版本!不能错!我们以TP-Link WR841ND v5 为例,后面显示TL-WR841N V5 那就说明它是第5版本的,版本千万不能搞错,切记!
2.在这个网站搜索型号,这个例子里我们搜“841”3个数字就直接搜出来了,后面有个”Revision”,就是版本号,找到5,发现支持列显示“Yes”,那么就放心进入点下载(如果搜索不到,就是不支持您的路由,即使型号对上,但没有对应的版本也不能贸然继续,实在不支持您的路由器就请放弃,切记!)
3.我们将选择“factory-to-ddwrt.bin”进行下载,下载后得到一个.bin文件,现在,我们进入841ND的管理页面,找到固件升级,然后用刚刚下载的.bin文件进行升级(也就是开始刷机)即可。这里我们引用ddwrt官方Wiki的话:“请注意,千万不要在路由器刷新固件及重启时打断安装过程。千万不要在刷新过程中关闭电脑、关闭浏览器或者关闭路由器!我通常在这关键的2分钟内离设备远点,把脑袋转到别处,防止吹口气把路由器变砖了。”
4.上传.bin文件后会发现网卡提示断开,然后过一会又链接上,就说明升级成功,并且已经重启完毕了。我们就可以在在浏览器里输入192.168.1.1(记得网卡IPv4要设置成自动分配地址,否则可能会进不去192.168.1.1)首次登录,会要你修改密码,强烈建议修改,因为它的默认密码不是admin,更不会是123456,为了防止自己以后进不去,老老实实的按照它的要求修改密码吧!用户名也可以根据需要修改掉
5.进行常规的路由设置,先保证你能上网再说,一般的路由配置大家都会的吧?如果发现是英文界面的,可以在 “Administration”标签页下的“Management”里找到“Language”选择“Chinese simplified”,然后在最下面点“Apply Settings”以切换成中文界面
6.配置完成,能成功上网后,进入最重要的一步 :数据包优先级配置
我们现在虚拟出这样一种情况:一个家庭里,有个喜欢看高清电影的老妈,而老婆喜欢逛淘宝,老爸有时看看新闻页,有时看看视频,而你有时玩玩魔兽世界
我们再虚拟出一个极端恶劣的情况:一个宿舍里,有6个人,有3个是一开电脑 就开始在线看PPS PPLive电影的,有1个是喜欢跟女朋友QQ视频聊天的,还有一个是喜欢玩网游的,还有一个是变态,一边开着在线电影、还开着迅雷下载、BT下载
如果以上这两种情况,我们最高带宽只有4M,甚至只有2M,我们如何去平衡?让看电影的顺畅点,玩游戏的不卡,看网页的流畅? 我们现在以第二种情况,也就是最恶劣的上网条件,让广大文艺青年最痛不欲生的上网条件入手!
7:解决方案全过程示例——设置服务优先级(本文关键)
1.找到 NAT/Qos ->Qos页面,在Qos设置里选择“启用”,勾选“为游戏优化”(我不知道为什么,勾选后,我wow延迟从54ms降低到13ms。求解)端口WAN,上传带宽、下载带宽分别填写ISP承诺的带宽。比如,此文中,这个恶劣的环境,用的是4M带宽的ADSL,我们得知上传带宽是下载带宽的1/4。根据上文单位的转化关系,我们本应填入1024和4096,但是建议填写理论带宽的80%-95%,所以我们填写970和3890(ADSL应该上传不超过500,不放心就460和3890),如下图
2.按需添加各种自定义服务,比如此文的那个“恶劣环境”我们需要自定义的服务是:QQ、网游(本文以wow为例,其他需要自行咨询客服)、 网页、P2P视频
点击添加/删除服务,在里面做出如下的添加(服务名称前加My是为了区分自带的服务):
服务名称————协议————端口范围
My_wow2————TCP————1119-1119(必须自行添加,自带的worldofwarcraft服务无效)
My_wow1————TCP————3724-3724 (必须自行添加,自带的worldofwarcraft服务无效)
My_DNS ————TCP&UDP————53-53 (可不加,用自带的dns服务代替)
My_FTP————TCP————21(可不加, 用自带的ftp服务代替)
My_icmp————icmp————N/A
My_http————TCP————80-80
My_https————TCP————443 (可不加, 用自带的ssl服务代替)
My_QQ————UDP————8000-8000
My_P2P_ udp————UDP————1200-65535
My_P2P_ tcp1————TCP————1120-3723
My_P2P_ tcp2————TCP————3725-65535
注意My_P2P这部分是区分出P2P端口的,一般P2p使用的是10000以上的Udp端口,1500以上的TCP端口,自行考虑,记得最好要跳开已经设置的端口,比如如果要设置TCP1200-65535区间的时候,要跳过3724(wow端口)
3.设置各服务的优先级,我们来想一下,DNS请求是带宽占用最小的,应该最高优先级,网游的带宽占用也是非常小的,而且对网络的流畅度很敏感,也应该最高。QQ聊天、QQ视频占用带宽一般,但也需要点流畅度 。网页浏览是瞬时占用带宽,网页加载完毕后就几乎零,带宽对流畅度不敏感。FTP文件传输、P2p、BT下载是最占用大量带宽资源的,而网络流畅度对其影响很小,很不敏感。于是就有以下的优先级列表(开头没有My_的则是系统自带的服务,点列表添加即可)
记得全部设置完毕后,点“应用” 来确认。好了,这样就可以了享受无限的流畅吧!
请注意:某些下载(如普通的单线程下载、某些离线下载),使用的是80端口,可能会被当成网页浏览 的流量
下面有通过掩码、通过MAC地址设置优先级,大家有精力也可以尝试下(我个人觉得它不太智能)
另外dd-wrt的Wiki里还有限制链接数、修改TTL数值等资料,大家可以更深度的挖掘
8:其他解决方案和此方案的对比
此方法的优点:智能,对网络条件敏感并且占用带宽小的优先通过。缺点:如果某个高优先级的服务占用了过高的流量,会将比它低优先级的服务给压制得断流。举个例子,比如你把QQ端口UDP8000设置成了TCP8000,TCP8000貌似是旋风下载的默认端口,于是 “My_qq_udp”这里的流量会巨大无比,会挤掉所有“低”优先级别服务的带宽。当然比My_qq_udp优先级高的服务还是很流畅的,这一点可以放心。
对比P2P终结者、聚生网管:这些软件是利用Arp欺骗来进行限速的,这是一种攻击式野蛮管理方法,只要有人开启了Arp防火墙、双向绑定网关地址就会失效。而且越多的人这么做,整个网络就会濒临瘫痪,大家都卡
对比普通路由自带的Qos:大部分百元级别的路由都只能进行IP限速 ,甚至无法控制上传速度。这样的设置简直是徒劳。这些路由的设置基本算是个摆设吧!即使设置成功了最小上下行带宽,但其实还是牺牲了部分带宽,不能满负荷了
欢迎大家在此文章后面评论、交流