问题标签 [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 回答
1999 浏览

java - 如何使用 Java 监听接口/设备上的网络流量?

我正在寻找实现反向 QoS 系统(因为我没有资源使我的网络饱和以实际执行 QoS)。我所看到的关于使用 Java 捕获网络流量的所有内容似乎都指向Jpcap - 一个 3 年以上的库,或其他类似项目。此外,通读java.net文档并没有太大帮助,尽管 ServerSocket 类似乎在正确的轨道上。

我正在寻找的是实际的库源代码,或者为此提供的更新/支持的框架。我想抓取来自网络的所有数据包并将它们放入缓冲区,然后在指定的时间后将它们从缓冲区中释放,具体取决于数据包所携带的协议。

我知道如何创建套接字应用程序,但不知道如何升级(技术上降低)接口。帮助将不胜感激!

0 投票
1 回答
1099 浏览

powershell - 新的 NetQosPolicy

我正在尝试在 Windows 8.1 上为 VoIP 设置新​​的服务质量。由于我没有 Pro,因此“gpedit.msc”不可用,因此我使用 Windows Power Shell 创建具有 New-NetQosPolicy 参数的服务质量策略。不幸的是,流量仍然通过 WireShark 作为默认 O 填充。我试过禁用整个防火墙,只是让软件电话通过防火墙的所有 3 个级别无济于事。我的策略如下,虽然它们都已成功设置,但它们不起作用。

注意:这是一台物理机,不是虚拟机。

0 投票
0 回答
37 浏览

c++ - 如何在 QOSNotifyFlow 中使用 IO 完成端口

我正在编写一个带有套接字的程序,我需要 QoS 服务,所以我正在使用qWAVE. 现在我希望能够检测网络变化并适应它,所以根据我应该使用的文档QOSNotifyFlow。虽然它的设计适用于一个或两个套接字,但当您有多个套接字时,每个(组)都有不同的特性,因此添加到不同的流程中,您不能轻易使用OVERLAPPED结构(WaitForMultipleObjects...有硬编码限制)。

所以我正在寻找一种不使用等待重叠事件发出信号的替代方法,我发现这个问题提出了一个类似的问题,并MSFT回答他可能使用 IO 完成端口。

现在我的问题是我可以使用像 IO 完成端口这样的功能来获得OVERLAPPED结构吗?

0 投票
1 回答
465 浏览

linux - 按字节限制的 tc-sfq 替代方案?

是否有 tc-sfq(随机公平队列)的替代方法,允许根据数据包大小(总字节)而不是数据包计数来配置限制?

这样做的原因是,给定一个 50 字节的数据包大小,一个 htb 类(速率=1000kbit)可以例如每 10 毫秒出列 25 个数据包,但是对于 1500 字节的数据包大小,每 10 毫秒只有 0.83 个数据包。

如果我将 tc-sfq 限制设置为 25 个数据包,那么在最坏的情况下,一个完整的队列需要 300 毫秒才能清空。

--

这是在 Linux 3.0.101 上,所以像 fq_codel 这样的东西不能正常工作。也许有人有一个补丁,用字节限制替换了 sfq 数据包限制(类似于 pfifo 与 bfifo)?

0 投票
1 回答
945 浏览

websocket - WebSocket 保证交付免费框架

我有某种系统可以不断地从 Java 后端向 Web 前端发送消息。我使用带有 XMPP 协议的 Openfire 作为传输系统。但是 XMPP 只是一种传输协议,它不保证在 Internet 连接中断的情况下交付。所以首先我决定改用更轻量级的传输协议——WebSocket。再一次,WebSocket 只是一个传输协议。是否有任何基于 WebSocket 的生产就绪且免费的消息传递框架,支持消息保证传递。您只需使用 clientId 发送消息,该框架将完成剩下的工作。如果用户离线或 Internet 连接中断。我的意思是该框架将关心交付。

0 投票
0 回答
2018 浏览

java - 如何检测使用 QoS 2 发送的 mqtt 消息传递失败?

我正在尝试实现一个 JAVA 应用程序,目的是发布到特定的 MQTT 主题。消息应使用 QoS 2 传送(仅传送一次)。

但是我似乎忘记了我的实现中的任何内容(下面的 JUnit 实现的代码),因此尽管没有客户订阅我的主题,但消息似乎总是被传递。有谁知道我的错在这里?

我在 Ubuntu 12.04 上使用 mosquitto MQTT 代理,在 JAVA 端使用 Eclipse Paho。

0 投票
0 回答
99 浏览

networking - 如何为 IEEE 802.11E QoS Streaming over MultiHop 设置路由器参数

我正在从事 opnet 中的多跳项目。我无法在 opnet 中设置路由器参数。发送者和接收者节点的mac地址和目的地址已经分配,​​但是如何将它们设置到路由器(目前自动分配)。由于我正在处理 QoS,因此我为节点启用了 HCF 默认参数,并为路由器启用了 HCF 默认 QAP。

当我尝试在没有路由器的情况下流式传输 8Mbps 视频数据时(在这种情况下只有 1 个发送器和 1 个接收器),吞吐量为 6.1Mbps,但在存在路由器的情况下吞吐量为 3.1Mbps ..路由器的数据下降仅为 400Kbps,发送方的数据丢失为 5Mbps。

你能帮我设置路由器参数以获得最大吞吐量吗?

0 投票
3 回答
1036 浏览

java - Java中使用ThreadPools在K线程(N*M >> K)上处理N个用户的M个任务

我在 tomcat 服务器上运行了一个 RESTful 风格的 RPC(远程过程调用)API,该 API 在 K 线程上处理具有 M 个任务的 N 个用户的数据。大多数情况下,一个用户有大约 20 到 500 个任务(但 M 可能在 1 到 5000 之间)。一项任务需要大约 10 到 20 秒才能完成,但可能在 1 秒到 20 分钟之间。目前,系统大多只有一个用户,有时最多三个,但在不久的将来会同时增加到大约 10 个用户。我们的服务器有 10 个内核,因此我想使用 10 个线程。目前,每个用户都有 5 个线程进行处理,效果很好。但是 a) 大多数时候机器的利用率只有 50%(这导致针在“30 分钟”范围内等待),有时服务器负载高达 150%。

