Layer 4 uses psuedo header to calcualte the checksum and layer 3 uses all the values in IP header to calcualte the checksum value. But at Layer 2 ,CRC is calculated from ethernet header and payload.From layer 2 point of view payload is made up from layer 3,4, 7 headers and actual data.
Now if the data is corrupted while transmitting it on physical media or the router (in trasit path) modifies layer 3 header , CRC can detect this at the receiving end. Receiver would drop the packet if the CRC is not matching(eventhough if only layer 3 header is corrupted or modified on the trasit path).Then why we need checksum in layer 2 , 3 and 4? shouldn't CRC validation be enough?
Thanks,
Arun