Thursday, October 3, 2019

13. Configure RIP/OSPF/BGP using packet Tracer.




Fig: OSPF Protocol Configuration





OSPF Router 0 Configureation

Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface FastEthernet0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown

Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Router(config-if)#exit
Router(config)#interface Serial2/0
Router(config-if)#ip address 10.10.0.2 255.0.0.0
Router(config-if)#clock rate 64000
Router(config-if)#
Router(config-if)#exit
Router(config)#interface Serial3/0
Router(config-if)#ip address 12.12.0.2 255.0.0.0
Router(config-if)#clock rate 64000
Router(config-if)#no shutdown

%LINK-5-CHANGED: Interface Serial3/0, changed state to down
Router(config-if)#
%LINK-5-CHANGED: Interface Serial3/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial3/0, changed state to up

Router(config-if)#exit
Router(config)#interface Serial2/0
Router(config-if)#no shutdown

Router(config-if)#
%LINK-5-CHANGED: Interface Serial2/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up
exit
Router(config)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0
Router(config-router)#network 10.0.0.0 0.255.255.255 area 0
Router(config-router)#network 12.0.0.0 0.255.255.255 area 0
Router(config-router)#exi
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console

00:08:39: %OSPF-5-ADJCHG: Process 1, Nbr 11.11.0.2 on Serial2/0 from LOADING to FULL, Loading Done

00:09:57: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on Serial3/0 from LOADING to FULL, Loading Done

OSPF Router 1 configuration
outer>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface Serial2/0
Router(config-if)#ip address 10.10.0.3 255.0.0.0
Router(config-if)#no shutdown


%LINK-5-CHANGED: Interface Serial2/0, changed state to down
Router(config-if)#
Router(config-if)#exit
Router(config)#interface Serial3/0
Router(config-if)#ip address 11.11.0.2 255.0.0.0
Router(config-if)#clock rate 64000
Router(config-if)#no shutdown


%LINK-5-CHANGED: Interface Serial3/0, changed state to down
Router(config-if)#
Router(config-if)#exit
Router(config)#interface Serial2/0
Router(config-if)#
Router(config-if)#exit
Router(config)#interface Serial3/0
Router(config-if)#
%LINK-5-CHANGED: Interface Serial3/0, changed state to up


%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial3/0, changed state to up


Router(config-if)#exit
Router(config)#interface Serial2/0
Router(config-if)#
%LINK-5-CHANGED: Interface Serial2/0, changed state to up


%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up
exit
Router(config)#router ospf 1
Router(config-router)#network 10.0.0.0 0.255.255.255 area 0
Router(config-router)#network 10.0.0.0 0.255.255.255 area 0
00:08:37: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.1 on Serial2/0 from LOADING to FULL, Loading Done


Router(config-router)#network 11.0.0.0 0.255.255.255 area 0
Router(config-router)#exit
Router(config)#
00:09:38: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on Serial3/0 from LOADING to FULL, Loading Done


OSPF Router 2 configuration

Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface FastEthernet0/0
Router(config-if)#ip address 192.168.2.1 255.255.255.0
Router(config-if)#no shutdown


Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up


%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up


Router(config-if)#exit
Router(config)#interface Serial2/0
Router(config-if)#ip address 11.11.0.3 255.0.0.0
Router(config-if)#no shutdown


Router(config-if)#
%LINK-5-CHANGED: Interface Serial2/0, changed state to up


Router(config-if)#exit
Router(config)#interface Serial3/0
Router(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up
ip address 12.12.0.3 255.0.0.0
Router(config-if)#no shutdown


Router(config-if)#
%LINK-5-CHANGED: Interface Serial3/0, changed state to up


%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial3/0, changed state to up
exit
Router(config)#router ospf 1
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0
Router(config-router)#network 11.0.0.0 0.255.255.255 area 0
Router(config-router)#network 11.0.0.0 0.255.255.255 area 0
00:09:36: %OSPF-5-ADJCHG: Process 1, Nbr 11.11.0.2 on Serial2/0 from LOADING to FULL, Loading Done


Router(config-router)#network 12.0.0.0 0.255.255.255 area 0
Router(config-router)#exit
Router(config)#
00:09:53: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.1 on Serial3/0 from LOADING to FULL, Loading Done




12. Use network simulator NS2 to implement: a. Monitoring traffic for the given topology b. Analysis of CSMA and Ethernet protocols c. Network Routing: Shortest path routing, AODV. d. Analysis of congestion control (TCP and UDP).

11. Write a program using UDP sockets for wired network to implement a. Peer to Peer Chat b. Multiuser Chat Demonstrate the packets captured traces using Wireshark Packet Analyzer Tool for peer to peer mode.

Download write-up here

Multi user Chat

Client.java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.SocketException;
import java.net.UnknownHostException;


public class Client implements Runnable
{
static MulticastSocket clientSocket ;
static byte[] recvData = new byte[1024];
        static String getsen="hmmm";
        static boolean send_flag=false;
public static void main(String[] args)
{
// TODO Auto-generated method stub
BufferedReader br ;
try
{
clientSocket = new MulticastSocket(4447);
InetAddress group = InetAddress.getByName("230.0.0.1");
                        InetAddress IPAddr = InetAddress.getByName("localhost");                       
                        clientSocket.joinGroup(group);
byte[] sendData = new byte[1024];
String sentence=null;
new Thread(new Client()).start();
        //SEND DATA
while(true)
{
sentence=null;
br= new BufferedReader(new InputStreamReader(System.in));
                                sentence=br.readLine(); 
                            sendData = new byte[1024]; 
sendData = sentence.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,sendData.length,IPAddr,9877);
clientSocket.send(sendPacket);
                                send_flag = true;
}

}
catch (SocketException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (UnknownHostException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}

@Override
//READ FROM SERVER
public void run()
{
// TODO Auto-generated method stub
DatagramPacket recvPacket;
        while(!getsen.equals("Bye"))
    {
try
{
    recvPacket = new DatagramPacket(recvData,recvData.length);
clientSocket.receive(recvPacket);
getsen = new String(recvPacket.getData());
                          if(send_flag!=true)
System.out.println("BROADCASTED MESSAGE:"+getsen);
                          getsen= " ";
send_flag = false;
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

}

Server.java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;




public class Server  
{
static byte[] recvData = new byte[1024];
static byte[] sendData = new byte[1024];
static DatagramSocket ds;
static   InetAddress group;
public static void main(String[] args) 
{
// TODO Auto-generated method stub
try 
{
ds = new DatagramSocket(9877);
                        group = InetAddress.getByName("230.0.0.1");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                        DatagramPacket recvPack;
while(true)
{
recvData = new byte[1024];
try 
{
                          recvPack = new DatagramPacket(recvData,recvData.length);
ds.receive(recvPack);
String sentence = new String(recvPack.getData());
System.out.println(sentence);
method(sentence);
}
catch (IOException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
catch (SocketException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void method(String sentence) 
{
// TODO Auto-generated method stub   
sendData = sentence.getBytes();
DatagramPacket sendPack = new DatagramPacket(sendData,sendData.length,group,4447);
try 
{
ds.send(sendPack);
}
catch (IOException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

Peer to Peer Chat

Client.java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;


public class PeerClient {

public final static int  PORT=8778;
public final static String SERVER_IP="127.0.0.1";
public static void main(String[] args) {
BufferedReader br=null;
DatagramSocket socket=null;
String s;
try {
socket=new DatagramSocket();
br=new BufferedReader(new InputStreamReader(System.in));
InetAddress server=InetAddress.getByName(SERVER_IP);
System.out.println("Client Socket Created.\nENter msg:");
while(true)
{
System.out.print(">");
s=br.readLine();
byte[] sendMsg=s.getBytes();
DatagramPacket sendingPacket=new DatagramPacket(sendMsg, sendMsg.length,server,PORT);
socket.send(sendingPacket);
System.out.println("Waiting for reply.");
byte[] replyMsg=new byte[1000];
DatagramPacket receivingPacket=new DatagramPacket(replyMsg, replyMsg.length);
socket.receive(receivingPacket);
byte[] data=receivingPacket.getData();
String s1=new String(data, 0,data.length);
System.out.println(receivingPacket.getAddress().getHostAddress()+":"+receivingPacket.getPort()+"=> "+s1);
if(s1.equalsIgnoreCase("bye"))
{
System.out.println("Connection Closed");
break;
}
}
socket.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}

Server.java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;


public class PeerServer {

public static void main(String[] args) {

DatagramSocket socket=null;
try
{
socket=new DatagramSocket(8778); //server socket
byte[] buffer=new byte[1000]; //buffer for msg
DatagramPacket incomingPacket=new DatagramPacket(buffer, buffer.length); //packet to receive data
System.out.println("Server Socket Created.\nWaiting for data..\n");
while(true)
{
socket.receive(incomingPacket);
byte[] msg=incomingPacket.getData();
 
String s=new String(msg,0,msg.length);
 
System.out.println(incomingPacket.getAddress().getHostAddress()+":"+incomingPacket.getPort()+" > "+s);
 
if(s.equalsIgnoreCase("bye"))
{
String reply=new String("Bye");
msg=reply.getBytes();
 
DatagramPacket sendPacket=new DatagramPacket(msg, msg.length,incomingPacket.getAddress(),incomingPacket.getPort());
socket.send(sendPacket);
break;
}
else
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print(">");
s=br.readLine();
msg=s.getBytes();
 
DatagramPacket sendPacket=new DatagramPacket(msg, msg.length,incomingPacket.getAddress(),incomingPacket.getPort());
socket.send(sendPacket);
}
}
socket.close();
}
catch(Exception e)
{
}
}

}

13. Configure RIP/OSPF/BGP using packet Tracer.

Download writeup here Fig: OSPF Protocol Configuration OSPF Router 0 Configureation Router>e...