目录
前言
之前两篇文章, 分别讲述了HTTP协议、HTTPS和网络安全, 这篇文章主要讲述TCP和UDP相关的内容! 我在第一篇文章中, 也有提到TCP和UDP这两个传输层协议, 那么他们有什么区别呢?
1 连接性质的区别
1.1 TCP
面向连接的传输协议
- 数据传输开始之前, 需要三次握手,建立连接
- 数据传输结束之后, 需要四次挥手,释放连接
1.2 UDP
不是面向连接的协议
传送数据不需要和服务器连接, 只需要知道ip和监听端口
2 可靠性的区别
2.1 TCP
TCP是可靠的传输协议, 保证了(同时, TCP对资源占用较多)
- 传输无差错
- 数据不丢失
- 数据不重复
- 并且按序到达
2.2 UDP
UDP的特点之一是: 尽最大努力交付, 但是并不保证可靠传输(UDP相对对资源占用较少)
- 不保证连接的稳定性
- 不保证数据的准确性
- 不保证数据传输的有序
- 数据在传输过程中可能丢包
3 传输机制的区别
3.1 TCP
TCP是面向字节流的传输机制(即字节流模式), 不管发送方一次性给TCP多次缓冲数据, TCP都会根据实际情况进行合理拆分和组装, 分割成多个数据包, 然后有序稳定的传递给接收方
3.2 UDP
UDP是面向报文的传出机制(即数据报模式), 在传输过程中对数据 既不合并, 也不拆分. 通俗来说就是, UDP在接受到数据缓冲后, 数据大了不会对其进行分包, 数据小了也不会对其合并, 而是来多少我直接传多少.