TCP三次握手及四次挥手详解
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器 进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.
IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837
IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1
一个三次握手的过程(图1,图2)
(图1)
(图2)
第一次握手的标志位(图3)
我们可以看到标志位里面只有个同步位,也就是在做请求(SYN)
(图3)
第二次握手的标志位(图4)
我们可以看到标志位里面有个确认位和同步位,也就是在做应答(SYN + ACK)
(图4)
第三次握手的标志位(图5)
我们可以看到标志位里面只有个确认位,也就是再做再次确认(ACK)
(图5)
一个完整的三次握手也就是 请求---应答---再次确认
转载于:https://blog.51cto.com/hover/237862
TCP三次握手及四次挥手详解相关推荐
- TCP 三次握手和四次挥手详解
1. TCP 报文格式详解 (1). 源端口和目的端口字段--各占 2 字节,标识了发送方和接收方的应用进程,如2210,80端口 (2). 序号字段--占 4 字节,TCP 连接中传送的数据流中的每 ...
- TCP三次握手和四次挥手详解(面试常见问题)
大概两个月前,一位朋友在面试360集团时,在面试过程中被问及TCP三次握手和四次挥手的相关知识,他当时只知道大概,但当时面试官问他TCP三次握手过程中发送的数字是多少,他一下子就懵住了,因为这也是他第 ...
- TCP—三次握手和四次挥手详解
本文主要介绍TCP连接三次握手和四次挥手的机制. TCP三次握手 剖析三次握手机制 首先Client端发送连接请求报文,Server端接受连接后回复ACK报文,并为这次连接分配资源.Clien ...
- TCP三次握手和四次挥手详解
文章目录 三次握手和四次挥手简述 三次握手的目的 三次握手流程详解 半连接队列和全连接队列 四次挥手的目的 四次挥手详解 为什么客户端需要TIME_WAIT状态 为什么挥手比握手多一次 为什么三次挥手 ...
- 面试常问:TCP 三次握手与四次挥手详解
TCP 三次握手 图解 三次握手过程详解 第一次握手 [客户端]向[服务端]发送连接请求报文,标记 ACK=1 , SYN=1 , 客户端序列号 seq=x ,客户端进入等待状态. 第二次握手 [服务 ...
- TCP三次握手,四次挥手详解
本文是对小林的图解网络的总结 TCP简介 TCP作为一个传输层协议,是一个面向连接的字节流,为应用层提供端到端的传输服务.和UDP不同的是,TCP提供的是可靠的面向连接传输服务,并且提供了流量控制等功 ...
- TCP协议---三次握手和四次挥手详解 (不看后悔系列)
目录 TCP协议简介 TCP报头 TCP工作原理 科来解码详解 wireshark解码详解 三次握手和四次挥手 数据包的大致结构 你不知道的三次握手 为什么需要有三次握手? 为啥只有三次握手才能确认双 ...
- 三次握手和四次挥手详解
详解 TCP 连接的" 三次握手 "与" 四次挥手 " *TCP connection* 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP co ...
- tcp 三次握手与四次挥手_TCP三次握手与四次挥手详解
TCP报文结构 源端口和目的端口:各占2个字节,分别写入源端口号和目的端口号. 序号:占4个字节.序号使用mod运算.TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号 ...
最新文章
- 华为服务器内存条在主板位置,服务器主板内存
- 画一个空心圆_用SolidWorks画一个空心挂钩,这种画法稍微有点麻烦
- Java多线程笔记(零):进程、线程与通用概念
- 使用ueditor小结
- c盘users的用户名怎么改_iphone备份太大,严重挤占C盘空间怎么办?不用额外软件将备份放在C盘之外的教程...
- python django实例_python django 模板实例
- 模式窗口showModalDialog的用法总结
- 【java进阶之路】(并发编程篇)1.Java线程
- python绘制动态心电图_长时动态心电图ECG数据可视化
- Quantum LeaPs 例程之Blinky
- php斗鱼弹幕接口,php实现斗鱼弹幕,一起来欣赏弹幕吧~,斗鱼怎么看自己发过的弹幕...
- wei dian 使用的一点小技巧
- mysql学习应用_MySQL学习从这里出发!
- maskrcnn-benchmark安装过程
- flex little know
- intellij背景护眼色调节
- 解决蓝奏云的文件分享链接打不开的问题
- 大卫·波拉克(David Pollak)和迪克·沃尔(Dick Wall)讨论了采用Scala的障碍
- 移动WEB - 自我总结
- 用js html写个抽奖页面,用JS实现简单的网页抽奖