没有合适的资源?快使用搜索试试~ 我知道了~
首页tcp协议解码及实例分析
资源详情
资源评论
资源推荐

源端口和目的端口字段——各占 2 字节。端口是传输层与应用层的服务接口。传输层的复用和分用功
能都要通过端口才能实现。
序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值
则指的是本报文段所发送的数据的第一个字节的序号。
确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移——占 4bit,它指出 TCP 报文段的数据起始处距离 CP 报文段的起始处有多远。“数据偏移”
的单位不是字节而是 32bit 字(4 字节为计算单位)。

保留字段——占 6bit,保留为今后使用,但目前应置为 0。
紧急比特 URG——当 URG=1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应
尽快传送(相当于高优先级的数据)。
确认比特 ACK——只有当 ACK=1 时确认号字段才有效。当 ACK=0 时,确认号无效。
复位比特 RST(Reset) —— 当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他
原因),必须释放连接,然后再重新建立运输连接。
同步比特 SYN——同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。
终止比特 FIN(FINal)——用来释放一个连接。当 FIN=1 时,表明此报文段的发送端的数据已发送完
毕,并要求释放运输连接。
窗口字段——占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据
设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。
检验和——占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在
TCP 报文段的前面加上 12 字节的伪首部。
紧急指针字段——占 16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。
选项字段——长度可变。TCP 首部可以有多达 40 字节的可选信息,用于把附加信息传递给终点,或
用来对齐其它选项。
填充字段——这是为了使整个首部长度是 4 字节的整数倍。
TCP 首部的主要选项:
最大报文段长度 MSS(Maximum Segment Size)是 TCP 报文段中的数据字段的最大长度。
MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字
节。”
窗口扩大因子,用于长肥管道。
时间戳,可用于测量往返时延 RTT。
TCP 的数据编号与确认
TCP 协议是面向字节的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字
节对应于一个序号。
在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表
示该报文段中的数据部分的第一个字节的序号。
TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据
的最高序号加 1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。
为提高效率,TCP 可以累积确认,即在接收多个报文段后,一次确认。
一、TCP 的流量控制
TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。
TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。
发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,
随时动态地调整对方的发送窗口上限值(可增大或减小)。
剩余10页未读,继续阅读



















minitoy
- 粉丝: 254
- 资源: 12
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0