Anda di halaman 1dari 13

BCSCCS506R02/BITCIT506R02

COMPUTER NETWORKS LAB

Department of Computer Science and Engineering,


School of Computing,
Shanmugha Arts, Science, Technology and Research
Academy SASTRA University,
Tirumalaisamudram, Thanjavur
List of experiments

1. Simple network programs


a). Program to find IP address of a computer.

b). Program for using Ping command.

c). Program to send messages to other users in a network.

2. Programs for information exchange between client and server using TCP and UDP.
3. Secured communication through encryption and decryption of messages.
4. Program for remote procedure call under client server environment (RMI).
5. Implement data link layer framing method bit stuffing.
6. a). Program for error correction using CRC.
b). Program for error detection using Hamming Code.

7. Serial Communication between PCs (Character Transfer) - Communication via RS 232.


8. Implementation of Sliding window protocols - go back n and selective repeat.
9. Take a sample subnet graph with weights indicating delay between nodes. Now obtain the
routing table at each node using distance vector routing.
10. a) Tuning the TCP Kernel: Use the sysctl command to read and manipulate the various TCP
parameters. e.gsysctl -a , sysctl -p and sysctl -w.
b)TCP Keep alive time: Display the current TCP keepalive time value using the sysctl
command and change that using echo command - e.g echo ‟3600‟ >
/proc/sys/net/ipv4/tcpkeepalive time.

11. Simulation of wired and wireless networks.


12. Network performance evaluation using simulator.
13. Study of SASTRA network infrastructure.
1.a). Program to find IP address of a computer.

• Objective

– To find the IP address of the local host

– To find the IP address of the remote systems in the current network

– To get the name of the specified IP address

• Procedure

– Import the java.net package to utilize the built-in classes

– Use InetAddressclass for invoking the following methods.

• isReachable() - to check the availability

• getHostAddress() – getting address

• getHostName() – getting name

Input Output

System name / IP availability, name and IP address

1.b. Program for using Ping command


Objective

To check the availability of any system in the current network.

Procedure

-- Import the java.io package to utilize the built-in classes

– Use Process and Runtime class for invoking the following methods.

• getRunTime()

• exec()

– Form the String pingCmd= “ping “ + IP / name


– Command „pingcmd‟ is executed using the above methods.
– Read the information from the process object and display it in the console
using BufferedReader.
Input Output

– System IP / Name – No. of Packet throughput


– Approximate round trip
time

1.c). Program to send messages to other users in a network


Objective

• To transfer messages between the systems within the current


network

Procedure
-- Import the java.io package to utilize the built-in classes

– Use Process and Runtime class for invoking the following methods.

• getRunTime()

• exec()

– Form the String Cmd= “net send “ + IP / name + “ “ + msg


– Command „cmd‟ is executed using the above methods.

Input Output

System IP /name and message “Successfully sent”

Pre Lab: Practice the DOS commands – ipconfig , ping, net send with all possible options.

Prior working knowledge in Java.


2. Programs for information exchange between client and server using TCP and UDP.
a. Objective
To transfer a text file from one machine to other using TCP.
Procedure
--Import java. io and java.net packages to utilize the built-in classes
– Socket Class for Client program
– ServerSocket Class for ServerSide program
– In server script should be bound with a particular port number and the client
req should be forwared to that specific port.
accept() – is used to accept the client connection request.
– Using FileWriter Class, the received text is written in the new file.

b. Objective
To transfer a text file from one machine to other using UDP.
Procedure
--Import java. io and java.net packages to utilize the built-in classes
– DatagramSocketClass for generating UDP socket
– DatagramPacketClass for form the data container .
– send() – to send the packet to the destination.
– receive() – to receive the packet from the client/server
– Using FileWriter Class, the received text is written in the new file.

Pre Lab: knowledge about Transport layer protocols- TCP and UDP
Basic client server program.
3. Secured communication through encryption and decryption of messages.
Objective

To encrypt a plain text using a key and transmit the cipher text; decrypt the cipher text at the
receiver side to get back the original message (Hint: Use Ceaser Cipher)

Procedure

1. Get the “key”.


2. Replace each character with the character, which is, “key” positions ahead.
3. Send the encrypted message.
4. Decrypt the message received by replacing each character with the character, which is
key positions behind.
For data transfer, use either TCP or UDP.

INPUT OUTPUT

HELLO , 2 => JGNNQ JGNNQ=> HELLO

Pre Lab: Counting the number of vowels, characters, and words.

4.Program for remote procedure call under client server environment (RMI)
Objectives
• Learn the concepts of Remote Procedure Call and Remote Method Invocation
• Learn to develop applications which uses Distributed Objects
• Learn the working and significance of stub object (Client side )and Skeleton
objects (Server side).
Procedures
• Creating the RMI server
• Contains both class and interface
• Creating an interface
• Both client and server have to agree
• Implementing the interface
• Binding with RMI registry
• Should contain the operational code
• Creating the RMI client
• Call Registry to obtain reference to remote object
• Compiling and starting the server

Input Output

Parameters (operands) Return value ( Computed results)

(e.g 44 ) 256

5. Implement data link layer framing method bit stuffing


Objectives

– Learn the importance of bit stuffing in communication and network protocols


– Learn to synchronize sender and receiver
– Learn to create communication protocols having fixed frame size
Procedures

– Creating two file pointers, one is read and another in write mode for input and output
files
– Access the given input binary file in read mode
– If there is any consecutive five 1‟s, add a stuff bit 0
– Open the output file and write the stuffed string
– At receiver end the additional stuffed bits are rejected at the Data Link layer

Pre Lab: Bitwise arithmetic operation and shifting operation.

