A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马—巫国生 初级黑马   /  2013-4-3 10:42  /  1099 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

UDP协议和TCP协议有啥区别啊?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 新人加油

查看全部评分

7 个回复

倒序浏览
TCP和UDP都是用来传输数据的协议 TCP是面向连接 可以进行大量的数据传输
并且要进行3次握手才完成连接 是可靠的协议 必须建立连接 效率稍低
UDP是无面向连接 将数据和源的目的都封装在数据报中 而且每个数据报的大小
都限制在64kb之内 是不可靠的协议 不需要建立连接 速度快

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
UDP 对向无连接
将数据及源和目的封装成数据包中,不需要建立连接
每个数据报的大小在限制在64k内
因无连接,是不可靠协议
不需要建立连接,速度快
例如:想寄东西,不需要确定地址存在
TCP
建立连接,形成传输数据的通道。
在连接中进行大数据量传输
通过三次握手完成连接,是可靠协议
必须建立连接,效率会稍低

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
TCP协议提供了一种可靠的数据传输服务,它是一种面向连接的数据传输协议。
在数据传输之前,通信节点之间必须建立起连接。为确保正确地接收数据,TCP协议要求在目标计算机成功收到数据时发回一个确认(即ACK)。
如果在某个时限内未收到相应的ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。
但是,接收电脑可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。

UDP协议是一种面向无连接的数据传输服务,它不能保证数据包以正确的顺序被接收。
该协议不能保证数据准确无误地到达目的地。UDP在许多方面非常有效。
当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用UDP协议。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
谢谢各位
回复 使用道具 举报
各位的回答都正确,都是书中的标准答案,有点抽象,不好理解。

把TCP协议比作打电话:对方接通了你的电话,意味着tcp的连接接通了。这时候你俩说话都能听得到,并且很清楚。你先说什么后说什么,对方听到的顺序也是一样的。

把UDP协议比作淘宝发货:你今天在淘宝定了很多单子,意味着使用udp发送消息。虽然你是按照时间顺序下的单子(发送消息),但是不同的商家发货速度不一样,选择的物流不一样,因此你收到货物的顺序也不一样。对于物流而言,他们有你的地址,知道送到哪里,但是谁先送到就不一定了。因为不同物流走的线路不一样(不像TCP一样事先和你建立通信管道)。

以上比喻更容易理解一些,我觉得啊。
回复 使用道具 举报
简单理解:
TCP:双方建立可靠的连接,坚持稳定持续的数据原则。例如:迅雷下载。
UDP:双方不用建立可靠的连接,发送方发送的数据不能保证能被接收方收到。例如:QQ。
回复 使用道具 举报
UDP:
   将数据及源和目的封装到数据包中,不需要建立连接
   每隔数据报的大小限制在64k
   因为无连接,所以是不可靠协议
   因为无连接,速度快
TCP:
   建立连接,形成传输数据的通道
   在连接中进行大数据量传输
   通过三次握手完成连接,可靠协议
   因为建立连接,速度慢,效率低
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马