Computer Networks File: Name: Ritwik Roll No: 2017UIT2542
Computer Networks File: Name: Ritwik Roll No: 2017UIT2542
FILE
Name : Ritwik
Roll no : 2017UIT2542
1.OSI Model
#include<iostream>
#include<graphics.h>
int main()
int gd,gm;
gd = DETECT;
initgraph(&gd,&gm,"");
int i,j;
delay(2000);
outtextxy(90,30,"Sender");
delay(500);
setcolor(6);
for(i=50;i<=350;i+=50)
rectangle(200,i,50,i+30);
rectangle(100,i+30,140,i+40);
if(i>=300)
rectangle(140,i+30,180,i+40);
delay(500);
setcolor(10);
outtextxy(70,60,"Application");
delay(500);
outtextxy(70,110,"Presentation");
delay(500);
outtextxy(70,160,"Session");
delay(500);
outtextxy(70,210,"Transport");
delay(500);
outtextxy(70,260,"Network");
delay(500);
outtextxy(70,310,"Data Link");
delay(500);
outtextxy(70,360,"Physical");
delay(500);
setcolor(15);
outtextxy(390,30,"Receiver");
delay(500);
setcolor(8);
outtextxy(105,82,"h1");
delay(500);
outtextxy(105,132,"h2");
delay(500);
outtextxy(105,182,"h3");
delay(500);
outtextxy(105,232,"h4");
delay(500);
outtextxy(105,282,"h5");
delay(500);
outtextxy(105,332,"h6");
outtextxy(145,332,"t6");
delay(500);
outtextxy(105,382,"h7");
outtextxy(145,382,"t7");
delay(500);
setcolor(15);
outtextxy(390,30,"Receiver");
delay(500);
setcolor(6);
for(i=50;i<=350;i+=50)
rectangle(350,i,500,i+30);
rectangle(400,i+30,440,i+40);
if(i>=300)
rectangle(440,i+30,480,i+40);
delay(500);
setcolor(10);
outtextxy(370,60,"Application");
delay(500);
outtextxy(370,110,"Presentation");
delay(500);
outtextxy(370,160,"Session");
delay(500);
outtextxy(370,210,"Transport");
delay(500);
outtextxy(370,260,"Network");
delay(500);
outtextxy(370,310,"Data Link");
delay(500);
outtextxy(370,360,"Physical");
delay(500);
setcolor(8);
outtextxy(405,82,"h1");
delay(500);
outtextxy(405,132,"h2");
delay(500);
outtextxy(405,182,"h3");
delay(500);
outtextxy(405,232,"h4");
delay(500);
outtextxy(405,282,"h5");
delay(500);
outtextxy(405,332,"h6");
outtextxy(445,332,"t6");
delay(500);
outtextxy(405,382,"h7");
outtextxy(445,382,"t7");
delay(500);
// sender Lines
line(120,80,120,100);
delay(500);
line(120,130,120,150);
delay(500);
line(120,180,120,200);
delay(500);
line(120,230,120,250);
delay(500);
line(120,280,120,300);
delay(500);
line(120,330,120,350);
delay(500);
line(120,380,120,400);
delay(500);
// Physical Connection
line(120,400,420,400);
// Receiver Lines
line(420,380,420,400);
delay(500);
line(420,330,420,350);
delay(500);
line(420,280,420,300);
delay(500);
line(420,230,420,250);
delay(500);
line(420,180,420,200);
delay(500);
line(420,130,420,150);
delay(500);
line(420,80,420,100);
delay(500);
return 0;
2. Networking commands
Ifconfig
ifconfig utility is used to configure network interface parameters. Mostly we use this command
to check the IP address assigned to the system.
traceroute
traceroute print the route packets take to network host. Destination host or IP is mandatory
parameter to use this utility .
ping
PING (Packet INternet Groper) command is the best way to test connectivity between two
nodes. Whether it is Local Area Network (LAN) or Wide Area Network (WAN). Ping use ICMP
(Internet Control Message Protocol) to communicate to other devices.
netstat
Netstat (Network Statistic) command display connection info, routing table information etc. To
displays routing table information use option as -r.
dig
Dig (domain information groper) query DNS related information like A Record, CNAME, MX
Record etc. This command mainly use to troubleshoot DNS related query.
nslookup
nslookup command also use to find out DNS related query.
route
route command also shows and manipulate ip routing table.
host
host command to find name to IP or IP to name in IPv4 or IPv6 and also query DNS records.
arp
ARP (Address Resolution Protocol) is useful to view / add the contents of the kernel’s ARP
tables
3.Parity check
# include<bits/stdc++.h>
// parity
int getParity(string s)
int p=0;
for(int i=0;i<s.length();i++)
if(s[i]=='1')
p++;
return p;
int main()
{ string s1,s2;
cin>>s1;
cin>>s2;
if(getParity(s1)==getParity(s2))
cout<<"There is no error";
else
return 0;
}
4.CRC
#include <iostream>
int main()
int i,j,k,l;
//Get Frame
int fs;
cin>>fs;
int f[20];
for(i=0;i<fs;i++)
cin>>f[i];
//Get Generator
int gs;
cin>>gs;
int g[20];
for(i=0;i<gs;i++)
cin>>g[i];
for(i=0;i<fs;i++)
cout<<f[i];
for(i=0;i<gs;i++)
{
cout<<g[i];
//Append 0's
int rs=gs-1;
for (i=fs;i<fs+rs;i++)
f[i]=0;
int temp[20];
for(i=0;i<20;i++)
temp[i]=f[i];
for(i=0; i<fs+rs;i++)
cout<<temp[i];
//Division
for(i=0;i<fs;i++)
j=0;
k=i;
for(j=0,k=i;j<gs;j++,k++)
temp[k]=0;
else
temp[k]=1;
//CRC
int crc[15];
for(i=0,j=fs;i<rs;i++,j++)
crc[i]=temp[j];
for(i=0;i<rs;i++)
cout<<crc[i];
for(i=0;i<fs;i++)
tf[i]=f[i];
for(i=fs,j=0;i<fs+rs;i++,j++)
tf[i]=crc[j];
for(i=0;i<fs+rs;i++)
cout<<tf[i];
for(i=0;i<fs+rs;i++)
cout<<tf[i];
for(i=0;i<fs+rs;i++)
temp[i]=tf[i];
//Division
for(i=0;i<fs+rs;i++)
j=0;
k=i;
if (temp[k]>=g[j])
for(j=0,k=i;j<gs;j++,k++)
temp[k]=0;
else
temp[k]=1;
int rrem[15];
for (i=fs,j=0;i<fs+rs;i++,j++)
rrem[j]= temp[i];
for(i=0;i<rs;i++)
cout<<rrem[i];
int flag=0;
for(i=0;i<rs;i++)
{
if(rrem[i]!=0)
flag=1;
if(flag==0)
else
return 0;
}
5.Hamming code
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ()
cout << " Enter the No of Data Bits you want to Enter : ";
cin>> a;
r++;
cout <<" Enter the Data Bits One by One :" << endl;
d = 0;
d1 = 1;
data[i] = 0;
++d;
else
data[i] = c[d1];
++d1;
cout << " Data Bits are Encoded with Parity bits(0): ";
d1 = 0;
++d1;
parity = 0;
j = i;
s = i;
min = 1;
max = i;
{
for (s = j; max >= min && s <= a + r; ++min, ++s)
if (data[s] == 1)
parity++;
j = s + i;
min = 1;
data[i] = 0;
else
data[i] = 1;
cout << endl << " Hamming codeword for even parity : ";
for(int i=1;i<=a+r;i++)
cin>>data1[i];
min=max=d1=0;
++d1;
parity = 0;
j = i;
s = i;
min = 1;
max = i;
if (data1[s] == 1)
parity++;
j = s + i;
min = 1;
data1[i] = 0;
else
data1[i] = 1;
if(data[i]!=data1[i])
{
x=1;
if(x==0)
else if(x==1)
6.Checksum
#include<stdio.h>
#include<conio.h>
#include<math.h>
int checksum,sum=0,i;
printf("\n****SENDER****\n");
for(i=0;i<k;i++)
sum+=b[i];
checksum=~sum;
return checksum;
int checksum,sum=0,i;
printf("\n\n****RECEIVER****\n");
for(i=0;i<k;i++)
sum+=c[i];
sum=sum+scheck;
checksum=~sum;
return checksum;
main()
{
int a[10],i,m,scheck,rcheck;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
scheck=sender(a,m);
rcheck=receiver(a,m,scheck);
if(rcheck==0)
else
printf("\n\nERROR DETECTED");
getch();