解决方案要求:

  1. 始终使用 100% 的服务器(如果有任务)
  2. 所有用户在线程执行方面都被同等对待(与其他用户完成的线程数量相同)
  3. 新用户不必等到之前用户的所有任务都完成后(尤其是在 user1 有 5000 个任务而 user2 有 1 个任务的情况下,这一点很重要)

想到的解决方案:

  1. 只需使用具有 10 个线程的 FixedThreadPoolExecutor,违反条件 3

  2. 在我的任务中使用 PriorityBlockingQueue 并实现 compareTo 方法 -> 不能使用 threadpoolExecutors 提交方法(因此我不知道提交的任务何时结束)

  3. 实现类似阻塞队列的“循环”,其中 K 个线程(在我们的例子中为 10 个)以循环方式从 N 个内部队列中获取新任务 -> 为了能够将任务放入正确的队列中,我需要一个“提交”- 接受多个参数的方法(我也需要实现一个 ThreadPoolExecutor)

我试图说明我所说的循环法的含义,比如阻塞队列(如果没有帮助,请随时编辑它):

是否有一个优雅的解决方案来主要使用 Java 标准 API(或任何其他广泛使用的 Java API)来实现这种处理行为(可能是我提出的解决方案之一或任何其他解决方案)?或者您对如何解决此问题有任何其他提示?

0 投票
1 回答
237 浏览

java - DSCP 优先级

如何使用 Java 获取 DiffServe 代码点 (DSCP) 整数的优先级部分?我希望它涉及位移,但由于某种原因,我似乎无法获得我所期望的值。

0 投票
1 回答
1072 浏览

qos - 桥接在一起的两个网卡入口被重定向到ifb,但它不起作用,为什么?

我有一个有两个网卡的主机,所以它可以被看作是一个网关,两个网络端口桥接。然后我让两个网络接口的入口流量重定向到一个IFB,然后做IFB的流量控制,但是还是不行,为什么?上面提到的两个网卡一个是WAN口,一个是LAN口。它们是网桥。我的脚本如下: