简述tcp协议三报文握手过程_网络--三次握手,四次挥手 状态转换

c82ea3c8be57a52045f10ef74aed2d99.png

TCP/UDP说明

TCP :传输控制协议 面向连接的协议,(同步传输)可靠的传输协议

UDP :用户报文协议 无连接协议 (异步传输) 不可靠传输协议

系统中

异步传输数据 :类似离线传输 不需要进行确认

优点 :传输效率高

缺点 :安全性不高

同步传输数据 :类似在线传输 需要对方进行确认

优点 :安全性高

缺点 :传输效率低

重点!

TCP协议中重要原理

TCP三次握手过程 -- 完成网络连接建立

TCP报文结构:

a 源端口地址 : 返回数据包的目标端口地址

b 目标端口地址 :要和服务端那个网络服务建立连接

端口的数值范围:1-65535 :这个数值是通过报文结构获知的

根绝报文结构 源端口和目标端口各占用16bit

占用了1bit

端口范围:0 1 两种 (0-1)

占用了2bit

端口范围 :00 01 10 11 四种 (0-3)

占用了3bit

端口范围 :000 001 011 111 100 110 101 010 八种 (0-7)

占用了16bit

端口范围 :2的n次方 n表示占用了多少bit 2^16=65536 (0-65535)

一般0号端口不被使用。 1--65535

Sequence Number (序列号)

Acknowledgement (确认号)

重点!

特殊的6bit作为报文结构中的控制位

syn --- 请求建立连接控制字段

ack --- 表示确认控制字段

fin --- 请求断开连接控制字段

说明:控制字段数值置为1表示控制功能开启,默认为0

三次握手详细过程:

第一次握手:发送TCP数据报文 客户端 -- 服务端

a:TCP数据报文中,需要将SYN控制字段改为1

b: TCP数据报文中,需要将sep序列号信息发出 seq=x

第二次握手:发送TCP数据报文 服务端 -- 客户端

a:TCP数据报文中,需要将ack控制字段改为1

b:TCP数据报文中,需要将syn控制字段改为1

c:TCP数据报文中,同时将ack确认号信息发出 ack=x+1

d:TCP数据报文中,同事将sep序列号信息发出 seq=y

第三次握手:发送TCP数据报文 客户端 -- 服务端

a:TCP数据报文中,需要将ack控制字段改为1

b:TCP数据报文中,同时将ack确认号信息发出 ack=y+1

c:TCP数据报文中,同时将sep序列号信息发出 seq=x+1

8db6140bff2d8c7c54ea5680fbfdbf52.png

TCP四次挥手过程 -- 完成网络连接断开

第一次挥手 : 发送TCP数据报文 客户端 -- 服务端

a:TCP数据报文中,需要将fin控制字段改为1

b:TCP数据报文中,同时将ack控制字段改为1

也包含seq和ack确认号信息

第二次挥手 : 发送TCP数据报文 服务端 -- 客户端

a:TCP数据报文中,需要将ack控制字段改为1

第三次挥手 : 发送TCP数据报文 服务端 -- 客户端

a:TCP数据报文中,需要将ack控制字段改为1

b:TCP数据报文中,同时将fin控制字段改为1

第四次挥手 :发送TCP数据报文,客户端 -- 服务端

a: TCP数据报文中,需要将ack控制字段改为1

c7b3750d09e8342ef1886274d9b816b2.png

扩展:如何抓取网络数据包(抓包软件)

windows:wireshark

linux :tcpdump 命令(课下总结参数,使用方法 )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值