标签: udp

验证与 UDP 端口上的服务器的连接

我想知道 HP-UX 机器是否可以使用 UDP 与特定端口上的远程机器(我无法控制)进行通信。

我试过 telnet,但它看起来不支持 UDP。我会使用 netcat,但我找不到任何包。这台机器正在生产中,所以我不想过多地编译或安装东西......(nmap,来自源代码的netcat......)

有什么简单的方法可以做到这一点?

telnet hp-ux udp

15
推荐指数
2
解决办法
11万
查看次数

如何连接到 udp 端口​​命令行?

这是我尝试过的,但似乎不起作用:

[root@ ~]# netstat -a|grep 48772
udp        0      0 *:48772                     *:*                                     
[root@ ~]# telnet localhost 48772
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused
Run Code Online (Sandbox Code Playgroud)

udp

14
推荐指数
3
解决办法
14万
查看次数

tcpdump 提高 udp 性能

我正在运行一组负载测试以确定以下设置的性能:

Node.js test suite (client) --> StatsD (server) --> Graphite (server)
Run Code Online (Sandbox Code Playgroud)

简而言之,node.js 测试套件每 x 秒向位于另一台服务器上的 StatsD 实例发送一定数量的指标。然后 StatsD 每秒将指标刷新到位于同一服务器上的 Graphite 实例。然后,我查看测试套件实际发送了多少指标以及 Graphite 接收了多少指标,以确定测试套件和 Graphite 之间的丢包率。

但是我注意到我有时会遇到非常大的丢包率(请注意,它是通过 UDP 协议发送的),范围为 20-50%。所以那是我开始调查这些数据包被丢弃的地方的时候,认为这可能是 StatsD 的一些性能问题。所以我开始记录系统每个部分的指标,以追踪发生这种下降的地方。这就是事情变得奇怪的地方。

我正在使用tcpdump创建一个捕获文件,在测试运行完成后我会检查该文件。但是每当我在运行 tcpdump 的情况下运行测试时,几乎不存在丢包!看起来 tcpdump 以某种方式提高了我的测试的性能,我无法弄清楚它为什么以及如何做到这一点。我正在运行以下命令来记录服务器和客户端上的 tcpdump 消息:

tcpdump -i any -n port 8125 -w test.cap
Run Code Online (Sandbox Code Playgroud)

在一个特定的测试案例中,我发送 40000 个指标/秒。运行tcpdump的测试有4%左右的丢包,没有的时候有20%左右的丢包

两个系统都作为 Xen VM 运行,具有以下设置:

  • 英特尔至强 E5-2630 v2 @ 2.60GHz
  • 2GB 内存
  • Ubuntu 14.04 x86_64

我已经检查过潜在原因的事情:

  • 增加 UDP 缓冲区接收/发送大小。
  • CPU 负载影响测试。(最大负载 40-50%,客户端和服务器端)
  • 在特定接口而不是“任何”上运行 tcpdump。
  • 使用“-p”运行 tcpdump 以禁用混杂模式。
  • 仅在服务器上运行 tcpdump。这导致发生 20% …

performance udp tcpdump graphite statsd

13
推荐指数
2
解决办法
2009
查看次数

说明 TCP 和 UDP 源端口应超过 1024 且随机的文档在哪里?

我很难找到记录源端口应该是随机的并且在 1024-65535 范围内的地方。

这是在哪个 RFC 中记录的?

编辑:
特权端口的第一个参考在 RFC2623 中
似乎这更多地取决于 TCP/IP 实现,它是事实上的标准。

IANA 正在分配端口号 (RFC1700)

tcpip udp rfc

12
推荐指数
1
解决办法
7402
查看次数

UDP 丢包率达 300Mbit (14%),但 TCP > 800Mbit 无重传

我有一个用作iperf3客户端的 linux机器,用 Broadcom BCM5721、1Gb 适配器(2 个端口,但只有 1 个用于测试)测试了 2 个配备相同的 Windows 2012 R2 服务器盒。所有机器都通过一个 1Gb 交换机连接。

在例如 300Mbit 测试 UDP

iperf3 -uZVc 192.168.30.161 -b300m -t5 --get-server-output -l8192
Run Code Online (Sandbox Code Playgroud)

导致发送的所有数据包丢失 14%(对于具有完全相同硬件但较旧的 NIC 驱动程序的其他服务器盒,丢失约为 2%),但即使在 50Mbit 时也会发生丢失,尽管不那么严重。使用等效设置的 TCP 性能:

iperf3 -ZVc 192.168.30.161 -t5 --get-server-output -l8192
Run Code Online (Sandbox Code Playgroud)

产生800Mbit以北的传输速度,没有报告重传。

服务器始终使用以下选项启动:

iperf3 -sB192.168.30.161
Run Code Online (Sandbox Code Playgroud)

谁的错?

  1. linux 客户端(硬件?驱动程序?设置?)? 编辑:我刚刚从一个 Windows 服务器盒运行测试到另一个和 300Mbit 的 UDP 数据包丢失甚至更高,为 22%
  2. Windows 服务器盒(硬件?驱动程序?设置?)?
  3. 连接所有测试机的(单个)开关?
  4. 电缆?

编辑:

现在我尝试了另一个方向:Windows -> Linux。结果:丢包率始终为 0,而吞吐量最大约为

  • 840Mbit 用于-l8192,即分片的 IP 数据包
  • 250Mbit 用于-l1472未分片的 …

performance iperf tcp udp packetloss

