免费注册 查看新帖 |

Chinaunix

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

[网络管理] 拜托求各位大虾帮忙。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-21 13:25 |只看该作者 |倒序浏览
需求:
在一台单网口的工控服务器(CPU 赛扬600M,256M内存)上要实现这样一个功能:
1.服务器上有一对UDP侦听端口如5000:5001,当5000端口收到数据转发到5001端口收到数据的源Ip:原端口,
                                       当5001端口收到数据转发到5000端口收到数据的源Ip:原端口
  (注:数据的来源IP:端口,服务器事先是不知道的,每个UDP包长在200字节左右,包间隔20ms左右)

2.服务器上同时有100对这样的UDP端口对都支持这样的功能。

我的实现:
我自己写了一段应用程序来实现这个功能,
方法如下:侦听一对UDP端口A,B
当端口A收到数据时,记下A端口的数据来源Ip:端口,
当端口B收到数据时,记下B端口的数据来源Ip:端口,
然后端口A接收的数据转发到B端口数据来源Ip:端口,
    端口B接收的数据转发到A端口数据来源Ip:端口。


发现问题:
当有48对同时工作时,CPU就被占用90%~100%,其中其系统占用到了80%。
cpu占用必须降下来才行。

寻求解决方案:
1.能否用iptable控制内核来实现上述功能?若可行具体怎么做?
2.其他??????

十万火急!!拜托求各位大虾帮忙。

论坛徽章:
0
2 [报告]
发表于 2008-08-21 16:54 |只看该作者
坐沙发的感觉。。。舒服

论坛徽章:
0
3 [报告]
发表于 2008-08-21 16:58 |只看该作者
留记号学习。。。,.

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
4 [报告]
发表于 2008-08-21 17:08 |只看该作者
1、俺不是大虾。
2、你修改标题。

3、IPTABLES不能实现。
4、CPU为什么那么高你可以用TOP来查看谁占用了CPU。
5、如果是你自己开发的程序占用了CPU。哪么1)你改进程序。2)你升级机器。3)机器和领导改进你。

论坛徽章:
0
5 [报告]
发表于 2008-08-21 18:01 |只看该作者
可以使用netfilter,在NF_LOCAL_IN里面修改UDP端口并更新校验码就行了。网上有很多netfilter的例子,查一查吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP