Write a program to demonstrate subnetting and find the subnet masks.
Answers
Program to show subnetting and find the subnet masks.
import java.util.Scanner;
class Subnet{ public static void main(String args[])
{
Scanner = new Scanner(System.in);
System.out. println (“Enter the ip address: “);
String = sc. next Line();
String = ip. split(“\\.”); .
String split_bip[] = new String[4];
split binary ip String bip = “”;
for(int i=0;i<4;i++)
split_bip[i] = appendZeros (Integer.toBinaryString(Integer.parseInt
(split_ip[i])));
}
A program to implement sub netting and find the su bnet masks:
In Java,
import java.util.Scanner
class Sub_net{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.print(“IP address: “);
String ip = sc.nextLine();
String split_ip[] = ip.split(“\\.”);
String split_bip[] = new String[4];
String bip = “”;
for(int i=0;i<4;i++){
split_bip[i] =appendZeros(Integer.toBinaryString(Integer.parseInt(split_ip[i])));
bip += split_bip[i];
}
System.out.println(“IP in binary = “+bip);
System.out.print(“Enter the addresses: “);
int n = sc.nextInt();
int bits = (int)Math.ceil(Math.log(n)/Math.log(2));
System.out.println(“Number of bits required = “+bits);
int mask = 32-bits;
System.out.println(“The sub net mask = “+mask);
int fbip[] = new int[32];
for(int i=0; i<32;i++) fbip[i] = charAt(i)-48;
for(int i=31;i>31-bits;i–)
fbip[i] &= 0;
String fip[] = {“”,””,””,””};
for(int i=0;i<32;i++)
fip[i/8] = new String(fip[i/8]+fbip[i]);
System.out.print(“First address is = “);
for(int i=0;i<4;i++){
System.out.print(Integer.parseInt(fip[i],2));
if(i!=3) System.out.print(“.”);
}
System.out.println();
int lbip[] = new int[32];
for(int i=0; i<32;i++) lbip[i] = charAt(i)-48;
for(int i=31;i>31-bits;i–)
lbip[i] |= 1;
String lip[] = {“”,””,””,””};
for(int i=0;i<32;i++)
lip[i/8] = new String(lip[i/8]+lbip[i]);
System.out.print(“Last address is = “);
for(int i=0;i<4;i++){
System.out.print(Integer.parseInt(lip[i],2));
if(i!=3) System.out.print(“.”);
}
System.out.println();
}
static String appendZeros(String s){
String temp = new String(“00000000”);
return temp.substring(s.length())+ s;
}
}