Luc*_*cia 7 networking tcp protocols
我正在阅读来自Kurose的计算机网络,并且在TCP章节中阅读关于TCP和Go Back之间的差异的NI发现了一些我不完全理解的东西.书中说明了以下两种协议之间的一些差异:
"许多TCP实现缓冲正确接收但无序的segs而不是丢弃.
另外,假设seqof segs 1,2,... N按顺序正确接收,ACK(n),n <N,丢失,剩余的N-1个acks在各自超时之前到达发送方TCP重传最多一个seg ,即seg n,而不是pkts,n,n + 1,...,N,如果ACK(n + 1)在超时之前到达seg n,则TCP甚至不会重传seg n"
我理解无序段的缓冲,但我不理解其他行为,我认为这是因为我不完全理解返回N.遵循该示例,如果ACK(n + t)到达在Go Back N超时之前,协议将继续,好像seg n实际上是收到的,这是因为累积的ACKS ...所以,Go Back N不会重新传输该段....或者是我错过了什么?
小智 11
我正在查看这个问题的答案,在找到它之后,我想虽然这已经老了,但它可能对某人有所帮助,所以我从Kurose-Ross计算机网络中复制了一个片段 - 一种自上而下的方法:
TCP是GBN还是SR协议?回想一下,TCP确认是累积的并且是正确接收的,但是接收器不会单独确认无序段.因此,TCP发送方只需要保持发送但未确认的字节(SendBase)的最小序列号和要发送的下一个字节的序列号(NextSeqNum).从这个意义上讲,TCP看起来很像GBN风格的协议.但TCP和Go-Back-N之间存在一些显着差异.许多TCP实现将缓冲正确接收但无序的段[Stevens 1994].还要考虑当发送方发送一系列段1,2,...时会发生什么...,N和所有段按顺序到达接收器时没有错误.进一步假设对分组n <N的确认丢失,但剩余的N-1个确认在它们各自的超时之前到达发送方.在该示例中,GBN不仅将重传分组n,而且还重传所有后续分组n + 1,n + 2,.... ..另一方面,N. TCP将最多重新传输一个段,即段n.此外,如果段n + 1的确认在段n的超时之前到达,则TCP甚至不会重新发送段n.
我的结论:在实践中,TCP是GBN和SR之间的混合.
| 归档时间: |
|
| 查看次数: |
13242 次 |
| 最近记录: |