title: TCP after the handshake: seq ack homework
body: <p>Ok so I've got this question for homework, I'm given that 'Host X' sends 'Host Z' a packet and the Seq=46 and Ack=87 and the payload/data = 'Hello?' </p>
  
  <p>From there I am given: a packet sent from Host Z to Host X with payload='Go away' and the last packet sent from Host X to Host Z with the data='No!'  </p>
  
  <p>The homework is to find out what the value of the Seq and Ack of the last two packets would be.  I know the handshake is over so it's not just as simple as adding 1 to the Seq and putting it into the Ack of the next packet.  I read somewhere that when a payload is received the recipient then issues an Ack equal to 1 + the length of the payload in bytes.  If that is correct how would I go about turning those strings into bytes? And what happens with the Seq? Is that still grabbed straight form the prior packets Ack?</p>
  
  <p>Thank you all so much.</p>
  
  <p>Assuming each character is equal to one byte, I will go ahead and answer my question, and if I'm wrong hopefully someone will correct me.</p>
  
  <p>I am making the assumption that the Seq and Ack I'm given is the first transmission out of the handshake, so:</p>
  
  <pre><code>X-&gt;Z Seq=45 Ack=NULL
  X&lt;-Z Seq=86 Ack=46
  X-&gt;Z Seq=46 Ack=87
  
  X-&gt;Z Seq=46 Ack=87 data='Hello?'  (6 bytes)
  X&lt;-Z Seq=87 Ack=52 data='Go away' (7 bytes)
  X-&gt;Z Seq=52 Ack=94 data='No!'     (3 bytes)
  </code></pre>
  
  <p>I believe that is all and that what I have above is correct, but please let me know if I did something wrong.  Thank you all again.</p>