我阅读了有关 HFSC的原始SIGCOMM '97 PostScript 论文,它在技术上非常技术性,但我了解基本概念。您可以指定凸或凹的服务曲线,而不是提供线性服务曲线(与几乎所有其他调度算法一样),因此可以解耦带宽和延迟。然而,即使这篇论文提到了正在使用的调度算法(实时和链路共享),它总是只提到每个调度类的一条曲线(通过指定这条曲线来完成解耦,只需要一条曲线) )。
现在已经使用ALTQ调度框架为BSD(OpenBSD、FreeBSD等)实现了HFSC,并且已经使用TC调度框架(iproute2的一部分)在Linux上实现了HFSC。这两种实现方式增加了两个额外的服务曲线,这是不是在原来的文件!实时服务曲线和上限服务曲线。再次请注意,原始论文提到了两种调度算法(实时和链接共享),但在那篇论文中,它们都适用于一条服务曲线。您目前在 BSD 和 Linux 中发现的任何一条都没有两条独立的服务曲线。
更糟糕的是,某些版本的 ALTQ 似乎为 HSFC 添加了额外的队列优先级(原始论文中也没有优先级这样的东西)。我发现几个 BSD HowTo 提到了这个优先级设置(即使最新的 ALTQ 版本的手册页知道 HSFC 没有这样的参数,所以官方它甚至不存在)。
这一切都使得 HFSC 调度比原始论文中描述的算法更加复杂,互联网上有大量教程经常相互矛盾,一个声称与另一个相反。这可能是为什么似乎没有人真正了解 HFSC 调度的真正工作原理的主要原因。在我提出问题之前,我们需要某种设置示例。我将使用一个非常简单的方法,如下图所示:
替代文字 http://f.imagehost.org/0177/hfsc-test-setup.png
以下是一些我无法回答的问题,因为教程相互矛盾:
为什么我需要实时曲线?假设 A1、A2、B1、B2 都是 128 kbit/s 的链路共享(任何一个都没有实时曲线),那么如果根有 512 kbit/s 的分配(和A和B当然都是256 kbit/s),对吗?为什么我还要给 A1 和 B1 一条 128 kbit/s 的实时曲线?这有什么用?给这两个更高的优先级?根据原始论文,我可以通过使用曲线给他们更高的优先级,这毕竟是 HFSC 的全部内容。通过给这两个类一个 [256kbit/s 20ms 128kbit/s] 的曲线,它们都会自动获得比 A2 和 B2 两倍的优先级(平均仍然只有 128 kbit/s)
实时带宽是否计入链路共享带宽?例如,如果 A1 和 B1 都只有 64kbit/s 实时带宽和 64kbit/s 链路共享带宽,这是否意味着一旦它们通过实时 64kbit/s …
我们有超过 350 名用户抱怨他们的鼠标光标在打字时不断跳动。当协议缺乏带宽时,这似乎正在发生,但我还不太确定。
如果只是光标移动它会很好 - 问题是它也会移动焦点,以便他们突然在文档中的不同位置书写文本而没有注意到为时已晚(老年人,他们盯着键盘)。
大多数用户都有笔记本电脑,我也怀疑触控板没有感应到打字(因此不会停用触控板上的一键式点击),但我今天收到一份报告,称桌面用户也遇到了同样的情况。
什么可能导致这种情况?有没有办法调整 RDP 使其不会发生?我迷路了..
编辑:
关于我们如何设置 RDP 的更多背景信息:
编辑2:
我检查了 MPLS 提供程序的 QoS 设置,感觉这里有些不对劲(pastebin)。内部 RFC1918 流量在 RDP 以下的类中被优先考虑,但具有相同的丢弃概率。我认为这应该在列表中更靠后的一个类中,具有更高的掉落概率。
我今天与几位员工进行了交谈,如果他们同时启动大量加入域的计算机(组策略、WSUS 更新等),这个问题似乎是可以重现的。
已联系 MPLS 提供商,我正在等待免费技术人员更改 QoS 设置,看看这是否有帮助。我要将单个站点上除 RDP 之外的所有流量转储到 Best-Effort 中,看看它是否有帮助。
更新 19.07.2013 仍然没有解决。发现几乎每台笔记本电脑都缺少触摸板驱动程序,因此在用户键入时触摸板不会被停用。巴阿德。此外,它也发生在台式 PC 上,以及任何类型的带有带宽受限管道的 PC 上。我问了一个关于网络工程的新问题:https : //networkengineering.stackexchange.com/questions/2427/qos-woes-managed-ip-vpn
terminal-server qos remote-desktop remote-desktop-services windows-server-2008-r2
在 Windows 10 上设置“基于策略的 QoS”不会将 DSCP 值应用于传出流量。我希望能够为某些进程设置 DSCP 流量的值。
使用 gpedit.msc 组策略编辑器,我在计算机配置 > Windows 设置 > 基于策略的 QoS > 下创建了一个策略,并将 DSCP 值设置为“10”。我尝试使用或不使用可执行文件名称。无论我做什么,查看 NetMon 中的流量都会显示 DSCP 值为 0。
在应用“不使用 NLA”注册表项后,这在 Windows 7 下有效https://support.microsoft.com/en-gb/kb/2733528
但是,即使添加了这一点,DSCP 始终为 0。
我想为我们的互联网线路添加某种流量管理。看了很多文档后,我觉得HFSC对我来说太复杂了(我不了解所有曲线的东西,恐怕我永远不会弄对),不推荐CBQ,基本上HTB是方法去大多数人。
我们的内部网络有三个“网段”,我想在这些网段之间或多或少平均地共享带宽(至少在开始时)。此外,我必须根据至少三种流量(实时流量、标准流量和批量流量)对流量进行优先级排序。带宽共享并不像实时流量应始终被视为优质流量这一事实重要,但当然也没有其他流量类别可能会饿死。
问题是,什么更有意义并且还能保证更好的实时吞吐量:
每个段创建一个类,每个类都具有相同的速率(根据 HTB 开发人员的说法,对于没有叶子的类,优先级无关紧要)并且这些类中的每一个都有三个子类(叶子),用于 3 个优先级(具有不同的优先级)和不同的费率)。
每个优先级有一个类,每个类都有不同的速率(同样优先级无关紧要),每个有 3 个子类,每个段一个,而实时类中的所有 3 个都具有最高的优先级,批量中的最低优先级类,等等。
我将尝试使用以下 ASCII 艺术图像更清楚地说明这一点:
Case 1:
root --+--> Segment A
| +--> High Prio
| +--> Normal Prio
| +--> Low Prio
|
+--> Segment B
| +--> High Prio
| +--> Normal Prio
| +--> Low Prio
|
+--> Segment C
+--> High Prio
+--> Normal Prio
+--> Low Prio
Case 2:
root --+--> High Prio
| +--> Segment A
| +--> Segment B
| +--> Segment …Run Code Online (Sandbox Code Playgroud) 我有一个 MediaTemple DV 服务器。我一直在看到很多关于“numothersock”的 QOS 警报,其定义为:
除 TCP 套接字之外的套接字数。本地(UNIX 域)套接字用于系统内部的通信。例如,UDP 套接字用于域名服务 (DNS) 查询。UDP 和其他套接字也可用于一些非常专业的应用程序(SNMP 代理和其他应用程序)。
如何确定哪些应用程序/守护程序/等正在创建这些套接字?限制是 300,我们最近每天都会达到几次。
提前致谢。
我在一个网络上有一些 SIP 电话,它们通过 IPIP 隧道到达服务器。
我已经设置了 QOS 规则来监视适当的 VOIP 流量,如下所示:
class-map match-any class-voice
description Voice
match dscp af11
match dscp cs4
match dscp cs3
!
policy-map qos-out
class class-voice
priority 100
!
interface Tunnel1
description Tunnel to VOIP Server
ip address 10.10.0.2 255.255.255.252
tunnel source FastEthernet0/1
tunnel destination 172.16.100.100
tunnel mode ipip
!
interface FastEthernet0/1
description Internet
bandwidth 1000
ip address dhcp
service-policy output qos-out
Run Code Online (Sandbox Code Playgroud)
我的问题是类映射没有匹配,因为我无法将策略分配给 Tunnel1,只能分配 FastEthernet0/1。
肯定有什么东西可以使这项工作......我该怎么办?
我在一个小办公室管理网络(软件开发是我的“真正工作”),并且有几个用户通过运行 bittorrent 打败了我们的互联网连接。在上传端 (20Mbps) 几乎瘫痪的影响和潜在的责任之间,我想尽可能地关闭它。
预期问题或建议的一些快速细节:
我们有 2 个路由器(1 个 Linksys,1 个 Buffalo)运行最新的 DD-WRT,一个 D-Link DIR-655 运行最新的工厂软件
互联网是 FiOS 20/20 计划
用户通过 WiFi 和有线连接,每个人都使用 DHCP
购买新硬件(比方说 < 1000 美元)确实可以可靠地发挥作用是一种选择
我们制定了互联网使用政策,是的,但我想通过 IT 尽可能多地执行它,因为我们都知道有些人就是无法遵守规则。是的,我知道处理这个是一个社会问题,但这部分超出了我的权限/控制范围。
常见的策略(完全阻止 MAC/IP 访问、阻止端口等)将不起作用。至少有 2 个人定期重新编程其以太网接口上的 MAC 地址。
我知道 BT 客户端可以配置为使用其他端口,因此仅阻止标准 BT 端口范围是弱点。
我不敢相信我是第一个给这只猫剥皮的人。或者也许只有 IT 部门。装备预算大的可以给这只猫剥皮吗?
谢谢你的帮助!
如何阻止或严重减慢一个人的小型办公网络上的 BitTorrent 和类似的点对点 (P2P) 服务?
在搜索服务器故障时,我无法找到一个问题,作为最佳技术思想的集结点。现有的问题都是关于特定情况的,主要的答案是社会/法律性质的。这些都是有效的方法,但我怀疑纯粹的技术讨论对很多人都有用。假设您无权访问网络上的机器。
随着 P2P 流量中加密使用的增加,状态数据包检查似乎变得不太可行的解决方案。一个对我来说似乎有意义的想法是简单地通过 IP 限制重度用户,无论他们发送或接收什么——但目前似乎没有多少路由器支持该功能。
如何限制 P2P/BitTorrent 流量?
在我们的办公网络(26 人)上,一些用户抱怨 Skype 通话质量很差,尤其是在上行方向。我想问一下,考虑到它使用随机端口,我如何识别 Skype 流量,以便我可以在路由器级别对其进行优先级排序?
如何确定 ssh 流量的优先级以确保低延迟但限制 SCP 文件传输?我正在寻找一种不特定于主机的解决方案,因此我不必添加 IP 地址列表。谢谢!
qos ×10
linux ×3
bittorrent ×2
ios ×2
bsd ×1
cisco ×1
dscp ×1
firewall ×1
group-policy ×1
htb ×1
networking ×1
p2p ×1
router ×1
scp ×1
skype ×1
socket ×1
ssh ×1
windows ×1
windows-10 ×1