Data link layer is responsible for something called Framing, which is the division of stream of bits from network layer into manageable units (called frames). Frames could be of fixed size or variable size. In variable-size framing, we need a way to define the end of the frame and the beginning of the next frame.
Bit stuffing is the insertion of non information bits into data. Note that stuffed bits should not be confused with overhead bits. Overhead bits are non-data bits that are necessary for transmission (usually as part of headers, checksums etc.).
Applications of Bit Stuffing –
- synchronize several channels before multiplexing
- rate-match two single channels to each other
- run length limited coding
Run length limited coding – To limit the number of consecutive bits of the same value(i.e., binary value) in the data to be transmitted. A bit of the opposite value is inserted after the maximum allowed number of consecutive bits.
Bit stuffing technique does not ensure that the sent data is intact at the receiver side (i.e., not corrupted by transmission errors). It is merely a way to ensure that the transmission starts and ends at the correct places.
Disadvantages of Bit Stuffing –
The code rate is unpredictable; it depends on the data being transmitted.
Example of bit stuffing –
Bit sequence: 110101111101011111101011111110 (without bit stuffing)
Bit sequence: 110101111100101111101010111110110 (with bit stuffing)
After 5 consecutive 1-bits, a 0-bit is stuffed. Stuffed bits are marked bold.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Difference between Byte stuffing and Bit stuffing
- Bit Stuffing error detection technique using Java
- Implementing Byte Stuffing using Java
- Basic Network Attacks in Computer Network
- Difference between Storage Area Network (SAN) and Network Attached Storage (NAS)
- Differences between Wireless Adhoc Network and Wireless Sensor Network
- Difference between Next Generation Network and Traditional Network
- Difference between Software Defined Network and Traditional Network
- Computer Network | Leaky bucket algorithm
- HMAC Algorithm in Computer Network
- Introduction of Firewall in Computer Network
- Circuit Switching in Computer Network
- Packet Switching and Delays in Computer Network
- Routing v/s Routed Protocols in Computer Network
- Collision Domain and Broadcast Domain in Computer Network
- Difference between Unicast, Broadcast and Multicast in Computer Network
- Introduction of MAC Address in Computer Network
- Unicode in Computer Network
- Types of Server Virtualization in Computer Network
- Hamming Code in Computer Network
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.