Linux网桥介绍

网桥的功能类似于二层交换机,作用都是划分冲突域,它们之前且一些细微的差别,此处不展开。

Linux网桥作为一个特殊的网桥的实现,有一些自己的特点,因为没有看代码,只能从功能上简单分析一下。个人认为,Linux网桥与二层交换中最大的不同就是网桥对应一个虚拟网络设备,可以直接收发数据包。因为Linux设备本身也是一个主机,可以直接收发数据包,也可以直接接收数据包,这使得Linux网桥的功能有点类似于三层交换机。

Linux的网桥功能由bridge模块实现,在应用层可以使用brctl通过ioctl方式来操作该模块。

要使用网桥,先要创建一个网桥,使用如下命令:

#brctl addbr br0

即可创建一个名为br0的网桥,同时也会创建一个br0的虚拟网络设备。

下一步需要将从设备添加到网桥中,要注意的是,网桥只能绑定以太网设备,使用如下命令:

#brctl addif br0 eth0

#brctl addif br0 eth1

假设还有一个网络设备为eth2,那么现在网络结构如下图所示:

由上图可见,从设备已经不可以直接与网络层协议之间收发数据包,只能通过网桥来中转,所以此时从设备的IP地址已经不再有用。另外,将网络设备添加到网桥后,设备会工作于混杂模式,即接收目的地址为所有MAC地址的数据包,由网桥来判断该数据包要发往何处,因此从设备的MAC地址也不再有意义。网桥会选取它的从设备的MAC地址中最小的作为自己的MAC地址(鸠占鹊巢了)。

可以为网桥对应的虚拟设备添加IP地址,这样就把该设备加入到路由系统,并通过该设备直接收发数据包。

事实上,家用无线路由器一般都是LAN与WLAN(无线)都绑定到网桥上,这样,WLAN与LAN就属于一个局域网,它们都可以通过网桥来访问路由器主机(即路由器内部的Linux主机)的服务,主要也就是DHCP,用于配置路由器的Web Server,Samba Server等由路由器自身提供的服务。因为网桥只能绑定以太网设备,所以无线设备(athx)最终也是通过以太网设备连接到网桥的。

当网桥收到一个数据包时,它会根据自己学习到的MAC地址表决定将数据包发向哪个端口(即从设备),也有可能是直接通过自己的虚拟网络设备传递给上层协议栈。如果是广播包,则向所有端口转发,且复制一份给自己的虚拟网络设备。网桥接收到的每个数据包都是更新它的MAC地址表。

当网桥的虚拟网络设备要发包时,会根据MAC地址表决定要发往哪个端口中或者广播到所有端口。

好像不分析代码也没什么好写的了,那就这与这么多吧。

时间: 2024-08-05 22:03:52

Linux网桥介绍的相关文章

linux 网桥的配置与实现

==================================================================================from: http://www.ibm.com/developerworks/cn/linux/kernel/l-netbr/index.htmlALinux网桥的实现分析与使用文档选项未显示需要 JavaScript的文档选项 打印本页 将此页作为电子邮件发送级别: 初级祝顺民([[email protected]?subject

linux系统服务介绍

linux系统服务介绍 在windows系统中,我们可以打开任务管理器来打开或者关闭某些服务.在Linux系统下也同样有这样的需求,那么linux下怎么打开类似于windows下的"任务管理器"呢? linux系统下调整服务的启动和不启动有两种办法: 1.ntsysv命令 如果这个命令不存在 yum install -y ntsysv 安装好之后,截图如下: 进入到这个界面后,空格键来改变*和空,空就代表不启动 关闭一些不常用的服务 禁用: atd auditd haldaemon i

Linux入门介绍

Linux入门介绍 一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 Linux的应用 网络服务器 关键任务的应用(金融数据库.大型企业网管环境) 学术机构癿高效能运算任务 手持系统(PDA.手机.导航系统) 个人办公使用 Linux的吉祥物/Logo 企鹅(英文名:Tux),由来:因为Torvalds在小时候被企鹅咬过,因此印象非常深刻 在Linu

Linux Epoll介绍和程序实例

1. Epoll是何方神圣? Epoll但是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select类似,事实上都I/O多路复用技术而已,并没有什么神奇的. 事实上在Linux下设计并发网络程序,向来不缺少方法,比方典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型,那为何还要再引入Epoll这个东东呢?那还是有得说说

20140617-Windows连接Linux工具介绍

20140617-Windows连接Linux工具介绍 1.正常情况下都不会直接在Linux服务端进行操作,实际使用服务器和工作电脑不会在同一个地方,也不允许在服务器操作. 我这里用SecureCRT 7.0来连接服务器.提供个下载,带注册机工具: 安装完后进行注册,以管理员身份运行KEY,点patch,第一次找到程序的安装目录,选择"SecureCRT.exe"[确定],然后会自动弹出程序的配置文件目录,选"SecureCRTHelp.exe"文件[确定],接下来

linux rsync介绍(八)

[教程主题]:rsync [1] rsync介绍 Rsync(Remote Synchronize) 是一个远程资料同步工具,可通过LAN/WAN快速同步多台主机,Rsync使用所为的“Rsync演算法”来使本地主机和远程主机之间达到同步,这个演算法并不是每次都整份传送,它只传送两台计算机之间所备份的资料不同的部分,因此速度相当快. Rsync的优点如下: 1.可以镜像保存整个目录树和文件系统. 2.可以很容易的做到保持原来文件的许可权.时间.软链接等. 3.无须特使许可权即可安装. 4.拥有优

Linux的介绍

1 Linux的介绍和安装Linux是一套免费使用和自由传播的类Unix操作系统.Linux和iOS以及Mac OS X都是以Unix为核心的设计思想.Linux的系统主流是:RedHat和Cent OS. -Unix指令:pwd 显示当前目录或文件mkdir 创建目录rmdir 删除空目录 touch 创建空文件 rm 删除文件   -r同时删除所有文件 -f强制删除ls 列出当前文件和目录列表   ls-la常用参数:-l(long),-a(all),-t(time)mv 移动或者改名文件或

5.Linux软件包介绍

5.Linux软件包介绍 ·软件安装分为:1,rpm包安装,2,源码包安装, ·源代码形式: ·绝大多数开源软件都是直接以源代码形式发布,源代码一般会打包成tar.gz的归档压缩文件, ·程序源代码需要编译成为二进制形式之后才能够运行使用 ·源码包:用c语言写的,包括脚本安装包,安装较慢,一般安装在/usr/local下, ·rpm包:系统默认包,安装快,有安装默认位置, ·源代码基本编辑流程: ·1,./configure 检查编译环境,定义安装路径,相关库文件以及配置参数并声称makefil

Linux 网桥配置命令:brctl

Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联: 思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了.当然,因为是设备是网关模式,路由和nat也是必须的了.如果设备本身便是网桥模式,那么路由和nat便可以省掉了. brctl addbr bridge brctl addif bridge eth0 brctl addif bri