Notes in Hindi

Framing: Concept and Purpose of Framing in Data-Link Control in Hindi

Makhanlal Chaturvedi University / BCA / Computer Networks

Framing and Flow Control in Data-Link Control in Hindi

Data‑Link Layer का मुख्य लक्ष्य दो directly जुड़े हुए नोड्स के बीच reliable data transfer देना है। इसके लिए दो सबसे महत्त्वपूर्ण तकनीकों—Framing और Flow Control—का प्रयोग होता है। इस लेख में हम इन दोनों को बहुत सरल, स्टेप‑बाय‑स्टेप और beginner friendly भाषा में समझेंगे, ताकि आप ना केवल उनके कॉन्सेप्ट्स grasp करें बल्कि उन्हें अपने networking या computer science के प्रैक्टिकल प्रोजेक्ट्स में भी आसानी से लागू कर सकें।

Framing: Concept and Purpose of Framing in Data-Link Control in Hindi

जब भी हम किसी दो नोड्स के बीच raw bit stream भेजते हैं, receiver के लिए यह तय कर पाना मुश्किल होता है कि कब एक संदेश खत्म हुआ और कब नया शुरू। यही समस्या हल करने के लिए Framing का अविष्कार किया गया। Frame मूल रूप से bits का एक संगठित समूह है, जिसमें हेडर, payload और trailer होता है। हेडर में addressing, type field इत्यादि होते हैं, जबकि trailer अकसर error detection चेकसम लेता है। हर Frame के आरंभ और अंत को पहचानने के कई तरीके हैं जिन्हें हम अगली section में देखेंगे।

  • Framing data integrity बढ़ाता है क्योंकि receiver बिटों की सही सीमा (boundaries) जानता है।
  • यह error isolation में मदद करता है; अगर एक frame corrupt है, तो केवल उसी को दोबारा भेजना पड़ता है, पूरी स्ट्रीम नहीं।
  • Frames synchronization आसान बनाते हैं, जिससे medium पर collision domain या interference की स्थिति में भी recovery सरल हो जाती है।

Framing Techniques: Character and Bit Stuffing in Hindi

दो classical framing techniques हैं—Character Stuffing और Bit Stuffing। दोनों का उद्देश्य flag pattern को data से अलग करना है ताकि receiver सही frame सीमा पढ़ सके।

विशेषता (Feature) Character Stuffing Bit Stuffing
Flag Pattern सामान्यतः ESC और FLAG bytes का प्रयोग निश्चित 6‑bit या 8‑bit pattern (जैसे 01111110)
माध्यम (Medium) Text‑based protocols (उदा. PPP का पुराना संस्करण) Binary data लिंक (HDLC, CAN इत्यादि)
Overhead प्रत्येक ESC के बाद एक extra byte हर पाँच continuous 1s के बाद एक 0 insert
Pros Implementation सरल, मानव पढ़ने योग्य Data type agnostic, binary‑safe
Cons Non‑binary friendly, ज्यादा byte overhead Processing intensive, bit‑by‑bit scan

Character Stuffing में यदि data में ESC या FLAG आता है, तो transmitter उसके आगे एक extra ESC byte लगा देता है। Receiver दो continuous ESC देखकर समझ जाता है कि यह actual data है, कोई frame flag नहीं।

Bit Stuffing का algorithm थोड़ा computational है पर binary links के लिए अधिक उपयोगी है। नियम सरल है: transmitter हर बार जब पाँच continuous 1 bits भेजता है, वह अपने आप एक 0 bit भी insert कर देता है। Receiver इसी pattern को पहचान कर वह अतिरिक्त 0 drop कर देता है। ऐसा करने से कभी भी सात continuous 0 अथवा 1 का flag pattern डेटा में natural form में नहीं बन पाता।

