首先服务器和客户端都开启tcp fast open:net.ipv4.tcp_fastopen = 3

使用curl开启tfo测试:curl --tcp-fastopen https://www.haiyun.me/

#httping -F https://www.haiyun.me/

nginx开启tfo:listen 80 fastopen=256

使用tcpdump监听数据发现:

第一次请求时客户端syn携带cookiereq,服务器如果支持tfo则返回tfo cookie:Flags [S], options [mss 1460,sackOK,TS val 4250936141 ecr 0,nop,wscale 6,exp-tfo cookiereq], length 0

Flags [S.], options [mss 1460,sackOK,TS val 2764503812 ecr 4250936141,nop,wscale 11,exp-tfo cookie f6aecea49990ea33], length 0

后续再请求时会在syn带上tfo cookie和请求数据:Flags [S], options [mss 1460,sackOK,TS val 4250944477 ecr 0,nop,wscale 6,exp-tfo cookie f6aecea49990ea33], length 77: HTTP: GET / HTTP/1.1

以上都配置了如果客户端syn数据包未带tfo cookiereq,则可能因为丢包或防火墙原因返回了正常模式,修改以下再测试:net.ipv4.tcp_fastopen_blackhole_timeout_sec = 0

标签:none

linux tcp fast open,linux开启tcp fast open/tfo并测试相关推荐

  1. 修改linux xorg端口,Xorg服务开启tcp/ip监听,允许其它机器客户端连接

    Linux在默认级别5启动时,会进入图形界面,如果不使用vnc服务,默认的显示服务器是Xorg,但由于安全因素,系统默认关闭了显示服务器Xorg监听TCP/IP地址的功能,所以使用netstat查看时 ...

  2. linux 升内核 bbr,Linux 升级内核开启 TCP BBR 实现高效单边加速

    前言 自从锐速发布以来,这款牛逼的单边加速神器的确为一些线路不太优秀的服务器带来了更优秀的体验.但是呢,过高的价格和不再低端售卖.导致了我们并无法实现一个免费好用的单边加速功能. 但是捏,谷歌为我们带 ...

  3. 【译】TCP Implementation in Linux

    TCP Implementation in Linux: A Brief Tutorial 一个简单教程关于 TCP 协议在 linux 内核的实现 翻译:内核小王子 (欢迎订阅微信公众号) 原文:H ...

  4. linux满负荷运行tail,linux内核tcp调优规范与方案

    1.TCP常用内核参数优化 上一篇我们介绍了服务器上有大量的TIME_WAIT等待,可能造成的危害,以及给web服务器带来负担.如何解决这个问题呢,其实,解决思路很简单,就是让服务器能够快速回收和重用 ...

  5. tcp透明代理 linux(c语言)

    一个使用c编写的tcp透明代理 1.为啥要做 2.透明代理的实现 3.源码 4.编译 5.输出 6.引申 需要的系统配置 参考文章 1.为啥要做 一个需求,需要SMB的代理来监查上传内容进行管控.查遍 ...

  6. Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程

    目录 文章目录 目录 TCP/UDP Socket 逻辑架构 创建 Socket 绑定 Socket 请求建立 Socket 连接 监听 Socket 接受请求 关闭连接 数据的发送和接收 send ...

  7. linux u8 头文件,2019-12-11 转载TCP/IP编程常用C语言头文件

    网络编程的头文件(这里所有的头文件都在/usr/include目录下面) 经常被一些头文件搞大,不知到到哪个头文件去找结构.这里做个总结 ---------------- 版权声明:本文为CSDN博主 ...

  8. linux+while循环多条件,有效的while循环条件客户端选择(TCP连接在Linux - C)

    我想做一个TCP文件传输连接,使客户端可以选择他想做什么"任务"(列出目录中的文件,上传,下载一个文件),但是一旦他做出选择就不会终止.这意味着他可以在每个环节做更多的选择.有效的 ...

  9. linux下用C语言实现TCP/IP服务器与客户端互相发送数据的socket编程

    linux下用C语言实现TCP/IP服务器与客户端互相发送数据的socket编程 server.c #include <sys/stat.h>#include <fcntl.h> ...

  10. linux网络编程(二)TCP通讯状态

    linux网络编程(二)TCP通讯状态 TCP状态转换 为什么需要等待2MSL? 端口复用 TCP状态转换 tcp协议连接开始会经过三次握手,客户端和服务器开始都会处于CLOSED状态 第一次握手:客 ...

最新文章

  1. 从管道中飞出的不一定是炮弹,也可能是无人机
  2. 互联网学院大数据开发专业欢迎加入
  3. Linux查看CPU,内存,GPU,进程,版本,系统内核信息
  4. 技术系列课|AI驱动的超分辨技术应用现状
  5. tooltip.css-2.0文档
  6. 利用Python爬虫采集mac电脑皮肤
  7. 【干货】这样写总结年终奖翻倍!
  8. linux操作系统日志查看,linux 如何查看系统日志
  9. css内联样式外联样式嵌套样式区别
  10. sublime 3207 激活
  11. python实现 stft_scipy-Python中的可逆STFT和ISTFT
  12. 2015年天翊他爹有想法了
  13. iOS 如何获取手机外网IP地址(附内网IP地址)
  14. 下载图片到指定文件夹
  15. muduo日志学习笔记
  16. 华为MPLS L2xxx(PWE3)+静动混合多跳PW实验
  17. 一期每日一GO群分享-flag、viper、协程池、异常处理
  18. win7的svchost.exe占用内存过高如何解决
  19. mysql 设置不重复_mysql数据如何设置不重复
  20. 【java】求平均值

热门文章

  1. [资源整理]关于前端设计的那些博客儿~
  2. 如何找到稳定的网站空间
  3. 关于Winform下,获取Treeview中CheckBox选中项的“.NET研究”技巧
  4. jQuery使用手册之三 CSS操作
  5. Fun with Opterons, SATA, and INNODB
  6. Anybody = Nobody
  7. web 服务器的作用
  8. Springboot监控之二:Spring Boot Admin对Springboot服务进行监控
  9. 【项目管理】项目管理发展的新阶段——PRINCE2项目管理方法
  10. 笨办法学R编程(4)