Firewall_qosSettings
服务质量 (QoS) 是指旨在提供可预测的网络行为和性能的各种方法。该预测性排序对于特定类型的应用程序而言非常重要,例如 IP 语音 (VoIP)、多媒体内容,或业务关键型应用程序,例如订单处理或信用卡处理。再多的带宽也无法提供这种可预测性,因为任何数量的带宽最终都会被网络用尽。只有正确配置并实施 QoS,才能妥善管理流量,保证网络服务达到所需的水平。
本节包含以下子节:
• 分类
• 标记
• 调节
分类是必要的第一步骤,只有通过此步骤才能标识管理需求流量。SonicOS 使用访问规则作为接口对流量进行分类。通过使用地址对象、服务对象和日程对象元素组合,该功能提供了微调控制,使分类条件和所有 HTTP 流量一样通用,并且和星期二上午 2:12 从 hostA 到 serverB 的 SSH 流量一样具体。
Dell SonicWALL 网络安全设备可标识、映射、修改和生成行业标准的外部 CoS 指示符、DSCP 和 802.1p(请参阅802.1p 和 DSCP QoS一节)。
标识或分类之后,可对其进行管理。可由 SonicOS 带宽管理 (BWM) 在内部执行管理,只要网络完全包含自治系统,SonicOS 带宽管理将一直起效。引入外部或中间元素(例如具有未知配置的外部网络基础设施,或竞争互联网等带宽的其他主机)后,提供保证和预测性的功能将降低。换言之,只要网络的终端和终端之间的任何组件都在您的管理范围之内,BWM 将严格按照配置工作。引入外部实体后,BWM 配置的精确度和功效可能会下降。
但是并不是失去全部功能。SonicOS 对流量分类后,可对其进行标记,以使此类别的流量与 CoS 标记所容纳的特定外部系统进行通信,因此它们可以参与提供 QoS。
注 很多服务提供商不支持 CoS 标记,例如 802.1p 或 DSCP。同时,具有标准配置的大多数网络设备无法识别 802.1p 标志,可能会丢弃已标记的流量。
尽管 DSCP 不会导致兼容性问题,但很多服务提供商仅需清除或忽略 DSCP 标志,而不考虑编码点。
如果想要在您的网络或服务提供商的网络上使用 802.1p 或 DSCP 标记,必须先确保支持这些方法。检查您的内部网络设备是否支持 CoS 优先级标记,并且是否经过正确的配置。检查您的服务提供商 - 一些服务提供商使用这些 CoS 方法提供收费的 QoS 支持。
对流量进行分类后,如果该流量由支持 QoS 的外部系统处理(例如 CoS 感知交换机或路由器可能在高级服务提供程序的基础结构中或在私有 WAN 中可用),则必须对其进行标记,外部系统才能使用分类,并提供正确的处理和每跳转发行为。
最初,这是在具有 RFC791 的三个优先位和 RFC1394 ToS(服务类型)字段的 IP 层尝试,但这被总数为 17 人的吞吐量历史记录所使用。其继任者 RFC2474 引入了更实用和更广泛使用的 DSCP(区分服务代码点),可提供多达 64 个分类以及用户自定义的类。通过 RFC2598(加急转发,旨在提供租用线路行为)和 RFC2697(保证类中的转发级别,又称金牌服务、银牌服务、铜牌服务),DSCP 进一步得到增强。
DSCP 是一种流量安全标记方法,其针对的流量主要是由于没有不兼容的风险而遍历公共网络的流量。最坏的情况是,沿路径的跃点可能会丢弃或删除 DSCP 标记,但很少滥用或丢弃数据包。
CoS 标记的其他常用方法是 IEEE802.1p。802.1p 发生在 MAC 层(第 2 层),与 IEEE 802.1Q VLAN 标记密切相关,且共享相同的 16 位字段,但它实际上是以 IEEE802.1D 标准定义的。和 DSCP 不同,802.1p 只能与支持 802.1p 的设备配合使用,通常不具有互操作性。此外,由于 802.1p 具有不同的数据包结构,几乎无法遍历广域网,甚至是私有 WAN。尽管如此,802.1p 一直在获取 IP 提供商对语音和视频的广泛支持,因此引入了通过网络边界(即广域网链路)支持 802.1p 的解决方案,其形式为 802.1p 到 DSCP 的映射。
802.1p 到 DSCP 的映射允许通过 SonicOS 将 802.1p 标记从一个 LAN 映射到 DSCP 值,使数据包能够安全地遍历 WAN 链路。当数据包到达 WAN 或 VPN 的另一端时,接收 SonicOS 设备可将 DSCP 标记重映射到 802.1p 标记,以便在该 LAN 中使用。更多信息,请参见802.1p 和 DSCP QoS。
可使用多种策略、队列和调整方法中的任意一种调节(或管理)流量。SonicOS 通过其入口和出口带宽管理 (BWM) 提供了内部调节功能,这在带宽管理中有详细说明。SonicOS 的 BWM 对于具有足够带宽的完全自治的私有网络是非常有效的解决方案,但对于引入很多未知外部网络元素和带宽内容的情况而言,效率会降低。有关争用问题的说明,,请参阅示例情形中的示例情形。
通过支持 QoS 的网络的站点到站点 VPN
如果两个终端之间的网络路径能够感知 QoS,则 SonicOS 可对内部封装数据包进行 DSCP 标记,以使其能够在隧道的另一端进行正确解释,还可对外部 ESP 封装数据包进行 DSCP 标记,以使传输网络上的每个跃点都能够被解释和使用。SonicOS 可将在内部网络上创建的 802.1p 标记映射到 DSCP 标记,以使其可以安全地遍历传输网络。如果在另一端接收到数据包,则接收的 SonicWALL 设备会将 DSCP 标记转换为 802.1p 标记,以使内部网络可以正确解释和使用。
通过公用网络的站点到站点 VPN
SonicOS 集成的 BWM 可非常有效地管理 VPN 连接的网络之间的流量,因为可在两个端点对入口和出口流量进行分类和控制。如果端点之间的网络无法感知 QoS,则同样会丢弃并处理 VPN ESP。由于通常不会控制这些中间网络或其路径,因此很难充分保证 QoS,但 BWM 仍能够帮助您提供更多可预测的行为。
为提供端到端 QoS,业务级别的服务提供商在不断地对其 IP 网络提供流量调节服务。这些服务通常取决于要分类和标记流量的客户本地设备,通常使用标准标记方法,例如 DSCP。SonicOS 能够在流量分类之后对其进行 DSCP 标记,还可将 802.1p 标记映射到 DSCP 标记,以便遍历外部网络并保留 CoS。对于 VPN 流量,SonicOS 不仅能够对内部(负载)数据包进行 DSCP 标记,也可对外部(封装)数据包进行 DSCP 标记,因此支持 QoS 的服务提供程序甚至可对加密的 VPN 流量提供 QoS。
服务提供程序使用的实际的调节方法各不相同,但通常都包含了基于类的排队方法,例如用于对流量排定优先级的加权公平队列,以及避免拥塞的方法,例如尾部丢弃或随机早期检测。
以下部分详细说明了 802.1p 标准和 DSCP QoS。
SonicOS 支持第 2 层和第 3 层 CoS 方法,可与启用了 QoS 的环境中外部系统进行广泛的互操作。2 层方法是 IEEE 802.1p 标准,其中,插入到以太网框架标头中的附加 16 位中的 3 位可用于指定框架的优先级,如下图所示:
.
• TPID:标记协议标识符从第 12 个字节开始(6 个字节的目标字段和 6 个字节的源字段之后),长度为 2 个字节,标记的流量的以太网类型为 0x8100。
• 802.1p:TCI(标记控制信息 - 从第 14 个字节开始,长度为两个字节)的前三位定义了用户优先级,总共为八个 (2^3) 优先级。IEEE 802.1p 定义了这三个用户优先级位的操作。
• CFI:规范格式指示器是只有一位的标志,对于以太网交换机,它始终设置为零。CFI 用于以太网网络和令牌环网之间的兼容性原因。如果在以太网端口接收的帧其 CFI 设置为 1,则不应将该帧转发到未标记的端口。
• VLAN ID:VLAN ID(在 14 个字节中从第 5 个字节开始)是 VLAN 的标识。它具有 12 位,并且允许 4,096 (2^12) 个唯一的 VLAN ID 标识。对于 4,096 个可用的 ID,ID 0 用于标识帧优先级,ID 4,095 (FFF) 已保留,因此可用的最大 VLAN 配置为 4,094。
通过启用想要处理 802.1p 标记的接口上的 802.1p 标记即可启动 802.1p 支持。可在任何 SonicWALL 设备上的任何以太网端口上启用 802.1p。
带有这些标记的 802.1p 字段的行为由访问规则控制。默认 802.1p 访问规则操作无会将现有 802.1p 标记重置为 0,除非使用了其他配置(有关详细信息,请参见管理 QoS 标记)。
启用 802.1p 标记将允许目标接口识别由支持 802.1p 的网络设备所生成的传入 802.1p 标记,这可通过访问规则控制。SonicOS 插入的具有 802.1p 标记的帧其 VLAN ID 为 0。
802.1p 标记只能根据访问规则插入,因此在使用了默认设置的接口上启用 802.1p 标记不会中断与不支持 802.1p 的设备的通信。
802.1p 需要您想要对其使用优先级方法的网络设备的特定支持。通过 IP 的很多音频和视频设备都提供了对 802.1p 的支持,但必须将该功能启用。如果对该功能不确定,请检查您的设备文档,查看相关的 802.1p 支持信息。很多服务器和主机网卡 (NIC) 同样也提供了对 802.1p 的支持,但默认情况下该功能通常处于禁用状态。在 Win32 操作系统中,您可以在网卡的属性页面上的高级选项卡上检查和配置 802.1p 设置。如果您的网卡支持 802.1p,将会列出802.1p QoS、802.1p 支持、QoS 数据包标记或一些类似选项:
要处理 802.1p 标记,网络接口上必须具有该功能,并将该功能启用。网络接口将能够生成带有 802.1p 标记的数据包,这由支持 QoS 的应用程序管理。默认情况下,为了维护与不支持 802.1p 的设备的通信,常规的网络通信不会插入标记。
注 如果您的网络接口不支持 802.1p,将无法处理 802.1p 标记的流量,会将其忽略。定义访问规则时,请务必启用支持 802.1p 的目标设备上的 802.1p 标记。
还应注意,在支持 802.1p 的设备上执行数据包捕获(例如,使用诊断工具 Ethereal)时,一些设备将不显示捕获数据包的 802.1q 标头。相反,如果在不支持 802.1p 的设备上执行数据包捕获时,几乎总是会显示标头,但主机无法处理数据包。
在继续管理 QoS 标记之前,先介绍“DSCP 标记”很重要,因为两种标记方法之间存在潜在的相关性,也需要解释一下为何存在相关性。
在以上的情形中,我们通过 IPsec VPN 将远程站点 1 连接到“主站点”。公司使用支持内部 802.1p/DSCP 的 VoIP 电话系统,并在主站点上托管了一个专用 VoIP 信号服务器。主站点使用千兆和快速以太网混合型基础结构,远程站点 1 均为快速以太网。两个站点均使用支持 802.1p 的交换机进行内部流量的优先级排列。
1. 远程站点 1 的 PC-1 将 23 TB 的 PowerPoint™ 演示文档传输至文件服务器 1,工作组交换机和上游交换机之间的 100 mbit 链路已完全饱和。
2. : 在主站点,位于支持 802.1p/DSCP 的 VoIP 电话 10.50.165.200 处的呼叫方开始对 VoIP 电话 192.168.168.200 处的人员进行呼叫。呼叫 VoIP 电话 802.1p 使用优先级 6(语音)标记流量,DSCP 使用 48 标记流量。
a. 如果核心交换机和防火墙之间的链路为 VLAN,部分交换机会将接收到的 802.1p 优先级标记(除 DSCP 标记外)包含到发动给防火墙的数据包中,该行为对于各种交换机而言各不相同,但通常可配置。
b. 如果核心交换机和防火墙之间的链路不是 VLAN,则防火墙将无法包含 802.1p 优先级标记。将删除 802.1p 优先级,并将数据包(仅包含 DSCP)转发给防火墙。
如果防火墙通过 VPN/WAN 链路发送数据包,则可将 DSCP 标记包含到数据包中,但无法包含 802.1p 标记。这可能会丢失 VoIP 流量的所有优先级信息,因为当数据包到达远程站点时,交换机将不能使用 802.1p MAC 层信息对流量进行优先级排序。由于链路饱和,远程站点交换机处理 VoIP 流量的方式与优先级较低的文件传输的处理方式相同,到达 VoIP 流产生的延迟(甚至可能是丢弃数据包)使呼叫质量下降。
因此关键的 802.1p 优先级信息将如何通过 VPN/WAN 链路从主站点 LAN 传输到远程站点 LAN?通过使用 QoS 映射。
QoS 映射是将第 2 层 802.1p 标记转换为第 3 层 DSCP 标记的一种功能,以便它们可以安全地遍历(以映射的形式)不支持 802.1p 的链路;当数据包到达下一个支持 802.1p 的分段时,QoS 映射会将 DSCP 转换为 802.1p 标记,以便可以使用 2 层 QoS。
在以上的情形中,主站点的防火墙为 VoIP 数据包以及封装 ESP 数据包分配 DSCP 标记(例如值 48),以便能够在 WAN 应用第 3 层 QoS。通过保留现有 DSCP 标记或从 802.1p 标记(如果存在)映射值可完成分配。如果 VoIP 数据包到达链路的另一端,接收数据包的 SonicWALL 将遍历映射过程,同时会将 DSCP 标记映射到 802.1p 标记。
3. 远程站点的接收 SonicWALL 已配置为将 DSCP 标记范围 48-55 映射到 802.1p 标记 6。数据包退出防火墙后,将使用 802.1p 标记 6。交换机会将其识别为语音流量,并通过文件传输排定优先顺序,甚至能够在链路饱和的情况下保证 QoS。
DSCP(差分服务代码点)标记使用 IP 标头中 8 位 ToS 字段中的 6 位提供 64 类(或代码点)流量。由于 DSCP 是第 3 层标记方法,并且存在 802.1p 标记,因此无需考虑兼容性问题。不支持 DSCP 的设备将忽略标记,在最差的情况下会将标记值重置为 0。
上图说明了 IP 数据包,在标头的 ToS 部分具有结束标记。ToS 位最初用于优先级和 ToS(延迟、吞吐量、可靠性和成本)设置,但之后 RFC2474 又将其用于用途更广的 DSCP 设置。
下表显示了常用的代码点,以及它们向旧优先级和 ToS 设置的映射。
|
可对在任何接口和任何区域类型之间传输的流量执行 DSCP 标记(无例外)。DSCP 标记由访问规则通过 QoS 选项卡控制,可与 802.1p 标记配合使用,也可与 SonicOS 的内部带宽管理配合使用。
DSCP 标记和混合 VPN 流量
在诸多的安全措施和特性中,IPsec VPN 使用防止重放机制,其基础在于添加到 ESP 标头中的单调递增的序号。将丢弃具有重复序号的数据包,因为此类数据包不符合顺序标准。此类标准可管理故障数据包的处理。SonicOS 提供了 64 个数据包的重放窗口,即,如果用于安全关联 (SA) 的 ESP 数据包被 64 个以上的数据包延迟,将丢弃该数据包。
使用 DSCP 标记对遍历 VPN 的流量提供第 3 层 QoS 时应考虑该项。如果您的 VPN 隧道传输各种流量,一部分标记了 DSCP 高优先级(例如 VoIP),一部分标记了 DSCP 低优先级,或未标记/最大努力型(例如 FTP),则您的服务提供程序将优先处理高优先级 ESP 数据包的传输,然后再处理最大努力型 ESP 数据包。在特定流量条件下,这可能会导致最大努力型数据包被延迟 64 个数据包以上,从而导致被接收的 SonicWALL 的防止重放防御机制丢弃。
如果出现此类现象(例如低优先级流量过分重传),建议您为高优先级和低优先级流量类创建单独的 VPN 策略。通过将高优先级主机(例如 VoIP 网络)置于各自的子网中可轻松完成。
配置 802.1p CoS 4 控制的负载
如果想要将 DSCP 标记 15 的入站映射从默认 802.1p 映射 1 更改为 802.1p 映射 2,则由于映射范围不能重叠,需要两个步骤才能完成。尝试分配重叠的映射会产生错误DSCP 范围已存在,或与其他范围重叠。首先,需要从映射到 802.1p CoS1 的当前终止范围中删除 15(将终止映射范围更改为从 802.1p CoS 1 到 DSCP 14),然后可将 DSCP 15 分配给 802.1p CoS 2 的起始映射范围。
QoS 映射
QoS 映射的主要目的是允许 802.1p 标记总是能够通过不支持 802.1p 的链路(例如 WAN 链路),方法为通过 WAN 链路发送之前将它们映射到对应的 DSCP 标签,然后在到达另一端时再从 DSCP 重映射到 802.1p:
注 只有将映射作为访问规则的 QoS 选项卡操作,才能进行映射。映射表仅定义访问规则的映射操作将要使用的通信。
例如,根据默认表,值为 2 的 802.1p 标签将出站映射到值为 16 的 DSCP,DSCP 标记 43 将入站映射到 802.1 值 5。
这些映射中的每一个都可以重新配置。如果想要将出站映射 802.1p 标签 4 从 DSCP 默认值 32 更改为 DSCP 值 43,则可以单击 4 - 可控负载的配置图标,然后从下拉框中选择新至 DSCP 值:
您可以通过单击重置 QoS 设置按钮恢复默认映射。
可在管理界面的防火墙 > 访问规则页面下的 QoS 选项卡中配置 QoS 标记。SonicOS 访问规则管理的 802.1p 和 DSCP 标记提供了 4 种操作:无、保留、显式和映射。默认 DSCP 操作为保留,默认 802.1p 操作为无。
下表说明了标记的两种方法中每个操作的行为:
|
相关示例,请参阅下图,其中提供了双向 DSCP 标记操作。
如果 HTTP 通过 192.168.168.100 的 Web 浏览器访问 10.50.165.2 的 Web 服务器,会使内部(负载)数据包和外部(封装 ESP)数据包标记为 DSCP 值 8。如果数据包来自于隧道的另一端,并被传输到 10.50.165.2,它们将使用 DSCP 标记 8。当 10.50.165.2 通过隧道将响应数据包发送回 192.168.168.100(从第一个 SYN/ACK 数据包开始)时,访问规则将使用 DSCP 值 8 标记传输到 192.168.168.100 的响应数据包。
该行为将应用到 DSCP 和 802.1p 标记的四个 QoS 操作设置。
该行为的一个实用性应用是为到达 VPN 区域的流量配置 802.1p 标记规则。虽然不能通过 VPN 发送 802.1 p 标记,但可以从隧道出口对通过 VPN 返回的回复数据包标记 802.1 p。这就要求物理出口接口的 802.1p 标记处于活动状态,并且 [区域] > VPN 访问规则具有“无”以外的 802.1p 标记操作。
确保 802.1p 与您相关的网络设备相兼容,并且在适用的 SonicWALL 接口上启用 802.1p 标记后,即可开始配置访问规则来管理 802.1p 标记。
提及下图时,远程站点 1 网络可能具有两个访问规则配置,其配置如下:
|
访问规则(管理 LAN>VPN)具有以下效果:
• : 来自 LAN 主要子网并将通过 VPN 发送至主站点子网的 VoIP 流量(按照服务群组定义)应针对 DSCP 和 802.1p 标记进行评估。
– : 将 DSCP 和 802.1p 标记操作共同设置为映射早在管理 QoS 标记中就有相关说明。
– 发送仅包含 802.1p 标记的流量(例如 CoS = 6)会使 VPN 绑定内部(负载)数据包被 DSCP 标记为值 48。外部 (ESP) 数据包也将使用值 48 标记。
– 假设主站点上的防火墙已对返回流量进行 DSCP 标记(CoS = 48),则将在出口对返回流量使用 CoS = 6 的 802.1p 标记。
– 发送仅包含 DSCP 标记的流量(例如 CoS = 48)会将 DSCP 值保留到内部和外部数据包中。
– 假设主站点上的防火墙已对返回流量进行 DSCP 标记(CoS = 48),则将在出口对返回流量使用 CoS = 6 的 802.1p 标记。
– 发送仅包含 802.1p 标记(例如 CoS = 6)和 DSCP 标记(例如因为 CoS= 63)的流量将优先考虑 802.1p 标记,并相应地进行映射。VPN 绑定内部(负载)数据包使用值 48 进行 DSCP 标记。外部 (ESP) 数据包也将使用值 48 标记。
假设主站点上的防火墙已对返回流量进行 DSCP 标记(CoS = 48),则将在出口对返回流量使用 CoS = 6 的 802.1p 标记。
要检查第二个访问规则的效果(VPN > LAN),可查看主站点配置的访问规则。
|
来自远程站点 1 子网通过 VPN 发往 LAN 区域的 LAN 子网的 VoIP 流量(按服务群组定义)将命中入站 VoIP 呼叫的访问规则。到达 VPN 区域的流量将不包含任何 802.1p 标记,仅包含 DSCP 标记。
– 退出隧道的包含 DSCP 标记的流量(例如 CoS = 48)将保留 DSCP 值。在将数据包传递到 LAN 上的目标之前,还将根据主站点的防火墙所设置的 QoS 映射(例如 CoS = 6)进行 802.1p 标记。
– : 假设返回的流量已由主站点处接受呼叫的 VoIP 电话进行了 802.1p 标记(例如 CoS = 6),将根据通过 VPN 发回的内部和外部数据包上的转换映射 (CoS = 48) 进行 DSCP 标记。
– 假设返回的流量已由主站点处接受呼叫的 VoIP 电话进行了 DSCP 标记(例如 CoS = 48),则返回的流量将保留通过 VPN 发回的内部和外部数据包上的 DSCP 标记。
– : 假设返回的流量已由主站点处接受呼叫的 VoIP 电话进行了 802.1p 标记(例如 CoS = 6)和 DSCP 标记(例如 CoS = 14),将根据通过 VPN 发回的内部和外部数据包上的转换映射 (CoS = 48) 进行 DSCP 标记。
有关带宽管理 (BWM) 的信息,请参见防火墙 > QoS 映射。
• 802.1p - IEEE 802.1p 是第 2 层(MAC 层)服务类机制,通过在 802.1p 的附加 16 位标头中使用 3 个优先级位(共 8 个优先级)来标记数据包。802.1p 处理需要兼容的设备才能生成标记、识别并进行处理,并且只能在兼容的网络上使用。
• 带宽管理 (BWM) - 用于调整流量或策略流量的各种算法或方法。调整通常是指管理出站流量,监管通常是指管理入站流量(又称许可控制)。有多种不同的带宽管理方法,包括各种排队和丢弃技术,每种方法都有其各自的设计强度。SonicWALL 使用基于令牌基于类的排队方法进行出站和入站带宽管理,并对特定类型的入站流量使用丢弃机制。
• 服务类 (CoS) - 指示符或标识符,例如第 2 层或第 3 层标记,将应用到分类之后的流量。服务质量 (QoS) 系统可使用 CoS 信息区分网络上的流量类,并提供特殊处理(例如按优先级排队、降低延迟等),这由 QoS 系统管理员定义。
• 分类 - 用于标识(或区别)特定类型的流量。在 QoS 环境中,执行该操作的目的在于根据流量对延迟或数据包丢失的敏感度提供自定义处理、典型的优先排序或取消优先排序。SonicOS 中的分类使用访问规则,并且根据以下元素中的任一或全部都可进行分类:源区域、目标区域、源地址对象、目标地址对象、服务对象、日程对象。
• 码位 - 主机或中间网络设备对 IP 数据包的 DSCP 部分进行标记的值。当前有 64 个码位可用(从 0 到 63),可用于定义已标记流量的按升序排列优先级的类。
• 调节 - 广泛使用的一个术语,用于描述为网络流量提供服务质量的多种方法,包括但不限于丢弃、排队、监管和调整。
• DiffServ - 差分服务。一种用于区分 IP 网络上不同类型或类别的流量的标准,目的在于根据相关要求对流量提供调整处理。DiffServ 主要取决于 IP 数据包的 ToS 标头中标记的码位值,这些码位值用于区分不同类别的流量。DiffServ 服务级别在通过标记流量的每个路由器(或其他启用 DiffServ 的网络设备)上针对每个跃点执行。DiffServ 服务级别当前包含在最小默认值、确保转发、加速转发和 DiffServ 中。有关更多信息,请参见DSCP 标记。
• 丢弃 - QoS 系统所使用的一种拥塞回避机制,用于尝试在可能要发生拥塞的网络上进行预测,并通过丢弃超出限制的流量避免拥塞。丢弃还可被看做一种队列管理算法,因为它会尝试避免所有队列出现拥塞情况。高级丢弃机制遵守 CoS 标记,可避免丢弃敏感流量。常用的方法包括:
– 尾部丢弃 - 处理满队列的一种不加选择的方法,该此类队列中,将丢弃最后一个入队的数据包,而不考虑其 CoS 标记。
– 随机早期检测 (RED) - RED 可监视队列的状态,以尝试预测即将满的队列。然后以交错的方式随机丢弃数据包,以将可能发生的全局同步降到最低程度。RED 的基本实施(例如尾部丢弃)不考虑 CoS 标记。
– 加权随机早期检测 (WRED) - 将 DSCP 标记的因素包含到其丢弃决策过程的 RED 实施。
• DSCP -(差分服务代码点)- 再利用 IP 标头的 ToS 字段,如 RFC2747 所述。DSCP 使用 64 个码位值启用 DiffServ(差分服务)。通过根据流量类标记流量,可对网络上的每个跃点正确地处理数据包。
• 全局同步 - 丢弃的潜在副作用,设计用于处理满队列的拥塞回避方法。如果同时丢弃通过拥塞链路的多个 TCP 流(在发生尾部丢弃时),将发生全局同步。对于这些流中的每一个,如果本机 TCP 慢启动机制几乎同时开始,流将再次淹没链路。这将出现周期性的拥塞波和利用不足的现象。
• 保证的带宽 - 接口上声明的可用总带宽的百分比,它可始终保证特定类别的流量。适用于出站和入站带宽管理。通过所有带宽管理规则所保证的总带宽不能超过可用总带宽的 100%。SonicOS 增强了带宽管理功能,可提供速率限制功能。现在您可以创建指定第 2、3 或 4 层网络流量的最大速率的流量策略。当主要 WAN 链接无法连接至不能处理足够多流量的次要连接时,将启用带宽管理。也可将保证的带宽设置为 0%。
• 入站(入口或 IBWM)- 用于调整流量进入特定接口时的速率。对于 TCP 流量,通过延迟出口确认 (ACK) 使发送者减慢速率来调整入口流量速率,可进行实际的调整。对于 UDP 流量,如果 UDP 无本机反馈控件,将使用丢弃机制。
• IntServ - 集成服务,如 RFC1633 中定义。DiffServ 的替代 CoS 系统,IntServ 本质上不同于 DiffServ,在发送其流量之前会使每个设备请求(或保留)其网络要求。这需要网络上的每个跃点都能够感知 IntServ,还需要每个跃点保留每个流的状态信息。IntServ 不受 SonicOS 支持。最常用的 IntServ 实施为 RSVP。
• 最大带宽 - 接口上声明的可用总带宽的百分比,用于定义特定类别的流量所允许的最大带宽。适用于出站和入站带宽管理。用作限制机制,可指定带宽速率限制。带宽管理功能已增强,可提供速率限制功能。现在您可以创建指定第 2、3 或 4 层网络流量的最大速率的流量策略。当主要 WAN 链接无法连接至不能处理足够多流量的次要连接时,将启用带宽管理。可将最大带宽设置为 0%,这将阻止所有流量。
• 出站(出口或 OBWM)- 调节接口发送流量的速率。出站带宽管理使用基于贷记(或令牌)的队列系统,该系统带有 8 个优先级环,可处理按照访问规则划分的不同类型的流量。
• 优先级 - 流量分类中使用的额外维度。SonicOS 使用 8 个优先级环(0 = 最高,7 = 最低)包含用于带宽管理的队列结构。将按照队列的优先级顺序对其进行处理。
• 映射 - 映射与 SonicOS 的 QoS 实施相对,用于在第 2 层 CoS 标记 (802.1 p) 和第 3 层 CoS 标记 (DSCP) 之间相互转换,目的在于保留通过不支持 802.1p 标记的网络链路的 802.1p 标记。映射通信完全由用户定义,映射操作受访问规则控制。
• 标记 - 又称着色 - 可将第 2 层 (802.1p) 或第 3 层 (DSCP) 信息应用到数据包中以便进行区分,从而使网络设备能够沿着其目标路径对其进行正确分类(识别)并优先排序。
• MPLS - 多协议标签交换。在 QoS 范围内频繁使用的一个术语,但大多数客户的本地 IP 网络设备对其不提供本机支持,包括 SonicWALL 设备。MPLS 是一个运营商级别的网络服务,它尝试通过向网络中添加面向概念连接的路径(标签交换路径 - LSP)来增强 IP 网络体验。当数据包离开客户本地网络时,将由标签边缘路由器 (LER) 对其进行标记,以使该标签可用于确定 LSP。MPLS 标记本身位于第 2 层和第 3 层之间,它对这两层网络的 MPLS 特性都会产生影响。MPLS 成为 VPN 很常用的标记,可提供第 2 层和第 3 层 VPN 服务,但仍无法与现有 IPsec VPN 实施进行互操作。MPLS 还由于其 QoS 功能而众所周知,可与常规的 DSCP 标记进行互操作。
• 每跳转发行为 (PHB) - 该处理方法将根据数据包的 DSCP 分类,根据数据包遍历的每个支持 DiffServ 的路由器应用到该数据包。该行为介于以下行为中:丢弃、重新标记(重新分类)、尽最大努力、确保转发或加速转发等。
• 监管 - 尝试控制网络链路上的流量传输的流量调整设备。监管方法包括混乱数据包丢弃、算法调整以及各种排队规则。
• 排队 - 为有效利用链路的可用带宽,通常使用队列对分类后的流量进行排序和单独管理。然后使用各种方法和算法管理队列,以确保较高的优先级队列总是有空间接收更多的流量,并且可在低优先级队列之前进行处理(或取消排队)。一些常见的队列规则包括:
– FIFO - 先进先出。一种非常简单不加区别的队列,其中先进入队列的数据包将先进行处理。
– 基于类的队列 (CBQ) - 该排队规则考虑了数据包的 CoS,可确保优先处理高优先级的流量。
– 加权公平排队 (WFQ) - 尝试使用简单的公式并根据数据包的 IP 优先顺序和总流量处理队列的一种规则。当存在大量不成比例的高优先级流要处理时,WFQ 会变得不平衡,通常其效果与所需的效果相反。
– 基于令牌的 CBQ - CBQ 的一项使用令牌的增强功能,同时也是一个基于贷记的系统,有助于缓和或标准化链路利用率,避免出现突发流量以及利用不足的情况。供 SonicOS 的带宽管理使用。
• RSVP - 资源预留协议。某些应用程序使用的一种 IntServ 信号传输协议,其中将请求对网络行为(例如延迟和带宽)的预测需要,以使其能够按照网络路径进行保留。设置此保留路径要求每个跃点始终启用 RSVP,并且每个跃点都同意保留请求的资源。此 QoS 系统比较占用资源,因为它要求每个跃点都保持现有的流状态。尽管 IntServ 的 RSVP 与 DiffServ 的 DSCP 差别较大,但两者可以互操作。RSVP 不受 SonicOS 支持。
• 调整 - QoS 系统尝试修改流量的速率,通常通过对发送者使用一些反馈机制来实现。最常见的例子是 TCP 速率控制,其中,返回至 TCP 发送者的确认 (ACK) 将进行排队并延迟,以增加计算的往返时间 (RTT),同时利用 TCP 的固有行为强制发送者减慢发送数据的速度。
• 服务类型 (ToS) - IP 标头中的一个字段,在其中可指定 CoS 信息。在以前会将其与 IP 优先顺序位一起使用来定义 CoS(尽管这种情况很少见)。现在 ToS 字段常被 DiffServ 的码位值使用。