免费注册 查看新帖 |

Chinaunix

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

双网卡的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-17 13:31 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2003-02-17 14:19 |只看该作者

双网卡的问题

这什么这样做?

论坛徽章:
0
3 [报告]
发表于 2003-02-17 15:20 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2003-02-17 15:36 |只看该作者

双网卡的问题

好像不可以

论坛徽章:
0
5 [报告]
发表于 2003-02-17 16:43 |只看该作者

双网卡的问题

用Linux的话没问题!以下摘自《Linux的高级路由和流量控制》


  1. 第10章 多网卡的负载均衡

  2. 有多种手段实现这个功能。最简单、最直接的方法之一就是"TEQL"--真(或"普通的")链路均衡。就象用队列实现的大多数事情一样,负载均衡也需要双向实现。链路的两端都要参与,才有完整的效果。
  3. 想象下列情况:
  4.               +-------+   eth1   +-------+
  5.               |       |==========|       |
  6.   网络1 ------|   A   |          |   B   |---- 网络 2
  7.               |       |==========|       |
  8.               +-------+   eth2   +-------+

  9. A和B是路由器,我们当然假定它们全是Linux机器。如果从网络1发往网络2的流量需要A路由器同时使用两条链路发给B路由器。B路由器需要进行配置以便适应这种情况。反向传输时也一样,当数据包从网络2发往网络1时,B路由器同时使用eth1和eth2。
  10. 分配的功能是用"TEQL"设备实现的,象这样(没有比这更简单的了):
  11. # tc qdisc add dev eth1 root teql0
  12. # tc qdisc add dev eth2 root teql0
  13. # ip link set dev teql0 up
  14. 别忘了"ip link set up"命令!
  15. 这在两台机器上都要做。teql0设备基本上是在eth1和eth2之间进行轮转发帧。用源也不会有数据从teql设备上进来,只是出现在原来的eth1和eth2上。
  16. 我们现在有了网络设备,还需要有合适的路由。方法之一就是给两个链路分配一个/31的网络,teql0也一样:
  17. 在A路由器上:
  18. # ip addr add dev eth1 10.0.0.0/31
  19. # ip addr add dev eth2 10.0.0.2/31
  20. # ip addr add dev teql0 10.0.0.4/31
  21. 在B路由器上:
  22. # ip addr add dev eth1 10.0.0.1/31
  23. # ip addr add dev eth2 10.0.0.3/31
  24. # ip addr add dev teql0 10.0.0.5/31
  25. A路由器现在应该能够通过2个真实链路和一个均衡网卡ping通10.0.0.1、10.0.0.3和10.0.0.5。B路由器应该能够ping通10.0.0.0、10.0.0.2和10.0.0.4。
  26. 如果成功的话,A路由器应该把10.0.0.5作为到达网络2的路由,B路由器应该把10.0.0.4作为去往网络1的路由。在网络1是你家里的网络,而网络2是Internet这种特定场合下,A路由器的缺省网关应该设为10.0.0.5。

  27. 10.1. 告诫
  28. 事情永远不会是表面看上去那样简单。A路由器和B路由器上的eth1和eth2需要关闭"返回路径过滤",否则它们会丢弃那些返回地址不同于其源地址的数据包:
  29. # echo 0 >; /proc/sys/net/ipv4/conf/eth1/rp_filter
  30. # echo 0 >; /proc/sys/net/ipv4/conf/eth2/rp_filter
  31. 包的乱序也是一个大问题。比如,有6个数据包需要从A发到B,eth1可能分到第1、3、5个包,而eth2分到第2、4、6个。在理想情况下,B路由器会按顺序收到第1、2、3、4、5、6号包。但实际上B路由器的内核很可能按照类似2、1、4、3、6、5这样的随机顺序收到包。这个问题会把TCP/IP搞糊涂。虽然在链路上承载不同的TCP/IP会话并没有问题,但你无法通过捆绑多个链路来增加一个ftp文件的下载速度,除非两端的操作系统都是Linux,因为Linux的TCP/IP协议栈不那么容易被这种简单的乱序问题所蒙蔽。
  32. 当然,对于大多数应用系统来说,链路的负载均衡是一个好主意。

  33. 10.2. 其它可能性
  34. William Stearns已经利用高级隧道来达到捆绑多重Internet连接的效果。可以在他的隧道网页找到。
  35. 本HOWTO将来可能更多地描述这个问题。
复制代码

论坛徽章:
0
6 [报告]
发表于 2003-02-17 18:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP