服务质量背景

在传统的IP网络中,所有的报文都被无区别的等同对待,对报文传送的可靠性、传送延迟等性能不能提供保证。随着IP网络上新应用的不断出现,除了传统的 WWW、E-Mail、 FTP 应用外,用户还尝试在 Internet 上拓展新业务,比如 IP 电话、电子商务、多媒体游 戏、远程教学、远程医疗、可视电话、电视会议、视频点播、在线电影等。这些新业务有一个共同特点,即对带宽、延迟、延迟抖动等传输性能有着特殊的需求, 比如电视会议、视频点播等业务需要高带宽、低延迟和低延迟抖动。事务处理、Telnet 等关键任务虽然不一定要求高带宽,但要求低延迟,在拥塞发生时要求优先获得处理。对IP网络的服务质量也提出了新的要求;例如VOIP(语音,视频)等实时业务就对报文的传输提出了较高的要求,如果报文传输延迟太长,用户将不能接受,而相对于E-Mail和FTP业务对时间延迟并不敏感。

网络的普及,业务的多样化,使互联网流量激增,产生网络拥塞,转发时延增加,严重 时还会产生丢包,导致业务质量下降甚至不可用。所以,要在 IP 网络上开展这些实时 性业务,就必须解决网络拥塞问题。

解决网络拥塞的最好的办法是增加网络的带宽。但从运营、维护的成本考虑,这是不现 实的,同时增加带宽无法从根本上解决此问题,治标不治本。因此最有效的解决方案就 是应用一个“有保证”的策略对网络拥塞进行管理。

QoS 是 Quality of Service(服务质量)的简称, 其目的是针对各种业务的不同需求,为其提供端到端的服务质量保证。

服务质量指标

服务质量指标包括:

  • 带宽/吞吐量
  • 时延
  • 抖动(时延变化)
  • 数丢包率

带宽

带宽(bandwidth)也称为吞吐量(throughput),是指在一个固定的时间内(1 秒),从 网络一端传输到另一端的最大数据位数,也可以理解为网络的两个节点之间特定数据流 的平均速率。带宽的单位是比特/秒(bit/s,简写为 bps)。

在网络中,有两个常见的与带宽有关的概念——“上行速率”和“下行速率”。上行速率是指用户 向网络发送信息时的数据传输速率,下行速率是指网络向用户发送信息时的传输速率。例如,用 户用 FTP 上传文件到互联网,影响上传速度的就是“上行速率”;而从网上下载文件,影响下载 速度的就是“下行速率”。

带宽不足解决方法:

① 升级链路:最好的解决方法,但也是最昂贵的

② 先让重要的数据通过:队列技术

③ 二层帧Payload压缩:增加了延迟,广域网低速链路,IP报头压缩:RTC/TCP头部压缩

时延

时延(Latency)是指一个报文或分组从网络的一端传送到另一端所需要的时间。

以语音传输为例,时延是指从说话者开始说话到对方听到所说内容的时间。若时延太大, 会引起通话声音不清晰、不连贯或破碎。 大多数用户察觉不到小于 100 毫秒的延迟,当延迟在 100 毫秒和 300 毫秒之间时,说话 者可以察觉到对方回复的轻微停顿,这种停顿可能会使通话双方都感觉到不舒服。超过 300 毫秒,延迟就会很明显,用户开始互相等待对方的回复,当通话的一方不能及时接 收到期望的回复时,说话者可能会重复所说的话,这样会与远端延迟的回复碰撞,导致 重复。

时延,表示数据在传输中所产生的时间,主要包括:

① 传输时延

② 处理时延

③ 队列时延

传输时延:

也称串行(hang)化时延时,在链路上从一段发送到另一端产生的延迟,无法改变。

处理时延:

路由器把数据包从入接口放到出接口并处理数据包所产生的延迟,取决于路由器的性能,很难改变。

队列时延:

接口上为硬件队列,先进选出,不需要做处理;当硬件队列出现拥塞时,将数据放在软件队列中,当硬件队列通畅时,在将软件队列中的数据调到硬件队列中,从软件队列中的数据调到硬件队列中产生的延迟为队列时延。

抖动

时延变化,也称为抖动(Jitter),是指同一业务流中不同分组/包所呈现的时延不同,即每个包的端到端的时延不相等。

丢包率

少量的丢包(Loss)对业务的影响并不大,例如,在语音传输中,丢失一个比特或一个 分组的信息,通话双方往往注意不到。在视频图像广播期间,丢失一个比特或一个分组 可能造成在屏幕上瞬间的波形干扰,但视像很快恢复正常。但大量的丢包 会影响传输效率。所以,QoS 更关注的是丢包的统计数据——丢包率。丢包率是指在网 络传输过程中丢失报文占传输报文的百分比。

在UDP的传输中,没有重传机制,所以丢包相对于TCP会比较严重。

常见业务 QoS 指标

在 IP 网络上不同的业务对带宽、时延、时延抖动和丢包率等都有不同的需求。

服务模型

网络应用都是端到端的通信。两个主机进行通信,中间可能要跨越多个物理网络,经过 多个交换机,因此要实现现端到端的 QoS,就必须从全局考虑。QoS 的服务模型就是研 究采用什么模式实现全局的服务质量保证。

QoS 有如下三种服务模型:

  • 尽力而为(Best-Effort)服务模型
  • 综合服务(Integrated Service)模型,简称 IntServ 模型
  • 差分服务(Differentiated Service)模型,简称 DiffServ 模型

best-effort

Best-Effort 是最简单的 QoS 服务模型,应用程序可以在任何时候,发出任意数量的报文, 而且不需要通知网络。对 Best-Effort 服务,网络尽最大的可能性来发送报文,但对时延、 可靠性等性能不提供任何保证。 Best-Effort 服务模型适用于对时延、可靠性等性能要求不高的业务进行质量保证,是现 在 Internet 的缺省服务模型,它适用于绝大多数网络应用,如 FTP、E-Mail 等。

  • 优点:

a) 买不需要特殊的机制实现,通过 先进先出(FIFO)队列实现

b) 绝对公平

  • 缺点:

a) 没有服务保证

b) 无服务区分

inserv

