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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

什么情况下适合用UDP协议,什么情况下适合用TCP协议?

5 个回复

倒序浏览
总的来说,TCP协议提供可靠的服务,UDP协议提供高效率的服务。

高可靠性的TCP服务提供面向连接的服务,主要用于一次传输大量报文的情形,如文件传输,远程登录等;
高效率的UDP协议提供无连接的数据报服务,用于一次传输少量的报文。即使发生传输错误,也可以重新传输并且不会为此付出多少代价。

TCP提供的是面向连接的、可靠的数据流传输,可避免数据传输错误。面向连接的协议在任何数据传输前就建立好了点到点的连接。
而UDP提供的是非面向连接的、不可靠的数据流传输。当一个UDP数据包在网络中移动时,发送过程并不知道它是否到达了目的地,除非应用层已经确认了它已到达的事实。
当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。
回复 使用道具 举报
udp用户数据包协议,提供的无连接的尽力而为的交互
tcp传输控制协议,通过三次握手先建立可靠的TCP连接,然后再传输数据
2个协议均为传输层协议,当网络可靠,需要突发大量的数据时可以选择使用udp,不用考虑丢包重传等情况,可以巨大的提高数据传输效率;当需要认证、网络不可靠,丢包严重、传输距离元的时候可以选择使用tcp,因为tcp需要先建立连接才能传输数据,保障了可靠的传输。
如tftp、rip广播路路由包使用udp
如ftp、http等使用tcp协议
回复 使用道具 举报
UDP 的传输速度远高于TCP,在追求速度,而不必确保发送端所发的数据接收端都能收到的情况下使用UDP。而如果强调发送端所发的数据接收端都必须接收到的情况下,使用TCP。TCP需要建立连接,UDP无需建立连接。就像发快递属于UDP,发送方不知道接收方能不能收到;打电话属于TCP,需先拨号建立连接,二者才能通话。
下面是TCP与UDP的区别:
(1)TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务;
(2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;
(3)也正因为以上特征,UDP具有较好的实时性,工作效率较TCP协议高;
(4)UDP段结构比TCP的段结构简单,因此网络开销也小。
回复 使用道具 举报
UDP:
      1,因为不需要连接,所以是不可靠协议。因为不需要建立连接,所以速度快
      2,但是传输的数据比较小,每个数据包的大小限制在64k
TCP:
      1,要建立连接,形成传输数据的通道,通过三次握手来建立连接,因为要建立连接,所以效率低
      2,但是可以传输大的数据
回复 使用道具 举报
UDP一般用于即时聊天工具 而TCP一般用于大型文件的传输或者说传输比较重要的文件时要用到TCP
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马