Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TCP vs UDP-什么是TCP连接?_Tcp_Udp_Network Protocols - Fatal编程技术网

TCP vs UDP-什么是TCP连接?

TCP vs UDP-什么是TCP连接?,tcp,udp,network-protocols,Tcp,Udp,Network Protocols,什么是TCP连接? 我知道从客户端到服务器没有物理连接。这个连接只是客户端的套接字与服务器在三方握手后创建的新套接字相链接吗? 此后,一旦建立了“连接”,连接两端的套接字就知道在哪里发送数据包 除了与TCP的初始握手,这与UDP的工作方式有什么不同? 是不是每个服务器套接字只有一个向特定套接字发送数据包的客户端 在主机之间建立专用连接可能有哪些优点?我对TCP和UDP的理解仍然非常基础,因此广泛的概括应该足够了。让我们把它分成几个部分。首先,网络基于IP,这是一种为每个网络节点分配地址的协议,允

什么是TCP连接? 我知道从客户端到服务器没有物理连接。这个连接只是客户端的套接字与服务器在三方握手后创建的新套接字相链接吗? 此后,一旦建立了“连接”,连接两端的套接字就知道在哪里发送数据包

除了与TCP的初始握手,这与UDP的工作方式有什么不同? 是不是每个服务器套接字只有一个向特定套接字发送数据包的客户端


在主机之间建立专用连接可能有哪些优点?我对TCP和UDP的理解仍然非常基础,因此广泛的概括应该足够了。

让我们把它分成几个部分。首先,网络基于IP,这是一种为每个网络节点分配地址的协议,允许您从一个节点向另一个节点发送少量数据(通常高达64kB,但通常只有1500B)

这本身还没有多大价值,因为我们无法检查数据是否实际到达,以及数据是否以正确的顺序到达。如果我们想要一个抽象的机制来传输任意数量的数据并确保它们到达,那么我们需要在网络之上另一个协议来处理这个“传输”。这就是TCP的目的

然而,与TCP并行的还有另一个“传输”协议,它根本不做任何检查,也没有可靠性,即UDP。UDP只是原始IP数据包的薄型包装,它添加了一点元数据(如端口号)

不过,UDP仍然很有用,因为在许多情况下,数据完整性已经交给更高的协议,因此不需要复杂的传输协议。例如,这在虚拟网络服务中使用,其中另一个TCP/IP实例通常通过UDP通道运行。(在这种情况下,由于重发级联,使通道使用可靠的协议(如TCP)实际上会产生灾难性的后果。)


所以术语“TCP连接”指的是TCP协议的应用。该协议自然地是有状态的,并且通常以SYN-ACK-data-FIN序列进行,或者在拒绝传输的情况下以SYN/RST进行;这两个对等方都保持连接状态(握手、建立、关闭、关闭)。TCP还引入了术语“服务器”和“客户端”,服务器是
listen()的对等方
s用于传入连接。

TCP和UDP套接字之间的主要区别在于UDP是无连接的,并且不使用任何关于另一端接收到数据的确认

传输控制协议(TCP)是Internet协议套件的核心协议之一。TCP是套件的两个原始组件之一,是对Internet协议(IP)的补充,因此整个套件通常称为TCP/IP。TCP提供从一台计算机上的程序到另一台计算机上的另一个程序的可靠、有序的字节流传递。TCP是主要互联网应用程序(如万维网、电子邮件、远程管理和文件传输)所依赖的协议。其他不需要可靠数据流服务的应用程序可以使用用户数据报协议(UDP),该协议提供的数据报服务强调减少延迟而不是可靠性


隐马尔可夫模型。。。我在想我该怎么说才能得到我想要的。我知道TCP增加了额外的功能,允许更可靠的数据传输。它还具有处理拥塞控制的功能。我想我想忽略这些特性,只关注实际的“连接”。如果我要设计一个UDP客户端和服务器,来回发送确认以提高可靠性,那么这会是TCP中使用的“连接”吗。祝贺你,我想。@renocor:哈哈,真的,谢谢:-)这有点尴尬,不是吗。哦,好吧。@Kasuniyambalapitiya:这就是TCP包的种类。SYN、ACK、FIN和RST是建立或结束连接的握手元数据。根据OP的评论,我认为这个答案(虽然正确)没有回答OP的问题,也没有回答我的问题。我的问题是:“当我们说两台主机之间建立了连接时,这是什么意思?如果我能得到一个神奇的显微镜,检查服务器或客户端,然后-哈哈找到连接,我会看什么?操作系统代码分配的某个变量?某种表格中的某个条目?它是如何和何时到达那里的,以及如何和何时从那里移除”。