IntServ 模型是指应用程序在发送报文前,需要通过信令(signaling)向网络描述它的流 量参数,申请特定的 QoS 服务。网络根据流量参数的描述,预留资源以承诺满足该请求。 在收到确认信息,确定网络已经为这个应用程序的报文预留了资源后,应用程序才开始 发送报文。应用程序发送的报文应该控制在流量参数描述的范围内。网络节点需要为每 个流维护一个状态,并基于这个状态执行相应的 QoS 动作,来满足对应用程序的承诺。

使用RSVP(Resource Reservation Protocol资源预留)协议 ,在一条已知路 径的网络拓扑上预先预留带宽、优先级等资源,路径沿途的各网元必须为每个要求服务 质量保证的数据流预留想要的资源。只有所有的网元都给 RSVP 提供了足够的资源,“路径” 方可建立。

  • 优点:

绝对保证服务

  • 缺点:

不能实现复用,维护出来的带宽如果没有特殊数据流通过,也无法给普通数据流使用,造成带宽浪费。

IntServ 模型要求端到端所有网络节点支持,而核心层、汇聚层和接入层的设备功能 参差不齐,很难要求在这方面做到统一。

diffserv

定义

DiffServ 模型的基本原理是将网络中的流量分成多个类,每个类享受不同的处理,尤其 是网络出现拥塞时不同的类会享受不同的优先级处理,从而得到不同的丢包率、时延以 及时延抖动。同一类的业务在网络中会被聚合起来统一发送,保证相同的延迟、抖动、 丢包率等 QoS 指标。

Diffserv 模型中,业务流分类和汇聚工作在网络边缘由边缘节点完成。边缘节点可以通 过多种条件(比如报文的源地址和目的地址、ToS 域中的优先级、协议类型等)灵活地 对报文进行分类,对不同的报文设置不同的标记字段,而其他节点只需要简单地识别报 文中的这些标记,就可以进行资源分配和流量控制。因此,DiffServ 是一种基于报文流 的 QoS 模型。

对比

与 Intserv 模型相比,DiffServ 模型不需要信令。在 DiffServ 模型中,应用程序发出报文 前,不需要预先向网络提出资源申请,而是通过设置报文的 QoS 参数信息,来告知网络 节点它的 QoS 需求。网络不需要为每个流维护状态,而是根据每个报文流指定的 QoS 参数信息来提供服务,对报文的服务等级划分,有差别地进行流量控制和转发,提供端 到端的 QoS 保证。

原理

DiffServ 的基本思想是在网络边缘将进入网络的流分成各种不同的类型,将同种类型的 流合并起来进行统一管理,保证相同的传输速率、延迟、抖动等服务质量参数,并对每 一种类型的流在网络中分别进行处理。

业务分类和汇聚工作在网络的边缘节点进行,首先数据包被标识为一定的服务类型,并 记录在包头字段里,然后将数据包按一定的流量控制策略送入网络。网络中心节点通过 检查包头来确定对包进行何种处理。

DiffServ 模型充分考虑了 IP 网络本身灵活性、可扩展性强的特点,将复杂的服务质量保 证通过报文自身携带的信息转换为单跳行为,从而大大减少了信令的工作。因此, DiffServ 模型不但适合运营商环境使用,而且也大大加快了 QoS 在实际网络中应用的进 程,是当前网络中的主流服务模型。

基于 DiffServ 模型的 QoS 组成

基于 DiffServ 服务模型的 QoS 业 务可以分为以下几大类:

  • 流分类和标记(Traffic classification and marking):要实现差分服务,需要首先将 数据包分为不同的类别或者设置为不同的优先级。将数据包分为不同的类别,称为 流分类,流分类并不修改原来的数据包。将数据包设置为不同的优先级称为标记, 而标记会修改原来的数据包。
  • 流量监管和整形(Traffic Policing and Shaping):是指将业务流量限制在特定的带 宽,当业务流量超过额定带宽时,超过的流量将被丢弃或缓存。其中,将超过的流 量丢弃的技术称为流量监管,将超过的流量缓存的技术称为流量整形。
  • 拥塞管理和避免(Congestion Management and Avoidance):拥塞管理在网络发生 拥塞时,将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序。而拥 塞避免可以监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报 文的策略,通过调整流量来解除网络的过载。
  • 端口镜像和流镜像(Port Mirror and Traffic Mirror):镜像是将指定端口的指定报 文复制一份到镜像目的端口,镜像目的端口会与数据监测设备相连,用户利用这些 数据监测设备来分析复制到目的端口的报文,进行网络监控和故障排除。

流分类和标记是实现差分服务的前提和基础;流量监管、流量整形、拥塞管理和 拥塞避免从不同方面对网络流量及其分配的资源实施控制,是提供差分服务的具体体 现。

QoS 几大类组成在网络设备上有着一定的处理顺序,一般情况下按图 2-4 的顺序处理:

上文提到的四个 QoS 组件按照 DiffServ 模型和业务开展的需要在网络的不同位置实施。 原则上在业务接入端口入方向实施流分类/标记、流量监管;业务接入端口出方向实施流 量整形(如果业务接入端口接入多个不同等级的业务,则业务接入端口出方向还要实施 队列调度和丢包策略);网络侧端口出方向实施拥塞管理和拥塞避免。

流分类和流标记

定义

流分类是对进入 DiffServ 域的业务进行分类,以便在网络中得到相应的适当处理。流分 类主要目的是让其他处理此报文的应用系统或设备知道该报文的类别,并根据这种类别 对报文进行一些事先约定了的处理。

当报文在 DiffServ 域边界被分类之后,网络的中间节点就可以根据分类,对不同类别的 流量给予差别服务。下游(downstream)节点可以选择使用上游(upstream)节点的分 类结果,也可以按照自己的分类标准对数据流重新进行分类。

分类方法

业务流进入 DiffServ 域时,可以有多种方法对它进行分类,例如根据报文所携带的 QoS 优先级位,识别出不同优先级特征的流量;或根据源地址、目的地址、MAC 地址、IP 协议或应用程序的端口号等信息对流进行分类,也可以根据业务等级协议 SLA 规定的 一些策略给每个数据包加上标记,从而对数据包进行分类。

根据不同的方法实现流分类的技术可以被分成“简单流分类(Behavior Aggregate Classifier)”与“复杂流分类(Multi-Field Classifier)”。

简单流分类

