zoukankan      html  css  js  c++  java
  • 网桥原理及使用

    网桥工作原理

        网桥是一种两端口的二层网络设备,用来实现同一个IP网段的不同物理子网段之间的互联互通。网桥所沟通的那些机器都是属于同一个IP网段,但是这些机器可能又在物理上分成了多个部分,比如一部分连接到某个集线器,另一部分连接到另外一个集线器。

        网桥与集线器相比具有可以隔离冲突域的优势:集线器是所有的网口共享背板带宽,数据包在各个网口之间广播;而网桥可以做到只有数据包的目的地址位于另一边的物理网络上,才转发到另一边网口,从而隔离冲突域。后来网桥被具有更多端口、同时也可以隔离冲突域的交换机取代。

        网桥有两个端口,一个端口连接一个网络设备,比如主机或者集线器,它将两个端口所连接的两部分网络进行沟通,具体做法是:
        网桥内部维护MAC地址表,MAC地址表保存MAC地址和该MAC地址的机器所在的物理网络连接的网桥口。
        当数据包到达网桥口A的时候,根据数据包的目的MAC地址查找MAC地址表,如果该数据包的目的MAC对应的网桥口为A,则网桥不进行转发处理;如果该数据包的目的MAC对应的网桥口为B,则网桥将该数据包转发到B口;如果在MAC地址表中找不到表项,则也转发到口B,进行学习。

    那么,网桥的MAC地址表是如何建立起来的呢?和交换机等网络设备类似,网桥也可以对地址进行学习。网桥启动时,内部的MAC地址表为空;之后进入如下学习过程:
    当有机器C1发的数据包到达网桥口A时,说明C1的MAC地址对应的网桥口为A,如果该数据包的源MAC地址不在MAC地址表中,则插入一条新的C1的MAC地址对应网桥口A的记录;然后网桥根据目的MAC地址进行转发或者不处理。每当有数据包到达网桥口时,网桥都会进行更新数据包源MAC地址对应的网桥口,这样一段时间之后,网络里所有的机器MAC地址都会被学习到。

    linux下网桥设置

    linux系统支持软件方式搭建网桥,且网桥可以连接不止两个机器的网卡设备,但是连接到同一个网桥的那些网卡设备的IP地址必须在同一个网段!
        首先安装网桥管理软件 brctl
    brctl addbr br0 ( 建立一个逻辑网段,名称为br0)
    brctl delbr br0 删除网桥
    brctl addif br0 eth0 (让eth0 成为br0 的一个端口)
    brctl addif br0 eth1 ( 让eth1 成为br0 的一个端口)
    brctl addif br0 eth0 ( 让eth2 成为br0 的一个端口)
    brctl addif br0 eth3 ( 让eth3 成为br0 的一个端口)
    brctl delif br0 eth0

  • 相关阅读:
    MySql 获取当前节点及递归所有上级节点
    MySql创建树结构递归查询存储过程
    F2工作流引擎Web层全新扁平化UI上线
    F2工作流引擎参与者类型成员的交、并、互拆计算规则
    F2工作流引擎之组织用户模型(四)
    F2工作流引擎之 工作流运转模型(三)
    F2工作流引擎之 概述(一)
    离线安装docker,并导入docker镜像
    sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set 的解决办法
    yml 文件中使用环境变量
  • 原文地址:https://www.cnblogs.com/gtarcoder/p/6415912.html
Copyright © 2011-2022 走看看