Re: tcp [7:73518]

2003-08-05 Thread Howard C. Berkowitz
At 2:17 PM + 8/5/03, Janik James wrote:
>Here are some tcp questions:
>
>1.Can the sender send more than the window size?

No.

>2.Can receiver send ack before whole window comes in?

Not for the window it's receiving, but for a previous window.




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=73528&t=73518
--
**Please support GroupStudy by purchasing from the GroupStudy Store:
http://shop.groupstudy.com
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html


RE: tcp [7:73518]

2003-08-07 Thread gab S.E jones
1.Can the sender send more than the window size? 

No a sender can not send more than the window size

e.g if we have  two hosts A and B and B's advertised window size is 32kb.
Upon the first tcp connection A(sender) can send up to the maximum window
sise(segments) and it then has to wait for an acknowledgement from B that
all the data was received or not


2.Can receiver send ack before whole window comes in?

Yes it can send an acknowledgement on what is received.

I will try and explain this better as far as my knowledge permits me.

When a sender sends a segment to a receiver the first time the receiver
expects that the data being received equals the max window size. But for
instance if we assume that due to rtt values(congestion) or some sort of
assymetric routing or if the data was just lost, the receiver B will then
send an acknowledgemnet saying I only received 16kb worth of data which
indicates to the sender A that I can only send another 16kb worth of
data(window size). This is TCP's flow control mechanism

come to think of the answer to this question is not that straight forward.

Maybe someone else can elaborate more

regards,
gab



Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=73525&t=73518
--
**Please support GroupStudy by purchasing from the GroupStudy Store:
http://shop.groupstudy.com
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html


RE: tcp [7:73518]

2003-08-10 Thread Howard C. Berkowitz
"Reimer, Fred"  wrote,
>A "window" is not a thing that gets sent in a TCP session.  You don't send
>"windows."

A window is the amount of unacknowledged data the sender is allowed 
to have outstanding to the receiver. It isn't necessarily identical 
to the receive buffer; the receiver may choose to signal a smaller 
window for reasons of flow control. It's probably more correct to say 
Maximum Segment Size (MSS).

If the transmitter is either initially starting or is recovering from 
an error, it will send less than the window until it is able to send 
that amount without acknowledgement.

Indeed, the TCP Extensions for High Performance specifically include 
mechanisms for setting the window to sizes larger than that which can 
be set in a 16-bit field, so the stop-and-wait time when the window 
fills and an ACK has not been sent can be minimized.

>A window is the size of the TCP receive buffer.  A receiver can
>send an ACK before its receive buffer is full.  Perhaps you are thinking of
>a "segment" in Cisco's terminology, or a chunk of data from one TCP
>application to another, which may be broken down into several different
>frames.  Typically, on the last frame sent in the segment the PSH bit is
>set, to tell the TCP/IP stack on the receiving end to send the data to the
>application.  However, it would also be incorrect to say that the receiver
>can only ACK at the end of the segment, because the segment may be larger
>than the window size.
>
>The phrasing for the first question is wrong also.  Of course the sender can
>send more than the window size.  How do you think FTP transfers large
>multi-megabyte files while the window size is typically less than 64K?  If
>the question was something like, can the sender send more bytes than its
>calculated value for the receiver window size before receiving an ACK, then
>answer would be no.

And here I would disagree. The question was not about FTP, which, of 
course, doesn't know about the TCP window. FTP internally transfers 
data to TCP and TCP determines the length of to send in any given 
packet. TCP manages the window.  In an error-free environment with 
FTP, the window is very apt to reach 64K, even though that exceeds 
the MTU.  This is the Maximum Segment Size (MSS), which is sent in 
several MTUs.

You are correct that I oversimplified the situation, and that 
intermediate ACKs can be sent while running in full duplex, to give 
additional window credits.

>
>And yes, the sender has to calculate what the running window size is for
>each TCP connection.  For example, say host A and host B create a TCP
>session, and host B tells host A that it's window size is 5,000 bytes in the
>opening SYN, SYN/ACK, ACK three-way handshake.  Host A starts sending data,
>in 1,000 byte packets, to host B.  After the first packet host A has to
>calculate that it can send 4,000 more bytes before it should wait.  Host B
>can, but does not have to, send an ACK back setting the window size to 4,000
>(assuming that it did not deliver the packet to the application, which would
>reset the window size back to 5,000 bytes).  Host A sends four more 1,000
>byte packets, and it calculates that it can't send anymore.

Exactly.  A conformant implementation cannot send more than this amount.

>Now it HAS to
>wait for host B to ACK some of the data, so that it can send more.  If it
>only needed to send 2,000 bytes of data to the other application before it
>expects return data, then it would set the PSH bit on the second packet.



