0% found this document useful (0 votes)
3 views

Computer Network Lab (CSDS)Manual_2023 -24 (1)

The Computer Network Lab manual for B.Tech. Semester VI outlines the vision, mission, and educational objectives of the institute and department, along with detailed program outcomes and specific outcomes. It includes a comprehensive list of experiments, guidelines for report preparation, safety precautions, and assessment criteria for lab performance. The manual aims to equip students with practical skills in networking protocols, tools, and techniques essential for their professional development in Information Technology.

Uploaded by

vishalnew345
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Computer Network Lab (CSDS)Manual_2023 -24 (1)

The Computer Network Lab manual for B.Tech. Semester VI outlines the vision, mission, and educational objectives of the institute and department, along with detailed program outcomes and specific outcomes. It includes a comprehensive list of experiments, guidelines for report preparation, safety precautions, and assessment criteria for lab performance. The manual aims to equip students with practical skills in networking protocols, tools, and techniques essential for their professional development in Information Technology.

Uploaded by

vishalnew345
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

COMPUTER NETWORK LAB

LABORATORY MANUAL
B.Tech., Semester –VI
Subject Code: KCS-653

Session: 2023-24, Even Semester


Name:

Roll. No.:

Group/Branch:

JSS MAHAVIDYAPEETHA
DEPARTMENT OF INFORMATION TECHNOLOGY
JSS ACADEMY OF TECHNICAL EDUCATION
C-20/1, SECTOR-62, NOIDA
Computer Network Lab (KCS-653)

Table of Contents
1. Vision and Mission of the Institute
2. Vision and Mission of the Department
3. Programme Educational Objectives (PEOs)
4. Programme Outcomes (POs)
5. Programme Specific Outcomes (PSOs)
6. University Syllabus
7. Course Outcomes (COs)
8. CO- PO and CO-PSO mapping
9. Course Overview
10. List of Experiments
11. DOs and DON’Ts
12. General Safety Precautions
13. Guidelines for Students for Report Preparation
14. Lab Assessment Criteria
15. Details of Conducted Experiments
16. Lab Experiments

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Vision and Mission of the Institute


Vision:

“JSS Academy of Technical Education Noida aims to become an Institution of excellence in


imparting quality Outcome Based Education that empowers the young generation with
Knowledge, Skills, Research, Aptitude and Ethical values to solve Contemporary Challenging
Problems”

Mission:
M1: Develop a platform for achieving globally acceptable level of intellectual acumen and
technological competence.
M2: Create an inspiring ambience that raises the motivation level for conducting quality research.

M3: Provide an environment for acquiring ethical values and positive attitude.

Vision and Mission of the Department


Vision:

“To become a Centre of Excellence in teaching and research in Information Technology for
producing skilled professionals having a zeal to serve society”

Mission:
M1: To create an environment where students can be equipped with strong fundamental concepts,
programming and problem solving skills.
M2: To provide an exposure to emerging technologies by providing hands on experience for
generating competent professionals.
M3: To promote Research and Development in the frontier areas of Information Technology and
encourage students for pursuing higher education
M4: To inculcate in students ethics, professional values, team work and leadership skills.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Programme Educational Objectives (PEOs)


PEO1: To provide students with a sound knowledge of mathematical, scientific and engineering
fundamentals required to solve real world problems.
PEO2: To develop research oriented analytical ability among students and to prepare them for
making technical contribution to the society.
PEO3: To develop in students the ability to apply state-of-the–art tools and techniques for
designing software products to meet the needs of Industry with due consideration for
environment friendly and sustainable development.
PEO4: To prepare students with effective communication skills, professional ethics and
managerial skills.
PEO5: To prepare students with the ability to upgrade their skills and knowledge for life-long
learning.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Programme Outcomes (POs)


PO1: Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
PO2: Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
PO3: Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
PO4: Conduct investigations of complex problems: Use research-based knowledge and
research methods including design of experiments, analysis and interpretation of data, and
synthesis of the information to provide valid conclusions.
PO5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling to complex
engineering activities with an understanding of the limitations.
PO6: The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the professional engineering practice.
PO7: Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and
need for sustainable development.
PO8: Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
PO9: Individual and team work: Function effectively as an individual, and as a member or
leader in diverse teams, and in multidisciplinary settings.
PO10: Communication: Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and
write effective reports and design documentation, make effective presentations, and give
and receive clear instructions.
PO11: Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
PO12: Life-long learning: Recognize the need for, and have the preparation and ability to
engage in independent and life-long learning in the broadest context of technological
change.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Program Specific Outcomes (PSOs)


PSO1: Analyze, identify and clearly define a problem for solving user needs by selecting,
creating and evaluating a computer based system through an effective project plan.

PSO2: Design, implement and evaluate processes, components and/or programs using modern
techniques, skills and tools of core Information Technologies to effectively integrate
secure IT-based solutions into the user environment.

PSO3: Develop impactful IT solutions by using research based knowledge and research methods
in the fields of integration, interface issues, security & assurance and implementation.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