/* Bit Stuffing Algorithm – Sender Side (Pseudo‑C) */ void transmitWithBitStuffing(uint8_t *data, size_t len) { int oneCount = 0; sendFlag(); // 0x7E for (size_t i = 0; i < len; ++i) { for (int bit = 7; bit >= 0; --bit) { bool b = (data[i] >> bit) & 1; sendBit(b); // actual bit transmit if (b) { oneCount++; if (oneCount == 5) { sendBit(0); oneCount = 0; } // Stuff 0 } else { oneCount = 0; } } } sendFlag(); }

Flow Control: Meaning of Flow Control in Data-Link Control in Hindi

Flow Control वह प्रक्रिया है जिसके द्वारा sender और receiver के बीच data rate का समन्वय (coordination) रखा जाता है, ताकि किसी भी पक्ष का buffer overflow न हो। सोचिए अगर sender बहुत तेजी से Frames भेज दे और receiver धीरे‑धीरे प्रोसेस करे—buffer भरने पर data lost हो सकता है। Flow Control यही सुनिश्चित करता है कि network link congestion‑free रहे और retransmission कम से कम हो।

  • यह half‑duplex (दोनों दिशाओं में alternate) और full‑duplex (simultaneous) दोनों तरह के लिंक पर लागू होता है।
  • Modern protocols (TCP भी) upper layers पर Sliding Window जैसी ही approach use करते हैं, जिससे आप देख सकते हैं कि Data‑Link Layer की concepts higher layers तक extend होती हैं।

Flow Control Methods: Stop-and-Wait and Sliding Window in Hindi

Flow Control implement करने के दो प्रमुख तरीक़े हैं—Stop‑and‑Wait और Sliding Window। दोनों ही ACK (Acknowledgement) संदेशों पर निर्भर करते हैं, पर उनके ऑपरेशन के तरीके अलग हैं।

विशेषता Stop‑and‑Wait Sliding Window
Working Principle एक Frame भेजो → ACK का इंतज़ार करो → अगला frame N frames (window size) भेजो → cumulative ACKs
Throughput Low, propagation delay का बड़ा असर High, link हमेशा busy रखा जा सकता है
Complexity Implementation extremely simple Sequence Number handling, window management
Error Recovery Timer per frame; lost ACK पर same frame retransmit Selective Repeat या Go‑Back‑N strategies उपयोग
Memory Requirement Minimal (सिर्फ एक buffer) Multiple frame buffers sender/receiver दोनों पर
/* Simplified Stop‑and‑Wait Sender */ while (hasMoreFrames()) { sendFrame(current); startTimer(); if (waitForAckOrTimeout()) { current = nextFrame(); } else { /* timeout -> retransmit same frame */ continue; } }

Stop‑and‑Wait छोटे embedded links, sensor networks इत्यादि में आज भी उपयोगी है क्योंकि hardware simplicity प्राथमिकता होती है। इसके विपरीत, Sliding Window आज के high‑speed WANs और Ethernet‑based MANs में आवश्यक है, जहाँ bandwidth utilization critical है।

Sliding Window में window size sender द्वारा एक dynamic variable की तरह adjust किया जा सकता है—congestion control का आधार यही है। Receiver प्रत्येक frame के साथ sequence number चेक करता है और cumulative ACK भेजता है। अगर कोई frame corrupt या lost हो जाए, तो दो strategies हैं:

  • Go‑Back‑N – receiver missing frame detect होते ही अगले सभी frames discard कर देता है; sender उसी missing number से पुनः transmit करता है।
  • Selective Repeat – सिर्फ वही corrupt या lost frames दोबारा भेजे जाते हैं; बाकी सही frames buffer में बने रहते हैं।

Window size चुनते समय दो practical factors देखें: bandwidth‑delay product (जितना बड़ा product उतनी large window) और hardware buffer limits। Modern links में typically 64, 128 या 512 frames तक की windows देखने को मिलती हैं।

FAQs

Framing एक तकनीक है जो Data-Link Layer में raw bits को छोटे-छोटे structured blocks यानी frames में विभाजित करती है। इससे receiver यह समझ पाता है कि data कब शुरू हुआ और कब खत्म। यह communication को reliable बनाती है।
Bit Stuffing एक method है जिसमें continuous 5 '1' bits के बाद एक '0' bit डाली जाती है, ताकि frame boundary को सही तरह से identify किया जा सके। यह तकनीक HDLC जैसे binary protocols में use होती है।
Flow Control एक ऐसा mechanism है जो sender और receiver के बीच data के flow को regulate करता है, ताकि receiver के पास data overflow न हो और communication smooth बना रहे।
Stop-and-Wait एक सरल flow control method है जिसमें sender एक frame भेजने के बाद receiver की ACK का इंतज़ार करता है। उसके बाद ही अगला frame भेजा जाता है।
Sliding Window एक advanced flow control technique है जिसमें एक साथ कई frames भेजे जाते हैं। Receiver एक sequence number के माध्यम से frames को identify करता है और ACK भेजता है। इससे throughput बेहतर होता है।

Please Give Us Feedback