Linux 网卡驱动学习(九)(层二转发)

1、mac 地址表的自学习过程

port1上的A计算机要与port2上的B计算机通信时,A发到交换机上,交换机收到信息后,交换机先记录发port1所相应的a的mac地址并记录在自己的mac表中,然后再查收方B的mac是否在表中,若在mac地址表中,直接转发给B所相应的port2转发下去。假设不在mac表中,则向全部port广播出去。当B收到后会回应交换机转到A。在回应这个过程中,交换机就会把B的mac地址记录在mac表中,达到两方通信功能。

依此类推,交换机都是从发端学习到mac地址的,并在每5分钟后。假设port上连接计算机的mac地址没有信息交换,就把该port所相应的计算机的mac地址从交换机的mac地址表中清除。

以此来保障地址表的空间容量。

2、二层交换原理

  1. 接收网段上的全部数据帧;
  2. 利用接收到得数据帧的源MAC地址来建立MAC地址表(源地址自学习),使用更新和老化机制来进行地址表的维护。
  3. 在MAC地址表中查找数据帧中的目的地址。假设找到就将该数据发送到相应的port(不包含源port)。假设找不到,就向全部port(不包含源port)发送数据;
  4. 向全部port(不包含源port)转发广播报文和组播报文。

3、二层交换机的功能

具有MAC转发和vlan划分功能。

4、支持vlan的二层交换机

作用:划分广播域,抑制广播风暴;
Vlan:虚拟局域网,将一组位于不同物理网段上的用户和server从逻辑上划分成的终端站组。vlan之间全然隔离,就像是互不相连两台交换机一样,但不论什么二层流量都会跨越vlan的限制而转发到其它vlan中,vlan之间通过truckport互通。
二层交换机位于OSI模型的数据链路层。

通俗理解:
在一个局域网中某台PC须要訪问一个网址,那么发送一个数据帧首先到达的网络设备是二层交换机或HUB。二层交换机依据数据帧寻找訪问的mac地址是否在局域网中,假设在则直接发送到目的地址,假设不在。则网更高一层(网络层)的设备发送(网络层的设备主要是路由器),那么路由器将目的IP发送到网络上,寻找目的IP。

原文地址:https://www.cnblogs.com/jzssuanfa/p/7009665.html