针对有些用户能ping通我们的网站,但是连接时超时服务器没有任何响应,怀疑问题处在了了http的三次握手环节,这是决定通过抓包进行分析:

1、有问题机器的截图:

2、正常机器的截图:

3、发现问题

从抓包数据发现,web服务器对出问题机器和正常机器系统的tcp syn包都返回ACK包,但存在问题发出的tcp syn包有时候响应,有时候不响应。不响应时,终端与web服务器之间的tcp连接无法正常建立,导致页面不能打开。对比这两种数据包,就在时间戳上有差异,存在问题的机器发出的tcp syn包带有时间戳,因此怀疑时间戳问题导致的故障。

4、解决问题

既然怀疑是时间戳导致的,那我们就着手分析如果将出现问题的机器的时间戳去掉会不会解决问题。针对带有时间戳的tcp syn包不响应的问题,查阅了相关资料得知产生问题的原因是出问题系统中的注册表中有Tcp1323opts这个选项,会导致其在发包时加入时间戳,经过nat之后,如果前面相同的端口被使用过,且时间戳大于这个链接发出的syn中的时间戳,服务器上就会忽略掉这个syn,不返会syn-ack消息,表现为用户无法正常完成tcp3次握手,从而不能打开web页面。在业务闲时,如果用户nat的端口没有被使用过时,就可以正常打开;业务忙时,nat端口重复使用的频率高,很难分到没有被使用的端口,从而产生这种问题。

目前看有两种方法解决:

(1)    是在服务器上修改变量

首先我们先查看一下我们服务器net.ipv4.tcp_timestamps的默认值,如果该值为0测说名不是该问题导致,如果是1我们需要将该值设置为1。

查看默认值的方法:[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_timestamps

修改该值的方法:vim /etc/sysctl.conf  添加 net.ipv4.tcp_timestamps=0

(2)修改客户端的注册表Tcp1323Opts设置为0。

备注:

Tcp1323Opts

说明:该参数控制 RFC 1323 时间戳与窗口缩放选项。默认情况下,启用时间戳与

窗口缩放,但是可以使用标志位进行控制。0 位控制窗口缩放,1 位控制时间戳。

值为0(禁用 RFC 1323 选项)

值为1(仅启用窗口缩放)

值为2(仅启用时间戳)

值为3(两个选项均启用)

net.ipv4.tcp_timestamps=0

说明:时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉。

值为0(禁用时间戳)

值为1(启用时间戳)

只有客户端和服务端都开启时间戳的情况下,才会出现能ping通不能建立tcp三次握手的情况,所以做为提供服务的公司,不可能保证所有的用户都关闭时间戳,这个功能,所以我们必须关闭时间戳,这样才能给所用用户提供正常的服务。

使用该命令使其立马生效:/sbin/sysctl-p

时间戳引起的网站访问不了的问题相关推荐

  1. 时间戳引起的网站访问不了的问题(net.ipv4.tcp_timestamps)

    针对有些用户能ping通我们的网站,但是连接时超时服务器没有任何响应,怀疑问题处在了了http的三次握手环节,这是决定通过抓包进行分析: 1.有问题机器的截图: 2.正常机器的截图: 3.发现问题 从 ...

  2. 网站访问慢解决思路详细图解

    老男孩老师讲授网站访问慢解决思路思想,感谢21期的李同学图解呈现,此图才能与大家见面! 如果看着小,单击还原大图,可清晰查看!本图为亿图制作:亿图使用技巧: http://v.youku.com/v_ ...

  3. squid正反向代理-加快网站访问速度

    配置squid代理服务器加快网站访问速度 一:squid服务概述   Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有 ...

  4. Spring-Boot:写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的图标资源?

    Spring-Boot:Spring-Boot写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的 ...

  5. 网站访问过程理解(一点记录)

    一个普通网站访问的过程 简单概括一下,对于我们普通的网站访问,涉及到的技术就是: 用户操作浏览器访问,浏览器向服务器发出一个 HTTP 请求: 服务器接收到 HTTP 请求,Web Server 进行 ...

  6. 测试网站访问速度的5个方法

    网页载入速度对于一个网站来讲很关键,Google已经将一个网站的载入速度列入了网站关键字排名的考虑因素当中,也就是说如果你的网站有足够的内容,而且载入速度比别人的网站更快一步的话,那么你就是获得更好的 ...

  7. Python统计网站访问日志log中的IP信息,并排序。。

    Python统计网站访问日志log中的IP信息,并排序,打印排名靠前的IP及访问量.示例代码如下: #!/usr/bin/env pythonipdict = {}file = open(" ...

  8. 白话Elasticsearch48-深入聚合数据分析之 Percentiles Aggregation-percentiles百分比算法以及网站访问时延统计及Percentiles优化

    文章目录 概述 官方说明 示例 Percentiles优化 compression 概述 继续跟中华石杉老师学习ES,第48篇 课程地址: https://www.roncoo.com/view/55 ...

  9. 请检查网站服务器是否正常.,网站访问不了?如何做自我检查?

    网站访问不了?如何做自我检查? 作为站长或者是网站所有者来说,难免会遇到网站访问不了的情况,虚拟主机出现不能访问的情况原因很多,这时站长可以对网站先自行检查一下,在网站不能访问的时候,请自身对网站做以 ...

最新文章

  1. 如何用RNN生成莎士比亚风格的句子?(文末赠书)
  2. 微软职位内部推荐-SENIOR DEVELOPMENT LEAD
  3. CubieBoard开发板不用ttl线也不用hdmi线的安装方法
  4. [导入]软件工程和乒乓球
  5. Office EXCEL 中如何让一个单元格的数据链接到另一个工作表的数据
  6. 计算机组装技术的心得与体会,计算机技术心得体会
  7. Salesforce.com + AutoCAD WS集成研究集锦
  8. win10+android+手机驱动,win10系统电脑没有手机驱动的解决方法
  9. 华为HCNA认证---简介及资源
  10. java 合并pdf_用iText分割和合并pdf文件
  11. 链家混三个月底薪_应届毕业生入职链家,到离职
  12. 微信java tools_微信开发工具包(weixin-java-tools)
  13. ubuntu16.04下Nvidia T1000显卡驱动460、CUDA10.2、CUDNN8安装
  14. 用C语言判断五子棋,c语言 五子棋危险判断 求大神解释啊
  15. 基于C#弹幕类射击游戏的实现——(四)玩家的战机
  16. 装的系统没有截图和计算机工具栏,不想安装专用的截图工具?这里有几个Windows(snipping tool)截图小技巧_都叫兽软件...
  17. 如何判断一只股票已经建仓及训练完毕?--荐股王
  18. 手机摄影-参数(曝光补偿)
  19. android自定义金额输入键盘_Android自定义软键盘的实现
  20. matlab中的导函数驻点,[MATLAB基础] 求驻点

热门文章

  1. 苹果HomeKit如何与安卓智能设备实现跨品牌联动?
  2. python合成视频_使用 Python 把多个 MP4 合成一个视频
  3. linux c 数组初始化,C++数组初始化方法详解
  4. 凸优化学习笔记 11:对偶原理 拉格朗日函数
  5. 向量、矩阵的基本意义
  6. TLC2543芯片AD转换例子
  7. 3D游戏世界里的万向节锁
  8. 全球与中国光纤输出半导体激光器市场现状及未来发展趋势
  9. 一维数组升序排序并输出
  10. and门 simuilink_电力电子电路仿真-MATLAB和PSpice应用.PPT