12
推荐指数
2
解决办法
3万
查看次数

如何列出对 udp 套接字的所有请求?

我正在运行几个使用 udp 与大量客户端通信的服务器守护进程。我如何找到并列出与服务器通信的所有活动 udp “连接”,以便估计连接到服务器守护进程的活动客户端的数量?除了使用 tshark 或 tcpdump 嗅探数据包并查看进入服务器守护进程的 udp 数据包的源 IP 之外,我想不出一种简单的方法来做到这一点,是的,我知道 UDP 是无连接和无状态的协议。

networking linux udp packet-analyzer

11
推荐指数
3
解决办法
3万
查看次数

类似 mosh 的端口转发

这是在 linux 上,连接到 linux 服务器:

我喜欢 mosh,但它不支持端口转发,而且可能有一段时间不支持了,因为现在已经快一年了,而且还没有发生。

通过 ssh 进行端口转发很棒,但是因为我的笔记本电脑每天在网络之间移动数次,所以我的 ssh 会话会死掉,端口转发也是如此。

我可以编写脚本/破解一些东西来检测挂起的 ssh 并重新连接以使我的端口转发回来,但在我这样做之前,当您的源 IP 每天更改数次时,是否有另一种方法可以进行持久的端口转发(因为您使用不同的网络) )?

我认为 UDP 上的 ssh 可以解决问题,但当然 ssh 是 TCP 上的。

port udp forwarding

11
推荐指数
1
解决办法
4148
查看次数

在数据中心内的通信中丢失数据包有多常见?

假设我在同一个数据中心有 2 台机器,但不一定在同一个机架中。

在这两台机器之间使用 UDP 发送时,丢弃的数据包有多常见?

我的假设下问这个,因为只有在机器之间最少数交换机的数据包不会被丢弃在所有

无序数据包到达同一数据中心有多常见?我的假设是 99.9% 的时间只有一条路线,所以这不会发生。

然而,每当我发现自己在思考绝对的问题时,我知道我一定错过了一些东西!

我需要哪些背景信息才能更好地了解何时会出现丢弃的数据包,以及它们可能被丢弃的频率以及同一数据中心内的机器出现故障的频率?

最终,我试图在位于同一数据中心的不同 Linode VPS 实例之间进行通信时决定是使用多播 UDP 还是 PGM。信息必须按顺序到达。当然,UDP 听起来不是那么好!

但是,如果人们可以期望在同一个数据中心内实现几乎完美或完美的交付,那就没问题了。但是,我正在测试这个假设。

谢谢。

networking multicast udp datacenter packetloss

10
推荐指数
1
解决办法
1561
查看次数

负载平衡 DNS 服务器:UDP / TCP

我被要求在数据中心重建我们的负载平衡基础设施。

最初的请求是对 FTP 服务器进行负载平衡。我尝试使用当前的负载平衡器 ( Piranha / LVS)执行此操作,但没有启动并运行。不仅仅是因为这个软件几乎没有文档。由于Piranha被认为已弃用,我在HAProxy尝试了几天后转而使用它,它在Piranha.

所以我已经有了 FTP 负载平衡(被动模式)。现在,我被要求更换数据中心的整个 Piranha Load Balancer。在当前的 Piranha 配置中,我们有几个 Web 服务器、IIS 服务器....aaa 和DNS

不,事情是这样的:
HAProxy似乎是一个常用的 LB,但它不能处理UDP load balancing. 这是一个无赖,因为我喜欢如何HAProxy运作。所以我用谷歌搜索了很多,遇到了几件事。大多数人似乎将LVS其用作 DNS (TCP/UDP) 的 LB。有的用dlbDNS,有的用lbnamed,有的用netfilter / iptables

由于我想坚持使用HAProxyFTP、HTTP、IIS 服务器,因此我对将它与LVS.

要求:
具有故障转移功能的
2个 LB 实例 具有故障转移功能的2 个 DNS 服务器(已经存在)
多个后端服务器(http、应用程序等...)

问题:
这可能吗?DNS 服务器上的 UDP 负载平衡是否有必要?是否有任何类型的资源可以告诉我如何开始使用它?或者有没有既能处理 TCP/HTTP 又能处理 UDP 负载均衡的 …

domain-name-system load-balancing udp haproxy lvs

10
推荐指数
2
解决办法
1万
查看次数

Windows Server 2012 - RDP over UDP 不工作

我有一台 Windows Server 2012(不是 R2)机器,托管在 Hyper-V 虚拟化中,并安装了 RD 会话主机和 RD 网关。它用于运行桌面 GIS 应用程序。

WAN 上的性能很差。为了提高性能,我在 NAT 中添加了 UDP 端口,但仍然没有使用 UDP 连接。

在 LAN 测试环境中(为了避免 NAT/防火墙错误配置),我从 Win10 机器连接。连接信息栏显示“优秀质量”,但没有提及任何关于 UDP 的内容。如果是反向连接(Windows Server => Windows 10),连接信息栏会显示 UDP 已启用。

我完全关闭了安装在 Windows Server 上的 Windows 防火墙。我仔细检查了 RD 网关中是否启用了 UDP 传输。如果我使用网关 (443+3391) 或直接 (3389+3389) 连接,则没有区别。我重新启动了整个机器两次并滚动了前三个谷歌结果页面中的所有链接。

你知道什么是错误的吗?

rdp udp windows-server-2012

10
推荐指数
1
解决办法
3923
查看次数