{"id":7285,"date":"2021-07-26T13:38:56","date_gmt":"2021-07-26T11:38:56","guid":{"rendered":"https:\/\/tekmart.co.za\/t-blog\/?p=7285"},"modified":"2021-07-26T13:39:41","modified_gmt":"2021-07-26T11:39:41","slug":"crc-4-cyclic-redundancy-check-4-a-tech-definition-and-explanation","status":"publish","type":"post","link":"https:\/\/tekmart.co.za\/t-blog\/crc-4-cyclic-redundancy-check-4-a-tech-definition-and-explanation\/","title":{"rendered":"CRC-4 (Cyclic Redundancy Check 4)-a tech definition and explanation"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time-approximately:<\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<h2 class=\"wp-block-heading\"><strong>CRC-4 (Cyclic Redundancy Check 4) is a form of cyclic redundancy checking &#8212; a method of checking for errors in transmitted data &#8212; that is used on E1&nbsp;trunk&nbsp;lines.<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.ttgtmedia.com\/rms\/onlineimages\/awati_rahul.jpg\" alt=\"Rahul Awati\"\/><\/figure>\n\n\n\n<p>By <a href=\"https:\/\/www.techtarget.com\/contributor\/Rahul-Awati\">Rahul Awati<\/a><\/p>\n\n\n\n<p>Through multiplication and division processes, the CRC-4&nbsp;bits&nbsp;sent in each SMF are compared to each other. If they match, the frame is considered error-free. Bit 1 is used for the CRC-4 bits.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Error detection in computer networks<\/strong><\/h3>\n\n\n\n<p>Computer networks use error detection techniques to verify if any data errors have occurred during transmission. This is done by adding an additional error detection code to a given message at either the data link layer (Layer 2) or transport layer (Layer 4) of the OSI (Open Systems Interconnection) model, which is a reference model for how applications communicate across a network.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"755\" height=\"1024\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/OSI-model-diagram-755x1024.png\" alt=\" OSI model diagram\" class=\"wp-image-7287\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/OSI-model-diagram-755x1024.png 755w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/OSI-model-diagram-221x300.png 221w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/OSI-model-diagram-768x1042.png 768w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/OSI-model-diagram-800x1086.png 800w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/OSI-model-diagram.png 840w\" sizes=\"(max-width: 755px) 100vw, 755px\" \/><figcaption><strong>Figure 1. CRC-4 checks for data transmission errors on E1 trunk lines at the data link layer (Layer 2) or transport layer (Layer 4) of the OSI model for how applications communicate over a network.<\/strong><\/figcaption><\/figure>\n\n\n\n<p>An error is said to have occurred when there is a mismatch between the receiver&#8217;s information and the sender&#8217;s information. This usually happens when&nbsp;noise&nbsp;is introduced into the network as the data travels from the sender to the receiver. When an error occurs, a 0 bit may change to a 1, or vice versa.<\/p>\n\n\n\n<p>The following are three of the most popular error detection methods.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Single parity check<\/h4>\n\n\n\n<p>This is a basic method that can detect simple errors by appending a redundant bit known as a&nbsp;parity&nbsp;bit at the end of the data unit to create an even number of ones. If the data&nbsp;block&nbsp;contains an odd number of ones, a 0 is added at the end.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Checksum<\/strong><\/h4>\n\n\n\n<p>This is a slightly more complex method of error detection. Before a message is transmitted, a&nbsp;checksum&nbsp;byte is computed and appended to it. When the receiver gets the message, a new checksum is calculated and compared with the existing checksum. If there is a mismatch between the two checksums, it indicates an error. It they match, the message is assumed to be error-free.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Cyclic redundancy check<\/strong><\/h4>\n\n\n\n<p>CRC is a&nbsp;hash&nbsp;function based on binary division. A sequence of redundant bits (called CRC bits) are appended to the end of the data block so that the resulting block is exactly divisible by a second, predetermined binary number. At the receiver&#8217;s end, the incoming message is divided by this number. If there&#8217;s no remainder, the message is considered error-free. A remainder indicates the presence of an error.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How does CRC-4 work?<\/strong><\/h3>\n\n\n\n<p>CRC-4 uses a CRC code to verify the integrity of the framing sequence. It is structured in a multi-frame (MF) consisting of 16&nbsp;frames&nbsp;numbered from 0 to 15. Each MF16 is split into two equal segments of eight frames, often called sub multi-frames SMF I and SMF II. SMF I consists of frames 0-7 and SMF II consists of frames 8-15.<\/p>\n\n\n\n<p>In each SMF, the even frames place the CRC bits in the first bit position. These bits act as a CRC for the first sub multi-frame. The CRC bits in frames 8, 10, 12 and 14 act as the CRC for the second sub multi-frame. Since there are four CRC bits, this error detection method is known as CRC-4. All odd frames use the first bit position to indicate an error when detected by the CRC bits, which is flagged with an E-bit.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"What are Network Protocols? Here&#039;s Why They&#039;re Important\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/znIjk-7ZuqI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>CRC-4 support is required for all network switches in Europe. Some ISDN signaling protocols use CRC-4 by default. Some older switches, including private branch exchanges (PBXs) and exchanges, do not support CRC-4. In this case, the exchange must either alter its configuration by turning its CRC-4 checking option on, or it must configure its firmware so the CRC-4 checking is off.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mathematical representation of CRC-4<\/strong><\/h3>\n\n\n\n<p>The CRC-4 error detecting code gets is name because the algorithm is&nbsp;based on&nbsp;cyclic codes. Also, the&nbsp;<em>check<\/em>&nbsp;value for data verification is a&nbsp;redundancy&nbsp;(i.e., it expands the message without adding any information).<\/p>\n\n\n\n<p>Mathematically speaking, a 4-bit CRC applied to a data block of arbitrary length will detect any single error burst not longer than 4 bits, and a fraction 1 \u2212 2<sup>\u2212n<\/sup>&nbsp;of longer error bursts. Simply put, for a 4-bit CRC, the check value is 4. For this value, multiple CRCs are possible, each with a different&nbsp;polynomial.<\/p>\n\n\n\n<p>To specify a CRC code and implement its algorithm, a &#8220;generator polynomial&#8221; is defined. Ideally, the polynomial should maximize the algorithm&#8217;s error-detecting capabilities and minimize the overall collision probabilities. Its length, (i.e., the largest degree[exponent] +1 of any one term) is its most important attribute.<\/p>\n\n\n\n<p><strong>For a 4-bit CRC:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Polynomial degree: n = 4<\/li><li>Number of terms: n+1 = 5<\/li><li>Bits required for encoding: n+1 = 5<\/li><\/ul>\n\n\n\n<p>There are three ways to express a polynomial as an integer: 0x3, 0xC and 0x9.<\/p>\n\n\n\n<p>The first two are mirror images in binary, and represent the constants found in the code. The third is the number described by author&nbsp;Philip Koopman, a professor of electrical and computer engineering at Carnegie Mellon University and CTO of Edge Case Research.<\/p>\n\n\n\n<p>So, for a polynomial, x<sup>4<\/sup>&nbsp;+ x + 1 may be transcribed as shown in Figure 2.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"471\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/Mathematical-representations-of-CRC-4-1024x471.png\" alt=\"Mathematical representations of CRC-4\" class=\"wp-image-7286\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/Mathematical-representations-of-CRC-4-1024x471.png 1024w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/Mathematical-representations-of-CRC-4-300x138.png 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/Mathematical-representations-of-CRC-4-768x353.png 768w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/Mathematical-representations-of-CRC-4-800x368.png 800w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/07\/Mathematical-representations-of-CRC-4.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><strong>Figure 2. Mathematical representations of CRC-4.<\/strong><\/figcaption><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time-approximately:<\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>CRC-4 (Cyclic Redundancy Check 4) is a form of cyclic redundancy checking &#8212; a method of checking for errors in transmitted data &#8212; that is used on E1&nbsp;trunk&nbsp;lines. By Rahul Awati Through multiplication and division processes, the CRC-4&nbsp;bits&nbsp;sent in each SMF are compared to each other. If they match, the frame is considered error-free. Bit 1 is used for the<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/tekmart.co.za\/t-blog\/crc-4-cyclic-redundancy-check-4-a-tech-definition-and-explanation\/\">Read More<\/a><\/p>\n","protected":false},"author":113,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[155,38,292,35,185,4,30,3,56,9,224],"tags":[],"class_list":["post-7285","post","type-post","status-publish","format-standard","hentry","category-batting-for-tech-in-the-covid-19-times","category-best-practices-for-data-center-operations","category-crc-4-cyclic-redundancy-check-4","category-data-center-facilities","category-data-center-hardware-terminology","category-datacenter-news","category-expert-advise-and-opinion","category-industry-news-and-expert-advise","category-it-infrastructure-management-and-planning-data-center-facilities","category-tech-definitions","category-technical-explanations"],"_links":{"self":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/7285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/users\/113"}],"replies":[{"embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/comments?post=7285"}],"version-history":[{"count":2,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/7285\/revisions"}],"predecessor-version":[{"id":7289,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/7285\/revisions\/7289"}],"wp:attachment":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/media?parent=7285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/categories?post=7285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/tags?post=7285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}