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