TCP协议:面向连接且可靠的传输层协议,适合保证丢包率低的数据流量传输,不要求时延。
1.面向连接:基于TCP的应用层协议都要先建立TCP连接(TCP连接基于三次握手)-----基于tcp连接的基础上再去传输应用层数据【必须要保证源端与目的端是可达的(可以ping通)】
2.可靠:【确认机制、滑动窗口机制】
确认机制:基于seq-ack【基于载荷长度来进行确认的】;如果未收到确认报文此时应重传。
滑动窗口机制:【windows字段】控制传输速率。
TCP的窗口滑动机制(TCP通过滑动窗口机制来控制数据的传输),在三次握手中可以让源端和目的端协商出来可以接收多少的数据量。(缓冲区的数据处理后才可继续发送数据)缓冲区被占满就无法接收太多的数据量,windows会降低,对应的接受的数据量也会降低。
TCP连接完成数据传输后,可以基于“四次挥手”完成连接断开;【四次挥手:基于FIN实现断开连接】
为什么1、3有ACK置位:基于上一个建立连接(TCP连接)来进行释放的,所以有ack置位。