VLAN接口类型讲解 电脑版发表于:2022/10/20 12:20  >#VLAN接口类型讲解 [TOC] ## VLAN简介 tn2>VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。 VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。 以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通讯介质的数据网络通讯 技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过交换机实现 LAN互连虽然可以解决冲突严重的问题,但仍然不能隔离广播报文和提升网络质量。 在这种情况下出现了VLAN技术,这种技术可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域, VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文就被限制在一个VLAN内。  tn2>1 -- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。 2 -- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。 3 -- 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。 4 -- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。 tn>简单讲:就是划分多个虚拟网,通过分组减少发响应包。 ## VLAN 报文与Tag tn2>要使设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息 普通以太帧:  tn2>IEEE 802.1Q封装的VLAN数据帧格式:  tn2>VLAN标签各字段含义: | 字段 | 长度 | 含义 | 取值 | | ------------ | ------------ | ------------ | ------------ | | TPID | 2Byte | Tag Protocol Identifier(标签协议标识符),表示数据帧类型。 | 表示帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。<br/> 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。 | | PRI | 3bit | Priority,表示数据帧的802.1p优先级。 | 取值范围为0~7,值越大优先级越高。当网络阻塞时,设备优先发送优先级高的数据帧。 | | CFI | 1bit | Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。 | CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。| | VID | 12bit | VLAN ID,表示该数据帧所属VLAN的编号。 | VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。 | tn2>简单讲: TPID:标识符(可自定义) PRI:优先级,比如映射。 CFI:标准格式位。 VID:VLAN ID。 ## VLAN-PVID tn2>缺省VLAN又称PVID(Port Default VLAN ID)。设备处理的数据帧都带Tag,当设备收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由接口上的缺省VLAN决定。一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID相等的VID,而且在这个VID上,这个物理端口必定是Untagged Port。 PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部 转发数据的时候PVID不起任何作用。 每个接口都有一个缺省VLAN。缺省情况下,所有接口的缺省VLAN均为VLAN1,但用户可以根据需要进行配置。 1 - 对于Access接口,缺省VLAN就是它允许通过的VLAN,修改缺省VLAN即可更改接口允许通过的VLAN。 2 - 对于Trunk接口和Hybrid接口,一个接口可以允许多个VLAN通过,但是只能有一个缺省VLAN。接口的缺省VLAN和允许通过的VLAN需要分别配置,互不影响。  tn>简单来说:一个口子一个PVID(至于带不带看接口类型) | 接口类型 | 对接收不带Tag的报文处理 | 对接收带Tag的报文处理 | 发送帧处理过程 | | ------------ | ------------ | ------------ | ------------ | | Access接口 | 接收该报文,并打上缺省的VLAN ID。 | 当VLAN ID与缺省VLAN ID相同时,接收该报文。<br/>当VLAN ID与缺省VLAN ID不同时,丢弃该报文。 | 先剥离帧的PVID Tag,然后再发送。 | | Trunk接口 | 打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。<br/> 打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。<br/> 当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文。<br/>当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。 | | Hybrid接口 | 打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。<br/> 打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。<br/> 当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。可以通过命令设置发送时是否携带Tag。 | tn2>由上面各类接口添加或剥除VLAN标签的处理过程可见: 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。 当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。 当发送数据帧时: 1.Access接口直接剥离数据帧中的VLAN标签。 2.Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。 3.Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。 因此,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。 ## Access 接口 tn2>Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。它只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。 >### 交换机接收包 tn2>接口收到不带Tag的帧:接收该帧,并打上该接口PVID的Tag。 (没有PVID就打上PVID到交换机内部。)  tn2>接口收到带PVID的Tag: VLAN ID == PVID ,接收 VLAN ID != PVID ,丢弃  >### 交换机发送包 tn2>帧的VLAN ID与接口PVID相同: 把PVID标签去掉,再从接口发出  tn2>帧的VLAN ID与接口PVID不同:禁止将该帧从该接口发出。  ## Trunk 接口 tn2>Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。 >### 交换机接收包 tn2>接口收到不带Tag的帧:该帧打上PVID,当PVID在该接口允许通过的VLAN列表中时接收该帧,反之丢弃该帧。 (打上的pvid要与vlan id一样才能到交换机内部)  tn2>接口收到带Tag的帧:当该帧的VLAN ID在该接口允许的VLAN列表中接收该帧,反之丢弃  >### 交换机发送包 tn2>VLAN ID和PVID相同:当该帧的VLAN ID在该接口允许VLAN列表中,则将该Tag剥离,然后发出,如不在允许的VLAN列表中,禁止发出 (VLAN ID == PVID去掉Tag然后发包)  tn2>VLAN ID和PVID不同:当该帧的VLAN ID在该接口允许VLAN列表中,则保留该Tag,然后发出,如不在允许的VLAN列表中,禁止发出  >### 测试如下   ## Hybrid 接口 tn2>Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)某些VLAN的帧不带Tag(即剥除Tag)。 >### 交换机接收包 tn2>接口收到不带Tag的帧:该帧打上PVID,当PVID在该接口允许通过的VLAN列表中时接收该帧,反之丢弃该帧  tn2>接口收到带Tag的帧:当该帧的VLAN ID在该接口允许的VLAN列表中接收该帧,反之丢弃(与PVID无关)  >### 交换机发送包 tn2>VLANID在允许列表中:当管理员配置发送该帧的时候不带Tag,则将Tag删除,然后再发出。(与PVID无关)  tn2>VLANID在允许列表中:当管理员配置发送该帧的时候带Tag,则保留该Tag,然后再发出。(与PVID无关)  >### 测试 