关于tcp-proxy的几个小问题
浏览:3449次 出处信息
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天十大热文
- [66] Go Reflect 性能
- [66] Oracle MTS模式下 进程地址与会话信
- [65] 如何拿下简短的域名
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [59] android 开发入门
- [59] 图书馆的世界纪录
- [58] 【社会化设计】自我(self)部分――欢迎区
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 界面设计速成
- [47] 读书笔记-壹百度:百度十年千倍的29条法则