简单流分类是指采用简单的规则,如只根据 IP 报文的 VLAN 报文的 802.1p 值,IP 报文 的 ToS 值、IPv6 报文的 TC 值、MPLS 报文的 EXP 域值,对报文进行粗略的分类,以识 别出具有不同优先级或服务等级特征的流量,实现外部优先级和内部优先级之间的映 射。

即根据优先级映射表,将上行报文携带的 QoS 优先级统一映射到设备内部的服务等 级和颜色,将下行报文的内部的服务等级和颜色映射成为 QoS 优先级。简单流分类的好处是直接查看前面的报头,而无需关心更高层的标识。

与 QoS 相关的报文字段主要包括:

  • 802.1p 字段

对于以太帧,根据 VLAN 帧头中的 802.1p(PRI)字段进行流分类,PRI 字段长为 3bit,可以表示 8 个传输优先级,按照优先级从高到低顺序取值为 7、6、……、1 和 0,不同的优先级标识了不同等级的服务质量需求。

  • IP 报文 ToS 字段

对于 IP 报文,基于 IP 包首部中的 ToS 域的前三位(即 IP Precedence)或前 6 位(即 DSCP 域)来标记报文。使用 IP 优先级可以将报文最多分成 8 类;使用 DSCP 域可 将报文最多分成 64 类。

RFC 1349 中定义的 ToS 域各比特位的含义:

− 比特 0~2 表示 Precedence 字段。代表报文传输的 8 个优先级,按照优先级从高 到低顺序取值为 7、6、……、1 和 0,与 802.1p 字段对应的报文优先级一一对 应。

− D 比特表示延迟要求(Delay,0 代表正常延迟,1 代表低延迟)。

− T 比特表示吞吐量(Throughput,0 代表正常吞吐量,1 代表高吞吐量)。

− R 比特表示可靠性(Reliability,0 代表正常可靠性,1 代表高可靠性)。

− C 比特表示传输开销(Monetary Cost,0 代表正常传输开销,1 代表低传输开销)。

− 比特 6 和 7 保留。

RFC 2474 则定义比特 0~6 表示 DSCP 域,其中前 3 比特是类选择代码点 CSCP(Class Selector Code Point),通过这 3 个比特位可以将 DSCP 域划分为 8 个优先级,按照 优先级从高到低顺序取值为 7、6、……、1 和 0,与 802.1p 字段对应的报文优先级 一一对应。后 3 比特的含义在后文介绍中作用不大,此不详细描述。

  • MPLS 的 EXP 字段

对于 MPLS 报文,则一般是根据 MPLS 报文中的 Exp 域进行流分类。Exp 域包括 3 位,通常作为 MPLS 报文的 CoS 域,表示报文传输的 8 个优先级,按照优先级从 高到低顺序取值为 7、6、……、1 和 0,与 IP 网络的 ToS 或 DSCP 字段对应的报文 优先级一一对应。

QoS 优先级映射

不同的报文使用不同的 QoS 优先级,例如以太报文使用 802.1p,IP 报文使用 DSCP, MPLS 报文使用 EXP。为了保证不同报文的服务质量,在报文进入设备时,需要将报文 携带的 QoS 优先级统一映射到设备内部的服务等级 Class of Service(CoS,也叫做调度 优先级 PHB)和丢弃优先级(也叫颜色 Color)。

在设备内部,根据报文的服务等级进行 拥塞管理,根据报文的颜色进行拥塞避免;

在报文出设备时,需要将内部的服务等级和 颜色映射为 QoS 优先级,以便后续网络设备能够根据 QoS 优先级提供相应的服务质量。

将 QoS 优先级映射到服务等级和颜色是在报文上行方向进行,而服务等级和颜色映射为 QoS 优先级则是在下行方向进行,如图 2-8 所示。

  • CoS(Class of Service)

CoS 是指报文在设备内部的服务等级,支持 8 种取值,前文我们已经提到过了,优 先级从高到低依次为 CS7、CS6、EF、AF4、AF3、AF2、AF1、BE。

Class of Service 决定了报文在设备内部所属的队列类型。服务等级的高低取决于具体的队列调度算法配置:

-如果 8 种类型的队列都配置为 PQ 调度,则 CS7>CS6>EF>AF4>AF3>AF2>AF1>BE;

-如果 8 种类型的队列都配置成 WFQ 调度,则相互之间无优先级高低之分。

  • Color

Color 是指报文在设备内部的丢弃优先级,用于实现同一个队列内部,当队列发生 拥塞时报文丢弃顺序。

Color 支持 3 种颜色划分(取值),前文已经提到过,IEEE 定义的优先级从低到高依次为 Green、Yellow、Red。

丢弃优先级的高低实际取决于对应参数的配置,例如:配置 Green最大只能使用50% 缓存,Red 最大可以使用 100%缓存,则 Green 的丢弃优先级比 Red 高。

所以并不 是标记为 Red 的报文一定比标记为 Green 的报文丢弃优先级就高,优先级的高低完 全取决与配置。

  • 端口信任

在前文中介绍流分类时提到:“当报文在 DiffServ 域边界被分类之后,网络的中间 节点可以根据分类结果对不同类别的流量给予差别服务。下游节点可以选择使用上 游节点的分类结果,也可以按照自己的分类标准对数据流重新进行分类”。

那么, 如果选择使用上游节点的分类结果,则表示该节点信任上游节点的分类结果,即信 任(trust)从连接上游节点的端口接收的报文所携带的 QoS 标记。因此,设备在实 现 QoS 优先级映射时,可以选择信任端口的上行报文携带的优先级标记(包括 DSCP、IP Precedence、802.1p、MPLS EXP),这种模式称为端口信任模式。

目前交换机设备支持两种优先级信任模式:

− 信任报文的 802.1p 优先级

配置为信任 802.1p 优先级时,设备根据报文的 802.1p 优先级(对于 Untag 报文, 设备使用端口优先级)对报文进行分类,并查找 802.1p 优先级到服务等级的映 射表,为报文标记服务等级,以提供不同的服务质量。

− 信任报文的 DSCP 优先级

配置为信任 DSCP 优先级时,设备根据报文的 DSCP 优先级对报文进行分类, 并查找 DSCP 优先级到服务等级的映射表,为报文标记服务等级,以提供不同 的服务质量。

复杂流分类

