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、必须建立连接,效率会稍低 例子:电话通话,必须连接,对方同意才可以发送数据(不然就等待),不能丢失数据。 |