首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-TCP/IP(TCP 选项)

速读原著-TCP/IP(TCP 选项)

作者头像
cwl_java
发布2020-03-11 16:15:14
5840
发布2020-03-11 16:15:14
举报
文章被收录于专栏:cwl_Javacwl_Java

18.10 TCP 选项

T C P首部可以包含选项部分(图 1 7 - 2)。仅在最初的T C P规范中定义的选项是选项表结束、无操作和最大报文段长度。在我们的例子中,几乎每个 S Y N报文段中我们都遇到过M S S选项。

新的R F C,主要是RFC 1323 [Jacobson, Braden和Borman 1992],定义了新的T C P选项,这些选项的大多数只在最新的 T C P实现中才能见到(我们将在第 2 4章介绍这些新选项)。图1 8 - 2 0显示了当前T C P选项的格式,这些选项的定义出自于 RFC 793和RFC 1323。

在这里插入图片描述
在这里插入图片描述

每个选项的开始是1字节k i n d字段,说明选项的类型。k i n d字段为0和1的选项仅占1个字节。其他的选项在k i n d字节后还有l e n字节。它说明的长度是指总长度,包括 k i n d字节和l e n字节。

设置无操作选项的原因在于允许发方填充字段为 4字节的倍数。如果我们使用 4 . 4 B S D系统进行初始化T C P连接,t c p d u m p将在初始的S Y N上显示下面T C P选项:<mss 512, nop, wscale 0, nop, nop, timestamp 146647 0>M S S选项设置为5 1 2,后面是N O P,接着是窗口扩大选项。第一个 N O P用来将窗口扩大选项填充为4字节的边界。同样, 1 0字节的时间戳选项放在两个 N O P后,占1 2字节,同时使两个 4字节的时间戳满足4字节边界。

其他k i n d值为4、5、6和7的四个选项称为选择A C K及回显选项。由于回显选项已被时间戳选项取代,而目前定义的选择 A C K选项仍未定论,并未包括在RFC 1323中,因此图1 8 - 2 0没有将它们列出。另外,作为 T C P事务(第2 4 . 7节)的T / T C P建议也指明kind为11, 12和 13的三个选项。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 18.10 TCP 选项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档