B V Raju Institute of Technology: Software-Defined Networking (SDN)
B V Raju Institute of Technology: Software-Defined Networking (SDN)
B V Raju Institute of Technology: Software-Defined Networking (SDN)
A Seminar Report submitted in partial fulfillment of the requirement for the award of
the degree of
BATCHELOR OF TECHNOLOGY
in
ELECTRONICS & COMMUNICATION ENGINEERING
by
Mr. J. Kishore
Assistant Professor
CERTIFICATE
This is to certify that Seminar Report entitled “TITLE OF THE PROJECT” is being
submitted by Ms. CM. Sravani (21215a0413), in partial fulfilment of the requirement for the award
Technological University (JNTU), Hyderabad is a record of bonafide work carried out by him/her
The summary and findings presented in this Seminar Report have been verified and found to be
satisfactory
EXTERNAL EXAMINER
CERTIFICATE
This is to certify that Chinna Manturu Sravani bearing Roll number 21215a0413 has successfully
ACKNOWLEDGEMENTS
(Contact your guide for whom you need to acknowledge)
We take this opportunity to express our indebt gratitude to the persons who contributed for our work,
for being our inspiration and guide which led to the successful completion of the Seminar Report.
We are grateful towards our College Management and our beloved Principal Dr. Sanjay Dubey, Ph.D,
for providing us the necessary infrastructure and facilities that ensured smooth and satisfactory
We would like to express our profound gratitude to our head of the department Dr.B R. Sanjeev
Reddy, Ph.D, Professor & HOD, Department of Electronics and Communication Engineering, for his
encouragement, inspiration, close monitoring and guidance he gave meduring the execution of the
Seminar Report
We express our sincere thanks to Mr. J. Kishore (Ph.D), Assistant Professor, /Dept. of ECE, our guide,
for his valuable suggestions and motivation in successful completion of the major project. We also
wish to express our thanks to all the faculty members and laboratory staff that were helpful both
Regards
CM.Sravani (21215a0413)
DECLARATION
It is further declaring that the Seminar Report on any part, therefore, has not been previously submitted
ABSTRACT
In a traditional network, each switch has its own data plane as well as the control plane. The control
plane of various switches exchange topology information and hence construct a forwarding table that
decides where an incoming data packet has to be forwarded via the data plane. Software-defined
networking (SDN) is an approach via which we take the control plane away from the switch and
assign it to a centralized unit called the SDN controller. Hence, a network administrator can shape
traffic via a centralized console without having to touch the individual switches. The data plane still
resides in the switch and when a packet enters a switch, its forwarding activity is decided based on the
entries of flow tables, which are pre-assigned by the controller.
The tables dictate the path of incoming data packets through the
respective data planes. However, SDN revolutionizes this structure by
centralizing the control plane within an entity known as the SDN controller,
removing it from individual switches. This centralized control hub empowers
network administrators to orchestrate traffic flow through a unified interface,
eliminating the need for manual adjustments on each switch.
Within an SDN framework, the data plane remains housed within the
switches. As packets traverse the network and reach a switch, their forwarding
trajectory is determined by predefined entries in flow tables. These tables are
programmed and managed by the SDN controller, imparting a dynamic and
responsive nature to the network's behavior. This separation of control and data
planes introduces a level of flexibility and adaptability previously unattainable in
traditional networking architectures.
The pivotal aspect of SDN lies in its ability to abstract and centralize network
intelligence. By consolidating control, administrators gain granular control over
traffic management, quality of service (QoS), and security policies. This
abstraction fosters agility and scalability within networks, allowing for swift
adjustments and optimizations without requiring manual reconfiguration of
individual switches.
CONTENT
CERTIFICATE II
ACKNOWLEDGEMENTS IV
DECLARATION V
ABSTRACT VI
CONTENTS VII
1. INTRODUCTION 01
01
INTRODUCTION:
The data plane on the other hand forwards traffic based on rules as
dictated by control plane logic like forward, filter, buffer, rate-limit and
measure packets. Some of the benefits of separating the data and control
plane (SDN) are:
HISTORY:
The roots of Software-Defined Networking (SDN) trace back to the early
2000s when networking researchers began exploring the concept of
separating the control plane from the data plane. One of the seminal works
that laid the foundation for SDN was the development of the "OpenFlow"
protocol, introduced by researchers at Stanford University in collaboration
with companies like Google and NEC. OpenFlow emerged as a pivotal protocol
enabling the programmability and centralized control of network devices, a
hallmark of SDN.
Simultaneously, the northbound APIs serve as the bridge between the SDN
controller and the diverse spectrum of applications operating atop the
network. These applications, ranging from traffic optimization tools to
advanced security suites, utilize the northbound APIs to communicate their
requirements or receive updates on network status. This flexibility allows for
the development and integration of a wide array of software applications,
fostering innovation and adaptability within the network ecosystem.
SDN Controller: The SDN controller serves as the core component of the
architecture, acting as the centralized brain that oversees and manages
network behavior. It communicates with network devices using protocols like
OpenFlow and provides a centralized point for configuring, controlling, and
monitoring the network. The controller implements network policies, defines
traffic forwarding rules, and orchestrates the flow of data across the network
based on application requirements and network conditions. It abstracts the
control plane from the underlying hardware, allowing for programmability and
automation of network tasks.
forward network traffic based on the policies and rules defined by the
controller.
Northbound APIs: Northbound APIs serve as the interface between the SDN
controller and higher-layer network management applications or
orchestration systems. These APIs enable external applications to interact
with the SDN controller to retrieve network information, implement network
policies, and request specific network services. Northbound APIs facilitate
integration with applications for network analytics, security, orchestration,
and other management functions, allowing for enhanced programmability and
automation.
Models of SDN:
Open SDN
SDN via APIs
SDN via Hypervisor-based Overlay Network
Hybrid SDN
1. Open SDN: Open SDN is implemented using the OpenFlow switch. It is a straightforward
implementation of SDN. In Open SDN, the controller communicates with the switches using
south-bound API with the help of OpenFlow protocol.
2. SDN via APIs: In SDN via API, the functions in remote devices like switches are invoked
using conventional methods like SNMP or CLI or through newer methods like Rest API. Here,
the devices are provided with control points enabling the controller to manipulate the remote
devices using APIs.
3. SDN via Hypervisor-based Overlay Network: In SDN via the hypervisor, the configuration of
physical devices is unchanged. Instead, Hypervisor based overlay networks are created over the
physical network. Only the devices at the edge of the physical network are connected to the
virtualized networks, thereby concealing the information of other devices in the physical network.
At the core of SDN lies the SDN controller, a centralized software platform that acts as the brain
of the network. Through standardized protocols like OpenFlow or NETCONF, the controller
communicates with network devices, such as switches and routers, utilizing southbound APIs.
This communication allows the controller to collect network information, define policies, and
instruct forwarding elements on how to handle incoming traffic.
Upon receiving network state information from these devices, the SDN controller constructs a
comprehensive view of the network topology. It leverages this global visibility to make informed
decisions regarding traffic management, routing, and policy enforcement across the network.
Using sophisticated algorithms and policies, the controller dynamically configures forwarding
tables on the switches or routers, dictating how packets are forwarded based on predefined rules.
The southbound APIs enable the controller to push these forwarding rules and configurations to
the network devices in real-time. This approach provides agility and flexibility, allowing the
network to adapt quickly to changing traffic patterns, application requirements, or network
conditions. Additionally, it centralizes policy enforcement, ensuring consistent application of
security policies, Quality of Service (QoS) settings, and other network-wide rules.
Meanwhile, the northbound APIs of the SDN controller facilitate communication with higher-
layer applications or management systems. These APIs allow external applications to interact
with the SDN controller to retrieve network information, implement network policies, or request
specific services. This interaction enables integration with various applications for network
analytics, monitoring, security, and orchestration, enhancing the overall functionality and
extensibility of the SDN architecture.
By separating the control logic from the underlying hardware, SDN enables network
programmability, automation, and abstraction. It offers administrators unprecedented flexibility in
managing and optimizing their networks, abstracting complexities, and simplifying network
management tasks. The programmable nature of SDN fosters innovation by allowing the
development of custom applications and services that utilize the centralized intelligence of the
SDN controller to address specific network requirements or business needs. SDN operates on a
flow-based forwarding model. When a packet enters a network device (such as a switch), it is
inspected by the device. If the packet matches an existing flow entry in the device's flow table, it
is forwarded according to the predefined instructions associated with that flow entry. If no match
is found, the packet is sent to the SDN controller for decision-making. The controller, based on
network policies and rules, determines the appropriate action for the packet and installs a new
flow entry in the device's flow table. This process of dynamic flow management allows for
efficient packet forwarding and traffic control.
SDN enables dynamic and on-the-fly network reconfiguration. Administrators can modify
network behavior, implement new policies, or reroute traffic in real-time by interacting with the
SDN controller. This dynamic configuration capability simplifies network management, allowing
for rapid adjustments to accommodate changing business requirements or network conditions
without manually reconfiguring individual devices.
SDN's programmable nature facilitates the development of custom network applications tailored
to specific organizational needs. Using APIs provided by the SDN controller, developers can
create applications that interact with the network infrastructure to automate tasks, optimize
performance, enhance security, or enable innovative services. For instance, applications for traffic
engineering, network slicing, quality of service (QoS) management, or even network-wide
monitoring and analytics are possible in an SDN environment.
SDN allows for network virtualization, enabling the creation of logical network segments or
overlays that operate independently of the physical infrastructure. Virtual networks can be
tailored to specific applications, departments, or user groups, enhancing isolation, security, and
resource utilization. This segmentation capability provides flexibility in network design and
enables multi-tenancy support, particularly useful in cloud environments.
Network Virtualization: Creating multiple virtual networks to optimize resource utilization and
enhance scalability within data centers.
Dynamic Traffic Management: Optimizing traffic flow, load balancing, and Quality of Service
(QoS) for data center applications.
Traffic Optimization: Dynamically routing traffic across multiple network connections (MPLS,
broadband, cellular) based on application needs and network conditions.
Branch Network Simplification: Centralized control and policy enforcement for managing branch
office networks more efficiently.
Cloud Networking:
Centralized Security Policies: Consistent and granular application of security policies across the
network to enhance overall security posture.
Segmentation and Isolation: Creating secure segments within the network to control traffic flow
and enhance security.
5G Networks:
Network Slicing: Creating multiple virtual networks over a shared infrastructure to cater to
diverse 5G use cases (e.g., enhanced mobile broadband, low-latency communications).
Network Monitoring and Analytics:
Real-time Analytics: Collecting and analyzing network data for proactive management, rapid
troubleshooting, and performance optimization.
Software-Defined Security:
Dynamic Threat Response: Automated threat detection and response mechanisms based on real-
time network intelligence.
Traffic Optimization: Dynamically directing traffic and caching resources to reduce latency and
improve content delivery speeds.
Advantages of SDN:
Disadvantages of SDN: