gpt4 book ai didi

linux - TCP_FASTOPEN cookie 是根据什么保存的?

转载 作者:可可西里 更新时间:2023-11-01 02:51:09 30 4
gpt4 key购买 nike

我一直在阅读有关 Linux 中的 TCP_FASTOPEN 的信息,但我无法弄清楚保存的 cookie 是什么。

如果我的 Linux 服务器上的一个程序使用 tcp 快速打开连接,连接到同一服务器的其他程序是否使用以前的 cookie 快速打开?

或者只有来自同一程序的套接字可以相互使用 cookie?

最佳答案

几年前,引入了 TCP_FASTOPEN (TFO) 的概念,作为一种提高 TCP 连接性能的解决方案,减少了一次握手过程的往返。第一个实现 TFO 的操作系统是 Linux,并且在公共(public)网络中使用时已证明有很好的改进。

Linux 内核中的实现由多个部分组成,Linux 内核 3.6.1 第一个实现客户端要求,然后是 Linux 内核 3.7 实现服务器端套接字行为。

当使用 TCP_FASTOPEN 时,行为有点不同。您不再需要使用 connect(2),而是使用 sendto(2),它还让您有机会让内核缓冲一些初始传出数据。简而言之,调用 sendto(2) 就像同时调用隐式 connect(2) 和 send/write(2)

更多信息http://edsiper.linuxchile.cl/blog/2013/02/21/linux-tcp-fastopen-in-your-sockets/

编辑

Fast Open Cookie 旨在缓解新的安全漏洞,以便在握手期间实现数据交换。 cookie是服务端产生的MAC标签,对客户端是不透明的;客户端只需缓存 cookie 并将其传回后续 SYN 数据包以打开新连接。服务器可以随时使 cookie 过期以增强安全性。当应用程序关闭时它不会死,因为它存储在系统内存中

关于linux - TCP_FASTOPEN cookie 是根据什么保存的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37365711/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com