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
Post a Comment