University Syllabus
1. Implementation of Stop and Wait Protocol and Sliding Window Protocol.
2. Study of Socket Programming and Client – Server model.
3. Write a code simulating ARP /RARP protocols.
4. Write a code simulating PING and TRACEROUTE commands.
5. Create a socket for HTTP for web page upload and download.
6. Write a program to implement RPC (Remote Procedure Call).
7. Implementation of Subnetting.
8. Applications using TCP Sockets like a. Echo client and echo server b. Chat c. File
Transfer.
9. Applications using TCP and UDP Sockets like d. DNS e. SNMP f. File Transfer
10. Study of Network simulator (NS).and Simulation of Congestion Control Algorithms using
NS.
11. Perform a case study about the different routing algorithms to select the network path with
its optimum and economical during data transfer. i. Link State routing ii. Flooding iii.
Distance vector.
12. To learn handling and configuration of networking hardware like RJ-45 connector, CAT-6
cable, crimping tool, etc.
13. Configuration of router, hub, switch etc. (using real devices or simulators)
14. Running and using services/commands like ping, traceroute, nslookup, arp, telnet, ftp, etc.
15. Network packet analysis using tools like Wireshark, tcpdump, etc. \
16. Network simulation using tools like Cisco Packet Tracer, NetSim, OMNeT++, NS2, NS3,
etc.
17. Socket programming using UDP and TCP (e.g., simple DNS, data & time client/server,
echo client/server, iterative & concurrent servers).

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Course Outcomes (COs)

Upon successful completion of the course, the students will be able to

CO 1: Simulate different network topologies.


CO2: Implement various framing methods of Data Link Layer.
CO3: Implement various Error and flow control techniques.
CO4: Implement network routing and addressing techniques.
CO5: Implement transport and security mechanisms

CO-PO Mapping
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 2 2 2 2 2 2 2 2 3
CO2 3 2 2 2 2 2 2 2 2 3
CO3 3 2 2 2 2 2 2 2 2 3
CO4 3 2 2 2 2 2 2 2 2 3
CO5 3 2 2 2 2 2 2 2 2 3
COs 3 2 2 2 2 2 2 2 2 3

CO-PSO Mapping
PSO1 PSO2 PSO3
CO1 2 2 1
CO2 2 2 1
CO3 2 2 1
CO4 2 2 1
CO5 2 2 1
COs 2 2 1

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Course Overview
Computer Networking Lab provides students with hands on training on various topologies and
protocols of Networking. It makes students acquainted with an overview of how the information
is transferred from source to destination and different layers in networks. Students can come to
know that how the routing algorithms work out in the network layer and in what manner the
networking techniques that can take place in computer.

A computer network is made of two distinct subsets of components Distributed applications are
programs running on interconnected computers; a web server, a remote login server, an e-mail
exchanger are examples. Encapsulation of various learning objectives includes: Analysis the
different layers in networks; Define, use, and differentiate such concepts as OSI-ISO,TCP/IP;
Sending bits from physical layer to data link layer; Simulation of presentation layer, application
layer for data compression and network security.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

List of Experiments mapped with COs

Course
Sl No. Program Name
Outcome

1 To study the Comparative Analysis of Network Simulators CO1

2 Implement LAN topologies using CISCO Packet Tracer Simulator CO1

3 Implement bit stuffing at sender’s and receiver’s end. CO2

4 Implement byte stuffing at sender’s and receiver’s end CO2

5 Implement Cyclic Redundancy Check at Sender and Receiver Site. CO3

6 Implement Hamming Code C (7, 4) at Sender and Receiver Site. CO3

7 To write a program to perform sliding window protocol. CO3

8 Implement Subnetting to generate Range of IP Addresses (First & Last). CO4

To write a Programs using TCP/UDP/RAW Sockets (date and time server

9 & client, echo server & client). CO5

10 Implement RSA ALGORITHM. CO5

11 Implement Diffie Hellman ALGORITHM CO5

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

DOs and DON’Ts


DOs
1. Login-on with your username and password.
2. Log off the Computer every time when you leave the Lab.
3. Arrange your chair properly when you are leaving the lab.
4. Put your bags in the designated area.
5. Ask permission to print.

DON’Ts
1. Do not share your username and password.
2. Do not remove or disconnect cables or hardware parts.
3. Do not personalize the computer setting.
4. Do not run programs that continue to execute after you log off.
5. Do not download or install any programs, games or music on computer in Lab.
6. Personal Internet use chat room for Instant Messaging (IM) and Sites Strictly Prohibited.
7. No Internet gaming activities allowed.
8. Tea, Coffee, Water & Eatables are not allowed in the Computer Lab.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

General Safety Precautions


Precautions (In case of Injury or Electric Shock)
1. To break the victim with live electric source, use an insulator such as fire wood or plastic to
break the contact. Do not touch the victim with bare hands to avoid the risk of electrifying
yourself.
2. Unplug the risk of faulty equipment. If main circuit breaker is accessible, turn the circuit off.
3. If the victim is unconscious, start resuscitation immediately, use your hands to press the chest
in and out to continue breathing function. Use mouth-to-mouth resuscitation if necessary.
4. Immediately call medical emergency and security. Remember! Time is critical; be best.

Ambulance : 9810611477(Fortis Ambulance)


120-2400222(Fortis Ambulance)
Security : 260 (Gate No.1)
230 (Gate No.2)

Precautions (In case of Fire)


1. Turn the equipment off. If power switch is not immediately accessible, take plug off.
2. If fire continues, try to curb the fire if possible by using the fire extinguisher or by covering it
with a heavy cloth if possible isolate the burning equipment from the other surrounding
equipment.
3. Sound the fire alarm by activating the nearest alarm switch located in the hallway.
4. Call security and emergency department immediately:

Emergency : 219 (Reception)


298(Health Center)
Security : 260 (Gate No.1)
230 (Gate No.2)

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Guidelines to students for report preparation


All students are required to maintain a record of the experiments conducted by them. Guidelines
for its preparation are as follows:-

1) All files must contain a title page followed by an index page. The files will not be signed by
the faculty without an entry in the index page.

2) Student’s Name, Roll number and date of conduction of experiment must be written on all
pages.

