tcp时间戳 引起的网站不能访问

news/2024/5/11 15:01:12/文章来源:https://blog.csdn.net/whatday/article/details/106013878

目录

问题现象

TCP时间戳说明

解决方法

什么情况下出现这个问题


 

问题现象

访问一个我们新接入的业务接口,能ping通他们的站点,第一次telnet对端接口会通,第二次、第三次... 一直做下去就不通了,但是连接时超时服务器没有任何响应,怀疑问题出在了http的三次握手环节。

现象截图:

抓包的情况:

 从抓包数据发现,出现问题的服务端的数据包来看 存在发出的tcpsyn包有时候响应,有时候不响应。不响应时,客户端与服务端之间的tcp连接无法正常建立,导致页面不能打开。从客户端抓包图里可以看到,发出去syn没有收到syn/ack,说明服务端就没有发ack,服务端是对端抓包,他们在网络入口也没有收到syn/ack,经过对比时间戳上有差异,发出的tcpsyn包带有时间戳,因此怀疑时间戳问题导致的故障

 

TCP时间戳说明

TCP时间戳选项会在TCP包头增加12个字节,以一种比重发超时更精确的方法来启用对RTT 的计算。

作用:

1、TCP时间戳位于TCP选项中,kind=8;lenth=10;data由timestamp和timestamp echo两个值组成,各4个字节的长度。
2、TCP时间戳理论作用有3个:序列号回绕,乱序的时间判断依据,避免确认二义性,以及计算RTT。

工作原理:

当一个主机收到一个ack的时候,他会记录此时的时刻,我们把这个时刻标记为t1;收到的这个ack报文段,他的时间戳回显应答字段存放的时间就是本机发送这部分数据(此ack确认的数据)时本机内核的时刻,我们标记此时刻为t2。RTT=t1-t2,t1、t2这两个时刻都是来自本机的内核,所以说不需要在tcp连接的两端进行任何时间同步的操作,也不必关心时间的单元是什么。

 

解决方法

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

解决问题的方式有两种:

1、优化内核参数net.ipv4.tcp_timestamps,首先我们先查看一下我们服务器net.ipv4.tcp_timestamps的默认值,如果该值为0则说明不是该问题导致,如果是1我们需要将该值设置为0。

查看方法:

cat /proc/sys/net/ipv4/tcp_timestamps

解决办法:

echo "net.ipv4.tcp_timestamps = 0" >>/etc/sysctl.conf  && sysctl  -p

0表示:禁用时间戳

1表示:开启时间戳

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

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

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

值为0(禁用 RFC 1323 选项)

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

值为2(仅启用时间戳)

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

 

什么情况下出现这个问题

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

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_702132.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站架构演变

第二遍阅读《大型网站技术架构》,真心觉得书中的内容很好,推荐大家去阅读。下面是书中对大型网站架构演变过程的介绍。 对于一个小型企业级网站,通常的架构如下图: 随着用户数量的增多,可以将应用服务与数据服务分离以提高性能&am…

百度技术沙龙精英汇聚 探秘大型网站数据库架构设计与性能优化

云计算浪潮汹涌而至,来自四面八方的海量数据已呈爆炸之势,如何给前端用户提供稳定、顺畅、安全、高速的体验服务,这既要求后台数据库系统顺应业务模式的变革不断升级,又能满足数据量爆增所带来的各种存储、查询、分析、挖掘等各种…

笔记本电脑当服务器部署网站,笔记本当云服务器

笔记本当云服务器 内容精选换一换如果在创建弹性云服务器时未设置密码,或密码丢失、过期,可以参见本节操作重置密码。密码丢失或过期前,已安装密码重置插件。公共镜像创建的弹性云服务器默认已安装一键重置密码插件。私有镜像创建的云服务器且…

大型网站系统架构

前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设…

给网站增加https的简单方法

为什么80%的码农都做不了架构师?>>> https://certbot.eff.org/ 转载于:https://my.oschina.net/fox99/blog/1621009

支持全球探测点的新一代网站监控

2019独角兽企业重金招聘Python工程师标准>>> 摘要: 当你的网站开发完成了,你是不是想知道全国各地到服务器的网络访问情况。 当你的网站上线了,你是不是不想变成熊猫眼24小时盯着网站运行情况。 当你的网站商业化了,你…

Windows 08R2 IIS网站架设

目录 目录配置和安装IIS环境设置安装IIS服务器网站的站点目录和欢迎页面 配置和安装IIS IIS是Windows的网站服务器,所以配置IIS服务的前提是需要一个网址、和DNS域名并添加主机记录。 环境设置 我们以下图架构搭建一个类似的IIS服务。我们将DNS服务和IIS服务ALL-…

