二层协议-VLAN

帧格式

帧格式
  • TPID:表示帧类型,取值为**0x8100(固定值)**时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃
  • PRI:表示数据帧的802.1p优先级,取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧
  • CFI:CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装(例如令牌环)。在以太网中,CFI的值为0
  • VID:VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094

接口的链路类型

1. Access接口

  1. 应用场景:
    Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用
    为了防止用户私自更改接口用途,接入其他交换设备,可以配置接口丢弃入方向带Tag的报文
  2. 特点:
    Access接口大部分情况只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag
    华为的VLAN标签实现方式和思科不同,华为的Access端口收到原始数据帧后会打上端口所属PVID的VLAN标签,而思科只有Trunk端口才会打标签
    必须配置缺省VLAN,该Access接口也就加入了该VLAN,Access端口只能属于一个VLAN
  3. 数据处理:
    • 入方向:
      • Access端口收到一个无标签的数据帧,会打上端口PVID的VLAN标签
      • Access端口收到一个带标签的数据帧,检查数据帧标签中的VLAN ID和接口的PVID是否一致,如果一致则接收数据帧,不一致则丢弃
    • 出方向:
      • Access端口发送带标签的数据帧时,会先剥离数据帧中的VLAN标签,还原成原始数据帧后发送

2. Trunk接口

  1. 应用场景:
    Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端
  2. 特点:
    它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)
  3. 数据处理:
    • 入方向:
      • Trunk端口收到一个无标签的数据帧,会打上端口PVID的VLAN标签
      • Trunk端口收到一个带标签的数据帧,将标签中的VLAN ID和Trunk端口允许通过的VLAN列表做比对,如果允许通过则接收数据帧,否则丢弃数据帧
    • 出方向:
      • Trunk端口转发一个带标签的数据帧,将标签中的VLAN ID和Trunk端口允许通过的VLAN列表做比对,如果允许通过则转发数据帧,否则丢弃数据帧华为设备Trunk端口默认只允许通过VLAN1

3. Hybrid接口

  1. 应用场景:
    Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub、傻瓜交换机),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP
  2. 特点:=1个Trunk+n个Access
    它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)类似Trunk、某些VLAN的帧不带Tag(即剥除Tag)类似多个Access
  3. 数据处理:
    • 入方向:
      • Hybrid端口收到一个无标签的数据帧,会打上端口PVID的VLAN标签
      • Hybrid端口收到一个带标签的数据帧,将标签中的VLAN ID和Hybrid端口的Tagged List、Untageed List做对比,如果VLAN ID存在于列表中,接收带标签的数据帧,否则丢弃
    • 出方向:
      • Hybrid端口发送一个带标签的数据帧,如果标签中的VLAN ID在Hybrid端口的Untagged List列表中,则剥离VLAN标签还原成普通数据帧后转发
      • Hybrid端口发送一个带标签的数据帧,如果标签中的VLAN ID在Hybrid端口
        Tagged List列表中,则转发带标签的数据帧。

Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口:
比如在灵活QinQ中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk接口不能实现该功能,因为Trunk接口只能使该接口缺省VLAN的报文不带VLAN Tag通过

4. QinQ接口(802.1Q-in-802.1Q)

QinQ接口也被称为Dot1q-tunnel接口

  1. 应用场景:
    一般用于私网与公网之间的连接
  2. 特点:
    它可以给帧加上双层Tag,即在原来Tag的基础上,给帧加上一个新的Tag,从而可以支持多达4094×4094个VLAN,满足网络对VLAN数量的需求。外层的Tag通常被称作公网Tag,用来标识公网的VLAN;内层Tag通常被称作私网Tag,用来标识私网的VLAN。

以太网链路包括接入链路(Access Link)和干道链路(Trunk Link)
接入链路用于连接交换机和用户终端(如用户主机、服务器、傻瓜交换机等),只可以承载1个VLAN的数据帧。
干道链路用于交换机间互连或连接交换机与路由器,可以承载多个不同VLAN的数据帧
在接入链路上传输的帧都是Untagged帧,在干道链路上传输的数据帧必须都打上Tag。