3) For each experiment, the record must contain the following

(i) Aim/Objective of the experiment

(ii) Pre-experiment work (as given by the faculty)

(iii) Lab assignment questions and their solutions

(iv) Results/ output

Note:

1. Students must bring their lab record along with them whenever they come for the lab.

2. Students must ensure that their lab record is regularly evaluated.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Lab Assessment Criteria


An estimated 10 lab classes are conducted in a semester for each lab course. These lab classes are
assessed continuously. Each lab experiment is evaluated based on 5 assessment criteria as shown
in following table. Assessed performance in each experiment is used to compute CO attainment as
well as internal marks in the lab course.
Grading
Exemplary (4) Needs Improvement
Criteria Competent (3) Poor (1)
(2)
AC1:
Pre-Lab written Underlined concept
Complete procedure Underlined concept
work (for last lab is written but Not able to write
with underlined concept is not clearly
class, this may be procedure is concept and procedure
is properly written understood
assessed through incomplete
viva)
Assigned problem is
properly analyzed, Assigned problem is
AC2:
correct solution properly analyzed, Assigned problem is
Program Writing/
designed, appropriate correct solution properly analyzed & Assigned problem is
Modeling
language constructs/ designed, appropriate correct solution properly analyzed
tools are applied, language constructs/ designed
Program/solution tools are applied
written is readable
Unable to understand
AC3: Able to identify Is dependent totally on
the reason for errors/
Identification & Able to identify errors/ errors/ bugs and someone for
bugs even after they
Removal of errors/ bugs and remove them remove them with identification of errors/
are explicitly pointed
bugs little bit of guidance bugs and their removal
out
All variants of input Only few variants of
All variants of input
/output are not tested, input /output are
/output are tested, Solution is not well
However, solution is tested,
AC4:Execution & Solution is well demonstrated and
well demonstrated Solution is well
Demonstration demonstrated and implemented concept
and implemented demonstrated but
implemented concept is is not clearly
concept is clearly implemented concept
clearly explained explained
explained is not clearly explained
More than 70 % of Less than 40 % of
Less than 70 % of the
the assigned the assigned
All assigned problems assigned problems are
problems are well problems are well
are well recorded with well recorded with
recorded with recorded with
objective, design objective, design
objective, design objective, design
constructs and solution contracts and solution
AC5:Lab Record contracts and contracts and
along with along with
Assessment solution along with solution along with
Performance analysis Performance analysis
Performance analysis Performance analysis
using all variants of is done with all
is done with all is done with all
input and output variants of input and
variants of input and variants of input and
output
output output

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENTS

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 1

OBJECTIVE: To study the Comparative Analysis of Network Simulators

BRIEF DESCRIPTION:

CISCO PACKET TRACER

1. The robust simulation tool used to visualize networks.


2. Packet Tracer provides valuable tips and best practices for using Cisco Packet Tracer.
3. Learn the basic operations of Packet Tracer: - File commands, visualization and
configuration of networking devices.
4. Simulate the interactions of data traveling through the network.
5. Learn to visualize the network in logical and physical modes.
6. Reinforce your understanding with extensive hands-on networking and IOT activities.
7. Get immediate feedback on your work through built-in quizzes and tests.
8. Connect with the global Cisco Networking Academy community.

System requirement

The following configuration is recommended by Cisco to successfully install and run Packet
Tracer 7.0 :

1. Microsoft Windows (7 / 8.1 / 10) or Linux Ubuntu (14.04 64-bits)

2. At least Pentium 4 (2.5 GHz)

3. A minimum of 2GB RAM (4GB recommended)

4. 700 MB of storage space

5. A minimum screen resolution of 1024 x 768

Summary

Packet Tracer is a cross-platform visual simulation tool designed by Cisco Systems that
allows users to create network topologies and imitate modern computer networks. The
software allows users to simulate the configuration of Cisco routers and switches using a
simulated command line interface.

Packet Tracer is a cross-platform visual simulation tool designed by Cisco Systems that
allows users to create network topologies and imitate modern computer networks. The

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

software allows users to simulate the configuration of Cisco routers and switches using a
simulated command line interface. Packet Tracer makes use of a drag and drop user interface,
allowing users to add and remove simulated network devices as they see fit. The software is
mainly focused towards Certified Cisco Network Associate Academy students as an
educational tool for helping them learn fundamental CCNA concepts.

NS-2/NS-3
1. ns (from network simulator) is a name for a series of discrete event network simulators,
specifically ns-1, and ns-2.
2. All of them are discrete-event computer network simulators, primarily used in
research[2] and teaching.

System Requirements

1. Linux (x86 and x86_64): gcc/g++ versions 4.9 and above


2. Note: If you are using RHEL or Centos, you will likely need to install a more up-to-date compiler than
the default; search for how to enable 'software collections' or 'devtoolset' on these distributions. Other
Linux distributions typically have a suitable default compiler (at least version 4.9).
3. MacOS Apple LLVM: version 8.0.0 and above (version 7.0.0 may work)
4. FreeBSD and Linux (x86_64): clang/LLVM version 3.9 and above (older versions down to 3.3 may
work)
5. The minimum Python version supported is 2.7 or greater (version 2), or version 3.4 or greater (version
3).

Summary

NETWORK SIMULATOR 3

ns-3 has been developed to provide an open, extensible network simulation platform, for
networking research and education.
In brief, ns-3 provides models of how packet data networks work and perform, and provides a
simulation engine for users to conduct simulation experiments.
Some of the reasons to use ns-3 include to perform studies that are more difficult or not
possible to perform with real systems, to study system behavior in a highly controlled,
reproducible environment, and to learn about how networks work.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

