Solved

Question for network programmers

Posted on 2004-10-05
3
180 Views
Last Modified: 2010-04-17
First off I'm not a programmer. I'm a network tech. So forgive me if any of the terms I use seem strange.  I'm trying to understand how sliding window protocol operates in relation to the buffers.

Ok, let's say Computer A's TCP send buffer can allocate 8000 bytes. Computer B's receive buffer (window size) is only 6000 bytes.  Computer A's Application layer hands down a PDU of 8000 bytes to Computer A's  TCP.   Computer A's TCP places all 8000 bytes on it's send buffer.

Computer A will "window"  6000 bytes out of it's 8000 bytes it has on it's send buffer due to the window size Computer B advertised. It will then send the "window" of  6000 bytes of data to Computer B in several packets (each full size around 1460 bytes).

 As  Computer B receives the packets on it's receive buffer, it processes them quickly up the application layer and acknowledges Computer A.  This causes Computer B to free up it's receive buffer a bit more so it sends a window update to Computer A saying "win 2000".  Computer A then sends the remaining 2000 bytes.

Is that correct?
Thanks in advance
0
Comment
Question by:dissolved
  • 2
3 Comments
 
LVL 8

Expert Comment

by:gregasm
ID: 12233908
It depends on how Computer B is programmed to read the incoming stream.

If Computer B is programmed well, then it should behave as you envision.

Computer A should send packets to Computer B at either the fastest rate A can send it that B can receive it up to the limit of A, or else A will wait before sending more bytes if B is  backed beyond it's processing capabilities.

0
 

Author Comment

by:dissolved
ID: 12234037

Thanks gregasm.  Much appreciated. You network programmer guys are a sharp bunch no doubt. Hope to join you oneday. Long way to go for me though lol
0
 
LVL 8

Accepted Solution

by:
gregasm earned 500 total points
ID: 12234117
Thanks for your kind words, and good luck! As long as they think it is fun, anyone can do it!
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
topping2 challenge 13 90
recursion example 16 124
Getting the Error "User-defined type not defined" in MS Access 2013 16 61
Query Syntax 17 32
Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question