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內廣播;