IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

关于tcp-proxy的几个小问题

kernelchina blogs 2012-08-27 12:39:30 累计浏览 4,158 次
本机暂存

    Tcp-proxy是什么东西就不说了,搜索本站就能找到答案,说说最近碰到的几个问题。

    1)keep-alive

    如果server或client开启keep-alive,需要tcp-proxy也能感知。但是keep-alive本身是不携带有

    效的数据(通常是最后收到并且已经确认的一个字节),所以直接转发会有问题(tcp-proxy转发会重写tcp header,而且tcp-proxy之上的应用不能处理这个包)。所以说keep-alive是tcp层的行为,而不是应用层的行为,只要tcp-proxy的两端处理就可以了。由于tcp-proxy接管的tcp连接,所以最好是两边都能够发出keep-alive packet,这样才能完成协议所规定的功能。

    2) TCP reset

    TCP reset是否需要ACK,答案是不需要。但是在不同的状态下,对tcp reset的处理是不同的,需要考虑tcp reset 合法性检查,是否需要主动发tcp reset等。

    Tcp-proxy本身是一个完整的协议栈实现,但是它相当于两个socket,所以比协议栈更复杂一点。目前还没有看到靠谱的,开源的tcp-proxy实现,想做开源项目,可以考虑一下这个。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. gen_tcp发送进程被挂起起因分析及对策 (累计阅读 37,821)
  2. TCP 的那些事儿(上) (累计阅读 22,696)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  4. 自建DNS以防止GFW干扰 (累计阅读 13,125)
  5. HTTP协议Keep-Alive模式详解 (累计阅读 12,104)
  6. 浅谈TCP优化 (累计阅读 11,082)
  7. 推荐一些socket工具,TCP、UDP调试、抓包工具 (累计阅读 10,845)
  8. 查看 Apache并发请求数及其TCP连接状态 (累计阅读 10,069)
  9. 推荐一些socket工具,TCP、UDP调试、抓包工具 (累计阅读 8,840)
  10. websocket 连接 C Server的尝试 (累计阅读 7,924)