这两天在看QOS内容,其中涉及到PHB到EXP的映射,以及EXP到PHB的映射,有点不懂PHB是指哪一段,于是上网查找,结果找到:PHB是指IP包内原TOS字段(现DSCP字段),到PHB的映射关系,具体见下,而EXP当然是指MPLS包内的优先级,COS指的就是8100VLAN中的PRI字段;但是我组的人又说,我们只处理二层的内容,宏定义上的PHB指的是三层的,而我们这里单盘配置中的PHB指的就是宏定义上的COS,如果业务是基于端口的,无COS的话,则具体指的就是芯片中的队列优先级~~于是我有点晕了。
将PHB,EXP,COS的相关内容(我认为有用的)贴上。
IP优先级 | DSCP | PHB |
0 | 000000 | BE |
1 | 001000 | AF1 |
2 | 010000 | AF2 |
3 | 011000 | AF3 |
4 | 100000 | AF4 |
5 | 101000 | EF |
6 | 110000 | EF |
7 | 111000 | EF |
1. 分类和标记
Qos分类是一种标识流量并将流量归类为不同类别的Qos处理过程或机制。
常见的流量标识符:
- 1、 入接口
- 2、 ISL或者802.1p帧中的Cos值
- 3、 源IP地址或目的IP地址
- 4、 IP包头中的IP优先级或DSCP值
- 5、 MPLS头中的MPLS EXP值
- 6、 应用类型
常见的二层标记
Cos(位于ISL或802.1p帧)、EXP(位于MPLS头,介于二层与三层之间)、DE(位于帧中继头)以及CLP(位于ATM信元头)
常见的三层标记
IP优先级或DSCP(位于IP头)
1.1二层Qos:802.1Q/P以太帧中的Cos
以太网802.1Q/P帧
前导码 | SFD | DA | SA | 802.1Q/P | 类型 | 数据 | FCS |
802.1Q/P字段格式
TPID 0X8100 16比特 | PRI 3比特 | CFI 1比特 | VLAN ID 12比特 |
长度为4字节的802.1Q帧头字段插在源MAC地址之后,其中有一个用于中继功能的VLAN ID字段,还有一个被称为Cos(802.1p)的3比特用户优先级字段(PRI),Cos用于Qos机制,可以提供8种可选值。如下表
Cos(比特) | Cos(十进制) | IETF RFC791 | 应用 |
000 | 0 | Routine(常规) | 尽力而为数据 |
001 | 1 | Priority(优先) | 中等优先级数据 |
010 | 2 | Immediate(紧要) | 高优先级数据 |
011 | 3 | Flash(快速) | 呼叫信令 |
100 | 4 | Flash-Override(最快速) | 视频会议 |
101 | 5 | Critical(关键) | 语音荷载 |
110 | 6 | Internet(网络互连) | 保留 |
111 | 7 | Network(网络) | 保留 |
1.2二层Qos:DE和CLP
帧中继帧
标志 | 帧中继头 | 信息 | FCS | 标志 |
帧中继头
DLCI | C/R | EA | DLCI | FECN | BECN | DE | EA |
帧中继头部中的FECN(前向显示拥塞指示),BECN(后向显示拥塞指示)和DE(可丢弃)字段就被用于拥塞的指示和丢弃优先指示。
帧中继中的1比特DE字段和ATM信元中的1比特CLP都用来向中间交换机表明该数据单元不是候选被丢弃单元(DE或者CLP为0),或者是候选被丢弃单元(DE或者CLP为1)。
1.3二层Qos:MPLS EXP字段
MPLS包就是增加了一个或多个长度为4字节的MPLS头的IP包,增加了MPLS头后的IP包在传送之前需要被封装在二层PDU中,因而常常将MPLS头称为SHIM(”垫片”)或2.又2分之一层头。
MPLS头中的EXP字段用于Qos,其3比特长度也是为了与IP头中的3比特IP优先级字段以及802.1Q头中的3比特PRI字段相兼容。
DA | SA | 类型x8847 | Label | Exp | S | TTL | IP包 |
48比特 | 48比特 | 16比特 | 20比特 | 3比特 | 1比特 | 8比特 |
|
默认情况下,当IP包进入MPLS网络时,边缘路由器会将IP包头ToS(Type of Service,服务类型)字节中最高3位复制到MPLS头中的EXP字段中,其中,IP包头ToS字节中的最高3位称为IP优先级比特。
除了自动复制IP优先级的数值之外,MPLS边缘路由器的网络管理员还可以再边缘路由器上手工将EXP设定为期望值。
•2. DiffServ模型以及DSCP和PHB
在DiffServ模型的体系架构中,建议尽可能地在最靠近源端的位置进行流量分类和流量标记。过去一般都使用IP优先级比特来标记IP包,但目前认为标记IP包的标准方法就是标记IP头中的DSCP比特。
在DiffServ框架中,需要设置IP包头中的DSCP值以选择PHB(每跳行为)。
PHB就是外部可察觉的网络节点对一组具有相同DSCP值的IP包的转发行为。具有相同DSCP值的一组数据包将从DiffServ节点处得到相同的PHB,称为BA(行为聚合)。
2.1 IP优先级和DSCP
最初的IP Qos基于RFC791,将IP包头中的Tos字节的最高3位称为IP优先级比特,3个IP优先级比特可以提供8种配置选择,类似二层的Cos。
新的IP Qos机制重新将ToS字节定义为差分服务,从而提供了更灵活、更强大的Qos能力。DiffServ字段中的最高6位称为DSCP,余下的2位用于流控制,称为ECN(显示拥塞指示)比特。DSCP与IP优先级后向兼容。
目前DSCP值的定义中包括以下4类PHB:
1、类别选择PHB。此时DSCP的最后3位为000,类别选择PHB提供了与基于Tos的IP优先级的后向兼容能力。
非兼容DSCP —- 兼容DSCP 网络设备,双方配置成仅处理和理解IP优先级比特。
兼容DSCP — 不兼容DSCP 网络设备,仅设置DiffServ字段的高3位,等同于IP优先级字段,其余比特均被置0。
2、默认PHB。此时Diffserv/DSCP字段的最高3位为000。默认PHB用于尽力而为(BE)服务。
3、AF PHB。此时DSCP字段最高3位为001、010、011、100(分别被称为AF1、AF2、AF3、AF4)。AF确保转发
4、EF PHB。此时DSCP字段的最高3位为101(整个DSCP字段为101110,即十进制46)。EF PHB用于提供低时延服务。EF快速转发
|
|
|
|
|
| 0 | ECN | ECN |
类型选择PHB | - | - | - | 0 | 0 | 0 |
|
|
默认PHB | 0 | 0 | 0 | - | - | 0 |
|
|
AF PHB | 0 | 0 | 1 | - | - | 0 |
|
|
0 | 1 | 0 | - | - | 0 |
|
| |
0 | 1 | 1 | - | - | 0 |
|
| |
1 | 0 | 0 | - | - | 0 |
|
| |
EF PHB | 1 | 0 | 1 | 1 | 1 | 0 |
|
|
EF PHB提供的是低时延服务,应该具有最低的抖动和丢包率,因而必须限制EF的专用带宽,以免其他服务得不到可用带宽。在实际使用EF PHB的过程中要记住以下3点:
- 1、 关注最小化时延
- 2、 能够提供带宽保证。
- 3、 在网络出现拥塞时,EF会监管带宽。
AF PHB为4中类别提供了4种队列(AFxy):AF1y、AF2y、AF3y、AF4y。每种队列都有一个预定义的保留带宽,当某个特定队列上的流量超出了为该队列预留的带宽时,队列就会产生拥塞并引发丢包。
DSCP(十进制)=8x+2y
类 别 | 丢弃概率 | ||
低 | 中 | 高 | |
类别1 | AF11 DSCP 10 (001010) | AF12 DSCP 12 (001100) | AF13 DSCP 14 (001110) |
类别2 | AF21 DSCP 18 (010010) | AF22 DSCP 20 (010100) | AF23 DSCP 22 (010110) |
类别3 | AF31 DSCP 26 (011010) | AF32 DSCP 28 (011100) | AF33 DSCP 30 (011110) |
类别4 | AF41 DSCP 34 (100010) | AF42 DSCP 36 (100100) | AF43 DSCP 38 (100110) |
3.Qos服务类别
- 1、 标识流量类型及其需求
- 2、 基于所标识的需求信息进行流量分类
为一种或几种类型的流量创建的服务类别就是一个BA。通常定义为以为下4种
A、关键任务性 B、事务型 C、尽力而为型 D、清道夫型
- 3、 为每种服务类别定义相应的策略
不同标记到不同流量类型的映射
Cisco AutoQos 类别 | 二层Cos或IP优先级 | DSCP值 十进制 | DSCP值 二进制 | 代码名 |
尽力而为 | 0 | 0 | 000000 | BE |
清道夫 | 0 | 8 | 001000 | CS1(类别选择1) |
批量数据 |
1 | 10 | 001010 | AF11 |
12 | 001100 | AF12 | ||
14 | 001110 | AF13 | ||
网络管理 | 2 | 16 | 010000 | CS2(类别选择2) |
电话信令 | 3 | 26 | 011010 | AF31 |
本地关键 任务 | 3 | 28 | 011100 | AF32 |
30 | 011110 | AF33 | ||
流媒体流量 | 4 | 32 | 100000 | CS4(类别选择4) |
交互式 视频 流量 |
4 | 34 | 100010 | AF41 |
36 | 100100 | AF42 | ||
38 | 100110 | AF43 | ||
交互式语音荷载流量 | 5 | 46 | 101110 | EF |
4.信任边界
影响信任边界的因素:
- 1、 被信任设备必须在网络管理员的管理和控制之下,至少要能确信其流量标记与网络的Qos策略一致。
- 2、 不同设备在检查和设置/重置不同Qos标记方面的能力和特征集是不一样。
信任边界通常位置:
- 1、 端系统
- 2、 接入层交换机
- 3、 分布层交换
5.NBAR
NBAR(Network Based Application Recognition,基于网络的应用识别)是Cisco IOS提供的一个功能特性,可以完成以下3项工作:
- 1、 协议发现
- 2、 流量统计汇总
- 3、 流量分类
NBAR协议发现:要想发现通过某接口的网络流量,可以在该接口上应用NBAR协议发现机制。而且NBAR还可以报告包括输入/输出数据包总数和字节数以及输入/输出比特率等在内的流量统计信息。
NBAR PDLM:通过Cisco Sytems提供的PDLM文件加载到网络设备上,可以扩展NBAR所能支持的协议列表,并增强NBAR现有协议识别能力,加载PDLM不需要重载路由器设备。
NBAR应用支持:NBAR可以发现并分类使用静态端口的应用类型以及使用动态分配端口的应用类型。NBAR可以通过深度包检测进行流量分类,例如,NBAR可以基于URL,MIME类型和RTP净荷类型进行流量分类。如果要使用NBAR功能,必须首先在该设备的接口上开启CEF。
NBAR使用限制
- 1、 不支持FastEtherChannel逻辑接口
- 2、 最多同时处理24个URL,主机或MIME类型
- 3、 只能分析数据包的前400字节
- 4、 仅支持CEF,不支持其他交换模式
- 5、 不支持组播包,分段包以及安全HTTP
- 6、 不能分析和识别发往运行了NBAR的路由器的流量或从运行了NBAR的路由器发出的流量。