学习 网络基础知识 TCP协议,TCP三次握手
TCP(Transmission Control Protocol)协议 传输控制协议,顾名思义,就是要对数据的传输进行一定的控制
TCP协议头部组成结构:
序号 sequence number:TCP数据包的一个编号-数据包过大,TCP数据会在网络中分段,分端后到达目的主机要进行重组,每一段按序号顺序重组 seq==1
确认号:acknowledge number。 服务器能够回应?---存在于确认消息里。跟序号有什么关系呢?---依据序号。ack==seq+1
服务器期望收到你下一个序号的包 希望收到你下一个序号=2的包
状态控制码:code control flag:标志位 类似于信号灯 1亮 ,0黑
ACK--确认位。=1 表示这个消息是一个确认消息
RST--REST:重置 =1 表示这个消息是为了释放连接 TCP连接中出现了一些错误--主机服务器崩溃了,断开连接。请重新建立连接。
SYN synchronous 同步 =1 表示这个消息是一个发起连接的消息 +确认接受连接
FIN finall 终止。=1 表示发送报文结束了--TCP四次挥手要进行了
实现原理:HTTP、HTTPS协议、client--百度服务器:TCP协议--交互和连接---前提。后续才可以实现---http,https协议交互
TCP协议是怎么建立连接的?
TCP连接请求:TCP三次握手过程--建立连接,TCP四次挥手--断开的过程
TCP三次握手实现过程:
服务器端收到 第一个包之前会变成listening状态
通俗例子:
TCP三次握手 后续--数据发送报文
TCP四次挥手
发完fin包 客户端变为 fin wait 1 的状态
服务端收到fin后 变为colsed wait 1 的状态
客户端 收到确认消息后 变为finwait2 的状态 等待server发fin包
sever发完确认消息 再发一个fin包 进入last wait3状态 等待客户端发确认消息
客户端发完ack 进入timewait1 状态等待
服务端收到确认 进入关闭状态
客户端等待一段时间去人服务端已经关闭 再进入关闭状态