0% found this document useful (0 votes)
454 views

Data Communications and Networking Lab File

The document contains a lab file for experiments conducted on data communication and networking. It includes 8 experiments with aims, code snippets, and outputs for each experiment. The experiments cover topics like bit stuffing and destuffing, determining IP address classes, translating IP addresses between dotted decimal and binary formats, and implementing wiring configurations and algorithms like Dijkstra's shortest path algorithm.

Uploaded by

Anshul Gera
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
454 views

Data Communications and Networking Lab File

The document contains a lab file for experiments conducted on data communication and networking. It includes 8 experiments with aims, code snippets, and outputs for each experiment. The experiments cover topics like bit stuffing and destuffing, determining IP address classes, translating IP addresses between dotted decimal and binary formats, and implementing wiring configurations and algorithms like Dijkstra's shortest path algorithm.

Uploaded by

Anshul Gera
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 19

Data Communications

And Networking
LAB FILE

AMITY SCHOOL OF ENGINEERING & TECHNOLOGY

AMITY UNIVERSITY

NOIDA (U.P.)

2008 – 2012

NAME: RISHAB NIGAM

CLASS/SEC: 5IT2 Y

ENROL NO: A2305308135

Index
Sno Experiment Date Sign
1. To Establish a Straight Through Configuration For
LAN
2. To Establish a Cross Over Configuration For LAN

3. To Establish a Roll Over Configuration For LAN

4. To Perform 8 Bit Stuffing and Destuffing

5. To Determine Whether IP address is in class A,B,C,D


or E
6. To translate dotted decimal IP address to 32 bit binary
number
7. To generate Hamming Code

8. To Implement the Dijkstra’s algorithm to find the


shortest path

EXPERIMENT NO.-1
AIM : Write a C++ program to perform bit stuffing and de-stuffing.

CODE:

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main()
{
clrscr();
int a[20],i=0,k=0,count=0; //count is a variable to count the number of 1's.
cout<<"Enter the elements of the array(in 1's and 0's form)";
for(i=0;i<10;i++)
cin>>a[i];
cout<<"\n The array entered is";
for(i=0;i<10;i++)
cout<<a[i];
i=0;
while(i!=9) // Performing Bit-Stuffing.
{
if(a[i]==1)
{
i++;
count++;
if(count==5)

for(k=11;k>i;k--)
a[k]=a[k-1];
a[i]=0;
}
}
else
{
i++;
count=0;
}
}
cout<<"\n"<<"The array after stuffing is: ";
for(i=0;i<=10;i++)
cout<<a[i];
cout<<"\n"<<"The array after destuffing is: ";
i=0;
while (i<10) // Performing Destuffing.
{
if(a[i]==1)
{
i++;
count++;
if(count==5)
{
for(k=i;k<11;k++)
a[k]=a[k+1];

}
}
else
{
i++;
count=0;
}
}
for(i=0;i<10;i++)
cout<<a[i];
getch();
}

OUTPUT:-
Enter the elements of the array(in 1’s and 0’s form)1
1
1
1
1
1
0
0
1
0
The array entered is 1111110010
The array after stuffing is: 11111010010
The array after destuffing is: 1111110010

EXPERIMENT NO.-2
AIM: Write a C++ program to determine if the IP address is in Class A, B, C, D, or E.

CODE:

// To determine if the IP address is in Class A, B, C, D or E.


#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main()
{
clrscr();
int a[4],i=0;
cout<<"Enter The IP address";
for(i=0;i<4;i++)
cin>>a[i];
cout<<"\n IP ADDRESS:"<<a[0]<<"."<<a[1]<<"."<<a[2]<<"."<<a[3]<<"\n";
cout<<"The IP address is in Class: ";
if(a[0]>=0 && a[0]<=127)
cout<<"Class A";
if(a[0]>127 && a[0]<191)
cout<<"Class B";
if(a[0]>191 && a[0]<224)
cout<<"Class C";
if(a[0]>224 && a[0]<=239)
cout<<"Class D";
if(a[0]>239)
cout<<"Class E";

getch();
}

OUTPUT:

Enter The IP address128


65
96
215
IP ADDRESS: 128.65.96.215
The IP address is in Class: Class B

EXPERIMENT NO.-3
AIM: Write a C++ program to determine if the IP address is in Class A, B, or C.

CODE:

// To determine if the IP adress is in Class A, B, or C.