随着网络的普及,网络中的业务越来越多样化,多种业务流共享同一网络资源,简单的 流分类措施很难满足要求。这样,就要求网络具备很强的业务感知能力,能进行深度报 文分析,对报文任意层次和字段的全面解析。

复杂流分类是指采用复杂的规则,如综合链路层、网络层、传输层信息,如由报文的源 MAC、目的 MAC、内外层 Tag、源 IP 地址、源端口号、目的 IP 地址、目的端口号等对报文进行精细的分类。

复杂流分类主 要部署在网络的边缘节点。

将这些流分类和对应可实施的 流行为关联,形成流策略,并将流策略与指定接口、VLAN 或者全局绑定,可实现丰富 的 QoS 流策略,这就是基于复杂流分类的 QoS 流策略(通常被称为“基于类的 QoS”)。

基于复杂流分类的 QoS 策略是对 QoS 策略配置的抽象,是“模板化”的 QoS 配置方式。 “模板化”的最大优点是可以节省配置,支持批量修改。

流策略“模板”分为三部分:

  • 流分类(Classifier)模板:定义流量类型。用 if-match 语句设定流分类的匹配规则。
  • 流行为(Behavior)模板:定义针对该类流量可实施的流行为。
  • 流策略(Policy)模板:在流策略模板中将流分类和流行为关联。当 Policy 模板设 置完毕之后,需要将 Policy 模板应用到接口、VLAN 或者全局。

流分类

配置流分类可以将符合一定规则的报文分为一类,区分出用户流量,是实现差分服务的 前提和基础。流分类各规则之间属于并列关系,只要匹配规则不冲突,都可以在同一流 分类中配置。

如果流分类有多个匹配规则,则这些规则之间有 And 和 Or 两种逻辑关系:

  • Or 逻辑:数据包只要匹配该流分类下的任何一条 if-match 子句定义的规则就属于该 类。
  • And 逻辑:当流分类中有 ACL 规则时,数据包必须匹配其中一条 ACL 规则以及所 有非 ACL 规则才属于该类;当流分类中没有 ACL 规则时,则报文必须匹配所有非 ACL 规则才属于该类。

流行为

为符合流分类规则的流量指定后续动作,是配置流策略的前提条件。设备 支持报文过滤、重标记、重定向、流量监管、流量统计等流行为。标记:

流策略

将绑定了流行为与流分类的完整流策略应用到全局、接口或者 VLAN 上,才能最终实现 针对不同业务的差分服务。

机支持在创建流策略时指定流策略中流分类的匹配顺序,包括自动顺序(auto) 和配置顺序(config)两种:

如果选择自动顺序,匹配顺序由系统预先指定的流分类优先级决定,该优先级由高到低 依次为:基于二层和三层信息流分类 > 基于二层信息流分类 > 基于三层信息流分类。 规则优先匹配优先级高的流分类。

如果选择配置顺序,匹配顺序由流分类在流策略中绑定的先后顺序决定。规则优先匹配 绑定在先的流分类。

流标记

设置/改写报文的优先级字段,用于向下一台设备传递差分服务的 QoS 信息的动作称为 “流标记”,也称为“重标记”。

报文原有优先级向内部优先级的映射关系,其流 程是在端口入方向上实现的;本节关注的流标记动作则是将报文的内部优先级映射到报 文的优先级字段(修改报文的优先级字段),其流程实在端口出方向上实现的。

使用 DiffServ 域来实现流标记的优先级映射时,具体的映射关系为包括:

  • PHB 行为/颜色到以太报文 802.1p 优先级的映射关系请参见表 2-10。
  • PHB 行为/颜色到 IP 报文 DSCP 优先级的映射关系请参见表 2-11。
  • PHB 行为/颜色到 IP 报文 Precedence 优先级的映射关系请参见表 2-12。

使用 Map-Table 来实现流标记时,IP 报文 DSCP 字段到以太报文 802.1P 字段、IP 报文 DSCP 字段到 DSCP 字段优先级和丢弃优先级、以及 IP 报文 Precedence 字段以太报文 802.1P 字段、IP 报文 Precedence 字段到 Precedence 字段优先级的映射关系,如表 2-14 和表 2-15 所示。

流分类和流标记的应用

流分类和标记是 QoS 实现差分服务的基础,只有基于流量进行了分类后才可以实现对不 同业务的区别对待。 流分类和标记往往用在 Diffserv 域的边缘,如下图所示。

推荐流量分类配置:

  • 如果按照业务区分(比如语音、视频等),二层一般基于 VLAN,三层基于 DSCP, 因为这些业务性质不同,对带宽和延时的要求不一,所以前期都应该按照这些标记 区分;

不同业务由于其带宽和时延要求不一样,一般推荐不同的优先级。常见推荐优先级请参 见

  • 同是数据业务,根据应用的不同进行区分(比如邮件、BT 下载等),可以按照端口 号区分。常见应用的端口号如下:

  • 如果需要根据地域区分(比如企业总部和分部权限不同),一般根据 IP 地址区分, 因为一般前期规划时都是不同的地域使用的不同网段

流量监控和流量整形

流量监管和流量整形通过监督进入网络的流量速率,进而限制流量及其资源的使用,保 证更好的为用户提供服务。 如果报文的发送速率大于接收速率,或者下游设备的接口速率小于上游设备的接口速 率,就会引起网络的拥塞。如果不限制用户发送的业务流量,大量用户不断突发的业务 数据会使网络更加拥挤。为了使有限的网络资源能够更好地发挥效用,更好地为更多的 用户服务,必须对用户的业务流量加以限制。

流量监管

流量监管 TP(Traffic Policing)是指对进入设备的流量进行监控,确保其没有滥用网络 资源。通过监控进入网络的某一流量的规格,限制它在一个允许的范围之内,若某个连 接的报文流量过大,就对流量进行惩罚,比如丢弃报文,或重新设置该报文的优先级(比 如限制 HTTP 报文不能占用超过 50%的网络带宽),以保护网络资源和运营商的利益不 受损害。