VLAN划分

划分方式

VLAN划分方式可以基于接口、MAC地址、子网、网络层协议、匹配策略

  1. 基于接口
    预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的Tag
  2. 基于协议
    预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的Tag
  3. 基于子网
    预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的Tag
  4. 基于MAC地址
    预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的Tag
  5. 基于匹配策略(MAC地址、IP地址、接口)
    根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的Tag

匹配优先级

如果入方向Untagged帧同时匹配多种划分VLAN的方式,则优先级顺序从高至低依次是:匹配策略 > MAC地址 > 子网 > 协议 > 接口
如果报文同时匹配了基于MAC地址和子网划分VLAN,缺省情况下,优先基于MAC地址划分VLAN,可以通过命令改变基于MAC地址划分VLAN和基于子网划分VLAN的优先级,从而决定优先划分VLAN的方式。
基于接口划分VLAN的优先级最低,但是最常用的VLAN划分方式。

VLAN Mapping(VLAN Translation或VLAN映射)

通过修改报文携带的VLAN Tag来实现不同VLAN的相互映射
VLAN Mapping
使用场景:

  1. 两个VLAN相同的二层用户网络通过骨干网络互联,为了实现用户之间的二层互通,以及二层协议(例如MSTP等)的统一部署,需要实现两个用户网络的无缝连接,此时就需要骨干网可以传输来自用户网络的带有VLAN Tag的二层报文。而在通常情况下,骨干网的VLAN规划和用户网络的VLAN规划是不一致的,所以在骨干网中无法直接传输用户网络的带有VLAN Tag的二层报文。
  2. 如果由于规划的差异,导致两个直接相连的二层网络中部署的VLAN ID不一致。但是用户又希望可以把两个网络作为单个二层网络进行统一管理,例如用户二层互通和二层协议的统一部署。

QinQ

  • 作用:使私网 VLAN 透传公网
    • 扩展 VLAN,对用户进行隔离和标识不再受到限制
    • QinQ 内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务, 更利于业务的部署
    • QinQ 封装、终结的方式很丰富,帮助运营商实现业务精细化运营
  • 原理 :打上双层标签,使私网的 VLAN 透传到公网,外层放的是公网的标签,内层放 的是私网的标签,在公网上剥离公网标签,两边设备就可以跨公网互访了

实现方式

  1. 基本QinQ
    基本QinQ是基于端口方式实现的。当端口上配置了基本QinQ功能后,不论从该端口收到报文是否带有VLAN Tag,设备都会为该报文打上本端口缺省VLAN的Tag
    如果收到的是带有VLAN Tag的报文,该报文就成为带双Tag的报文。
    如果收到的是不带VLAN Tag的报文,该报文就成为带有本端口缺省VLAN Tag的报文。
  2. 灵活QinQ
    灵活QinQ是基于端口与VLAN相结合的方式实现的,即端口对接收的报文,可以通过单层VLAN tag转发,也可以通过双层VLAN tag转发。
    指定条件:入方向报文VLAN的范围VLAN+802.1P优先级。仅指定报文802.1P优先级时,不关注入报文外层VLAN的具体值,只要外层VLAN的802.1P优先级匹配就会打上VLAN tag
    另外对于从同一个端口收到的报文,还可以根据VLAN的不同进行不同的操作,包括:
    1. 为具有不同内层VLAN ID的报文添加不同的外层VLAN Tag
    2. 根据报文内层VLAN的802.1p优先级标记外层VLAN的802.1p优先级和添加不同的外层VLAN Tag
  3. 基于流的灵活QinQ
    基于流的灵活QinQ通过全局配置流分类、流行为,再将流策略绑定流分类和流行为来实现
    相对灵活QinQ,基于流的灵活QinQ还可以根据入报文的内层VLAN的属性来加VLAN tag,配置范围更加灵活。如:内层VLAN、内层VLAN+802.1P、外层VLAN、外层VLAN+802.1P等属性

