IVL(independent vlan learning)每个vlan建一个表,看起来好像有很多表,其实这里所说的表是指逻辑上的表,实际上在交换机中还是只有一个表。如果将VID相同的记 录都提取出来组成一个表,那么一个物理上的表在逻辑上就可以认为是多个表了。
在MAC表中以MAC+VID为主键进行储存。这样,同一个MAC就可能由于VID的不同而在MAC表中存在多条记录。
1.根据MAC+VID在MAC表中寻找,找不到转3 2.向找到的port转发packet,end. (但是如果表项所示端口与收到以太网帧的端口相同,则丢弃该帧。) 3.向packet携带的vid对应的整个VLAN的port转发,end.
SVL(shared valn learning)在MAC表中以MAC为主键进行储存,也就是说同一个MAC在SVL方式下只能存在一个记录在MAC表中。(有缺点很少使用,位于不同VLAN的主机(或网络设备)具有相同的MAC地址,由于SVL交换机所有VLAN共享一个MAC表,这样对应的MAC表项中端口就会不断的变化,而且两个VLAN的报文转发也会受到影响)
1.在MAC中先根据MAC寻找相应的记录,找不到转4 2.记录中的VID与packet中携带的VID一样,得到相应的port;不一样转5 3.将packet转发到相应的port,end. 4.向packet携带的vid对应的整个VLAN的port转发,end. 5.drop,end.
IVL模式是独享式的MAC地址学习模式,各个VLAN内学习到的MAC地址为各个VLAN所有,不会共享给 其他VLAN。
SVL模式是共享式MAC地址学习模式,某一个VLAN学习到的MAC会被其他所有VLAN共享使用
L2FDB表中MAC地址通过老化机制来更新
在转发的过程中,不会对帧的内容进行修改
转发流程角度
a、对于支持IVL的交换机,转发流程分以下几步:
根据帧内Tag Header的VLAN ID查找L2FDB表,确定查找的范围;
根据目的MAC查找出端口
如果在L2FDB表中查找不到该目的MAC,则该报文将通过广播的方式在该VLAN内所有端口转发;
同时该以太网帧的源MAC将被学习到接收到报文的端口上
b、对于支持SVL的交换机,转发流程分以下几步
根据帧的目的MAC查MAC转发表(即L2FDB),查找相应的出端口。
判断出端口的VLAN ID和报文Tag Header内的VLAN ID是否匹配,匹配则转发,不匹配则丢弃;
如果在L2FDB表中查找不到该目的MAC,则判断出端口的VLAN ID和报文Tag Header内的VLAN ID是否匹配,不匹配直接丢弃;匹配则在该VLAN内广播;
a、对于支持IVL的交换机,转发流程分以下几步:
根据帧内Tag Header的VLAN ID查找L2FDB表,确定查找的范围;
根据目的MAC查找出端口
如果在L2FDB表中查找不到该目的MAC,则该报文将通过广播的方式在该VLAN内所有端口转发;
同时该以太网帧的源MAC将被学习到接收到报文的端口上
b、对于支持SVL的交换机,转发流程分以下几步
根据帧的目的MAC查MAC转发表(即L2FDB),查找相应的出端口。
判断出端口的VLAN ID和报文Tag Header内的VLAN ID是否匹配,匹配则转发,不匹配则丢弃;
如果在L2FDB表中查找不到该目的MAC,则判断出端口的VLAN ID和报文Tag Header内的VLAN ID是否匹配,不匹配直接丢弃;匹配则在该VLAN内广播;