一、TCP与UDP的区别
- TCP是一种
面向连接、可靠的基于字节流
的传输层控制协议 - UDP是一种简单的
面向数据报
的传输层控制协议,不提供可靠性
- TCP是
面向连接
的,而UDP是无连接
的协议,前者需要进行三次握手建立连接,而后缀不需要建立连接 - TCP是
可靠的
,而UDP是不可靠的
,TCP的可靠性由TCP报文的序号、ACK确认机制、重传等来保证 - TCP是
面向字节流
的,而UDP是面向报文
的 - TCP由于需要建立连接,保证可靠性等会让它
传输比较慢
,而UDP传输就比较快
- TCP的消息传输是
有序的
,而UDP可能会出现无序的
- TCP的连接是
一对一
的,而UDP可支持一对一,一对多和多对多
等通信 - TCP的
首部开销
比UDP首部开销大且复杂 - TCP有
流量控制,拥塞控制
等,而UDP没有;流量控制
可看成是控制发送者的发送速度,使接收者能来得及接收,从而防止分组丢失,而拥塞控制
是防止过多的数据注入到网络中,从而防止网络中的路由器或链路不至于过载
二、了解TCP与UDP的应用场景吗?
- 对实时性要求高和高速传输的场合下
使用UDP
- 在可靠性要求低,追求效率的情况下
使用UDP
- 需要传输大量数据且对可靠性要求高的情况
使用TCP
- TCP一般用于
文件传输
,而UDP一般用于即时通信
谢谢阅读,如有不对之处请指出!