SEO优化:网站优化的五大步骤

我们在做SEO优化的过程中,不能毫无头绪得去做,不然取得的效果很差,做任何事情,都要有一个好的策划,完整的方案才能做的更好。今天搜客大伟讲讲做网站优化的五大步骤: 1、关键词分析 这是进行SEO优化最重要的…

ThinkSNS积分商城系统 一站式解决企业商城建站需求

2019独角兽企业重金招聘Python工程师标准>>> 什么是ThinkSNS ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS。 积分商城体验PC端地址 http://d…

3000+ NLP资源一网打尽,只需用这个分类检索网站 | 免费

子豪 发自 凹非寺量子位 报道 | 公众号 QbitAINLP资源免费搜索神器来了~有了它,就能一键直达arXiv论文PDF、相关研究的关联网、GitHub存储库,以及Colab,再也不用逐项搜索!这是一个NLP资源检索网站,在reddit上获得了460…

php ucwords,WordPress博客程序中Platinum SEO Pack SEO插件设置图解介绍

Automatically do 301 redirects for permalink changes:301转向:当日志固定链接结构改变后会因为找不到页面而显示404错误,启用此选项后,旧URL会被自动转向到新的URL。Home Title:这个是显示在浏览器标题栏的首页标题&#xff0c…

前端里面如何进行搜索引擎优化(SEO)

如何进行SEO优化: (1) 避免head标签js堵塞: 所有放在head标签里面的js和css都会堵塞渲染;如果这些css和js需要加载很久的话,那么页面就空白了; 解决办法:一是把script放到body后面,这也是很多网…

html中怎么给网页添加音乐播放器,怎么给网站或网页添加音乐

一定程度上学建站网不赞同在网站中插入背景音乐,就自己而言,如果我在听着音乐时打开你的网站,我会毫不犹豫的叉掉你的网页,因为“有碍视听”,不过事无绝对,如果没有听音乐,一遍浏览网站文章一遍…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据,目前约有78.9%的网站使用PHP开发。\\但是,PHP 5.6.x的安全支持将在2018年12月31日正式停止,这标志着对古老的PHP 5.x分支版本的支持都将结束。\\也就是说,从明年开始,大约62&#xf…

使用 acme.sh 获取网站证书并配置https访问

目录 1. 安装 acme.sh 2. 生成证书 1. 安装 acme.sh 安装很简单, 一个命令: curl https://get.acme.sh | sh普通用户和 root 用户都可以安装使用. 安装过程进行了以下几步: 1.把 acme.sh 安装到你的 home 目录下: ~/.acme.sh/并创建 一个 bash 的 alias, 方便你的使用: …

【Docker实战之入门】Dockerfile详细分析:构建docker镜像(4)构建动态网站WordPress...

代码文件 [rootOptimus /]# cd docker-training/ [rootOptimus docker-training]# ls centos7 mysql php-fpm README.md wordpress [rootOptimus docker-training]# cd wordpress/ [rootOptimus wordpress]# ls Dockerfile init.sh readme.html wp-admin …

判断分辨网站是否伪静态的方法

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 所有seoer都知道网站的优化最好是静态网页&#xff0c;但是有些时候静态网 页是无法满足建站需求的&#xff0c;所以伪静态就出现了&#xff0c;而我们浏览其他的网站&#xff0c;看…

使用免费虚拟服务器建站并实现域名解析

任务1 在中国免网申请使用免费VPS并建个人网站 使用aws创建的云服务器 此次搭建使用LAMP Web服务器SSL/TLS 首先检查yum源更新 sudo yum update -y 安装 lamp-mariadb10.2-php7.2 和 php7.2 Amazon LinuxExtras 存储库&#xff0c;以获取适用于 Amazon Linux 2 的 LAMP Mari…

JavaScript实现在线进制转换工具网站 -toolfk程序员在线工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱&#xff0c;ToolFk 特色是专注于程序员日常的开发工具&#xff0c;不用安装任何软件&#xff0c;只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。ToolFk还支持 BarCode条形码在线生成、 QueryList采集…

网站被黑搜索快照被劫持怎么办

2018年圣诞节来临之际随着互联网的网站数量不断的庞大增加,随之而来的网站安全问题凸显上升,很多企业网站的百度快照出现被劫持跳转,以及网站快照被劫持在百度中的搜索关键词出现标题描述与网站不相符的问题,导致网站在搜索引擎中的排名大大下降,那么具体是什么原因导致的&…