运营商之间都签有服务水平协议(SLA),其中包含每种业务流的承诺速率 CIR (Committed Information Rate)、峰值速率 PIR(Peak Information Rate)、承诺突发尺寸 CBS(Committed Burst Size)、峰值突发尺寸 PBS(Peak Burst Size)等流量参数,对超 出 SLA 约定的流量报文可指定给予 pass(通过)、drop(直接丢弃)或 markdown(降级) 等处理,此处降级是指降低服务等级(Class of Service),或者是提高丢弃等级(Color), 即报文在网络拥塞时将被优先丢弃,从而保证在 SLA 约定范围之内的报文享受到 SLA 预定的服务。

对应 于 SLA 预定的处理动作,流量监管动作包括:

  • 转发(pass):对测量结果不超过承诺速率(CIR)的报文通常处理为继续正常转发。
  • 丢弃(discard):对测量结果超过峰值速率(PIR)的报文通常进行丢弃。
  • 重标记(remark):对处于 CIR 与 PIR 之间的流量通常执行 Remark 动作,此时的报 文不丢弃,而是通过 Remark 降低优先级进行尽力而为转发。

流量监管的应用

流量监管主要应用于网络边缘入口处,对超出 SLA 约定的流量报文给予通过、直接丢 弃或降级处理,从而保证在 SLA 约定范围之内的报文享受到 SLA 预定的服务,同时保 证核心设备的正常数据处理,如图 2-17 所示。

企业用户通过接入交换机连接广域网和企业内部局域网,局域网的带宽(100Mbps)通 常比广域网(2Mbps 或更低)高。当局域网用户试图通过广域网发送大量数据时,在网 络边缘就会发生拥塞。这种情况下,可以在网络边缘交换机的入口处进行流量监管,限 制大流量数据的速率。如图 2-18 所示。

流量监管和其他 QoS 策略的配合

流量监管通常和拥塞避免、重标记等其他的 QoS 策略配合使用,共同提供全网 QoS 保 障。

图 2-21 是流量监管和拥塞避免配合使用的场景。假设有 4 个用户网络集合到一台 ISP 网络的边缘交换机。根据 SLA 规定,每个用户网络都不能发送超过 256Kbps 的 FTP 数 据流,但有时他们可随意发送,甚至会发送超过 1Mbps 的 FTP 数据流。当一个用户网 络发送了大量的 FTP 数据流时,可能会干涉到某个其他用户网络的 FTP 数据流,即使 这些用户网络按照 256kbps 甚至更低速率在发送。此种情况中,可以在每个入接口上配 置基于类的流量监管,监测入接口的 FTP 的速率,并重标记报文的 DSCP 值。如果速率 小于等于 256Kbps,分组被标记为 AF11,如果速率在 256Kbps 到 1Mbps 之间,分组被 标记为 AF12,如果速率超过 1Mbps 的分组标记为 AF13。在 ISP 网络的其他节点出接口 上对 AF 类流量配置 WRED(Weighted Random Early Detection)丢弃策略,避免网络拥 塞。WRED 根据分组的 DSCP 标记丢弃该类分组。首先丢弃 AF13 分组,AF12 分组和 AF11 分组就会在最后被丢弃。

流量整形

流量整形是对输出报文的速率进行控制,使报文以均匀的速率发送出去。

流量整形通常是为了使报文速率与下游设备相匹配。当从高速链路向低速链路传输数 据,或发生突发流量时,带宽会在低速链路出口处出现瓶颈,导致数据丢失严重。

流量整形的应用

流量整形的典型应用是基于下游网络节点的流量监管的 SLA 指标来控制本地流量的输 出,减少报文丢失。

流量监管和整形的比较

  • 相同点:

− 作用都是监控网络流量

− 都是用令牌桶算法评估流量速率

− 主要都用于网络边缘

  • 差异点:

拥塞管理和避免

拥塞概述

定义

拥塞是在共享网络上多个用户竞争相同的资源(带宽、缓冲区等)时发生的问题。例如, 由于广域网的带宽通常要比局域网的带宽小,当一个局域网的用户向另一个局域网的用 户发送数据时,由于广域网的带宽小于局域网的带宽,数据将不可能按局域网发送的速 度在广域网上传输。此时,处在局域网和广域网之间的边缘交换机上将发生拥塞,如图 2-30 所示。

发生场景

拥塞经常发生于图 2-31 所示的情况:

  • 速率不匹配:分组从高速链路进入设备,再由低速链路转发出去。
  • 汇聚问题:分组从多个接口同时进入设备,由一个没有足够带宽的接口转发出去。

不仅仅是链路带宽的瓶颈会导致拥塞,任何用于正常转发处理的资源的不足(如可分配 的处理器时间、缓冲区、内存资源的不足)都会造成拥塞。此外,在某段时间内对所到 达的流量控制不力,使之超出了可分配的网络资源,也是引发网络拥塞的一个因素。

影响

拥塞有可能会引发一系列的负面影响:

  • 拥塞增加了报文传输的延迟和延迟抖动。
  • 过高的延迟会引起报文重传。
  • 拥塞使网络的有效吞吐率降低,造成网络资源的损害。
  • 拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能 导致系统陷入资源死锁而崩溃。

解决方法

任何一个实用的网络都需要解决网络拥塞的管理问题,也就是解决有限的网络资源与用 户需求间的矛盾,在满足用户对服务质量要求的前提下尽可能地充分利用网络资源。

通常用如下两种策略来缓解网络拥塞:

  • 拥塞管理(Congestion Management):指网络在发生拥塞时,如何进行管理和控制。 处理的方法是使用队列技术,将从一个接口发出的所有报文放入多个队列,按照各 个队列的优先级进行处理。不同的队列调度算法用来解决不同的问题,并产生不同 的效果。
  • 拥塞避免(Congestion Avoidance):通过监视网络资源(如队列或内存缓冲区)的 使用情况,在拥塞有加剧的趋势时,主动丢弃报文,通过调整网络的流量来解除网 络过载的一种流量控制机制。拥塞避免用于防止因为线路拥塞而使设备的队列溢 出。

拥塞管理

队列概述

拥塞管理的中心内容是当拥塞发生时如何制定一个策略,用于决定报文转发的处理次序 和丢弃原则,一般采用队列技术。

队列指的是在缓存中对报文进行排序的逻辑。当流量的速率超过出接口带宽或超过为该流 量设置的带宽时,报文就以队列的形式暂存在缓存中。将所有要从一个接口发出的报文进入多个队列,按照各个队列的优先级进行处理。报文离开队列的时间、顺序,以 及各个队列之间报文离开的相互关系由队列调度算法决定。

