• brctl 使用说明


    [root@localhost ~]# yum install bridge-utils -y

    Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联:

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

    [root@localhost network-scripts]# cat ifcfg-br0    为br0配置地址
    DEVICE
    =br0 TYPE=Bridge ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.225 NETMAST=255.255.255.0 GATEWAY=192.168.1.1 DNS1=114.114.114.114 DNS2=8.8.8.8
    [root@localhost network-scripts]# cat ifcfg-ens33 
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=9da7ddfe-2ec2-4ded-b740-7b9e118a9a60
    DEVICE=br0
    [root@localhost network-scripts]# brctl addif br0 ens33  添加网卡到br0桥上。
    [root@localhost ~]# ifconfig br0 up
    [root@localhost ~]# ifconfig
    br0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.1.225  netmask 255.255.255.0  broadcast 192.168.1.255
            ether 02:70:12:bd:40:96  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::885a:f962:4b2f:e282  prefixlen 64  scopeid 0x20<link>
            inet6 2409:8a0c:4c:510:2192:ed46:7b7a:573a  prefixlen 64  scopeid 0x0<global>
            ether 00:0c:29:f0:61:cb  txqueuelen 1000  (Ethernet)
            RX packets 498  bytes 41755 (40.7 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 268  bytes 47290 (46.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 72  bytes 6302 (6.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 72  bytes 6302 (6.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    linux下brctl配置网桥

    [root@localhost ~]# brctl addbr br0    增加网桥
    [root@localhost ~]# brctl stp br0 off    关闭stp
    [root@localhost ~]# brctl addif br0 ens33   把esn33加入网桥。现在,原来我们的两个以太网物理接口变成了网桥上的一个逻辑端口。那个物理接口过去存在,未来也不会消失。要不信的话,去看看好了。 .现在他们成了逻辑网桥设备的一部分了,所以不再需要IP地址。下面我们将这些IP地址释放掉

    关闭网桥命令

    brctl delif br0 ens33
     ifconfig br0 down;

    一、什么是桥接

           桥接工作在OSI网络参考模型的第二层数据链路层,是一种以MAC地址来作为判断依据来将网络划分成两个不同物理段的技术,其被广泛应用于早期的计算机网络当中。
           我们都知道,以太网是一种共享网络传输介质的技术,在这种技术下,如果一台计算机发送数据的时候,在同一物理网络介质上的计算机都需要接收,在接收后分析目的MAC地址,如果是属于目的MAC地址和自己的MAC地址相同便进行封装提供给网络层,如果目的MAC地址不是自己的MAC地址,那么就丢弃数据包。
           桥接的工作机制是将物理网络段(也就是常说的冲突域)进行分隔,根据MAC地址来判断连接两个物理网段的计算机的数据包发送。
    下面,我们举个例子来为各位网友讲解:在下图中的网络结构中,有两台集线器分别连接多台计算机,我们分别将A集线器和B集线器定为A冲突域和B冲突域。在这样的网络环境中,如果计算机A向计算机C发送数据包时,集线器A会将数据包在整个网络中的全部计算机(包括集线器B)发送一遍,而不管这些数据包是不是需要发送到另一台区域B。

     我们再将集线器A和集线器B分别连接到网桥的两个端口上,如果计算机A再向计算机C发送数据包时会遇到什么样的情况呢?这时集线器A也是同样会将数据包在全网发送,当到达网桥后,网桥会进行数据包目的MAC地址的分析,然后对比自己学习到的MAC地址表,如果这个表中没有此MAC地址,网桥便会在两个网段上的发送数据包,同时会将计算机A的MAC地址记录在自己的表当中。
           经过多次这样的记录,网桥会将所有的MAC地址记录,并划分为两个段。这时计算机A再次发送数据包给B的时候,因为这两台计算机同处在一个物理段位上,数据包到达网桥时,网桥会将目的MAC地址和自己的表进行对比,并且判断计算机A和计算机B在同一个段位上,便不会转发到区域B当中,而如果不在同一个物理段当中,网桥便会允许数据包通过网桥。
           通过以上的例子我们了解到,网桥实际上是一种控制冲突域流量的设备。网桥现在基本上已经很少用到了,除了隔离冲突域以外,网桥还可以实现不同O类型网络的连接(令牌环网和以太网之间的连接)和网络的扩展(IEEE的5.4.3连接规则)等等功能。
    二、什么是交换
           交换同样工作在OSI网络参考模型的第二层数据链路层,也是一种以MAC地址来作为判断依据来将网络划分成两个不同段的技术,不同的是交换将物理网段划分到每一个端口当中,简单的理解就是一种多端口的网桥,它实际上是一种桥接技术的延伸。
           在前面的了解当中,我们已经知道桥接是连接两个不同的物理网段(冲突域)的技术,交换是连接多个物理网段技术,典型的交换机通常都有多个端口,每个端口实际上就是一个网桥,当连接到交换机端口的计算机要发送数据包时,所有的端口都会判断这个数据包是否是发给自己的,如果不是就将其丢弃,这样就将冲突域的概念扩展到每个交换机端口上。
           我们还是举例为大家说明,在下面的图中,我们可以看到计算机A、B分别连接到交换机的不同端口当中,当计算机A向B发送数据包时,假设这时A端口并没有学习到B端口的MAC地址,这时,A端口便会使用广播将数据包发送到除A端口以外的所有端口(广播域),当其他计算机接收到数据包后会与自己的MAC地址进行对比,然后简单的丢弃数据包;当B接收到数据包后,通过对比后接收数据包,并且记录源地址。通过反复这样的学习,交换机会构建一个基于所有端口的转发数据库,存储在交换机的内容可寻址存储器当中(CAM)。

       在交换机学习到所有端口的信息后,计算机A再次发送数据包给B时,就不再广播地址,而是直接发送到转发数据库中所对应的B端口。通过这样的学习,在交换机上实现了微分段,每个连接到交换机端口的计算机都可以独享带宽。

    三、什么是路由
           路由工作在OSI参考模型的第三层网络层当中,它是基于第三层的IP地址信息来作为判断依据来将网络划分成不同段(IP子网)的技术,与桥接和交换不同,路由划分的是独立的逻辑网段,每个所连接的网段都具有独立的网络IP地址信息,而不是以MAC地址作为判断路径的依据,这样路由便有隔离广播的能力;而交换和桥接是划分物理网段,它们仅仅是将物理传输介质进行分段处理。同时路由具备路径选择的功能,会根据不同的目的IP地址来分析到达目的地最合适的路径。
           在下图中,我们看到路由器所连接了三台交换机,这三台交换机分别被划分为三个不同的子网地址段:192.168.0.0、192.168.1.0、192.168.3.0。当计算机A向B发送数据包时,在不知道到达B的路径时,交换机A会将数据包在自己所在的段上全网广播,当到达路由器中,路由器便不会再广播这个数据包,它根据路由协议的规则来判断到达B应该选择将其转发到那个段上,这时便会将数据包转发到对应的IP地址段当中,而不广播到不需要这个数据包的C网段当中。如果路由器中没有规则定义到达目的IP地址的路径时,它会直接丢弃这个数据包。

      路由器主要有路径选择和数据转发两个基本功能,但在很多场景下,路由器一般都承担着网关的角色。在国内,我们通常都是采用PPPOE拨号或者静态路由两种方式实现局域网共享上网。这时,路由器主要的功能是实现局域网和广域网之间的协议转换,这同样也是网关的主要用途。

    四、三者之间的区别
    1、位于参考模型的层数不同
           在开放系统互联参考模型当中,网桥和交换机都是位于参考模型的第二层-数据链路层,而路由器则位于更高一层-网络层。
    2、基于的路径判断条件不同
           由于位于OSI参考模型的层数不同,所以使交换机、网关这两种设备判断路径的条件也不相同,网桥和交换机是根据端口的MAC地址来判断数据包转发,而路由器则使用IP地址来进行判断。
    3、控制广播的能力不同
           网桥和交换机(三层交换机或支持VLAN功能的除外)这两种设备是无法控制网络的广播,如果有广播数据包,就会向所有的端口转发,所以在大的网络环境当中,必须得要有路由器来控制网络广播。
    4、智能化程度不同
           在判断数据的时候,网桥只能判断是否在同一个物理网段,交换机则可以判断数据包是属于那个端口,但是这两种设备都没有选择最优路径的能力,而路由器基于IP地址判断路径,所以会根据IP地址信息来判断到达目的地的最优路径。
     
    五、三者的不同应用场景及未来发展
           在现实的应用环境当中,网桥已经基本上不会被使用了,在中小型的局域网当中,最常用到的组网设备便是交换机,是否选择路由器会根据网络的规模和功能来决定,在大型网络中,路由器是必须的,用来控制广播,但是由于技术的不断延伸,交换机也被集成了基于IP地址判断路径及控制广播的功能,所以,路由器现在逐步在被可路由式交换机所取代。
           前面提到,路由器在很多场景下都是被用过网关,所以,随着宽带技术的迅速发展,在最末一公里,一种新兴的设备-宽带路由器将会逐步取代传统路由器来实现网络的接入功能。
           相信通过上面的介绍,大家对于网桥、交换、路由及网关的功能有了更清晰的了解!
  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/liujunjun/p/12166137.html
Copyright © 2020-2023  润新知