交换网络-二层转发
OSI七层模型
其中二层即数据链路层,主要设备涉及交换机及网桥,当然还有其他的二层设备,无论何种设备他们都遵守二层转发的原理;

真实的数据包转发时,是经由下图顺序转发完成:

以太网帧(802.1D-RFC894)
目的地址及源地址为MAC地址,长度6bytes;类型标记三层协议类型,如ARP及IP等;数据长度在46-1500之间,小于46补零;CRC即4字节帧检测序列,由前一个数据根据一定算法生成;

其中,MAC地址前24位为厂家限定,单播MAC第1字节的最后一位为0,多播为1,Brocast为FF-FF-FF-FF-FF-FF;
冲突域与广播域
冲突网络(冲突域):连接在同一个到导线上的所有工作站点集合,一个节点发出的报文其余节点都能收到,从而产生冲突;
广播网络(广播域):限制以太网广播报文的范围,一个站点发送一个广播报文其余站点都可以收到;
转发规则
基于MAC地址转发:主要是根据原MAC、目的MAC、MAC地址表进行业务转发;
基于VLAN转发:为了解决广播域的问题引入了VLAN机制进行隔离;
基于MAC地址转发
拓扑: A(PC-ip 10.1.1.1)----[Switch]------B(PC-ip 10.1.1.2)
A向B发报文的流程如下:
- A首先检查自己的ARP表(arp -a可以查看),发现没有B的ip地址对应的MAC地址,这时候A会构造ARP报文并发送,报文类似<ff*6|A‘s MAC|I am 10.1.1.1 who has 10.1.1.2's MAC|CRC>;
- Switch收到A发送的报文后,检查自身维护的FDB表(Forwarding Table,表项为mac与port的map),发现没有源即A的mac,so新建map,目的地址为广播地址,则会向除源端口外的所有接口广播;
- 其他设备即IP地址不是10.1.1.2的设备收到该帧会在ARP表项中加入,,B收到后,建立map并发送回复报文,报文类似<A's MAC|B's MAC| data|CRC>;
- Switch收到B发送的报文后,检查自身维护的FDB表(Forwarding Table,表项为mac与port的map),发现没有源即B的mac,so新建map,发现有A的map,so按照map的端口转发;
- A收到B的回复后,在ARP表中新建map,可以正常的开始报文的转发了;
但是,使用802.1d的标准来转发就是在网络规模大的时候,过多的广播报文会占用大量的带宽,造成资源的浪费,so更多的我们使用VLAN转发;
VLAN的基本概念
802.1Q的帧格式: Type(Q标准固定为0x8100);PRI即priority长度为3bit(0-7,越大越优),拥塞时,优的走;CFI标志位,0为以太网,1为如令牌环等其他帧;VID(0-4095),0与4095保留;

VLAN中的三种接口配置模式
共三种模式,access,trunk,hybird,针对收发报文的处理,如下表:

MAC地址的学习方式

SVL方式的二层交换机
SVL(Shared VLAN Learning)方式的二层交换机在学习MAC地址并建立MAC地址表的过程中并不附加VLAN ID,或者说它的MAC地址表是为所有VLAN共享使用的。它的二层转发基本流程如下:
(1)根据接收到的以太网帧的源MAC信息添加或刷新MAC地址表项;
(2)根据目的MAC信息查找MAC地址表,如果没有找到匹配项,那么在报文对应的VLAN内广播;
(3)如果找到匹配项,但是表项对应的端口并不属于报文对应的VLAN,那么丢弃该帧;
(4)如果找到匹配项,且表项对应的端口属于报文对应的VLAN,那么将报文转发到该端口,但是如果表项对应端口与收到以太网帧的端口相同,则丢弃该帧。
这种类型的二层交换机转发与普通二层交换机转发基本相同,只是多了转发过程中的VLAN检查。这样的交换机可能遇到下述问题:位于不同VLAN的主机(或网络设备)具有相同的MAC地址,由于SVL交换机所有VLAN共享一个MAC表,这样对应的MAC表项中端口就会不断的变化,而且两个VLAN的报文转发也会受到影响。
在实际应用中,SVL方式的二层交换机已经比较少见了。
IVL方式的二层交换机
IVL(Independent VLAN Learning)方式的交换机在学习MAC地址并建立MAC地址表的过程中同时附加VLAN ID,同一个MAC地址可以出现在不同的VLAN中,这样的方式也可以理解为每个VLAN都有自己独立的MAC地址表。它的二层转发基本流程如下:
(1) 根据接收到的以太网帧的源MAC+VLAN-ID信息添加或刷新MAC地址表项;
(2) 根据目的MAC+VLAN-ID查找MAC地址表项,如果没有找到匹配项,那么在VLAN-ID对应的VLAN内广播;
(3) 如果能够找到匹配表项,则向表项所示的对应端口转发,但是如果表项所示端口与收到以太网帧的端口相同,则丢弃该帧。
IVL方式的二层交换机转发流程更加清晰,VLAN之间不会互相影响,目前实际应用中的二层交换机大多采用这种方式。
问题:
1、二层交换出现环路会有什么影响?
-----对于MAC表中存在的报文,会出现MAC地址表刷表,导致业务中断;对于广播报文,会出现物理带宽被占满,最终导致业务中断。
2、如何避免环路?
-----第一物理链路避免,第二使用SIP等生成树协议,阻止二层交换成环。
end
参考:https://www.cnblogs.com/xuanxuanBOSS/p/11207397.html

浙公网安备 33010602011771号