Networking UDP和TCP数据包之间的区别是什么?你用它们干什么?

Networking UDP和TCP数据包之间的区别是什么?你用它们干什么?,networking,tcp,udp,Networking,Tcp,Udp,我昨天有空。我的同事刚刚问了我这个问题,我无法回答。我意识到我是一个比系统管理员好得多的开发人员,需要改进 那么它们是什么呢?它们是干什么用的?利弊(如果相关)。TCP是一种可靠的协议,可确保数据包到达目的地,并用于所有数据必须在各方之间准确传输的应用程序中。TCP要求双方在数据传输开始之前协商连接,它是一种弹性协议,因为它将重复重新发送数据包,直到预期的接收者收到该数据包 UDP是不可靠的,因为它允许某些数据包在传输过程中丢失。在电影流媒体中可以找到UDP的一些应用程序,在这些应用程序中,您实

我昨天有空。我的同事刚刚问了我这个问题,我无法回答。我意识到我是一个比系统管理员好得多的开发人员,需要改进


那么它们是什么呢?它们是干什么用的?利弊(如果相关)。

TCP是一种可靠的协议,可确保数据包到达目的地,并用于所有数据必须在各方之间准确传输的应用程序中。TCP要求双方在数据传输开始之前协商连接,它是一种弹性协议,因为它将重复重新发送数据包,直到预期的接收者收到该数据包

UDP是不可靠的,因为它允许某些数据包在传输过程中丢失。在电影流媒体中可以找到UDP的一些应用程序,在这些应用程序中,您实际上可以承受丢失一帧而不会影响电影质量。UDP不需要双方之间的绑定,通常被视为TCP的一种轻量级替代方案

这里有一个很好的表格:

可能为UDP和TCP的实际区别提供了最简单的解释。从实现的角度来看,请参见

简而言之:TCP的工作原理有点像挂号信,而UDP的工作原理有点像普通信——对于后者,你永远不知道收件人是否收到了你发送的数据包。

克里斯是对的!
谷歌退出的一个奇特链接是:

p.R.的答案基本正确,但不完整

TCP是一种可靠的连接流协议。它的数据视图是主机之间的双向字节流:您发送的任何字节都将以相同的顺序到达另一端,至少就应用程序而言(如果需要,操作系统将重新排列数据包)


UDP是一种未连接的数据报协议。它的数据视图是离散数据报或消息视图,不能保证这些消息实际到达收件人,或者它们按照发送顺序到达。它确实保证,如果消息到达,它将完整地到达,并且不会修改。

这些都是基本问题

用户数据报协议 1) 计算机之间没有端到端连接(可能在本地网络或internet的某个位置)。

2) 在接收端接收到的数据不是像TCP那样以流的形式,而是作为一个完整的数据块。

3) 在传输层,不执行分组顺序检查。也就是说,如果收到的数据包中有任何错误,接收方将不会要求向发送方重新发送相同的数据包。

4) 由于上述行为,发送方端不需要发送缓冲区。

5) 因为没有端到端连接是estld。而且不需要握手,UDP速度比TCP快得多,但可靠性较低。因此主要用于游戏和DNS等。。

6) 接收数据包后无需发送确认。

传输控制协议

1) 机器之间保持端到端连接(可能在本地网络或internet的某个位置)。

2) 在接收端接收的数据是TCP中的流。因此,当我们为服务器进行网络编程时,我们首先解析报头,然后根据报头中提到的大小,我们从缓冲区中获得更多的字节数。

3) 错误检查和序列号都已完成。因此,在任何数据包被无序(很少)接收或出错的情况下,该数据包被重新发送。此外,流控制还涉及许多其他协议(端到端流控制)。

4) 作为连接的建立,握手和确认是要做的TCP在操作上基本上比UDP慢。(我相信这并不重要)

5) 许多协议使用TCP作为底层传输协议。HTTP、FTP、TELNET等。。

6) 沟通程序包括:

服务器::1)套接字打开 2) 套接字绑定 3) 插座监听 4) 套接字接受 5) 套接字发送/接收 客户端::1)套接字打开 2) 插座连接 3) 套接字发送/接收


还有很多其他不同之处。但以上是最常见的。

Q title:U PD-->U dp中的打字错误您想要数据包之间还是协议之间的差异?顺便说一句,这是离题的。@nick:我甚至现在都不知道它们是一个数据包和一个要区分的协议:-)@亚历山大。感谢您的修复。打包交货保证只是其中一个区别。@e-satis:这就是为什么我还添加了相关点击的链接。不,他不是。在做出此类声明之前,请阅读SO规则。关于做什么和不做什么的讨论都在Meta-SO上讨论,“在谷歌上寻找anwsers”没有附加价值,也不受本网站欢迎:@e-satis:我认为我的回答不符合“你尝试过谷歌吗?”。我链接了相关文档,只是没有将内容复制粘贴到SO中。@e-satis:好的,我明白你的意思,但在我和chris的答案后面有一些相关链接。这些链接的内容可能会有所帮助。显然,我们是懒惰的,因为我们可以在这里详细阐述(压缩)我们发现的内容并重新制定它们。对此我深表歉意,我认为回答一个如此笼统的问题可能不合适。