NETWORK SIMULATOR 2

It is not possible to run a simulation in ns-2 purely from C++ (i.e., as a main() program
without any OTcl). Moreover, some components of ns-2 are written in C++ and others in OTcl.

In ns-3, the simulator is written entirely in C++, with optional Python bindings.

Simulation scripts can therefore be written in C++ or in Python.

New animators and visualizers are available and under current development. Since ns-
3 generates pcap packet trace files, other utilities can be used to analyze traces as well.

WIRESHARK

1. Wireshark is a network packet analyzer. A network packet analyzer will try to capture
network packets and tries to display that packet data as detailed as possible.
2. You could think of a network packet analyzer as a measuring device used to examine
what’s going on inside a network cable, just like a voltmeter is used by an electrician to
examine what’s going on inside an electric cable (but at a higher level, of course).
3. Wireshark is perhaps one of the best open source packet analyzers available today.

System Requirements

The amount of resources Wireshark needs depends on your environment and on the size of the
capture file you are analyzing. The values below should be fine for small to medium-sized capture
files no more than a few hundred MB. Larger capture files will require more memory and disk
space. If Wireshark runs out of memory it will crash.

1. Microsoft Windows
2. Unix/Linux

Summary
In late 1997 Gerald Combs needed a tool for tracking down network problems and wanted to
learn more about networking so he started writing Ethereal (the original name of the Wireshark
project) as a way to solve both problems.

In October, 1998 Guy Harris was looking for something better than tcpview so he started
applying patches and contributing dissectors to Ethereal.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

The list of people who have contributed to the project has become very long since then, and
almost all of them started with a protocol that they needed that Wireshark or did not already
handle. So they copied an existing dissector and contributed the code back to the team.

In 2006 the project moved house and re-emerged under a new name: Wireshark.

In 2008, after ten years of development, Wireshark finally arrived at version 1.0. This release was
the first deemed complete, with the minimum features implemented. Its release coincided with the
first Wireshark Developer and User Conference, called Sharkfest.

In 2015 Wireshark 2.0 was released, which featured a new user interface.

OmNet++

1. OMNeT++ is an extensible, modular, component-based C++ simulation library and


framework, primarily for building network simulators.
2. "Network" is meant in a broader sense that includes wired and wireless communication
networks, on-chip networks, queueing networks, and so on.
3. Domain-specific functionality such as support for sensor networks, wireless ad-hoc
networks, Internet protocols, performance modeling, photonic networks, etc., is provided
by model frameworks, developed as independent projects. OMNeT++ offers an Eclipse-
based IDE, a graphical runtime environment, and a host of other tools.
4. There are extensions for real-time simulation, network emulation, database integration,
SystemC integration, and several other functions.
5. Although OMNeT++ is not a network simulator itself, it has gained widespread popularity
as a network simulation platform in the scientific community as well as in industrial
settings, and building up a large user community.

System Requirements
1. simulation kernel library
2. NED topology description language
3. GUI for simulation execution, links into simulation executable (Tkenv)
4. command-line user interface for simulation execution (Cmdenv)
5. utilities (makefile creation tool, etc.)
6. documentation, sample simulations, etc.
7. OMNeT++ IDE based on the Eclipse platform

Summary

OverSim is an OMNeT++-based open-source simulation framework for overlay and peer-to-peer


networks, developed at the Institute of Telematics, Karlsruhe Institute of Technology, Germany.

The simulator contains several models for structured (e.g. Chord, Kademlia, Pastry) and
unstructured (e.g. GIA) peer-to-peer protocols. An example implementation of the framework is
an implementation of a peer-to-peer SIP communications network.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Research tool- OverSim provides a convenient platform for simulating large-scale complex
overlay protocols and applications. Though it can be overwhelming at first, you will realize its
power when you develop a better understanding of the tool.

PRE EXPERIMENT QUESTIONS:


Q1. What Is Simulation?
Q2. What Is The Need For Simulation?

POST EXPERIMENT QUESTIONS:


Q1. What protocols does ns support?
Q2. What platforms does ns run on and what kind of hardware do I need?

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 2

OBJECTIVE: Implement LAN topologies using CISCO Packet Tracer Simulator

BRIEF DESCRIPTION:

ALGORITHM FOR CREATING A TOPOLOGY:

1. Open your Network Topology. Once you've opened your Network Topology on Cisco
Packet Tracer, access your network and identify the components of your network, for
example; Servers, Routers, End Devices, etc.
2. Complete the cabling. Access the cables section and connect completely and correctly the
cables between the networks in order to ensure connectivity between the devices in the
network using the connections table given.
3. Using the address table still, correctly and completely configure the IP addresses on all
end devices. This can be done by accessing the desktop platform on each device and
locating the IP configuration section. The reason for doing this is to enable the devices be
on the right network.
4. After configuring the addresses, you will have to test connectivity by opening a command
prompt window on the end devices and try pinging the address which the network
operates on. If it gives you a reply, it means your network was configured correctly.

The step by procedure of creating Bus topology on Cisco Packet Tracer is shown in Figures 1-
6 below

PRE EXPERIMENT QUESTIONS:


Q1. What do you mean by network topology?
Q2. Compare and contrast various different types of network topologies

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Fig 1: Simulating network devices

Fig 2: Simulating generic switches

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Fig 3: Establish the links between the network devices and generic switches

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Fig 4: Connect the links

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Fig 5: Enter the IP address to each network devices

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Bus Topology

Fig 6: Network devices connected in Bus topology

POST EXPERIMENT QUESTIONS:


