РACK=1,ack=601,rwnd=0РAРBРA发送了序号1至100,还能发送300字节РA发送序号101至200,还能发送200字节Р允许A发送序号201至500共300字节РA发送了序号301至400,还能再发送100字节新数据РA发送了序号401至500,不能再发送数据了РA超时重发旧的数据,但不能发送新的数据Р允许A发送序号501至600共100字节РA发送了序号501至600,不能再发送数据了Р不允许A再发送(到序号600为止的数据都收到了)Р丢失Р流量控制中的一种特殊情况РB 向 A 发送了0窗口的报文段后不久,B 的接收缓存又有了一些存储空间。于是,B 向 A 发送了rwnd=400的报文段。恰好这个报文段在传输过程中丢失了。Р造成的结果?A将一直等待B发送的非0窗口的通知,这时候B也一直等待A发送的数据,形成“恶性循环”。Р解决的办法?设计持续计数器。只要TCP连接的一方收到了对方的零窗口通知,就启动持续计数器。若持续计数器设计的时间到期,就发送一个0窗口的探测报文段(紧携带1字节数据),而对方就在确认这个探测报文段时给出了现有的窗口值。如果窗口仍然是0,那么收到这个报文段的一方就重新设计持续计时器。如果窗口不是0,那么“恶性循环”就能够打破了。Р流量控制中的效率问题Р之前学过,应用进程把数据传送到TCP的发送缓存后,剩下的任务就由TCP来控制。可以用不同的机制来控制TCP的发送时机:?1、TCP维持一个等于最大报文量(MSS)的变量,只要缓存中存放的数据达到MSS字节时,就组成一个TCP报文发送出去Р2、由发送方的应用进程指明要求发送报文段Р3、发送方的一个计时期限到了,就把缓存数据装入报文段发送出去Р第一个问题Р如何控制TCP发送报文段的时机Р解决办法:设计算法——Nagle算法。??第二个问题?糊涂窗口综合症? 教材P204~205页Р谢谢大家!