#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main()
{
clrscr();
int a[4],i=0;
cout<<"Enter The IP adress";
for(i=0;i<4;i++)
cin>>a[i];
if(a[0]>=0 && a[0]<=127)
cout<<"Class A";
if(a[0]>127 && a[0]<191)
cout<<"Class B";
if(a[0]>191)
cout<<"Class C";
cout<<"\nIP ADRESS:"<<a[0]<<"."<<a[1]<<"."<<a[2]<<"."<<a[3];
getch();
}

OUTPUT:

Enter The IP address12


65
96
215
IP ADDRESS: 12.65.96.215
The IP address is in Class: Class A

EXPERIMENT NO.-4
AIM: Write a C++ program to translate dotted decimal IP address into 32 bit address.

CODE:

//Write a program to translate dotted decimal IP address into 32 bit address


#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int i,j,a[4],bin[8]={128,64,32,16,8,4,2,1};
cout<<"Enter the ip address";
for(i=0;i<4;i++)
cin>>a[i];
cout<<"The ip address is:-"<<a[0]<<"."<<a[1]<<"."<<a[2]<<"."<<a[3]<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
if (a[i]&bin[j])
cout<<1;
else
cout<<0;
}
cout<<".";
}
getch();

OUTPUT:

Enter the ip address123


32
68
7
The ip address is:-123.32.68.7
The IP address in binary form is:-
01111011.00100000.01000100.00000111

EXPERIMENT NO.-5
AIM: To establish straight configuration for LAN.

EQUIPMENTS REQUIRED:-

1) 2 RJ -45 connectors

2) Twisted pair cable

3) Gripping or Crimping tool

4) SLT-Tool

Colour Coding:-

1. Orange white

2. Orange

3. Green white

4. Blue

5. Blue white

6. Green

7. Brown white

8. Brown

Straight Configuration:- 1---------------------------------------------1


2---------------------------------------------2
3---------------------------------------------3
4---------------------------------------------4
5---------------------------------------------5
6---------------------------------------------6
7---------------------------------------------7
8---------------------------------------------8

PROCEDURE:-
The outer covering of the wire is peeled off and according to requirement the wires are inserted
in RJ-45 connector and punched with the help of punching tool after punching the wire is tested
with SLT( Side locator tool).

RESULT:-

The straight wiring for the LAN has been established and tested using SLT tool.

USE:-

This type of wiring is used for connecting to PC or Hub.

EXPERIMENT NO.-6
AIM: To establish rollover configuration for LAN.

EQUIPMENTS REQUIRED:-

1) 2 RJ -45 connectors

2) Twisted pair cable

3) Gripping or Crimping tool

4) SLT-Tool

Colour Coding:-

1. Orange white

2. Orange

3. Green white

4. Blue

5. Blue white

6. Green

7. Brown white

8. Brown

Rollover Configuration:- 1---------------------------------------------8


2---------------------------------------------7
3---------------------------------------------6
4---------------------------------------------5
5---------------------------------------------4
6---------------------------------------------3
7---------------------------------------------2
8---------------------------------------------1

PROCEDURE:-
The outer covering of the wire is peeled off and according to requirement the wires are inserted
in RJ-45 connector and punched with the help of punching tool after punching the wire is tested
with SLT( Side locator tool).

RESULT:-
The rollover wiring for the LAN has been established and tested using SLT tool.

USE:-
This type of wiring is used for configuration of the router.

EXPERIMENT NO.-7
AIM: To establish crossover configuration for LAN.

EQUIPMENTS REQUIRED:-

1) 2 RJ -45 connectors

2) Twisted pair cable

3) Gripping or Crimping tool

4) SLT-Tool

Colour Coding:-

1. Orange white

2. Orange

3. Green white

4. Blue

5. Blue white

6. Green

7. Brown white

8. Brown

Crossover Configuration:- 1---------------------------------------------3


2---------------------------------------------6
3---------------------------------------------1
4---------------------------------------------4
5---------------------------------------------5
6---------------------------------------------2
7---------------------------------------------7
8---------------------------------------------8

PROCEDURE:-
The outer covering of the wire is peeled off and according to requirement the wires are inserted
in RJ-45 connector and punched with the help of punching tool after punching the wire is tested
with SLT (Side locator tool).

RESULT:-

The crossover wiring for the LAN has been established and tested using SLT tool.

USES:

This type of wiring is used for connecting PC to another PC.


EXPERIMENT NO.-8
AIM: To generate hamming code.

CODE:

