TCP的连接(三次握手)和释放(四次挥手)
来源:互联网 发布:郑和下西洋 知乎 编辑:程序博客网 时间:2024/05/10 20:27
TCP的连接(三次握手):
第一次握手:客户机的 TCP 首先向服务器的 TCP 发送一个连接请求报文段。这个特殊的报文段中不含应用层数据,其首部 SYN 标志置为1。另外,客户机会随机选择一个起始序号seq=x(连接请求报文不携带数据,但要消耗掉一个序号)
第二次握手:服务器的 TCP 收到连接请求报文段后,如同意连接,就会向客户机发回确认,并为该 TCP 连接分配 TCP 缓存和变量。在确认报文段中,SYN 和 ACK 都置为1,确认号字段为ack = x+1,并且服务器随机产生起始序号seq = y。确认报文段同样不包含应用层数据。
第三次握手:当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量。这个报文段 ACK 标志位置为1, 序号字段seq = x+1,确认号字段ack=y+1。
连接建立(三次握手)
SYN:同步位
seq :起始序号
ack:确认号字段
1)SYN = 1, seq = x
2)SYN = 1, ACK = 1, seq = y, ack = x+1
3)ACK = 1, seq = x+1,ack = y+1
TCP的释放(四次挥手)
第一步:客户机打算关闭连接,就向其 TCP 发送一个连接释放的报文段,并停止发送数据,主动关闭 TCP 连接,该报文段的 FIN 标志位置为1, seq = u,它等于前面已传送过的数据的最后一个字节序号加1.
第二步:服务器收到释放连接的报文段后即发出确认,确认号为ack = u+1,而这个报文段自己的序号seq=v,等于它前面传送过的数据最后一个字节的序号加1。此时,客户机到服务器这个方向的连接就释放了,TCP 连接处于半关闭状态,但服务器发送数据,客户机仍然要接受,即从服务器到客户机这个方向的连接并未关闭。
第三步:若服务器已经没有要向客户机发送的数据,就通知 TCP 释放连接,此时其发出 FIN = 1的连接释放报文段。
第四步:客户机收到连接释放的报文段后,必须发出确认。在确认报文段中,ACK=1,确认号ack=w+1,序号seq=u+1,此时TCP连接还没有释放掉,必须经过实践等待计时器设置时间 2MSL 后,进入连接关闭状态。
释放连接(四次挥手)
FIN:终止位
seq :起始序号
ack:确认号字段
1)FIN = 1, seq = u
2)ACK = 1, seq = v, ack = u+1
3)FIN = 1, ACK = 1, seq = w,ack = u+1
4)ACK = 1,seq = u+1, ack = w+1
- TCP连接和释放(三次握手和四次挥手)
- (运输层)TCP的连接建立(三次握手)和连接释放(四次挥手)
- TCP连接的建立和释放(三次握手和四次挥手)
- TCP连接的建立(三次握手)和释放(四次挥手)
- TCP的连接(三次握手)和释放(四次挥手)
- TCP建立连接(三次握手)和释放(四次挥手)的详细解释
- TCP三次握手,四次挥手(连接及释放过程)
- TCP 连接管理与释放(三次握手,四次挥手)
- TCP三次握手(建立连接)和四次挥手(释放连接)过程
- TCP三次握手详解及释放连接过程(三次握手四次挥手)
- 简述TCP连接的建立与释放(三次握手、四次挥手)
- TCP连接与断开(三次握手和四次挥手)
- TCP 建立连接的三次握手 和释放连接的四次挥手 图解
- 通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手
- TCP建立连接的三次握手和释放连接的四次挥手
- 通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手
- TCP三次握手和四次挥手过程以及连接为什么使用三次连接,释放使用四次
- 剖析TCP/IP协议建立和释放连接的三次握手与四次挥手过程
- java反射,让代码充满活力(一)
- 友元类 练习题
- 在MATLAB下调试Caffe
- jquery flot
- Facebook新引擎DeepText(文本解析引擎),让机器像人类一样去理解
- TCP的连接(三次握手)和释放(四次挥手)
- SSH Permissions xxxx for 'xxxx' are too open.
- JS Date的使用例子。
- Net平台下的B/S开发框架
- 一篇登录框的代码
- 平时遇到的一些坑,记录一下!!!!!!
- web.xml中webAppRootKey
- CenterOS6.5下安装oracle11g经验谈
- Android中自定义View,自定义布局