Is cyclic redundancy check (CRC) done by Internet Control Message Protocol(ICMP)?

How can Time to live (TTL) help for this?


2 Answers 2



ICMP is used to send IP layer notifications between hosts. The IPv4 header has got a header checksum, as do many transport layer protocol headers.

TTL is a method to keep packets from circulating endlessly in case of a routing loop. Each hop decrements the TTL value until the destination is reached or the TTL expires. In the latter case, the last hop drops the packet and is supposed to return an ICMP "time exceeded" message to the source (but not nearly all do) except for ICMP messages themselves.

  • Nothing generates ICMP messages for ICMP packets. (that would create a packet spewing hole)
    – Ricky
    Jul 31, 2018 at 21:48
  • What is use for cyclic redundancy check? Aug 1, 2018 at 3:35
  • @RickyBeam Thx - I got the question differently.
    – Zac67
    Aug 1, 2018 at 5:00

In addition to Zac67's good clarification about ICMP and TTL, cyclic redundancy check (CRC) is an error-detection technique typically used in the link layer in an adapter.

Before talking about CRC, you should know the checksum method which is used in the transport layer protocol (header and date) and network layer protocol IPv4 (header only) to detect errors in packets. In this method, bytes of data treated as 16-bit integers are summed. The 1s complement of this sum then forms the checksum.

Now, for CRC, it is implemented in dedicated hardware in adapters for the link layer protocol, which can rapidly perform the more complex CRC operations. It can detect "burst" errors (bit errors clustered together). The basic idea is to use a generator, denoted as G. Consider a d-bit piece of sending data, D. The sender will choose r additional bits, R, and append them the D such that the resulting d+r bit pattern is exactly divisible by G using modulo-2 arithmetic. The receiver will divide received d+r bit pattern by G. If the remainder is nonzero, the receiver knows that an error has occurred.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.