二层转发原理详解(二)

二、二层转发原理
 
2、VLAN转发原理及流程
说明:为了解决转发原理(一)中提到的802.1d存在的问题,就引入了VLAN技术(Virtual Local Area Network),即虚拟局域网技术。通过vlan划分广播域解决802.1d的问题。
特点:①相同vlan内的主机可以任意通信。 ②不同vlan的主机在二层就可以完全隔离。
 
VLAN的基本概念
 
     1)VLAN帧结构概述
      802.1Q帧格式是现在使用最广泛的VLAN协议标准,许多厂家的交换机路由器都支持IEEE 802.1Q标准。
      2)802.1Q标准的VLAN帧格式
 
802.1QTag的长度是4bytes,它位于以太网帧中源MAC地址和长度/类型之间。802.1QTag包含4个字段。
 
Type:长度为2bytes,表示帧类型,802.1Qtag帧中type字段取固定值0x8100,如果不支持802.1Q的设备收到802.1Q帧,则将其丢弃。
PRI:priority字段,长度为3bit,表示以太网帧的优先级,取值范围是0~7,数值越大,优先级越高。当交换机/路由器发生传输用色时,优先发送优先级高的数据帧。
CFI:Canonical FormatIndicator,长度为1bit,表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。该字段用于区分以太网帧、FDDI帧和令牌环网帧,在以太网帧中,CFI取值为0。
VID:VLAN ID,长度为12bit,取值范围是0~4095,其中0和4095是保留值,不能给用户使用。
 
    3)以太端口TAG数据简述(端口链路类型)
 
Access类型端口端口只能属于1个VLAN,一般用于连接计算机的端口。
 
Trunk类型的端口可以允许多个VLAN通过,可以接受和发送多个VLAN的报文,一般用于交换机之间的连接端口。
 
 
Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间的连接也可以用于连接用户的计算机。
 
知识点:
①Hybrid和Trunk的异同
   同:Hybrid和Trunk在接收数据是处理方式相同
   异:发送时Hybrid 可以允许多个VLAN的报文发送时不带标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。
②缺省VLAN
   Access端口只属于1个VLAN,所以它的缺省VLAN就是他所在的VLAN,不用设置。
   Hybrid端口和Trunk端口属于多个VLAN ID,缺省情况下, Hybrid端口和Trunk端口的缺省VLAN为VLAN 1。
③tag list 和 untag list
   从两方面将,一方面如果是指报文,untag就是普通的Eth报文,普通PC机的网卡是可以识别这样的报文进行通讯;tag报文结构的变化是在源mac地址和目的mac地址后加上了4bytes的vlan信息,也就是vlan tag头,一般来说这样的报文不同PC机的网卡是不能识别的。另一方面,在报文进入端口和从端口发送出去时,还需要对报文中携带的VLAN、tag list和untag list这两个列表进行对比再进行下一步处理,而tag list和untag list就是由一个或多个VLAN值组成的列表。在设备设置二层转发是进行配置。
 
----------------------------------------
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等生成树协议,阻止二层交换成环。
 
 
 
---------------------------
 
 
posted @ 2019-07-18 15:01  Peter·X  阅读(1910)  评论(0编辑  收藏  举报