草庐IT

network-conduit

全部标签

networking - 在哪些情况下 tcp 接收方收到有效的 syn 段但仍然没有 syn ack?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion在哪些情况下,TCP接收方会收到有效的SYN段,但仍不会发送SYN-ACK段作为响应?

network-programming - TCP/IP 长期连接

我有一个在Linux机器上运行的服务器应用程序。我可以从Windows/Linux机器连接这个应用程序并可以发送/接收数据。几个小时后,发生了一些事情,我在客户端收到以下错误。在Windows上:现有连接被远程主机强行关闭在Linux上:连接超时我在网络上进行了搜索,发现了一些建议增加/减少操作系统的存活时间的帖子。但是,它对我不起作用。我能找到解决这个问题的方法吗?还是我应该在连接被强行关闭时尝试重新连接到服务器?编辑:我已经跟踪了情况。我向远程节点发送了一个数据,等待5个小时后发送了另一个数据。发送方发送了第一个数据,但是发送方发送了第二个数据却没有响应。发送方的TCP/IP堆栈通

networking - TCP 写错误但不是真的

我一直在测试一个程序,它可以通过1Gbps线路在两台机器之间进行简单的通信。当通过线路运行TCP通信时,当网络完全被淹没时(运行在或接近100%使用率),我偶尔会在客户端收到写入错误(由于超时)。当我运行同一个程序的多个实例到不同的端口时,通常会发生这种情况。我的问题是,是否有可能出现写入错误但仍然在服务器端收到消息。看来这就是正在发生的事情,我不太确定为什么。会不会是返回给客户端的ACK超时了? 最佳答案 是的,这是可能的。TCP不保证你发送成功的数据一定能收到,发送失败的数据一定不会收到。这个问题无解。它被称为将军问题。总有一种

networking - MAC OUI 文件缺少许多制造商

我有一个包含许多MAC地址的数据库,我编写了一个C代码,从standards-oui.ieee.org下载oui文件,解析它以生成一个更有用的文件来满足我的需要,并与制造商一起更新数据库每个MAC。当我在oui文件中找不到匹配项时,我将制造商设置为“未知”,现在我看到数据库中有很多“未知”!这怎么可能?ieee应该有所有制造商的OUI,并且不太可能所有带有“未知”(数百个)的MAC都被欺骗。我找到了wiresharkoui文件,但它也没有这些制造商。是否有更完整/更新的oui源代码?我错过了什么吗? 最佳答案 amImissings

networking - RPC 和 TCP 行为

有人可以从网络的角度描述什么是RPC(SUN和/或DCE)以及为什么它偏离标准的TCP行为吗?我理解的方式是客户端连接到具有唯一源端口的服务器,然后在TCP三向握手完成后切换源端口。我使用ASA防火墙,因此当未启用DCERPC的检查时,这种行为变得非常明显,因为防火墙将阻止它,因为它将它视为威胁。我已经阅读了一些MSTechNet文章和其他网站定义,包括观看了大约五个Youtube视频,这些视频似乎都从程序员的角度解释了它,但我还没有完全理解这个概念,因为我不是程序员。 最佳答案 请注意,关于RPC协议(protocol),没有任何

networking - 为什么 UDP 广播以比 TCP 低得多的速度阻塞路由器?

想法:我们有一个生成大约200-300Mb/s数据的成像系统,这些数据目前通过以太网电缆传输到计算机,计算机解压缩它们并显示实时图像。我们正试图通过让系统通过以太网电缆将数据包传递到路由器,然后路由器将udp数据包广播到计算机(或最终-多台计算机),从而使系统在LAN上无线化。在最高层看起来有点像这样:之前:成像设备->cat-5->计算机(在达到所需的300Mb/s时工作正常)之后:成像设备->cat-5->路由器->802.11ac无线->电脑(超过5Mb/s的巨大(50%+)数据丢失)-电脑:surfacepro3-路由器:BuffaloAirStationAC1750DD‑WR

networking - UDP 负载平衡使用自定义平衡方法, session ID 位于 UDP 主体内

我正在尝试设置一个能够对UDP流量进行负载平衡的负载平衡解决方案。就我而言,我有几个不同的服务器将UDP包发送到负载均衡器。在每个UDP包体中,都有一个MSG-ID字段。理想情况下,我想根据该MSG-ID将UDP流量负载平衡到一组服务器。换句话说,应该将两个具有相同MSG-ID的UDP包发送到同一台服务器(因为我想将两个具有相同MSG-ID的UDP包组装成一个完整的包以供进一步处理)。但如果不可能,那么基于源/发件人IP的解决方案可能就足够了。Haproxy不支持UDP,所以我正在检查nginx。但是似乎只有nginx-plus(不是免费的解决方案)允许您基于ip_hash方法进行负载

networking - 关于数据包的一些困惑

谷歌搜索一段时间后,我真的很困惑。答案就在我眼前,但我还是不明白!据说:Themaximumpacketsizeis65535(includingpacketheaders),butitactuallyisn't!ItistheMaximumTransmissionUnit(MTU)value!从程序员的角度来看,我应该考虑的值(value)是什么?如果我应该考虑的值是MTU,那么这个世界上存在的最小MTU值是多少?还有一件事。由于UDP使用数据报通过网络发送数据包,因此具有最大数据包大小是有意义的。但是,TCP以八位字节流的形式传输数据,那么为什么会有最大数据包大小呢?(只是好奇)在

network-programming - 在通过本地主机传输期间,OSI 模型中使用了哪些层?

当通过本地主机地址或127.0.0.1传输数据时,OSI模型中使用了哪些层?我相信通信从应用层开始,一直向下到某个层,但没有数据通过物理层,或者有吗? 最佳答案 到127.0.0.1的流量将由TCP/IP模型的互联网层环回,这在OSI模型中由网络层匹配。这是进行路由和地址解析的层。 关于network-programming-在通过本地主机传输期间,OSI模型中使用了哪些层?,我们在StackOverflow上找到一个类似的问题: https://stacko

networking - 当我使用 TCP 连接时,我应该发送 Keep alive 数据包吗?

我的问题是,我已经创建了一个TCP连接,当它停留约1小时而没有传输任何数据时,它已经与服务器断开连接,但它没有通知我它已断开连接,我是否应该发送保持事件数据包到服务器?或者我应该从服务器向客户端发送keepalive数据包吗?还是我应该同时发送给两者? 最佳答案 是的,你应该。几天前我创建了一个TCP套接字/服务器应用程序,我遇到了同样的问题。我通过开始发送保持事件数据包来修复它。如果你发送保活数据包,你的问题就会消失。我听说有人说操作系统会为你发送保活数据包,我对此不是很熟悉,但发送保活数据包对我来说很明确