不同的队列算法用来解决不同的问题,并产生不同的效果。常用的队列技术有FIFO、PQ、CQ、WFQ、CBWFQ等;

华为交换机设备的每个端口上都有 8 个下行队列,称为 CQ(Class Queue)队列,也叫 端口队列(Port-queue),在交换机内部与前文提到的 8 个 PHB 一一对应,分别为 BE、 AF1、AF2、AF3、AF4、EF、CS6 和 CS7。 单个队列的报文采用 FIFO(First In First Out)原则入队和出队。

队列调度

QoS 支持多种形式的队列调度:

  • FIFO(First In First Out,先进先出)队列

FIFO队列具有处理简单,开销小的优点。但FIFO不区分报文类型,采用尽力而为的转发模式,使对时间敏感的实时应用(如VOIP)的延迟得不到保证,关键业务的带宽也不能得到保证。

  • PQ(Priority Queuing 优先队列)调度

PQ(Priority Queuing)调度,就是严格按照队列优先级的高低顺序进行调度。只有 高优先级队列中的报文全部调度完毕后,低优先级队列才有调度机会。

采用 PQ 调度方式,将延迟敏感的关键业务放入高优先级队列,将非关键业务放入 低优先级队列,从而确保关键业务被优先发送。

PQ可以根据网络协议(如IP、IPX)、数据流入接口、报文长短、IP报文的ToS、五元组(协议ID、源IP地址、目的IP地址、源端口号、目的端口号)等条件进行分类;

PQ 调度的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么 低优先级队列中的报文就会由于得不到服务而“饿死”。

  • RR(Round Robin)调度

RR 调度采用轮询的方式,对多个队列进行调度。RR 以环形的方式轮询多个队列。 如果轮询的队列不为空,则从该队列取走一个报文;如果该队列为空,则直接跳过 该队列,调度器不等待。

RR 调度各个队列之间没有优先级之分,都能够有相等的概率得到调度。

RR 调度的缺点是:所有队列无法体现优先级,对于延迟敏感的关键业务和非关键业务 无法得到区别对待,使得关键业务无法及时得到处理。

  • WRR(Weighted Round Robin)调度

加权轮询 WRR(Weighted Round Robin)调度主要解决 RR 不能设置权重的不足。 在轮询的时候,WRR 每个队列享受的调度机会和该队列的权重成比例。RR 调度相 当于权值为 1 的 WRR 调度。

WRR 的实现方法是为每个队列设置一个计数器 Count,根据权重进行初始化。每次 轮询到一个队列时,该队列输出一个报文且计数器减一。当计数器为 0 时停止调度 该队列,但继续调度其他计数器不为 0 的队列。当所有队列的计数器都为 0 时,所 有计数器重新根据权重初始化,开始新一轮调度。在一个循环中,权重大的队列被 多次调度。

WRR 调度有两个缺点:

− WRR 调度按照报文个数进行调度,因此每个队列没有固定的带宽,同等调度机 会下大尺寸报文获得的实际带宽要大于小尺寸报文获得的带宽。

而用户一般关 心的是带宽。当每个队列的平均报文长度相等或已知时,通过配置 WRR 权重, 用户能够获得想要的带宽;但是,当队列的平均报文长度变化时,用户就不能 通过配置 WRR 权重获取想要的带宽。

− 低延时需求业务(如语音)得不到及时调度。

  • DRR(Deficit Round Robin)调度

差分轮询 DRR(Deficit Round Robin)调度实现原理与 RR 调度基本相同。 DRR 与 RR 的区别是:RR 调度是按照报文个数进行调度,而 DRR 是按照报文长度进行 调度。

DRR 为每个队列设置一个计数器 Deficit,Deficit 初始化为一次调度允许的最大字节数, 一般为接口 MTU。每次轮询到一个队列时,该队列输出一个报文且计数器 Deficit 减去 报文长度。如果报文长度超过了队列的调度能力,DRR 调度允许 Deficit 出现负值,以 保证长报文也能够得到调度。但下次轮循调度时该队列将不会被调度。当计数器为 0 或 负数时停止调度该队列,但继续调度其他计数器为正数的队列。当所有队列的 Deficit 都为 0 或负数时,将所有队列的 Deficit 计数器加上初始值,开始新一轮调度。

假设某端口 MTU=150Bytes,有 2 个队列 Q1 和 Q2 采用 DRR 调度,Q1 队列中有多个 200Bytes 的长报文,Q2 队列中有多个 100Bytes 的端报文,则调度过程如图 2-36 所示。

  • DWRR(Deficit Weighted Round Robin)调度

差分加权轮询 DWRR(Deficit Weighted Round Robin)调度主要解决 DRR 不能设置 权重的不足。DRR 调度相当于权值为 1 的 DWRR 调度。

DWRR 为每个队列设置一个计数器 Deficit,Deficit 初始化为 Weight*MTU。每次轮 询到一个队列时,该队列输出一个报文且计数器 Deficit 减去报文长度。当计数器 为 0 时停止调度该队列,但继续调度其他计数器不为 0 的队列。当所有队列的计数 器都为 0 时,所有计数器的 Deficit 都加上 Weight*MTU,开始新一轮调度。

假设某端口 MTU=150Bytes,有 2 个队列 Q1 和 Q2 采用 DRR 调度,Q1 队列中有 多个 200Bytes 的长报文,Q2 队列中有多个 100Bytes 的端报文,Q1 和 Q2 配置权重 比为 weight1:weight2=2:1。则 DWRR 调度过程如图 2-37。

DWRR 调度避免了采用PQ调度时低优先级队列中的报文可能长时间得不到服务的 缺点,也避免了各队列报文长度不等或变化较大时,WRR 调度不能按配置比例分 配带宽资源的缺点。

但是,DWRR 调度也具有低延时需求业务(如语音)得不到及 时调度的缺点。

  • WFQ(Weighted Fair Queuing)调度

加权公平队列 WFQ(Weighted Fair Queuing)调度是按队列权重来分配每个流应占 有出口的带宽。同时,为了使得带宽分配更加“公平”,WFQ 以 bit 为单位进行调 度,类似于图 2-38 的 bit-by-bit 调度模型。

