【网络协议】TCP连接的建立和释放

本文详细解析TCP连接的建立(三次握手)和释放(四次挥手)过程,包括TCP首部字段、连接建立的同步序号与确认号、连接释放的报文段标志等,阐述为何需要三次握手和四次挥手,以及TIME_WAIT状态的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP连接的建立和释放

TCP首部格式

 

TCP报文段的前20个字节是固定的,后4N个字节为根据需要可增加的选项

首部各字段的意义如下:

  1. 源端口和目的端口:加上IP首部的源IP地址和目的IP地址,确定唯一的一个TCP连接。另外通过目的端口来确定TCP将数据报交付于哪个应用程序,从而实现功能。

  1. 序列号:占4个字节,由于TCP是面向字节流的,在TCP中传送的每一个字节都按顺序编号,首部中的序号字段(seq)是指本报文发送数据的第一个字节的序号,序号是循环使用的,当序号增加大最大时,下一个为0.

  1. 确认号:当ACK标志为1时有效,表示期望收到的下一个报文段数据的第一个字节的序号,确认号为N,则表明到N-1为止的所有数据都被正确收到了

  1. 头部长度:TCP报文段的头部长度,他表示从TCP报文段的起始位置到数据的起始位置的长度(有多少个4字节),因为头部长度为4位,最大为1111,即15,所以TCP报文段头部最长为60字节,TCP头部占20字节,所以选项不超过40字节。

  1. 保留位:必须为0

  1. 下面的六个控制位说明报文段的性质:

1 URG:与首部中的紧急指针字段配合使用。URG为1时,表明紧急指针字段有效,发送应用进程告诉发送方的TCP有紧急数据要传送,于是发送方TCP就把紧急数据插入到本报文段数据的最前面,而其后面仍是普通数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值