0% found this document useful (0 votes)
14 views29 pages

SDN Lab Manual

The document outlines the course details for 'Software Defined Network' (CSS365) at M.A.M. College of Engineering and Technology, including the vision and mission of the institution and department, program outcomes, educational objectives, and specific outcomes for students. It also details the syllabus, course objectives, lab exercises, and grading rubrics for assessments. The document emphasizes the importance of practical experience and ethical responsibility in the field of Information Technology education.

Uploaded by

gunavathy.it22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views29 pages

SDN Lab Manual

The document outlines the course details for 'Software Defined Network' (CSS365) at M.A.M. College of Engineering and Technology, including the vision and mission of the institution and department, program outcomes, educational objectives, and specific outcomes for students. It also details the syllabus, course objectives, lab exercises, and grading rubrics for assessments. The document emphasizes the importance of practical experience and ethical responsibility in the field of Information Technology education.

Uploaded by

gunavathy.it22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 29

M.A.M.

College of Engineering and Technology

Department of Information Technology

MASTER RECORD

COURSE CODE : CSS365

COURSE NAME : SOFTWARE DEFINED NETWORK

YEAR / SEMESTER: III / VI

DEPARTMENT : IT

REGULATION : AU-R2021

ACADEMIC YEAR : 2023-2024 EVEN


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli–621105.

DEPARTMENT OF INFORMATION TECHNOLOGY

INSTITUTE VISION AND MISSION

VISION
To be a reputed Institution that fosters excellence in education, research and innovation
while upholding the highest standards of ethics and social responsibility.

MISSION
M1. To provide a comprehensive education that prepares students for successful careers.
M2. To foster a culture of research and innovation that drives progress.
M3. To collaborate with industry partners to provide practical experience for students.
M4. To promote ethical behavior and social responsibility among our community.
M5. To empower strong communication and leadership skills through open collaboration.
DEPARTMENT OF INFORMATION TECHNOLOGY

DEPARTMENT VISION AND MISSION

VISION
To be a school of excellence by providing holistic education and fostering research in
Information Technology to produce technically competent, socially and ethically
responsible students.

MISSION
M1. To provide a solid foundation in computational engineering for a successful career in
Information Technology.
M2. To provide technical support and facilities to enrich research and development in the
field of Information Technology.

DEPARTMENTOF IT, M.A.M.COLLEGEOFENGINEERINGANDTECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli–621105.

M3. To collaborate in interdisciplinary projects with academia and industry through


emerging technologies.
M4. To inculcate professional behavior, lifelong learning with ethical values.
M5. To empower engineers with excellent communication, teamwork and interpersonal
skills.
DEPARTMENT OF INFORMATION TECHNOLOGY
PROGRAM OUTCOMES
Information Technology Graduates will be able to:
1 Engineering Knowledge: Apply the knowledge of mathematics, science, engineering
Fundamentals, and an engineering specialization to the solution of complex engineering problems.
2 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.
3 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.
4 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
5 Modern Tool Usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modelling to complex engineering activities with
an understanding of the limitations.
6 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.
7 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.
8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of
the engineering practice.
9 Individual and Team Work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
10 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.
11 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
12 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.

DEPARTMENTOF IT, M.A.M.COLLEGEOFENGINEERINGANDTECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli–621105.

DEPARTMENT OF INFORMATION TECHNOLOGY

PROGRAM EDUCATIONAL OBJECTIVES (PEOs)

PEO1 To be a skilled professional in providing technically feasible solutions in data


driven technology and security principles for industry and society.

PEO2 To emerge as a developer & researcher by engaging in lifelong learning and


adapting to challenging environments.

PEO3 To exhibit entrepreneurship skills, leadership qualities and professional ethics


to start new ventures.

PEO4 To be prepared for their career in the software industry or pursue higher
studies to enhance their professional knowledge.

PROGRAM SPECIFIC OUTCOMES (PSOs)

