chapter 3 basic foundations: standards, models, and language

82
Chapter 3 Basic Foundations: Standards, Models, and Language

Upload: derrick-chapman

Post on 23-Dec-2015

240 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Chapter 3 Basic Foundations: Standards, Models, and Language

Chapter 3Basic Foundations:Standards, Models, and Language

Page 2: Chapter 3 Basic Foundations: Standards, Models, and Language

Outline

1. NM Standards2. Organization Model3. Information Model4. Communication Model5. Functional Model6. ASN.17. BER Encoding8. Macro

Page 3: Chapter 3 Basic Foundations: Standards, Models, and Language

Introduction

• Standards• Standards organizations• Protocol standards of transport layers• Protocol standards of management

(application) layer• Management Models• Language

Page 4: Chapter 3 Basic Foundations: Standards, Models, and Language

1. NM Standards

Page 5: Chapter 3 Basic Foundations: Standards, Models, and Language

NM Standards (cont.)

Page 6: Chapter 3 Basic Foundations: Standards, Models, and Language

OSI Architecture and Model

NetworkMangement

InformationModel

OrganizationModel

FunctionalModel

CommunicationModel

Figure 3.1 OSl Network Management Model

Page 7: Chapter 3 Basic Foundations: Standards, Models, and Language

OSI NM• Organization Model

• Network management components• Functions of components• Relationships

• Information Model• Structure of management information (SMI)

• Syntax and semantics• Management information base (MIB)

• Organization of management information• Object-oriented

Page 8: Chapter 3 Basic Foundations: Standards, Models, and Language

OSI NM• Communication Model

• Transfer syntax with bi-directional messages• Transfer structure (PDU)

• Functional Model

• Application functions• Configure components (CM)• Monitor components (FM)• Measure performance (PM)• Secure information (SM)• Usage accounting (AM)

Page 9: Chapter 3 Basic Foundations: Standards, Models, and Language

SNMP Architecture and Model

• Organization Model• Same as OSI model

• Information Model• Same as OSI, but scalarscalar

• Communication Model• Messages less complex than OSI

and unidirectional • Transfer structure (PDU)

• Functional Model• Application functions

• Operations• Administration• Security

Page 10: Chapter 3 Basic Foundations: Standards, Models, and Language

TMN Architecture

• Addresses management of telecommunication

networks• Based on OSI model• Superstructure on OSI network• Addresses network, service, network, service, and business business

management

Page 11: Chapter 3 Basic Foundations: Standards, Models, and Language

TMN & Telecommunication network

Page 12: Chapter 3 Basic Foundations: Standards, Models, and Language

2. Organization Model

Describes the components of network management and their relationships.

NM Components Manager Agent Managed Objects

Page 13: Chapter 3 Basic Foundations: Standards, Models, and Language

NM Components• Manager

• Sends requests to agents• Monitors alarms• Houses applications• Provides user interface

• Agent• Gathers information from objects• Configures parameters of objects• Responds to managers’ requests• Generates alarms and sends them to

mangers• Managed object

• Network element that is managed• Houses management agent• All objects are not managed / manageable

Page 14: Chapter 3 Basic Foundations: Standards, Models, and Language

Two-Tier NM Organization Model

Page 15: Chapter 3 Basic Foundations: Standards, Models, and Language

Three-Tier Model

Page 16: Chapter 3 Basic Foundations: Standards, Models, and Language

NM Organization Model with MoM

Page 17: Chapter 3 Basic Foundations: Standards, Models, and Language

Peer NMSs

Dual Role of Management Process

Page 18: Chapter 3 Basic Foundations: Standards, Models, and Language

3. Information Model

Structure and Storage of Management Information

SMISMI (Structure of Management Information) Defines the syntax and semantics of

management information. MIBMIB (Management Information Base)

Conceptual storage of management information

Page 19: Chapter 3 Basic Foundations: Standards, Models, and Language

SMI (Structure of Management Information)

• SMI defines for a managed object• Syntax• Semantics• plus additional information such as status

• Example sysDescr: { system 1 } Syntax: OCTET STRING Definition: "A textual description of

the entity. " Access: read-only Status: mandatory

Page 20: Chapter 3 Basic Foundations: Standards, Models, and Language

Management Information Base (MIB)

• Information base contains information about

objects• Organized by grouping of related objects• Defines relationship between objects• It is NOT a physical database. It is a virtual

database that is compiled into management

module.• Agent MIB vs. Manager MIB MIB View

Page 21: Chapter 3 Basic Foundations: Standards, Models, and Language

MIB View: An Analogy