Q1. How Repeaters are different form Hubs?
Q2. Mention the different types of network switches and the layer where they are used?

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 3

OBJECTIVE: Implement bit stuffing at sender’s and receiver’s end.


BRIEF DESCRIPTION: HDLC delimits physical frames with the 8-bit flag sequence 01111110
(hex 7). Without stuffing, if an application sent this value as data the HDLC receiver would
misinterpret it as the end of a frame. So bit-synchronous HDLC specifies that whenever 5
consecutive 1's appears in the user data stream, a 0 is inserted (stuffed) at the transmitter before
the framing flags are added so that if the next two user data bits happen to be '10' it cannot form a
"false flag".

PRE EXPERIMENT QUESTIONS:

Q1. How is the integrity of the data maintained by bit stuffing?


Q2. Does the increased size of the string hinder the execution?

ALGORITHM/SYNTAX:

1. Read the number of frames.


2. Read the binary data for each frame.
3. Add the flag.
4. Bit Stuffing: If there is five consecutive 1’s after zero, add one zero as sixth bit.
5. Transmit the data.
6. Destuffing: If there is zero after the five consecutive 1’s, remove that zero in the data.
7. Display the data.

SENDER SITE:

I. During the transmission, attach a flag pattern (01111110) at the start & end of data unit.
II. If transmitter for sees five consecutive one’s in data, it stuffs zero bit in data.
Ex: - Pattern to be transmitted – 00011110111110000
Message transmitted - 000111101111100000
as 5 consecutive 1’s are detected, one 0 should be stuffed
RECEIVER SITE:

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

I. During the reception de stuff flag pattern (01111110) from the data units.
II. At the receiving end, whenever in data it finds five consecutive one’s and the next bit are
zero then the receiver will de stuff that zero bit.
Ex:- Pattern to be transmitted – 00011110111110000
Message Received - 000111101111100000
at the receiver side again as it will detect 0 after 5 consecutive 1’s , it will destuff it.

LAB ASSIGNMENT:

INPUT: Enter the bit stream


01111110111110011101111110
OUTPUT:
String after stuffing
011111100111110101111100011101110111001111110
INPUT:
String after stuffing
011111100111110101111100011101110111001111110
OUTPUT: Enter the bit stream
01111110111110011101111110

POST EXPERIMENT QUESTIONS:

Q.1Why stuffing is done at 6th position after five consecutive 1’s?


Q.2 Does data extraction from the elongated string affects the stuffing process?

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 4

OBJECTIVE: Implement byte stuffing at sender’s and receiver’s end


BRIEF DESCRIPTION: To implement byte stuffing, a sender must scan an entire data block
and perform the mapping before any data is sent. Byte stuffing can solve the problem by reserving
a third character to mark occurrences of special characters in the data. Use reserved characters to
indicate the start and end of a frame. For instance, use the two-character sequence DLE STX
(Data-Link Escape, Start of TeXt) to signal the beginning of a frame, and the sequence DLE ETX
(End of TeXt) to flag the frame's end.

PRE EXPERIMENT QUESTIONS:

Q1. How is this stuffing different from bit stuffing?


Q2. Are we restricted to some specific characters for character oriented stuffing ?

ALGORITHM:

This is a framing method used by data link layer.


1. ASCII characters are used as framing delimiters (e.g. DLE STX and DLE ETX)
2. The problem occurs when these character patterns occur within the “transparent “data.
3. Solution: sender stuffs an Escape sequence into the data stream just before each occurrence of
an ‘accidental’ DLE in the data stream.
1. The data link layer on the receiving end unstuffs the DLE before giving the data to the network
layer.

SENDER SITE:

1. This is type of Framing Method.


2. During the transmission attach a FLAG pattern DLE STX at the start & DLE ETX end of data
Unit.
I. If transmitter sees same flag pattern in the data DLE stuff another DLE text called Escape
sequence in the data.

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

RECEIVER SITE

I. At the receiving end, whenever the data it finds DLE STX then receiver will destuff One DLE
STX.
II. Whenever finds the Escape sequence de-stuff it.

LAB ASSIGNMENT:

INPUT: Enter the string


this is a test
OUTPUT:
The final String is:
txthis is a xtesxtt
INPUT: Enter the string
txthis is a xtesxtt
OUTPUT:
Final string is this is a test

POST EXPERIMENT QUESTIONS:

Q.1 What happens if the two-character sequence DLE ETX happens to appear in the frame itself.
Q2. How byte stuffing is different from bit stuffing?

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 5

OBJECTIVE: Implement Cyclic Redundancy Check at Sender and Receiver Site.


BRIEF DESCRIPTION: A cyclic redundancy check (CRC) is an error-detecting code
commonly used in digital networks and storage devices to detect accidental changes to raw data.
Blocks of data entering these systems get a short check value attached, based on the remainder of
a polynomial division of their contents. On retrieval, the calculation is repeated and, in the event
the check values do not match, corrective action can be taken against data corruption.
CRCs are so called because the check (data verification) value is a redundancy (it expands the
message without adding information) and the algorithm is based on cyclic codes. CRCs are
popular because they are simple to implement in binary hardware, easy to analyze
mathematically, and particularly good at detecting common errors caused by noise in transmission
channels. Because the check value has a fixed length, the function that generates it is occasionally
used as a hash function.

PRE EXPERIMENT QUESTIONS:

Q1. What is cyclic redundancy check?


Q2. Is there a fixed divisor for the process?

ALGORITHM:

(Step 1 to 6: Sender Site; Step 7: decoding at Receiver Site)

1. Let the information byte F = 1001011