PSO1 To apply basic science, programming, algorithms and data management for
developing software solutions.
PSO2 To apply data driven technology and information security principles for
developing reliable information systems

DEPARTMENTOF IT, M.A.M.COLLEGEOFENGINEERINGANDTECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli–621105.

Syllabus
CourseObjectives:
The main objectives of this course are to:
• To understand the need for SDN and its data plane operations
• To understand the functions of control plane
• To comprehend the migration of networking functions to SDN environment
• To explore various techniques of network function virtualization
• To comprehend the concepts behind network virtualization
List of Programs:

1) Setup your own virtual SDN lab


i) Virtualbox/Mininet Environment for SDN - http://mininet.org
ii) https://www.kathara.org
iii) GNS3
2) Create a simple mininet topology with SDN controller and use Wireshark to
capture and visualize the OpenFlow messages such as OpenFlow FLOW MOD,
PACKET IN, PACKET OUT etc.
3) Create a SDN application that uses the Northbound API to program flow table
rules on the switch for various use cases like L2 learning switch, Traffic
Engineering, Firewall etc.
4) Create a simple end-to-end network service with two VNFs using vim-emu
https://github.com/containernet/vim-emu
5) Install OSM and onboard and orchestrate network service.
Platform Needed:

Python3 interpreter for Windows/Linux

DEPARTMENTOF IT, M.A.M.COLLEGEOFENGINEERINGANDTECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli–621105.

TOTAL:30 PERIODS

Course Outcomes

CO Details BTL
CO603.1 Describe the basic concepts and architecture of SDN K2 – Understand
CO603.2 Explain the use cases of SDN and NFV. K2 – Understand
CO603.3 Demonstrate network applications using SDN.. K3 – Apply
CO603.4 Illustrate the migration of networking functions to SDN environment. K2-Understand
CO603.5 Describe the Network Functions Virtualization components and it’s
K2-Understand
working.
CO603.6 Discuss the major requirements of the design of an SDN protocol K3 – Apply

CO and PO Mapping

Program
Program Outcomes Specific
CO
Outcomes
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2
CO1 3 2 - - - - - - 2 2 2 - 2 3
CO2 3 3 2 2 - - - - 2 2 2 - 2 3
CO3 3 2 2 3 2 - - - 3 2 2 - 3 2
CO4 3 2 - 3 - 2 2 - 3 2 2 2 2 3
CO5 3 3 - 2 - 2 2 - 3 2 3 - 3 2
CO6 3 3 2 3 3 2 3 3 3 3 3 3 3 2
2. 2. 2. 2. 2. 2. 2.
3 2 2 3 2.3 2.5 2.5
5 6 5 3 6 1 5
CORRELATION
STRONG S/3 MEDIUM M/2 WEAK W/1

DEPARTMENTOF IT, M.A.M.COLLEGEOFENGINEERINGANDTECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

INDEX

I Cycle Experiments

Sl.No Name of the Experiment CO Pag


. eNo
.
1 1) Setup your own virtual SDN lab CO603.3
.
i) Virtualbox/Mininet Environment for SDN http://mininet.org
ii) https://www.kathara.org
iii) GNS3
I Create a simple mininet topology with SDN controller and use CO603.3
2.
Wireshark to capture and visualize the OpenFlow messages such as
OpenFlow FLOW MOD, PACKET IN, PACKET OUT etc.
3 Create a SDN application that uses the Northbound API to program CO603.3
flow table rules on the switch for various use cases like L2 learning
switch, Traffic Engineering, Firewall etc.
4 Create a simple end-to-end network service with two VNFs using vim- CO603.4
emu https://github.com/containernet/vim-emu
5. Install OSM and onboard and orchestrate network service. CO603.2

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

RUBRICS: Grading of Laboratory exercise


