linux网桥

news/2024/7/5 5:17:23

hzhsan: 本文中的linux网桥,是将多台真实的linux主机中的一台配制成网桥。和linux kvm虚拟机桥接上网方式的配制的网桥有所区别。(原理一样,只是一个是真实linux主机,另一个包含有虚拟主机)。



linux网桥

  •   linux网桥是一种以同种协议连接两个局域网的产品。可以把它看成是一个决定发送的包是到自己的局域网还是到另一个局域网的设备。linux网桥检查局域网上所有的包,在同一个局域网中传送它,如果不是同一个网中的,就将它发到别的网上。


linux网桥的原理

  •   网桥是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。一般情况下,被连接的网络系统都具有相同的逻辑链路控制规程(LLC),但媒体访问控制协议(MAC)可以不同。

      网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。 远程网桥通过一个通常较慢的链路(如电话线)连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。


linux网桥的功能

  •   网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务, 即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了 解是靠“自学习”实现的。

      当使用网桥连接两段LAN 时,网桥对来自网段1 的MAC 帧,首先要检查其终 点地址。如果该帧是发往网段1 上某一站的,网桥则不将帧转发到网段2 ,而将 其滤除;如果该帧是发往网段2 上某一站的,网桥则将它转发到网段2.这表明, 如果LAN1和LAN2上各有一对用户在本网段上同时进行通信,显然是可以实现的。 因为网桥起到了隔离作用。可以看出,网桥在一定条件下具有增加网络带宽 的作用。


linux网桥的使用

  •   要配置网桥,要网桥的配置工具bridge-utils。源代码可以在http://bridge.sourceforge.net/bridge-utils/ 下载。编译成功之后,生成网桥配置的工具名称为brctl。

      配置说明:

                                                                                            有五台主机。其中一台主机装有linux ,安装了网桥模块,而且有四块物理网卡,分别连接同一网段的其他主机。我们希望其成为一个网桥,为其他四台主机(IP分别为192.168.1.2 ,192.168.1.3,192.168.1.4,192.168.1.5) 之间转发数据包。同时,为了方便管理,希望网桥能够有一个IP(192.168.1.1),那样管理员就可以在192.168.1.0/24网段内的主机上telnet到网桥,对其进行配置,实现远程管理。

      我们为这个逻辑网段一个名称,br_192。首先需要配置这样一个逻辑网段。

      # brctl addbr br_192            (建立一个逻辑网段,名称为br_192)

      实际上,我们可以把逻辑网段192.168.1.0/24看作使一个VLAN ,而br_192则是这个VLAN的名称。

      建立一个逻辑网段之后,我们还需要为这个网段分配特定的端口。在Linux中,一个端口实际上就是一个物理网卡。而每个物理网卡的名称则分别为 eth0,eth1,eth2,eth3。我们需要把每个网卡一一和br_192这个网段联系起来,作为br_192中的一个端口。

      # brctl addif br_192 eth0            (让eth0成为br_192的一个端口)

      # brctl addif br_192 eth1            (让eth1成为br_192的一个端口)

      # brctl addif br_192 eth2            (让eth2成为br_192的一个端口)

      # brctl addif br_192 eth3            (让eth3成为br_192的一个端口)

      网桥的每个物理网卡作为一个端口,运行于混杂模式,而且是在链路层工作,所以就不需要IP了。

      # ifconfig eth0 0.0.0.0

      # ifconfig eth1 0.0.0.0

      # ifconfig eth2 0.0.0.0

      # ifconfig eth3 0.0.0.0

      然后给br_192的虚拟网卡配置IP:192.168.1.1。那样就能远程管理网桥。

      # ifconfig br_192 192.168.1.1

      给br_192配置了IP之后,网桥就能够工作了。192.168.1.0/24网段内的主机都可以telnet到网桥上对其进行配置。

      以上配置的是一个逻辑网段,实际上Linux网桥也能配置成多个逻辑网段(相当于交换机中划分多个VLAN)。具体的方法可以参考bridge-util中的HOWTO


linux网桥的设置步骤

  •   1、创建网桥设备 br0:

      brctl addbr br0

      2、向br0中添加网卡:

      eth0  eth1

      brctl addif eth0

      brctl addif eth1

      3、从网桥中删除网卡:

      eth0 eth1

      brctl delif eth0

      brctl delif eth1

      4、删除网桥 br0 :

      brctl  delbr  br0


linux网桥的工作流程

  •   1. 检查收到的信号,解释0和1的含义,并找出帧中的目的MAC地址。

      2. 如果具有该目的的MAC地址的帧能够通过网桥上不同的接口到达目的地(不是帧到达网桥的那个接口),则通过重新生成信号来传输这帧。(这个过程叫做转发。)

      3. 如果该帧到达的接口就是目的地址可达到的端口,则丢弃该帧。(这个过程叫做过滤。)


本文转自:http://wiki.dzsc.com/info/8659.html#dzt30699

http://www.niftyadmin.cn/n/3653054.html

相关文章

发现CSDN给我开了一个专栏!

参考这里:http://blog.csdn.net/group/csdner/

Linux内核网桥的实现分析

Linux内核网桥的实现分析 Linux 内核分别在2.2 和 2.4内核中实现了网桥。但是2.2 内核和 2.4内核的实现有很大的区别,2.4中的实现几乎是全部重写了所有的实现代码。本文以2.4.0内核版本为例进行分析。 在分析具体的实现之前,先描述几个概念,有…

如何修复:Windows上面的WScript的脚本(.vbs)不能执行了?

错误描述:当执行用VBScript写的WScript脚本时,出现了下面的错误: There is no script engine for file extension ".vbs". 或是 找不到 .vbs 的执行引擎修复方法: 找到%WINDIR%/INF/WSH.inf&#xff0…

KVM虚拟机网络配置 Bridge方式,NAT方式

摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。Bridge方式的配置原理和步骤。Bridge方式适用于服务器主机的虚拟化。NAT方式适用于桌面主机的虚拟化。 nat 的网络结构图: bridge 的网络结构见图: Bridge方式 问题…

专用来回TOO OLD的用的火星帖,今天翻出来又再感叹一下!

楼主其实也是一番好意,他发出这样的帖子主要是为了让大家开心,只不过帖子本身的快慢没有赶上时代的步伐,这个也不全怪他。回帖的同学们还请克制,不要有太多不满和火气。其实只要记得没事的时候老来,每个星期都坚持在坛…

vlan原理详解,vlan功能及优点,vlan配制命令

VLAN工作原理及优点 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就…

提心吊胆地安装了Windows 2003 Service Pack 1,还好...没有出现什么异常!

看了网上说安装了Windows 2003 Service Pack 1后会有种种问题,一直都不敢安装, 但是安全问题还是要考虑滴...憋了良久,还是决定试一把...洗完手出来后,重启...登入...安装...完成后...检测了所有的程序,未见异常&#…