一个网络层实现的NAT方式的负载均衡模块
时间:2010-07-19
来源:互联网
一个网络层实现的NAT方式的负载均衡模块,和LVS的NAT方式的区别是,LVS的NAT方式只更改
dip,dport,没有更改sip,sport,所以LVS需要配置real server的默认网关为vs,而我的
更改dip,dport的同时也更改了sip,sport,并且实现了tcp 3次握手功能,可以保证只有有效的连接才发送到real server.
也不需要配置real server 的默认网关。
程序初始版本,难免有BUG,但思路应该是正确的。
版主给个精华吧!

vs.tar.bz2 (6.04 KB)
作者: @sky 发布时间: 2010-07-19
1、在 read 代码中使用了 copy_to_user,这个是做什么用的?
2、在保护链表 vssvc_lock 时使用了 spin_lock 而不是 spin_lock_bh,proc 是进程上下文吗,如果是,这里没有使用底半锁定,不会出问题吗?
作者: platinum 发布时间: 2010-07-19
作者: @sky 发布时间: 2010-07-19
作者: platinum 发布时间: 2010-07-19
这地方用吗?我觉得不用吧?我也不太确定
作者: @sky 发布时间: 2010-07-19
这地方用吗?我觉得不用吧?我也不太确定
@sky 发表于 2010-07-19 15:10
另外,“2” 你是不是也不太确定?我看你没有回复我的那个问题
作者: platinum 发布时间: 2010-07-19
作者: @sky 发布时间: 2010-07-19
BTW,给出一些测试结果吧。
作者: Godbach 发布时间: 2010-07-19
@sky 发表于 2010-07-19 15:21
我说可能需要的原因是因为我不清楚 proc 是否属于进程上下文,如果是,那么必须使用 _bh 锁
你说不需要理由是…………?
作者: platinum 发布时间: 2010-07-19
你的意思是如果/proc是进程上下文的话,需要用spin_lock_bh()??
作者: @sky 发布时间: 2010-07-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28