Marks Marks
Criterion(marks) awarded
5 to4 3 to2 1 to0 for the
Criterion
1. Correctness of
All the steps are Some steps are Steps are not followed.
the Procedure for
followed in correct followed but error Not showing interest to
the experiment
sequence. Knows occurred. Proceeded the do the experiment.
/
how to proceed the experiment with the
exercise(3) experiment. guidance.
8 or7 or6 5 or4 or3 2 or1 or0
2. Skills level in Show excellent Show minimal Show no
performing the understanding of Understanding of the Understanding of the
experiment / the experiment. experiment. All data is experiment. All data is
exercise(8) All data is recorded recorded and is not not recorded and is not
and neatly presented presented neatly presented neatly

3 2 1
3. Inferences drawn Correct inferences Inferences drawn are Inferences drawn are
from the have been drawn and correctly but not partially incorrectly or
experiment / presented presented incorrect
exercise(3) Professionally Professionally
3 2 1
4. Presentation of Calculation are Calculation are present Wrong calculations.
results(3) present neatly with neatly with minor Major mistakes.
accurate results. mistakes

5 to4 3 to2 1 to0


5. Clarity in Almost all the Partially answered Unable to answer.
answering Viva questions are
questions(5) answered.
3 2 1
6. Attitude reflected The experiment is The experiment is Theexperimentisnotco
in doing the completed on time. completed on time, but mpletedontime.Observa
experiment/ Manual/Record the Manual/Record tion/
exercise(3) note is submitted note is not submitted on Recordnoteisnotsubmitt
on time. time edontime.

Total marks out of 25

Lab In-charge HoD

Ex No.1 Date: ….…………

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

INSTALL YOUR SDN USING MININET KATARA ON GNS3

Aim:
To install our own SDN layer by using mininet, kithara, and GNS3

Algorithm:
1) By using mininet
a. Install mininet: start by installing mininet through official instruction
b. Mininet CCI setup: Lauch the miniset CCI with ‘sudo mn’ to establish the
default networks topology install vm ware / install gns3 / install GNS3 VM
/
c. Start SDN controller: Launch the SDN controller using the sudo mn
d. Custom topology (Option) : 16 Cleaned a custom network topology in
mininet using python.
2) By using kithara
a. Download and install kithara visit www.kathara.org
b. Install SDN controller: choose and SDN controller open add blood light and
yellow its documentation to install in your system
c. Create kithara environment
d. Lauch environment
e. Intract with CLI
3) By using GNS
a. Download and install GNS from the install based on your DS
b. Install dependencies: Install addition as needed during the GNS3
c. Download SDN controller virtual machine VM
d. Create and drag devices on to the wavespace
e. Connection device power the SDN controller VM and configuring network
interfaces and application

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Output:

Sample Pre-Viva Questions:


DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY
M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

1. What is TensorFlow's primary purpose?


2. Define a tensor.
3. How do you create constant tensors in TensorFlow?
4. Explain vector addition in TensorFlow.
5. What are the advantages of using TensorFlow for vector addition?
6. What is the significance of the numpy() function in TensorFlow?
7. How does TensorFlow distribute computation across devices?
8. What factors influence the choice between TensorFlow and other numerical computation
libraries?
9. What challenges might arise when implementing vector addition in TensorFlow?
10. How can you verify the correctness of your vector addition implementation in
TensorFlow?
Sample Post-Viva Questions:
1.What optimizations could you apply to enhance the performance of vector addition in
TensorFlow?
2.How would you extend your implementation to handle larger datasets or higher-
dimensional tensors?
3.Explain the computational graph TensorFlow constructs for vector addition.
4.In what scenarios would you recommend TensorFlow over alternatives like NumPy or
PyTorch?
5.What role does data preprocessing play in the efficiency of vector addition in
TensorFlow?
6.Could you elaborate on any trade-offs involved in using TensorFlow for vector addition?
7.How would you handle errors or exceptions that may occur during vector addition in
TensorFlow?
8.What steps would you take to profile and analyze the performance of your vector
addition implementation?
9.What considerations would guide your decision to deploy a vector addition model built
with TensorFlow in a production environment?
10. How might you collaborate with team members to improve the efficiency and
reliability of vector addition in TensorFlow?

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Marks Obtained:

