关于tcp-proxy的几个小问题
浏览:3371次 出处信息
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天十大热文
- [627] Go Reflect 性能
- [24] 正态分布的前世今生(一)
- [15] rsync同步的艺术
- [13] Cuckoo Filter:设计与实现
- [13] 什么是DNS劫持和DNS污染?
- [13] Linux Used内存到底哪里去了?
- [12] 深入浅出选择类排序算法(简单选择排序,堆排序
- [12] Mac下.apk的反编译
- [11] 怎样用core文件调试你的linux程序?
- [11] vim入门,进阶与折腾