ROS解决网页断流现象 (转)
“pppoe-client”接口,将“MAX MTU”和“MAX MRU”都设置成“” /ip firewall mangle
add action=change-mss chain=forward comment=\
"\D0\DE\B8\C4Lan to PPPoe MTU=1472" disabled=no in-interface=lan new-mss=\
out-interface=pppoe1 passthrough=yes protocol=tcp tcp-flags=syn
自用MTU
网页断流,就是说内网TCP传输具有时效性,不能保存过久,包一多路由就负担了,太短就是变连接不上了。游戏的TCP包就不存在这样的问题,因为游戏包小,时时通信,即使被刷新失效,马上也会有的。
网页就不一样的了,有时候发现网页打不开,其它都正常这个就叫网页断流
网页断流几个关系的问题:
8.1.tracking问题
使用本站提供的,保证无问题,一个SYN推荐大家调高一点点为好
/ ip firewall connection tracking
set enabled=yes tcp-syn-sent-timeout=2m30s tcp-syn-received-timeout=2m30s \
tcp-established-timeout=10h tcp-fin-wait-timeout=2m30s \
tcp-close-wait-timeout=2m30s tcp-last-ack-timeout=2m30s \
tcp-time-wait-timeout=2m30s tcp-close-timeout=30s udp-timeout=2m30s \
udp-stream-timeout=6m icmp-timeout=2m30s generic-timeout=20m \
tcp-syncookie=yes
8.2.防火墙问题 防火墙把TCP3129-3198给禁用了 删除31XX一系列规则
8.3.Queue Tree 限制线程问题
这里说明下,我们只限制速度,不限制线程数为好
8.4.修改MSS值
最近发现很多关于MSS值的问题。我刚装上ROS的时候也是遇到这样的问题(我用的是pppoe-client+NAT方式),主要表现在打开一部分国内网站(比如淘宝)和大部分国外网站(比如yahoo和Microsoft),打开这些网页的速度慢得出奇,基本上打不开。而其它的就用则没有什么不正常。开始我也想到了是MSS设置的问题,但是按照很多人说的“将MSS值改成1400、1440、1480等等”都不起作用。最后打到一篇文章,说是DSL方式MTU值默认是“1492”(不是MSS值)。这才解决了问题:
打开winbox,在PPP中选择你添加的“pppoe-client”接口,将“MAX MTU”和“MAX MRU”都设置成“1492”,然后在“IP-firewall-mangle”中添加一条改变默认MSS值的规则:general选项里:chain:forword;protocol:6(tcp); Advanced选项里面:tcp
flags:syn; Action选项里面:action:change mss;New tcp mss:1440 。
MTU,相信大家都很了解的。那么MSS就是属于MTU中的一部分。MSS=MTU-40。具体的请到百度搜下吧。
网吧,50M电信,200台机器,路由ROS,限速BURST 10M、MAX 2M、TIME 20秒。问题是打开QQ空间时,要等一下才可以。按照速度来算的话,我这网吧的速度已经更快的了,空间应该是瞬间就打开,才是对的。
那么在网速够快的前提下,打开空间却慢,这时候第一个想到的就是MTU的问题。举个简单的例子:
A机通过B机向C机发送数据,MTU分别为:A-1472、B-1440、C-1400。那么就可以看到了,A-B-C传输入数据时,MTU值不同,这时候就要取最小值,因为,要把大包分为小包,进行重组。问题就是在这了。
我们要找到一个合适的MTU值,即将MSS修改成一个合适的值。这个值,我们可以通过PING来获取:
ping qzone.qq.com -f -l 1500 会返回:Packet needs to be fragmented but DF set.就表明没有通。继续
ping qzone.qq.com -f -l 1496 返回:Packet needs to be fragmented but DF set. 再继续,1500-1496是以每次减4来算的。
我这边一直到1472才通的。如:
C:\>ping qzone.qq.com -f -l 1472
Pinging qzone.qq.com [58.61.166.85] with 1472 bytes of data:
Reply from 58.61.166.85: bytes=1472 time=41ms TTL=54
Reply from 58.61.166.85: bytes=1472 time=41ms TTL=54
Reply from 58.61.166.85: bytes=1472 time=41ms TTL=54
Reply from 58.61.166.85: bytes=1472 time=41ms TTL=54
Ping statistics for 58.61.166.85:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 41ms, Maximum = 41ms, Average = 41ms
这样的话,我这边的MSS值就改为1472。在ROS里添加 IP-FIREWALL-MANGLE
连接追踪为 nat 地址转换提供每条 TCP/UDP 连接的转换状态跟踪,提供了连接超时( timeout)参数, 当在指定的超时时间过后, 相应的条目将会从连接状态列表中删除。 下面是 tracking 的配置,在 RouterOS 6.0 后开始新增 FastPath 功能, Enabled 由原来的双选,变为 auto、 no 和 yes:
属性描述
count-curent (只读: 整数) – 在连接状态列表中记录的当前连接数
count-max (只读: 整数) – 取决于总内存量的连接状态列表,自动计算出最大连接数
enable (yes | no|auto; 默认: auto|yes) –允许或禁止连接追踪, nat 被使用的情况下必须开启;根据硬件平台不同,
x86 不具备 Fastpath,默认是 yes,而 RouterBOARD 具备 Fastpath 功能,默认是 auto。
generic-timeout (时间; 默认: 10m) – 连接列表中追踪既非 TCP 又非 UDP 包的条目的最大时间量将会在看到匹配此
条目最后一个包之后存活
icmp-timeout (时间; 默认: 10s) – 连接追踪条目将在看到 ICMP 请求后存活最的大时间量
tcp-close-timeout (时间; 默认: 10s) – TCP 连接追踪条目在看到连接复位请求( RST)或来自连接释放初始化机连接
终端请求确认通知( ACK)之后存活的最大时间
tcp-close-wait-timeout (时间; 默认: 10s) – 当来自应答器的终端请求( FIN)之后连接追踪条目存活的最大时间
tcp-established-timeout (时间; 默认: 1d) – 当来自连接初始化机的确认通知后连接追踪条目存活的最大时间
tcp-fin-wait-timeout (时间; 默认: 10s) – 当来自连接释放初始化机的连接终端请求( FIN)后存后连接追踪条目存活
的最大时间
tcp-syn-received-timeout (时间; 默认: 1m) – 当匹配连接请求( SYN)之后连接追踪条目存活的最大时间
tcp-syn-sent-timeout (时间; 默认: 1m) – 当来自连接初始化机的连接请求( SYN)后连接追踪条目存活的最大时间
tcp-time-wait-timeout (时间; 默认: 10s) – 当紧随连接请求( SYN)的连接终端请求( FIN)之后或在看到来自连接
释放初始化机的其他终端请求( FIN)之后连接追踪条目存活的最大时间
udp-timeout (时间; 默认: 10s) – 当匹配此条目的最后一个包之后连接追踪条目存活的最大时间
udp-stream-timeout (时间; 默认: 3m) – 在匹配此连接(连接追踪条目是确定的)的最后一个包的响应被看到之后连
接追踪条目存活的最大时间。它用于增加对 H323, VoIP 等连接的超时。
ROS解决网页断流现象 (转)的更多相关文章
- URLRedirector 解决网页上无法访问 google CDN 的问题(fonts、ajax、themes、apis等)
URLRedirector 解决网页上无法访问 google CDN 的问题(fonts.ajax.themes.apis等) 由于某些原因,在访问国外的网站时有时候会特别慢,像 stackoverf ...
- 利用Readability解决网页正文提取问题
分享: 利用Readability解决网页正文提取问题 做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以用SS为各种网站写脚本做解析, 但是 ...
- 解决网页中Waiting (TTFB)数据加载过慢的问题
解决网页中Waiting (TTFB)数据加载过慢的问题 最近做了一个网页,在本地测试良好,数据可以得到很快的反馈,但是当部署到云端Linux上时候,就会出现加载缓慢的问题.本地测试,得到数据大概3s ...
- 深入解析Mysql中事务的四大隔离级别及其所解决的读现象
本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象.并且介绍了在关系型数据库中不同的隔离级别的实现原理. 在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执 ...
- delphi 7中使用idhttp抓取网页 解决假死现象
在delphi 7中使用idhttp抓取网页,造成窗口无反应的假死状态.通过搜索获得两种方法. 1.写在线程中,但是调用比较麻烦 2.使用delphi 提供的idantifreeze(必须安装indy ...
- delphi 7中使用idhttp抓取网页 解决假死现象(使用TIdAntiFreezeControl控件)
在delphi 7中使用idhttp抓取网页,造成窗口无反应的假死状态.通过搜索获得两种方法. 1.写在线程中,但是调用比较麻烦 2.使用delphi 提供的idantifreeze(必须安装indy ...
- 分享: 利用Readability解决网页正文提取问题
原文:http://www.cnblogs.com/iamzyf/p/3529740.html 做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以 ...
- js解决网页无法复制文字的问题
碰到有些网站,站长禁止了右键,或者用其它方法不让复制网页的文字,弄的好烦人啊,虽然这是小把戏,但多多少少造成了一些不方便,前几天发现这个解决不能复制问题的小方法,一行代码即搞定,就是下面这行: jav ...
- Java、C#双语版HttpHelper类(解决网页抓取乱码问题)
在做一些需要抓取网页的项目时,经常性的遇到乱码问题.最省事的做法是去需要抓取的网站看看具体是什么编码,然后采用正确的编码进行解码就OK了,不过总是一个个页面亲自去判断也不是个事儿,尤其是你需要大量抓取 ...
随机推荐
- BZOJ3887 [Usaco2015 Jan] Grass Cownoisseur 【tarjan】【DP】*
BZOJ3887 [Usaco2015 Jan] Grass Cownoisseur Description In an effort to better manage the grazing pat ...
- 使用不安全代码将 Bitmap 位图转为 WPF 的 ImageSource 以获得高性能和持续小的内存占用
在 WPF 中将一个现成的 Bitmap 位图转换成 ImageSource 用于显示一个麻烦的事儿,因为 WPF 并没有提供多少可以转过来的方法.不过产生 Bitmap 来源却非常多,比如屏幕截图. ...
- psoc4的capsense总结
psoc4的capsense算是个比较实用的东西,触摸按键,显得有点高大上,呵呵.今天试用了一下,对照着数据手册,现在总结一下. 1,先说原理,官方做文档的时候应该把原理讲一下,不要上来就讲怎么用,怎 ...
- @RequestParam和@RequestBody的区别-------springMVC
https://blog.csdn.net/qq_27093465/article/details/50519444 @RequestParam 1,用来处理Content-Type: 为 appli ...
- centos6 查看SELinux状态 关闭SELinux
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.在这种访问控制体系的限制下,进程只能访问那 ...
- redis+php实现微博功能(二)
数据结构: set post:postid:3:time timestampset post:postid:3:userid 5 set post:postid:3:content 测试发布哈哈哈哈 ...
- 02 - Unit01:服务器返回数据的json处理+搭建项目环境
服务器返回数据的json处理+搭建项目环境 服务器返回数据的json处理 springMVC JSP响应流程 请求 -->DispatcherServlet -->HandlerMappi ...
- 基于Spring Boot和Spring Cloud实现微服务架构
官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选择沉下心去读,你一定能收获好多.我的学习是先从Spring boot开始的,然后接触到微服务架构,当然,这一切最大的启 ...
- Linux命令 改变文档权限及所有者
Linux命令 改变文档权限及所有者 chgrp :改变档案所属群组 chown :改变档案拥有者 chmod :改变档案的权限, SUID, SGID, SBIT等等的特性 chgrp说明及范例 [ ...
- 第五章 用Helm部署Istio
5.1 Istio Chart概述 Helm是目前Istio官方推荐的安装方式.还可以对输入值进行一些调整,完成对Istio的部分配置工作.Istio Chart是一个总分结构,其分级结构和设计结构是 ...