目录
一、控制位的作用,用来描述AB两台机器目前的状态
URG:(紧急位 )表示报文段中的数据是否包含紧急数据。后面的紧急指针段只有URG=1时才有效
ACK:(确认位) 表示是否前面确认号是否有效。只有当ACK=1时,前面的确认号字段才有效。tcp规定,连接建立后,ACK必须位一,带ACK标志的TCP报文段称为确认报文段
PSH:(急切位)提示接受端应该用程序应该立即从TCP接受缓冲区中读走数据,为接受后续数据疼腾出空间。如果为一,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序不将接受到的数据读走,就会一直停留在TCP接收缓冲区
RST:(重置位)如果收到一个RST=1的报文,说明与主机的连接出现了严重错误(如主机奔溃)必须释放连接,然后再重新建立连接。或者说明上次上次发送给主机的数据有问题,主机拒绝响应,带RST标志的TCP报文段成为复位报文段
SYN:(同步位)在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一个请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接。SYN=1,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中SYN才置为1,带SYN标志的TCP报文段称为同步报文段 请求连接syn=1
FIN:(断开位)表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即告诉对方:“我的数据已将发送完毕,你可以释放连接了”,带FIN标志的TCP报文段称为结束报文段
二、TCP连接
tcp建立连接的过程称为三次握手
pc1 与pc2的三次握手
1.第一次握手 发送请求连接 seq=x(pc1的序列号)YUN=1
2.第二次握手 确认请求连接发送seq=y(pc2的序列号)ack=x+1(确认号) ACK=1 YUN=1
3.第三次握手 确认 pc1发送seq=x+1 ack=y+1(确认号) ACK=1