Bit-by-bit 调度模型可以完全按照权重分配带宽,防止长报文比短报文获得更多带宽,从 而减少大小报文共存时的时延抖动。 但 Bit-by-bit 调度模型只是理想化的模型,实际上,华为交换机实现的 WFQ 是按照一定 的粒度,例如 256B、1KB,或其他粒度,具体按何种粒度,与单板类型相关。

WFQ对报文按流特征进行分类,对于IP网络,相同源IP地址、目的IP地址、源端口号、目的端口号、协议号、ToS的报文属于同一个流;

每一个流被分配到一个队列,该过程称为散列,采用HASH算法来自动完成,这种方式会尽量将不同特征的流分入不同的队列中。每个队列类别可以看作是一类流,其报文进入WFQ中的同一个队列。WFQ允许的队列数目是有限的,用户可以根据需要配置该值。

在出队的时候,WFQ按流的优先级(precedence)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这样就保证了相同优先级业务之间的公平,体现了不同优先级业务之间的权值。

WFQ 的优点主要有以下几点:

  • 不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。
  • 短报文和长报文获得公平的调度:

由于流是自动分类,无法手工干预,故缺乏一定的灵活性,且受资源限制,当多个流进入同一个队列时无法提供精确服务,无法保证每个流获得的实际资源量。

拥塞避免

定义

拥塞避免是指通过监视网络资源(如队列或内存缓冲区)的使用情况,在拥塞有加剧趋 势时,主动丢弃报文,通过调整网络的流量来解除网络过载的一种流控机制。

两种丢弃策略:

  • 尾丢弃
  • WRED

尾丢弃

传统的丢包策略采用尾部丢弃(Tail Drop)的方法,同等的对待所有的报文,不对服务 等级进行区分。在拥塞发生期间,队列尾部的数据报文将被全部丢弃,直到拥塞解除。

  • tcp全局同步

这种丢弃策略会引发 TCP 全局同步现象。所谓 TCP 全局同步现象,是指当多个队列同 时丢弃多个 TCP 连接报文时,将造成多个 TCP 连接同时进入拥塞避免和慢启动状态,以降低并调整流量;而后这几个 TCP 连接又会在某个时刻同时出现流量高峰。如此反 复,使网络流量忽大忽小,影响链路利用率。

  • TCP饥饿

尾丢弃造成TCP流量之间分配带宽不均衡,一些“贪婪”的流量会占用大部分的带宽,而普通的TCP流量分配不了带宽而“饿死”。

特别是网路中既有TCP又有UDP流量的时候,TCP流量因为窗口机制(尾丢弃造成滑动窗口减小)而释放带宽,UDP流量没有窗口机制,于是UDP流量会迅速占用TCP释放的带宽,最终造成UDP流量占用了所有带宽而TCP流量因没有带宽分配而“饿死”;

  • 无差别丢弃

无差别的求其,没有区分各种不同优先级的报文。

WRED

加权随机早期检测 WRED(Weighted Random Early Detection)是在队列拥塞前进行报文 丢弃的一种拥塞避免机制。

WRED 通过随机丢弃报文避免了 TCP 的全局同步现象,当 某个 TCP 连接的报文被丢弃,开始减速发送的时候,其他的 TCP 连接仍然有较高的发 送速度。这样,无论何时总有 TCP 连接在进行较快的发送,提高了线路带宽的利用率。

WRED 为每个队列都设定一对低门限和高门限值,并规定:

  • 当队列长度小于低限时,不丢弃报文,丢弃概率为 0%。
  • 当队列长度超过高限时,丢弃所有新到来的报文,即进行尾丢弃,丢弃概率为 100%。
  • 当队列长度在低限和高限之间时,开始随机丢弃新到来的报文,且设定了一个最大 丢弃概率,队列越长,丢弃概率越大。如果以报文长度为横坐标,丢弃概率为纵坐 标,则丢弃概率曲线如图 2-40。

拥塞避免的应用

一般 WRED 配置在接入层交换机上行链接汇 聚层的端口,或者在汇聚层类似汇聚功能的交换机或者路由器链接上行的端口;

端口镜像和流镜像

定义

镜像是指将指定源的报文复制一份到目的端口。指定源被称为镜像源,目的端口被称为观察端口,复制的报文被称为镜像报文。

镜像可以在不影响设备对原始报文正常处理的情况下,将其复制一份,并通过观察端口发送给监控设备,从而判断网络中运行的业务是否正常。

原始报文经过的端口被称为镜像端口;连接监控设备的端口被称为观察端口,用于将镜像报文发送给监控设备。

根据监控设备在网络中位置的不同,可以将观察端口分为三类。

  • 本地观察端口:与监控设备直连的端口被称为本地观察端口。此时的镜像被称为本地镜像。
  • 二层远程观察端口:通过二层网络与监控设备相连的端口被称为二层远程观察端口。此时的镜像被称为二层远程镜像。
  • 三层远程观察端口:通过三层网络与监控设备相连的端口被称为三层远程观察端口。此时的镜像被称为三层远程镜像。

在设备上应用镜像功能时,如果镜像过多,会占用较多的设备内部转发带宽,影响其他业务转发。另外,如果镜像端口的带宽大于观察端口的带宽,比如,镜像端口的带宽是1000Mbit/s,观察端口的带宽是100Mbit/s,会导致观察端口因带宽不足而不能及时转发全部的镜像报文,发生丢包。

镜像源

镜像源可以是:

  • 端口:将指定端口接收或发送的报文复制到观察端口,此时的镜像被称为端口镜像。
  • VLAN:将指定VLAN内所有活动接口接收的报文复制到观察端口,此时的镜像被称为VLAN镜像。
  • MAC地址:将指定VLAN内源MAC地址或目的MAC地址为指定MAC地址的报文复制到观察端口,此时的镜像被称为MAC镜像。
  • 报文流:将符合指定规则的报文流复制到观察端口,此时的镜像被称为流镜像。

镜像方向

镜像方向是指将镜像端口指定方向的报文复制到观察端口,包括:

  • 入方向:将镜像端口接收的报文复制到观察端口上。此时的镜像被称为入方向镜像。
  • 出方向:将镜像端口发送的报文复制到观察端口上。此时的镜像被称为出方向镜像。
  • 双向:将镜像端口接收和发送的报文都复制到观察端口上。

端口镜像

