免费注册 查看新帖 |

Chinaunix

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

[bridge]加入到bridge中的interface能直接与ip层通信吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-20 21:23 |只看该作者 |倒序浏览
如果router的一个物理接口eth0加入到了brige中,比如

  1. brctl addif br0 eth0
复制代码


同时router这个物理接口eth0又在route表中有一个表项,比如

  1. 175.18.214.0    *               255.255.255.0   U     0      0        0 eth0
复制代码


那么,当router匹配到一个要出去的packet应该走这条路由表项时,会把packet从L3直接传到这个eth0的driver中吗?


我看了下kernel代码(2.6.8),好像没有找到特殊处理。但我实际试验的情况是:eth0并没有把packet发送出去。(关于这个场景的具体情况,请参看链接:http://linux.chinaunix.net/bbs/thread-1084063-1-1.html

请各位大虾指点,谢谢谢谢~~

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2009-03-20 21:29 |只看该作者
如果使用桥模式的话,应该是二层的转发方式,还会用到路由表吗?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
3 [报告]
发表于 2009-03-20 21:33 |只看该作者
如果router的一个物理接口eth0加入到了brige中,比如

作为一个桥,至少得有两个物理接口接到这个桥里面吧

论坛徽章:
0
4 [报告]
发表于 2009-03-20 21:34 |只看该作者
原帖由 Godbach 于 2009-3-20 21:29 发表
如果使用桥模式的话,应该是二层的转发方式,还会用到路由表吗?


具体情况没这么简单,如果斑竹感兴趣,可以看下这个http://linux.chinaunix.net/bbs/thread-1084063-1-1.html

抛开其他不谈,如果是router本身发出的packet,到L3时肯定会查找路由表吧,这时如果匹配到eth0这个interface,会有什么样的情况产生呢?

论坛徽章:
0
5 [报告]
发表于 2009-03-20 21:35 |只看该作者
原帖由 Godbach 于 2009-3-20 21:33 发表

作为一个桥,至少得有两个物理接口接到这个桥里面吧

是的,有,只是我这里没写出来。
实际上router的wan口和lan口都在br0里。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
6 [报告]
发表于 2009-03-20 21:41 |只看该作者
原帖由 new_learner 于 2009-3-20 21:35 发表

是的,有,只是我这里没写出来。
实际上router的wan口和lan口都在br0里。


那么在桥模式下,wan口和lan口应该没有IP。他们会根据交换机的方式转发报文吧。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2009-03-20 21:42 |只看该作者
其实前两天我也在想这个问题,研究一下桥模式。

论坛徽章:
0
8 [报告]
发表于 2009-03-20 21:47 |只看该作者
原帖由 Godbach 于 2009-3-20 21:41 发表


那么在桥模式下,wan口和lan口应该没有IP。他们会根据交换机的方式转发报文吧。


不好意思,可能我没有说清楚。
我在这里把具体情况再说下吧,拓扑如下:


中间设备是router,route表如下:

  1. > route show

  2. Kernel IP routing table
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  4. 192.168.1.1     175.18.214.8    255.255.255.255 UGH   0      0        0 eth0
  5. 175.18.214.0    *               255.255.255.0   U     0      0        0 eth0
  6. 192.168.1.0     *               255.255.255.0   U     0      0        0 br0
  7. default         175.18.214.8    0.0.0.0         UG    0      0        0 eth0
复制代码


router中的bridge配置如下:

  1. > brctl show
  2. bridge name     bridge id               STP enabled     interfaces
  3. br0             8000.00904cc004b1       no              wl0
  4.                                                         eth1.2
  5.                                                         eth1.3
  6.                                                         eth1.4
  7.                                                         eth1.5
  8.                                                         eth0
复制代码


eth0是wan口,eth1.2, eth1.3, eth1.4, eth1.5是四个lan口。
这时我从lan侧pc上发起ping命令:

  1. ping 175.18.214.8
复制代码


ping包首先会到达router的ip层,router的ip层发现目的ip是175.18.214.8,会route这个包。router会先去查找路由表,根据前面我贴出来的路由表信息,router会匹配到这一条:

175.18.214.0    *               255.255.255.0   U     0      0        0 eth0

那么ip层经过snat以后,就会把ping包传到eth0这个物理接口,但我在wan侧PC上抓包,并没有抓到ping包过来。我又在router的 ip层的ip_finish_output2()函数里加入打印信息,router的ip层的的确确把ping包发出来了。所以我觉得router没有把 ping包从L3扔到L2。

我想问的是,router在这种特定配置下(wan口的物理eth0加入到了br0中),为什么L3不会把packet传到物理接口eth0?
我看了下kernel代码,也没有看到什么特殊处理,不知道是不是我哪里没有理解正确?

[ 本帖最后由 new_learner 于 2009-3-20 22:01 编辑 ]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
9 [报告]
发表于 2009-03-20 21:50 |只看该作者
你这路由器是一个3层的路由器吧,可以用作2层的交换机吗。

你将接口加入到brg0之后,还给这个接口配置IP了吗

论坛徽章:
0
10 [报告]
发表于 2009-03-20 21:50 |只看该作者
原帖由 Godbach 于 2009-3-20 21:42 发表
其实前两天我也在想这个问题,研究一下桥模式。

因为这两天在帮同事看一个bug,跟到这里我就卡住了。。。。
在kernel代码里找了半天,好像也没有发现L3发包时对加入bridge的物理interface有啥特殊的处理。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP