当客户端使用TCP连接到服务器时,会为TCP流创建一个新的套接字。连接是否保留在建立连接的同一端口上,还是更改为其他端口? 最佳答案 新套接字是一个应用程序级概念,因为每个已建立的连接都需要一个唯一的文件描述符(也不同于监听文件描述符),它映射到TCPsession,但并不相同。session本身由源地址和目标地址以及端口的组合来标识。源(客户端)端口通常是随机选择的,而目标(服务器)端口是监听端口。没有分配额外的端口。 关于network-programming-当服务器接受TCP连接
据我所知,如果必须设计Internet应用程序,我们应该使用面向连接的服务或无连接服务,但不能同时使用这两种服务。Internet的面向连接服务是TCP,无连接服务是UDP,两者都驻留在Internet协议(protocol)栈的传输层。Internet的唯一网络层是IP,它是一种无连接服务。因此,这意味着我们设计的任何应用程序最终都会使用IP来传输数据包。面向连接的服务使用相同的路径来传输所有数据包,而无连接则不然。所以我的问题是如果设计了一个面向连接的应用程序,它应该使用相同的路径传输数据包。但IP通过使用不同的路由打破了这一规则。那么从这个意义上说,TCP和IP如何协同工作呢?这
我正在尝试理解这种设计背后的基本原理。我浏览了一些RFC,但没有发现任何明显的东西。 最佳答案 这不是特别微妙-它使SYN和FIN位本身可以被确认(因此如果它们丢失则重新发送)。例如,如果连接在没有发送任何更多数据的情况下关闭,那么如果FIN不使用序列号,则关闭端无法区分FIN的ACK,以及在FIN之前发送的数据的ACK。 关于networking-为什么TCP段中的SYN或FIN位占用序列号空间中的一个字节?,我们在StackOverflow上找到一个类似的问题:
TCP是面向流的,这意味着数据作为连续的字节流传输。但让我感到困惑的是TCP创建段并将其传递给IP。IP创建数据包封装段并传输它们。那么这里源源不断的究竟在哪里呢?另一方面,UDP是面向消息的。它从应用层接收消息,创建数据报并将其下推到IP。到目前为止,它与TCP相同,只是创建并下推数据报。是什么使该协议(protocol)成为面向消息的协议(protocol)? 最佳答案 向您展示这些协议(protocol)的用户(程序员)的接口(interface)/API是:UDP面向消息,你有一个API(发送/接收和类似的)让你能够发送一个
我有一个奇怪的想法。据我所知,我听说有一种软件使用UDP来传输文件,从而减少了TCP数据包中的开销。如果我的应用程序需要TCP,并且我的LAN已设置软件以与海岸另一侧的另一个数据中心进行通信,并在其端设置了软件。是否可以通过UDP发送实际数据而不是在两端模拟TCP?有没有人对此类项目有任何想法或信息? 最佳答案 如果您询问是否可以将UDP用作Layer2,那么答案是肯定的,有点。有多种协议(protocol)允许您使用UDP传输创建到另一个网络的隧道,例如L2TP甚至IPsec(withNATtraversal).您也可以在appl
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我对两个DNS概念感到困惑。我的问题是“DNS区域”和“DNS域”之间有什么区别?谢谢
Web服务器如何在单个端口(80)上同时处理多个传入请求?例子:同时,30万用户希望看到来自www.abcdef.com的图像,该图像分配了IP10.10.100.100和端口80。那么www.abcdef.com如何处理这些传入用户的负载?一台服务器(分配有IP10.10.100.100)能否处理如此大量的传入用户?如果不是,那么如何将一个IP地址分配给多个服务器来处理这种负载? 最佳答案 端口只是一个神奇的数字。它不对应于一个硬件。服务器打开一个套接字,它在端口80上“监听”并“接受”来自该套接字的新连接。每个新连接都由一个新套
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。有没有人对以下任何嵌入式TCP/IP堆栈有特别好的(或坏的)体验?uIPlwIP边沁的TCP/IPLean实现TCP/IP堆栈fromthisbook我需要一个可靠的、易于移植的堆栈。代码大小不是特别重要,性能相对重要,但易用性和移植性非常重要。该系统可能会使用RTOS,这还没有决定,但根据我的经验,大多数堆栈都可以在有或没有RTOS的情况下使用。该平台很
据我了解,有两种关闭TCP连接的方法:发送FIN标志发送RST标志RST会立即终止连接,而在FIN中您会得到确认。我这样理解对吗,两者之间还有其他区别吗?这2个标志可以一起使用吗? 最佳答案 FIN说:“我和你谈完了,但我仍然会听你说的一切,直到你说完为止。”RST说:“没有对话。我不会说任何话,也不会听你说的任何话。”如果您的TCP连接持久且流量很小,则RST很有用。如果其中一台计算机重新启动,它会忘记连接,而另一台计算机在发送另一个数据包后立即获得RST。 关于networking-
有人可以解释IPoIB和TCPoverinfiniband的概念吗?我了解nativeinfiniband提供的总体概念和数据速率,但不太了解TCP和IPoIB如何适应。您为什么需要它们以及它们有什么作用?有人说他们的网络使用IPoIB或TCP和infiniband有什么区别?哪一个更好?我没有很强的网络背景,所以如果你能详细说明就太好了。感谢您的帮助。 最佳答案 InfiniBand适配器(“HCA”)提供了一些可以通过native“verbs”编程接口(interface)使用的高级功能:数据传输可以直接从用户空间启动到硬件,绕