Computer Networks (BCA) 5th Sem Previous Year Solved Question Paper 2022

Practice Mode:
3.

Discuss various design issues of data link layer. Explain CRC and Hamming code with example.

Explanation

Design Issues of Data Link Layer:
    1. Framing:
        ◦ Issue: Determining how to delineate frames within the bit stream.
        ◦ Solution: Techniques like character stuffing or bit stuffing.
    2. Error Detection and Correction:
        ◦ Issue: Ensuring data integrity during transmission.
        ◦ Solution: Implementing error-detection codes (e.g., CRC) and error-correction codes (e.g., Hamming code).
    3. Flow Control:
        ◦ Issue: Managing the flow of data between sender and receiver.
        ◦ Solution: Techniques like Stop-and-Wait, Sliding Window.
    4. Addressing:
        ◦ Issue: Establishing how devices on a network are identified.
        ◦ Solution: MAC (Media Access Control) addresses for devices.
    5. Media Access Control:
        ◦ Issue: Controlling access to the shared communication medium.
        ◦ Solution: Protocols like CSMA/CD (Carrier Sense Multiple Access with Collision Detection) in Ethernet.

CRC (Cyclic Redundancy Check):
    • Definition: CRC is an error-checking technique used for detecting errors in data during transmission.
    • Example:
        ◦ Dataword: 110110011
        ◦ Generator Polynomial: 1011 (x^3 + x^2 + 1)

    • Steps:
        1. Append 3 zero bits to the dataword (to match the degree of the generator polynomial).
            ▪ Original Dataword: 110110011
            ▪ Augmented Dataword: 110110011000

Divide the augmented data  word by the generator polynomial (perform binary division).

1011 | 110110011000
     - 1011
       -----
        0110011
        1011
        -----
         010010
         1011
         -----
          001011
          1011
          -----
            01011
            1011
            -----
              00101
              1011
              -----
               0101 (remainder)

    • 
        1. Append the remainder (0101) to the original dataword.
            ▪ Codeword: 1101100110101

    • Verification:
        ◦ If the received codeword is divisible by the generator polynomial without a remainder, the data is likely to be error-free.

Hamming Code:
    • Definition: Hamming codes are a group of error-detecting and error-correcting codes.

    • Example (Hamming(7,4)):
        ◦ Data Bits: 1001
        ◦ Parity Bits: 3 (calculated based on the positions: 1, 2, 4)

    • Steps:
        1. Place data bits at positions 3, 5, 6, and 7. Fill the parity bit positions with zeros initially.

P1  0   1   0   0
P2  0   1   0   1
D3  0   1   1   1
P4  1   1   1   1
D5  0   0   0   1
D6  0   0   0   0
D7  0   0   0   0
Calculate parity bits.
P1 = D3 ⊕ D5 ⊕ D7 = 1
P2 = D3 ⊕ D6 ⊕ D7 = 0
P4 = D5 ⊕ D6 ⊕ D7 = 0

Fill in the parity bits.
P1  1   1   0   0
P2  0   1   0   1
D3  0   1   1   1
P4  1   1   1   1
D5  0   0   0   1
D6  0   0   0   0
D7  0   0   0   0

    • Verification:
        ◦ If any single bit error occurs, the parity check can identify and correct it. For example, if the received codeword is 1101010, the error in position 5 can be detected and corrected.
These error-detection and error-correction techniques are crucial for ensuring reliable data transmission in communication networks.