查看: 28143|回复: 9

关于TCP事物的问题

[复制链接]
发表于 2013-2-18 08:06:11 | 显示全部楼层 |阅读模式
如果额外的控制比特被追加到报文段上—也就是,第1个报文段带有S Y N、客户请求和一个
F I N—客户仍然能够看到一个2倍的RT T与S P T之和的最小开销(与数据一起发送一个S Y N
和F I N是合法的

对于这句话不是很理解,为什么这种情况下,客户还得等待2倍的RTT与SPT呢?
回复

使用道具 举报

发表于 2013-2-18 08:28:09 | 显示全部楼层
同问
回复

使用道具 举报

 楼主| 发表于 2013-2-18 08:54:22 | 显示全部楼层
我的理解是,当发送端发送SYN,请求,FIN的时候,接收端会马上发送ACK,SYN给对端!(此时1个RTT)

此时接收端进程接收数据并处理数据(处理数据时间){此段时间为接收端处理数据的时间}

然后发送端发送ACK给接收端,接收端处理好数据之后,发送FIN,应答(1个RTT)

这样客户端(发送端)需要等待2个RTT与SPT,才能接收到应答!

但是事物要求,等待时间应当减少到等于RT T与S P T之和!

所以对于原始的TCP来说,是不满足要求的,需要T/TCP来解决这个问题!
回复

使用道具 举报

 楼主| 发表于 2013-2-18 08:55:12 | 显示全部楼层
请各位指教!!!我是协议方面的新手,希望各位能给小弟一些建议!

欢迎大家批评!!!
回复

使用道具 举报

 楼主| 发表于 2013-2-18 09:04:37 | 显示全部楼层
另一个与T C P有关的问题是T I M E WA I T状态和它需要的2 M S L的等待时间。正如在习题
1 8 . 1 4中看到的,这使两个主机之间的事务率降低到每秒2 6 8个。

关于这个问题,我的理解是这样的,一个主机建立新的连接和结束一个连接的最大速率是每秒268,一个主机可用的端口号为65535-1024(知名端口号),那么我们需要一个时间段,这个问题就可以解决了!而这个时间段就是2MSL,所以两者相除就能得到结构!

那么为什么是2MSL呢?

因为主机建立连接必定是有先有后,那么必定有第一个建立的连接!而建立连接,传输请求,结束的连接可以忽略,也就是说2MSL的时间远远大于前者,所以计算最大速率的时间就用这段时间!
回复

使用道具 举报

发表于 2013-2-18 09:13:20 | 显示全部楼层
嗯,理解的对
回复

使用道具 举报

发表于 2013-2-18 09:14:35 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2013-2-18 11:14:38 | 显示全部楼层
对T/TCP没太看过,不过据我了解T/TCP本身存在几个严重的安全缺陷,因此没有被推广,2011年5月IETF已经取消了该项目(可以参考RFC 6247)。
回复

使用道具 举报

 楼主| 发表于 2013-2-19 09:55:00 | 显示全部楼层
谢谢大家的指点!!!
回复

使用道具 举报

发表于 2013-2-19 13:30:34 | 显示全部楼层
5# wl35232988

这是因为虽然双方都同意关闭连接了,而且握手的4个报文也都协调和发送完毕,按理可以直接回到CLOSED状态(就好比从SYN_SEND状态到ESTABLISH状态那样);但是因为我们必须要假想网络是不可靠的,你无法保证你最后发送的ACK报文会一定被对方收到,因此对方处于LAST_ACK状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个TIME_WAIT状态的作用就是用来重发可能丢失的ACK报文。这也是为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

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