• A County library system has many branches• Each branch has a set of books• The books in each branch is a different set• The information base of the county has the

view (catalog) of all books• The information base of each branch has the

catalog of books that belong to that branch. That is, each branch has its view (catalog) of the information base

• Let us apply this to MIB view

Page 22: Chapter 3 Basic Foundations: Standards, Models, and Language

MIB View and Object Access

• A managed object has many attributes - its information base

• There are several operations that can be performed on the objects

• A user (manager) can view and perform only certain operations on the object by invoking the management agent

• The view of the object attributes that the agent perceives is the MIB view

• The operation that a user can perform is the MIB access

Page 23: Chapter 3 Basic Foundations: Standards, Models, and Language

Manager

Managed objects

MDB MIB

MDB vs. MIB MDB

Management Data Base physical database

MIB Management Information

Base virtual database

Page 24: Chapter 3 Basic Foundations: Standards, Models, and Language

Managed Objects (MOs) in MIB

• Managed objects can be• Network elements (hardware, system)

• hubs, bridges, routers, transmission facilities

• Software (non-physical)• programs, algorithms

• Administrative information• contact person, name of group of objects

(IP group)

Page 25: Chapter 3 Basic Foundations: Standards, Models, and Language

Management Information Tree (MIT)

MOs are uniquelyuniquely defined by a tree structure specified by OSI model.

Page 26: Chapter 3 Basic Foundations: Standards, Models, and Language

OSI Management Information Tree

•Designation:

• iso 1

• org 1.3

• dod 1.3.6

• internet 1.3.6.1

Page 27: Chapter 3 Basic Foundations: Standards, Models, and Language

Three Trees in Network Management

Inheritance Tree NE / Switch / Ethernet Switch

Containment Tree NE / Module / Interface / Physical

Address Registration Tree

iso / org / dod / internet / management

Page 28: Chapter 3 Basic Foundations: Standards, Models, and Language

Object Type and Instance

• Each object type has a unique identification (Object (Object Identifier, OIDIdentifier, OID) and name (DescriptorDescriptor).

• Object TypeObject Type• Name• Syntax• Definition• Status• Access

• Object InstanceObject Instance

• Each object type has one or more instances.

sysNamesysName

Octet StringOctet String

““The name of a system”The name of a system”

MandatoryMandatory

Read-OnlyRead-Only

Page 29: Chapter 3 Basic Foundations: Standards, Models, and Language

Managed Object: Internet Perspective

Page 30: Chapter 3 Basic Foundations: Standards, Models, and Language

Managed Object: Internet Perspective

object IDobject ID unique ID (OID)

and descriptordescriptor and name for the objectsyntaxsyntax used to model the objectaccess access privilege to a managed

object

status implementation requirements

definition textual description of the semantics of object type

References: RFC 1155, RFC 1212

Page 31: Chapter 3 Basic Foundations: Standards, Models, and Language

Managed Object: OSI Perspective

Page 32: Chapter 3 Basic Foundations: Standards, Models, and Language

Managed Object: OSI Perspective

object classobject class managed object

attributesattributes attributes visible at its boundary

operationsoperations operations which may be applied to it

behaviorbehavior behavior exhibited by it in response

to operation

notificationsnotifications notifications emitted by the object

Page 33: Chapter 3 Basic Foundations: Standards, Models, and Language

Managed information communication architecture.

Source: IEEE Communications Magazine • May 1993

Page 34: Chapter 3 Basic Foundations: Standards, Models, and Language

Source: IEEE Communications Magazine • May 1993

Page 35: Chapter 3 Basic Foundations: Standards, Models, and Language

Packet Counter Example

Page 36: Chapter 3 Basic Foundations: Standards, Models, and Language

Internet vs. OSI Managed Object

• Scalar object (Internet) vs. Object-oriented (OSI)• Operations, behavior, and notification in OSI are part

of communication model in Internet: get/set and response/alarm

• Internet syntaxsyntax is absorbed as part of OSI attributes• Internet accessaccess is part of OSI security model• Internet statusstatus is part of OSI conformance application• OSI permits creation and deletion of objects;

Internet does not: Enhancement in SNMPv2

Page 37: Chapter 3 Basic Foundations: Standards, Models, and Language

4. Communication Model

OSI: Operations Internet: Request/Response

OSI: Notifications Internet: Traps/Notifications

Page 38: Chapter 3 Basic Foundations: Standards, Models, and Language

Transfer Protocols

c-l vs. c-o/c-l

Page 39: Chapter 3 Basic Foundations: Standards, Models, and Language

5. Functional Model

OSIFunctional Model

FaultManagement

ConfigurationManagement

PerformanceManagement

SecurityManagement

AccountingManagement

Page 40: Chapter 3 Basic Foundations: Standards, Models, and Language

6. Abstract Syntax Notation One: - ASN.1

• ASN.1 is more than a syntax; it’s a language• Addresses both syntax and semantics• Two type of syntax

• Abstract syntaxAbstract syntax: set of rules that specify data type and structure for information storage

• Transfer syntaxTransfer syntax: set of rules for communicating information between systems

• Makes application layer protocols independent of lower layer protocols

• Can generate machine-readable code: Basic Encoding Basic Encoding RulesRules (BERBER) is used in management modules

Page 41: Chapter 3 Basic Foundations: Standards, Models, and Language

Abstract Syntax & Transfer Syntaxhttp://www.strongsec.com/zhw/KSy_ASN1.pdf

Page 42: Chapter 3 Basic Foundations: Standards, Models, and Language

Backus-Nauer Form (BNF)

Definition:

<name> ::= <definition>

Rules:

<digit> ::= 0|1|2|3|4|5|6|7|8|9

<number> ::= <digit> | <digit><number>

<op> ::= +|-|x|/

<SAE> ::= <number>|<SAE>|<SAE><op><SAE>

Example:• 9 is primitive 9• 19 is construct of 1 and 9• 619 is construct of 6 and 19

(Production)

Page 43: Chapter 3 Basic Foundations: Standards, Models, and Language

Data Type and Value• Assignments

• <BooleanType> ::= BOOLEAN• <BooleanValue> ::= TRUE | FALSE

• Primitive ASN.1 data types in SNMPv1• INTEGER• OCTET STRING• OBJECT IDENTIFIER• NULL

• All in Capital letters keywords

Page 44: Chapter 3 Basic Foundations: Standards, Models, and Language

Type and Value Assignments

Page 45: Chapter 3 Basic Foundations: Standards, Models, and Language

Subtype

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 )

