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了,不过总是一个个页面亲自去判断也不是个事儿,尤其是你需要大量抓取 ...
随机推荐
- CODEVS3013 单词背诵 【Hash】【MAP】
CODEVS3013 单词背诵 题目描述 Description 灵梦有n个单词想要背,但她想通过一篇文章中的一段来记住这些单词. 文章由m个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要 ...
- Mac OS安装php-redis扩展
下载php-redis(用于php5.x的版本),地址:https://nodeload.github.com/nicolasff/phpredis/zip/master. 如果是php7.2,选择p ...
- 简明 Python 教程--学习记录
注意,我们在print语句的结尾使用了一个 逗号 来消除每个print语句自动打印的换行符.这样做有点难看,不过确实简单有效. print # prints a blank line 注意,没有返回值 ...
- CentOS 添加常用 yum 源(转)
CentOS 的官方源去掉了一些与版权有关的软件,因此想要安装这些软件或者手动下载安装,或者使用其他源. 下面我推荐常用的两个源, 这两个源基本可以满足一般服务器的使用需求. 首先, 添加源之前要确定 ...
- 骰子点数概率__dp
骰子点数概率 时间限制:1 秒 内存限制:32 兆 题目描述: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S.输入n,打印出S的所有可能的值出现的概率. 输入: 输入包括一个整数N(1<= ...
- 快速排序算法-python实现
#-*- coding: UTF-8 -*- import numpy as np def Partition(a, i, j): x = a[i] #将数组的第一个元素作为初始基准位置 p = i ...
- c++ 异常处理(3)
<C++编码规范与指导>一文,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了.没想到时隔几年以后才有机会把这个尾巴补完 :-). 还是那句开场白:“在恰当的场合使用恰当的特性” ...
- STL 算法罗列 (转)
非修改性序列操作(12个) 循环 for_each() 对序列中的每个元素执行某操作 查找 find() 在序列中找出某个值的第一次出现的位置 find_if() 在序列中找出符合某谓词的第一个元素 ...
- 初学FPGA一些建议
数字电路: 这是大学里的基本课程 ,涵盖了一般数字电路的组合电路.时序电路.寄存器传输.储存器以及可编程逻辑电路(FPGA 就是其中一种),还有比较好的添加了计算机的指令集结构.处理器设计等计算机方面 ...
- HDOJ5521(巧妙构建完全图)
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...