问题标签 [qos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
747 浏览

java - 如何在 OS X 上的 Java 中设置 DSCP 字节

我正在尝试在 Java 中的 UDP 数据包的标头中设置 DSCP 字段,如下所示:

但是,当使用 Wireshark 查看数据包时,它会将 DSCP 字节显示为 0x00。

我尝试将此添加到“VM选项”(但没有帮助):

我在 OS X 10.10.2 上运行该应用程序

任何想法如何设置 DSCP 字节?或者使用 Java 设置数据包优先级(或 QoS)的任何其他方式?

感谢您的想法和帮助。

0 投票
1 回答
1252 浏览

c - 如何识别接入点中 UDP 数据包的来源?

我正在创建一种接入点。

根据默认的服务质量 (QoS) 类,我从我的机器捕获所有类型的所有数据包,以便在转发它们之前对它们进行优先级排序。

通过socket使用ETH_P_ALL参数调用,我可以获得任何协议类型的所有传入数据包:

通过使用ethhdr,iphdr和structs 我无法检索有关哪个应用程序发送每个数据包的信息tcphdrudphdr

但是,Voip 和 SNMP 都使用 UDP,我不知道两者中的哪一个向我发送了 UDP 包。

我想知道哪些应用程序正在发送 UDP 数据包,因此我可能会遵循 QoS 类并在其他数据包(例如电子邮件)之前转发一些数据包(例如会话语音)。

为了识别协议,我应该使用 TCP 和 UDP 端口号列表吗?

0 投票
1 回答
511 浏览

c - 我在 IP 标头中找不到 DSCP 字段,只有已弃用的 TOS 字段

我将尝试使用 Raspberry Pi 制作的接入点来保证一些 QoS。

在开始之前,我先弄脏我的手:我阅读了有关 tcp、udp 和 ip 标头的信息。在IP 标头描述中我看到了DSCP字段,最初定义为Type of Service字段。

DSCP字段会为我提供有关 Qos 的有趣信息,所以我寻找它......但我找不到它:我仍然有已弃用的tos字段。

从我的/usr/include/netinet/ip.h

关于我的系统的信息:

0 投票
1 回答
1244 浏览

ios - iPhone 上的 TOS 到 802.11 QOS 控制

我们有一个基于 iPhone 的基于 IP 的音频应用程序,我们目前正在尝试设置 TOS 级别,并查看这如何反映在 802.11 Qos 控制字段中。

我们这样做只是简单的 setsockopt 调用:

理论上,这会将 WLAN 链路上的所有数据包标记为 VOICE,但我们最终得到的 TID 为 5,表示 VIDEO(至少根据 Wireshark 的说法)。

这是从 iPhone 到无线 AP 的流量,因此我们无法进行 WAP 内映射。

我们已经能够将 TOS 设置为 0xC8,这确实会导致 VOICE 分类,但是当 C8 的 TOS 值最终出现在 IP 标头中时,网络的其余部分似乎会感到困惑。

任何人都知道我们应该使用什么值来获得超过 802.11 的 VOICE,在来自 iPhone 的数据包上?

0 投票
0 回答
679 浏览

iphone - APNS 推送通知 QoS - 从离线状态返回后如何传递通知?

在观察 WhatsApp 和类似的聊天应用程序时,我可以看到以下行为:

  1. 关闭互联网连接(蜂窝和 WIFI)。
  2. 确保聊天应用程序未处于活动状态(在后台)。
  3. 向我的设备发送多条消息(通过其他设备)。
  4. 打开互联网。
  5. 在几秒钟内所有消息都显示为通知。

我每次尝试都可以重现这种情况。

现在我正在开发自己的 iPhone 应用程序,但我似乎无法弄清楚如何实现这种行为。据我了解,这可以通过多种方式实现:

使用 APNS 的 QoS 功能:
我读到 QoS 会在消息未传递到设备时存储消息,并在设备重新连接时再次发送。但是,由于两个原因,此解决方案没有意义:

  1. 据说 QoS 一次只保存一条未传递的消息。但就我而言,我收到的信息不止一条。

  2. 当我打开互联网连接时,消息会立即显示,并且 QoS 文档说可能需要一些时间才能收到未传递的消息。

使用后台服务或监听连接变化:
关于后台服务,我知道最接近正在运行的后台服务的是 Background Fetch,但它似乎不适合这里,因为它是周期性的。
而且我也找不到任何可以连接的回调,以了解我在后台时连接何时发生变化,并执行一些操作。

您知道如何为 iPhone 应用程序实现此功能吗?(QoS?其他后台 API?)

0 投票
0 回答
116 浏览

ios - 如何在 AFNetworking 中设置服务质量?

有人知道set qos classinAFNetworking吗?

因为我的应用程序中的一些请求触发了超时,同时操作队列的其他操作正在使用网络进行。

我想将所有网络请求设置AFNetworkingQOS_CLASS_USER_INITIATED,似乎默认值是QOS_CLASS_DEFAULT,如何实现?谢谢。

0 投票
0 回答
1306 浏览

apache - Apache 2.4 的 mod_qos 模块的替代方案

多年来,我们一直在使用 Apache 2.2(MPM Worker),我们打算迁移到 Apache 2.4。

我们的架构是高度共享的,我们管理着大约 500 个应用程序。我们选择按技术拆分这些应用程序,并按产品关联一个 http 实例(Tomcat5/6/7,Websphere)。

在此配置中,我们的 Websphere http 实例例如处理 300 个虚拟主机。在 Apache 2.2 中,我们使用 mod_qos 模块通过限制虚拟主机同时连接的数量来防止应用程序占用此 http 实例的所有线程。

不幸的是,mod_qos 模块与 Apache 2.4 不兼容,而且我的 http 实例确实不稳定,因为我尝试使用这种组合(工作模式下的 Apache 2.4 + mod_qos)。

实际上,我很惊讶 Apache 没有以本机方式提供 mod_qos 功能来解决反复出现的问题。这是我的问题:

  • Apache 2.4 是否有任何替代 mod_qos 的方法(到目前为止我还没有找到)?

  • 如果没有这样的模块,你怎么能防止应用程序占用共享平台上的所有线程?

提前感谢您的反馈。

西尔万

0 投票
1 回答
3427 浏览

linux - 什么是 skb->linux 中的优先级?什么时候使用?

我试图了解嵌入式系统上的 QoS 实现。这是 QoS 的内核级优先级吗?

0 投票
1 回答
501 浏览

iptables - RPi 2 中 QoS 的正确 iptables 设置?

我的 Raspberry Pi 2 配置为接入点,使用以下iptables设置:

我正在使用libnetfilter_queue库的 Python 绑定。

我正在尝试进行基本的 Qos 读取(成功)我收到的每个数据包的源端口(使用-j NFQUEUE --queue-num x规则),并且根据从端口 25、80 或 5060 发送的数据包,我可能会延迟或立即发送数据包。

我的问题是:最后两条规则中的哪一条应该应用于NFQUEUE目标?

到目前为止,我只将数据包放入--queue-numfrom wlan0to eth0,但我想也不需要将NFQUEUE目标应用于最后一条规则并监控数据包 from eth0to wlan0...对吗?

0 投票
1 回答
40 浏览

email - 确定最大可接受的电子邮件延迟

这个问题不是 100% 技术性的。我上网查了一下,没发现有人讨论这个。

我们的网站有一个忘记用户名的功能,它使用我们自己的邮件服务器将用户名邮寄到用户的电子邮件地址。我们还在网页中放置了一条消息,要求用户等待 20 分钟让邮件到达,因为有时可能会出现延迟。

我们的业务测试员提出了一个有趣的观点,即 20 分钟似乎是让用户等待的不可接受的时间。他说我们的技术应该立即发送电子邮件,最大延迟应该是最坏的 1 分钟。

首先,收件人通常会立即收到电子邮件,因此那里没有问题。但根据我们使用其他网站的经验,有时电子邮件确实需要一段时间才能到达。我还记得在某处读到电子邮件(在网络级别)使用较低质量的服务 QoS,这与 voip 服务不同。我现在好像找不到了。由于自己的邮件服务器出现问题,用户也可能会遇到接收电子邮件的延迟。

现在,我们所能做的就是使用我们的邮件服务器发送邮件,并确保服务器上的负载和资源得到很好的管理。1) 我们还能做些什么来确保我们的邮件始终快速发送。2) 什么是可接受的时间,我们可以要求用户等到他与帮助台记录电话?我相信在网络/协议级别和用户的邮件服务器上可能存在延迟,我们对此无能为力。

谢谢。