免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2030 | 回复: 2
打印 上一主题 下一主题

求思路,用netfilter做这个转发任务可以吗?谢谢。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-06 15:11 |只看该作者 |倒序浏览
现在有一个场景:
=========================
windows client A需要连接目标服务器D,但是现在A和D之间有时候很慢(国内的网络环境),掉包也比较高。
所以,现在打算选几个好的点,双线机房,架设服务器S1,S2,S3,S4,S5,原先的路由:
   A------》D
路由转为:
  A-----》S1(或S2,S3...)----》D 只一台服务器中转
  或 A -----》S1-----》S2...Sx...---》D 有很多服务器参与中转
即相当于建一个专门的包转发网络。


交互过程
=========================
现在设想A-和服务器S1交互过程是:
1 A发起和S1的TCP连接,连接后第一个TCP包包含认证信息和真实的目的地址信息D(host:port)
  1.1 如果认证通过,转2
  1.2 认证失败,断开连接

2 认证通过
  2.1 在服务器S1上查自定义的路由表。看到达目的地D是应该直接转发包到D呢,还是应该通过其它服务器节点继续转发
        2.1.1 直接转发。则服务器S1和D建立TCP连接
                 A随后发到S1的所有包直接通过S1转发到D
        2.1.2 需要中转。则服务器S1使用同样的认证信息和目的地址信息连接中转服务器S2
                S2的处理过程类式S1

要求:
=========================
   包转发的速度尽量快,所以想把包转发层次尽量降低,不到应用层

问题:
=========================
  因为对内核不熟悉,所以咨询一下:
   1,上面的场景用netfilter模块做合适不?
   2,有什么特别需要注意的地方
谢谢。

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
2 [报告]
发表于 2011-09-06 23:00 |只看该作者
参看置顶的netfilter应用应该可以实现!其实就是改造了路由器的应用!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
3 [报告]
发表于 2011-09-07 13:36 |只看该作者
还不如搞个cluster,再做个加速缓存,netfilter搞这个有点勉为其难了吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP