草庐IT

network-analysis

全部标签

networking - TCP Socket 无连接超时

我打开一个TCP套接字并将其连接到网络上其他地方的另一个套接字。然后我可以成功发送和接收数据。我有一个定时器,每秒向套接字发送一些东西。然后我通过强行断开连接(在这种情况下拔出以太网电缆)粗暴地中断了连接。我的套接字仍在报告它正在每秒成功地写出数据。这将持续大约1小时30分钟,最终出现写入错误。什么指定了一个套接字最终接受另一端消失的超时?是操作系统(Ubuntu11.04),是来自TCP/IP规范,还是套接字配置选项? 最佳答案 虽然会中断通信,但拔出网络电缆不会断开TCP连接(1)。您可以重新插入电缆,一旦建立IP连接,所有备份

networking - TCP 是在每个数据包上发送 SYN/ACK 还是仅在第一个连接上发送?

我有一个TCP服务器监听传入的客户端,然后每秒向它发送一个数据包。我想知道,SYN/ACK数据包是否只在初始连接时发送,所以它看起来像这样:SYNACKDATADATADATA还是像这样随每个数据包一起发送?SYNACKDATASYNACKDATASYNACKDATA此外,如果是第一种情况,如果长时间保持连接打开,UDP比TCP有什么好处吗? 最佳答案 有点像:+-------------------------------------------------------+|clientnetworkserver|+--------

networking - TCP 校验和能否检测到错误?如果是,如何处理?

如果TCP负载在传输过程中被破坏,重新计算的校验和将与传输的校验和不匹配。很好,到目前为止一切都很好。如果TCP校验和在传输过程中损坏,重新计算的校验和将与现在损坏的校验和不匹配。很好,到目前为止一切都很好。当有效载荷和校验和都被损坏并且重新计算的校验和虽然与应有的不同,但恰好与现在损坏的校验和匹配时会发生什么?我可以看到一个好的校验和算法(以及较低级别的附加校验和)这可能非常非常不可能,但TCP不是意味着100%可靠吗?它如何解决这些误报? 最佳答案 这里应该注意的一点是大多数人完全忽略的事实,即TCP校验和实际上是一个非常差的校

networking - TCP 时间戳有什么好处?

我有一项安全扫描发现指示我禁用TCP时间戳。我理解推荐的原因:时间戳可用于计算服务器正常运行时间,这对攻击者很有帮助(在http://www.silby.com/eurobsdcon05/eurobsdcon_silbersack.pdf的“TCP时间戳”标题下有很好的解释)。但是,据我了解,TCP时间戳旨在增强TCP性能。自然地,在成本/yield分析中,性能下降是一个很大的,可能太大的成本。我很难理解可能会有多少性能成本(如果有的话)。hivemind中的任何节点都愿意提供帮助吗? 最佳答案 RFC1323-Round-Trip

networking - 管道和套接字有什么区别?

我找到了几个答案,但它们似乎专门与Windows机器相关。所以我的问题是管道和套接字之间有什么区别,您应该何时/如何选择一个而不是另一个? 最佳答案 whatarethedifferencesbetweenpipesandsockets,andwhen/howshouldyouchooseoneovertheother?管道和套接字都处理字节流,但它们以不同的方式处理......管道仅存在于特定主机内,它们指的是虚拟文件之间的缓冲,或连接该主机内进程的输出/输入。管道内没有数据包的概念。套接字使用IPv4或IPv6将通信打包;该通信

networking - TCP的重传规则是什么?

WikipediaarticleonTCP表示传输TCP段的IP数据包有时会丢失,TCP“请求重新传输丢失的数据”。请求重传丢失数据的具体规则是什么?重传请求的执行频率是多少?数量有上限吗?当IP数据包丢失时,客户端是否有指示服务器忘记整个TCP段丢失部分的功能? 最佳答案 请求重传丢失数据的具体规则是什么?接收方不请求重传。发送方等待发送给客户端的字节范围的ACK,如果未收到,则在特定时间间隔后重新发送数据包。这是ARQ(自动重复请求)。有几种实现方法。Stop-and-waitARQGo-Back-NARQSelectiveRe

networking - 如何找到我可以在不分段的情况下发送的最大 UDP 数据包?

我需要知道在没有分段的情况下我可以发送到另一台计算机的最大UDP数据包是多少。此大小通常称为MTU(最大传输单元)。据推测,在两台计算机之间,将有许多可能具有不同MTU的路由器和调制解调器。我读到Windows中的TCP实现会自动找到路径中的最大MTU。我也在试验,我发现从我的电脑到服务器的最大MTU是57712字节+header。高于此的任何东西都被丢弃了。我的计算机在LAN上,MTU不是应该在1500字节左右吗? 最佳答案 以下内容并未直接回答您的问题,但您可能会觉得它很有趣;它说IP数据包可以被分解/重组,因此大于底层媒体的限

networking - 服务器端很多TIME_WAIT的代价是什么?

假设有一个客户端与服务器建立了很多短期连接。如果客户端关闭连接,客户端会有很多端口处于TIME_WAIT状态。由于客户端用完了本地端口,因此无法快速进行新的连接尝试。如果服务器关闭连接,我会在服务器端看到很多TIME_WAIT。然而,这有什么坏处吗?客户端(或其他客户端)可以继续尝试连接,因为它永远不会用完本地端口,并且服务器端的TIME_WAIT状态的数量会增加。最终会发生什么?有什么不好的事情发生吗?(速度变慢、崩溃、连接断开等)请注意,我的问题不是“TIME_WAIT的目的是什么?”但是“如果服务器上有这么多TIME_WAIT状态会怎样?”我已经知道在TCP/IP中关闭连接时会发

networking - TCP中的流量控制和拥塞控制有什么区别?

TCP中的流量控制和拥塞控制有什么区别?这个问题可以分为两部分:流量和拥塞控制的总体目的是什么?任务是如何完成的?根据Wikipedia,TCP流量控制依赖于ACK消息中报告的窗口大小。拥塞控制也依赖于确认消息。我想知道这两个目标之间的区别是什么,以及它们是如何工作的。 最佳答案 关于第1部分,super概述:流量控制由接收方控制。它确保发送方只发送接收方可以处理的内容。想一想具有快速光纤连接的人可能正在向拨号或类似的人发送信息的情况。发送方可以非常快速地发送数据包,但这对拨号接收方来说毫无用处,因此他们需要一种方法来限制发送方可以

networking - 为什么网络字节顺序定义为大端?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。正如标题中所写,我的问题是,为什么TCP/IP在传输数据时使用大端编码而不是替代的小端方案?