曲径通幽论坛

标题: br0 是什么? [打印本页]

作者: beyes    时间: 2015-1-7 23:40
标题: br0 是什么?
br0 是内核虚拟的一个用来实现桥接的网桥设备,该虚拟设备可以绑定若干个以太网接口设备,从而将它们桥接起来,如下图所示:
[attach]3957[/attach]

Linux 内核支持网口的桥接,但与单纯的交换机不通。普通交换机只是个二层设备,对于收到的报文,要么转发,要么丢弃。小型交换机里只需要一块交换芯片即可,并不需要 CPU。但运行着 linux 内核的机器本身就是一台主机,有可能就是网络报文的目的地,所以对于收到的报文除了转发和丢弃,还可能将其送到网络协议栈的上层(网络层),从而被自己消化。

下面是在一台装有嵌入式 linux 系统的路由上使用 ifconfig 的打印结果(部分),这里可以看到 br0 的身影:
[attach]3958[/attach]


网桥设备 br0 绑定了 eth0 和 eth1。对于网络上层协议来说,只看到 br0,因为桥接是在数据链路层实现的,而上层并不需要关心桥接的细节。于是上层协议栈需要将发送的报文送到 br0,网桥设备的处理代码再进行判断报文是转发到 eth0 还是 eth1 上,或者两者皆是;反过来,从 eth0 或 eth1 上接收到的报文也会被提交到网桥的处理代码,在这里会判断报文是转发,还是丢弃,或者是提交到协议栈上层。

有时候 eth0 和 eth1 可能会作为报文的源地址或目的地址,直接参与报文的发送与接收(绕过网桥)。

网桥有两个重要特点:1 是 MAC 地址学习;2 是报文转发。





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2