If an incoming TCP has timestamp option, then you need to have the timestamp option in the returning packet. The other options are not needed. WHen you copy back the timestamp option, please note that this field has 10 bytes. When handling the timestamp option, it is advisable not to use C structures with byte and long fields. Due to word alignment, the timestamp field will get messed up. Please use a byte (unsigned char) array to manipulating
the timestamp.


On 18-Nov-08, at 1:58 PM, Arin Soyen wrote:

Dear Professor,

We have a couple of questions regarding the assignment:

When we receive a TCP connection request from a UML, we process its SYN packet, and reply with a SYN|ACK, incrementing the UML's sequence number by 1, and sending our own arbitrary sequence number. However, we do not receive an ACK from the UML. When we do the same operation between two routers, we correctly send a SYN, receive a SYN|ACK and then send an ACK. Why could this happen? Also, we noticed that the SYN sent by a UML has MSS, TSV, TSER and WS fields that we do not use, should we have the same fields? Can that be the reason why we do not receive an ACK?

Also, if we send a TCP connection request to a UML, with the UML's port being not open, we do not receive an ICMP. Should we not implement this ICMP method we had for UDP?

Thank you for your help...


gini mailing list

Reply via email to