Correctness Skills level Inferences Presentation Clarity in Attitude Total


of the inperformin drawn from of results Answering reflected in (25)
Procedure for g the the (3) Viva doing the
theexperiment Experiment / Experiment questions experiment
/exercise(3) exercise /exercise (5) /exercise
(8) (3) (3)

Result:
Thus the installation and setup of our virtual SDN lab successfully.

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Ex No.2 Date: ….…………

CREATE A SIMPLE MININET TOPOLOGY WITH SDN CONTROLLER


AND USE WIRESHARK
Aim:
1. Create a simple Mininet network with an SDN controller (Ryu).
2. Capture OpenFlow messages, including FLOW_MOD, PACKET_IN, and
PACKET_OUT, using Wireshark.
3. Visualize the captured OpenFlow messages for analysis.

PROCEDURE:

1. Install Mininet:
Ensure you have Mininet installed on your system. You can use a Linux
distribution for this task.
2. Install Ryu SDN Controller:
Install Ryu, a popular SDN controller, using pip:
pip install ryu
3.Create the Mininet Topology:
Create a Python script (e.g., `mininet_topology.py`) to define your Mininet
network topology and start Mininet with the Ryu controller. Here's an example
topology with a single switch and two hosts:
python from mininet.net import
Mininet from mininet.topo import
SingleSwitchTopo from
mininet.node import
RemoteController
# Create a Mininet instance net =
Mininet(topo=SingleSwitchTopo(2),
controller=RemoteController)
# Start Mininet
net.start()

4. Start the Ryu Controller:


In a separate terminal, start the Ryu controller:

ryu-manager

5. Capture OpenFlow Messages with Wireshark:


• Start Wireshark and select your network interface (e.g., `eth0`).

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

• Apply a display filter to capture only OpenFlow messages. Use the filter
expression: `of`.
• Begin capturing packets by clicking the "Start" button in Wireshark.

6. Generate OpenFlow Messages:


In the Mininet terminal, you can use the Mininet CLI to generate OpenFlow messages.
For example, you can add a flow rule (FLOW_MOD) or generate traffic (PACKET_OUT).

OUTPUT

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Pre-Viva Questions:
1. What is Keras?
DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY
M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

2. What is the purpose of a regression model?


3. How does Keras represent a neural network model?
4. How do you define a simple regression model architecture in Keras?
5. What loss function is commonly used for regression tasks?
6. What optimizer is typically used for training regression models in Keras?
7. How do you compile a Keras model?
8. What is the purpose of the fit() method in Keras?
9. What role does the activation function play in a regression model?
10. How can you evaluate the performance of a regression model in Keras?
Post-Viva Questions:
1. What considerations guide your choice of the number of hidden layers and neurons?
2. How do you handle outliers or noisy data in the input for your regression model?
3. What regularization techniques prevent overfitting in your regression model?
4. How could you incorporate categorical or text features into your regression model in
Keras?
5. How do you diagnose and troubleshoot poor performance of your regression model?
6. Why is feature scaling important in training a regression model?
7. How do you interpret the weights learned by the regression model for each feature?
8. What techniques improve the generalization performance of your regression model?
9. What challenges arise when deploying a trained regression model into production?
10. How do you communicate results and insights from your regression model to
stakeholders?
Marks Obtained:

Correctness Skills level Inferences Presentation Clarity in Attitude Total


of the inperforming drawn from the of results Answering reflected in (25)
doing the
Procedure for the Experiment (3) Viva
experiment
theexperiment Experiment / /exercise questions
/exercise
/exercise(3) exercise (3) (5)
(3)
(8)

Result:
Thus the creation of a simple mininet topology with SDN controller and use
wireshark to capture and visualization was executed successfully.

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Ex.No: 3 Date:…….

CREATE SDN APPLICATION THAT USES THE NORTHBOUND API TO