封装方式

QinQ封装是指如何把单层Q报文转换成双层Q报文,封装主要发生在城域网面向用户的UPE靠近用户侧的PE设备,主要作为用户接入VPN的汇聚设备接口上进行
根据不同的封装数据,QinQ可以分为几种不同类型,包括基于接口的QinQ和基于流的QinQ两大类,另外,还可以在路由子接口上进行特殊的QinQ封装,具体如下:

  1. 基于接口的QinQ封装(基本QinQ)
    基于接口的封装是指进入一个接口的所有流量全部封装一个相同的外层VLAN Tag,封装方式不够灵活,用户业务区分不够细致,这种封装方式也称作QinQ二层隧道
    基于端口的QinQ通过配置端口类型为dot1q-tunnel实现,当端口类型为dot1q-tunnel时,该端口加入的VLAN不支持二层组播功能
  2. 基于流的QinQ封装(基于流的灵活QinQ)
    基于流的QinQ封装可以对进入接口的数据首先进行流分类,然后对于不同的数据流选择是否封装外层Tag、封装何种外层Tag,因此这种封装方式也称作二层灵活QinQ
  3. 在路由子接口上进行QinQ封装
    QinQ封装一般在二层接口上进行,但有一种特殊情况,QinQ也可以在路由子接口上进行封装。
    当MPLS/IP核心网采用PWE3/VLL/VPLS透传业务数据时,NPE上的路由子接口可以根据用户VLAN ID封装外层VLAN ID,通过外层VLAN ID接入VLL/PWE3。此种方法可以通过一个子接口来透传多个标识用户的VLAN ID,这种子接口也叫QinQ Stacking子接口
    这种封装方式也是基于流的QinQ封装方式,但QinQ Stacking子接口只能和L2VPN(PWE3/VLL/VPLS)业务结合起来才有意义,不支持三层转发功能

VLAN聚合(Super VLAN)

  1. 主要功能就是节约IP地址(启用super vlan后,不同的VLAN可以共用一个网关IP,正常的VLAN,一个VLAN就需要一个网关IP),隔离广播风暴,控制端口二层互访
  2. Super VLAN下关联多个Sub VLAN,Sub VLAN之间二层隔离。所有Sub VLAN共用Super VLAN的VLANIF接口IP地址与外网通信,并且可以通过Super VLAN的VLANIF接口三层互通,从而节约IP地址
  3. 适用于用户多,VLAN多,大量VLAN的IP地址在同一个网段,但是又要实现不同VLAN之间二层隔离的场景。VLAN之间如果有互访的需求,可以对Super VLAN开启ARP代理。常见的场景有宾馆酒店,小区宽带接入等
  4. 注意事项
    1. VLAN 1不能配置为Super VLAN
    2. 配置某VLAN为Super VLAN后,该VLAN类型改变为super,不允许任何物理接口加入该VLAN
    3. 如果要实现Vlan之间的互通,需要开启Vlan间的ARP代理arp-proxy inter-sub-vlan-proxy enable

与MUX VLAN隔离功能相比,Super VLAN属于三层功能,需要三层交换机支持,MUX VLAN属于二层交换机功能。
Super VLAN的配置较为简单,MUX VLAN配置较为复杂,但对用户间的访问控制灵活性不如MUX VLAN,Super VLAN内需要查询部分暂时离线的用户时,网关需要在每个子VLAN内广播发送报文,可能较大的消耗设备CPU资源。

Mux-Vlan

实现Vlan之间的隔离

  1. Mux-Vlan划分表
    Mux-Vlan划分表
  2. 通信原理
    通信原理
    示意图
    根据MUX VLAN特性,企业可以用Principal port连接企业服务器Separate port连接企业客户Group port连接企业员工。这样就能够实现企业客户、企业员工都能够访问企业服务器,而企业员工内部可以通信、企业客户间不能通信、企业客户和企业员工之间不能通信的目的。

