nginx的fastopen是怎么回事

 

介绍

fastopen就是tcp 0rtt发包的方法,在syn里就带上data数据。

见:https://datatracker.ietf.org/doc/html/rfc7413

 

ngnix

nginx有这个选项,如下这样配

 配完之后会走一个setsockopt的代码

改option TCP_FASTOPEN,有两点需要注意

1. 全局变量/proc/sys/net/ipv4/tcp_fastopen 需要设置mask 2。

2. option的value是类似backlog的队列长队。我们这里的例子里,是1024.

参考手册man tcp

 

系统配置

sysctl -a |grep fastopen

cat /proc/sys/net/ipv4/tcp_fastopen

参考内核文档:/Source/linux/linux-5.4/Documentation/networking/ip-sysctl.txt

 

client

要想用fastopen,client需要用sendto(),sendmsg()接口,

而不是tcp常用的connect()和write()/send()

参考man 7 tcp

 

posted on   toong  阅读(32)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决

统计

点击右上角即可分享
微信分享提示