ExportKey ::= BIT STRING ( SIZE(40) )

Page 46: Chapter 3 Basic Foundations: Standards, Models, and Language

ASN.1 Data Types Basic Types

BOOLEAN, INTEGER, BIT STRING, OCTET STRING, NULL, OBJECT IDENTIFIER, REAL, ENUMERATED, NumericString, PrintableString, IA5String, UTCTime, GeneralizedTime, CharacterString

Constructed Types CHOICE SEQUENCE, SEQUENCE OF SET, SET OF

Page 47: Chapter 3 Basic Foundations: Standards, Models, and Language

ExampleMarried ::= BOOLEANAge ::= INTEGERPicture ::= BIT STRING

Form ::= SEQUENCE { name PrintableString,age Age,married Married,marriage-certificate Picture

}

Page 48: Chapter 3 Basic Foundations: Standards, Models, and Language

Example

Payment-method ::= CHOICE {

check Check-number,

credit-card SEQUENCE {

number Card-number,

expiry-date Date

}

}

Page 49: Chapter 3 Basic Foundations: Standards, Models, and Language

Data Type: Example 1PPersonnelRecord ::= SETSET

{ 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 }

}}

Tag

Page 50: Chapter 3 Basic Foundations: Standards, Models, and Language

Data Type: Example 2

Trade-message ::= SEQUENCE

{ invoice-no INTEGER,

name GraphicString,

details SEQUENCE OF

SEQUENCE

{ part-no INTEGER,

quantity INTEGER },

charge REAL,

authenticator Security-Type

}

Page 51: Chapter 3 Basic Foundations: Standards, Models, and Language

Enumerated Integer

IpRouteType ::=

INTEGER {

other(1),

invalid(2),

direct(3),

indirect(4)

}

Page 52: Chapter 3 Basic Foundations: Standards, Models, and Language

Object Nameiso-itu

2iso1

itu0

org3

dod6

internet1

private4

enterprise1

IBM2

internet OBJECT IDENTIFIER ::= { iso(1) org(3) dod(6) internet(1) }private OBJECT IDENTIFIER ::= { internet 4 }

The object identifier (OID) of internet is 1.3.6.1 The object identifier (OID) of private is 1.3.6.1.4

Page 53: Chapter 3 Basic Foundations: Standards, Models, and Language

ASN.1 Module• ASN.1 module is a group of assignments

person-name Person-Name ::={

first "John",middle "I",last "Smith"

}

• pperson-name module name• PPerson-name module

Page 54: Chapter 3 Basic Foundations: Standards, Models, and Language

Module

<module name> DEFINITIONS ::= BEGIN<name> ::= <definition><name> ::= <definition>…

