当我们说上网慢的时候我们在说什么
一个完整的访问过程:
- 打开浏览器,输入域名
- 主机向DNS服务器解析域名对应的IP地址
- 主机向解析出来的IP地址发起TCP连接请求
- 进行SSL握手协商(HTTPS网站)
- 应用层数据交互
- 客户端拆链
哪些步骤可能慢(不通)
1.打开浏览器,输入域名
- 是HTTP还是HTTPS
- 端口是缺省的还是自定义的
- 域名是否输入完整
2.主机向DNS服务器解析域名对应的IP地址
- 能不能解析到IP地址
- 解析的速度快不快
- 解析出来的是不是同一运营商的地址
3.主机向解析出来的IP地址发起TCP连接请求
- 主机侧会不会有线无线同时下了两条缺省路由
- 服务器是否路由可达
- 有没有收到SYN + ACK响应
4.进行SSL握手协商(如果访问的网站是HTTPS网站)
- SSL握手协商能否成功
- 服务器和客户端协议能否匹配
- 是否有共同支持的加密套件
5.应用层数据交互
- 乱序和重传
- DF标志位置位
6.客户端拆链
为什么慢?
1.等价路由
逐包的等价路由
- 如果在主机上或者内网 (NAT前),则同一条流可能被送到两个出口由于状态不对被丢弃
- 如果在公网上,tep业务可能会乱序,传输变慢
逐流的等价路由
- 如果在主机上或者内网 (NAT前),可能影响银行或游戏业务
- 如果在公网影响不大
2.DNS
- DNS响应慢:从主机到DNS服务器链路质量差
- DNS跨运营商:跨运营商访问慢
3.MTU
什么是MTU:
- 以太网电气特性决定64Bvtes≤最大帧长≤1518 Bvtes
- 二层头 (DMAC+SMAC+Type ) +CRC =18
- MTU:最大传输单元(1500)= 1518-18
MTU作用于:
- 接口出方向
MTU如何影响数据传输:
- 如果P头DF (Don’tfragment)标志位未置位则当接口要发送大于接口MTU的报文时会对报文进行分片后再发送(上慢转,降性能)
- 如果DF标志位置位,要发送的报文长度大于接口MTU,则丢弃该报文,向源地址回复一个DF置位的目的不可达报文
所以,防火墙作为一个传输路径中的中间设备,调小它的MTU亳无意义
4.TCP MSS
TCP MSS:最大分段长度
- 缺省是1460(缺省MTU-201P头-20TCP头)
- 当接口设置TCPMSS时,设备会将经过该接口的新建下CP连接的MSS值修改为接口TCP MSS值,这就是我们建议大家调整TCPMSS的原因
5.设备问题
带宽限速:
- 是否由于带宽限速导致上网被限速
- PPPOE的dialer口缺省带宽64Kbps
负载均衡:
- 链路组中链路的调度算法没有特殊需求还是用按源hash
- 运营商选路需要配合对应的运营商DNS来用
攻击防范:
- V5虚拟分片重组,报文超出队列被当做攻击丢弃(会报日志,注意查看logbuffer) #调大
- 高速度的传输会产生大量的ack确认报文,可能触发ackflood攻击防范 #关
- 设备遭受攻击导致CPU高,业务流量无法被处理 #查找攻击源
双主限制:
- 流量来回路径不一致,部分流量被丢弃 #开会话同步
- DNS流量路径不一致,备框频繁向主框做会话查询,CPU高导致丢包 #调整DNS老化时间
三方配合:
- 接口收发光异常,接口错包,聚合口选中异常 #具体问题具体定位
- 发包给运营商后没有回应 #协调运营商排杏