Hello everyone, this is my first time in this sub and I want to ask a question that burdens me since I have done a lot of research already and still don't understand the issue.
It is about check sum calculation in TCP/IP. I notice that the ethernet frame has at the end a FCS field, where the checksum calculation for the integrity of its content is stored. This enable the target device to discard the frame if the checksum (CRC) fails.
Now, there is another checksum field in the transport layer. In case of UDP (that is what I want to implement) in order to calculate the checksum there must be a pseudo header, that is clear enough. Want I don't get is, why do we need a checksum field at the transport layer when the data link layer could have discarded the complete frame already if the payload gets corrupted along its way to the destination?
Does that mean, that the FCS field of the ethernet frame does not take into account some bits flipping in the transport layer's fields? Wouldn't it be redundant to have a Checksum field in the transport layer, when there is already one in the data link layer?
I hope I have made the right questions, since I am so confused. Thank you very much in advance!
No comments:
Post a Comment