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
On 18-Nov-08, at 1:58 PM, Arin Soyen wrote:
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