网桥
网桥工作在数据链路层,起到的作用是把多个局域网连接起来,组成更大的局域网。它的功能主要有两点:过滤和转发。
通常来看,网桥起到了把不同局域网连接在一起的作用,即使这些局域网使用不同的协议比如802.11和802.3。加入一个网桥连接一个802.3和一个802.11,那么网桥转发的时候首先需要把802.3的帧头拆掉,换成802.11的头,再转发给802.11使之适应无线局域网的帧格式。
我们来看看网桥的过滤和转发功能:
网桥连接着局域网LAN A和LAN B.那么如果主机1给主机2进行通信,1发送消息给网桥,网桥发现目标地址和原地址属于一个局域网,那么他就会过滤掉这个消息请求。如果1给11发送消息,网桥发现原地址和目的地址不属于同一个局域网,那么就进行转发功能,把来自LAN A的消息转发给LAN B. 这就是网桥的基本功能。
那么网桥怎么知道主机11是在LAN B上面的?这就涉及到一个非常重要的概念,过滤数据库。网桥把他知道的地址信息都存在这个过滤数据库里面,每次接收一个目的地址,就和数据库里面的数据进行比对,如果发现和源地址不在一个LAN就进行转发;如果在一个局域网下面就过滤掉这个信息。
过滤数据库是怎么工作的呢?它的转发规则是,网桥从x端口接收到一个帧:
①搜索数据库确定MAC地址是不是在一个端口port上面;
②如果没有找到这个MAC地址,那么把该帧泛洪flooding到所有端口(x除外);
③如果找到了MAC地址对应应该发往y端口,那么检查y,如果y不处于阻塞态,那么就 从y端口发送,如果是阻塞态,那么不发送。
④如果MAC地址对应的也是x端口,那么不发送,过滤掉这个信息。
这样网桥就能通过数据库来进行转发或者过滤了。但是我们知道,主机是可以移动的,也就是说它不一定一直待在某一个局域网下面。并且,每个局域网下面还可能会有新加入的主机,这些情况下过滤路由器就需要不断更新。数据库更新所用到的算法叫做后向学习算法。后向学习算法,顾名思义,就是网桥利用接收的帧的源地址进行学习。到达网桥某个端口的帧的源地址指明了来自那个入境LAN的方向,网桥就可以根据这个MAC地址来更新数据库。
举一个例子:网桥数据库最开始没有任何信息。主机1给网桥发送了一个数据帧(网桥用x端口接收),希望转发到LAN B里面的12主机(用端口y)。最开始网桥并不知道应该往哪里转发,因为数据库为空,所以只能泛洪,从y,z,w等等端口广播这个消息。自然12主机能收到这个消息。但是这个过程之后数据库中多了这么一个消息:主机1的MAC地址和如果想转发给A的数据应该通过x端口发送。这样加入12主机想给1主机发消息,网桥就不会泛洪flooding了,而是单单给x端口发送消息就行了,这就是网桥的后向学习算法。
相关阅读
20180625发布tor Browser_v7.5.6稳定版及20180625发布v8.0a9开发版。Tor Browser是tor官方发布的翻墙工具,及时首发最新的中文版
俗话说“不巧不成书”,这句话在现实中一次次的得到验证。在架构网络的过程中经常碰到这样的情况,网络节点已经用光,可现在又增加