<name> ::= <definition>END

Page 55: Chapter 3 Basic Foundations: Standards, Models, and Language

ASN.1 Keyword Examples

CHOICE List of alternatives

SEQUENCE Ordered list maker

SEQUENCE OF Ordered array of repetitive data

SET Unordered list maker

SET OF Unordered list of repetitive data

INTEGER Any negative or non-negative number

NULL A placeholder

OCTET STRING String of octets (8-bit bytes)

OBJECT IDENTIFIER A sequence of non-negative numbers to uniquely identify an object

Page 56: Chapter 3 Basic Foundations: Standards, Models, and Language

ASN.1 SymbolsSymbol 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

Page 57: Chapter 3 Basic Foundations: Standards, Models, and Language

ASN.1 Data Type Conventions

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

Page 58: Chapter 3 Basic Foundations: Standards, Models, and Language

Data Type: Structure & Tag

• Structure defines how data type is built• Tag uniquely identifies the data type

Page 59: Chapter 3 Basic Foundations: Standards, Models, and Language

Structure• SimpleSimple

PageNumber ::= INTEGERChapterNumber ::= INTEGER

• Structured / ConstructStructured / Construct BookPageNumber ::= SEQUENCE

{ChapterNumber, Separator, PageNumber}

• TaggedTagged• Derived from another type; given a new ID• In Fig. 3-14, INTEGER is either universal or

application specific

• OtherOther• CHOICE, ANY

Page 60: Chapter 3 Basic Foundations: Standards, Models, and Language

Structured Type SEQUENCE

Ordered list maker

SEQUENCE OF Ordered array of repetitive data

SET Unordered list maker

SET OF Unordered list of repetitive data

Page 61: Chapter 3 Basic Foundations: Standards, Models, and Language

Tag• Tag uniquely identifies a data type• Comprises classclass and tagtag number• Class:

• UniversalUniversal - always true• ApplicationApplication - only in the application used• Context-specificContext-specific - specific context in

application• PrivatePrivate - used extensively by commercial

vendors

Page 62: Chapter 3 Basic Foundations: Standards, Models, and Language

Tag Examples

BOOLEAN Universal 1INTEGER Universal 2PageNumber [APPLICATION 3]product-based Context-specific under

research [0]

Counter ::=

[APPLICATION 1] INTEGER (0..4294967295)

Page 63: Chapter 3 Basic Foundations: Standards, Models, and Language

Name: John P SmithTitle: DirectorEmployee Number 51Date of Hire: 17 September 1971Name of Spouse; Mary T SmithNumber of Children 2Child Information

Name Ralph T SmithDate of Birth 11 November 1957

Child InformationName Susan B JonesDate of Birth 17 July 1959

Informal description of personnel recordInformal description of personnel record

Page 64: Chapter 3 Basic Foundations: Standards, Models, and Language

PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {Name,title [0] VisibleString,number EmployeeNumber,dateOfHire [1] Date,nameOfSpouse [2] Name,children [3] IMPLICIT SEQUENCE OF ChildInformation DEFAULT { }

}

ChildInformation ::= SET {Name,dateOfBirth [0] Date }

Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {givenName VisibleString,initial VisibleString,familyName VisibleString }

EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER

Date ::= [APPLICATION 3] IMPLICIT VisibleString -- YYYYMMDD

ASN.1 description of the record structureASN.1 description of the record structure

Page 65: Chapter 3 Basic Foundations: Standards, Models, and Language

{ {givenName “John”, initial “T”, familyName “Smith”},

title “Director”number “51”dateOfHire “19710917”nameOfSpouse {givenName “Mary”, initial “T”, familyName

“Smith”},children{ { {givenName “Ralph”, initial “T”, familyName “Smith”}, dateOfBirth “19571111”

}, { {givenName “Susan”, initial “B”, familyName “Jones”} dateOfBirth “19590717”

}}

}

ASN.1 description of a record valueASN.1 description of a record value

Page 66: Chapter 3 Basic Foundations: Standards, Models, and Language

7. BER Encoding BER (Basic Encoding Rule) TLV Encoding Structure

Type Length Value

Class(7-8th bits)

P/C(6th bit)

Tag Number(1-5th bits)

P/C: Primitive/Construct

T: Tag

0/1

Page 67: Chapter 3 Basic Foundations: Standards, Models, and Language

TLV

T L V

Primitive:

Construct:

INTEGER

SEQUENCE

T L

T L V T L V

V

Page 68: Chapter 3 Basic Foundations: Standards, Models, and Language
Page 69: Chapter 3 Basic Foundations: Standards, Models, and Language