Smart Link和Monitor Link

Smart Link和Monitor Link

Smart Link(备份链路)

在接口下配置Smart Link之前,需要关闭该接口下的生成树协议(STP、RSTP和MSTP)

  1. 目的
    Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。将一台下游设备同时连接到两台上游设备,可降低单点故障对网络的影响,提高了可靠性。
  2. 接口角色
    1. 主接口
      主接口又叫Master接口,当两个接口都处于待命状态时,主接口将优先进入转发状态,但主接口并不一直处于转发状态,发生链路切换后,如果从接口已经处于转发状态,那么即使主接口链路恢复正常,也只能处于待命状态(默认不支持抢占),直到再进行一次链路切换(如果配置回切功能,回切时间(配置回切功能后默认为60秒)到时,会切换到主链路)
    2. 从接口
      从接口又叫Slave接口,当两个接口都处于待命状态时,从接口保持待命状态。从接口并不一直处于待命状态,当发生链路切换后,从接口将切换到转发状态。
  3. 组网方式
    组网方式
    SwitchD采用双上行方式分别连接到SwitchB和SwitchC,这样SwitchD到达SwitchA的链路就可以有两条(SwitchD->SwitchB->SwitchA和SwitchD->SwitchC->SwitchA),但是网络中的环路会产生网络风暴。在SwitchA上配置Smart Link,正常情况下,可实现Interface2所在链路作为Interface1所在链路的备份。
    优点:
    1. 能够实现在双上行组网的两条链路正常情况下,一条链路处于转发状态,而另一条处于阻塞待命状态,从而可避免环路的不利影响
    2. 配置和使用更为简洁,便于用户操作
    3. 当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,极大限度地保证了数据的正常转发
  4. Flush报文
    当Smart Link组发生链路切换时,原有的转发表项将不适用于新的拓扑网络,需要整网进行MAC表项和ARP表项的更新。这时,Smart Link组通过发送Flush报文通知其他设备进行MAC和ARP表项的刷新操作。当链路发生切换时,SwitchD会发送Flush报文通知SwitchB、SwitchC和SwitchA进行MAC和ARP表项的更新。Flush 报文是组播报文,组播地址01-0F-E2-00-00-04
    Flush报文
  5. 控制VLAN(Control VLAN)
    1. 发送控制VLAN
      发送控制VLAN是Smart Link组用于广播Flush报文的VLAN。如果在SwitchD上开启了Flush报文发送功能,当发生链路切换时,设备会在发送控制VLAN内广播发送Flush报文
    2. 接收控制VLAN
      接收控制VLAN是上游设备用于接收并处理Flush报文的VLAN。如果上游设备SwitchA、SwitchB和SwitchC能够识别Flush报文,并开启了Flush报文接收处理功能,当发生链路切换时,上游设备会处理收到的属于接收控制VLAN的Flush报文,进而刷新MAC表和ARP表
  6. 负载分担
    Smart Link支持配置多个负载分担VLAN实例。当Smart Link 组的主从链路均正常时,Smart link允许两条链路可以转发不同的数据流量负载分担情况下,两个接口均处于转发状态,从接口转发负载分担实例流量(对负载分担实例的数据流量进行转发,对非负载分担实例的数据流量进行阻塞),主接口转发非负载分担的实例流量(与从接口相反)。当其中一条链路故障时,Smart Link组会自动将所有的流量切换到另一条链路上
  7. Smart Link实例
    Smart Link组的备链路通过绑定不同的实例来实现负载分担。Smart Link引用MSTP的实例,每个实例用来绑定若干VLAN,不同的实例绑定不同的VLAN

Monitor Link(监控链路)