6. a). Program for error detection using CRC.


Objectives

– Learn error detection concepts


– Learn how to choose Pattern P (divisor for CRC algorithms
– Learn to generate Frame Check Sequence (FCS which is to be added at end of
the message bits
Procedures

– Choose n and k(number of msg bits) value


– Where (n-k) is the frame check sequence(FCS) size.
– Choose pattern P where as it should be atleast one bit greater than the FCS.
– LSB and MSB in P should be 1.
– Divide the msg bit by P . Add the remainder with the msg bit.
– At the receiver end the transmitted data is divided by the same pattern P.
– If the remainder is zero , No Error in the code Otherwise Error is Detected.
6.B Hamming code – Error detection and correction

Objectives

Learn Error detection and correction Mechanisms

Procedure

• calculate the redundancy bit r1,r2,r4 and r8

• Calculate the parity for each parity bit (a ? represents the bit position being set):

• Position 1 checks bits 1,3,5,7,9,11:


? _ 1 _ 001 _ 1 0 1 0. Even parity so set position 1 to a 0: 0 _ 1 _ 001 _ 1 0 1 0

• Position 2 checks bits 2,3,6,7,10,11:


0 ? 1 _ 0 0 1 _ 1 0 1 0. Odd parity so set position 2 to a 1: 0 1 1 _ 0 0 1 _ 1 0 1 0

• Position 4 checks bits 4,5,6,7,12:


0 1 1? 0 0 1 _ 1 0 1 0. Odd parity so set position 4 to a 1: 0 1 11 0 0 1 _ 1 0 1 0

• Position 8 checks bits 8,9,10,11,12:


0 1 11 0 01 ? 1 0 1 0. Even parity so set position 8 to a 0: 0 1 11 0 0 1 0 1 0 1 0

• Code word: 011100101010.

Error Detection and correction

Calculate r1,r2,r4 and r8.

if r1,r2,r4 and r8 are zero, No single bit error occurred.

By using these check bit values we can detect the error bit position.

Pre Lab: simple division in binary number format.

7. Serial Communication between PCs (Character Transfer) - Communication via


RS 232.
Objective
To demonstrate using JAVA code, the data transfer between two
machines using RS232 serial interface
Procedure:
For writing into serial port:
• Design a window at the sender side that will have a text field to accept the
message and a button to send.
• Use the static method CommPortIdentifier. getPortIdentifier to get the list of
available ports.
• Create SerialPort object for each of the entries in CommPortIdentifier list and
open the port with port number 2000.
• Set the SerialPort parameters like baudrate, databits, stopbits and parity.
• Write the message to the output port created.
• Use SerialPortEventListener Interface to monitor the port for reading and
capturing the data.
For reading from serial port:

• Design a window at the sender side that will have a text field to accept the
message and a button to send.
• Use the static method CommPortIdentifier.getPortIdentifier to get the list of
available ports.
• Create SerialPort object for each of the entries in CommPortIdentifier list and
open the port with port number 2000.
• Set the SerialPort parameters like baudrate, databits, stopbits and parity.
• Bind the SerialPortEventListener to the SerialPort object.
• Set notifyonDataAvailable as True.
• Implement the serialEvent method to read the data available on the port.

8. Sliding window protocols - go back n and selective repeat

Objectives

Learn transmission control protocols

Go Back n

• Divide the input data in to n packets

• Predetermined number of packets k should be sent to the receiver without ACK.

• Send will be waiting for the ACK , until it receives ACK.

• If ACK is missed for the any PKT r , all the pkts after r will be retransmitted.
Selective Repeat

• Divide the input data in to n packets

• Predetermined number of packets k should be sent to the receiver without ACK.

• Send will be waiting for the ACK , until it receives ACK.

If ACK is missed for the any PKT r , the pkt r alone will be retransmitted

Pre Lab: Packet transmission with ACK between client and server.

9.Information transfer using Distance vector routing protocols

Description:

Routers using distance-vector protocol do not have knowledge of the entire path to a destination

Simulation of Distance vector routing protocols by constructing and displaying the routing
table at each node.
Prelab

Knowledge of functioning of the protocol and the routing table format for the protocol

10. Using sysctl configure kernel parameters at runtime

Objectives

Learn to read and modify the TCP kernel parameters using sysctl in linux.

Procedure

– Tuning the TCP Kernel: Use the sysctl command to read and
manipulate the various TCP parameters. e.gsysctl -a , sysctl -p and
sysctl -w.
– TCP Keep alive time: Display the current TCP keepalive time value
using the sysctl command and change that using echo command -
e.g echo ‟3600‟ > /proc/sys/net/ipv4/tcpkeepalive time.
Pre Lab: Prior working knowledge in Linux/unix platform and unix system commands.

11. Simulation of wired and wireless networks.


Objectives
Learn to construct the wired and wireless network in NS2 simulator.
Procedure
Create N nodes
Make connectivity between the nodes.
Simulate data transmission
1 to 1 transmission
1 to N transmission
12.Network performance evaluation using simulator.
Objectives
To evaluate the network parameters using ns2 simulator
Procedure
Link connectivity
Monitor theBandwidth of the network
Analyse Round trip time taken for the Test packet.

13. Study of SASTRA network infrastructure

Objective:

To study and understand the architecture, topology adopted in SASTRA’s infrastructure.

Study about the Wireless and wired network architecture and server configuration.

ADDITIONAL EXERCISES

1. Write a java program to read the characters from a file and write it‟s uppercase
counterpart in a new file.(File concept)
2. Create a LAN chat application(GUI) in java.(Network –UDP)
3. Write a java program to transfer a data file to the

Anda mungkin juga menyukai