MN-Unit-2-Notes
MN-Unit-2-Notes
• Adaptability: networks will rapidly adapt and react to requirements, depend upon corporate policy
and network conditions.
• Automation: Policy modifications need to be propagated continuously in order to so it may be
possible to reduce manual work and errors.
• Maintainability: New features and capabilities are introduced (software upgrades, patches) should
be smooth and operating disruption minimal.
• Model management: the software for Network Management should enable network management
at the model level, instead of re configuring the network elements to implement conceptual
changes.
• Mobility: Mobility must be controlled including mobile user devices and virtual servers.
• Integrated security: Network applications have to integrate seamless security as a basic service
rather than as an add-on.
• On-demand scaling: Implementations must be equipped to scale up or down the network and its
facilities in support of on-demand request.
Control Layer:
This is the middle layer in the SDN (Software-Defined Networking) architecture. It acts like the brain of the
network, making decisions about how traffic should flow. This layer is known as the control plane because it
controls and manages the behavior of network devices.
The SDN controller is usually installed on a physical server or a virtual machine. It talks to the data plane
(the part of the network that forwards data) using protocols like OpenFlow or other open APIs. These
protocols let the controller tell switches what to do with the data they receive.
The controller collects information about the network’s capacity (how much traffic it can handle) and current
demand (how much traffic is flowing). Using this information, it makes smart decisions to optimize the
network's performance.
SDN controllers also offer northbound APIs, which allow software applications to interact with the controller.
These APIs let network administrators and developers build new tools and services that run on top of the
network — such as monitoring tools, security features, or traffic analyzers.
Physical Layer:
includes equipment such as switches, also known as Data Plane, used in the network. They include
forwarding and switching of packets. Switches only perform the actions according to the controller.
The interface they use to communicate with a control layer is Southbound APls. OpenFlow Protocol is the
most common protocol used to provide southbound API.
4) Compare with diagram Modern Approach to computing and networking
Structural Comparison:
Modern approach to computing
In the modern approach to computing, there's a clear separation between the different layers of the system:
applications, operating systems (like Windows, Linux, or macOS), and the hardware (usually processors like
x86 or ARM).
These layers communicate using open interfaces, allowing flexibility and portability.
For example, the same application can be used across different devices because of common standards,
virtualization, and the ability of operating systems to work on multiple hardware platforms.
While both systems emphasize modularity and openness, the key difference is in purpose and function:
modern computing is focused on running software efficiently on hardware, while SDN is focused on
controlling how data moves through a network in a centralized and intelligent way.
Functional Comparison:
(a) Traditional Network Architecture
• Each switch combines the control plane and data plane, meaning every switch makes its own routing
decisions.
• Packet flow and forwarding rules are managed locally on each device, which makes network-wide
updates slow and complex.
(b) SDN Approach
• The control plane is centralized in the SDN controller, which makes all routing decisions.
• Programmable switches handle only the data plane, forwarding packets based on instructions from
the controller.
• This structure allows for centralized control, real-time adjustments, and easier deployment of
network policies.
6) Draw Diagram of OpenFlow Switch, Flow table fields in flow table structure
• The flow table represents the fundamental aspect of the logical switch architecture.
• Each packet entering a switch is loaded with one of the flow tables.
Match Fields: These are used to identify specific packets based on characteristics like the ingress port,
packet headers, or metadata from previous tables. Only packets that match these fields are considered for
processing.
Priority: Determines the order of precedence when multiple flow entries match a packet. The entry with the
highest priority is chosen.
Counters: These keep track of statistics such as how many packets or bytes matched a particular flow entry,
helping in monitoring and analytics.
Instructions: These specify what actions to take on matching packets, such as modifying headers, sending
packets to a specific port, or directing them through further processing stages.
Timeouts: These define how long a flow entry remains active. It can be based on idle time (no matching
packets for a period) or a hard timeout (fixed maximum duration), after which the entry is removed.
Cookie: A unique identifier set by the controller. It is not used for packet processing but helps the controller
manage and filter flow statistics, updates, or deletions related to specific flows.
7) Explain OpenDayLight Architecture
OpenDaylight is a Linux Platform hosting open source SDN controller / framework. It is currently one of the most
popular SDN controllers (open source). One of the protocols for the southbound interface is OpenFlow.
Network applications, orchestration, and services: The top layer includes business and network logic applications
which control and monitor the computation of the network.
APIs in OpenDaylight:
OpenDaylight provides a set of standard controller functions, called APIs. These help applications communicate
with the controller.
It supports Open Service Gateway Initiative (OSGi), a framework that allows apps to run inside the controller’s
system.
For apps running outside the controller (even on different systems), OpenDaylight uses REST APIs, which work
over the web.
REST Constraints:
• Uniform Interface
• Stateless
• Cacheable
• Client-Server
• Layered System
• Code on Demand
Uniform Interface: This is the main restriction between REST API and Non-Rest API, indicating that a uniform
interaction with a server should be defined regardless of device or application type like uniform interface
(website, mobile app).
Stateless: Stateless means the server doesn’t remember past requests—so every time the client (like a browser
or app) sends a request, it must include all the needed information in the URL, headers, or query parameters,
which can increase bandwidth usage.
Cacheable: means the server tells the client if it can save the response and for how long. If allowed, the client
can reuse the saved data later without asking the server again, which makes things faster—but sometimes the
data might be outdated.
Client-Server:
• Client: Requests resources and handles the user interface but doesn’t manage data or business logic.
• Server: Stores data and processes business logic, but doesn’t deal with the client’s UI.
Layered System:
• The application is divided into multiple layers, each unaware of the others beyond the immediate one.
• Between the client and server, there can be several intermediate layers (servers).
• These intermediate layers help with load balancing and offer shared caching to improve performance
and increase system availability.
Code on Demand: This is an option. This also means that servers can provide the client with executable code. For
example, compiled components such as Java applets, client-side scripts such as JavaScript can include code on
demand.
9) Explain Traffic Engineering
Traffic Engineering refers to the process of optimizing the flow of data across a network to ensure efficient use of
resources and to improve performance.
In the context of applications or networks, it involves techniques like:
• Load Balancing
o Definition: Distributing incoming traffic evenly across multiple servers or network resources to
prevent overloading any single resource.
o How it works: Traffic can be distributed based on various algorithms, such as round-robin, least
connections, or weighted balancing, ensuring no server is overwhelmed, which leads to better
performance and availability.
• Routing Optimization:
o Definition: Choosing the most efficient route for data packets across a network to avoid congestion,
reduce delays, and improve overall performance.
o How it works: Routing algorithms, such as Shortest Path First (SPF), Equal-Cost Multi-Path (ECMP),
or Traffic Engineering Database (TED), determine the best path for traffic based on factors like
bandwidth, latency, and current network conditions.
• Network Monitoring:
o Definition: Continuously monitoring network traffic to identify issues like congestion, downtime, or
underutilized resources.
o How it works: Tools and software can analyze traffic patterns, detect anomalies, and identify
performance bottlenecks.
2. Gateway (Center)
o Acts as a secure bridge between cloud resources and the on-premises infrastructure.
o Ensures safe and reliable data exchange using encryption and firewall rules.
The control layer provides the means, as directed by the application layer, to dynamically manage network
resources. The control layer can be seen as providing the following sublayers:
Application support:
The application support function provides application control interface to SDN applications to access network
information details and application-specific behavior of the program.
Orchestration:
The orchestration function provides network infrastructure control and management, such as management
of physical and virtual network topologies, network elements and traffic. It integrates with multi-layer
management features to manage SDN applications such as user management, service advancement and
distribution.
Abstraction:
The Abstraction Function interacts with network resources and gives an overview of network resources,
including network capacity and features that support management and orchestration of physical and virtual
network resource.
Resource layer:
The resource layer is used to transport and process data packets by the network elements based on the
decisions taken by the SDN control layer and distributed through a resource control interface to the resource
layer.
Control support:
The control support function interfaces with and maintains the SDN control layer programming through
resource-control interfaces
Data transport and processing:
Data transfer and processing function includes data forwarding and data routing functionality. The data
forwarding function manages the incoming data flows to forward them along the data transfer routes which
were calculated and computed according to the SDN applications' requirements. The data forwarding
functionality is managed by the SDN control layer in order to reduce the data transfer functionality in the
resource layer.