Linux bridge

原文地址:http://linux.chinaitlab.com/kernel/836035.html

linux内核通过一个虚拟的网桥设备(net_device)实现桥接,这个设备可以绑定若干个以太网接口设备,从而将它们桥接起来。

网桥设备br0绑定了eth0和eth1,对于网络协议栈的上层来说,只看得到br0,因为桥接是在数据链路层实现的,上层不需要关心桥接的细节,对于协议栈上层需要发送的报文就被送到br0,网桥设备的处理代码判断该报文被转发到eth0或eth1,或两者皆是,反过来,从eth0或eth1接收到的报文被提交给网桥的处理代码,在这里会判断该报文的转发,丢弃或者提交到上层网络,当然eth0,eth1也可以作为报文的源地址或目的地址,直接参与报文的发送与接收,从而绕过网桥。

相关的数据结构


最左边的net_device是代表一个网桥的虚拟设备结构,它关联了一个net_bridge结构,这是网桥设备所特有的数据结构,在net_bridge中,port_list成员下挂

 

posted on 2022-02-24 11:33  sudochen  阅读(167)  评论(0编辑  收藏  举报

导航