Monitor Link组
  1. 定义
    通过监控设备的上行接口,根据其Up/Down状态的变化来触发下行接口Up/Down状态的变化,从而触发下游设备上的拓扑协议进行链路的切换。

  2. 组成

    1. Monitor Link组
      Monitor Link组也叫监控链路组,由上行接口和下行接口共同组成。组的成员可以是单接口、静态聚合组、手工聚合组或Smart Link组,其中Smart Link组只能作为上行接口下行接口的状态随上行接口的变化而变化。Interface1和Interface2组成了一个Monitor Link组;Interface3和Interface4组成了一个Monitor Link组。
    2. 上行接口
      上行接口又称为Uplink接口,是Monitor Link组中受监控者上行接口故障则表示该Monitor Link组故障该组的下行接口将都会被强制设为Down状态。Interface1和Interface3为上行接口。上行链路也可以是Smart Link组,当上行链路是Smart Link组时,只有当Smart Link组的两个接口都处于Inactive状态(包括Down)时,才能认为该上行链路故障
    3. 下行接口
      下行接口又称为Downlink接口,是Monitor Link组中监控者,下行接口故障不影响上行接口,也不影响其他下行接口。Interface2和Interface4为下行接口
  3. 基本原理
    配置Monitor Link组后,上行接口将被实时监控,一旦上行接口出现故障,包括链路故障、OAM的单通故障、OAM的连接无法建立等,其所在组的所有Up的下行接口都会被强制设为ERROR-DOWN状态。当上行链路恢复正常时,恢复下行接口。
    如果Interface1所在的上行链路发生故障,Monitor Link会将Interface2强制设为ERROR-DOWN状态。从而SwitchC可以感知经由SwitchB到达SwitchA的这条链路发生故障。当Interface1所在的上行链路恢复正常后,Monitor Link会取消对Interface2强制设定的ERROR-DOWN状态,开启Interface2
    当上行接口是Smart Link组时,只有当Smart Link组的两个接口都处于Inactive状态(包括Down)时,才能认为该上行接口故障
    当下行接口是聚合组时上行故障将会强制将聚合组中的所有接口设为ERROR-DOWN状态,同样,恢复时也是对聚合组的所有接口进行操作。

补充

二层:数据链路层

当Type字段值<=1500(0x5DC)时为802.3,>=1536(0x0600)为Ethernet Ⅱ 以太帧

Ethernet Ⅱ 以太帧

  1. 帧格式
    Ethernet Ⅱ 以太帧
  2. Type值对应的协议
    Type值对应的协议

802.3 LLC SNAP以太帧

  1. 帧格式
    802.3 LLC SNAP以太帧

VLAN终结

  1. 定义
    指设备对接收到的报文中的VLAN标签进行识别,根据后续的转发行为对报文中的单层或双层VLAN标签进行剥除,然后进行三层转发或其他处理。也就是这些VLAN标签只在终结之前生效,之后的三层转发或其他处理不再依据报文中的这些标签。
  2. VLAN终结的实质包含两个方面:
    对接口接收到报文,剥除VLAN标签后进行三层转发或其他处理。
    对接口发出的报文,又将相应的VLAN标签添加到报文中后再发送。
  3. 分类
    根据对所终结的VLAN报文处理方式的不同,VLAN终结分为以下两种:
    1. Dot1q终结:
      对接收到的带有一层或两层VLAN Tag的报文,剥除报文的最外一层VLAN Tag;
      对从接口发出的报文,添加一层VLAN Tag。
    2. QinQ终结:
      对接收到的带有两层VLAN Tag的报文,剥除报文的两层VLAN Tag;
      对从接口发出的报文,添加两层VLAN Tag。

