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

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

端口1上的A计算机要与端口2上的B计算机通信时,A发到交换机上,交换机收到信息后,交换机先记录发端口1所对应的a的mac地址并记录在自己的mac表中,然后再查收方B的mac是否在表中,若在mac地址表中,直接转发给B所对应的端口2转发下去,如果不在mac表中,则向所有端口广播出去,当B收到后会回应交换机转到A,在回应这个过程中,交换机就会把B的mac地址记录在mac表中,达到双方通信功能。依此类推,交换机都是从发端学习到mac地址的,并在每5分钟后,如果端口上连接计算机的mac地址没有信息交换,就把该端口所对应的计算机的mac地址从交换机的mac地址表中清除。以此来保障地址表的空间容量。

2、二层交换原理

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

3、二层交换机的功能

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

4、支持vlan的二层交换机

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

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

你可能感兴趣的:(层二转发)