Notes in Hindi

Error Detection: Introduction to Error Detection in Hindi

Makhanlal Chaturvedi University / BCA / Computer Networks

Error Detection Techniques in Computer Network

Error Detection Techniques in Computer Network

Error Detection वह प्रक्रिया है जिसके माध्यम से Data Link Layer या कभी‑कभार Transport Layer पर भेजे गए data frames/packets में गलती (error) खोजी जाती है। जब भी कोई frame transmission माध्यम (जैसे copper cable, wireless channel) से गुज़रता है, noise या interference की वजह से Bit Error हो सकता है—यानी 0 को 1 या 1 को 0 पढ़ लिया जाता है। इसलिए, भेजने से पहले Error Detection Code (EDC) जेनरेट कर के frame में जोड़ा जाता है और प्राप्त होने पर वही EDC दुबारा गणना करके मिलान किया जाता है। यदि दोनों समान न हों तो माना जाता है कि frame में त्रुटि आ गई है। इस अध्याय में हम चार सबसे लोकप्रिय तरीक़ों—Parity Check, CRC और Checksum—को विस्तार से सीखेंगे। सभी तरीक़ों के पीछे का तर्क सरल हिंदी भाषा में समझाया गया है ताकि शुरुआती छात्र भी आसानी से समझ सकें।

Error Detection: Introduction to Error Detection in Hindi

सबसे पहले यह समझना ज़रूरी है कि Error Detection और Error Correction दो अलग‑अलग चरण हैं। Error Detection का उद्देश्य सिर्फ़ यह पता लगाना है कि data corrupt हुआ है या नहीं; यह data को ठीक (correct) नहीं करता। वास्तविक सुधार (Error Correction) के लिए या तो Automatic Repeat Request (ARQ) जैसी तकनीकें प्रयोग होती हैं, जहाँ receiver दुबारा भेजने का अनुरोध करता है, या फिर Forward Error Correction (FEC) कोड्स, जिनमें अतिरिक्त redundant bits इतनी होती हैं कि receiver स्वयं गलती ठीक कर सके। इस पाठ में हम केवल detection पर ध्यान देंगे।

Error Detection को लागू करते समय निम्नलिखित बिंदुओं पर विचार किया जाता है:

  • कोड कितना सरल है—ताकि hardware या software implementation सस्ती और तेज़ हो।
  • कितने प्रकार की errors को पकड़ सकता है—single‑bit, burst errors इत्यादि।
  • कितना redundancy overhead जोड़ता है—यानी extra bits कितनी बढ़ती हैं।
  • कुल throughput पर प्रभाव—अधिक गणनाएँ link speed कम न कर दें।

Parity Check: Basic Error Detection Method in Hindi

Parity Check सबसे पुरानी और सरल Error Detection तकनीक है। इसमें sender पूरे data word में 1‑bits की गणना करता है और एक अतिरिक्त Parity Bit जोड़ता है। दो प्रकार प्रचलित हैं—Even Parity और Odd Parity:

  • Even Parity — Parity Bit ऐसा चुना जाता है कि अंतिम word में 1‑bits की कुल संख्या even (सम) हो जाए।
  • Odd Parity — Parity Bit ऐसा चुना जाता है कि कुल 1‑bits odd (विषम) रहें।
Data BitsEven Parity BitOdd Parity Bit
10100 (कुल 1 = 2 _even_)1 (कुल 1 = 3 _odd_)
11011 (कुल 1 = 4 _even_)0 (कुल 1 = 3 _odd_)

Receiver भी 1‑bits गिनता है। यदि parity नियम टूट जाए, तो गलती पकड़ ली जाती है। परंतु इस विधि से केवल odd संख्या की bit errors ही पकड़ी जाती हैं; यदि दो bits साथ‑साथ पलट जाएँ, parity फिर से सही दिखेगी और error छूट जाएगी। इसलिए high‑reliability links में Parity Check अकेले प्रयाप्त नहीं होता।

नीचे एक छोटा C कोड उदाहरण है जो 8‑bit data पर Even Parity बनाता है:

#include <stdio.h> unsigned char addEvenParity(unsigned char data) { unsigned char parity = 0; for (int i = 0; i < 8; ++i) parity ^= ((data >> i) & 1); return (data << 1) | parity; /* आख़िर में parity bit जोड़ें */ }

CRC: Cyclic Redundancy Check Method in Hindi

CRC (Cyclic Redundancy Check) आधुनिक digital communication में सबसे अधिक प्रयुक्त Error Detection तकनीक है क्योंकि यह burst errors (लगातार कई bits corrupt) भी मज़बूती से खोज लेती है। Conceptually इसे polynomial code कहा जाता है। हर data frame को एक binary polynomial माना जाता है और एक पूर्व‑निर्धारित Generator Polynomial G(x) से Modulo‑2 Division (बिना carry वाली XOR division) की जाती है। शेषफल (remainder) को CRC bits कहते हैं। Sender इन CRC bits को frame के साथ जोड़ता है।

Receiver वही प्रक्रिया दुहराता है—यदि division का remainder शून्य आ जाए तो frame “error‑free” स्वीकार किया जाता है, अन्यथा discard या ARQ trigger हो जाता है। CRC इस प्रकार define किया जाता है कि:

  • Single‑bit error अवश्य पकड़े जाएँ।
  • Double‑bit error भी पकड़ने की उच्च संभावना रहे।
  • k‑bit burst error तब तक detect हो जब तक burst length ≤ degree(G(x))

कुछ सामान्य Generator Polynomials:

