Computer Network - 1

 AIM- Write a program to implement various framing

             techniques.


               Bit Stuffing

def bitstuff(flag,data):

    count = 0

    ans = ""

    ones=0

    for i in flag:

        if i=='1':

            ones+=1

    for i in data:

        if i=='1':

            count+=1

            ans += i

        else:

            count=0

            ans+=i

        if count==ones-1:

            count=0

            ans+='0'

            

    frame = flag+ans+flag

    return frame


# Unstuffing

def bitunstuff(flag,frame):

    n = len(flag)

    frame = frame[n:len(frame)-n]

    ones=0

    for i in flag:

        if i=='1':

            ones+=1

    temp = ""

    count1=0

    for i in frame:

        if i=='1':

            count1+=1

            temp+=i

        elif count1==ones-1:

            count1=0

        elif i=='0':

            count1=0

            temp+=i

    return temp


flag = input("Enter flag:")

data = input("Enter data: ")

frame1 = bitstuff(flag,data)

print("Bit stuffing",frame1)

data1 = bitunstuff(flag,frame1)

print("Unstuffing",data1)





Byte Stuffing


flag = input("Enter flag:")

esc= input("Enter esc: ")

data = input("Enter data: ")


#Byte stuffing

data = data.replace(esc,esc+esc)

data = data.replace(flag,esc+flag)

data = flag+data+flag

print("Byte stuffing:",data)


# Unstuffing

data = data[len(flag):len(data)-len(flag)]

data = data.replace(esc+esc,esc)

data = data.replace(esc+flag,flag)

print("Unstuffing:",data)




Comments

Popular posts from this blog

Computer Architecture and Organization - 4

Design and Analysis of Algorithms - 2

Design and Analysis of Algorithms - 6

Design and Analysis of Algorithms - 1

Artificial Intelligence - 7