PROGRAM TABLE RULES ON THE SWITCH FOR VARIOUS USE CASES
LIKE L2 LEARNING SWITCH, TRAFFIC ENGINEERING, FIREWALL ETC.

Aim:
To create SDN application that uses the northbound API to program table rules on the
switch for various use cases like L2 learning switch.

Algorithm:
1) Choose an SDN Controller
2) Setup Development Environment
3) Familiarize Northbound API
4) Choose programming language and framework
5) Develop application structure
6) Implement L2 learning switch use case
7) Implement traffic engineering use case
8) Implement Firewall use case
9) Expose APIs for Northbound communication

Program:
import requests

class SDNApp(object):
def __init__(self, controller_ip):
self.controller_ip = controller_ip
self.session = requests.Session()

def program_table_rules(self, table_name, rules):


"""Programs the given table rules on the switch.

Args:

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

table_name: The name of the table to program.


rules: A list of table rules to program.
"""

url = "http://{}/v1/tables/{}/rules".format(self.controller_ip, table_name)


headers = {"Content-Type": "application/json"}
data = json.dumps(rules)
response = self.session.post(url, headers=headers, data=data)
response.raise_for_status()

def create_l2_learning_switch(self):
"""Creates an L2 learning switch.

This switch will learn the MAC addresses of devices connected to it and
forward traffic accordingly.
"""

rules = [
{
"match": {"eth_type": 0x800},
"action": "learn_mac"
},
{
"match": {"eth_dst": "00:00:00:00:00:00"},
"action": "flood"
},
{
"match": {"eth_dst": "unicast"},
"action": "forward"

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

}
]

self.program_table_rules("l2_learning", rules)

def create_traffic_engineering_switch(self):
"""Creates a traffic engineering switch.

This switch will forward traffic according to the given traffic


engineering
rules.
"""

rules = [
{
"match": {"ip_dst": "10.0.0.0/8"},
"action": "forward_to_port_1"
},
{
"match": {"ip_dst": "192.168.0.0/24"},
"action": "forward_to_port_2"
}
]

self.program_table_rules("traffic_engineering", rules)

def create_firewall(self):
"""Creates a firewall.

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

This firewall will block traffic according to the given firewall rules.
"""

rules = [
{
"match": {"ip_src": "10.0.0.0/8"},
"action": "drop"
},
{
"match": {"ip_dst": "192.168.0.0/24"},
"action": "allow"
}
]

self.program_table_rules("firewall", rules)

if __name__ == "__main__":
controller_ip = "10.0.0.1"
app = SDNApp(controller_ip)

# Create an L2 learning switch.


app.create_l2_learning_switch()

# Create a traffic engineering switch.


app.create_traffic_engineering_switch()

# Create a firewall.
app.create_firewall()

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Output
$ python sdn_app.py
Creating L2 learning switch...
Creating traffic engineering switch...
Creating firewall...

Pre-Viva Questions:
1. What is a perceptron?
2. How does a perceptron learn?
3. What are the key components of a perceptron?
4. How do you represent the input and output of a perceptron?
5. What is the activation function used in a perceptron?
6. How do you initialize weights and bias in a perceptron?
7. How do you update weights and bias during training?
8. What is the role of the learning rate in training a perceptron?
9. What are the limitations of a single-layer perceptron?
10. How can you extend a perceptron to handle non-linearly separable data?
Post-Viva Questions:
1. How would you evaluate the performance of a trained perceptron?
2. What regularization techniques could you apply to prevent overfitting in a perceptron
model?
3. How do you handle class imbalances in the training data when training a perceptron
for classification tasks?
4. Could you explain the difference between a perceptron and a neural network with
multiple layers?
5. How do you visualize the decision boundary learned by a perceptron?
6. What considerations would guide your choice of activation function for a perceptron?
7. How do you interpret the weights learned by a trained perceptron?
8. What are some strategies for improving convergence and reducing training time in a
perceptron?
9. How would you deploy a trained perceptron model into a production environment?
10. What are some practical applications of perceptrons in real-world problems?
Marks Obtained:

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Correctness Skills level Inferences Presentation Clarity in Attitude Total


