cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
10391
Views
0
Helpful
3
Replies

Why CRC, IP checksum and TCP checksum required in OSI layer

Hello Folks,

Greeting! My friend and I were discussing about the host-to-host communication in OSI layer perspective there this question was raised in our mind Why CRC, IP checksum and TCP checksum required in each layer., Is CRC error detection method  enough to check payload or data integrity?

What is requirement of error detection method for each layers of OSI model CRC for L2, IP checksum for L3 and TCP/UDP CHECKSUM for L4? I believe CRC algorithm is more sufficient to identify data integrity whether the payload has corrupt or not. so what is main motto of header checksum placed in IP & TCP layers  

Looking forward detailed explanation..  

Thanks

Ram

3 Replies 3

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Ram,

the OSI model with its layers is thought to have each level to perform its own checks:

so L2 CRC is performed at layer2

IP checksum is only performed for the ipv4 header (first 20 bytes)  not for the payload.

This makes a lot of difference.

From this fact arises the need for TCP and UDP to perform complete checksum of the L4 PDU to verify the data integrity.

OSI L2 CRC is not enough because it is local it is not end-to-end the L2 FRAME changes at each router hop, so it cannot be of help for end to end communication.

IPv4 header checksum is limited to header.

The design of protocols include checks to be performed at the protocol level and all of them are needed for the reasons reported above.

Hope to help

Giuseppe

Hello Giuseppe.

Thanks for responding so quickly. I agree your statement "The design of protocols include checks to be performed at the protocol level " there is no second thought on this. 

I was raising CRC cyclic redundancy check is more enough to validate whether the data is corrupt or not. I understand cut through switch wont validate CRC parameter but end computer do if both source and destination are in same L2 domain.

lets give an example source host(A) sending data with his computed TCP checksum, IP checksum and CRC value, consider there is problem in physical medium so there is chance to corrupt my data hope you catch my statement. now receiving device either transit router or final destination host unwarp / looking the Layer 2 information and compute CRC algorithm for validate to payload since my data is corrupted its dropped it there itself so no need to go to next level.

if there is any flip in TCP layer - > L2 CRC can able to identify while computing in L2 level  

like if there is any flip in IP layer - > CRC can able to identify while computing in Layer 2 level

because as per the frame format cyclic redundancy check run / compiling for entire payload (its include ip and tcp layer are part of frame) 

hope I conveyed my thoughts.

Thanks

Ramamoorthy       

Hello Ram,

 

If you still looking for answer to this is query, in my research I fould some valid points in the following link. Thought of sharing with you..

 

https://www.quora.com/What-is-the-need-of-error-control-at-the-data-link-layer-when-the-transport-layer-provides-error-control-What-is-the-difference-between-the-two-error-controls

 

Regards,