到这里,对QoS理解的还是模模糊糊,尤其对优先级信任、优先级映射、外部内部优先级、队列、PHB等关系搞不明白,然后又在网络搜索了一通,看了华为的一个系列如下:
/enterprise/zh/forum.php?mod=viewthread&tid=381459 QoS理论篇
/enterprise/zh/forum.php?mod=viewthread&tid=382275 QoS实现工具之MQC
/enterprise/zh/forum.php?mod=viewthread&tid=382933 QoS实现之报文简单分类与标记
/enterprise/zh/forum.php?mod=viewthread&tid=385047 QoS实现之限速
/enterprise/zh/forum.php?mod=viewthread&tid=385943 QoS实现之队列调度与报文丢弃
/cn/videos/cn/older/hw_266881 华为交换机QOS特性介绍.MP4
对QoS重新进行认识:
QoS的度量标准
1、带宽
带宽也称为吞吐量,是指在一个固定的时间内(1秒),从网络一端传输到另一端的最大数据位数,也可以理解为网络的两个节点之间特定数据流的平均速率。在网络中,有两个常见的与带宽有关的概念:上行速率和下行速率。上行速率是指用户向网络发送信息时的数据传输速率,下行速率是指网络向用户发送信息时的传输速率。
2、时延
时延是指一个报文或分组从网络的发送端到接收端所需要的延迟时间,一般由传输延迟及处理延迟组成。
3、抖动
如果网络发生拥塞,导致通过同一连接传输的分组延迟各不相同。抖动用来描述延迟变化的程度,也就是最大延迟与最小延迟的时间差。
4、丢包率
丢包率是指在网络传输过程中丢失报文的数量占传输报文总数的百分比
QoS服务模型
1、Best-Effort服务模型
2、IntServ服务模型
这个图很好的解释了RSVP资源预留协议的内涵,InterServ模型下,网络需要为某个业务预留一条专用通道。这种资源预留的状态称为“软状态”。
3、DiffServ服务模型
DiffServ服务模型,也叫差分服务模型,意思就是提供有差别的服务。DiffServ模型中,网络中的流量可以根据多种条件被分成多个类,或者标记不同的优先级。当网络出现拥塞时,不同的类会享受不同的优先处理,从而实现差分服务。
基于DiffServ模型的QoS组成及应用
DiffServ模型包含了四大组件,通过这四大组件实现端到端的QoS:
★ 报文分类和标记
要实现差分服务,首先需要将报文分为不同的类别。类别确定好了,设备才能针对性地提供服务。
★ 流量监管、流量整形和接口限速
流量监管是将流量限制在特定的带宽内。当业务流量超过额定带宽时,超过的流量将被丢弃。这样可以防止个别业务或用户无限制地占用带宽。
流量整形是一种主动调整流的输出速率的流控措施,使流量比较平稳地传送给下游设备,避免不必要的报文丢弃和拥塞。流量整形通常在接口出方向使用。
接口限速是对一个接口上发送或者接收全部报文的总速率进行限制。当不需要对报文类型进行进一步细化分类而要限制通过接口全部流量的速率时,接口限速功能可以简化配置。
★ 拥塞管理
拥塞管理是在网络发生拥塞时,通过一定的调度算法安排报文的转发次序,保证网络可以尽快恢复正常。拥塞管理通常在接口出方向使用。
★ 拥塞避免
拥塞避免可以监视网络资源(如队列或内存缓冲区)的使用情况。在拥塞有加剧的趋势时,主动丢弃报文,避免网络拥塞继续加剧。拥塞避免通常在接口出方向使用。
综上所述,报文分类是基础,是有区别地实施服务的前提,流量监管、流量整形和接口限速主要用于预防拥塞,拥塞管理和拥塞避免是用来解决拥塞。
Diffserv模型中,业务流的分类和汇聚工作在网络边缘由边界节点完成。边界节点可以通过多种条件(比如报文的源地址和目的地址、 ToS域中的优先级、协议类型等)灵活地对报文进行分类,对不同的报文设置不同的标记字段,而其他节点只需要简单地识别报文中的这些标记,即可进行资源分配和流量控制。
通过上图1,各种数据进入入接口,先进行报文分类标记,将数据流分成各种不同的种类,然后在进行流量监管和接口限速,其实这两个都是对带宽速率的限定,只是一个是对具体流分类的限速,一个是对数据流整体的限速。经过分类和限速后,数据报文进入交换机设备内部,在内部进行其他的处理(我自己的考虑,比如重新标记优先级等),然后进行入队列操作,入队列就可以进行拥塞避免,也就是按照规则主动丢包,这个我觉得还是要跟拥塞管理相关联的,先进行拥塞管理,或者说拥塞管理是一个大的概念,拥塞管理监控设备是否发送拥塞,发生了,即某些指标超过了限定值,即发生拥塞,拥塞管理先进行队列的调度(队列调度应该一直在进行,只是拥塞发生时应该有新的算法进行特殊情况处理吧),情况严重了,进行拥塞避免,开始主动丢包,拥塞管理还包括了出接口的流量整形、接口限速。
另外,在企业网络中,QoS的一系列技术不要求在同一台设备上应用,而应根据业务需要在不同位置应用。
QoS实现工具之MQC
然后,提到了QoS实现工具之MQC,QoS技术可以对网络中报文进行分类处理,根据优先级提供不同的差分服务,如何实现这种差分服务呢?有一种强大的配置方法-模块化QoS命令行MQC(Modular QoS Command-Line)。
MQC,又叫流策略,是指通过将某些具有相同特征的报文划分为一类,并为这一类报文提供相同服务的配置方法,通过MQC配置可以实现流量监管、重标记优先级等QoS业务,也可以实现流量统计、策略路由等其他网络常用功能
MQC包含三个要素,分别是流分类(traffic classifier)、流行为(traffic behavior)和流策略(traffic policy)。三要素通过下面的方式配合使用完成对流量的处理:
1、 配置流分类定义报文匹配规则
2、 配置流行为确定报文处理动作
3、 配置流策略,并将配置好的流分类和流行为绑定到一起
4、 在指定视图下应用流策略
通过上面的描述,其实就是前面讲的ACL中基于ACL的简单流策略实现的流策略实现方法。
配置流分类:常用的报文分类规则有如下几种:MAC地址、VLAN ID、802.1p优先级、
EXP优先级、ACL、DSCP优先级、IP优先级、所有报文、出接口或入接口。
配置流行为:如果配置流动作为重标记,表示对报文重新进行分类,可以重标记报文的802.1p优先级、DSCP优先级、本地优先级、目的MAC地址、流ID等等。重标记报文的802.1p优先级和DSCP优先级会影响下游设备对报文的QoS处理,不影响报文在本设备的QoS处理;重标记本地优先级则仅影响本设备对报文的QoS处理。
MQC作为一种实现QoS技术的理念,可以完成QoS技术中的流量监管和限速,报文的分类和重标记。除了MQC外,优先级映射提供了另一种报文分类和标记的方法。这一段特别重要,说明MQC是一种QoS,它使用的流分类是一种报文的分类和标记方法,而另一种则是优先级映射。
QoS实现之报文简单分类与标记
MQC中的流分类可以实现报文的分类,流行为可以对报文进行重标记,从而实现对流量的精细化差分服务。而优先级映射则可以根据802.1p优先级、DSCP优先级和本地优先级对报文进行分类,是另一种报文分类和标记的方法。注意这里只是说是一种分类和标记方法。
为什么要有优先级映射?
优先级映射用来实现报文携带的QoS优先级与设备本地优先级(即设备内部区分报文的服务等级)之间的转换,然后设备根据本地优先级提供有差别的QoS服务。
携带QoS优先级的报文到达设备后,外部优先级(如802.1p、DSCP)被映射成设备的本地优先级,这样设备才能够识别出该如何处理报文。报文离开设备时,本地优先级又被映射成外部优先级,从而保证报文到达下一台设备时,设备能够继续根据报文中的优先级字段提供差分服务。也就是说,通过优先级映射对报文分类是基础,是有区别地实施服务的前提。
用户可以根据网络规划在不同网络中使用不同的QoS优先级字段,例如在二层网络中使用802.1p优先级,三层网络中使用DSCP优先级,MPLS网络中使用EXP优先级。
VLAN帧头中的802.1p优先级如下:
IP报文头中的IP Precedence字段和DSCP字段如下:
IP优先级就是三位,不包括DTRC位。
RFC 791中将IP报文头中的ToS域的最高3位称为Precedence字段,标识8个IP优先级,从高到低顺序取值为7、6、5、4、3、2、1和0。
RFC 791定义的ToS域中,除了Precedence字段外,ToS域中还包括D、T、R三个比特,分别表示延迟要求、吞吐量和可靠性。
RFC 1349重新定义了ToS域,增加了C比特,表示传输开销。
RFC 2474又重新定义了ToS域,将0位~5位改名为DSCP字段,6位和7位是保留位(用于流控制)
DiffServ域模型的优先级映射
原理介绍
在DiffServ域模型下,优先级映射利用DS域来管理和记录QoS优先级与服务等级、颜色之间的映射关系,其过程如下:
1、在报文进入设备时,报文携带的QoS优先级被映射到设备内部服务等级和颜色。
2、设备根据报文的服务等级及颜色实现拥塞避免。
3、在报文离开设备时,内部服务等级和颜色被映射为QoS优先级。设备根据内部服务等级与QoS优先级之间的映射关系确定报文进入的队列,从而针对队列进行流量整形、拥塞避免、队列调度等处理。设备可以修改报文发送出去时所携带的QoS优先级,以便其他设备根据报文携带的优先级提供相应的QoS服务。
将QoS优先级映射到服务等级、颜色是对入方向的报文进行,而将服务等级、颜色映射为QoS优先级则是对出方向的报文进行,如图3所示。
服务等级,也叫本地优先级,是指报文在设备内部的服务质量,它决定了报文在设备内部所属的队列类型。服务等级以PHB(Per Hop Behavior)表示。
PHB行为:
每一个DS节点上对报文的处理称为PHB。PHB描述了DS节点对报文采用的外部可见的转发行为。PHB可以用优先级来定义,也可以用一些可见的服务特征如报文延迟、抖动或丢包率来定义。PHB只定义了一些外部可见的转发行为,没有指定特定的实现方式。
最初,RFC定义了四种标准的PHB:
★ CS(Class Selector,选择类器)
★ EF(Expedited Forwarding,加速转发)
★ AF(Assured Forwarding,确保转发)
★ BE(Best-Effort,尽力而为),为缺省的PHB
在RFC 2474中,CS又被划分为两个等级,即CS6和CS7。
在RFC 2597中,AF又被划分为四个等级,即为AF1~AF4。每个等级又有3个丢弃优先级,其表达形式为:AF1x~AF4x(x代表丢弃优先级,按照从低到高的丢弃优先级,取值为1~3)。
至此,PHB共有8个细分级别,按优先级从高到低依次为CS7、CS6、EF、AF4、AF3、AF2、AF1、BE。每个PHB在设备内部都有对应的服务等级,不同的服务等级将决定不同流的拥塞管理策略。同时每个PHB又再被划分为三个颜色(Color,也可以叫丢弃优先级),分别用Green、 Yellow和Red表示,不同的颜色将决定不同流的拥塞避免策略。RFC定义的与之对应的DSCP优先级如表1所示。
表1 RFC定义的PHB及与之对应的DSCP优先级
服务等级,也就是本地优先级,以PHB表示,PHB共8个级别,优先级从高到低依次为CS7、CS6、EF、AF4、AF3、AF2、AF1、BE,PHB到DSCP的对应表可见,PHB并不能对应上全部DSCP。
颜色是指报文在设备内部的丢弃优先级,用于决定当一个队列发生拥塞时报文的丢弃顺序,对本地优先级与队列的映射关系没有影响。颜色有3种取值,IEEE定义的优先级从低到高依次为Green、Yellow、Red。
丢弃优先级的高低实际取决于对应参数的配置。例如,配置Green最大只能使用50%缓存,Red最大可以使用100%缓存,则Green的丢弃优先级比Red高。所以并不是标记为Red的报文一定比标记为Green的报文丢弃优先级就高。
优先级映射与颜色无关,优先级映射只是与服务等级也就是本地优先级也就是PHB的8个级别映射。
DS字段的前6位(0位~5位)用作区分服务代码点DSCP(DS Code Point),后2位(6位、 7位)是保留位。 DS字段的前3位(0位~2位)是类选择代码点CSCP(Class Selector Code Point),相同的CSCP值代表一类DSCP。 DS节点根据DSCP的值选择相应的PHB。
优先级映射应用场景
企业园区网络中存在语音,数据和视频等多种业务流,当企业用户的不同业务流量进入ISP网络时,需要在整个网络中对三类业务区分优先级,保证语音优先级一直最高、视频其次、数据优先级最低,这样设备可以根据优先级的高低对三类业务提供不同的QoS服务。不同网络中的报文使用不同的优先级字段,例如二层网络中的报文使用802.1p优先级,三层网络中的报文使用DSCP优先级。报文在进入设备时,设备将报文携带的优先级映射到内部服务等级和颜色,再根据服务等级和颜色对报文进行不同的QoS服务。报文在出设备时,设备可以根据内部服务等级和颜色重标记报文优先级,以便后续网络根据报文优先级进行服务。
业务部署
l、 SwitchA入方向配置流策略将语音、视频、数据三类业务重标记不同的802.1p优先级,其中语音优先级最高、视频其次、数据最低。
2、 SwitchB入方向将802.1p优先级映射为服务等级和颜色, SwitchB根据服务等级和颜色为报文提供不同的QoS服务。
3、 SwitchB出方向根据服务等级和颜色重标记DSCP优先级,以便后续三层网络根据DSCP优先级为三类业务提供不同的QoS服务。
优先级映射关系
DiffServ域模型下,优先级映射的核心内容是配置优先级与PHB行为/颜色之间的映射关系。设备上有一个default域,它定义了缺省情况下报文的优先级和PHB行为/颜色之间的映射关系。
802.1p优先级的映射关系
在DiffServ域模型中,接口入方向上VLAN报文的802.1p优先级和PHB行为/颜色之间的缺省映射关系如表2所示。
★ VLAN报文在DiffServ域接口入方向上,802.1优先级(从低到高)与PHB行为(从BE到CS7)是一一对应的,且报文颜色全部是Green。
★ VLAN报文在DiffServ域接口出方向上,PHB行为(从BE到CS7)与802.1优先级(从低到高)是一一对应的,不管报文的颜色是Green、Yellow还是Red。
在入方向上,缺省情况下不管VLAN报文的802.1p优先级是多少,颜色始终都是Green,为什么在出方向上,会出现不同颜色的报文呢?
DSCP优先级的映射关系
入方向DSCP到PHB映射,可以做到每个DSCP值都有对应的PHB行为/颜色,反过来,PHB行为/颜色只对应特定的DSCP值。
本地优先级
在入方向上,缺省情况下不管VLAN报文的802.1p优先级是多少,颜色始终都是Green,为什么在出方向上,会出现不同颜色的报文呢?有两种可能的原因:
★ 在配置入方向优先级映射时,用户可以根据需要通过命令8021p-inbound 8021p-value phb service-class [ green | yellow | red ]指定报文的颜色。如果不指定,则默认报文为Green。
★ 报文经过入方向优先级映射进入设备之后,在经过出方向映射离开设备之前,还有一个设备本地的处理过程。在这个过程中,设备用本地优先级来标识报文。用户可以根据需要通过命令remark local-precedence { local-precedence-name | local-precedence-value } [ green | yellow | red ]对报文在设备内部进行重新分类,也就是重标记报文的本地优先级,并且可以指定报文的颜色。因此,在出方向上,会出现不同颜色的报文。
——以上解释是对8021p优先级映射来说的,因为默认8021p优先级映射本地优先级都是green色的。
★ VLAN报文和IP报文都可以进行本地优先级重标记。
★ 重标记报文的本地优先级,仅会影响当前设备对报文的QoS处理。
★ 重标记报文本地优先级的同时,报文的调度队列也会被修改。
★ 重标记报文本地优先级仅对设备入方向的报文生效。
通过上面的介绍,优先级映射只是8021p优先级、DSCP优先级到本地优先级的映射,没有提到IP优先级。
端口优先级到PHB行为/颜色的映射关系与802.1p到PHB行为/颜色的映射关系一致。颜色仅用在流量控制时识别是否丢包,对内部优先级与队列的映射关系没有影响。
配置优先级映射
配置优先级映射后,设备将根据报文携带的优先级信息或者端口优先级映射到相应的PHB行为/颜色,从而提供差异化的服务。
优先级映射的配置逻辑
1. 配置优先级信任模式:配置优先级信任模式可以确定设备根据哪种优先级进行映射。
2. 配置DiffServ域:配置DiffServ域可以确定报文优先级与内部优先级(服务等级)的映射关系。以便设备在根据内部优先级提供有差别的QoS服务。
3. 应用DiffServ域:将DiffServ域应用在对象上,使DiffServ域中的映射和重标记关系生效。
4. 配置内部优先级与队列索引关系:配置内部优先级与队列的索引关系可以将不同内部优先级的报文送入不同队列进行差分服务。因为设备上有缺省的内部优先级与队列索引的关系,该步骤可选
配置优先级信任模式
配置优先级信任模式可以确定设备根据哪种优先级进行映射。
设备提供两种优先级信任模式:——DiffServ域模型只提供8021p和DSCP两种优先级信任。
★ 信任报文的802.1p优先级
– 对于带VLAN Tag的报文,根据报文自带的802.1p优先级,查找802.1p优先级到内部优先级映射表,然后为报文标记内部优先级。
– 对于不带VLAN Tag的报文,设备将使用端口优先级,根据此优先级查找802.1p优先级到内部优先级映射表,然后为报文标记内部优先级。
★ 信任报文的DSCP优先级
根据报文的DSCP优先级,查找DSCP优先级到内部优先级映射表,为报文标记内部优先级。
(可选)配置端口优先级
在以下两种情况下,会使用到端口优先级:
★ 接口收到了不带VLAN Tag的报文,设备根据端口优先级对报文进行后续的差分服务。
★ 若在接口上使用命令trust upstream none取消了接口优先级映射的功能,报文只要能被转发,都根据端口优先级进行后续的差分服务。
配置 DiffServ域
当设备作为DiffServ域和其他网络的边界节点时,需要配置内部优先级和外部优先级的相互映射关系:
当业务流流入设备时,设备将报文携带的优先级信息映射到相应的PHB行为/颜色,在设备内部,根据报文的PHB行为进行拥塞管理,根据报文的颜色进行拥塞避免;
★ 当业务流流出设备时,设备将报文的PHB行为/颜色映射为相应的优先级,对端设备根据报文的优先级提供相应的QoS服务
qos map-table模型下的优先级映射
原理介绍
在qos map-table模型下,优先级映射实现从IP优先级到802.1p、IP优先级的映射,以及从DSCP到802.1p、丢弃优先级、DSCP优先级的映射,其过程如下:
1、在报文进入设备时,在端口信任报文携带的DSCP或者IP优先级的情况下,DSCP或者IP根据map-table被映射为802.1p优先级。
2、设备根据802.1p与本地优先级之间默认的映射关系确定报文进入的队列,从而针对队列进行流量整形、拥塞避免、队列调度等处理。
3、在报文离开设备时,设备修改报文发送出去时所携带的优先级,以便其他设备根据报文的优先级提供相应的QoS服务。
说明:仅部分盒式交换机不支持DiffServ域模型下的优先级映射,只支持qos map-table模型下的优先级映射。
qos map-table模型下,优先级映射配置的核心内容是配置DSCP优先级/IP优先级与其他优先级之间的映射关系。设备上定义了缺省的qos map-table映射关系表
QoS map-table模型下优先级与其他优先级的映射
qos map-table模型下,DSCP优先级可以映射成802.1p优先级、丢弃优先级(DP)或DSCP优先级。
qos map-table模型下,IP优先级可以映射成802.1p优先级或IP优先级。
802.1p优先级到本地优先级的映射
从直观上来看,qos map-table模型下,设备是将进入设备的报文中携带的DSCP优先级、IP优先级,映射成了离开设备时报文携带的另一种优先级。
而实际上,在设备内部,也有一个本地处理的过程。所有进入设备的报文,其外部优先级字段都是先被映射为802.1p优先级,再根据802.1p优先级映射为本地优先级;设备根据本地优先级进行队列调度的QoS处理。
从上面的描述中,可以理解为,QoS map-table映射模型是一种进入设备报文优先级到离开设备报文优先级的映射,即进端口和出端口报文优先级的映射,而且只提供了DSCP和IP优先级到其他优先级的映射关系。(DSCP——>8021p、DP、DSCP,IP——>8021p、IP),隐含的8021p优先级不需要映射,也就是进入的报文优先级和离开的报文优先级相同。而报文在设备内部的处理过程是都被映射为8021p优先级,内部根据8021p进行与本地优先级的映射和入队列。其与DiffServ域模型的对比,DiffServ域模型强调的是外部优先级与PHB行为/颜色的映射,这相当于map-table模型中默认的根据802.1p优先级映射为本地优先级。
现在再来看配置过程:
首先是信任模式配置,就是trust 8021p、dscp、ip-Precedence,就是指设备后续映射时的外部优先级,就是设备按照什么优先级进行到内部优先级的映射,对于有的设备,只信任8021p,这种设备可以说没有外部优先级到内部优先级的映射,也或者说外部优先级就是内部优先级,就按照8021p优先级进行入队列操作,但是可以进行内部优先级和队列索引关系的映射修改,每个设备都有一个默认的对应关系。有的设备信任三种优先级,但是只是在QoS map-table模型下,信任其中一种优先级,是指按照这种优先级进行到内部优先级的映射,映射也不是直接到内部优先级映射,中间有一个到8021p的映射,也就是说,信任的优先级先按默认映射关系映射成8021p优先级,在按照8021p优先级与内部优先级默认映射关系映射成内部优先级,如上图表10所示,因为8021p优先级到本地优先级(即内部优先级)的映射关系不可修改,信任的优先级(外部优先级)映射成8021p优先级就相当于映射成内部优先级了。而QoS map-table模型下所说的配置映射关系,如qos map-table dscp-dot1p是指入接口优先级到出接口优先级的映射,这个映射应该不影响入报文在设备中的调度、拥塞管理等QoS服务等级的。有的设备信任dscp和8021p两种优先级,即两种信任模式,但是是在DiffServ域模型下的,在这种模型下,在入端口,信任优先级即外部优先级先进行外部优先级到PHB行为/颜色的映射,因为PHB行为有8中,对应了8种优先级队列,相当于外部优先级到队列的映射,这种映射将直接影响报文在设备内部的QoS服务等级,在出端口,还将进行PHB行为/颜色到优先级的映射,即为离开设备的报文进行优先级标记,为后续设备准备必要的优先级。这种模型在需要分别对入报文和出报文分别设置到PHB行为/颜色的映射。
DiffServ域模型下的配置举例:
配置过程
SwitchA上的关键配置:
# 在SwitchA上创建DiffServ域domain1、domain2,并配置将部门1和部门2的802.1p优先级映射到本地优先级。
[SwitchA] diffserv domain domain1
[SwitchA-dsdomain-domain1] 8021p-inbound 0 phb af4 green
[SwitchA-dsdomain-domain1] quit
[SwitchA] diffserv domain domain2
[SwitchA-dsdomain-domain2] 8021p-inbound 0 phb af2 green
[SwitchA-dsdomain-domain2] quit
# 将DiffServ域domain1和domain2分别绑定到接口GE0/0/1、GE0/0/2。
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] trust upstream domain1
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] trust upstream domain2
[SwitchA-GigabitEthernet0/0/2] quit
配置完成后,可以通过命令display diffserv domain [ all | name ds-domain-name ]查看配置。
配置验证
使用测试仪,分别模拟部门1和部门2向SwitchA的接口GE0/0/1和GE0/0/2发送报文。发送的报文分别属于VLAN 100和VLAN 200,携带的802.1p优先级为0。
接口GE0/0/1上接收到的报文如下图所示:
报文到达接口,设备对报文进行优先级映射,然后通过接口GE0/0/3向SwitchB转发。在SwitchB上对接收到的报文进行抓包,可以看到:
后续用户可以根据报文的802.1p优先级,配置其他QoS功能,实现差分服务。
现在,我们以SwitchA上接口GE0/0/1接收到的报文为例,再重新回顾一下设备对报文进行优先级映射的整个过程:
1. 接口GE0/0/1接收到来自VLAN 100、802.1p优先级为0的报文。根据8021p-inbound 0 phb af4 green命令,将其PHB映射成AF4。
2. 由于没有修改本地优先级与各队列之间的对应关系,SwitchA使用缺省的映射关系,因此报文进入队列4。
3. SwitchA通过接口GE0/0/3的队列4将报文向SwitchB转发,可以在SwitchA上通过执行命令display qos queue statistics加以验证。这里只给出SwitchA上接口GE0/0/3队列4的显示信息,display回显中的其他队列的显示信息省略。
上面的例子是/enterprise/zh/forum.php?mod=viewthread&tid=382933 QoS实现之报文简单分类与标记 中的说明举例,从他的说明中可见,从SwitchA的GE0/0/3端口发出的报文其8021p优先级应该是4和2,但是我在前面的测试中得不出这样的结果。
qos map-table模型下的配置举例
用户需求
如图5所示,SwitchC与路由器互连,部门1和部门2可经由SwitchA和SwitchB访问网络。部门1和部门2分别属于VLAN 100和VLAN 200。
部门1需要得到更好的QoS保证,因此将来自部门1的数据报文DSCP优先级映射为45,将来自部门2的数据报文DSCP优先级映射为30。设备信任报文的DSCP优先级。当拥塞发生时,优先处理DSCP优先级高的报文。
配置思路
采用如下的思路配置优先级映射:
1. 创建VLAN,并配置各接口,使企业都能够访问网络。
2. 配置优先级映射,将来自部门1的数据报文DSCP优先级映射为45,将来自部门2的数据报文DSCP优先级映射为30。
配置过程
SwitchA上的关键配置:
# 配置接口信任报文的DSCP优先级。
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] trust dscp
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] trust dscp
[SwitchA-GigabitEthernet0/0/2] quit
# 配置优先级映射。
[SwitchA] qos map-table dscp-dscp
[SwitchA-dscp-dscp] input 0 to 63 output 45
[SwitchA-dscp-dscp] quit
SwitchB上的关键配置:
# 配置接口信任报文的DSCP优先级。
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] trust dscp
[SwitchB-GigabitEthernet0/0/1] quit
[SwitchB] interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2] trust dscp
[SwitchB-GigabitEthernet0/0/2] quit
# 配置优先级映射。
[SwitchB] qos map-table dscp-dscp
[SwitchB-dscp-dscp] input 0 to 63 output 30
[SwitchB-dscp-dscp] quit
配置验证
使用测试仪,分别模拟部门1和部门2向SwitchA、SwitchB的接口GE0/0/1发送报文。发送的报文分别属于VLAN 100和VLAN 200,携带的DSCP优先级为0。
在SwitchA、SwitchB的接口GE0/0/2上可以看到,报文的DSCP优先级分别被改成45和30。
上面的例子也是QoS实现之报文简单分类与标记中的例子,通过他的说明,部门1和部门2向SwitchA、SwitchB的接口GE0/0/1发送报文,报文分别属于VLAN 100和VLAN 200,携带的DSCP优先级为0。在SwitchA、SwitchB的接口GE0/0/2上可以看到,报文的DSCP优先级分别被改成45和30。这个应该与前面我理解的QoS map-table模型的映射一致,但是现在有个疑问,从SwitchA、B的GE0/0/1口发送的报文在相应的GE0/0/2上被映射成对应的45、30,那么反过来,从GE0/0/2进入的报文,从GE0/0/1发出,也进行相应的映射吗?
现在还有些不明白的是具体的实现,报文在设备内进行映射使,是否对报文的相关标记字段进行了修改(重标记),报文的颜色如何在报文中体现等。再就是对QoS映射的理解是否正确,在前面的实验中一直得不到预想中的结果,对配置的准确性,QoS理解的是否正确都不确定,在此期望有高手指定迷津,或是推荐一些好的资料,谢谢!。