network management concepts: models and languages * * mani subramanian “network management:...
DESCRIPTION
Network Management Systems (NMS) A NMS is an integrated collection of tools for network monitoring and control Network management is concerned with system resources (e.g., hubs, bridges, routers, etc.) and the connectivity among them NME and NMA: collection of software devoted for NM task Workstation (agent) NMA OS Comm NME Appl OS Comm NME Appl OS Comm NME Router (agent) Server (agent) OS Comm NME Appl Network control host (Manager)TRANSCRIPT
Network Management Concepts: Models and Languages*
*Mani Subramanian “Network Management: Principles and practice”, Addison-Wesley, 2000.
Network Management Concepts: Models and Languages
Network Management Systems Origin of Network Management OSI Management Models
Organization Information Communication Functional
Abstract Syntax Notation 1 (ASN.1)
Basic Encoding Rules, BER
Network Management Systems (NMS)
A NMS is an integrated collection of tools for network monitoring and control
Network management is concerned with system resources (e.g., hubs, bridges, routers, etc.) and the connectivity among them
NME and NMA: collection of software devoted for NM task
Workstation (agent)
NMA
OSComm
NME Appl
OS
Comm
NME Appl OS
Comm
NME
Router (agent)
Server (agent)
OS
Comm
NME Appl
Network control
host (Manager)
Elements of NMS
Network Management Entity (NME)o Collect statistics on
communication and related activities
o Store statistics locallyo Responds to commands
from the network control center (e.g. report its object status, etc.)
o Generate messages to the network control center when local conditions change (e.g., port failure)
Network Management Application (NMA)
o Interface allowing authorized users to manage the network
o Display mgnt information and issue control commands to NME
To maintain high availability, two or more network control hosts (managers) are used!
Network Management Components
Network Agent monitors its respective objects either in response to a query from the NMS or triggered by a local alarm
The agent communicates the relevant data to the NMS
NMS
NetworkAgent
NetworkAgent
NetworkObjects
NetworkObjects
Network Management Components
A NMS manages all the components connected to a network which may be coming from different vendors
This might require installing multiple NMS or a single NMS capable of managing multiple vendor components (Interoperability).
Therefore, standards are required (2 major standards emerged: the Internet and OSI)
NMS
NetworkAgent
NetworkAgent
NetworkObjects
NetworkObjects
Interoperability
Vendor A
ApplicationServices
ManagementProtocol
TransportProtocols
Objects
Objects
Vendor B
Objects
Objects
NMSVendor A
NetworkAgent
NetworkAgent
NetworkObjects
NetworkObjects
NMSVendor B
NetworkAgent
NetworkAgent
NetworkObjects
NetworkObjects
Messages
Services & Protocols
Management related applications e.g., fault and configuration management)
Case of two service providers: each managed independently. Some mgnt information can be shared
Distributed Network Management
Centralized management central control (makes
sense when key resources reside in a central site and services are provided to remote users).
Enables managers to maintain control over the entire configuration, balancing resources against needs, and optimizing the overall resource utilization
Drawbacks traffic overhead, scalability
and “single point of failure”
NMA
OSComm
NME Appl
OS
Comm
NME Appl OS
Comm
NME
Router (agent)
Server (agent)
OS
Comm
NME Appl
Manager
Workstation (agent)
Distributed Network Management
Distributed management replaces the single network
control with interoperable workstations located on distributed LANs.
local control for managers over their own segments.
Hierarchical architecture is typically used where a central workstation (with backup) has global access rights and the ability to manage all network resources
Advantages: Traffic overhead is minimized:
much of the traffic is confined to the local environment
Greater scalability: more workstations can be deployed to provide additional management
Eliminate the single “point of failure” by using multiple networked management stations
Distributed Network Management
Management server Management server
Network
Network
Managementapplication
Managementapplication
MIB MIB
ProxyProxy
Network resources with management agents (servers, routers, etc.)
Management clients (PCs, workstations)
Devices to be managed
Devices with different management protocols
Each may have access to one or more mgnt servers
Proxies
Ideally, all network components that are to be managed should include a network management entity (NME) with common network management software across all managers and agents.
This may actually not be practical or possible: Proprietary management systems Some components (e.g., modems) may not support
additional software It is common to have agents acting as proxies:
A proxy acts on behalf of other nodes A manager communicates with a proxy to get information
for a specific node
Proxies
Management application
Client stub
Protocol stack
Protocol stack
Proxy manager
Protocol stack
Protocol stack
Serverstub
Client proxystub
Proprietary management interface
Server proxy stub
Standard operations and event reports
Proprietary operations and event reports
Polling and Event Reporting
Information that is useful for monitoring is collected and stored by agents and is made available to one or more manager systems.
Polling and event reporting are two techniques used for this purpose by both network managers and agents.
MANAGER
AGENTS
Polling
MIB
Event Reporting
Polling and Event Reporting
Polling A “request-response”
interaction between a manager and agent.
A query is made by a manager to an authorized agent to request values for various information elements
The agent responds with information from its MIB
The request may take any shape: asking for some specific
values or could be about the structure used for the MIB
Event Reporting the agent initiates, and the
manager acts as a listener waiting for incoming information
A “reporting period” may be defined and configured by the manager
When a significant (unusual) event occurs (e.g., a fault), the agent reports to the manager Reporting is more efficient than
polling, especially for monitoring objects whose values change only infrequently
Polling and Event Reporting A network monitoring system employs both polling and
reporting schemes Traditional TMN relies on event reporting whereas SNMP
relies on polling and OSI falls in between The choice of either depends on number of factors:
Amount of traffic generated Robustness in critical situations Delays in notifying Amount of processing in managed devices Reliable vs. unreliable transport Network monitoring applications supported Robustness of notification devices
Network Management Concepts: Models and Languages
Network Management Systems Origin of Network Management OSI Management Models
Organization Information Communication Functional
Abstract Syntax Notation 1 (ASN.1)
Basic Encoding Rules, BER
ICMP: Internet Control Message Protocol
used by hosts & routers to communicate network-level information error reporting:
unreachable host, network, port, protocol
echo request/reply (used by PING)
network-layer “above” IP: ICMP msgs carried in IP
datagrams ICMP message: type, code
plus first 8 bytes of IP datagram causing error
Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header
Traceroute and ICMP
Source sends series of UDP segments (probes) to dest First has TTL =1 Second has TTL=2, etc. Provide also unlikely port
number When nth datagram arrives
to nth router: Router discards datagram And sends to source an
ICMP message (type 11, code 0)
Message includes name of router& IP address
When ICMP message arrives, source calculates RTT
Traceroute does this 3 times
Stopping criterion UDP segment eventually
arrives at destination host Destination returns ICMP
“host unreachable” packet (type 3, code 3)
When source gets this ICMP, stops.
PING and ICMP
PING (Packet Internet Groper) is a simple management tool that depends on ICMP protocol Measure round trip delays,
packet loss, etc. Isolates points of failure
and areas of congestion
Ping, ”Sends ICMP ECHO_REQUEST packets to network hosts”, used to: Test destination reachability, compute round trip time count the # of hops to destination may provide record route option
Ping failure does not guarantee un-reachability Firewalls may filter pings
Origin of NM
Internet currently growth in the number of
attached hosts, number of distinct
administrative domains, multi-vendor equipment,
etc. PING capability was not
satisfactory! need for automated capabilities
Standardized protocols with more functionalities than PING and yet as simple!
SNMP (Simple Network Management Protocol) and CMIP (Common Management Information protocol) over TCP/IP have emerged and were approved by the IAB
NM StandardsStandard Salient Points
OSI / CMIP International standard (ISO / OSI) Management of data communications network - LAN and WAN Deals with all 7 layers Most complete Object oriented Well structured and layered Consumes large resource in implementation
SNMP/Internet Industry standard (IETF) Originally intended for management of Internet components, currently adopted for WAN
and telecommunication systems Easy to implement Most widely implemented
TMN International standard (ITU-T) Management of telecommunications network Based on OSI network management framework Addresses both network and administrative aspects of management
IEEE IEEE standards adopted internationally Addresses LAN and MAN management Adopts OSI standards significantly
Deals with first two layers of OSI
Web-based
Management Web-Based Enterprise Management (WBEM) Java Management Application Program Interface (JMAPI)
NM Standards
OSI (Open System Interconnection) NM Adopted by the ISO (International Standards Organization) Its management protocol is the CMIP (Common Management
Information Protocol) Very comprehensive and addresses the 7 layers of OSI Managed objects are based on object classes and inheritance
rules Management of data communications network - LAN and WAN Complex and consumes large resource in implementation designed 1980’s: too slowly standardized
NM Standards
Simple Network Management protocol (SNMP) Industry standard (IETF) Managed objects are defined as scalars with few characteristics
such as data types, read-only, read-write attributes Originally intended for management of Internet components,
currently adopted for WAN and telecommunication systems Easy to implement Most widely implemented NM: most vendor equipment supports
SNMP
NM Standards
Telecommunication Management Network (TMN)
International Standard (ITU) Based on OSI Network Management Management of telecommunications
networks Addresses both network and
administrative aspects of management
IEEE Adopted Internationally Addresses LAN/MAN
management Based on OSI Network
Management Deals with first two layers of OSI
(physical and data link layers)
NM Standards
Web-based Management Based on Web technology (web servers and browsers) Still an evolving technology Web-Based Enterprise Management (WBEM)
Desktop Management Task Force (DMTF) is actively developing specs for WBEM
DMTF had chosen Microsoft OO management model Java Management Extensions (JMX)
Based on JAVA applets developed by Sun Microsystems
Network Management Concepts: Models and Languages
Network Management Systems Origin of Network Management OSI Management Models
Organization Information Communication Functional
Abstract Syntax Notation 1 (ASN.1)
Basic Encoding Rules, BER
Network Management Models
Organization Model the components of a NM
system, their functions, and relationships (it defines manager, agent, object)
NetworkManagement
InformationModel
OrganizationModel
FunctionalModel
CommunicationModel
Information Model Structure of Management
Information (SMI: Syntax and semantics)
Management Information Base (MIB: Organization of management information)
Network Management Models
Communication Model Transfer syntax with bi-
directional messages; Transfer structure (PDU)
NetworkManagement
InformationModel
OrganizationModel
FunctionalModel
CommunicationModel
Functional Model Application functions
Configure components Monitor components Measure performance Secure information Usage accounting
Organization Model
Managed object A network element that is
managed (e.g., routers, bridges, hubs, etc.)
Houses SNMP management agent
Objects are classified into managed/unmanaged Managed object has a
running management agent
Manager
Managed objects
Unmanaged objects
Two-Tier Network Management Organization Model
Agent process
MDB
MDB Management Database
Organization Model
Management Station (Manager) Interface for network managers to
monitor and control the network Contains management applications
(data analysis, fault recovery, etc.) Translation capabilities from
manager’s requirements into actual monitoring and control of remote elements
Contains DB of information extracted from MIBs of all the managed entities in the Network
Manager
Managed objects
Unmanaged objects
Two-Tier Network Management Organization Model
Agent process
MDB
MDB Management Database
Organization Model
Management Agent Gathers information from objects Configures parameters of objects
(e.g., enable/disable a router port, shut down a port on a hub, etc.)
Responds to requests for information and actions from managers
Generates alarms and sends them to managers
Manager
Managed objects
Unmanaged objects
Two-Tier Network Management Organization Model
Agent process
MDB
MDB Management Database
Organization Model Middle layer plays the dual role
Agent to the top-level manager Manager to the managed
objects collects, processes and stores
data locally Performs statistical operation on
the data and passes it to top level manager
The intermediate system could be at a local site and passes info. to a remote site.
Example of middle level: Remote monitoring agent (RMON)
Agent / Manager
Managed objects
Agent process
Manager
Three-Tier Network Management Organization Model
MDB
MDB
MDB Management Database
Organization Model
Different network domains, each managed locally Agent NMS manages the domain MoM presents integrated view of domains Domain may be geographical, administrative, vendor-specific
products, etc.
MoM
AgentAgent NMS
Manager
Managed objectsManaged objects
MDB
MDB MDB
MoM Manager of Managers
AgentAgent NMS
Manager
NMS Network Management System
Communication Model
Resources are represented as objects (or data variables) Collection of objects is a MIB (more later) A manager performs monitoring by retrieving the value of MIB
objects A manager causes an action to take place or changes the
configuration settings by modifying values of specific variables
MIB
MANAGERMANAGER AGENTAGENT
SNMP
Communication Model
Management stations and agents are linked by a network management protocol
SNMP is used for the management of TCP/IP networkso Get: manager or management station can retrieve the value of
objects at the agento Set: set the values of objects at the agento Trap: agent notifies manager on significant events
MIB
MANAGERMANAGER AGENTAGENT
SNMP
Protocol Architecture
InternetworkInternetwork
Router
IP
Network-dependent protocols
UDP
SNMP
Agent processAgent process
SNMP
UDPUDP
SNMP
Agent processAgent process
SNMP
UDP UDP
SNMP
Agent processUser process
FTP, etc.
TCP
Host
IP
Network-dependent protocols
Host
UDP
SNMP
Agent processAgent process
SNMP
UDP UDP
SNMP
Agent processUser process
FTP, etc.
TCP
IP
Network-dependent protocols
IP
UDP
SNMP
Manager process
Network-dependent protocols
Management station
Network manager
Central MIB
(e.g., Ethernet, X.25, ATM)
Interprets SNMP messages and controls the agent’s MIB
-SNMP uses UDP port 161- connection-less
Communication Model
Management data is communicated between agent and manager as well as between managers
Three aspects: Transport medium of message exchange (transport protocol) Message format (application protocol) Actual message (commands and responses)
Manager Agent
Operations /Requests
Responses
Notifications /TrapsApplications Network Elements
Managed Objects
Management Message Communication Model
Communication ModelG
etR
eque
st
Get
Nex
tReq
uest
SetR
eque
st
Get
Res
pons
e
Trap
Layer 1 & 2
IP
SNMP Manager
UDP
Layer 1 & 2
IP
SNMP Agent
UDP
Network
Get
Req
uest
Get
Nex
tReq
uest
SetR
eque
st
Get
Res
pons
e
Trap
Managementapplication
SNMP managedobjects
Application
manages object
SNMP Messages
Central MIB
Trap-Directed Polling SNMP encourages the
manager to use trap-directed polling A manager may be
responsible for a large number agents, each maintains a large number of managed objects
It is impractical to regularly poll all agents for all their readable objects (management overhead on the network may be very excessive!)
agent data
agent data
agent data
agent data
managed device
managed device
managed device
managed device
managingentity data
networkmanagement
protocol
managing entity
Trap-Directed Polling Initially a manager may poll
all the agents for some key information e.g., interface
characteristics (# pckts in/out, etc..)
Then, each agent is responsible for notifying (through trap messages) the manager of any unusual event e.g., high pckt drop rate at
some interface
agent data
agent data
agent data
agent data
managed device
managed device
managed device
managed device
managingentity data
networkmanagement
protocol
managing entity
Substantial savings in network capacity and agent processing (use network resources for the right reason!)
Information Model The representation of
objects and information relevant to their management
This information is usually communicated between agents and management processes
SMI (Structure of Management Information) defines the syntax and semantics of management information stored in MIB (Management Information Base)
ExamplesysDescr: { system 1 }Syntax: OCTET STRINGDefinition: "A textual description of the entity. "Access: read-onlyStatus: mandatory
MIB Contains information about objects Organized by grouping of related objects Defines relationship between objects Agent MIB vs. Manager MIB
MIB Agent: local information MIB Manager: info. on all network
components
Information Model MDB physical database; e.g.. Oracle
Contains measured or administratively configured values of NEs
MIB virtual database; schema compiled into management software Info necessary for processes to
exchange info. (e.g., #ports/hub) A NMS can automatically discover
(periodic broadcast of PING messages) a managed object, such as a hub, when added to the network Once detected, its information (e.g.,
address, number of ports, etc.) is added to MDB
MIB does not need to be updated if another hub from same vendor already exist
Manager
Managed objects
MDB MIB
The NMS can identify a new added object only after the MIB schema of the new added object is compiled into manager MIB.
Management Information Tree Both Internet and OSI
define objects uniquely by a tree structure
Each managed object occupies a node in the tree underneath the root
Root
Level 1
Level 2
Level 3
Management Information Tree Managed Objects
Standard organizations: definemanagement of objects under them
iso-itu2
itu0
iso1
org3
dod6
internet1
OSI Management Information Tree
Designation of objects: iso 1 org 1.3 dod 1.3.6 internet 1.3.6.1
Object Type and Instance
object ID unique IDand descriptor and name for the objectsyntax used to model the objectaccess access privilege to a managed
object (read-only, etc)status implementation requirements
(e.g., optional or mandatory)definition textual description of the
semantics of object type
Object Type:Object ID and
Descriptorcircle
Access:Access
privilege
Definition:Semantics -
textual description
Status:Implementationrequirements
Syntax :model of object
Internet Perspective
Object Type and Instance
object class managed objectattributes attributes visible at its
boundaryoperations access operations that can
be applied to itbehavior behavior exhibited by it in
response to an operationNotifications notifications emitted by
the object
Behavior
Object Class:Circularobject
Obj
ect C
lass
:E
llipt
ical
obje
ct
Attributes::
circle, dimension
Operations:Push
Attributes:ellipse, dimension
Notifications:
Notify changes in attribute values
OSI Perspective
Object Type and Instance
Characteristics Example Object type PktCounter
Syntax Counter
Access Read-only
Status Mandatory
Description Counts number of packets
Internet Perspective
Characteristics Example Object class Packet Counter
Attributes Single-valued
Operations get, set
Behavior Retrieves or resets values
Notifications Generates notifications on new value
OSI Perspective
Packet Counter As Example of Managed Object
Function Model
Configuration management set and change network configuration and component parameters Set up alarm thresholds
Fault management Detection and isolation of failures in network Trouble ticket administration
Performance management Monitor performance of network
Security management Authentication Authorization Encryption
Accounting management Functional accounting of network usage
OSIFunctional Model
FaultManagement
ConfigurationManagement
PerformanceManagement
SecurityManagement
AccountingManagement
Network Management Concepts: Models and Languages
Network Management Systems Origin of Network Management OSI Management Models
Organization Information Communication Functional
Abstract Syntax Notation 1 (ASN.1)
Basic Encoding Rules, BER
Abstract and Transfer Syntaxes
TransferSyntax
Encoding Rules
Encoding Rules
LocalMapping
LocalStorage
Data Transfer Compone
nt
Data Transfer Compone
nt
Application
Component
Application
ComponentLocal
Storage
LocalMapping
User PresentationMapping
User User
AbstractSyntax
The user of data transfer comp. e.g., SNMP, FTP, TELNET for TCP/IP
Mechanisms for transferof data between end systems (e.g., TCP or UDP)
Binary representation of data
User is concerned with semantics of data
Concerned with syntax of data
Abstract and Transfer Syntaxes For the application component, information is presented in
an abstract syntax that deals with data types and data values
o Abstract syntax is the set of rules used to specify data types and structures for storage of information
Abstract syntax is used to exchange info. between application components in systems
o Makes application layer protocols independent of lower layer protocols
Abstract syntax must be mapped into some form for presentation to the human user
And to some local format for storage (e.g. of this mapping is in the case of MIB; however, elements within MIB are defined using abstract syntax)
Abstract and Transfer Syntaxes The transfer syntax defines a unified representation of the
data to be exchanged between data transfer componentso Transfer syntax represents the set of rules for communicating
information between systems
Mapping from abstract syntax to transfer syntax is accomplished by means of encoding
o A common representation for the exchange of data between different systems
o Can generate machine-readable code: Basic Encoding Rules (BER) is used in management modules
ASN.1 is based on the Backus system and uses the formal syntax and grammar of the Backus-Nauer Form (BNF) ASN.1 is independent from lower layer protocols
Backus-Nauer Form (BNF)
Definition: <name> ::= <definition> where <entity> denotes “entity” and the symbol “::=“ represents “defined as” primitive definitions:
<digit> ::= 0|1|2|3|4|5|6|7|8|9<op> ::= +|-|x|/
similarly, an entity number can be constructed from primitives:
<number> ::= <number> | <digit> <number>Example:
9 is primitive 919 is construct of 1 and 9619 is construct of 6 and 19
ASN.1 Assignments
Assignments <BooleanType> ::= BOOLEAN data type assignment (or
name of the entity) <BooleanValue> ::= TRUE | FALSE value assignment
(assigned value to the data type)
Group of assignments: Modules Start with capital letters Usually modules are built from primitive (atomic) data types (e.g.,
INTEGER, REAL, etc..) May use ASN.1 constructs (e.g., SET, SEQUENCE, etc.) Constructors are used to build structured data types Backward and forward references, and inline definition
A module PersonnelRecord(a set of data types)
ASN.1 Modules
Three construction mechanisms (develop structured data types):Alternatives: CHOICEList: SET and SEQUENCERepetition: SET OF and SEQUENCE OF
PersonnelRecord ::= SET { Name, title GraphicString, division CHOICE { marketing [0] SEQUENCE {Sector, Country}, research [1] CHOICE {product-based [0] NULL, basic [1] NULL}, production [2] SEQUENCE {Product-line, Country } }}
Primitives data types
Constructs: “list makers”
Construct: alternatives
PersonnelRecord is a set of different data types, each uniquely associated with a name and can be encoded and transmitted in any order.
ASN.1 Modules
Example:“Smith”, “Manager”, {“North”, “Chile”}“Manager”, “Smith”, {“North”, “Chile”}{“North”, “Chile”}, “Smith”, “Manager”
PersonnelRecord ::= SET { Name, title GraphicString, division CHOICE { marketing [0] SEQUENCE {Sector, Country}, research [1] CHOICE {product-based [0] NULL, basic [1] NULL}, production [2] SEQUENCE {Product-line, Country } }}
Lists built with “SEQUENCE” maintains the correct order
ASN.1 Symbols
Symbol Meaning::= Defined as| or, alternative, options of a list- Signed number-- Following the symbol are comments{} Start and end of a list[] Start and end of a tag() Start and end of subtype.. Range
Data Types
Data Types
Convention
Example
Object name Initial lowercase letter sysDescr, etherStatsPkts
Application data type Initial uppercase letter Counter, IpAddress
Module Initial uppercase letter PersonnelRecord
Macro, MIB module All uppercase letters RMON-MIB
Keywords All uppercase letters INTEGER, BEGIN
Data types are generally defined based on a structure and a tag: Structure: simple (or atomic), structured, etc.. Tag: class and a tag
ASN.1 simple types Basic Types
o BOOLEANo INTEGERo ENUMERATEDo REALo BIT STRINGo OCTET STRING
Character String Types (various subsets of ISO 10646-1)o NumericString (0-9,<space>)o PrintableString (0-9,A-Z,a z,<space>,<special>)o VisibleStringo GraphicStringo TeletexStringo UTF8Stringo IA5String
ASN.1 simple types Syntax : <type name> ::= type Example: counter ::= INTEGER IpAddress ::= OCTET STRING PageNumber ::= INTEGER ChapterNumber::= INTEGER
Months ::= ENUMERATED {january (1), february (2),
march (3), april (4), may (5), june (6), july (7 august (8), september (9), october (10), november (11), december (12)}
ASN.1 simple types A subtype is derived from a parent type
Syntax: <subtype name> ::= <type> ( <constraint> )
Examples:
Counter ::= INTEGER ( 0..4294967295 )
IpAddress ::= OCTET STRING ( SIZE(4) )
Spring ::= Months ( march | april | may )
Summer ::= Months ( june | july | august )
SmallPrime ::= INTEGER ( 2 | 3 | 5 | 7 | 11 )
ASN.1 structured types A data type is structured type when it contains other types (i.e.,
have components) BookPageNumber ::= SEQUENCE
{ChapterNumber, Separator, PageNumber}
separator is a VisibleString data type with value “-”
Example: {1-1, 2-3, 3-39} BookPages ::= SEQUENCE OF { BookPageNumber }
BookPages ::= SEQUENCE OF {
SEQUENCE
{ChapterNumber, Separator, PageNumber}} Example: {1-1, 1-2,..,2-1, 2-2,…..}
ASN.1 structured types The pages of a book could also be specified as a
collection of individual pages in random order
BookPages ::= SET OF{ SEQUENCE {ChapterNumber, Separator, PageNumber}}
ASN.1 Tagged Types Tag uniquely identifies a data type and is required for
encoding the data types for communication Comprises class and tag number Class:
o Universal - similar to global variableso Application - only in the application usedo Context-specific - specific context in applicationo Private - used extensively by commercial vendors
Example: BOOLEAN Universal 1 INTEGER Universal 2 research Application [1]
product-based Context-specific under research [0]
ASN.1 Tagged Types
- basic types
- object types
- character string types
- miscellaneous types
- structured types
UNIVERSAL 1
UNIVERSAL 3
UNIVERSAL 9 UNIVERSAL 10
BOOLEAN
BIT STRING
REAL ENUMERATED
UNIVERSAL 2 INTEGER
UNIVERSAL 4 OCTET STRING
UNIVERSAL 6
UNIVERSAL 7 ObjectDescriptor
OBJECT IDENTIFIER
UNIVERSAL 5 NULL
UNIVERSAL 23 UTCTime
UNIVERSAL 24 GeneralizedTime
UNIVERSAL 16 SEQUENCE [OF] UNIVERSAL 17 SET [OF]
UNIVERSAL 26 VisibleString . . .
ASN.1 Tagged Types
Context specific (subset of an application, and limited to the application)
Tag nb is 1 (overrides that of BOOLEAN)
Application specific
PersonnelRecord ::= SET { Name, title GraphicString, division CHOICE { marketing [0] SEQUENCE {Sector, Country}, research [1] CHOICE {product-based [0] NULL, basic [1] NULL}, production [2] SEQUENCE {Product-line, Country } }}
ASN.1 Object Types Used to name and describe information objects
Such as standard documents, data structures, managed objects In general, an information object is a class of information,
e.g., file format, rather than an instance of such a class (i.e., individual file)
Object identifier is a unique identifier for a particular object and its value consist of a set of integers
Object descriptor is a human readable description of an information object
ASN.1 Object Types
internet OBJECT IDENTIFIER ::= {iso(1) org(3) dod(6) 1 }
root
ccitt(0) iso(1) joint-iso-ccitt(2)
org(3)
dod(6)internet(1)
private(4)mgmt(2)experimental(3)
enterprise(1)mib-2(1)
private OBJECT IDENTIFIER ::= {internet 4 }
ASN.1 Object Types
Private type is used extensively by vendors of network products
A vendor is assigned a node on the MIT, all branches and leaves under that node will be assigned private data types by the vendor
iso-itu2
iso1
itu0
org3
dod6
internet1
private4
enterprise1
IBM2
ibm OBJECT IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1) private(4) enterprize(1) 2}
Network Management Concepts: Models and Languages
Network Management Systems Origin of Network Management OSI Management Models
Organization Information Communication Functional
Abstract Syntax Notation 1 (ASN.1)
Basic Encoding Rules, BER
Encoding Structure
ASN.1 syntax containing management information is encoded using the Basic Encoding Rules (BER) that is defined for the transfer syntax
BER is a specification developed and standardized by CCITT and OSI
ASCII data is converted to bit-oriented data
TLV, Type-Length-Value: is a specific encoding structure Type: indicates the ASN.1 type, class of the type Length: length of the actual value representation Value: the value of the ASN.1 type as a string of octets
Encoding Structure
P/C (1-bit) specifies whether the structure is simple or a construct 0 for simple 1 for construct
Type Length Value
Class(7-8th bits)
P/C(6th bit)
Tag Number(1-5th bits)
1 byte
Encoding Structure
Class (2 bits): specifies the class being used
Type Length Value
Class(7-8th bits)
P/C(6th bit)
Tag Number(1-5th bits)
1 byte
Class 8th bit 7th bit Universal 0 0 Application 0 1 Context-specific 1 0 Private 1 1
Universal class Primitive Tag value = 2
Encoding Structure
Tag Number: designates the tag value in binary
Example: 00 0 00010 for encoding INTEGER
Type Length Value
Class(7-8th bits)
P/C(6th bit)
Tag Number(1-5th bits)
1 byte
Tag number < 31
Class P/C Tag number
0 = Primitive1 = Constructed
0 0 = Universal0 1 = Application1 0 = Context-specific1 1 = Private
8 7 6 5 4 3 2 1Bits
Identifier Octet
Tag number >= 31
Class P/C 1 1 1 1 11 1 1 1 1
Leading octet
1
2nd octet
1 0
Last octet
. . .
+ +. . . +
= Tag number
Encoding of Length Field
Binary equivalent of 128
Short form ( L < 128 octets)
0 Length L
one octet
Contents (or Value) field
L octets
Long form ( 128 L < 21008 octets)
1 K
first octet
Length L
K octets
Contents field
L octets
Example, L = 128: 10000001 10000000
BER, Examples
distance INTEGER ::= 27
00 0 00010
UNIVERSAL P 2
today INTEGER ::= 129 02 02 00 81 Length is 2 to indicate 2 octets for Value
DayOfYear ::= [APPLICATION 17] IMPLICIT INTEGER
01 0 10001
APPLICATION P 17
51 02 00 81today DayOfYear ::= 129
02 01 1BType Length Value
BER, Examples
BER EncodingBirthday Length Contents30 ?? VisibleString Length Contents 1A 04 "Jane" DayOfYear Length Contents 51 02 00 81
Birthday ::= SEQUENCE {name VisibleString,day DayOfYear
}
Type Definition
myBirthday Birthday ::= {name "Jane",day 129
}
Value Assignment
0A
UNIVERSAL 1600 1 10000
MACROS Macro is used to create new data types
<macroname> MACRO ::= BEGIN TYPE NOTATION ::= <syntaxOfNewType> VALUE NOTATION ::= <syntaxOfNewValue> <auxiliaryAssignments> END
OBJECT-IDENTITY MACRO ::=
BEGIN TYPE NOTATION ::= “STATUS” Status “DESCRIPTION” Text
VALUE NOTATION ::= Value (VALUE OBJECT IDENTIFIER) Status ::= “current” | “deprecated” | “obsolete” Text ::= ““““ string ””””
END
inse7120 OBJECT-IDENTITY
STATUS current
DESCRIPTION "A graduate-level
network management course offered
by the CIISE at Concordia University."
::= {ciiseclasses 50}