नामPolynomial G(x)Bits (deg)उपयोग
CRC‑8x8 + x2 + x + 18ATM cells, छोटे sensors
CRC‑16‑IBMx16 + x15 + x2 + 116PPP Frame Check Sequence
CRC‑32x32 + x26 + … + 132Ethernet, ZIP files

CRC गणना का सरल C‑जैसा pseudo code:

uint32_t crc32(uint8_t *data, size_t len) { uint32_t crc = 0xFFFFFFFF; while (len--) { crc ^= *data++; for (int i = 0; i < 8; ++i) crc = (crc & 1) ? (crc >> 1) ^ 0xEDB88320 : crc >> 1; } return ~crc; /* final inverted remainder */ }

इस प्रक्रिया में XOR ही प्रमुख operation है, इसलिए hardware में इसे Linear Feedback Shift Register (LFSR) के रूप में तेज़ी से बनाया जा सकता है, जबकि software में bit‑wise loop या lookup टेबल तकनीकें काम आती हैं। CRC का detection power इतना अच्छा है कि अधिकांश network protocols — जैसे Ethernet II, HDLC, CAN Bus, SATA — इसे लागू करते हैं।

Checksum: Error Detection Using Checksum in Hindi

Checksum मुख्यतः Transport Layer (TCP, UDP) या कुछ higher‑level file formats (BMP, ISO, Intel HEX) में प्रयुक्त होता है। सिद्धांत सरल है: data को words (आमतौर पर 16‑bit या 32‑bit) में विभाजित करके उनका 1’s Complement Sum लिया जाता है। अंतिम चरण में यदि carry out बनता है तो उसे least‑significant bits में wrap‑around कर दिया जाता है; प्राप्त योग के 1’s complement को Checksum Field में स्टोर किया जाता है।

उदाहरण — मान लीजिए हमारे पास चार 16‑bit words हैं:

  • 0x3C01
  • 0x1A0B
  • 0xBB45
  • 0xFF02

सभी को जोड़ा — 0x3C01 + 0x1A0B + 0xBB45 + 0xFF02 = 0x1A5F3
wrap‑around carry जोड़ने पर 0xA5F3 मिला। इसका 1’s complement 0x5A0C हमारा Checksum है। Receiver वही पूर्ण जोड़ + wrap‑around + complement प्रक्रिया करके यदि परिणाम 0x0000 पाए तो data सही माना जाएगा।

Checkpoint: Checksum Parity से बेहतर है क्योंकि multiple‑bit combinations भी पकड़ सकती है, पर CRC की तरह विस्तृत गणितीय सुरक्षा नहीं देती। TCP Checksum का उद्देश्य basic safeguard है; real‑time link‑level CRC पहले ही बड़े पैमाने पर errors रोक चुका होता है।

uint16_t tcp_checksum(uint16_t *buf, size_t words) { uint32_t sum = 0; while (words--) sum += *buf++; /* wrap‑around carry */ sum = (sum & 0xFFFF) + (sum >> 16); sum += (sum >> 16); /* दूसरी बार, यदि फिर carry बने */ return ~sum; /* 1's complement */ }

Practical Considerations in Hindi

नीचे कुछ व्यावहारिक दिशानिर्देश हैं जिनसे विद्यार्थी यह तय कर सकते हैं कि किस वातावरण में कौन‑सा Error Detection तरीका उपयुक्त रहेगा:

  • Embedded Sensors जहाँ memory/computation सीमित है — Parity Check पर्याप्त हो सकता है।
  • High‑speed LANs (Ethernet 1 Gbps+) — CRC‑32 अनिवार्य है क्योंकि frame साइज़ बड़ा और bit error burst की संभावना अधिक है।
  • Internet Transport — TCP Checksum अतिरिक्त सुरक्षा‑परत है; underlying link‑layer CRC पहले से enable रहता है।
  • Mission‑critical Control Bus (CAN, FlexRay) — CRC‑15 या CRC‑17 विशेष रूप से define किए जाते हैं ताकि automotive safety मानकों का पालन हो।

इन सभी तकनीकों का मक़सद एक ही है—आपके data को गंतव्य तक बिना corruption के पहुँचाना। सही Error Detection को चुनने के लिए link characteristics, hardware क्षमता और आवश्यक reliability स्तर का विश्लेषण करना अनिवार्य है।

FAQs

Error Detection एक तकनीक है जिसका उपयोग data transmission के दौरान हुई errors को पहचानने के लिए किया जाता है। यह process यह सुनिश्चित करती है कि भेजा गया data receiver तक सही और बिना किसी गड़बड़ी के पहुँचे।
Parity Check एक simple Error Detection method है जिसमें data bits की parity (odd या even) check की जाती है। इसमें एक अतिरिक्त parity bit जोड़ी जाती है ताकि पता चल सके कि transmission के दौरान कोई bit corrupt हुई है या नहीं।
CRC (Cyclic Redundancy Check) एक advanced Error Detection technique है जिसमें data को polynomial की तरह treat करके एक खास प्रकार का remainder निकाला जाता है। यह remainder receiver द्वारा दोबारा check किया जाता है ताकि पता चले कि data में कोई गलती हुई है या नहीं।
Checksum एक गणितीय विधि है जो data को छोटे-छोटे blocks में divide करके उनका योग (sum) निकालती है। इस योग का एक विशेष रूप (1’s complement) checksum के रूप में भेजा जाता है, जिससे receiver verify करता है कि data सही है या नहीं।
नेटवर्क communication के लिए CRC सबसे प्रभावशाली और विश्वसनीय Error Detection विधि मानी जाती है, क्योंकि यह burst errors तक को detect करने की क्षमता रखती है और high-speed systems में भी कुशलता से काम करती है।

Please Give Us Feedback