TCP和UDP区别

TCP面向连接(TCP三次握手),UDP是无连接的,即发送数据之前不需要建立连接。

每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。

TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的。

TCP有序,UDP无序;消息在传输过程中可能会乱序,后发送的消息可能会先到达,TCP会对其进行重排序,UDP不会。

TCP有流量控制(拥塞控制),UDP没有。流量控制:TCP利用滑动窗口机制在TCP连接上实现对发送方的流量控制, 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。当出现网络抖动时,TCP会自觉降低发送速度,他会努力维护次序,但UDP依然保持速度不变。TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

TCP传输速率慢,由于传输要进行三次握手,以及会进行拥塞控制等。

TCP应用场景:效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确认、重发、排序等操作,相比之下效率没有UDP高。举几个例子:文件传输(准确高要求高、但是速度可以相对慢)、接受邮件、远程登录。UDP应用场景:效率要求相对高,对准确性要求相对低的场景。举几个例子:QQ聊天、在线视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。

 

 

TCP

 

UDP

 

连接

 

面向连接

 

无连接

 

连接方式

 

点到点

 

支持一对一,一对多,多对一和多对多

 

模式

 

流模式(TCP)

 

数据报模式(UDP)

 

头部大小

 

20字节

 

8字节

 

有序性

 

有序

 

无序

 

传输速率控制

 

流量控制(拥塞控制)

 

 

可靠性

 

可靠

 

不可靠

 

传输速率

 

 

 

占用系统资源

 

 

 

应用场景

 

效率要求相对低,但对准确性要求相对高的场景。

  效率要求相对高,对准确性要求相对低的场景  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjxdw.html