首先,先明白TCP 、UDP分别是是网络传输中的一种协议,处于OSI七层模型的第四层传输层
分层的作用:
TCP全称:Transmission Control Protocol 传输控制协议
UDP全称:User Datagram Protocol 用户数据报协议
对比:
TCP | UDP |
通过三次握手建立连接、四次挥手断开连接 | 无连接,直接面向报文的传输数据 |
各种机制防止数据丢失、出错 | 保证不了数据完整正确 |
把数据看成字节流,网络不好,速度降低。 | 面向报文,网络阻塞无影响 |
传输一对一 | 传输一对一 一对多 多对一 |
头部报文长20字节 | 头部报文8字节 |
场景追求完整:发邮件、校验、付费等 | 场景追求速度:如视频音乐、DNS |
TCP详解:
1.连接机制:
三次握手:
第一次握手: A给B发短信说:“B,你现在有空吗?”
第二次握手: B此时收到了A的信息,然后对A说: “ 我有空,你呢?有空吗? ”
第三次握手: A此时收到了B的确认信息,然后说:“我也有空,那我跟你说个事。”
在三次握手之后,A和B都能确定这么一件事: 双方的通信可以流畅的进行。 这样,双方就可以开始进行正常的对话了。
四次挥手:
第一次挥手: A给B发短信说:“B,我要准备吃饭了?”
第二次挥手: B此时收到了A的信息,然后先对A说: “ 我知道了。”
第三次挥手: B对A说到: “ 我也要准备吃饭了。”然后放下了手机,
第四次挥手: A此时收到了B的确认信息,然后想B发一个包说:“好的,我知道了。”这时才放下手机去吃饭,
在四次挥手之后,A和B都能确定这么一件事: 双方的通信可以正常关闭。 这样,双方就可以确定对方已经完全知晓自己确认要关闭连接。
2.传输可靠机制
1>数据分片:TCP确定分片的大小和重组,发送方分片发送,接收方重组分片。
2>到达确认:接收方根据分片数据序列向发送方发送一个确认包。
3>超时重传:发送方在发送分片后计时,超时未收到相应确认包则重新发送。
4>重复处理:TCP分片传输出现重复,接收方丢弃重复的数据。
5>完整校验:通过CheckSum方式实现完整校验。
TCP校验和(Checksum)的原理和实现_校验和低字节_造夢先森的博客-优快云博客
6>失序处理:接收方重新排序接收到的数据片
7>滑动窗口:TCP连接双方的缓冲区大小固定,接收端接受来自缓冲区的数据
3.更加详细解释
UDP详解: