TCP协议
特点:
<h1></h1>
1.面向连接(虚连接:没有封装和解封装的过程,相当于点对点的连接)
2.只能是点对点的连接
3.可靠有序,不丢失不重复
4.提供全双工(可以同时发送和接收)
5.面向字节流(把数据看成是一串无结构的字节流,一点点的发送过去)
报文结构:

序号:发送数据的第一个字节的序号
确认号:期望收到对方下一个报文段的序号值,(如果为N,说明N-1之前的数据都已经收到)
数据偏移:占4位,以4B为单位。
控制位:
- URG(紧急位):URG=1,代表此数据报很紧急,可以不按顺序来,插队传送
- ACK(确认位):连接建立成功后,ACK必须全为1
- PSH(推送位):让接收方尽快把交付到应用程序,不用等缓存存满
- RST(复位):重新建立连接,有严重差错的时候
- SYN(同步位):SYN=1,表明是一个连接请求/连接接受报文
- FIN(终止位):FIN=1,表明此报文发送方数据已经发完,得释放连接
窗口:允许对方发送的数据量
紧急指针:指紧急数据在报文段中的位置,在URG=1时有效
三次握手:

seq:报文段序号 ack:报文段确认号 SYN:请求和请求的确认都得把SYN置一 ACK:代表确认
简答:
第一次握手:客户端向服务器发送一个连接请求报文段,其中SYN=1,随机产生一个seq的值。,等待服务器确认
第二次握手:服务器收到请求报文段,为该TCP连接分配缓存和变量,并返回一个确认报文段,其中SYN=1,ACK=1
第三次握手:客户端收到服务器返回的确认报文段,为该TCP连接分配缓存和变量,并返回一个确认的确认,其中ACK=1.
三次握手完成
四次挥手:

简答:
(1)第一次挥手:客户端发送一个FIN,用来关闭客户端到服务器的数据传送
(2)第二次挥手:服务器收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1,此时属于半关闭状态
(3)第三次挥手:服务器发送一个FIN,用来关闭服务器到客户端的数据传送
(4)第四次挥手:客户端收到FIN后,接着发送一个ACK给服务器,确认序号为收到序号+1,并等待一段时间,完成四次挥手。
可靠传输:
超时重传
快速重传

浙公网安备 33010602011771号