传输层协议-UDP


TCP是需要连接的,还有流量控制,差错重传,基于字节流发送的

而UDP上述都没有,他跟IP包类似不保证任何可靠性,只是一个一个的数据包

UDP的数据包格式,非常的简单




UDP的特点
1.协议简单
2.支持多播广播

3.没有拥塞控制,差错重传

UDP的使用场景
1.需要资源少,一般是内网,或者对丢包不敏感的应用
2.需要广播,组播的场景
3.需要快速处理,可以荣仍少数丢包,即便网络拥塞也要继续发送


使用UDP的几个例子
1.网页或者APP访问
原来是基于HTTP协议的,HTTP又是基于TCP的,在移动网络中可能会经常断开重连
于是谷歌提出了 QUIC Quick UDP Internet Connections 快速UDP互联网连接
基于UDP的通讯协议,QUIC在应用层上,自己实现快速连接,减少重传延迟,自适应拥塞控制

2.流媒体协议
直播协议一般是用RTMP,也是基于TCP的,对于视频来说丢掉一个帧关系不大,需要快速反应,实时性很高,这时候TCP就不合适了,很多都是在UDP之上实现了自己的视频传输协议

3.实时游戏
跟流媒体类似,也是需要高实时性的,也是自定义UDP协议,自定义重传策略,降低延迟

4.IoT物联网
物联网终端一般资源少都是嵌入式系统,不合适维护TCP,代价很大,而且对实时性要求也很高
谷歌旗下的Nest建立Thread Group推出物联网通讯协议Thread,就是基于UDP的

5.移动通讯领域
4G网络中,移动流量上网的数据是GTP-U,它是基于UDP的,因为移动协议比较复杂
GTP协议本身就包含复杂的手机上线下线通讯协议,如果再基于TCP,很多TCP的机制就显得太多了,所以就用UDP实现了





猜你喜欢

转载自blog.csdn.net/hixiaoxiaoniao/article/details/81059185