TCP和UDP的联系和用途

一.区别
       二者都是有用的和常用的,如果纯粹从概念上区分二者就比较费解了,我们直接从功能上进行区分,简单明了: 
       这两种传输协议也就是合于适配不同的业务和不同的硬件终端。 
       在使用中,类似于图像、声音等对可靠性要求没有那么高的业务可以用UDP,他们不需要准确存储对准确性无要求但要求速度快。      
       类似于文本、程序、文件等要求可靠的数据最好就用TCP,但会牺牲一些速度。 
       对系统资源的要求:CP较多,UDP少。 
       程序结构:UDP程序结构较简单,TCP复杂。 
       流模式与数据报模式:TCP保证数据正确性,UDP可能丢包; TCP保证数据顺序,UDP不保证
 
二.用途
       TCP是面向连接的,有比较高的可靠性,一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等,而 UDP是面向无连接的,使用这个协议的常见服务有DNS、SNMP、QQ等。对于QQ必须另外说明一下,QQ2003以前是只使用UDP协议的,其服务器 使用8000端口,侦听是否有信息传来,客户端使用4000端口,向外发送信息(这也就不难理解在一般的显IP的QQ版本中显示好友的IP地址信息中端口 常为4000或其后续端口的原因了),即QQ程序既接受服务又提供服务,在以后的QQ版本中也支持使用TCP协议了。 
       Udp是一种面向无连接的通信协议,该协议使得数据传输的速度得到大幅度的提高。视频聊天语音聊天基本都是用UPD协议。

我的总结:
一、UDP:
                1
、将数据源和目的地封装到数据包中,不需要建立连接
                2
、每个数据包的大小限制在64k以内
                3
、因无连接,是不可靠协议
                4
、不需要建立连接,速度快

 

例子:聊天、对讲机就是UDP的,面向无连接(不管在不在,知不知道,只管发送,求速度),丢数据也不管。速度快。数据被分成包

 

 


二、TCP:
                1
、建立连接,形成传输数据的通道
                2
、在连接中进行大量数据的传输
                3
、通过三次握手完成连接、是可靠协议
                4
、必须建立连接,效率会稍低

例子:电话通话,必须连接,对方同意才可以发送数据(不然就等待),不能丢失数据。

原文地址:https://www.cnblogs.com/duwenqidu/p/12606663.html