Skip navigation
Login   |   Register
Cisco Learning Home > Certifications > IP Networking (CCENT) > Discussions

_Communities

This Question is Answered
4238 Views 7 Replies Latest reply: Apr 28, 2011 5:04 PM by Luciano RSS

Currently Being Moderated

Acknowledgement Number

Apr 27, 2011 7:05 PM

Luciano 41 posts since
Dec 17, 2010

Hi,

 

    I have a doubt of what the TCP Acknowledgement Number represents:

 

         1.- The last segment received.

         2.- The next segment expected to receive.

 

    It'd be great to have it clear for the exam.

 

 

    Thanks in advance.

 

 

Luciano

  • Martin 13,913 posts since
    Jan 16, 2009
    Currently Being Moderated
    1. Apr 27, 2011 9:05 PM (in response to Luciano)
    Re: Acknowledgement Number
    The sequence number identifies the byte in the stream of data  from the sending TCP to the receiving TCP that the first byte of data in  this segment represents. 
      
    The Acknowledgement number field contains the next sequence  number that the sender of the acknowledgement expects to receive. This  is therefore the sequence number plus 1 of the last successfully received  byte of data. This field is valid only if the ACK flag is on. Once a connection  is established the Ack flag is always on. 
      
    The Acknowledgement, SequenceNum, and AdvertisedWindow  fields are all involved in TCP's sliding window algorithm.The Acknowledgement  and AdvertisedW indow fields carry information about the flow of dat going  in the other direction. In TCP's sliding window algorithm the reciever  advertises a window size to the sender. This is done using the AdvertisedWindow  field. The sender is then limited to having no more than a value of AdvertisedWindow  bytes of un acknowledged data at any given time. The receiver sets a suitable  value for the AdvertisedWindow based on the amount of memory allocated  to the connection for the purpose of buffering data. 

    see picture at

    source: http://www.ssfnet.org/Exchange/tcp/tcpTutorialNotes.html
    Join this discussion now: Login / Register
  • Paul Stewart  -  CCIE Security 7,575 posts since
    Jul 18, 2008
    Currently Being Moderated
    3. Apr 28, 2011 7:21 AM (in response to Luciano)
    Re: Acknowledgement Number

    That is a great question.  There are a couple of points.  In the first part, you said there was a fixed window of 100.  In your example, you said the sender sends 500, 600, 700, 800 and 900.  The issue was that the receiver did not get 700.  Therefore this is an impossibility.  The sender would have needed an acknowledgement to advance the window and send segment 800. 

     

    Let's rework the question a bit.  Let's imagine that the window is something large, 65535 for example.  Now the receiver did not receive "700".  In this case, the receiver would start sending duplicate acknowledgements with ack number "700".  This would happen until segment 700 was received.  In this case, the receiver has already received 800 and 900 and each have a length of 100 octets.  So it would generate an ack with number 1000. 

     

    There are some interesting other topic like fast and slow retransmit and selective acks that you can dig into.  I really recommend Laura Chappells book to everyone.

     

    http://www.amazon.com/gp/product/1893939995?ie=UTF8&tag=chappeuniver-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1893939995

    Join this discussion now: Login / Register
  • Martin 13,913 posts since
    Jan 16, 2009
    Currently Being Moderated
    5. Apr 28, 2011 4:22 PM (in response to Luciano)
    Re: Acknowledgement Number

    if you have Packet tracer you can build simple topology and "see" it

    for yourself packet by packet in slow motion (PT sim mode)

    Join this discussion now: Login / Register
  • Paul Stewart  -  CCIE Security 7,575 posts since
    Jul 18, 2008
    Currently Being Moderated
    6. Apr 28, 2011 5:01 PM (in response to Luciano)
    Re: Acknowledgement Number

    Wireshark simply calls it length.  That is the number of octets or bytes that are in the TCP Data portion of the packet (or more accurately the segment).  So in your example, the tcp length is 100 (bytes or octets).  The field doesn't really exist in the header, but that is the representation.  This is not the windows size.  The window size is exactly as you said.  The number of bytes or octets that can be sent unacknowledged.  There are some other things that come into play with TCP to keep it working, so ack's usually happen more often than the max window size.  In practice, there is usually an ack for each two segments sent.  Back to the "100".  This length has a maximum of the mss (maximum segment size).  This is determined to be the lowest of the mss sent in the options during setup and is least value of the initiator and responder.  HTH.

    Join this discussion now: Login / Register

Actions

More Like This

  • Retrieving data ...

Bookmarked By (0)