English 中文(简体)
Go Back N Protocol
原标题:Go back N protocol

I m试图执行关于两个单独的客户和服务器应用程序的Go Back N议定书。 我的序列号必须配备3个轨道,这样2个轨道3 = 8个最大数字,2个轨道3 - 1 = 7个窗口大小。

我最初寄给我整个窗口。 头两包(0和1)是正确的。 包装2被放弃。 当接收器收到包装单3至6时,它预计会收到2份,因此它必须打上包装箱,然后说它想要2份。

Sender     Receiver
  0           0
  1           1
  2    (packet dropped)
  3         nack2
  4         nack2
  5         nack2
  6         nack2

当供应商收到第一组Nack2时,它理解收到0和1份(通过假冒)并将其窗户迁出,但还必须按顺序2(索2-3-4-5-6-,可能的话是7-0)修改其窗户。 到供应商收到第二批Nack2时,它已经发送了这些包裹。 由于该议定书,供应商将再次转售他的整个窗口,包括2个窗口。 现在接收人可能收到2份(和他人),但在第二批Nack2批中,接收人将按顺序重新接收2份,必须填写预期包装,等等。 我在所有这些假设中都正确无误?

如果是,在我看来,Go Back N寄发的包裹比“停止”和“瓦伊特”多得多,尤其是你增加了窗户面积。 我没有看到什么?

最佳回答

我发现的解决这一问题的办法只是使用更多的比值来代表顺序编号,因此拥有较大的限额。 如果您的票价为2克温得力,那么不能将延迟的2号作为适当的ACK加以错误解释。

问题回答

暂无回答




相关问题
Failure scenarios for reliable UDP?

What could be good list of failure scenaros for testing a reliable UDP layer? I have thought of the below cases: Drop Data packets Drop ACK, NAK Packets Send packets in out of sequence. Drop intial ...

C windows sendto()

I am trying to send over UDP using the following code, but i m getting strange results. if((sendto(newSocket, sendBuf, totalLength, 0, (SOCKADDR *)&sendAddr, sizeof(sendAddr)) == bytesSent) &...

General sockets UDP programming question

I have an FPGA device with which my code needs to talk. The protocol is as follows: I send a single non-zero byte (UDP) to turn on a feature. The FPGA board then begins spewing data on the port ...

Twisted Spread suitable for multiplayer racing sim?

Do you think that Twisted Spread may be suitable (in terms of performance) for a multiplayer racing simulator? The rest of the application is based on Python-Ogre. Can Perspective Broker run upon (...

Ruby UDP server/client test fails

I am trying to setup a simple UDP client and server using Ruby. The code looks like this: require socket.so class UDPServer def initialize(port) @port = port end def start @socket = ...

Should I use (non-blocking) NIO for UDP?

According to this post, UDP just doesn t block. Are there any advantage using the (non-blocking) NIO API for UDP? Or should I just use the easier "traditional" io API?

Connecting to a Source game server in VB.NET

I m developing an application that detects Source-based games running on the LAN. Following up on the specifications provided by Valve, I have it narrowed down to exactly what I want: making a UDP ...

热门标签