端口镜像是指将指定端口接收或发送的报文复制到观察端口。根据观察端口的不同,端口镜像分为本地端口镜像和二层远程端口镜像。

本地端口镜像

观察端口为本地观察端口的端口镜像,被称为本地端口镜像。如图1-2所示,本地观察端口将镜像端口复制来的报文转发到与其直连的监控设备。

二层远程端口镜像

观察端口为二层远程观察端口的端口镜像,被称为二层远程端口镜像。如图1-3所示,二层远程端口镜像中镜像报文的具体转发过程如下。

  • 镜像端口将流经的原始报文复制到二层远程观察端口。
  • 二层远程观察端口收到镜像端口复制过来的镜像报文,在原始报文VLAN标签(VLAN 10)外层再添加一层VLAN标签(VLAN 20),以便将镜像报文向中间二层网络转发。值得注意的是,这一步不需要通过端口加入VLAN来完成,是直接通过配置二层远程观察端口来实现的。
  • SwitchC在接收到二层远程观察端口发来的镜像报文后,就将镜像报文向监控设备转发。为了实现这一步,需要将中间二层设备(SwitchC)与二层远程观察端口、监控设备相连的端口加入VLAN 20,保证SwitchB、SwitchC与监控设备间能够二层通信。

二层远程镜像中,在二层远程观察端口与监控设备之间的二层网络中,需要预留一个VLAN专门用于转发镜像流量,如图1-3中的VLAN 20,该VLAN被称为二层远程镜像传输VLAN。

VLAN镜像

VLAN镜像是指将指定VLAN接收的报文复制到观察端口。如图1-4所示,通过VLAN镜像,交换机仅将来自VLAN 10的报文镜像到监控设备。同端口镜像类似,根据观察端口的不同,VLAN镜像也可以分为本地VLAN镜像和二层远程VLAN镜像。

流镜像

流镜像是指将符合指定规则的报文流复制到观察端口。如图1-6所示,镜像端口将匹配规则的业务流2复制到观察端口,然后观察端口再将复制的业务流2转发到监控设备。同端口镜像类似,根据观察端口的不同,流镜像也可以分为本地流镜像和二层远程流镜像。

参考

技术白皮书

qos-知乎

QOS基本概念/技术原理理解相关推荐

  1. QoS基础及技术原理实战——1

    QoS--质量服务是非常复杂又应用广泛的技术,这一章从基础及原理讲解,非常重要,只有基础和原理上弄懂,才能对QoS的配置有所理解. QoS主要功能包括流量监管(对进入接口的,超出限制速率的报文进行丢弃 ...

  2. QoS基础及技术原理——1

    QoS基础 QoS(质量服务)是一项非常复杂的技术,但应用广泛.可实现的主要功能包括流量监管(对进入接口的,超出限制速率的报文进行丢弃).流量整形(对接口发送的,超出限制速率的报文先进行缓存,等待流量 ...

  3. 【生信】第一二三代测序技术原理的理解

    [生信]第一二三代测序技术原理的理解 本文部分图片来源网络或学术论文,文字部分来源网络与学术论文,仅供学习使用. 目录 [生信]第一二三代测序技术原理的理解 1.了解什么是DNA测序,什么是RNA测序 ...

  4. 人脸支付技术原理和基本概念介绍

    https://www.toutiao.com/a6697925553745297923/ 2019-06-02 21:31:57 从2015年,马云在德国展示人脸支付技术以来,经过几年发展,人脸支付 ...

  5. 区块链技术入门——核心概念与原理

    区块链的前世今生 密码朋克(Cypherpunk):是一个邮件组,里面有许多大牛. 比特币的底层技术: 点对点网络 时间戳 加密技术 工作量证明 可以应用到其他领域. 将这些技术提炼出来,就提出了区块 ...

  6. 理解SQL Server中索引的概念,原理以及其他

    简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...

  7. T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他(看了两次了,转了)

    简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...

  8. 《数据库技术原理与应用教程(第2版)》——第3章 数据管理中的数据模型 3.1 数据模型的基本概念...

    本节书摘来自华章计算机<数据库技术原理与应用教程(第2版)>一书中的第3章,第3.1节,作者 徐洁磐 操凤萍,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第 ...

  9. 理解SQL Server中索引的概念,原理

    理解SQL Server中索引的概念,原理 摘自:http://51even.iteye.com/blog/1490412 简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索 ...

最新文章

  1. 【Android应用开发】EasyDialog 源码解析
  2. debounceTime 和 throttleTime 的弹珠图
  3. leetcode-191-Number of 1 Bits
  4. 【Mysql】win10上Mysq的l安装
  5. jeecg自定义按钮使用exp属性不起作用
  6. H.264中的一些易混淆概念
  7. Eclipse 导入项目乱码问题
  8. 浅谈文字识别:新观察、新思考、新机遇
  9. perl first day
  10. C#基础系列:实现自己的ORM(构造我自己的ORM)
  11. UMHexagonS算法优化
  12. 《战地风云2042》游戏评测,云游戏走起
  13. echar 数据显示在小圆点里
  14. 旅游网页设计 web前端大作业 全球旅游私人订制 旅游公司网站模板(HTML+CSS+JavaScript)
  15. Ubuntu 各版本号和名称对照
  16. win10兼容VC++6.0(绿色完整版)安装方法
  17. 天河微信小程序入门《四》:融会贯通,form表单提交数据库
  18. Linux中常见的指令(三):几个查看文件内容的指令,ctrl+c的理解
  19. 给edittext每行加下划线
  20. Rabbitmq消费者接收不到发送到队列的消息

热门文章

  1. 20230215使用X99主板的电脑的性能测试(intel E5-2696V3 )
  2. 学术会议 | 欢迎注册参加第21届国际语义网大会ISWC-会议日程发布
  3. docker安装之后,python环境破坏,无法编译colcon
  4. Nginx(十三)rewrite功能
  5. 【web前端开发】CSS定位
  6. 个人计算机多核cpu好处,电脑cpu核数全开会怎样 对电脑有什么影响
  7. 使用又拍云让网站实现https访问
  8. 四轮线控转向控制 4WIS CarSim与Simulink联合 控制器为离散LQR控制器
  9. java 用split分割小数点
  10. Javaweb入门到实战(三)过滤器、拦截器、jdbc详解