2. The sender and receiver agree on an arbitrary binary pattern P. Let P = 1011.
3. Shift F to the left by 1 less than the number of bits in P. Now, F = 1001011000.
4. Let F be the dividend and P be the divisor. Perform “modulo 2 division”.
5. After performing the division, we ignore the quotient. We got 100 for the remainder, which
becomes the actual CRC checksum.
6. Add the remainder to F, giving the message M:
1001011 + 100 = 1001011100 = M
7. M is decoded and checked by the message receiver using the reverse process.
____1010100

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

1011 | 1001011100
1011
001001
1001
0010
001011
1011
0000  Remainder

LAB ASSIGNMENT:

SENDER SITE:
INPUT:
Enter the data word: 1001
Enter the divisor
1011
OUTPUT: Sent word is
1001110
RECEIVER SITE:
INPUT:
Enter the data word
1001110
Enter the divisor
1011
OUTPUT: 000
No error

POST EXPERIMENT QUESTIONS:

Q.1 How do you interpret that the syndrome is free from errors?

Q.2Which arithmetic operation is used in CRC Procedure?

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 6

OBJECTIVE: Implement Hamming Code C (7, 4) at Sender and Receiver Site.


BRIEF DESCRIPTION:
1. One of the most effective codes for error-recovery
2. Used in situations where random errors are likely to occur
3. Error detection and correction increases in proportion to the number of parity bits (error-
checking bits) added to the end of the information bits
Codeword = information bits + parity bits
Hamming distance: the number of bit positions in
which two code words differ.
10001001
10110001
***
Minimum Hamming distance or D (min) : determines its error detecting and correcting
capability.
Hamming codes can always detect D (min) – 1 error, but can only correct half of those errors.

PRE EXPERIMENT QUESTIONS:

Q.1 What is the significance of parity bits in hamming code?


Q.2 What is Hamming Distance?

ALGORITHM:

Single parity bit can only detect error, not correct it


Input :Error-correcting codes require more than a single parity bit
EX. 00000
01011
10110
11101
OUTPUT: Minimum Hamming distance = 3
Can detect up to 2 errors and correct 1 error

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Hamming codes work well when we can reasonably expect errors to be rare events. (ex: hard
drives)
Hamming codes are useless when multiple adjacent errors are likely to occur. These errors are
called “burst errors” that result from mishandling removable media (ex: magnetic tapes or CDs).
LAB ASSIGNMENT:
Data Parity Code
Bits Bit Word
00 0 000
01 1 011
10 1 101
11 0 110

000* 100
001 101*
010 110*
011* 111

POST EXPERIMENT QUESTIONS:

Q.1 Why is Hamming Code called as SECDED?


Q.2 Can we correct burst errors using Hamming Code?

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 7

OBJECTIVE: To write a program to perform sliding window protocol.


BRIEF DESCRIPTION: A sliding window protocol is a feature of packet-based data
transmission protocols. Sliding window protocols are used where reliable in-order delivery of
packets is required, such as in the Data Link Layer (OSI model) as well as in the Transmission
Control Protocol (TCP).

PRE EXPERIMENT QUESTIONS:

Q.1 What is Sliding Window?


Q.2 What is usage of Sequence Number in Reliable Transmission?

ALGORITHM:
1. Start the program.
2. Get the frame size from the user
3. To create the frame based on the user request.
4. To send frames to server from the client side.
5. If your frames reach the server it will send ACK signal to client otherwise it
will send NACK signal to client.
6. Stop the program.

LAB ASSIGNMENT:

INPUT:
Data frame based on sender window
OUTPUT:
ENTER THE WINDOWS SIZE: 10
SENDER WINDOW IS EXPANDED TO STORE MESSAGE OR WINDOW
ENTER THE DATA TO BE SENT:
MESSAGE SEND BY THE SENDER:
WINDOW SIZE OF RECEIVER IS EXPANDED

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

ACKNOWLEDGEMENT FROM RECEIVER


ACK:5
MESSAGE RECEIVED BY RECEIVER IS :
WINDOW SIZE OF RECEIVER IS SHRINKED

POST EXPERIMENT QUESTIONS:

Q.1 What is Stop-and-Wait Automatic Repeat Request?


Q.2 What is the maximum window size for data transmission using the selective reject protocol
with n-bit frame sequence numbers

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 8
OBJECTIVE: Implement Subnetting to generate Range of IP Addresses (First & Last).
BRIEF DESCRIPTION: IP (Internet Protocol) addresses are used to identify hosts on the
campus Internet, a network that ties into the Internet, a global network. If the computer is attached
to the network, it needs an IP address to be recognized as part of the campus Internet. IP
addresses are constructed according to a set of specific rules so that hosts on any part of the
Internet can communicate with each other. An IP address consists of a 32-bit binary number,
which is typically presented as four decimal numbers (one for each 8-bit byte) separated by
decimal points. For example, 128.253.21.58.
HostAddress
The host address is the address given to the workstation, other computer, or device that is
connected to the LAN.
Subnetting
Subnetting is the process of dividing an IP network in to sub divisions called subnets. Computers
belonging to a sub network have a common group of most-significant bits in their IP addresses.
So, this would break the IP address in to two parts (logically), as the network prefix and the rest
field. Dividing an IP network in to sub divisions is subnetting. It divides an IP address in to two
parts as the network (or routing prefix) and the rest field (which is used to identify a specific
host). CIDR notation is used for writing a routing prefix. This notation uses a slash (/) to separate
the network starting address and the length of the network prefix (in bits). For example, in IPv4,
192.60.128.0/22 indicates that 22 bits are allocated for the network prefix and the remaining 10
bits are reserved for the host address. In addition, routing prefix can also be represented using the
subnet mask. 255.255.252.0 (11111111.11111111.11111100.00000000) is the subnet mask for
192.60.128.0/22. Separating the network portion and the subnet portion of an IP address is done
by performing a bitwise AND operation between the IP address and the subnet mask. This would
result in identifying the network prefix and the host identifier.
Supernetting
Supernetting combines several sub networks, having a Classless Inter-Domain Routing (CIDR)
routing prefix. Supernetting is also called route aggregation or route summarization. Supernetting
is the practice of combining several IP networks with a common network prefix. Supernetting was
introduced to tackle the problem of increasing size in routing tables. Supernetting also simplifies

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