Universal Class Tag

Universal 2 INTEGER

Universal 4 OCTET STRING

Universal 5 NULL

Universal 6 OBJECT IDENTIFIER

Universal 16 SEQUENCE / SEQUENCE OF

00 0 00010 02

00 0 00100 04

00 0 00101 05

00 0 00110 06

00 1 10000 30

Binary Hex Tag Tag Name

Page 127

Page 70: Chapter 3 Basic Foundations: Standards, Models, and Language

Tag numbers 31

Page 71: Chapter 3 Basic Foundations: Standards, Models, and Language
Page 72: Chapter 3 Basic Foundations: Standards, Models, and Language

1000 0000

Page 73: Chapter 3 Basic Foundations: Standards, Models, and Language

30 0A 1A 04 4A 61 6E 65 51 02 00 80

Page 74: Chapter 3 Basic Foundations: Standards, Models, and Language
Page 75: Chapter 3 Basic Foundations: Standards, Models, and Language

Example: SNMP Message

Message ::= SEQUENCE { version INTEGER {

version-1(0) },

community OCTET STRING,data ANY

}

30

02

04

Tag

Page 76: Chapter 3 Basic Foundations: Standards, Models, and Language

Example: SNMP Message

Type 30: SEQUENCELength 82 01 c0: 448 octets

82: 10000010

Page 77: Chapter 3 Basic Foundations: Standards, Models, and Language

Type 30: SEQUENCELength 32: 50 octets

Page 78: Chapter 3 Basic Foundations: Standards, Models, and Language

8. Macros

<<macroname> macroname> MACROMACRO ::= ::=

BEGINBEGIN

TYPE NOTATIONTYPE NOTATION ::= <syntaxOfNewType>::= <syntaxOfNewType>

VALUE NOTATIONVALUE NOTATION ::= <syntaxOfNewValue> ::= <syntaxOfNewValue>

<auxiliaryAssignments><auxiliaryAssignments>

ENDEND

Page 79: Chapter 3 Basic Foundations: Standards, Models, and Language

Macro Example

OBJECT-TYPEOBJECT-TYPE MACRO ::= BEGIN MACRO ::= BEGIN

TYPE NOTATION ::=TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)"SYNTAX" type (TYPE ObjectSyntax)

““ACCESS" AccessACCESS" Access

"STATUS" Status"STATUS" Status

VALUE NOTATION ::= value (VALUE ObjectName)VALUE NOTATION ::= value (VALUE ObjectName)

Access ::= "read-only" | "read-write“ | "write-only Access ::= "read-only" | "read-write“ | "write-only | "not-accessible"| "not-accessible"

Status ::= "mandatory” | "optional“ | "obsolete"Status ::= "mandatory” | "optional“ | "obsolete"

ENDEND

Page 80: Chapter 3 Basic Foundations: Standards, Models, and Language

Object-Type Example

sysName OBJECT-TYPEsysName OBJECT-TYPE

SYNTAX DisplayString (SIZE (0..255))SYNTAX DisplayString (SIZE (0..255))

ACCESS read-writeACCESS read-write

STATUS mandatorySTATUS mandatory

::= { system 5 }::= { system 5 }

Page 81: Chapter 3 Basic Foundations: Standards, Models, and Language

Marco Example 2

CAR CAR MACRO::= BEGINMACRO::= BEGIN

TYPE NOTATION ::=TYPE NOTATION ::= Brand Engine CarType Year Brand Engine CarType Year

VALUE NOTATION ::=VALUE NOTATION ::= value (VALUE OBJECT IDENTIFIER) value (VALUE OBJECT IDENTIFIER)

Brand ::= “BRAND” value (PrintableString)Brand ::= “BRAND” value (PrintableString)

Engine ::= “CC” CcsEngine ::= “CC” Ccs

Ccs ::= Cc | Ccs”,” CcCcs ::= Cc | Ccs”,” Cc

Cc ::= value (INTEGER (600..5000))Cc ::= value (INTEGER (600..5000))

CarType ::= “STYLE” CType CarType ::= “STYLE” CType

CType ::= “Sedan” | “Liftback” | “SUV” | “Other”CType ::= “Sedan” | “Liftback” | “SUV” | “Other”

Year ::= “YEAR” value (INTEGER)Year ::= “YEAR” value (INTEGER)

ENDEND

Page 82: Chapter 3 Basic Foundations: Standards, Models, and Language

Camry CARBRAND ToyotaCC 2000, 2400, 3000STYLE SedanYEAR 2006

::= {toyota 3}