IEEE 802.1p是流量优先权控制标准,工作在媒体访问控制(MAC)子层。它使得二层交换机能够提供流量优先级和动态组播过滤服务。IEEE 802.1p标准也提供了组播流量过滤功能,以确保该流量不超出第二层交换网络范围。
IEEE 802.1p协议头包括一个3位优先级字段,该字段支持将数据包分组为各种流量种类。IEEE 极力推荐网络管理员实施这些流量种类,但它并不要求强制使用。流量种类也可以定义为第二层服务质量(QoS)或服务类(CoS),并且在网络适配器和交换机上实现,而不需要任何预留设置。IEEE 802.1p流量被简单分类并发送至目的地,而没有带宽预留机制。
IEEE 802.1p是IEEE 802.1q(VLAN标签协议)标准的扩充协议,它们协同工作。IEEE 802.1q标准定义了为以太网MAC帧添加的标签。VLAN 标签有两部分:VLAN ID(12比特)和优先级(3比特)。IEEE 802.1q VLAN标准中没有定义和使用优先级字段,而IEEE 802.1p中则定义了该字段。
IEEE 802.1p中定义的优先级有8种。最高优先级为7,应用于关键性网络流量,如路由选择信息协议(RIP)和开放最短路径优先(OSPF)协议的路由表更新;优先级6和5主要用于延迟敏感(delay-sensitive)应用程序,如交互式视频和语音;优先级4到1主要用于受控负载(controlled-load)应用程序,如流式多媒体(streaming multimedia)和关键性业务流量(business-critical traffic);优先级0是默认值,并在没有设置其他优先级值的情况下自动启用。
IEEE 802.1p协议还定义了GARP(Generic Attribute Registration Protocol,通用属性注册协议)。这里的Attribute是指组播MAC地址、端口过滤模式和VLAN等属性。GARP协议实际上可以定义很多交换机应该具有的特性,如GMRP(GARP Multicast Registration Protocol,组播注册协议)和GVRP(GARP VLAN Registration Protocol,虚拟局域网注册协议)两个协议,以后会根据网络发展的需要定义其他的特性。GARP定义了以太网交换机之间交换这些特性信息的方法,如何发送数据包,接收的数据包如何处理,等等。
GMRP协议是一个动态二层组播注册协议,它的很多方面跟IGMP(Interent组管理协议,属三层组播协议)类似。对于IP地址来说,D类IP地址是组播地址。实际上,对于每一个IP组播地址,都有一个组播MAC地址跟它对应,IEEE 802.1p协议就是根据组播MAC地址来在以太网交换机上注册和取消组播成员身份的,而IGMP是根据组播IP来管理的。当然,如果以太网交换机没有实现GMRP协议,那么就只能通过静态配置来实现组播了。
那么为什么需要二层组播协议呢?与IGMP协议一样,如果我们在自己的局域网内成立一个组播组,可能我们的局域网包含了很多交换机。如果这些交换机没有实现二层组播协议的话,那么某个组员给其他组员发送数据包时,交换机就会将该数据包向所有的端口广播。因为交换机不知道哪个端口有人加入了该组播组,唯一的解决办法就是管理员配置交换机,只有这样才能将这种广播转发数据包的发送方式限制住。而组播本身是动态的,所以通过这种靠管理员的配置来实现组播的方式是不现实的。因此,就需要有一个二层组播协议来动态管理组员。这就是为什么需要二层组播协议的原因,目前,许多高档的交换机都把实现IEEE 802.1p和IEEE 802.1q协议(本节后面将具体介绍)作为一个主要的性能指标。
GVRP是VLAN协议,由于它与GMRP都是基于GARP之上的,所以它们之间的关系很紧密,它们都要对交换机的数据库进行操作,这个协议的具体定义在下面将要介绍的IEEE 802.1q协议中。
IEEE 802.1p:(LAN Layer 2 QoS/CoS Protocol for Traffic Prioritization ) 有关流量优先级的
IEEE 802.1P 规范使得第二层交换机能够提供流量优先级和动态组播过滤服务。优先级规范工作在媒体访问控制(MAC)帧层(OSI 参考模型第二层)。802.1P 标准也提供了组播流量过滤功能,以确保该流量不超出第二层交换网络范围。
802.1P 协议头包括一个3位优先级字段,该字段支持将数据包分组为各种流量种类。IEEE 极力推荐网络管理员实施这些流量种类,但它并不要求强制使用。流量种类也可以定义为第二层服务质量(QoS)或服务类(CoS),并且在网络适配器和交换机上实现,而不需要任何预留设置。802.1P 流量被简单分类并发送至目的地,而没有带宽预留机制。
802.1P 是 IEEE 802.1Q (VLAN 标签技术)标准的扩充协议,它们协同工作。IEEE 802.1Q 标准定义了为以太网 MAC 帧添加的标签。VLAN 标签有两部分:VLAN ID (12比特)和优先级(3比特)。 IEEE 802.1Q VLAN 标准中没有定义和使用优先级字段,而 802.1P 中则定义了该字段。
802.1P 中定义的优先级有8种。尽管网络管理员必须决定实际的映射情况,但 IEEE 仍作了大量建议。最高优先级为7,应用于关键性网络流量,如路由选择信息协议(RIP)和开放最短路径优先(OSPF)协议的路由表更新。优先级6和5主要用于延迟敏感(delay-sensitive)应用程序,如交互式视频和语音。优先级4到1主要用于受控负载(controlled-load)应用程序,如流式多媒体(streaming multimedia)和关键性业务流量(business-critical traffic) - 例如,SAP 数据 - 以及 "loss eligible" 流量。优先级0是缺省值,并在没有设置其它优先级值的情况下自动启用。
____________________________________________________________________________________
| 7 | 1 | 6 | 6 | 2 | 2 | 2 | 42-1496 bytes | 4 bytes |
|---------|-----|-----|----|------|-----|--------------|-----------------|---------|
|Preamble | SFD | DA | SA | TPID | TCI | Type Length | Data | CRC |
----------|-----|-----|----|------|-----|--------------|-----------------|---------|
Preamble(Pre) - 7字节。Pre 字段中1和0交互使用,接收站通过该字段知道导入帧,并且该字段提供了同步化接收物理层帧接收部分和导入比特流的方法。
Start-of-Frame Delimiter(SFD) - 1字节。字段中1和0交互使用,结尾是两个连续的1,表示下一位是利用目的地址的重复使用字节的重复使用位
Destination Address(DA) - 6字节。DA 字段用于识别需要接收帧的站。
Source Addresses(SA) - 6字节。SA 字段用于识别发送帧的站。
802.1q和802.1p结构图
TPID - 值为8100(hex)。当帧中的 EtherType 也为8100时,该帧传送标签 IEEE 802.1Q/802.1P。
TCI - 标签控制信息字段,包括用户优先级(User Priority)、规范格式指示器(Canonical Format Indicator)和 VLAN ID。
3 1 12 bits
User Priority CFI Bits of VLAN ID (VIDI) to identify possible VLANs
User Priority:定义用户优先级,包括8个(2^3)优先级别。IEEE 802.1P 为3比特的用户优先级位定义了操作。
CFI:以太网交换机中,规范格式指示器总被设置为0。由于兼容特性,CFI 常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有 CFI,那么设置为1,表示该帧不进行转发,这是因为以太网端口是一个无标签端口。
VID:VLAN ID 是对 VLAN 的识别字段,在标准 802.1Q 中常被使用。该字段为12位。支持4096(2^12) VLAN 的识别。在4096可能的 VID 中,VID=0 用于识别帧优先级。 4095(FFF)作为预留值,所以 VLAN 配置的最大可能值为4,094。
Length/Type - 2字节。如果是采用可选格式组成帧结构时,该字段既表示包含在帧数据字段中的 MAC 客户机数据大小,也表示帧类型 ID。
Data - 是一组 n(46=< n =<1500)字节的任意值序列。帧总值最小为64字节。
Frame Check Sequence(FCS) - 4字节。该序列包括32位的循环冗余校验(CRC)值,由发送 MAC 方生成,通过接收 MAC 方进行计算得出以校验被破坏的帧。