of the inperforming drawn from the of results Answering reflected in (25)
doing the
Procedure for the Experiment (3) Viva
experiment
theexperiment Experiment / /exercise questions
/exercise
/exercise(3) exercise (3) (5)
(3)
(8)

Result:
The result is a working SDN application that leverages the Northbound API to program flow
table rules on SDN switches for different use cases. The application should effectively control
network traffic based on the specified policies and rules.

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Ex.No:4 Date:………..

IMPLEMENT A FEED-FORWARD NETWORK IN TENSORFLOW/KERAS.

Aim:
• Create a simple end-to-end network service with two VNFs using vim-emu.
• Install OSM and onboard and orchestrate the network service.

PROCEDURE:

1. Set Up the Environment:


Make sure you have a Linux system. You can set up a virtual machine or a dedicated
system.
- Install the required dependencies, including Docker and Docker Compose.

2. Install vim-emu:
Follow the instructions in the vim-emu GitHub repository
(https://github.com/containernet/vim-emu) to install vim-emu.

3. Create Network Topology:


Define a network topology using vim-emu. You can create a Python script that specifies
the network, VNFs, and their interconnections. For example, create a file named
`network_topology.py`:

python from mininet.net import


Containernet from mininet.node
import Docker from mininet.link
import TCLink from mininet.cli
import CLI

net = Containernet()

vnf1 = net.addDocker('vnf1', dimage="vnf1_image")


vnf2 = net.addDocker('vnf2', dimage="vnf2_image")

net.addLink(vnf1, vnf2, cls=TCLink)

net.start()
CLI(net)
net.stop()

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

4. Create VNF Docker Images:


Build Docker images for your VNFs. Create a `Dockerfile` for each VNF, specifying its
requirements and configurations. Build the images using Docker commands.

5. Launch the Network Topology:


Run your network topology with vim-emu:

sudo python network_topology.py

This will start the network and deploy the VNFs.

6. Install OSM:
Follow the instructions on the OSM GitHub repository (https://osm.etsi.org) to install OSM,
which includes installing the OSM client and server components.

7. Onboard the Network Service:


Use the OSM client to onboard your network service. You'll need to provide a descriptor (e.g.,
a TOSCA YAML file) for your service.

osm ns-create <your_network_service_descriptor_file>

8. Instantiate the Network Service:


Instantiate the network service using OSM:

osm ns-instantiate <ns-instance-name> <your_network_service_name>

Replace `<ns-instance-name>` with a suitable name for your instantiated service.

Output:

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Pre-Viva Questions:
1. What is a feed-forward neural network?
2. How does a feed-forward network differ from other types of neural networks?
3. What are the main components of a feed-forward network?
4. How do you represent the architecture of a feed-forward network?
5. What is the role of activation functions in a feed-forward network?
6. How do you initialize weights and biases in a feed-forward network?
7. What is the purpose of the forward pass in a feed-forward network?
8. What is backpropagation, and how is it used in training a feed-forward network?
9. How do you choose the number of layers and neurons in a feed-forward network?
10. What are some common challenges faced when training a feed-forward network?
Post-Viva Questions:
1. How do you evaluate the performance of a trained feed-forward network?
2. What techniques can you use to prevent overfitting in a feed-forward network?
3. How do you handle vanishing or exploding gradients in training a deep feed-forward
network?
4. Could you explain the concept of batch normalization and its role in training a feed-
forward network?
5. How would you implement dropout regularization in a feed-forward network?
6. What are some techniques for optimizing the hyperparameters of a feed-forward
network?
7. How do you interpret the learned features in the hidden layers of a feed-forward
network?
8. What are some strategies for improving convergence and reducing training time in a
feed-forward network?
9. How do you handle non-numeric data inputs in a feed-forward network?
10. What are some real-world applications where feed-forward networks are commonly
used?

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Marks Obtained:

Correctness Skills level Inferences Presentation Clarity in Attitude Total


of the inperformin drawn from of results Answering reflected in (25)
Procedure for g the the (3) Viva doing the
theexperiment Experiment / Experiment / questions experiment
/exercise(3) exercise exercise (5) /exercise
(8) (3) (3)

Result:
Thus the program for implementing informed search algorithms like A* and memory-
bounded A* has verified successfully and output is verified.
Thus the program for implementing informed search algorithms like A* and memory-
bounded A* has verified successfully and output is verified.
Thus the creation of simple and to end network service with two VNFs using Vim-
emu was successfull

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY


M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Ex No.5 Date: ….…………

INSTALL OSM AND ONBOARD AND ORCHESTRATE NETWORK


SERVICE

Aim:
To install osm and onboard and orchestrate network service

Procedure:
1. Setup openstack environment
2. Install magnum
3. Configure magnum
4. Onboard network service
5. Orches trate network service
6.Manage and Monitor

Pre Requirements:
 2CDUS
 6GB RAM
 40GB Disk
 Single inferface with internet aceess
 Ubuntu 20.04
Installation:
Install OSM
wget https://osm-download.etsi.org/ftp/osm-15.0-fifteen/install_osm.sh
chmod +x install_osm.sh

Optionally
./install_osm.sh --juju –lxd

Help
-y: do not prompt for confirmation, assumes yes
-r <repo>: use specified repository name for osm packages
-R <release>: use specified release for osm binaries (deb packages, lxd images, ...)
-u <repo base>: use specified repository url for osm packages
-k <repo key>: use specified repository public key url
--showopts: print chosen options and exit (only for debugging)
-D <devops path> use local devops installation path
-h / --help: prints help

Output
DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY
M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

Pre-Viva Questions:
1. What is a Convolutional Neural Network (CNN)?
2. How do CNNs differ from traditional feedforward neural networks?
3. What are the key components of a CNN architecture?
4. How do CNNs handle spatial hierarchies in data such as images?
5. What is the purpose of convolutional layers in a CNN?
6. How do pooling layers contribute to feature extraction in CNNs?
7. What is the role of activation functions in CNNs?
8. How are parameters learned and updated in a CNN during training?
9. What are some common techniques used to prevent overfitting in CNNs?
10. How do you evaluate the performance of an image classifier built using CNNs?
Post-Viva Questions:
1. How do you interpret the learned filters in the convolutional layers of a CNN?
2. What strategies can be employed to handle limited training data in CNNs?
DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY
M.A.M. College of Engineering and Technology
Siruganur, Tiruchirappalli – 621105.

3. How does data augmentation contribute to improving the generalization performance


of CNNs?
4. What is transfer learning, and how can it be applied to CNNs?
5. How do you fine-tune a pre-trained CNN for a specific image classification task?
6. What are some common architectures for CNNs used in image classification?
7. How would you deploy a trained CNN-based image classifier into a production
environment?
8. What are the computational challenges associated with training large CNNs?
9. How do you handle multi-class classification tasks in CNNs?
10. What advancements have been made in CNN architectures in recent years, and how do
they impact image classification tasks?

Marks Obtained:

Correctness Skills level Inferences Presentation Clarity in Attitude Total


of the inperformin drawn from of results Answering reflected in (25)
Procedure for g the the (3) Viva doing the
theexperiment Experiment / Experiment / questions experiment
/exercise(3) exercise exercise (5) /exercise
(8) (3) (3)

Result:
Thus the program for implementing informed search algorithms like A* and memory-
bounded A* has verified successfully and output is verified.
Thus the program for implementing informed search algorithms like A* and memory-
bounded A* has verified successfully and output is verified.
Thus the installation of OSM and onboard orchestrate network service was successful.

DEPARTMENTOF IT, M.A.M. COLLEGE OF ENGINEERING AND TECHNOLOGY

You might also like