wordpress网站导航,网站上如何做问卷调查,做黑彩票的网站赚钱,设计模板网站都有哪些TCP协议 一. 四次挥手二. 连接管理过程中TCP状态的变化2.1 listen状态2.2 established状态2.3 CLOSE_WAIT状态2.4 TIME_WAIT状态 三. 滑动窗口3.1 ack丢了3.2 数据丢了 一. 四次挥手 我们都知道#xff0c;在三次握手中是可以把中间步骤合并成一个步骤执行#xff0c;那么在四… TCP协议 一. 四次挥手二. 连接管理过程中TCP状态的变化2.1 listen状态2.2 established状态2.3 CLOSE_WAIT状态2.4 TIME_WAIT状态 三. 滑动窗口3.1 ack丢了3.2 数据丢了 一. 四次挥手 我们都知道在三次握手中是可以把中间步骤合并成一个步骤执行那么在四次挥手中是否可以呢 答案是不一定的因为触发时机的不同在三次握手中在内核收到syn之后立即触发因此是可以合并的。 但是在四次挥手中ack和fin执行时间中间差异很多所以一般是不能进行合并的。 那么服务器主动挥手是服务器挂了的缘故吗? 答案当然并不全是服务器挂了的话确实是会触发四次挥手但是服务器如果不想跟客户端继续进行连接通信的话也是会触发四次挥手的。 二. 连接管理过程中TCP状态的变化 所谓的状态描述的是一个实体现在正在做什么的意思。 服务器和客户端都需要一种数据结构来保存对端的信息在这个数据结构当中有一种属性就叫做状态。 2.1 listen状态 listen状态表示服务器这边serverSocket已经创建好端口号也绑定完成等待客户端。 2.2 established状态 established状态已经建立好了连接在三次握手之后。 并且LISTENING和ESTABLISHED各自有服务器和客户端的状态。 2.3 CLOSE_WAIT状态 接收到对端传来的fin之后要进入到调用close来主动发起fin。谁被动断开连接谁就会进入到CLOSE_WAIT状态。 2.4 TIME_WAIT状态 TIME_WAIT状态就是本端发出了fin也接收到了对端发出的fin之后进入此状态。 存在的意义就是防止最后一个ACK丢包。 服务器如果没有收到最后一个ACK就会重传fin。但是客户端如果在此处释放TCP就意味着重传的FIN不会接收到ACK。此处等待时间最多2MSL。MSL是客户端到服务器的最长时间。超过这个时间就不会重传了。 三. 滑动窗口 滑动窗口是怎样工作的呢 如果出现丢包怎么办呢 3.1 ack丢了 3.2 数据丢了