TCP三次握手及四次四次释放协议解析

上图是TCP的三次握手,从图中我们可以看到:

第一次:客户端向服务器发送链接请求SYN_SENT,发送的内容的主要包含SYN(synchronize)同步请求和SEQ(sequence number)序列号X.(注意:这里的X是随机生成的)

第二次:服务器向客户端回复的确认收到应答SYN_RECV,主要内容包括可以同步的和确认应答的SYN+ACK,服务器随机产生的序列号Y,确认应答ACK的值为第一次客户端给服务器请求连接的确认值X在加1,意在告诉客户端我下次期望收到你发送的序列号的值是X+1。rwnd(就是我们在上一章中讲到的窗口)窗口为5000,也即我服务器告诉客户端我一次最大能接受5000个字节的数据。通过第二次握手就可以告诉客户端A我已经收到你的连接请求了,并且你可以和我之间可以建立连接。

第三次:客户端向服务器发送建立连接确认,同样的这次客户端向服务器发送了序列号(序列号的值为第二次握手时,服务器告诉客户端“我下次期望收到你发送的序列号为X+1” ),确认值为第二次握手时服务器向客户端发送的序列号的值Y加1,同样的客户端也告诉服务器,我一次最大能接受大字节是1000,你可不要发的超过了我这个最大值。

TCP通过这三次握手就能建立起一个安全,可靠的连接了。

下面我们通过抓包软甲wireshark来做一个抓包的实验,验证一下上述机制。试验中我们打开了www.hao123.com的网址,然后通过抓包软件我们得到了如下的结果

从上图我们能看到,抓取的结果。值得注意的是在34那行的服务器端口从80变成了443.这是为什么呢?是因为在我们访问服务器的时候http协议变成了https,即服务器给该端口加密了,所以给出的不是真正的端口

 

我们简单的介绍一下上诉结果,每一列的表示的含义。

29,34,36,37这些代表序号;

2.571389代表时间;

10.10.10.101表示客户端,即我们的电脑的IP地址;

61.135.162.10表示的是目标服务器的IP地址,即hao123网址解析的服务器的IP;

TCP:表示的是协议;

66:表示的是字节长度;

52137:表示的是客户端的所用的动态端口;

80:表示的是目标服务器所用的端口;

后面的一些内容就是TCP首部的详细信息了,我们看下面的图

下图为编号34的详细内容:

这里我们从图中主要看我们在三次握手中所讲的几个值的变化,具体不再详细解释

下图为编号为36的详细内容

 下图为37的详细内容

注意:在此图中有三个值需要解释一下,即:

Window Size Value : 258    窗口值大小

Window size scaling value:   256    窗口系数值

Caculated Window size :66048   计算窗口大小。   这个值是上述两个值的乘积(258X256)得来的.

下面我们在来看一下四次释放连接

 

 

由上面的三次握手协议的解释,就能知道四次释放协议的每一次所发送值的含义了,这里不再赘述。

 

转载于:https://www.cnblogs.com/Lovis/p/10066491.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: TCP三次握手四次挥手是TCP协议建立和关闭连接时所采用的步骤。 三次握手是在客户端和服务器之间建立TCP连接时的过程。首先,客户端向服务器发送一个请求连接的数据包,该数据包包含一个随机生成的序列号(SYN),表示客户端希望建立连接。服务器接收到该请求后,向客户端回复一个确认连接的数据包,该数据包包含其自己生成的一个随机序列号(SYN-ACK),表示服务器同意建立连接。最后,客户端再向服务器发送一个确认连接的数据包,该数据包中包含服务器的序列号加一(ACK),表示客户端接受服务器的连接请求。这样,TCP连接就建立起来了。 四次挥手是在客户端和服务器关闭TCP连接时的过程。首先,客户端发送一个关闭连接的请求数据包(FIN),表示客户端想要关闭连接。服务器收到该请求后,向客户端回复一个确认关闭连接的数据包(ACK),但自己的数据可能没有发送完毕。服务器等到自己的数据发送完毕后,发送一个自己的关闭连接请求数据包(FIN),表示服务器也希望关闭连接。客户端收到服务器的请求后,回复一个确认关闭连接的数据包(ACK),然后等待一段时间,确保服务器收到了该数据包。最后,客户端和服务器都关闭连接,四次挥手过程完成。 通过Wireshark抓包分析TCP三次握手四次挥手可以观察到每个数据包的源地址、目标地址、序列号、确认号等信息。可以通过Wireshark的过滤功能筛选出TCP协议相关的数据包进行分析。通过分析数据包的交互过程,可以确认连接建立和关闭的状态是否符合预期,并可以进一步分析网络延迟、丢包等问题。 综上所述,Wireshark抓包分析TCP三次握手四次挥手可以帮助我们深入理解TCP连接的建立和关闭过程,以及发现网络故障的根源。 ### 回答2: TCP是一种常用的传输层协议,它通过进行三次握手来建立连接,并进行四次挥手来终止连接。 三次握手的过程如下: 1. 客户端发送一个SYN标志位的TCP报文段给服务器,表示请求建立连接; 2. 服务器收到请求后,回复一个带有SYN和ACK标志位的TCP报文段给客户端,表示同意建立连接; 3. 客户端收到服务器的回复后,再发送一个带有ACK标志位的TCP报文段给服务器,表示连接建立成功。 四次挥手的过程如下: 1. 客户端发送一个FIN标志位的TCP报文段给服务器,表示希望断开连接; 2. 服务器收到请求后,回复一个带有ACK标志位的TCP报文段给客户端,表示确认收到断开请求; 3. 服务器完成数据的发送后,发送一个带有FIN标志位的TCP报文段给客户端,表示自己也要断开连接; 4. 客户端收到服务器的断开请求后,发送一个带有ACK标志位的TCP报文段给服务器,表示确认断开,并进入TIME_WAIT状态。 在三次握手的过程中,第一握手是客户端发起的,第二握手是服务器回复同意建立连接,第三次握手是客户端回复确认连接。这个过程是为了确保双方都同意建立连接,以保证数据传输的可靠性。 在四次挥手的过程中,首先客户端发送断开请求,服务器回复确认,然后服务器发送断开请求,客户端回复确认。这个过程是为了保证双方都断开连接,并确保数据完整性。 Wireshark是一款网络抓包分析工具。使用Wireshark可以捕获网络数据包,并对数据包进行解析和分析。通过Wireshark,我们可以看到每个TCP报文段的具体内容,并对三次握手四次挥手的过程进行详细分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值