You are on page 1of 1

Lab 3

Aim: Write a program to simulate Routing module.


#include<stdio.h>
#include<conio.h>
void main(){
int inputip[4],test[4],flag=0;
int mask[5][4]={255,255,255,0,
255,255,0,0,
255,255,0,0,
255,0,0,0,
0,0,0,0};
int netaddr[5][4]={192,16,7,0,
145,80,0,0,
170,14,0,0,
111,0,0,0,
0,0,0,0};
int nexthop[5][4]={111,15,17,32,
111,25,19,20,
111,25,19,20,
0,0,0,0};
int interface[5]={0,4,2,1,5};
clrscr();
printf("\n Enter IP address :=> ");
scanf("%d %d %d %d",&inputip[0],&inputip[1],&inputip[2],&inputip[3]);
for(int i=0;i<4;i++){
flag=0;
for(int j=0;j<4;j++){
test[j]=inputip[j]&mask[i][j];
if(test[j]!=netaddr[i][j]){
flag=1;
}
}
if(flag==0){
goto END;
}
}
if(flag==1){
printf("\n Packet is forwarded to default rout.\n Interface =>
%d",interface[4]);
}
else{
END:
if(i==0){
printf("\n Packet is forwarded to %d interface.",interface[i]);
printf("\n Packet in same network.");
}else{
printf("\n Packet is forwarded to %d interface.",interface[i]);
printf("\n Next hop for packet is :=> %d.%d.%d.%d",nexthop[i-1]
[0],nexthop[i-1][1],nexthop[i-1][2],nexthop[i-1][3]);
}
}
getch();
}

You might also like