简述tcp协议三报文握手过程_TCP协议报文与握手过程

TCP定义

TCP协议(Transmission control Protocol)传输控制协议,是面向连接的,可靠地,基于IP的传输层协议。主要目的是为数据提供可靠地端到端传输。

TCP端口

所有TCP通信都会使用源端口和目的端口,而这些可以在每个TCP头中找到。端口就像老式电话机上的插口,一个总机操作员会监视着一个面板上得指示灯和插头,当指示灯亮起时,它就会连接这个呼叫着,问他想要和谁通话,然后插一根电缆将它和它的目的地址连接起来,每次呼叫都需要一个源端口和目的端口。

在使用TCP进行通信时,有65535个端口可供使用,并通常将端口分成两个部分。

1~1023:标准端口组,特定服务会用到这些通常位于标准端口分组中的标准端口。

1024~65535:是临时端口组,当一个服务想在任意时间使用端口进行通信时,操作系统会随机选择这个源端口,让这个通信使用唯一源端口。

TCP报文分析

1、源端口和目的端口各占16bit,端口是传输层与应用层的服务接口。

2、序号字段,SEQ序号,占32bit。TCP连接中传送的数据流中得每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

3、确认序号:ACK序号,占32bit,是期望收到对方的下一个报文段的数据的第一个字节的序号。只有ACK标志位为1时,确认序号字段才有效,ACK=SEQ + 1。

4、标志位:共6个。

紧急比特:URG。当URG=1时,表明紧急指针字段有效,它告诉系统此报文中有紧急数据,应尽快传送

确认比特:ACK。只有当ACK=1时,确认号字段才有效。当ACK=0时,确认号无效。

推送比特:PSH。接收TCP收到推送比特为1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。

复位比特:RST。当RST=1时,表明TCP连接中出现严重过差错,必须释放连接,然后再重新建立运输连接。

同步比特:SYN。同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。

终止比特:FIN。用来释放一个连接,当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

5、数据偏移,4bit。指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。

6、窗口字段,16bit。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己接收窗口大小,然后通知对方以确定对方的发送窗口的上限。

7、检验和,16bit。检验和字段检验的范围包括首部和数据这两部分,在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。

8、紧急指针字段,16bit。紧急指针指出在本报文段中得紧急数据的最后一个字节的序号。

9、选项字段,长度可变。TCP只规定了一种选项,即最大报文段长度MSS(Maximum Segment Size)。MSS告诉对方TCP:我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。

10、保留字段,16bit。保留为今后使用,但目前应置为0.

TCP握手过程

TCP建立连接需要三次握手才能建立,断开连接则需要四次握手。

三次握手抓包分析

第1次握手

第2次握手:

第3次握手:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值