home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.protocols.tcp-ip
- Path: sparky!uunet!meaddata!russ
- From: russ@meaddata.com (Russ Rahn)
- Subject: Request for Help on TCP problem
- Keywords: retransmit, window
- Followup-To: comp.protocols.tcp-ip
- Sender: news@meaddata.com (Usenet Administrator)
- Organization: Mead Data Central, Dayton OH
- Date: Fri, 14 Aug 1992 14:31:57 GMT
- Message-ID: <1992Aug14.143157.14145@meaddata.com>
- Distribution: usa
- Lines: 58
-
-
- I have been witnessing from time to time, a series of events that I
- feel is improper. I am asking for help from you gurus on the net so
- that I can determine (1) if there is a problem, and (2) who has the
- problem. The following is a description of what I see:
-
- We have a protocol converter that takes frames from an X.25 cloud and
- converts them to TCP-IP packets and sends them to our PC. It does the
- opposite with TCP-IP frames generated by our PC.
-
- Let's pick up the action with everything running fine. Our PC is all
- caught up and has just acked with an ack value (for the sake of this
- discussion) of 0, and gave a windowsize of 512. The converter sends
- a packet to our PC with seq# 0. For one reason or another, this frame
- is missed by the PC. The converter sends the next frame with seq#
- 128. This is what I would have expected. The PC responds with an ack
- message with ack = 0. Again this is what I would have expected, but
- this is the point where reality begins to deviate from my
- expectations.
-
- The converter then sends a packet with seq# 256. The PC acks 0. The
- converter sends the packet seq# 384 with a length of 128. This fills
- our window. The PC acks 0. Since our window is full, the converter
- listens to the PC this time and retransmits the packet with seq# 0. The
- PC gets it and acks 128. Our window is no longer full, since it has
- just slid over 128 bytes. The converter then sends a packet with seq#
- 512. The PC is forced to ack at 128. The window is full again, so
- the converter listens and resends packet seq# 128. The window slides
- and this pattern continues.
-
- I thought that I had read that if you receive an ack for less than you
- had already sent, then you should forget all that was sent after the
- ack point and retransmit from that point on. If you don't receive an
- ack, then you should continue sending more and more new packets until
- you either fill the given window (flow control) or you eventually get
- an ack telling you what to do.
-
- Is this right? Or should the PC have been saving all of the frames
- that were provided after the ack value it gave (those that filled the
- window) so that when the converter got around to retransmitting the
- missed packet (seq# 0), the PC could have then acked the whole window?
-
- You can see how the current action is putting a delay in our
- processing while the window gets filled, and then slows processing
- after that by requiring so many packets to deliver just one.
-
- Please E-Mail with any response as I don't get to read the News very
- often. Also, if you would like to help, but I haven't made my
- question clear enough, please drop me a line and I'll try to describe
- the situation better.
-
- Thanks in advance!
-
- Russ
-
- russ@meaddata.com
-
-
-