Oops, sorry about that. I re-read your original post I missed that
paragraph. Staring at those damned tcpdumps all day made me cross-eyed not
to mention the headache.

Thanks for your help.

""Priscilla Oppenheimer""  wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> I already explained that, as does Stevens. (You have his book, I think.
It's
> great.) The RFCs may not explain it. The creators or TCP don't approve of
> keeaplives.
>
> Anyway, the sender purposely keeps the sequence number the same when
> implementing the keepalive process. That causes the recipient to trash the
> garbage byte instead of giving it to the application. Remember there's an
> application running above all this (identified by the port number). The
> transport layer does not pass the garbage byte to the application because
it
> appears to be a byte it already received. That's a basic TCP task.
>
> Priscilla
>
> sam sneed wrote:
> >
> > > > So using the example below (host A 192.168.133.21, B
> > > > 10.10.10.12), A sends 1
> > > > byte of data, last successful sent byte is 2653258021,
> > >
> > > No, the last successful byte is 2653258020. That's Host A's
> > sequence
> > number.
> > > Host A sends only one byte, the byte numbered 2653258020.
> > > The analyer you're using (is it TCPdump?) doesn't do a good
> > job of making
> > > this clear. I think it's trying to help you see what the
> > expected ACK
> > should
> > > be. Don't read the second number as the sequence number of
> > the last byte
> > > sent. You'll be off by one if you do that.
> >
> >
> > > A common mistake people make (and your analyzer may be
> > making) is to add
> > the
> > > length of the data to the sequence number to get the sequence
> > number of
> > the
> > > final byte of data in the segment. That's doesn't work.
> > You're mixing
> > apples
> > > and oranges. Actually, you're mixing cardinal numbers (how
> > many, length)
> > > with ordinnal numbers (order, rank, sequence). You'll be off
> > by one. I
> > > explain this in detail in my new book, Troubleshooting Campus
> > Networks, in
> > > the TCP chapter. ;-)
> > >
> > > > shouldn't Host B ack
> > > > (2653258021)+1 ?
> > >
> > > No, Host B's ACK should be 2653258021. Host B is saying I got
> > 2653258020
> > and
> > > I'm expecting 2653258021 next. Once again, I think your
> > analyzer's method
> > of
> > > display is confusing.
> > >
> >
> > Yes, the analyzer is tcpdump and now I understand the error in
> > my
> > intrepretation. There is still one thing bothering me.
> > Host A is a sending a keepalive with 1 garbage as in my
> > previous post
> > 2653258020, B acks 2653258021 the next SN its expects to see.
> > But in my
> > example host A sends 2653258020 with 1 byte of garbage again.
> > Wouldn't this
> > look a duplicate or at least an out of sequence frame since
> > host B is
> > expecting 2653258021 and has already ack'd 2653258020? There
> > are no other ID
> > fields in the TCP header so how would it not ignore it as a
> > duplicate frame
> > when its [src IP dest IP] [src port dest port] and sequence #'s
> > are
> > identical?
> > I imported the raw packets into Ethereal so I could see all
> > fields, even the
> > 1 byte of garbage data is the same (00 in hex) and the header
> > checksum are
> > equal.
> > I hate to beat this to death,  but this stuff is a science and
> > based on
> > RFC's, so it kills me not to be able to interpret this exactly
> > and
> > correctly. There should be no mysteries behind this stuff. After
> > troubleshooting my network problem for awhile, I've become more
> > interested
> > in understanding the exact workings of TCP than solving the
> > original
> > problem.
> >
> > Thanks alot for your insight.




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=49693&t=49535
--------------------------------------------------
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html
Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]

Reply via email to