#include <iostream.h>
#include<conio.h>
void main ( )
{
int a0, a1, a2, a3, b0, b1, b2, b3, r0, r1, r2, s0, s1, s2, q0, q1, q2, q3;
cout<< "Enter the word\n";
cin>>a3>>a2>>a1>>a0;
r0= (a0+a1+a2) %2;
r1= (a1+a2+a3) %2;
r2= (a0+a1+a3) %2;
cout <<"The code at sender is: "<<a3<<a2<<a1<<a0<<r2<<r1<<r0;
cout<<"\n Enter the code at receiver:\n";
cin>>b3>>b2>>b1>>b0>>q2>>q1>>q0;
cout<<"b3="<<b3<<",b2="<<b2<<",b1="<<b1<<",b0="<<b0<<",q2="<<q2<<",q1="<<q1<<",
q0="<<q0;
s0= (b2+b1+b0+q0) %2;
s1= (b3+b2+b1+q1) %2;
s2= (b1+b0+b3+q2) %2;
cout<<"\n"<<"s2="<<s2<<",s1="<<s1<<",s0="<<s0;
if ( s2==0 && s1==0 && s0==0 )
cout << "\n No Error";
else if ( s2==0 && s1==0 && s0==1 )
cout << "\n Error at q0";

else if ( s2==0 && s1==1 && s0==0 )


cout << "\n Error at q1";
else if ( s2==0 && s1==1 && s0==1 )
cout << "\n Error at b2";
else if ( s2==1 && s1==0 && s0==0 )
cout << "\n Error at q2";
else if ( s2==1 && s1==0 && s0==1 )
cout << "\n Error at b0";
else if ( s2==1 && s1==1 && s0==0 )
cout << "\n Error at b3";
else if ( s2==1 && s1==1 && s0==1 )
cout << "\n Error at b1";
getch();
clrscr();
}
OUTPUT:
Enter the word
1
1
0
1
The code at sender is: 1101000
Enter the code at receiver:1
0
1
1
0
1
0
b3=1,b2=0,b1=1,b0=1,q2=0,q1=1,q0=0
s2=1,s1=1,s0=0
Error at b3
EXPERIMENT NO.-9
AIM: Write a C++ program to implement the Dijkstra Algorithm to find shortest path.

CODE:

// To implement Dijkstra’s Algorithm.


#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<string.h>
#include<math.h>
#define IN 99
#define N 6
int dijkstra(int cost[][N],int source,int target);
void main()
{
int cost[N][N],i,j,w,ch,co;
int source,target,x,y;
clrscr();
printf("Shortest path algorithm DIJKSTRA'S ALGORITHM \n\n");
for(i=1;i<N;i++)
{
for(j=1;j<N;j++)

{
cost[i][j]=IN;
}
}
for(x=1;x<N;x++)
{
for(y=x+1;y<N;y++)
{
printf("Enter the weight of the path between node %d and %d:",x,y);
scanf("%d",&w);
cost[x][y]=cost[y][x]=w;
}
printf("\n");
}
printf("\n Enter the source:");
scanf("%d",&source);
printf("\n Enter the target");
scanf("%d",&target);
co=dijsktra(cost,source,target);
printf("\n shortest path:%d",co);
getch();
}
int dijsktra(int cost[][N],int source,int target)

{
int dist[N],prev[N],selected[N]={0},i,m,min,start,d,j;
char path[N];
for(i=1;i<N;i++)
{
dist[i]=IN;
prev[i]=-1;
}
start=source;
selected[start]=1;
dist[start]=0;
while(selected[target]==0)
{
min=IN;m=0;
for(i=1;i<N;i++)
{
d=dist[start]+cost[start][i];
if(d<dist[i] && selected[i]==0)
{
dist[i]=d;
prev[i]=start;
}
if(min>dist[i] && selected[i]==0)

{
min=dist[i];
m=i;
}
}
start=m;
selected[start]=1;
}

start=target;
j=0;
while(start!=-1)
{
path[j++]=start+65;
start=prev[start];
}
path[j]='\0';
strrev(path);
printf("%s",path);
return dist[target];
}

OUTPUT:

Shortest path algorithm DIJKSTRA'S ALGORITHM


Enter weight of the path between node 1 and 2:2
Enter weight of the path between node 1 and 3:1
Enter weight of the path between node 1 and 4:4
Enter weight of the path between node 1 and 5:5
Enter weight of the path between node 2 and 3:5
Enter weight of the path between node 2 and 4:2
Enter weight of the path between node 2 and 5:3
Enter weight of the path between node 3 and 4:1
Enter weight of the path between node 3 and 4:4
Enter weight of the path between node 4 and 5:5
Enter the source:2
Enter the target:4
CE
Shortest path:2

You might also like