三次握手原理

拿图举例:图上是简单的一个抓包请求(请求我服务器的一个网页):

第一次握手:建立连接时,客户端发送SYN包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;

 //x 属于序列号,当主机开启一个TCP会话时,他的初始序列号是随机的,可能是0和4,294,967,295之间的任意值;
// 我的第一次请求客户端开启TCp会话生成的序列号是1887825286 


第二次握手:

当服务端收到来自客户端请求连接的报文后,如果同意链接则会向客户端发送一个应答,

即SYN+ACK的包.这个包里面的ack的值等于客户端传过来的序列号+1:即ack=x+1;

同时自己也会初始化一个序列号为发送到客户端

//所以这里的ack = 客户端传来的序列号 (1887825286 )+1 = 1887825287
//我这里服务端生成的序列号是 1163132607


第三次握手

当客户端收到连接同意的应答后,还要向服务端发送一个确认报文段,表示:服务端发来的连接同意应答已经成功收到。

此时向服务端发送一个ACK报文:sql是还是1887825287 ;ACK为第二次握手 服务端初始化的序列号+1: 为1163132608

 

三次握手结束后服务器返回返回包信息

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值