>
>
>
>-Original Message-
>From: Howard C. Berkowitz [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, August 05, 2003 11:15 AM
>To: [EMAIL PROTECTED]
>Subject: Re: tcp [7:73518]
>
>At 2:17 PM + 8/5/03, Janik James wrote:
>>Here are some tcp questions:
>>
>>1.Can the sender send more than the window size?
>
>No.
>
>>2.Can receiver send ack before whole window comes in?
>
>Not for the window it's receiving, but for a previous window.
>**Please support GroupStudy by purchasing from the GroupStudy Store:
>http://shop.groupstudy.com
>FAQ, list archives, and subscription info:
>http://www.groupstudy.com/list/cisco.html




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=73564&t=73518
--
**Please support GroupStudy by purchasing from the GroupStudy Store:
http://shop.groupstudy.com
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html


Re: tcp [7:73518]

2003-08-14 Thread [EMAIL PROTECTED]
On Tuesday, August 5, 2003, at 10:14  AM, Howard C. Berkowitz wrote:
>
>
>> 2.Can receiver send ack before whole window comes in?
>
> Not for the window it's receiving, but for a previous window.
>
Unless you're Microsoft.

http://grotto11.com/blog/slash.html?+1039831658

This isn't to make this a MS-bashing thread.  More for information 
purposes that there are implementations out there that don't follow 
RFCs exactly, and there are some that practically throw them out the 
window.




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=73542&t=73518
--
**Please support GroupStudy by purchasing from the GroupStudy Store:
http://shop.groupstudy.com
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html


RE: tcp [7:73518]

2003-08-14 Thread Reimer, Fred
A "window" is not a thing that gets sent in a TCP session.  You don't send
"windows."  A window is the size of the TCP receive buffer.  A receiver can
send an ACK before its receive buffer is full.  Perhaps you are thinking of
a "segment" in Cisco's terminology, or a chunk of data from one TCP
application to another, which may be broken down into several different
frames.  Typically, on the last frame sent in the segment the PSH bit is
set, to tell the TCP/IP stack on the receiving end to send the data to the
application.  However, it would also be incorrect to say that the receiver
can only ACK at the end of the segment, because the segment may be larger
than the window size.

The phrasing for the first question is wrong also.  Of course the sender can
send more than the window size.  How do you think FTP transfers large
multi-megabyte files while the window size is typically less than 64K?  If
the question was something like, can the sender send more bytes than its
calculated value for the receiver window size before receiving an ACK, then
answer would be no.

And yes, the sender has to calculate what the running window size is for
each TCP connection.  For example, say host A and host B create a TCP
session, and host B tells host A that it's window size is 5,000 bytes in the
opening SYN, SYN/ACK, ACK three-way handshake.  Host A starts sending data,
in 1,000 byte packets, to host B.  After the first packet host A has to
calculate that it can send 4,000 more bytes before it should wait.  Host B
can, but does not have to, send an ACK back setting the window size to 4,000
(assuming that it did not deliver the packet to the application, which would
reset the window size back to 5,000 bytes).  Host A sends four more 1,000
byte packets, and it calculates that it can't send anymore.  Now it HAS to
wait for host B to ACK some of the data, so that it can send more.  If it
only needed to send 2,000 bytes of data to the other application before it
expects return data, then it would set the PSH bit on the second packet.

Fred Reimer - CCNA


Eclipsys Corporation, 200 Ashford Center North, Atlanta, GA 30338
Phone: 404-847-5177  Cell: 770-490-3071  Pager: 888-260-2050


NOTICE; This email contains confidential or proprietary information which
may be legally privileged. It is intended only for the named recipient(s).
If an addressing or transmission error has misdirected the email, please
notify the author by replying to this message. If you are not the named
recipient, you are not authorized to use, disclose, distribute, copy, print
or rely on this email, and should immediately delete it from your computer.


-Original Message-
From: Howard C. Berkowitz [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 05, 2003 11:15 AM
To: [EMAIL PROTECTED]
Subject: Re: tcp [7:73518]

At 2:17 PM + 8/5/03, Janik James wrote:
>Here are some tcp questions:
>
>1.Can the sender send more than the window size?

No.

>2.Can receiver send ack before whole window comes in?

Not for the window it's receiving, but for a previous window.
**Please support GroupStudy by purchasing from the GroupStudy Store:
http://shop.groupstudy.com
FAQ, list archives, and subscription info:
http://www.groupstudy.com/list/cisco.html




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=73544&t=73518
--
**Please support GroupStudy by purchasing from the GroupStudy Store:
http://shop.groupstudy.com
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html