VLAN终结一般在子接口上进行,如果子接口是对报文中的单层VLAN标签终结,该子接口就称为Dot1q终结子接口;如果子接口是对报文中的双层VLAN标签终结,该子接口就称为QinQ终结子接口。
Dot1q终结子接口和QinQ终结子接口不支持透传不带VLAN Tag的报文,收到不带VLAN Tag的报文会直接丢弃
4. 目的(适应场景)
划分VLAN后,VLAN内的主机可以二层互通,而VLAN间的主机不能二层互通。可以在Router上通过VLANIF来实现VLAN间的三层互通,但当Router的三层以太网接口有限只使用一个接口接入用户或网络时一个接口上需要传输多个VLAN报文,VLANIF无法实现。此时,可将一个三层以太网接口虚拟成多个逻辑子接口(相对子接口而言,这个三层以太网接口称为主接口)

VLAN Damping

如果指定VLAN已经创建对应的VLANIF接口,当VLAN中所有接口状态变为Down而引起VLAN状态变为Down时,VLAN会向VLANIF接口上报接口Down状态,从而引起VLANIF接口状态变化。
为避免由于VLANIF接口状态变化引起的网络震荡,可以在VLANIF接口上启动VLAN Damping功能,抑制VLANIF接口状态变为Down的时间。
当使能VLAN Damping功能,VLAN中最后一个处于Up状态的接口变为Down后,会抑制一定时间(抑制时间可配置)再上报给VLANIF接口。如果在抑制时间内VLAN中有接口Up,则VLANIF接口状态保持Up状态不变。即VLAN Damping功能可以适当延迟VLAN向VLANIF接口上报接口Down状态的时间,从而抑制不必要的路由震荡。

Voice VLAN(语音vlan)

Voice VLAN是为用户的语音流专门划分的VLAN
通过配置Voice VLAN,交换机可识别语音流,将语音流加入到Voice VLAN中传输,并对其进行有针对性的QoS保障,当网络发生拥塞时可以优先保证语音流的传输

两种常见组网方案

1
2

识别语音数据流的方式

一般来说,IP电话分为两大类:发送带Tag语音报文的IP电话(如Cisco 7960)、发送untagged语音报文的IP电话(如华为MC850)
若要提高语音数据流的传输优先级,首先要能识别出语音数据流,识别出语音数据流后,再对语音数据流提升优先级后传输。

1. 基于MAC地址

设备可以根据进入接口的数据报文中的源MAC地址字段来判断该数据流是否为语音数据流。源MAC地址匹配系统设置的语音设备的组织唯一标识符OUI的报文被认为是语音数据流,用户需要预先设置OUI适用于IP电话上送untagged语音报文的场景
根据OUI识别IP电话机的原理就是根据IP电话厂商申请的MAC地址段来识别哪些报文是电话机发送的,以此来判断哪些报文属于语音报文
Voice VLAN中的OUI有别于上述的通常意义的OUI,这个OUI是由用户来配置的,而且可以使用掩码,即不需要一定是24位掩码的,掩码长度用户可以自己指定。OUI的值为voice-vlan mac-address命令中的mac-address和mask参数相与的结果。
基于MAC地址
交换机接收到PC和IP电话发出的untagged报文后会做如下处理:

  1. 如果源MAC匹配交换机上配置的OUI(源MAC地址与配置的OUI掩码进行与运算后等于OUI视为匹配),则为该报文加上Voice VLAN的Tag,并提升报文优先级
  2. 如果不匹配,就会为其加上PVID的VLAN Tag,从而保证语音报文的优先发送

基于MAC地址模式下,接口加入Voice VLAN的方式可分为手动模式和自动模式:

  1. 自动模式:当语音设备发出的报文中源MAC地址匹配配置的OUI时,系统会将连接语音设备的接口自动加入到Voice VLAN中
  2. 手动模式:当使能Voice VLAN功能后,必须通过手工将连接语音设备的接口加入到Voice VLAN中,这样才能保证Voice VLAN功能生效