the routing process. For example, the subnetworks 192.60.2.0/24 and 192.60.3.0/24 can be
merged with the supernetwork denoted by 192.60.2.0/23. In the supernet, the first 23 bits are the
network part of the address and the other 9 bits are used as the host identifier. So, one address will
represent several small networks and this would reduce the number of entries that should be
integrated in the routing table. Supernetting is typically used for class C IP addresses (addresses
beginning with 192 to 223 in decimal), and most of the routing protocols support supernetting.
Examples of such protocols are Border Gateway Protocol (BGP) and Open Shortest Path First
(OSPF). But, protocols such as Exterior Gateway Protocol (EGP) and the Routing Information
Protocol (RIP) do not support supernetting.

Fig. 1 A Supernetted Network

Fig. 2 A network with three levels of hierarchy (subnetted)

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

PRE EXPERIMENT QUESTIONS:


Q.1 Input should be binary form or in the form of an IP address?
Q.2 IP-v 4 or IP-V-6 version? Does it affects the subnetting process??

ALGORITHM: Subnetting process itself described above


INPUT:
In order to define the range of IP addresses we need the following:
In subnetting:
The first address of the subnet + subnet mask
In supernetting:
The first address of the supernet + supernet mask
OUTPUT: Subnets for a given network.

LAB ASSIGNMENT:
Q1. How many subnets and hosts per subnet can you get from the network
172.28.0.0 255.255.254.0?

POST EXPERIMENT QUESTIONS:


Q.1 What is the difference between subnetting and supernetting?

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 9

OBJECTIVE: To implement date and time display along with message transfer
(Chat) from local host to server using TCP /UDP
BRIEF DESCRIPTION: To compute date and time from local host using transmission control
protocol.

PRE EXPERIMENT QUESTIONS:


Q.1 What is socket address?
Q.2 How to establish a connection from client to server using TCP.

ALGORITHM:
CLIENT
1. Start the program
2. Include necessary package in java
3. To create a socket in client to server.
4. The client connection accept to the server and replay to read the system date and time.
5. Stop the program.
SERVER
INPUT: Insert a client request
1. Start the program
2. Include necessary package in java
3. To create a socket in server to client.
4. To display the current date and time to client
5. Stop the program
OUTPUT:
CLIENTSIDE:
C:\Program Files\Java\jdk1.5.0\bin>javac dateclient.java Note:
dateclient.java uses or overrides a deprecated API. Note:
Recompile with -deprecation for details. C:\Program
Files\Java\jdk1.5.0\bin>java dateclient

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB ASSIGNMENT:
THE date in the server is: Sat Jul 19 13:01:16 GMT+05:30 2008
C:\Program Files\Java\jdk1.5.0\bin>
SERVERSIDE:
C:\Program Files\Java\jdk1.5.0\bin>javac dateserver.java Note:
dateserver.java uses or overrides a deprecated API. Note:
Recompile with -deprecation for details.
C:\Program Files\Java\jdk1.5.0\bin>java dateserver
THE CLIENT SYSTEM ADDRESS IS :com17/192.168.21.17

POST EXPERIMENT QUESTIONS:


Q.1 What message does the client system and server system generates?
Q.2 what are the necessary packages in java to implement this pro

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 10

OBJECTIVE: Implement RSA Algorithm.


BRIEF DESCRIPTION:
RSA is an ALGORITHM for public-key cryptography that is based on the presumed difficulty of
factoring large integers, the factoring problem. In cryptography, the RSA problem summarizes
the task of performing an RSA private-key operation given only the public key. The RSA
ALGORITHM raises a message to an exponent, modulo a composite number N whose factors are
not known. As such, the task can be neatly described as finding the eth roots of an arbitrary
number, modulo N. For large RSA key sizes (in excess of 1024 bits), no efficient method for
solving this problem is known; if an efficient method is ever developed, it would threaten the
current or eventual security of RSA-based cryptosystems—both for public-key encryption and
digital signatures.
More specifically, the RSA problem is to efficiently compute P given an RSA public key (N, e)
and a ciphertext C ≡ Pe (mod N). The structure of the RSA public key requires that N be a large
semi prime (i.e., a product of two large prime numbers), that 2 < e < N, that e be coprime to φ(N),
and that 0 ≤ C < N. C is chosen randomly within that range; to specify the problem with complete
precision, one must also specify how N and e are generated, which will depend on the precise
means of RSA random key pair generation in use.
The RSA ALGORITHM involves three steps: Key generation, encryption and decryption.

PRE EXPERIMENT QUESTIONS:


Q1. What is RSA ALGORITHM?
Q2. Which layer uses RSA ALGORITHM?

ALGORITHM:
Key generation
RSA involves a public key and a private key; the public key can be known to everyone and is
used for encrypting messages. Messages encrypted with the public key can only be decrypted in a
reasonable amount of time using the private key. The keys for the RSA ALGORITHM are
generated the following way:

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

