黑马程序员技术交流社区

标题: 协议问题搞不懂 [打印本页]

作者: 黑马—巫国生    时间: 2013-4-3 10:42
标题: 协议问题搞不懂
UDP协议和TCP协议有啥区别啊?
作者: 赵亚威    时间: 2013-4-3 10:46
TCP和UDP都是用来传输数据的协议 TCP是面向连接 可以进行大量的数据传输
并且要进行3次握手才完成连接 是可靠的协议 必须建立连接 效率稍低
UDP是无面向连接 将数据和源的目的都封装在数据报中 而且每个数据报的大小
都限制在64kb之内 是不可靠的协议 不需要建立连接 速度快
作者: 随便    时间: 2013-4-3 10:57
UDP 对向无连接
将数据及源和目的封装成数据包中,不需要建立连接
每个数据报的大小在限制在64k内
因无连接,是不可靠协议
不需要建立连接,速度快
例如:想寄东西,不需要确定地址存在
TCP
建立连接,形成传输数据的通道。
在连接中进行大数据量传输
通过三次握手完成连接,是可靠协议
必须建立连接,效率会稍低
作者: lucy198921    时间: 2013-4-3 10:57
TCP协议提供了一种可靠的数据传输服务,它是一种面向连接的数据传输协议。
在数据传输之前,通信节点之间必须建立起连接。为确保正确地接收数据,TCP协议要求在目标计算机成功收到数据时发回一个确认(即ACK)。
如果在某个时限内未收到相应的ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。
但是,接收电脑可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。

UDP协议是一种面向无连接的数据传输服务,它不能保证数据包以正确的顺序被接收。
该协议不能保证数据准确无误地到达目的地。UDP在许多方面非常有效。
当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用UDP协议。
作者: 黑马—巫国生    时间: 2013-4-4 16:55
谢谢各位
作者: wuddd    时间: 2013-4-4 17:27
各位的回答都正确,都是书中的标准答案,有点抽象,不好理解。

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

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

以上比喻更容易理解一些,我觉得啊。
作者: 杨成    时间: 2013-4-4 23:38
简单理解:
TCP:双方建立可靠的连接,坚持稳定持续的数据原则。例如:迅雷下载。
UDP:双方不用建立可靠的连接,发送方发送的数据不能保证能被接收方收到。例如:QQ。
作者: 王川    时间: 2013-4-4 23:50
UDP:
   将数据及源和目的封装到数据包中,不需要建立连接
   每隔数据报的大小限制在64k
   因为无连接,所以是不可靠协议
   因为无连接,速度快
TCP:
   建立连接,形成传输数据的通道
   在连接中进行大数据量传输
   通过三次握手完成连接,可靠协议
   因为建立连接,速度慢,效率低




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2