Kermit FAQ - I Enabled Sliding Windows but It Looks Like Only One Is Used.

(Home) (Prev) (Next)

15 I Enabled Sliding Windows but It Looks Like Only One Is Used.

Newsgroups: comp.protocols.kermit.misc
Subject: Re: Sliding windows - only one is used?
Date: Wed Feb 15 09:21:08 1995
From: fdc@columbia.edu (Frank da Cruz)

In article <3hn07m$4dl@israel-info.datasrv.co.il>,
4th Dimension <winter@zeus.datasrv.co.il> wrote:
> I'm using MS-Kermit 3.14, PL3 on my PC, talking to C-Kermit 5A(190)
> on the remote Sun.  When I start MSK, I load the FAST macro to get
> maximum thruput. Transfer of data is pretty fast, except that I
> never see more than one window used out of the three.  Is this a
> bug, a feature, or am I doing something wrong?
>
It's not a bug and you are probably not doing anything wrong.

When two Kermit programs have agreed to use a maximum window size greater than one, let's say 4, here is what happens:

The FILE SENDER can send up to 4 packets without waiting for an acknowledgement from the file receiver. Each unacknowledged packet sits in the file sender's window until it is acknowledged. Thus its window size grows from 1 to 2 to 3 to 4. If acknowledgments arrive quickly, the window might not grow to its maximum size because it does not need to.

The job of the FILE RECEIVER is to accept and verify packets, decode them, and write the decoded contents out to the file. If packets arrive in sequence, then each one is processed and disposed of as soon as it arrives. If, however, a packet arrives that has a sequence number that is more than one greater than the previous packet that was successfully processed, this means that a packet is missing. Thus the packet that just arrived can't be written out to disk because if it were, the file would have a piece missing. So the out-of-sequence packet is stored in the receiver's window until the missing piece is filled in.

Thus you won't see the file receiver's window size exceed one unless there have been transmission errors, no matter what window size the file sender might be using. For greater detail see pages 102-103 of "Using MS-DOS Kermit" or pages 158-161 of "Using C-Kermit" (1st edition) or pages 256-260 of the second edition.

- Frank


Kermit FAQ / Columbia University / kermit@kermitproject.org