其他分享
首页 > 其他分享> > utp与tcp

utp与tcp

作者:互联网

tcp与udp的区别

1.tcp基于连接,发送数据前要先建立连接。udp不需要

2.tcp是可靠的,有重传/序号/确定机制/滑动窗口保证顺序和正确。udp不能保证

3.tcp是一对一的。udp支持一对一,一对多,多对多

4.tcp比较耗费资源。udp效率更高

5.tcp基于流模式,udp基于数据报模式

tcp与udp的使用场景

对数据完整性和准确性要求较高时使用tcp

例如:文件传输,邮件

而对实时性和效率要求较高时使用udp

例如:视频通话,直播

tcp与udp的优缺点

tcp优点:

  • 可靠稳定:tcp传输数据前后有三次握手建立连接,在传输数据时,有确定,窗口,重传,拥堵控制等,在数据传完后,还会断开连接节约系统资源

tcp缺点:

  • 速度慢,效率低,占用系统的资源率高:建立连接,确认机制,重传机制,拥堵机制都会消耗大量时间,有这么多机制,在实现时容易被利用和攻击

udp优点:

  • 速度快,比tcp安全:没有建立连接,确认机制,重传机制,拥堵机制等,是一个无状态的传输协议,没有这些机制,udp较tcp被攻击者利用的漏洞就少很多,但也会被其他攻击

udp缺点:

  • 不可靠不稳定,没有tcp的机制,在网络质量不好时可能会丢包

udp为什么会丢包,怎么解决

1.发送频率太快

虽然每一个包的大小都没超过标准,但频率太快,连续发送中间也没sleep,可能会丢包

可以通过设置socket接收缓冲解决

2.包过大

包的大小超过限制,可能会超过接收者的缓存,导致丢包

可以通过设置socket接收缓冲解决,或用send方法把大包切割为小包,可以多次切割

TCP是如何确保可靠传输的

 

标签:udp,窗口,重传,tcp,发送,utp,拥堵
来源: https://www.cnblogs.com/enjoyC/p/15346087.html