为什么TCP序号是对字节数编号而不是对TCP报文段编号?
本帖最后由 lees 于 2014-7-14 13:59 编辑为什么TCP序号是对字节数编号而不是对TCP报文段编号?
请各位大虾给解惑一下,感谢!
为什么要用字节编号,这是因为TCP有窗口拥塞控制,窗口的拥塞是基于字节的,所以必须给字节编号,如果给数据包编号,拥塞窗口无法调节大小。
感谢net_hhlt的热心解答
本帖最后由 net_hhlt 于 2014-7-12 21:25 编辑
lees 发表于 2014-7-11 15:26
TCP报文段首部没有报文长度字段,对TCP字节流中的字节编号,
接收方系统应该需要额外的资源来计算收 ...
接受方是知道发送发发送字节序列的,TCP包首部中有一个32位的序列号,和一个32位的确认序列号。比如发送方 发送的序列号为68,那接收方会回复一个69的确认序列号。
注意序列号不是确认序列号。
你的其它一些疑问我也不知道该怎么说。希望能帮助到你。
本帖最后由 net_hhlt 于 2014-7-11 15:19 编辑
TCP提供一种面向连接的,可靠的字节流服务。 这是TCP IP详解1上的原话。 net_hhlt 发表于 2014-7-11 15:18
TCP提供一种面向连接的,可靠的字节流服务。 这是TCP IP详解1上的原话。
面向字节流只是表示他在接收与传输时,是不考虑上层的输入输出动作的,与怎么编号无关。
我的疑问是,为什么必须针对与发送报文段中的字节编号,对每次发送的字节流报文段编号不就可以了? net_hhlt 发表于 2014-7-11 15:18
TCP提供一种面向连接的,可靠的字节流服务。 这是TCP IP详解1上的原话。
TCP报文段首部没有报文长度字段,对TCP字节流中的字节编号,
接收方系统应该需要额外的资源来计算收到的TCP报文段中的字节
数,以便在返回确认时给出确认号。如果首部有报文长度字段,
那么在接收时,直接用报文长度减去首部长度即得字节数,这样就
节省了系统额外的开销。若使用报文段编号填充TCP序号,不就可
以减少系统开销,也能到达报文字节编号的效果么。
既然这样,为什么要对字节进行编号?
{:6_267:} lees 发表于 2014-7-11 15:25
面向字节流只是表示他在接收与传输时,是不考虑上层的输入输出动作的,与怎么编号无关。
我的疑问是,为 ...
关于你的这个想法,我猜你是觉得一次一个字节很麻烦,其实接收方并不是一个字节就一个ack回复的。我暂时就先想到这,以后有思路了再来回复。 net_hhlt 发表于 2014-7-12 21:23
接受方是知道发送发发送字节序列的,TCP包首部中有一个32位的序列号,和一个32位的确认序列号。比如发送 ...
非常感谢你的回答,我想通了,为什么要用字节编号,这是因为TCP有窗口拥塞控制,窗口的拥塞是基于字节的,所以必须给字节编号,如果给数据包编号,拥塞窗口无法调节大小,非常感谢你! lees 发表于 2014-7-14 13:57
非常感谢你的回答,我想通了,为什么要用字节编号,这是因为TCP有窗口拥塞控制,窗口的拥塞是基于字节的 ...
你说拥塞控制,往更广泛的方面说,应该是流量控制吧?还有,你知道相关活跃的群么?人多的地方,学习带劲些。 net_hhlt 发表于 2014-7-15 23:41
你说拥塞控制,往更广泛的方面说,应该是流量控制吧?还有,你知道相关活跃的群么?人多的地方,学习带劲 ...
是的,流量控制,我不知道群,没有群哎,有群基本上都是讨论网络设备的 {:6_283:}长知识了 lees 发表于 2014-7-16 15:44
是的,流量控制,我不知道群,没有群哎,有群基本上都是讨论网络设备的
嗯,是的,我在这论坛里面看了下,都是网络设备相关的,可是我又不考ccna什么的。 lees 发表于 2014-7-16 15:44
是的,流量控制,我不知道群,没有群哎,有群基本上都是讨论网络设备的
嗯,是的,我在这论坛里面看了下,都是网络设备相关的,可是我又不考ccna什么的。 net_hhlt 发表于 2014-7-16 16:34
嗯,是的,我在这论坛里面看了下,都是网络设备相关的,可是我又不考ccna什么的。
没办法啊,大家现在就认为NP IE就是网络工程师了 lees 发表于 2014-7-17 10:47
没办法啊,大家现在就认为NP IE就是网络工程师了
你是干这行的?那你觉得在日常中,是cisco的吃香,还是huawei的吃香?
页:
[1]
2