TCP(Transmission Control Protocol):面向连接的、可靠的、基于字节流的传输层通信协议
特点:
---基于连接的,数据传输之前需要建立连接
---全双工的,双向传输
---字节流:限制数据的大小,打包成报文段,保证有序接收,重复报文自动丢弃
---流量缓冲:解决双方处理能力的不匹配
---可靠的传输服务:保证可达,丢包是通过重发机制实现可靠性
---拥塞控制:防止网络出现恶性拥塞
三次握手:
---客户端向服务端发送SYN=X的请求报文
---服务端向客户端回复一个ACK=X+1确认信息、SYN=Y的报文
---客户端向服务端发送ACK=Y+1的响应报文 ,建立连接
四次挥手:
---A:发送关闭连接的请求,FIN数据包
---B:收到请求,关闭应答,避免了重新发送FIN重试(应答机制)
---B:处理数据之后关闭连接,及发送FIN请求
---A:收到请求后发送ACK应答,B服务可以释放连接
等待2MSL(最大的报文生成时间)后释放连接
---防止报文丢失,导致B重复发送FIN
---防止滞留在网络中的报文,对新建立的连接造成数据扰乱
2MSL----一个报文的来回的时间
基于字节流的协议:TCP把应用交付的数据仅仅看作是一连串的无结构的字节流,它并不关心应用程序一次将多大的报文发送到TCP的缓存中,而是根据对方给出的窗口值和当前网络拥堵的程度来决定一个报文段应该包含多少个字节
#####滑动窗口协议:解决TCP传输协议时的效率低下的问题
依赖于网络状况