根据使能了Voice VLAN功能的接口对接收到的数据包的过滤机制可以将Voice VLAN的工作模式分为安全模式和普通模式:

  1. 安全模式:只允许收到的源地址与OUI匹配的语音报文通过,该Voice VLAN内的非语音报文将被直接丢弃,其他VLAN内的报文正常转发。只有当通过命令voice-vlan remark-mode mac-address指定语音报文基于MAC地址提升优先级时,安全模式才会生效
  2. 普通模式:使能了Voice VLAN功能的入接口允许同时传输语音报文和非语音报文,容易受到恶意数据流量的攻击。不建议将语音和数据业务规划在同一个VLAN里面。如确有此需要,请确认Voice VLAN工作在普通模式。

2. 基于VLAN

若有大量IP电话接入交换机,配置IP电话的OUI就可能会非常繁琐。可在交换机上配置基于VLAN来提升语音报文的优先级,此时设备会根据进入接口的报文的VLAN ID来判断该数据报文是否为语音报文。当VLAN ID匹配系统配置的Voice VLAN后,则认为是语音数据流。这种方式实现的前提IP电话支持获取交换机上配置的Voice VLAN信息的功能,在大量IP电话接入的情况下,可以简化配置

IP电话获取交换机上Voice VLAN信息的方法有很多,以下以IP电话通过LLDP获取交换机Voice VLAN信息为例介绍一下实现过程:
基于VLAN

  1. IP电话上线会主动发送LLDP报文,以获取交换机上配置的Voice VLAN信息
  2. 交换机收到IP电话发送的LLDP报文,会在相关字段填充Voice VLAN信息发给IP电话
  3. IP电话收到携带Voice VLAN信息的LLDP报文后,再次发送语音报文时就会带Tag发送
  4. 交换机收到带Tag的语音报文,如果Tag和交换机上配置的Voice VLAN匹配,则为其提升优先级后转发
  5. 交换机收到untagged报文,仍然会加入到PVID所在的VLAN中。这样,当发生网络拥塞的时候交换机就能保证语音报文的优先发送。

这两种方式主要区别在于:
当IP电话上送的是untagged语音报文时,必须配置OUI,才能把语音报文和数据报文区分开来
如果IP电话上送的是带Tag语音报文,则可配置基于VLAN的Voice VLAN,这样在大量IP电话接入的情况下,就不用配置繁琐的OUI,简化配置

其他

  1. 使用VLAN的目的:划分广播域,减小广播风暴的范围
  2. VlanID的配置范围为1到4094
  3. Hybrid最大的优势在于可以定义Untageed List
  4. 缺省VLAN又称PVID(Port Default VLAN ID)
  5. 链路类型协商协议LNP用来动态协商以太网接口的链路类型为Access或者Trunk
    1. 以太网接口的链路类型协商为Access,缺省情况下加入VLAN1
    2. 以太网接口的链路类型协商为Trunk,缺省情况下加入VLAN1~4094
  6. Vlan划分总体分为两大类:静态划分(接口)和动态划分(终端,例如MAC地址、子网、协议和策略,华为设备要想使用动态划分,接口类型必须是Hybrid
  7. 代理ARP,分为三层代理ARP(路由ARP)、VLAN间的代理ARP、VLAN内的代理ARP
  8. Hybrid使用场景:
    1. 动态VLAN划分
    2. 灵活QinQ和基于流的灵活QinQ
  9. 一个物理接口最多可以划分4096个子接口。因为在子接口下区分流量使用的是Dot1q,也就是vlanID,因此物理接口划分子接口的数量和vlan一样
  10. 所有VLanIF接口的MAC地址=交换机的背板MAC,即所有的VLanIF使用同一个Mac
  11. 三层交换机收到数据帧之后如何判断进行二层转发还是三层转发?
    查看目标Mac。如果目标Mac为本地接口的Mac地址,则进行三层转发,这表明这个数据帧是发给我自己的;如果目标Mac不是本地接口地址,则进行二层转发。
  12. Smart Link与生成树STP的区别?
    Smart Link没有报文交互,只是本地状态切换,切换速度更快,但是只能用在单台设备上