1. Choose two distinct prime numbers p and q.


For security purposes, the integer’s p and q should be chosen at random, and should be of similar
bit-length. Prime integers can be efficiently found using a primality test.
1. Compute n = pq.
n is used as the modulus for both the public and private keys. Its length, usually expressed in
bits, is the key length.
2. Compute φ(n) = (p – 1)(q – 1), where φ is Euler's totient function.
3. Choose an integer e such that 1 < e < φ(n) and greatest common divisor gcd(e, φ(n)) = 1; i.e., e
and φ(n) are coprime.
e is released as the public key exponent.
e having a short bit-length and small Hamming weight results in more efficient encryption
– most commonly 216 + 1 = 65,537. However, much smaller values of
e (such as 3) have been shown to be less secure in some setting.
4. Determine d as d ≡ e−1 (mod φ(n)), i.e., d is the multiplicative inverse of e (modulo φ(n)).
• This is more clearly stated as solve for d given de ≡ 1 (mod φ(n))
• This is often computed using the extended Euclidean ALGORITHM.
• d is kept as the private key exponent.
By construction, d⋅e ≡ 1 (mod φ(n)). The public key consists of the modulus n and the public
(or encryption) exponent e. The private key consists of the modulus n and the private (or
decryption) exponent d, which must be kept secret. p, q, and φ(n) must also be kept secret because
they can be used to calculate d.
Encryption
INPUT: Alice transmits her public key (n, e) to Bob and keeps the private key secret. Bob then
wishes to send message M to Alice.
He first turns M into an integer m, such that 0 ≤ m < n by using an agreed-upon reversible
protocol known as a padding scheme. He then computes the ciphertext c corresponding to
OUTPUT:

This can be done quickly using the method of exponentiation by squaring. Bob then transmits c to
Alice.
Decryption

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Alice can recover m from c by using her private key exponent d via computing

Given m, she can recover the original message M by reversing the padding scheme.

LAB ASSIGNMENT:
Q1.Callie wants to send the message M = 13 to Alice. Using Alice’s public and private keys,
calculate the cipher text C, and the value for R when Alice recovers the message.
Q2. Dexter wants to set up his own public and private keys. He chooses p = 23 and q = 19 with
e = 283. Find d so that ed has a remainder of 1 when divided by (p − 1)(q − 1)

POST EXPERIMENT QUESTIONS:


Q1.What is difference between RSA encryption and decryption process?
Q2.Which keys are selected for encryption and decryption process?

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

LAB EXPERIMENT 11

OBJECTIVE: Implement Diffie Hellman ALGORITHM.


BRIEF DESCRIPTION: Diffie–Hellman key exchange (D-H) is a specific method of
exchanging cryptographic keys. It is one of the earliest practical examples of key exchange
implemented within the field of cryptography. The Diffie–Hellman key exchange method allows
two parties that have no prior knowledge of each other to jointly establish a shared secret key over
an insecure communications channel. This key can then be used to encrypt subsequent
communications using a symmetric key cipher. The Diffie–Hellman problem is stated informally
as follows:
Given an element g and the values of gx and gy, what is the value of gxy?
Formally, g is a generator of some group (typically the multiplicative group of a finite field or an
elliptic curve group) and x and y are randomly chosen integers. Diffie Hellman key exchange
ALGORITHM uses asymmetric key principles for the distribution of symmetric keys to both
parties in a communication network. Key distribution is an important aspect of conventional
ALGORITHM and the entire safety is dependent on the distribution of key using secured channel.
Diffie Hellman utilizes the public& private key of asymmetric key cryptography to exchange the
secret key. Before going in depth of Diffie Hellman ALGORITHM, we define primitive root of a
prime number 'p' as one whose powers generate all the integers from 1 to p-1, i.e. if 'a' is the
primitive root of a prime no 'p', then, a mod p , a2 mod p , a 3 mod p, .............. ap-1 mod p generate
all distinct integers from 1 to (p-1) in some permutation.

PRE EXPERIMENT QUESTIONS:


Q1. What is Diffie-Hellman exchange ALGORITHM?
Q2. How is network security assured by this procedure?

ALGORITHM:
The steps for Diffie Hellman key exchange ALGORITHM are:
Step 1 : GLOBAL PUBLIC ELEMENTS
Select any prime no : 'q'

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

Calculate the primitive root of q : 'a' such that a<q

Step 2 : ASYMMETRIC KEY GENERATION BY USER 'A'


Select a random number as the private key XA where XA < q
Calculate the public key YA where YA = aXA mod q

Step 3 : KEY GENERATION BY USER 'B'


Select a random number as the private key XB where XB < q
Calculate the public key YB where YB = aXB mod q

Step 4 : Exchange the values of public key between A & B

Step 5 : SYMMETRIC KEY (K) GENERATION BY USER 'A'


K= YB XA mod q

Step 6 : SYMMETRIC KEY (K) GENERATION BY USER 'B'


K= YA XB mod q

LAB ASSIGNMENT:
INPUT: random prime number
OUTPUT: Symmetric Key

POST EXPERIMENT QUESTIONS:


Q1. How secure is this ALGORITHM?
Q2.What challenges are encountered after implementing this pseudo code?

LANGUAGE FOR IMPLEMENTATION: C/C++/Java

Department of Information Technology (CSE DS Program) 2023-24


Computer Network Lab (KCS-653)

This lab manual has been prepared by

Mr. Birendra Kumar Verma Ms. Charu Awasthi


([email protected]) ([email protected])

Please spare some time to provide your valuable feedback

Department of Information Technology (CSE DS Program) 2023-24

You might also like