Curs TSAC
Curs TSAC
Master an II sem1
2015- 2016
Specializari: TSAC
(v0.5)
NM ensures the effective and efficient operations of a system within its resources in accordance
with corporate goals, through: controlling network resources and services, monitoring network
states and reporting network status and anomalies.
NM : activities, methods, procedures, and tools that pertain to the operation, administration,
maintenance, and provisioning of networked systems
1.1.2 NM objectives
Managing system resources and services
includes control, monitor, update, and report of system states, device configurations, and
network services.
Simplifying systems management complexity
extrapolate systems management information into manageable form by humans
Conversely, management systems should interpret high-level management objectives
and translate them in low level commands
OAM
-------
Operation
keeps the network (and the network services) up and running smoothly. It includes
monitoring the network to discover problems ideally before users are affected.
Administration
Maintenance
performing repairs and upgrades
o Examples: equipment replacement, SW upgrades (e.g. patch OS image when a
new switch is added to a network
preventive and corrective/reactive measures to make the managed network run better,
such as adjusting device configuration parameters.
Provisioning
configuring resources in the network to support a given service.
o Example: setting up the network so that a new customer can receive voice service.
Transfer of
management
Manager information and Agent
notifications
Managed objects
The managed objects might be : HW, configuration parameters, performance statistics, etc.,
directly related to the current operation of the device.
The objects are arranged in a virtual info database, called a management information base
(MIB)
Internet RFCs and other docs - specify a typical distributed management system containing:
Agents: collect and store mng. info (e.g. number of error packets received by an NE)
o has local knowledge of mng. info and transforms it in to the form compatible with
SNMP.
o responds to commands from the manager and sends notification to the manager.
o There are potentially many agents in a system.
Managed object: a vision of a feature of a network, from the point of view of the
management system
o All physical and logical resources (e.g. signaling terminals, routes, event logs,
alarm reports and subscriber data), are seen as managed objects.
o E.g. : a list of current active TCP connections in a particular host computer
o Managed objects differ from variables, which are particular object instances.
Management protocol
o Conveys mng. info between agents and NMSs
The (SMI) language defines the rules for naming objects and to encode objects in a managed
network center.
SMI is a language by which a specific instance of the data in a managed network center is
defined.
SMI subdivides into three parts: definition of- modules, objects and notifications
Besides that entry, MIB module represents a number of network interfaces and well known
Internet protocols at the bottom of this tree.
This path shows all the standards of IP associated with the MIB-2 computer networking
management.
Read: To monitor MDs , the NMSs read variables maintained by the devices.
Write: To control MDs , NMSs write variables stored within the MDs.
Traverse: NMSs use these operations
1. to determine which variables a managed device supports and
2. to sequentially gather information from variable tables (e.g. IP routing tables) in MDs
Trap: MDs use traps to asynchronously report certain events to NMSs.
Most NM architectures use the same basic structure and set of relationships.
End stations (managed devices), run SW enabling them to send alerts when they recognize
problems.
Mng. entities are programmed to react upon receiving alerts, by executing one, several, or a
group of actions, including
1. operator notification 2.event logging 3.system shutdown automatic attempts at system
repair.
Management entities can also poll end stations to check the values of certain variables.
Polling can be automatic or use initiated, but agents in the managed devices respond to
all polls.
Management proxies: entities that provide management information on behalf of other entities.
Networks:
1. circuit swithching ( classic - telecommunications) networks ( ISDN, GSM)
2. packet networks (mainly IP - based), 4G, 5G
3. hybrid integrated networks ( e.g 3G)
2.1 Introduction
Framework defined after 1990
- ITU M.3000, M3010 ( 2000) recommendation series defined Telecommunication
Management Network (TMN), built on standards (OSI) (for public networks)
- TMN objectives:
- functionality in a multi-vendor environment;
- optimization of network functionality.
Important Note: the classical semantic of the TMN means Telecommunication Management
Network i.e. a special data network constructed to manage the telecom network itself.
Objectives:
telecommunication network be able to provide customers with the services they
demand and satisfaction
operator to have these services provided at the lowest possible cost.
TMN :
manages telco networks, (transportation backbones, aggregation, to access networks)
provides a structured framework for enabling interconnectivity and communication
across heterogeneous OSs and telecommunications networks.
WSF: Work Station Functions; NEF: Network Element Functions; QAF: Q Adaptor
Functions
The TMN functional architecture is structured from the following fundamental elements:
function blocks;
Management Application Functions (MAFs);
TMN Management Function Sets and TMN Management Functions;
reference points.
Some of the function blocks are partly in and partly out of a TMN; these TMN function blocks
also perform functions outside of the TMN
The TMN function block is the smallest deployable unit of TMN management functionality.
If the TMN function block contains a Management Application Function, it may only contain
one MAF
NOTE The TF consolidates and extends the functionality and scope associated with the
Mediation and Q Adaption function blocks in Recommendation M.3010 (05/96).
At the boundary of a TMN, the TF may be used either as communication between two
TMNs or between a TMN and a non-TMN environment.
At the boundary of two TMNs the TF connects two FBs , one in each TMN, each of which
supports a standardized, but different, communication mechanism.
When the TF is used between a TMN and a non-TMN environment, the TF connects a
function
block with a standardized communication mechanism in a TMN to a functional entity
with a
non-standardized communication mechanism in the non-TMN environment.
A RP reference point usually corresponds to PHY I/F the FBs are implemented in different
PHY blocks.
PHY architecture
(defines how the various TMN
management functions can be
implemented into physical equipment)
The physical architecture shows how function blocks should be mapped upon building
blocks (physical equipment) and reference points upon interfaces.
In fact, the physical arch. defines how FBs and RPs can be implemented.
Note: one FB may contain multiple functional components and one building block may
implement multiple function blocks.
The managed objects reside within managed systems, which include agent functions to
communicate with the manager.
TMN uses the same manager agent concept as OSI.
The EML manages each network element on an individual or group basis and supports an
abstraction of the functions provided by the NEL.
The EML has one or more element OSFs, that are individually responsible, on a devolved basis
from theNML , for some subset of network element functions.
3) Maintaining statistical, log and other data about elements within its scope of control.
Implementation:
An Element Management System (EMS) contains the systems and applications to manage
network elements (NE) belonging to NEL
ITU-T: the EMS key functionality is divided into five key areas :
- Fault, Configuration, Accounting, Performance , Security (FCAPS).
Portions of each of the FCAPS functionality fit into the TMN models.
EMS interfaces
- Upper: to Network Management Systems and or Service Management Systems depending
on the deployment scenario.
-Lower : to the devices.
The EMS provides the foundation to implement TMNlayered operations support system
(OSS) architectures that enabling SPs:
to meet customer needs for rapid deployment of new services,
achieve quality of service (QoS) requirements.
The TeleManagement Forum Common Object Request Broker Architecture (CORBA)
EMStoNMS interface realizes desired OSS interoperability by making the TMN architecture a
practical reality.
Note: CORBA is a very complex system. In last years it is less used- - other technologies are
emerging.
The NML has the responsibility for the management of a network as supported by the element
management layer.
At this layer, functions addressing the management of a wide geographical area are located.
2) The provision, cessation or modification of network capabilities for the support of service to
customers.
4) Maintaining statistical, log and other data about the network and interact with the service
manager layer on performance, usage, availability, etc.
5) The network OSFs may manage the relationships (e.g. connectivity) between NEFs.
Example 1:
o In a network individual element configurations are ok but that they do not match
up properly with each-other the network does not work as intended.
o E.g.:
to configure a path across the network, each node must be configured
properly, considering the whole path properties
Likewise, timer values need to be tuned to avoid excessive timeouts and
retransmissions.
Example 2:
o Random Early Detection (RED) method is used to prevent congestion by
starting to drop randomly some packets when the average buffer fill crosses a
given threshold in a router
Pd
1
Pmax
Avg
Drop Min_th
min_th Max_th
Max_th
In a chain or routers the thresholds should be correlated, otherwise it is possible to get worse
results than in a system without RED activated.
Policies that makes admission control (AC) of calls at network entry points should be
coordinated across the network to be effective (otherwise a lack of resources can be
encountered despite that at each entry point an AC is applied)
NML includes
o Actions for managing devices that are configured individually
o but ensures
that their configurations are coordinated
and monitoring for cross-network connectivity,
SML manages the network services and ensures the services functioning as intended.
SML tasks are built on top of NML
SML is responsible for, the contractual aspects of services that are being provided to customers
or available to potential new customers.
Some of the main functions of this layer are service order handling, complaint handling and
invoicing.
Roles:
1) customer facing (Note) and interfacing with other PTOs/ROAs;
2) interaction with service providers;
3) maintaining statistical data (e.g. QOS);
4) interaction between services.
BML manages the business associated with providing services and all the required
support functions.
Topics : billing and invoicing, helpdesk management, business forecasting, etc..
o Forecasting is important in order to plan the future network dimensioning
Roles:
1) supporting the decision-making process for the optimal investment and use of new
telecommunications resources;
2) supporting the management of OA&M related budget;
3) supporting the supply and demand of OA&M related manpower;
4) maintaining aggregate data about the total enterprise.
NGN): A packet based network able to provide telecom services and able to make use of
multiple
broadband QoS-enabled transport technologies and in which service-related functions are
independent from underlying transport-related technologies.
Main features:
packet-based network
able to provide Telecommunication multiple services
able to make use of multiple broadband,
QoS-enabled transport technologies
service-related functions are independent from underlying transport-related technologies.
enables unfettered access for users to networks and to competing service providers and/or
services of their choice.
supports generalized mobility which will allow consistent and ubiquitous provision of
services to users.
NGN characteristics
Management
SCN Applications and Plane
Service Level
Control
Plane
Transport Level
INTERNET User (Data)
Plane
Access Functions
- manages end-user access to the network
- access-technology-dependent ( W-CDMA, xDSL, Cable access, Ethernet, optical, etc.)
such as wideband code-division multiple
Edge Functions used for traffic processing when access traffic is merged into the core
network.
Core Transport Functions (Data Plane) ensuring information transport throughout the core
network.
- provide the means to differentiate the quality of transport in the network, according to
interactions with the transport control functions.
- provide QoS mechanisms dealing directly with user traffic: buffer management,
queuing and scheduling, packet filtering, traffic classification, marking, policing and shaping,
gate control, and firewalls.
- provide AC and gate control functionalities, including control of network address and
port translation (NAPT) and differentiated services field code points (DSCPs).
- AC involves checking authentication based on user profiles, through the network
attachment control functions.
- It also involves authorization based on user profiles, (cf. operator-specific policy
rules and resource availability: AC function verifies whether a resource request (e.g., for
bandwidth) is allowable given the remaining resources, as opposed to resources that are
already provisioned or used).
The RACFs interact with transport functions to control one or more of the following
functionalities
in the transport layer: packet filtering, traffic classification, marking and policing, bandwidth
reservation and allocation, NAPT, antispoofing of IP addresses, NAPT/FW traversal, and usage
metering.
Gateway Functions
- The NNI for other networks applies to both the control and transport levels, including
border gateways.
- Interactions between the control and transport levels may take place directly or through
the transport control functionality.
Media Handling Functions media resource processes for providing services, such as
generating
tone signals, transcoding, and conference bridging.
Service and Control Functions session control functions, a registration function, and
authentication and authorization functions at the service level. They can include functions
controlling media resources (i.e., specialized resources).
Application Functions
- NGNs support open APIs enabling third-party service providers to apply NGN
capabilities to create enhanced services for NGN users.
- All application functions (both trusted and untrusted) and third-party service providers
access NGN service stratum capabilities and resources through servers or gateways in the service
stratum.
- enable the NGN operator to manage the network and provide NGN services with the
expected quality, security, and reliability.
- These functions are allocated in a distributed manner to each functional entity (FE).
- They interact with network element (NE) management, network management, and
service management FEs.
These functions interact with each other in the NGN to collect accounting information, which
provides the NGN operator with resource utilization data enabling the operator to properly bill
users.
The charging and billing functions support the collection of data for both later processing
(offline charging) and near-real-time interactions with applications such as those for prepaid
services (online charging).
The interfaces to the end user are both physical and functional (control) interfaces,
No assumptions are made about the diverse customer interfaces and customer networks
that may be connected to the NGN access network.
All customer equipment categories are supported in the NGN, from singleline legacy
telephones to complex corporate networks.
End-user equipment may be either mobile or fixed.
The SNMP is an application layer protocol and uses (UDP) to exchange Mng. info between
management entities.
SNMP Capabilities:
SNMP also permits active mgmt. tasks, such as modifying and applying a new
configuration.
Management systems can also send configuration updates or controlling requests through
the SET operation to actively manage a system.
Configuration and control operations are used only when changes are needed to the
network infrastructure.
Additional standards were added in recent years, such as SNMPv3 and RMON in order
to enhance its management functionalities, especially in security and performance.
Primary components
Each device that participates in NM using SNMP runs SW, generically called an SNMP
entity.
The SNMP entity role: implementing all functions of the SNMP protocol
The SNMP entity on a managed node consists of the following SW elements and constructs:
o SNMP Agent:
- SW implementing SNMP to provide information to an NMS and accept
instructions from it.
- SNMP (MIB): Defines the types of information stored about the node that can
be collected and used to control the managed node
- Information exchanged using SNMP takes the form of objects from the MIB.
o NMS runs special SW; so NMS may not be mandatory a separate hardware
device (It may act as an NMS and also perform other functions on the network)
RMON defines a remote-monitoring MIB that supplements MIB-II and provides the
network manager with vital information about the internetwork.
RMON MIB was developed by the IETF to support monitoring and protocol analysis
of LANs.
It has been extended by RMON2 which adds support for Network and Application-
layer monitoring and by SMON (Oracle System MONitor) which adds support for
switched networks.
RMON agents are built into many high-end switches and routers.
3.2.1 RMON1
RMON1 MIB allows managers to collect information from remote network segments for
the purposes of troubleshooting and performance monitoring.
A versatile alarm and event mechanism for setting thresholds and notifying the network
manager of changes in network behavior.
A powerful, flexible filter and packet capture facility that can be used to deliver a
complete, distributed protocol analyzer.
Figure: listing of the RMON1 groups and where RMON fits within the ISO and IETF standards.
These probes act as servers and the NM applications communicating with them act as
clients.
While both agent configuration and data collection use SNMP, RMON is designed to
operate differently than other SNMP-based systems:
o Probes are intelligent: they have more responsibility for data collection and
processing, which reduces SNMP traffic and the processing load of the clients.
o Information is only transmitted to the management application when required,
instead of continuous polling.
RMON2 WG covers:
- vertically : all architectural layers (statistics on network- and application-layer traffic).
- horizontally : internetwork or enterprise view of network traffic.
3.2.2.1 RMON2Capabilities
Although the exact contents of RMON2 may change during the standard development process,
the capabilities expected to be delivered by RMON2 include:
Address Translation
Binding between MAC-layer addresses and network-layer addresses,
Address translation
o helps theNM ,
o supports the SNMP management platform and will lead to improved topology
maps.
User-Defined History
New feature: the network manager can configure history studies (dymamicity !) of any
counter in the system, such as a specific history on a particular file server or a router-to-router
connection.
In the RMON1 standard, historical data are collected only on a predefined set of
statistics.
Improved Filtering
Additional filters are required to support the higher layer protocol capabilities of
RMON2.
user can configure more flexible and efficient filters, especially relating to the higher-
layer protocols.
Probe Configuration
One vendors RMON application can remotely configure another vendors RMON
probe.
o Currently, each vendor provides a proprietary means of setting up and controlling
their probes.
o The probe configuration specification is based on the Aspen MIB which was
jointly developed by AXON and Hewlett-Packard.
o The Aspen MIB provides
probe device configuration,
trap administration,
and control of the probes out-of-band serial port.
Complexity
TMN:
Feature-rich modeling of managed objects described in GDMO.
The data modeling and abstracting are very complex because of TMSs fine-grained
definition for interface and object.
Functionality
TMN:
general framework for NM, and major functional areas, widely accepted in industry.
security features are also included, e.g. access control and security logging.
The use of data communication networks (DCN) for internal communication makes
it physically secure.
SNMP
It generally follows TMNs framework for management functionalities.
But, SNMP agents can only collect information from devices, lacking the ability of
analyzing.
The openness and IP-oriented nature of SNMP makes it not secure as TMN-based
protocols, such as CMIP, which defines management services exchanged between peer
entities in TMN.
Multi-vendor
Multi-vendor support is achieved at network management layer by implementing an
interface between Element Management System (EMS) and Network Management
System (NMS).
NMS can exchange events via its interface with different EMSs
TMN: difficult and expensive to implement NMS-EMS interface because of the complexity of
TMN.
SNMP: Multi-vendor support can be offered by retrieving objects from public MIBs (e.g.,
SNMPv1) that reside in the managed devices of different vendors.
However for private MIBs, the interface for specific vendor has to be developed.
Communication
TMN: The communication between Network elements (NE) or NMS and Element
Management System (EMS) requires the special OSI protocol stacks, which are rarely
supported by common LAN or WAN.
SNMP
o is initially designed for IP technology and uses UDP to carry management data. It
can easily run on nearly any network because of the popularity of TCP/IP.
o SNMP
connectionless, lower overhead,
but no guarantee the deliver of messages.
Implementation
TMN
CMIP and CORBA architecture are examples: the development of the core components
in TMN has to rely on many third-party software packages.
The implementation and running of TMN systems have higher requirements to networks
and operation systems.
SNMP
CMIS/CMIP emerged out of the ISO/OSI NM model and is defined by the ITU-T
X.700 series of recommendations (however they generally also correspond to those
designed by the IETF SNMP).
CMIP provides good security (support authorization, access control, and security
logs) and flexible reporting of unusual network conditions.
CMIP models allows both modification and performing actions on managed objects.
Managed objects are described using GDMO (the Guidelines for the Definition of
Managed Objects) and are identified by a distinguished name (DN), similar in
concept to the X.500 directory.
Note the term CMIP is sometimes used erroneously when CMIS is intended.
The following services are made available by the Common Management Information Service
Element (CMISE) to allow management of network elements.
To transfer mgmt. info between open systems using CMIS/CMIP, peer connections, i.e.,
associations, must be established.
This requires the establishment of the following ( OSI stack):
Application layer association
Session layer connection,
Transport layer connection
and, depending on supporting communications technology, Network layer, and Link layer
connections.
CMIS initially defined mgmt. association services but it was later decided these services could
be provided by Association Control Service Element (ACSE) and these services were removed.
Here is a list of these services which were subsequently removed from ISO 9595:
ITU endorses CMIP as the protocol for the management of devices in the (TMN)
standard.
CMIP was developed and funded by government and corporations to replace and make
up for the deficiencies of SNMP, thus improving the capabilities of network management
systems.
Object-oriented system concepts that are applied to the CMIP objects include
containment, inheritance, and allomorphism.
o Containment refers to the characteristic of objects being a repository of other
objects and/or attributes.
A high-level object for a communication switch, for example, can
contain several racks of equipment, each of which, in turn, can
contain several slots for printed circuit boards.
On might use the ITU-T M.3100 base class for a circuit pack to
define the general features of modules within a communication
switch.
With CMIP and other OSI management schemes, there are three types of relationships
between managed objects:
o Inheritance Tree. This defines the managed object class super and subclasses,
much as C++ base and derived classes are related.
When a class is inherited from a superclass, it possesses all the
characteristics of the superclass, with additional class-specific
extensions (additional attributes, behaviors, and actions).
o Containment Tree. This defines which MOs are contained in other managed
objects.
o Naming Tree. This defines the way in which individual objects are referenced
within the constraints of the management architecture.
The CMOT architecture is based on the OSI management framework (OSI-MF) and
the models, services, and protocols developed by ISO.
objective :
o to map the OSI management protocol architecture into the
TCP/IP environment and used to manage objects in a TCP/IP
network
o it specifies all the essential components of a NM arch.
o Finally, means are defined for using ISO management services and protocols
on top of TCP/IP transport protocols.
Management applications themselves are not included within the scope of the
CMOT architecture.
o Applications are explicitly left as a competitive issue for network developers and
providers.
CMOT- essentially uses:
OSI model at the application layer
Internet protocols at the transport layer.
To guarantee reliable transport, CMOT systems establish Application layer
connections prior to transmitting management information.
CMOTs Application layer services are built on three OSI services:
Common Management Information Service Element (CMISE)
Remote Operation Service Element (ROSE)
Association Control Service Element (ACSE)
A Lightweight Presentation Protocol (LPP) provides Presentation layer services.
Remote Operations Service Element (ROSE) is the OSI service interface, specified in ITU-T
Rec.X.219, ISO/IEC International Standard 9072-1, that
(a) provides remote operation capabilities,
(b) allows interaction between entities in a distributed application, and
(c) upon receiving a remote operations service request, allows the receiving entity to
attempt the operation and report the results of the attempt to the requesting entity.
OSI application protocols X.400 and X.500 utilize the ROSE services.
The ROSE protocol itself is defined using the notation of ASN.1.
Association Control Service Element (ACSE) is the OSI method for establishing a call
between two application programs.
ACSE checks the identities and contexts of the application entities, and could apply an
authentication security check.
3.4.1 Architecture
SNMP defines the format of packets. It reads and changes the status (values) of objects
(variables) in SNMP packets.
SMI defines the general rules for naming objects, defining object types (including range
and length), and showing how to encode objects and values.
+-------------------------------------------------------------------+
| SNMP entity |
| +-------------------------------------------------------------+ |
| | SNMP engine (identified by snmpEngineID) | |
| | +------------+ +------------+ +-----------+ +-----------+ | |
| | | | | | | | | | | |
| | | Dispatcher | | Message | | Security | | Access | | |
| | | | | Processing | | Subsystem | | Control | | |
| | | | | Subsystem | | | | Subsystem | | |
| | +------------+ +------------+ +-----------+ +-----------+ | |
| +-------------------------------------------------------------+ |
| |
| +-------------------------------------------------------------+ |
| | Application(s) | |
| | +-------------+ +--------------+ +--------------+ | |
| | | Command | | Notification | | Proxy | | |
| | | Generator | | Receiver | | Forwarder | | |
| | +-------------+ +--------------+ +--------------+ | |
| | +-------------+ +--------------+ +--------------+ | |
| | | Command | | Notification | | Other | | |
| | | Responder | | Originator | | | | |
| | +-------------+ +--------------+ +--------------+ | |
| +-------------------------------------------------------------+ |
+-------------------------------------------------------------------+
SNMP engine
SNMP engine services : for sending and receiving messages, authenticating and encrypting
messages, and controlling access to managed objects.
There is a 1-to-1 association between an SNMP engine and the SNMP entity containing it.
The engine contains:
1) Dispatcher 2) Message Processing Subsystem 3) Security Subsystem 4) Access Control
Subsystem.
snmpEngineID
Within an administrative domain, a snmpEngineID is the unique and unambiguous identifier
1-1 association between SNMP engines and SNMP entities, it also uniquely and unambiguously
identifies the SNMP entity within that administrative domain.
Note : it is possible for SNMP entities in different administrative domains to have the same value
for snmpEngineID. Federation of administrative domains may necessitate assignment of new
values.
Dispatcher
One Dispatcher per SNMP engine.
It allows for concurrent support of multiple versions of SNMP messages in the
SNMP engine. It does so by:
sending and receiving SNMP messages to/from the network,
determining the version of an SNMP message and interacting with the
corresponding Message Processing Model,
providing an abstract interface to SNMP applications for delivery of a PDU to it and
allows applications to send a PDU to a remote SNMP entity.
The MPS prepares messages for sending, and extracting data from received messages.
The MPS potentially contains multiple Message Processing Models as shown in the next figure.
+------------------------------------------------------------------+
| Message Processing Subsystem |
| +------------+ +------------+ +------------+ +------------+ |
| | * | | * | | * | | * | |
| | SNMPv3 | | SNMPv1 | | SNMPv2c | | Other | |
| | Message | | Message | | Message | | Message | |
| | Processing | | Processing | | Processing | | Processing | |
| | Model | | Model | | Model | | Model | |
| | | | | | | | | |
| +------------+ +------------+ +------------+ +------------+ |
+------------------------------------------------------------------+
Security Subsystem: provides security services such as the authentication and privacy of messages
and potentially contains multiple Security Models
+------------------------------------------------------------------+
| Access Control Subsystem |
| +---------------+ +-----------------+ +------------------+ |
| | * | | * | | * | |
| | View-Based | | Other | | Other | |
| | Access | | Access | | Access | |
| | Control | | Control | | Control | |
| | Model | | Model | | Model | |
| +---------------+ +-----------------+ +------------------+ |
+------------------------------------------------------------------+
Note:
To retrieve or manipulate management information using (SNMPv3) [RFC3410], it is necessary
to know the identifier of the remote SNMP protocol engine, the so-called snmpEngineID
[RFC3411].
While an appropriate snmpEngineID can in principle be configured on each management
application for each SNMP agent, it is often desirable to discover the snmpEngineID
automatically. (RFC 5343)
SNMP uses the services of UDP on two well-known ports, 161 and 162. The well-known port
161 is used by the server (agent), and the well-known port 162 is used by the client (manager).
An SNMP manager (client) sends message to an agent via UDP destination port 161
An agent (server) sends trap messages to a manager via UDP destination port 162.
Manager Listen to 162 Agent
SMI
It is a component used in network management. It names objects, defines the type of data that
can be stored in an object, and shows how data can be encoded for transmission over the network
Object Attributes: Name , Type , Encoding Method
Object identifier
All objects managed by SNMP are given an object identifier.The object identifier always starts
with 1.3.6.1.2.1.
Figure 3-21
MIB
Topics: how to - Access MIB Variables
Figure 3-22
Example: udp group
Figure 3-24
The modular design of SNMP is shown in the consistency of the architecture, structure,
and framework of all three versions; this aids gradual evolution of protocol
enhancements.
Though SNMPv1 was effective and easy to implement, but it had its problems and
limitations.
SNMPv3 was then developed to address security deficiencies: Added access control,
authentication, and encryption of management data.
3.4.3 SNMPv1
SNMPv1 is the original Internet-Standard NMF : RFCs 1155, 1157, and 1212.
There are typically three communities in SNMPv1: read-only, read-write, and trap.
SNMPv1 is still the primary SNMP implementation that many vendors support.
GetNext : NMS to retrieve the value of the next object instance in a table or a list within
an agent.
o but did not define any such schemes other than a trivial authentication scheme
based on community strings.
o This was a known fundamental weakness in the SNMPv1 Framework.
Because some users do not require strong authentication, the SNMPv1 structured an
authentication service as a separate block to be defined later.
3.4.4 SNMPv2
GetBulk :
NMS retrieve large blocks of data, such as multiple rows in a table
GetBulk fills a response message with as much of the requested data as will fit.
if the agent responding to GetBulk operations cannot provide values for all the variables
in a list, it provides partial results.
Inform: NMS can send trap information to another NMS and to then receive a response.
Critics:
3.4.5 SNMPv3
The new features of SNMPv3 (in addition to those of SNMPv2 listed above) include:
Security
authentication and privacy
authorization and access control
Administrative Framework
naming of entities
people and policies
usernames and key management
notification destinations
proxy relationships
remotely configurable via SNMP operations
Still the vast majority of vendor implementations of SNMP are SNMPv1,v2 implementations.
Some large vendors e.g. Cisco support SNMPv3 for quite some time, -> see more vendors move
to SNMPv3.
SNMPv3
- is an interoperable standards-based protocol
- provides secure access to devices by a combination of authenticating and encrypting
packets over the network.
-
The security features provided in SNMPv3 are:
Message integrity: Ensuring that a packet has not been tampered with in-transit.
Authentication: Determining the message is from a valid source.
Encryption: Scrambling the contents of a packet prevent it from being seen by an
unauthorized source.
A combination of a security model and a security level will determine which security
mechanism is employed when handling an SNMP packet.
RFC 3512 (2003) improves the ability of SNMP for configuring networks and devices; it
offers guidance in the effective use of SNMP for configuration management.
o This information is relevant to vendors that build network elements, management
application developers, and those that acquire and deploy this technology in their
networks.
RFC 3781 (2004) defines an SMIng (Structure of Management Information, Next
Generation) language extension that
o specifies the mapping of SMIng definitions of
identities,
classes,
and their attributes
and events to dedicated definitions of nodes, scalar objects, tables and
columnar objects, and notifications for application in the SNMP
management framework.
RFC 4789 (2006) : integrate the management of IEEE 802 networks, (this document
obsoletes RFC 1089) and specifies how SNMP messages can be transmitted directly
over IEEE 802 networks.
RFC 5343 (2008) introduces a well-known localEngineID and a discovery mechanism
that can be used to learn the snmpEngineID of a remote SNMP protocol engine
o to meet the SNMPv3 requirements that an application needs to localize the
identifier (snmpEngineID) of the remote SNMP protocol engine in order to
retrieve or manipulate objects maintained on the remote SNMP entity
o The proposed mechanism is independent of the features provided by SNMP
security models and may also be used by other protocol interfaces providing
access to managed objects.
RFC 5345 (2008) : deals with the large traffic measurement; it describes an approach to
carrying out large-scale SNMP traffic measurements in order to develop a better
understanding of how the SNMP is used in real-world production networks.
o It describes the motivation, the measurement approach, and the tools and data
formats needed to carry out such an application.
RFC 5590 (2009) defines a subsystem, extending the SNMP architecture defined in RFC
3411.
As work is being done to expand the transports to include secure transports, such as the
Secure Shell (SSH) Protocol and Transport Layer Security Transport Subsystem for the
SNMP.
RFC 5591 (2009) describes a Transport Security Model for the SNMP.
RFC 5592 (2009) describes a Transport Model for the (SNMP), using the Secure Shell
(SSH) protocol.
o is able to perform active measurements between itself and any other NodeMons,
at path or hop level, as well as passive monitoring on the router to which it is
attached
No major scalability concern with NetMon, since the analyzed data are mainly used for
nonreal-time, pro-active control of the network.
NetMon also uses hop-by-hop measurements for calculating edge-to-edge results.
is centralized, since it must keep track of the compliance of the level of service provided
to the customer SLS instances in a domain
It utilizes information provided by the centralized NetMon and/or the various distributed
NodeMons.
o For each contracted SLS, the performance parameters and the traffic-related
values stored in SLS Repository (SLSRep) are checked against measurement data
to determine whether any violations occur and then reports are generated.
Role: Data base; it consists of two major parts for data cataloguing
o a data store with database functionality for storing large amounts of data from
monitoring components
o information store for storing smaller amounts of configuration type
information and information about active monitoring processes
o Measurement data stored in the data store are used for subsequent analysis via the
Graphical User Interface (GUI), NetMon, or SLSMon.
is used for displaying measurement results and can be used in a Network Operations
Center.
MonGUI presents a user interface allowing human operators to request graphical views
of monitoring statistics extracted from the monitoring data store
Note: Given the complexity of the subject, this chapter only outlines the ANM principles.
4.1.1 Definitions
Automatic (Adv Automatically):
An automatic action is performed from force of habit or without any conscious thought.
Many examples can of course be found in the bio-system or artificial system.
Automatic systems do not have any knowledge outside the predefined one and no ability
to extend it.
An automatic system will always exhibit the same behaviors for the same input.
In automatic system theory, this behavior is called transfer function.
Other definition: the essence of autonomic management is the capability of a system to self-
govern its behavior, but only within the constraints of the (human-specified) goals that the
system as a whole seeks to achieve.
AuS has a data base with knowledge of the Purpose (intention) and the Know-how to operate
itself (e.g., boot-strapping, configuration knowledge, interpretation of sensory data) without
external intervention.
1.it must describe the external interfaces and behaviors required of individual system
components.
2.it must describe how to compose these components so that the components can
cooperate toward the goals of system-wide self-management.
3. it must describe how to compose systems from these components in such a way that
the system as a whole is self-managing.
Monitor function : mechanisms that collect, aggregate, and filter, and report details (e.g.,
metrics, topologies) collected from a managed resource under its responsibility.
Analyze function: mechanisms that correlate and model complex situation. These mechanisms
allow the autonomic manager to learn about the IT environment and help predict future
situations.
This allows the management element (ME) to analyze the collected details to
understand the current system state. This analyze function requires the use of complex models of
the various situations in which the management elements(s) could evolve.
Plan function: mechanisms that construct the actions needed to achieve goals and objectives.
- The planning mechanism uses policy information to guide its work.
- Once the situation is identified, the ME needs to define the set of actions needed to
achieve the high-level goals and objectives.
Execute function : mechanisms that control the execution of a plan with considerations for
dynamic updates.
This function allows the ME to change the behavior of the managed resource using
effectors
The next layer incorporates consistent, standard manageability interfaces for accessing and
controlling
the managed resources. These standard interfaces are delivered through a manageability end
point.
Layers three and four automate some portion of the systems process using an autonomic
manager.
4.2.1 Introduction
ANM(S) is an instantiation of Autonomic Computing (AC) principles and architecture to
network management.
Notation: AN = Autonomic Networking
o In ANM the network entities must know both themselves and their surrounding
networks, including their activities, and should act accordingly.
o They should follow and update general rules to interact with neighboring network
elements in order to achieve global optimization.
o They will account their available resources and negotiate the use by other network
elements of its underutilized resources, configuring both itself and its connections
to other networks in the process.
Most of these sources represent relatively raw and unprocessed views that have limited
relevance.
therefore post processing and various forms of analysis must be applied to generate
meaningful measurements and assessments against which current state can be derived.
When information is collected from the sensors, the A-NE needs to understand its
context.
The network environment is intrinsically very complex. The info collected could have
different meanings based on the context in which the A-NE is evolving.
So, it is difficult task for A-NE to interpret heterogeneous monitored information using
other levels of information (local or global).
Historical information is very important to analysis of the context and understands in
which situation the A-NE is now.
Based on high-level goals, the A-NE will try to maintain itself in a set of desired
states according to the context.
o Otherwise, the A-NE will need to autonomously perform some actions to change
its state and try to reach a desired one.
o The desired state could sometimes be the optimal one, but in some situations, this
state could only be a safe one that would ensure that the system will always
deliver the service.
o This state could then be changed to move toward an optimal one.
Learning
The A-NE will face different contexts and situations to which it has reacted,
implementing different strategies to always fulfill its assigned goal.
During these trials, the A-NE will be able to evaluate the usefulness of the implemented
situation and learn from the performed action to adapt itself to future known or
unknown situations.
Autonomic adaptation is the capability by which the A-NE will improve by learning
(increasing its knowledge) the best strategies to plan in order to react to situations.
Participating in Groups
NE should interact (communicate, collaborate, and exchange information and
knowledge) with other A-NE to improve its knowledge and skill.
These group interactions are also important in collectively achieving a global goal that
cannot be reached without a certain level of coordination.
These communications should be achieved within purposeful (structured and
unstructured, ad hoc) groups or clusters.
Information should be understandable to the A-NEs, though it is exchanged by autonomic
entities.
Planning
Once the context is identified and its situation is evaluated,
o the A-NE should define the strategy (list of actions) that should be taken to
either reach a desired state in case it is in an undesired state
or to reach another desired state that is better from a different
perspective, that is, performance, security, organization, and the like.
The planning process contains a set of strategies that allow the A-NE to continuously
fine tune the underlying managed elements and adapt to new contexts while always
seeking to be in desired states.
Problems: distributed nature of the network -> the planning can be very difficult as
it is not possible to enforce an action instantaneously;
o when a set of actions are identified, it is not possible to activate them also at the
same time.
As the A-NEs take their decision in an autonomic way, a consistency among the actions
should be ensured in a completely distributed way
Convergence time becomes an important aspect (e.g for routing decisions)
Note Software Defined Networking can improve the planning coherency duet o
higher degree of centraklisation and separation DataPlane versus Ctrl and Mgmt
Plane.
4.2.3.1 Definitions
+------------------------------------------------------------+
| +----------+ +--------------+ |
| | | | Feedback | |
| | Intent | | Loops | |
| +----------+ +--------------+ |
| ^ ^ |
| Autonomic User Agent |
| V V |
| +-----------+ +------------+ +------------+ |
| | Self- | | Autonomic | | Network | |
| | knowledge |<------>| Service |<------>| Knowledge | |
| | | | Agents | | (Discovery)| |
| +-----------+ +------------+ +------------+ |
| ^ ^ |
| | | |
| V V |
|------------------------------------------------------------|
| Autonomic Control Plane |
|------------------------------------------------------------|
| Standard Operating System Functions |
+------------------------------------------------------------+
1 The new device sends out a hello message to the neighbor. In this case, the neighbor is part of
an autonomic network domain.
2 The hello message includes the unique device identifier (UDI) of the new device.
3 The autonomic device acts as a proxy and allows the new device to join this autonomic
network domain. The autonomic network device advertises itself with the domain information to
its Layer 3 neighbors.
4 On receiving the autonomic network hello message from the neighbor and detecting the UDI
information, the new device is validated with the autonomic registrar.
5. The new device advertises its domain certificate in its hello message with all neighbors.
The neighbor information is exchanged every 10 seconds.
This process requires a Knowledge Base System (KBS) which can range in complexity from a
simple database to more advanced expert systems with built-in reasoning mechanisms.
Note: These issues have seldom been addressed in the literature and, rather, existing work
addresses only isolated related issues.
A KBS ( or Network KBS) may represent two different forms of knowledge about the managed
system as the
domain knowledge : view or conceptualization of the managed domain
o structure knowledge
information about
the sorts of objects of the modeled domain,
their properties,
the relations among them,
in addition to the different factual knowledge about the domain.
o behavior knowledge
describes patterns of behavior of different components or the overall
modeled domain
control knowledge: the ways to manage and control the modeled system
o for example, as a set of domain related problems and their corresponding applied
solutions. ( this is the most intelligent part)
As stated earlier, each of these models may include structure- behavior- and control-
knowledge or a combination of these types.
o E.g. , the structure knowledge may include
the current network topology
and a description of the various components capacities and constraints.
Current networking systems are highly distributed, complex and heterogeneous; hence,
finding a single common representation requires to define techniques for mapping this
model
o to other ones
o and from other ones.
The developed model must also be robust in capturing the highly dynamic nature of the
environment (e.g., traffic loads, active sessions).
Note: Current approaches for building an NKBS are mainly limited to representing the
network structure knowledge which are commonly referred to as Management
Information Models (MIMs) with some efforts to build simple models for control
knowledge.
The modeled network structure knowledge often includes status information for
different network components such as routers, switches and interfaces.
The only standardized model for network control-knowledge is the IETF policy control
information model (PCIM)
o PCIM provides a formalism for defining and storing policies to control the
configurations of individual network components.
o But PCIM is mainly an information model with no means to support analysis,
refinement or reasoning with the defined policies as a first step towards elements
autonomy.
Object-oriented models
These aim at capturing both the structural and behavior knowledge of networks
Examples of projects
o NESTOR project This model includes a constraint definition language for
asserting relationships and constraints among different network objects.
o The Directory Enabled Networks-next generation (DEN-ng)
An object-oriented model that describes behavior knowledge using finite
state machines (FSM) and patterns.
The approach still relies on the ability to fully formalize the set of all
possible states for the modeled elements.
Recently, ontologies have been introduced to represent the semantics of the managed
networks [10], [11].
A full introduction to the expressive power of the OWL is provided in the W3C's OWL
Guide.]
Ontologies are one of the main approaches used in the scope of KBS and artificial
intelligence to solve questions related to the semantics of the modeled domain.
They describe an abstract model of a domain by defining
The main difference between ontologies and other information models (e.g. CIM, MIB) is
that the latter models do not include axioms, semantic relations or constraints on them
which would facilitate reasoning with them.
Example: A network ontology defined using OWL and a reasoning engine based on first-order
logic (FOL) calculus is described in [11]. The work also investigates the utilization of
semantic concepts such as
o equivalency and
o containment, in order to achieve interpretability between models and commands
defined by different vendors.
From WikiPedia:
The Web Ontology Language (OWL) is a family of knowledge representation languages for
authoring ontologies. The languages are characterised by
o formal semantics
OWL is endorsed by the World Wide Web Consortium (W3C)[1] and has attracted academic, medical
and commercial interest.
In October 2007, a new W3C working group[2] was started to extend OWL with several
new features as proposed in the OWL 1.1 member submission. [3]
W3C announced the new version of OWL on 27 October 2009. [4] This new version,
called OWL 2, soon found its way into semantic editors such as Protg and semantic
reasoners such as Pellet,[5][6] RacerPro,[7] FaCT++[8][9] and HermiT.[10]
The Resource Description Framework (RDF) is a family of World Wide Web Consortium
(W3C) specifications originally designed as a metadata data model. It has come to be used as
a general method for conceptual description or modeling of information that is
implemented in web resources, using a variety of syntax formats.
http://www.w3.org/TR/2004/REC-owl-features-20040210/#ref-rdf-schema
The OWL Web Ontology Language is designed for use by applications that need to process
the content of information instead of just presenting information to humans.
OWL has three increasingly-expressive sublanguages: OWL Lite, OWL DL, and OWL Full.
OWL has been designed to meet this need for a Web Ontology Language. OWL is part of the growing
stack of W3C recommendations related to the Semantic Web.
XML provides a surface syntax for structured documents, but imposes no semantic
constraints on the meaning of these documents.
XML Schema is a language for restricting the structure of XML documents and also extends
XML with datatypes.
RDF is a datamodel for objects ("resources") and relations between them, provides a simple
semantics for this datamodel, and these datamodels can be represented in an XML syntax.
RDF Schema is a vocabulary for describing properties and classes of RDF resources, with a
semantics for generalization-hierarchies of such properties and classes.
OWL adds more vocabulary for describing properties and classes: among others, relations
between classes (e.g. disjointness), cardinality (e.g. "exactly one"), equality, richer typing of
properties, characteristics of properties (e.g. symmetry), and enumerated classes.
XML was designed to transport and store data, with focus on what data is
HTML was designed to display data, with focus on how data looks
HTML is about displaying information, while XML is about carrying information.
NOTE:
The aforementioned models are explicit in the sense that the utilization of the model is
independent from its representation.
Reinforcement learning (RL), a machine learning approach, has been applied to build look-up
tables containing state-to-state transition and corresponding actions pairs [12].
In [13], concepts of forecasting functions were utilized to gradually construct a dynamic model
of the effects of various configuration actions on network components parameters.
Note: While implicit learning models are suitable for continuously evolving systems, where they
replace the periodic manual redesign of the NKBS, one limitation of gradual learning models is
their poor performance during the initial phase of learning the model.
Recently, some efforts (e.g., [14]) have been dedicated to model system control using
utility functions.
These functions are used, for example, to model service-levels as functions of system
control parameters, allocated resources and expected service demands.
Transfer functions
Transfer functions, used within a control loop, are also utilized [15] to
o represent a server behavior model in response to varying configuration
parameters
o and to model environment noise (e.g., delays and effects of the accuracy of
network monitoring measurements).
5.1 Introduction
Policy : the combination of rules and services where rules define the criteria for resource
access and usage.
A policy is formally defined as an aggregation of policy rules.
Each policy rule is composed of a set of conditions and a corresponding set of actions.
The condition defines when the policy rule is applicable. Once a policy rule is activated,
one or more actions contained by that policy rule may be executed. These actions are
associated with either meeting or not meeting the set of conditions specified in the policy
rule
Policy-based systems have become a promising solution for implementing many forms of
large-scale, adaptive systems that dynamically change their behavior in response to
changes in the environment or to changing application requirements.
o This can be achieved by modifying the policy rules interpreted by distributed
entities, without recoding or stopping the system.
Such dynamic adaptability is fundamentally important in the management of increasingly
complex computing systems.
(PBM) : management paradigm that separates the rules governing the behavior of a system
from its functionality.
It promises to reduce maintenance costs of information and communication systems while
improving flexibility and runtime adaptability.
PBM could relieve the suffering of managing the large computer systems and free the manager
from monitoring the equipments and systems directly and supply a systematic method for
establishing,
revising, and distributing policies.
Policy is a kind of criterion that aims at determining the choice of the actions in an individual
system. The criterion is long-lasting, illustrative, and originated from the target of the
management.
PBM advantages:
When system requirement alters, it is only necessary to change or add some new policies
instead of re-coding.
To make the best use of the resources by flexible distribution of the resources according
to the dynamic information and the different requirements of various service types.
Make the system less dependent on the system manager and make the system more
intelligent.
It can: store policy information; search policy information; retrieve policy information
Policy Decision Point (PDP) is the arbitration component for policy evaluation, which evaluates
a state or condition to determine whether a policy enforcement action is required.
PDP can work as
rule locator; device adapter; state resource validation (requirements checking)
policy rule translation; policy transformation
Policy Enforcement Point (PEP) is a network device, such as a router, switch, firewall or host
that enforce the policies received from the PDP.
The policies are enforced (through dynamic configuration changes to access control lists, priority
queues or other parameters) as directed by the policy decision point.
PEP can do
specified Operation by policy rule; optional policy rule validation; feedback
PBNM can adapt rapidly to the changes in management requirements via run-time
reconfigurations, rather than reengineer new object modules for deployment.
The introduction of new policies does not invalidate the correct operation of a network, provided
the newly introduced policies do not conflict with existing policies. In comparison, a newly
engineered object module must be tested thoroughly in order to obtain the same assurance.
6.1 Introduction
Why SDN?
Future Internet challenges -> need to solve the current Internet limitation and
ossification- as to support global integration of various forms of communications
Evolutionary approach
Clean slate approach
New trends
Scalability issues:
Complex network (10**5 network devices in data centers)
Source: Software-Defined Networking: The New Norm for Networks ONF White Paper
April 13, 2012
NETCONF, 2006
IETF Network Configuration WG (still active) : NETCONF defined a
management protocol for modifying the configuration of network devices.
network devices have APIs - (to send /retrieve) configuration data
still - no separation Control/Data Plane
Control
API
Plane
Control Network OS
Network Services Layer
( decoupled control logic)
Infrastructure Layer
Abstraction layer
Network Data
Network Plane
Element Element
Flow Table
Switch
Advantages
Centralization allows:
To alter network behavior in real-time and faster deploy new applications and
network services (hours, days not weeks or months as today).
SDN control and applications layers, business apps can operate on an abstraction of the
network, leveraging network services and capabilities without being tied to the details of
their implementation
Manage the entire network : intelligent orchestration and provisioning systems
ONF studies open APIs to promote multi-vendor management:
possibility for on-demand resource allocation, self-service
provisioning, truly virtualized networking, and secure cloud services.
Abstract
API Network
view
Network Virtualization
Consistent updated
global
network view
Network OS
Control
Plane
Open I/F to Packet
Forwarding
e.g. OpenFlow
Swich/
Router
Swich/
Router Swich/
Router
Swich/ Forwarding
Router
Swich/ Data
Router Swich/ Plane
Flow Router
Table
Network OS:
Distributed system that creates a consistent, updated network view
Executed on servers (controllers) in the network
Examples: NOX, ONIX, HyperFlow, Floodlight, Trema, Kandoo, Beacon,
Maestro,..
Uses forwarding abstraction in order to:
Collect state information from FE
Generate commands to FE
OpenFlow summary
the first SDN standard communications: CPl-DPl I/F
allows direct access to the Fwd. Plane of network devices (FE = switches and
routers), both physical and virtual (hypervisor-based)
allows to move CPl out of the FEs to logically centralized control software
Flow concept : to identify network traffic based on pre-defined match rules that
can be statically or dynamically programmed by the SDN control SW
allows IT admin to define how traffic should flow through FEs based on
parameters such as usage patterns, applications, and cloud resources
OpenFlow Switch
Specification scope
Router/
Switch
OpenFlow OpenFlow
Protocol
SW Secure
channel
SSL
Controller
HW Flow
Table
Commercial switch
OpenFlow capable OpenFlow
SDN
Controller
Traditional Secure
Ctrl. SW channel Server
OpenFlow OpenFlow Farm
& Acces
Traditional Flow Point
DPl Tables
WLAN
eliminate middleboxes (NAT, firewalls, load balancers, access control, DPI, etc.)
by integrating their functionality within the controller
a set of high-level abstractions are proposed that allow admin to update the entire
network
packets are processed in consistent way at network level based on flow concepts
Energy consumption important in big Data Centers (10-20% for networking) need
of better energy management
Proposal: SDN based Network-wide power management, (elastic tree, savings
20-65% depending on traffic conditions-have been shown)
Other Issues :OF sometimes excessively centralises control processing while only few
significant" flows need to be managed bottlenecks in the control communication ( if fine
granularity is wanted)
Solutions: proactive policies and wild-card rules, but the cost is paid with less to
manage traffic and gather statistics.
Source: SDN: the service provider perspective, Ericsson Review, February 21, 2013
Dynamic service-chaining
special services use optimization: selectively steering traffic through
specific services or bypassing them (avoid over-dimensioning-> capex
savings)
Service paths are unidirectional- can be different for upstream and downstream
traffic.
Traffic steering has two phases
1. Classification of the incoming packets; assignment of a service path
to them, based on predefined policies.
2. Packets are then forwarded to the next service, based on the current
position in their assigned service path
No repeating classification is required; hence the solution is scalable.
- it may no longer need to pass the FW service after the service type has been detected
- the subsequent packets of the same flow may no longer need to pass the DPI service
either ( shorter- blue path)
SDN Solution : BWoD from an OF - SDN architecture with a programmatic north API
operators have centralized, granular control over the networking infrastructure.
Customers can automatically request dynamic changes to bandwidth allocation and other
QoS parameters at the packet and/or optical layers, either immediately or scheduled in
the future.
The SDN control layer can leverage topology-aware path computation to cost-effectively
enable bandwidth on demand.
Network virtualization allows operators to leverage the same networking and operational
infrastructure on which they deliver traditional services to create BWoD services and
new billing models.
Action: an operation that forwards the packet to a port, modifies the packet (such as
decrementing the TTL field) or change its state (such as associating it with a queue).
Actions may be specified as part of the instruction set associated with a flow entry
or in an action bucket associated with a group entry.
Actions may be accumulated in the Action Set of the packet or applied
immediately to the packet
Action Bucket: a set of actions and associated parameters in a group. The group will
select one (or more) buckets for each packet.
OpenFlow (OF) protocol runs over the Secure Sockets Layer (SSL).
Each switch is connected to other OF switches and, possibly, to end-user devices
that are the sources and destinations of packet flows.
In a switch, a series of tablesimplemented in HW or firmwareare used to
manage the flows of packets through the switch.
The switch
encapsulates and forwards the first packet of a flow to an SDN controller,
which decides whether the flow should be added to the switch flow table.
It forwards incoming packets out the appropriate port based on the flow
table.
The flow table may include priority information dictated by the
controller.
It can drop packets on a particular flow, temporarily or permanently, as
dictated by the controller.
Packet dropping can be used for security purposes, to solve
Denial-of-Service (DoS) attacks or traffic management
requirements.
An OF Switch contains :
one or more flow tables and a group table, which perform packet lookups and
forwarding,
and an OF channel to an external controller
Flow table : a set of flow entries; each flow entry consists of match fields, counters, and a
set of instructions to apply to matching packets
Matching starts at the first flow table and may continue to additional flow tables
Flow entries match packets in priority order, with the first matching entry in each
table being used.
If a matching entry is found, the instructions associated with the specific flow
entry are executed.
If no match is found in a flow table, the outcome depends on configuration of the
table-miss flow entry:
for example, the packet may be forwarded to the controller over the OF
channel, dropped, or may continue to the next flow table
A Meter Table can trigger a variety of performance-related actions on a flow
Instructions associated with each flow entry either contain actions or modify pipeline
processing
Actions included in instructions describe packet forwarding, packet modification and
group table processing.
Pipeline processing instructions allow packets to be sent to subsequent tables for further
processing and allow information, in the form of metadata, to be communicated between
tables.
Table pipeline processing stops when the instruction set associated with a
matching flow entry does not specify a next table; at this point the packet is
usually modified and forwarded
Actions associated with flow entries may also direct packets to a group, which
specifies additional processing
A FT may direct a flow to a Group Table, which may trigger a variety of actions
that affect one or more flows
The group table contains group entries;
each group entry contains a list of action buckets with specific semantics
dependent on group type
The actions in one or more action buckets are applied to packets sent to
the group.
Groups represent sets of actions for flooding, or more complex forwarding
semantics (e.g. multipath, fast reroute, and link aggregation).
As a general layer of indirection, groups also enable multiple flow entries
to forward to a single identifier (e.g. IP forwarding to a common next
hop).
This abstraction allows common output actions across flow entries to be
changed eficiently.
Switch designers are free to implement the internals in any way convenient, provided that
correct match and instruction semantics are preserved.
Ex. 1: while a flow entry may use an all group to forward to multiple ports, a
switch designer may choose to implement this as a single bitmask within the
hardware forwarding table.
User Datagram Protocol (UDP) Source and Destination Ports: Exact match or wildcard
value.
Address Resolution Protocol (ARP) Opcode: Exact match in Ether-net Type field.
Source and Target IPv4 Addresses in Address Resolution Protocol (ARP) Payload: Can
be an exact address, a bitmasked value, a subnet mask value, or a wildcard value.
The instructions component of a table entry consists of a set of instructions that are
executed if the packet matches the entry.
Set-Field: The various Set-Field actions are identified by their field type; they
modify the values of respective header fields in the packet.
Change-TTL: The various Change-TTL actions modify the values of the IPv4
Time To Live (TTL), IPv6 Hop Limit, or MPLS TTL in the packet.
Symmetric: sent without solicitation from either the controller or the switch.
Hello messages are typically sent back and forth between the controller and switch when
the connection is first established.
Echo request and reply messages can be used by either the switch or controller to
measure the latency or bandwidth of a controller switch connection or just verify that the
device is operating. The Experimenter message is used to stage features to be built into
future versions of OpenFlow.
ONF is developing an standard configuration and management protocol of an operational Context which
is complementary to OpenFlow protocol. Versions: v1.1 2012, v1.2- 2014.
Currently there is work underway on two configuration and management protocols for OF
switches: OF Management and Configuration Protocol (OF-Config) and Open vSwitch Database
Management Protocol.
Motivation
The OF protocol assumes that an OF datapath (e.g. an Ethernet switch which supports the OF protocol)
has been configured with various artifacts such as the IP addresses of OF controllers.
OF-CONFIG enables the remote configuration of OF datapaths. While the OF protocol generally operates
on a time-scale of a flow (i.e. as flows are added and deleted), OF-CONFIG operates on a slower time-
scale.
Example is building forwarding tables and deciding forwarding actions which are done via OF
protocol while enabling/disabling a port can be done via OF-Config protocol.
OF-CONFIG 1.1 introduces an operating context for one or more OF datapaths called an OF Capable
Switch.
Figure 6-17 An OF Configuration Point communicates with an operational context which is capable of
supporting an OF Switch using the OF Configuration and Management Protocol (OF-CONFIG)
Terminology
OF Capable Switch
physical or virtual switching device which can act an as operational context for an OF Logical Switch. OF
Capable Switches contain and manage OF Resources which may be associated with an OF Logical
Switch context.
OF Configuration Point
It configures one or more OF Capable Switches via the OF Configuration and Management Protocol (OF-
CONFIG).
OF Logical Switch
It is a set of resources (e.g. ports) from an OF Capable Switch which can be associated with a specific OF
Controller. An OF Logical switch is an instantiation of an OF Datapath.
OF Resource
It is a resource (e.g. port or queue) associated with an OF Capable Switch and may be associated with an
OF Logical Switch.
OF Queue
It is a queuing resource of an OF Logical Switch as described in the OF specification as the queue
component of an OF datapath.
OF Port
An OF Port is a forwarding interface of an OF Logical Switch as described in the OF specification as the
port component of an OF datapath. An OF Port may map to a physical port on a physical switch or a
logical port on a physical or virtual switch.
Basic characteristics
The OF-CONFIG protocol enables dynamic association of the OF related resources of an OF Capable
Switch with specific OF Logical Switches which are being hosted on the OF Capable Switch.
OFCONFIG does not specify or report how the partitioning of resources on an OF Capable Switch is
achieved.
OF-CONFIG assumes that resources such as ports and queues are partitioned amongst multiple OF
Logical Switches such that each OF Logical Switch can assume full control over the resources that is
assigned to it.
OF-CONFIG 1.1 makes simplifying assumptions about the architecture of OF switches. The specification
is deliberately decoupled from whether the switch supports flowvisor or other virtualization models.
The service which sends OF-CONFIG messages to an OF Capable Switch is called an OF Configuration
Point.
No assumptions are made about the nature of the OF Configuration Point. For example, it may be
a service provided by SW acting as an OF controller or it may by a service provided by a
traditional network management framework.
Any interaction between the OF Configuration Points and OF controllers is outside the scope of
OF-CONFIG 1.1.
Figure 6-18 Relationship between components defined in the OF-CONFIG protocol and the OF protocol
OF-CONFIG 1.1 is focused on the following functions needed to configure an OpenFlow 1.3 (OFv1.2)
datapath:
The assignment of one or more OF controllers
The configuration of queues and ports
The ability to remotely change some aspects of ports (e.g. up/down)
Configuration of ceritificates for secure communication between the OF Logical Switches and
OF Controllers
Discovery of capabilities of an OF Logical Switch
While limited in scope, OF-CONFIG 1.1 lays the foundation on top of which various automated
and more advanced configurations will be possible in future revisions.
Outside the scope of OF-CONFIG 1.1 : Switch discovery, topology discovery, capability configuration,
event triggers, versioning, instantiation of OF Logical Switches, assignment of resources such as ports
and queues to OF Logical Switches, and bootstrap of the OpenFlow capable network are protocol. (it will
be in future versions).
OF-Config details
OF Mgmt and Config Protocol version 1.1 (OF-Config), 2012, has been released by ONF
The OF-Config protocol addresses the following components of controller-switch management:
a. OF configuration point: The OF-Config point issues OF-Config commands.
The OF-Config Point can be located in the same server or workstation as an OF controller or
within traditional network management products.
Configuration points can manage multiple OF-capable virtual or physical switches.
A configuration point may manage multiple OF capable switches, and a capable switch may be
managed by more than one configuration point.
The configuration point also communicates with OF logical switches that live within the OF
capable switch.
Specifically the control point supplies each logical Switch with the IP addresses and port
numbers of the OF controllers that will control individual packet flows through the switch.
It also specifies whether TCP or TLS will be used to communicate between the switch and
controller, and it configures certificates for communications between switches and controllers.
Each OF logical switch operates independently of the other logical switches within the same OF
capable switch.
A configuration point can discover the resources allocated to a logical switch, configure tunnels,
set port parameters, turn ports off and on, and retrieve switch status.
It receives error codes from a switch if a configuration operation fails and it can roll back the
operation in the event of a partial failure.
Implementing OF-Config in a switch requires modifying the switch's internal configuration
database and implementing the Netconf Protocol RFC (6241) to communicate between
configuration points and switches. Netconf uses XML encoding for configuration data and
protocol messages.
Configuration data is sent to, and retrieved from, switches using remote procedure calls. Netconf
can send or retrieve full and partial configuration descriptions and can convey asynchronous
notifications from the switch.
Netconf is extensible, so it will continue to support OF-Config as future capabilities are added.
Configuration points can retrieve switch configuration capabilities, so a configuration point
upgraded to a later OF-Config version can continue to support a switch that has not yet been
upgraded.
The OF-Config 1.1.1 specification contains UML diagrams XML examples and the full XML
schema defining configuration capabilities.