TCP checksum includes the psuedo-header (some fields of the IP
header - see the RFC for details). If the psuedo-header
changes, TCP checksum needs to be re-calculated or "adjusted".
"Rajesh Gupta" <(E-Mail Removed)> wrote in message
news:OLtwv$(E-Mail Removed)...
> Hi Everyone,
>
> I am having a strange problem. My TCP packets get dropped on the server
> side. When i did debugging, this is what found out.
>
> TCP checksum on server side is wrong? Well its really strange, as i did
not
> modified anything in the TCP header and TCP data. I made modification in
the
> IP header only. I think this should not make any difference in the TCP
> checksum.
>
> When i checked the packet on client, its exactly the same packet. There is
> no change in the TCP header and Data. On the client side, etherreal says,
> correct checksum i.e. 0x43e0.
> While on the server side, i checked the TCP header. Its exactly same.
> Etherreal says Incorrect checksum (0x43e0), should be 0x43e4.
>
> I am not sure what is happening, i have only modified the destination
> address 172.10.10.16 to 172.10.10.12.
>
> Observation, the difference between correct checksum and incorrect
checksum
> is 4, its exactly the same difference between previous and modified IP.
>
> So i am not sure, what is happening to the TCP checksum. I read the
> documentation, IP checksum is the checksum of IP header, while TCp
checksum
> is TCP header + TCP data.
> Thanks a lot in advance.
> Raj
>
>
|