TCP报文结构。

TCP报文段是由TCP首部和TCP数据部分组成。TCP首部结构如下:

首部长度:一般为20字节,选项最多40字节,限制60字节。

源端口、目的端口。

序号:TCP协议面向字节流,传输文件按顺序在缓存里面分块存放,要组建数据包,一块一块的往外发,加上IP,Mac等。序号就是指这个数据包的编号,通过这个来确认发送的数据有序,比如现在序列号为1000,发送了1000,下一个序列号就是2000。

确认号:接收端缓存中收到数据包,然后去掉头,给发送端一个确认,我收到的数据包的最后一个字节。确认号是服务器告诉客户端该发以第几个字节为头的数据包。只要一确认,该确认的数据就会从缓存里面删掉。

数据偏移:是用来记录TCP报文段第多少个字节后,就开始是数据部分。首部最长可以60个字节。

6位标志:URG表示紧急指针是否有效,URG为1的数据包可以插队,优先发。

ACK表示确认号是否有效。PSH为1的数据包优先从接收缓存发给接收方。RST为1,表示TCP出现严重错误,要求对方重新连接。SYN表示请求建立一个连接。FIN表示通知对方本端要关闭连接。

窗口:A和B通信时,B要告诉A他的接收缓存是多少字节。A设置发送缓存的大小。两边缓存最好一样。缓存多少字节,就是窗口大小。

检验和:由发送端填充,接收端对报文段执行CRC(循环冗余校验,利用除法及余数的原理来作错误侦测)算法以检验TCP报文段在传输中是否损坏。

紧急指针:URG校验位为1才有作用,紧急指针为50,就是1-50个字节是要紧急处理的。

选项:长度可变,最长可达40字节。当没有使用“选项”时,TCP的首部长度是20字节。 

确认的时候是否支持选择性确认,sack


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值