标签: tcp

TCP/IP 可以在没有 UDP 的客户端之间有效地多播吗

我有一个高带宽应用程序,其中服务器将在千兆网络上以 ~300Mb/s 的速率生成数据。除了 UDP 之外,还有其他方法可以通过可靠的传输机制向 1 到 10 个客户端多播吗?

此应用程序非常类似于流视频,因为流的连续性比可靠性更重要。当前的应用程序有点慢,它使用 UDP 结合它自己的错误检查,客户端知道丢弃数据块。

是否有任何硬件选项可以为多个客户端提供可靠的 TCP/IP 流?

是否有任何协议可以隧道传输数据流并支持前向纠错?如果服务器/客户端仍然可以将其视为普通套接字,那就太好了。

只是认为必须有比滚动您自己的 UDP 多播解决方案更好的方法。

请注意,对于我的特定应用程序,服务器和客户端可以位于同一子网上。虽然,我对所有答案/选项感兴趣。

谢谢。

multicast tcp

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

TCP FIN 和 TCP RST 的使用

我最近一直在阅读有关 TCP 协议的内容,因为我对使用某些标志的方式和原因有点好奇。

在我发现的信息中,它谈到了正常关闭 TCP FIN 应该用于关闭连接,但随后它也谈到了 TCP RST 可用于在活动连接上中止关闭。

我的问题是,为什么要使用 RST 来中止/关闭使用 TCP FIN 的活动连接?

(将活动连接称为在标准 3 次握手后两个端点发送和接收数据的连接。我知道当客户端为未侦听的服务器端口发送 SYN 时,服务器可以使用 RST)

networking tcp flags

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

在 Ubuntu 中,有什么我可以运行的东西来检查传入的 HTTP 请求吗?

我正在运行 Node.js。但由于某种原因,请求没有被服务器捕获。(/sf/ask/647323771/

有没有办法检查是否有 HTTP 请求进来?理想情况下,我想运行一些可以“侦听” HTTP 请求的东西,然后在它们进来时打印它们,以及该 http 请求的 URl(如果可能)

linux unix ubuntu http tcp

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

多个负载平衡服务器侦听单个 IP/端口?

假设我有一个完全工作的、负载平衡的应用服务器环境。

所有服务器都必须优雅地进行故障转移。使用应用程序服务器相对容易,但如何使用前端负载平衡器实现故障转移?

我可以让多个负载均衡器监听同一个 IP 和端口吗?我一发现旧的死了就必须运行新的吗?

failover ip load-balancing tcp

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

在linux中找出TCP初始窗口段大小

我运行 Centos

[user ~]$ cat /etc/redhat-release
CentOS release 6.2 (Final)
Run Code Online (Sandbox Code Playgroud)

带内核

3.0.4-x86_64-linode21
Run Code Online (Sandbox Code Playgroud)

如何检查操作系统中的 TCP 初始窗口大小?我需要验证IW是否为 10。

linux optimization kernel tcp tcp-slow-start

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

TCP 通信的最小尺寸

我每 10 分钟从设备向 TCP 服务器发送少量数据(最多 100 字节)。在我的情况下,开销似乎很大(我们为每个字节付费)。我发现我至少有 7-10 个数据包(三向握手(3),请求与 ack(2),响应与 ack(2,可选)和拆卸(3))。总开销至少为 400 字节(每个数据包 40 字节 TCP/IP 标头)。

问题是:

  • 什么是可靠地发送如此少量数据的有效方法?(UDP 与 ack?)
  • 为什么我的标题大于 40 字节(60 或 52)?例如这个:

    0x0000:  4500 0034 73d7 4000 3506 d2ee 5c17 1b9b  E..4s.@.5...\...
    0x0010:  2599 61b3 be7e 23a3 31a9 710a 6a2f 6371  %.a..~#.1.q.j/cq
    0x0020:  8010 0073 2672 0000 0101 080a 02dc 02ef  ...s&r..........
    0x0030:  1dc2 dad6                                ....
    
    Run Code Online (Sandbox Code Playgroud)
  • 如何打印标题的键值列表而不是十六进制值?(这是次要的)

tcp udp

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

如何使用 iptables 全局限制 TCP 连接总数?

一旦 TCP 连接总数达到全局最大值,而不考虑源或目标端口,我很难弄清楚如何拒绝来自具有 iptables 的机器的入站出站连接。必须包括所有来源/目的地/端口。

这可能与 iptables 吗?

networking tcpip firewall iptables tcp

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

如何将临时端口映射到 pid?

我有一个 RHEL 服务器,上面有几个应用程序,我试图找出其中一个正在调用外部 Web 服务。我有 TCP 转储显示正在进行的调用,并且通过各种工具我能够确定进行这些调用的临时端口。但是,我无法弄清楚如何将该临时端口映射到 pid。我知道我可以使用lsof -i将绑定端口映射到 pid,但这不是我的问题。

有什么方法可以将正在使用的临时端口映射到 pid 或其他指示哪个文件正在调用的指标?

port netstat tcp lsof pid

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

如何配置tcp包装器

我有一个带有 ip-address 的服务器192.168.0.1和一个带有 ip-address的客户端192.168.0.2,它们都能够相互连接。

现在的问题是我已经在我的服务器端配置了 TCP Wrapper 并在它的/etc/hosts.deny文件中附加了以下行

sshd : 192.168.0.0/255.255.255.0 \
 : twist /bin/echo "Access Denied!"
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用 ip-address 从客户端机器 ssh 时,192.168.0.2它给出了消息:

ssh_exchange_identification: Connection closed by remotehost
Run Code Online (Sandbox Code Playgroud)

但是为什么它没有显示我为其配置的消息?请帮忙。

ubuntu tcp ubuntu-12.04

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

无法确定使用端口 8080 的内容

在 Windows Server 2003 R2 64 位 SP2 中,我有一个仅使用端口 8080 的应用程序,但已经有人在使用它。我很乐意杀死正在使用它的任何东西,但我无法弄清楚它是什么。我已经运行了 TCPView,它显示了一个 PID 为 3216 的进程为“”。我试过 taskkill /pid 3216 但它说:

错误:找不到进程“3216”。

如果我浏览到http://127.0.0.1:8080以下错误之一,那么它看起来有点像某种网络服务器。如果我尝试终止 TCPView 中的进程,则什么也不会发生。任何人都可以提出任何其他建议吗?

禁止。您无权访问 / 在此服务器上。

内部服务器错误。服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员 admin@example.com 并告知他们发生错误的时间,以及您所做的可能导致错误的任何事情。服务器错误日志中可能提供有关此错误的更多信息。

windows windows-server-2003 tcp

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