关于tcp-proxy的几个小问题
浏览:3919次 出处信息
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实现,想做开源项目,可以考虑一下这个。
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:nslookup通往DNS的桥梁
后一篇:计算机网络协议包头赏析-以太网 >>
文章信息
- 作者:droplet 来源: kernelchina blogs
- 标签: tcp-proxy
- 发布时间:2012-08-27 12:39:30
近3天十大热文
-
[928] WordPress插件开发 -- 在插件使用 -
[134] 解决 nginx 反向代理网页首尾出现神秘字 -
[52] 整理了一份招PHP高级工程师的面试题 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[51] 用 Jquery 模拟 select -
[50] 海量小文件存储 -
[50] Innodb分表太多或者表分区太多,会导致内 -
[50] 全站换域名时利用nginx和javascri -
[49] CloudSMS:免费匿名的云短信 -
[47] jQuery性能优化指南