TCP三次握手与四次挥手
来源:互联网 发布:大型网络枪战游戏 编辑:程序博客网 时间:2024/05/30 23:40
1、TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接
(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。
(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。
(3)第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
确认号:其数值等于发送方的发送序号 +1(即接收方期望接收的下一个序列号)。
建立连接WireShark抓包结果:
2、TCP的连接的关闭需要发送四个包,因此称为四次挥手(four-way handshake)。客户端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产生挥手操作。
(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。
(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。
(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。
TCP采用四次挥手关闭连接如图所示。
关闭连接WireShark抓包结果:
为什么只看到两次挥手呢,客户端直接发送了FIN和ACK,服务器直接ACK就完事了,什么情况?
阅读全文
0 0
- Tcp三次握手与四次挥手
- Tcp三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP三次握手与四次挥手!
- TCP三次握手与四次挥手
- TCP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- TCP的三次握手与四次挥手
- TCP/IP三次握手与四次挥手
- D -棋盘问题
- 类的无参方法
- 日志文件的管理
- JavaScript数组拓展(js数组form, of, copyWithin, find, fill, includes方法介绍)
- ArchLinux使用交叉编译工具链编译u-boot时提示找不到libstdc++.s0.6和libz.so.1
- TCP三次握手与四次挥手
- php中的修饰符public,protected,private
- 有关imgaettfbbox函数中$fontname参数使用方法
- for和for in的区别
- 批量解压rar文件中指定类型的文件
- eclipse paho包对于ActiveMQ持久化订阅者的设置
- 顺序表
- js 点击事件,出现背景颜色
- 爬虫之 requests小结