设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 3494|回复: 20
收起左侧

[其他] 为什么TCP序号是对字节数编号而不是对TCP报文段编号?

[复制链接]
发表于 2014-7-11 14:35:45 | 显示全部楼层 |阅读模式
15鸿鹄币
本帖最后由 lees 于 2014-7-14 13:59 编辑

为什么TCP序号是对字节数编号而不是对TCP报文段编号?
请各位大虾给解惑一下,感谢!



为什么要用字节编号,这是因为TCP有窗口拥塞控制,窗口的拥塞是基于字节的,所以必须给字节编号,如果给数据包编号,拥塞窗口无法调节大小。

感谢net_hhlt的热心解答

最佳答案

查看完整内容

接受方是知道发送发发送字节序列的,TCP包首部中有一个32位的序列号,和一个32位的确认序列号。比如发送方 发送的序列号为68,那接收方会回复一个69的确认序列号。 注意序列号不是确认序列号。 你的其它一些疑问我也不知道该怎么说。希望能帮助到你。
发表于 2014-7-11 14:35:46 | 显示全部楼层
本帖最后由 net_hhlt 于 2014-7-12 21:25 编辑
lees 发表于 2014-7-11 15:26
TCP报文段首部没有报文长度字段,对TCP字节流中的字节编号,

接收方系统应该需要额外的资源来计算收 ...

接受方是知道发送发发送字节序列的,TCP包首部中有一个32位的序列号,和一个32位的确认序列号。比如发送方 发送的序列号为68,那接收方会回复一个69的确认序列号。
注意序列号不是确认序列号。
你的其它一些疑问我也不知道该怎么说。希望能帮助到你。
沙发 2014-7-11 14:35:46 回复 收起回复
回复

使用道具 举报

发表于 2014-7-11 15:18:22 | 显示全部楼层
本帖最后由 net_hhlt 于 2014-7-11 15:19 编辑

TCP提供一种面向连接的,可靠的字节流服务。 这是TCP IP详解1上的原话。
板凳 2014-7-11 15:18:22 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-7-11 15:25:24 | 显示全部楼层
net_hhlt 发表于 2014-7-11 15:18
TCP提供一种面向连接的,可靠的字节流服务。 这是TCP IP详解1上的原话。

面向字节流只是表示他在接收与传输时,是不考虑上层的输入输出动作的,与怎么编号无关。
我的疑问是,为什么必须针对与发送报文段中的字节编号,对每次发送的字节流报文段编号不就可以了?
地板 2014-7-11 15:25:24 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-7-11 15:26:47 | 显示全部楼层
net_hhlt 发表于 2014-7-11 15:18
TCP提供一种面向连接的,可靠的字节流服务。 这是TCP IP详解1上的原话。

TCP报文段首部没有报文长度字段,对TCP字节流中的字节编号,

接收方系统应该需要额外的资源来计算收到的TCP报文段中的字节

数,以便在返回确认时给出确认号。如果首部有报文长度字段,

那么在接收时,直接用报文长度减去首部长度即得字节数,这样就

节省了系统额外的开销。若使用报文段编号填充TCP序号,不就可

以减少系统开销,也能到达报文字节编号的效果么。
既然这样,为什么要对字节进行编号?
5# 2014-7-11 15:26:47 回复 收起回复
回复

使用道具 举报

发表于 2014-7-11 21:12:19 | 显示全部楼层
6# 2014-7-11 21:12:19 回复 收起回复
回复

使用道具 举报

发表于 2014-7-12 21:18:10 | 显示全部楼层
lees 发表于 2014-7-11 15:25
面向字节流只是表示他在接收与传输时,是不考虑上层的输入输出动作的,与怎么编号无关。
我的疑问是,为 ...

关于你的这个想法,我猜你是觉得一次一个字节很麻烦,其实接收方并不是一个字节就一个ack回复的。我暂时就先想到这,以后有思路了再来回复。

点评

感谢  发表于 2014-7-14 13:58

评分

参与人数 1好评度 +2 收起 理由
lees + 2 很给力!

查看全部评分

7# 2014-7-12 21:18:10 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-7-14 13:57:35 | 显示全部楼层
net_hhlt 发表于 2014-7-12 21:23
接受方是知道发送发发送字节序列的,TCP包首部中有一个32位的序列号,和一个32位的确认序列号。比如发送 ...

非常感谢你的回答,我想通了,为什么要用字节编号,这是因为TCP有窗口拥塞控制,窗口的拥塞是基于字节的,所以必须给字节编号,如果给数据包编号,拥塞窗口无法调节大小,非常感谢你!
8# 2014-7-14 13:57:35 回复 收起回复
回复

使用道具 举报

发表于 2014-7-15 23:41:03 | 显示全部楼层
lees 发表于 2014-7-14 13:57
非常感谢你的回答,我想通了,为什么要用字节编号,这是因为TCP有窗口拥塞控制,窗口的拥塞是基于字节的 ...

你说拥塞控制,往更广泛的方面说,应该是流量控制吧?还有,你知道相关活跃的群么?人多的地方,学习带劲些。
9# 2014-7-15 23:41:03 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-7-16 15:44:52 | 显示全部楼层
net_hhlt 发表于 2014-7-15 23:41
你说拥塞控制,往更广泛的方面说,应该是流量控制吧?还有,你知道相关活跃的群么?人多的地方,学习带劲 ...

是的,流量控制,我不知道群,没有群哎,有群基本上都是讨论网络设备的
10# 2014-7-16 15:44:52 回复 收起回复
回复

使用道具 举报

发表于 2014-7-16 16:07:50 | 显示全部楼层
长知识了
11# 2014-7-16 16:07:50 回复 收起回复
回复

使用道具 举报

发表于 2014-7-16 16:34:23 | 显示全部楼层
lees 发表于 2014-7-16 15:44
是的,流量控制,我不知道群,没有群哎,有群基本上都是讨论网络设备的

嗯,是的,我在这论坛里面看了下,都是网络设备相关的,可是我又不考ccna什么的。
12# 2014-7-16 16:34:23 回复 收起回复
回复

使用道具 举报

发表于 2014-7-16 16:34:32 | 显示全部楼层
lees 发表于 2014-7-16 15:44
是的,流量控制,我不知道群,没有群哎,有群基本上都是讨论网络设备的

嗯,是的,我在这论坛里面看了下,都是网络设备相关的,可是我又不考ccna什么的。
13# 2014-7-16 16:34:32 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-7-17 10:47:29 | 显示全部楼层
net_hhlt 发表于 2014-7-16 16:34
嗯,是的,我在这论坛里面看了下,都是网络设备相关的,可是我又不考ccna什么的。

没办法啊,大家现在就认为NP IE就是网络工程师了
14# 2014-7-17 10:47:29 回复 收起回复
回复

使用道具 举报

发表于 2014-7-17 11:20:26 | 显示全部楼层
lees 发表于 2014-7-17 10:47
没办法啊,大家现在就认为NP IE就是网络工程师了

你是干这行的?那你觉得在日常中,是cisco的吃香,还是huawei的吃香?
15# 2014-7-17 11:20:26 回复 收起回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-5 01:18 , Processed in 0.063509 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表