nbi information model of network topology · nbi information model of network topology version...

33
NBI Information Model of Network Topology Version: 00 Date: 2016/3/17 TR-1500

Upload: dophuc

Post on 16-Feb-2019

241 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version: 00 Date: 2016/3/17TR-1500

Page 2: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 2 of 33 © Open Source SDN

Disclaimer

CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL PUBLIC LICENSE

By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, you are granted the Licensed Rights in consideration of your acceptance of these terms and conditions, and the Licensor grants Your such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. For full details, explanations, and examples of the use of this License, please visit:

http://creativecommons.org/licenses/by/4.0/legalcode Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. Open Networking Foundation 2275 E. Bayshore Road, Suite 103, Palo Alto, CA 94303 http://www.opennetworking.org http://opensourcesdn.org

Page 3: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 3 of 33 © Open Source SDN

Table of Contents

1 Introduction .......................................................................................................................................... 5

2 Abbreviations and Acronyms ............................................................................................................. 5

3 NBI-specific abstract network topology model ................................................................................. 6 3.1 Overview ...................................................................................................................................... 6

4 Classes .................................................................................................................................................. 9 4.1 Link ............................................................................................................................................... 9 4.2 LogicalTerminationPoint ............................................................................................................. 13 4.3 Node ........................................................................................................................................... 16 4.4 Topology ..................................................................................................................................... 18

5 Data Types .......................................................................................................................................... 20 5.1 Enumeration Types .................................................................................................................... 20

5.1.1 NodeType ......................................................................................................................... 20 5.1.2 TopoType ......................................................................................................................... 21 5.1.3 StatusType ....................................................................................................................... 21

5.2 Primitive Types ........................................................................................................................... 21 5.2.1 UUID ................................................................................................................................ 21

6 Topology Operations ......................................................................................................................... 21 6.1 Topology Retrieval APIs ............................................................................................................. 21

6.1.1 Query all topologies of certain layer ................................................................................. 21 6.1.2 Query specified topology .................................................................................................. 22 6.1.3 Query all nodes of a specified topology ........................................................................... 22 6.1.4 Query all nodes that have connections with another topology. ........................................ 22 6.1.5 Query all links of a specified topology .............................................................................. 23 6.1.6 Query all links that have connections with another topology ........................................... 23 6.1.7 Query all links of a specified topology but only with basic attributes ................................ 24 6.1.8 Query all links that have connections with another topology but only with basic attributes 24 6.1.9 Query specified node of a topology .................................................................................. 24 6.1.10 Query specified node of a topology which has connects with another topology .............. 25 6.1.11 Query a specified link of a topology ................................................................................. 25 6.1.12 Query a specified link of a topology but has connections with another topology ............. 26 6.1.13 Query the status of a specified link .................................................................................. 26 6.1.14 Query the status of a specified link which connects to another topology ......................... 26

6.2 Topology Request APIs .............................................................................................................. 27 6.2.1 Request to create links between topologies ..................................................................... 27 6.2.2 Request to delete links between topologies ..................................................................... 27 6.2.3 Update link attributes ....................................................................................................... 28

6.3 Topology Notification .................................................................................................................. 28

Page 4: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 4 of 33 © Open Source SDN

6.3.1 Notify node change .......................................................................................................... 28 6.3.2 Notify link change ............................................................................................................. 28

7 Design principle of NBI network topology model ........................................................................... 29 7.1 An object-oriented model ........................................................................................................... 29 7.2 A hierarchical model ................................................................................................................... 29 7.3 Client/server mapping ................................................................................................................ 29 7.4 Broadcast and P2MP networks .................................................................................................. 30

8 Applying the NBI topology model .................................................................................................... 31 8.1 L3 topology ................................................................................................................................. 31 8.2 L3 node ...................................................................................................................................... 31 8.3 L3 LogicalTerminationPoint ........................................................................................................ 31 8.4 L3 Link ........................................................................................................................................ 32

9 Back matter ......................................................................................................................................... 32 9.1 References ................................................................................................................................. 32 9.2 Release history ........................................................................................................................... 33 9.3 Contributors ................................................................................................................................ 33 9.4 Acknowledgements .................................................................................................................... 33

List of Figures Figure 3.1: The structure of NBI-specific abstract network topology model ................................................. 7 Figure 3.2: Recursively contained networks ................................................................................................. 8 Figure 3.3: Network stack for recursively contained networks ..................................................................... 8 Figure 7.1: Broadcast network modeled into Hub-and-Spoke .................................................................... 30

List of Tables Table 2.1: Abbreviations and Acronyms ....................................................................................................... 5 Table 4.1: Attributes for Link ......................................................................................................................... 9 Table 4.2: Attributes for LogicalTerminationPoint ....................................................................................... 13 Table 4.3: Attributes for Node ..................................................................................................................... 17 Table 4.4: Attributes for Topology .............................................................................................................. 19

Page 5: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 5 of 33 © Open Source SDN

1 Introduction As modern networks evolve in size and complexity, more and more applications such as

Traffic Engineering, Capacity Planning and Service Provisioning depend on the information of a

common network topology to deliver services. The information model introduced in this

document is a NBI-specific fragment describing topology, which is meant to be used as a base

for refactored models.

In order to facilitate the acquisition of topology information in SDN networks, it is

beneficial to share a standardized information model for network topology. With the help of this

information model, a programmatic and protocol-neutral Northbound Interface on a SDN

Controller can be achieved in an effective and simple way.

Since applications and features from different network layers may possess different

perspective for topology, the information model of topology should be organized in a

hierarchical manner. This document will focus on the abstract topology model. Such a

model may be used to represent the common basic constitution of a network topology. On the

other hand, topology models dedicated to different network layers can be derived from the

abstract one with different levels of augmentation when those specific requirements come into

play.

2 Abbreviations and Acronyms This document uses the following abbreviations and acronyms:

Table 2.1: Abbreviations and Acronyms

Abbreviations Full spelling SDN Software Defined Network

CLI Command Line Interface

API Applications Programming Interface

CRUD Create, Read, Update, Delete

src source

dst destination

ID Identifier

L3 Layer 3

Page 6: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 6 of 33 © Open Source SDN

L2 Layer 2

L1 Layer 1

LTP Logical Termination Point

NBI North Bound Interface

P2MP Point-to-MultiPoint

NBMA Non-Broadcast-Multiple-Access

UUID Universally Unique Identifier

SRLG Shared Risk Link Group

3 NBI-specific abstract network topology model As a key component and core function of topology manager, the information model of

network topology is to be shared among different communicating entities and across multiple

refactored models. Making this information model as protocol-neutral as possible will help to use

it coherently and without confusion in different contexts and usages. This section introduces the

overview of the NBI-specific abstract network topology information model.

3.1 Overview The model introduced in this document is abstract in nature and can be applied to different

networks. It is beneficial to allow different applications to operate on specific networks from

different layers at a high abstract level through coherent APIs while still adhere to the same

structure and represented in consistent fashion.

As shown in Figure 3.1, this topology model defines a topology graph and components from

which it is composed: nodes, links and logical termination points. Nodes represent graph vertices

and links represent graph edges. Nodes also contain logical termination points that anchor the

links.

Page 7: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 7 of 33 © Open Source SDN

Figure 3.1: The structure of NBI-specific abstract network topology model

This model may be augmented to describe networks in different layers. Then a vertical

network stack can be grouped based on the relationship and dependency among these topology

instances. As shown in Figure 3.2, topology B is comprised of node A and node C. And node A

is comprised of its client nodes A.1, A.2, A.3, A.4 and A.5. Then node A.1 also has its own

client nodes: A.1.1, A.1.2 and A.1.3. Similar situation can be imagined for other nodes. Now we

can say that topology B is the server topology of topology A and topology C. And topology A.1

is a client topology of topology A. This server/client relationship can be expressed in Figure 3.3.

Page 8: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 8 of 33 © Open Source SDN

B

A

A.1

A.2

A.3

A.5

A.4

A.2.3

A.1.1

A.2.2

A.1.2

A.1.3

A.2.1

C

Figure 3.2: Recursively contained networks

A C

Topology B

A.1

A.2 A.5

A.4

A.3 Topology A

A.1.1 A.1.3

A.1.2Topology A.1

C Topology C

Figure 3.3: Network stack for recursively contained networks

Page 9: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 9 of 33 © Open Source SDN

4 Classes

4.1 Link The Link class, uniquely identified by its Link ID in one topology instance, is used to

describe the point-to-point adjacency between two node objects. It is expressed in a

unidirectional manner and defines its own direction from the source LogicalTerminationPoint to

the destination counterpart. A bidirectional link can be expressed by a pair of mutual pointed

unidirectional links when this scenario comes into play, A broadcast network with n nodes can

also be represented into a full-mesh P2P networks with n * (n - 1) unidirectional links. In order

to mitigate the complexity and improve the scalability of this model, a designated node called

"pseudo-node" is created, which maintains a unidirectional link pointed to each node in the same

network. At the same time, each node only needs to maintain one unidirectional link pointed to

the "pseudo-node". So n links are added instead of n * (n - 1). When a new node is added into

this network, only "pseudo-node" and the new node need to add new links pointed to each other,

other nodes has no concern to this change. Please refer to section 4.4 for more detail about this.

OpenModelClass:

• objectCreationNotification: YES • objectDeletionNotification: YES • support: MANDATORY • condition: no stated condition

Table 4.1: Attributes for Link

Attribute Name Type Multiplic

ity Access Stereotypes Description

ltpId UUID 1 R

OpenModelAttribute: • AVC: NA • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

Uniquely identify this LTP instance {{WAS "in one node" but this is not true as the LTP can be in many nodes}}.

Page 10: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 10 of 33 © Open Source SDN

ltpName String 0..1 RW

OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: OPTIONAL • condition: no stated

condition

Name that has good readability

_nodeRefList Node 1..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

The nodes that the LTP is on the boundary of

_peerLtpRefList

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: System supports peer relationships between LTPs. If non-zero this LTP has a peer relationship with the referenced LTP.

List of contained peer LTPs

Page 11: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 11 of 33 © Open Source SDN

_serverLtpRefList

LogicalTerminationPoint

0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: System supports inverse multiplexing. If non-zero this LTP has an inverse multiplexing relationship with the referenced LTP.

List of server LTPs which this LTP instance supports.

_clientLtpRefList

LogicalTerminationPoint

0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

List of client LTPs which this LTP instance supports.

_linkRef Link 0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

Lists the links associated with this LTP

Page 12: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 12 of 33 © Open Source SDN

_containingPeerLtpRef

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: System supports peer relationships between LTPs. If non-zero this LTP has a peer relationship with the referenced LTP.

LTP that this LTP is contained in as a peer.

_containingServerLtpRef

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

The LTP that contains this LTP as a client.

_containingClientLtpRef

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: System supports

inverse multiplexing. If non-zero this LTP has an inverse multiplexing relationship with the referenced LTP.

The LTP that contains this LTP as a server. Applies where there is inverse multiplexing.

Page 13: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 13 of 33 © Open Source SDN

inventoryTpRef String 0..1 RW

OpenModelAttribute: • AVC: NA • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: Not present if system has n knowledge of real inventory and operator is not entering references for inventory LTPs.

Reference to termination point in inventory model.

4.2 LogicalTerminationPoint The LogicalTerminationPoint (LTP) class is used to represent the unique anchor point

between a node object and a Link object. A node object may contain multiple LTP objects.

OpenModelClass:

• objectCreationNotification: YES • objectDeletionNotification: YES • support: MANDATORY • condition: no stated condition

Table 4.2: Attributes for LogicalTerminationPoint

Attribute Name Type Multiplic

ity Access Stereotypes Description

ltpId UUID 1 R

OpenModelAttribute: • AVC: NA • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

Uniquely identify this LTP instance {{WAS "in one node" but this is not true as the LTP can be in many nodes}}.

ltpName String 0..1 RW

OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: OPTIONAL • condition: no stated

condition

Name that has good readability

Page 14: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 14 of 33 © Open Source SDN

_nodeRefList Node 1..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

The nodes that the LTP is on the boundary of

_peerLtpRefList

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: System supports peer relationships between LTPs. If non-zero this LTP has a peer relationship with the referenced LTP.

List of contained peer LTPs

_serverLtpRefList

LogicalTerminationPoint

0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: System supports inverse multiplexing. If non-zero this LTP has an inverse multiplexing relationship with the referenced LTP.

List of server LTPs which this LTP instance supports.

Page 15: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 15 of 33 © Open Source SDN

_clientLtpRefList

LogicalTerminationPoint

0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

List of client LTPs which this LTP instance supports.

_linkRef Link 0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

Lists the links associated with this LTP

_containingPeerLtpRef

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: System supports peer relationships between LTPs. If non-zero this LTP has a peer relationship with the referenced LTP.

LTP that this LTP is contained in as a peer.

_containingServerLtpRef

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

The LTP that contains this LTP as a client.

Page 16: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 16 of 33 © Open Source SDN

_containingClientLtpRef

LogicalTerminationPoint

0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: System supports

inverse multiplexing. If non-zero this LTP has an inverse multiplexing relationship with the referenced LTP.

The LTP that contains this LTP as a server. Applies where there is inverse multiplexing.

inventoryTpRef String 0..1 RW

OpenModelAttribute: • AVC: NA • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: Not present if system has n knowledge of real inventory and operator is not entering references for inventory LTPs.

Reference to termination point in inventory model.

4.3 Node The Node class, uniquely identified by its node ID in one topology instance, can be used to

represent one vertex in a network graph.

OpenModelClass:

• objectCreationNotification: YES • objectDeletionNotification: YES • support: MANDATORY • condition: no stated condition

Page 17: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 17 of 33 © Open Source SDN

Table 4.3: Attributes for Node

Attribute Name Type Multiplic

ity Access Stereotypes Description

nodeId UUID 1 R

OpenModelAttribute: • AVC: NA • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

Identifier that uniquely identifies the node {{WAS "within the containing topology" but UUID is universal}}.

nodeType NodeType 1 RW

OpenModelAttribute: • AVC: NA • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

The type of current node. Valid input could be normal or pseudo, may extend in future. {{WAS default PHYSICAL but that value did not appear in the table.

nodeName String 0..1 RW

OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: OPTIONAL • condition: no stated

condition

Name that has good readability

_ltpRefList

LogicalTerminationPoint

0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

List of LTPs that bound the node

Page 18: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 18 of 33 © Open Source SDN

_topologyRef Topology 0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: Not present if leaf, i.e. atomic non-decomposable and cannot change from atomic.

The ID of the topology that the node is a member of.

_encapsulatedTopologyRef

Topology 0..1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: Not present if top level, i.e. not encapsulated and cannot become subordinate.

The ID of the topology that the Node encapsulates

inventoryNeRef String 0..1 RW

OpenModelAttribute: • AVC: YES • valueRange: • support:

CONDITIONAL_MANDATORY

• condition: Not present if system has n knowledge of real inventory and operator is not entering references for inventory NEs.

Reference to NE in inventory model.

4.4 Topology The Topology class is used to express the representation of a network in a topology model.

It may include a set of nodes and links.

OpenModelClass:

Page 19: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 19 of 33 © Open Source SDN

• objectCreationNotification: YES • objectDeletionNotification: YES • support: MANDATORY • condition: no stated condition

Table 4.4: Attributes for Topology

Attribute Name Type Multiplic

ity Access Stereotypes Description

topoId UUID 1 R

OpenModelAttribute: • AVC: NA • valueRange: • support: MANDATORY • condition: no stated

condition

Uniquely identifies a Topology instance.

topoType TopoType 1 RW

OpenModelAttribute: • AVC: NA • valueRange: no range

constraint • support: MANDATORY • condition: no stated

condition

The type of current NT instance. Valid input may include L1, L2, L3 and service, which can be extended in future.

topoName String 0..1 RW

OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: OPTIONAL • condition: no stated

condition

Name that has good readability

_nodeRefList Node 0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition:

List of nodes that encompassed by this topology instance.

Page 20: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 20 of 33 © Open Source SDN

_linkRefList Link 0..* R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support: MANDATORY • condition:

_encapsulatingNode Node 1 R

passedByReference: • true OpenModelAttribute: • AVC: YES • valueRange: no range

constraint • support:

CONDITIONAL_MANDATORY

• condition: Not present if top level, i.e. not encapsulated and cannot become subordinate.

The Node that provides the opaque perspective of the Topology. The topology must be in a node and the node that encapsulates the topology cannot change.

5 Data Types

5.1 Enumeration Types The Topology class is used to express the representation of a network in a topology model.

It may include a set of nodes and links.

5.1.1 NodeType

The type of node.

Contains Enumeration Literals:

• NORMAL: o Node that represents a subnetwork or forwarding domain.

• PSEUDO: o Node that represents a complex link

Page 21: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 21 of 33 © Open Source SDN

5.1.2 TopoType

Type of topology.

Contains Enumeration Literals:

• L1: o Layer 1 topology

• L2: o Layer 2 topology

• L3: o Layer 3 topology

5.1.3 StatusType

Type of status.

Contains Enumeration Literals: • UP:

o Status that represents a link is powered on and active. • DOWN:

o Status that represents a link is powered off and inactive.

5.2 Primitive Types

5.2.1 UUID

Universally Unique Identifier. This is a 128 bit value.

6 Topology Operations

6.1 Topology Retrieval APIs

6.1.1 Query all topologies of certain layer

Description • Returns attributes of all Topology of a network or domain. • This includes references to lower-level Nodes and Links encompassed by the

Topology Pre-conditions

Inputs

• A NULL input value is expected to return the all Topology instances. • Retrieve Scope Filter: TopoType: Enumeration value

- If set/non-empty, the API call will return references to only those topologies by specific type.

Outputs • List of Topology instances, including IDs, Names, Types and Extensions (if any) • List of references to encompassed Nodes indexed by IDs • List of references to encompassed Links indexed by IDs

Notifications

Page 22: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 22 of 33 © Open Source SDN

Error-conditions Post-conditions Sources

6.1.2 Query specified topology

Description • Returns attributes of the Topology identified by the provided input TopoId. • This includes references to lower-level Nodes and Links encompassed by the

Topology Pre-conditions

Inputs

• Topology ID or Name : String - A NULL input value is expected to return the all Topology instances.

• Retrieve Scope Filter: TopoType: Enumeration value - If set/non-empty, the API call will return references to only those Nodes and

Links that encompassed by specific type of Topology.

Outputs • List of IDs, Names, Types and Extensions (if any) • List of references to encompassed Nodes indexed by IDs • List of references to encompassed Links indexed by IDs

Notifications Error-conditions Post-conditions Sources

6.1.3 Query all nodes of a specified topology

Description

• Returns attributes of all the Node in a network or a domain. • This includes references to LogicalTerminationPoint encompassed by the Node • This also includes attributes representing the identification/naming, states and

capabilities of the Node. Pre-conditions

Inputs • Retrieve Scope Filter: TopoId : String

- If set/non-empty, the API call will return references to only those Nodes that belong to a specific topology.

Outputs • List of IDs, Names, Types and Extensions (if any) • List of encompassed LogicalTerminationPoint. • Routing characteristics such as ASN, Router-ID, Area-ID, Multi-Topology-ID

Notifications Error-conditions Post-conditions Sources

6.1.4 Query all nodes that have connections with another topology.

Description

• Returns attributes of all the Node in a network or a domain that have connections with another topology.

• This includes references to LogicalTerminationPoint encompassed by the Node • This also includes attributes representing the identification/naming, states and

capabilities of the Node. Pre-conditions

Page 23: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 23 of 33 © Open Source SDN

Inputs • Retrieve Scope Filter: TopoId : String

- If set/non-empty, the API call will return references to only those Nodes that belong to a specific topology.

Outputs • List of IDs, Names, Types and Extensions (if any) • List of encompassed LogicalTerminationPoint. • Routing characteristics such as ASN, Router-ID, Area-ID, Multi-Topology-ID

Notifications Error-conditions Post-conditions Sources

6.1.5 Query all links of a specified topology

Description • Returns attributes of all the Links that in a network or a domain. • This includes references to LogicalTerminationPoint terminating the Link. • This includes references to the Nodes associated by the Link.

Pre-conditions

Inputs • Retrieve Scope Filter: TopoId : String

- If set/non-empty, the API call will return those Links that belong to a specified topology.

Outputs

• List of IDs, Names and Extensions (if any) • List of referenced LogicalTerminationPoint IDs • Routing characteristics such as Cost, Bandwidth and Multi-Topology-ID. • Risk characteristics including shared-risk

Notifications Error-conditions Post-conditions Sources

6.1.6 Query all links that have connections with another topology

Description

• Returns attributes of the Links in a network or a domain that have connections with another topology.

• This includes references to LogicalTerminationPoint terminating the Link. • This includes references to the Nodes associated by the Link.

Pre-conditions

Inputs • Retrieve Scope Filter: TopoId : String

- If set/non-empty, the API call will return those Links that belong to a specified topology and have connections with another topology.

Outputs

• List of IDs, Names and Extensions (if any) • List of referenced LogicalTerminationPoint IDs • Routing characteristics such as Cost, Bandwidth and Multi-Topology-ID. • Risk characteristics including shared-risk

Notifications Error-conditions Post-conditions Sources

Page 24: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 24 of 33 © Open Source SDN

6.1.7 Query all links of a specified topology but only with basic attributes

Description • Returns attributes of all the Links that in a network or a domain. Pre-conditions

Inputs • Retrieve Scope Filter: TopoId : String

- If set/non-empty, the API call will return those Links that belong to a specified topology.

Outputs • List of IDs, Names and Extensions (if any) • Routing characteristics such as Cost, Bandwidth and Multi-Topology-ID. • Risk characteristics including shared-risk

Notifications Error-conditions Post-conditions Sources

6.1.8 Query all links that have connections with another topology but only with basic attributes

Description • Returns attributes of all the Links that in a network or a domain but have connections with another topology.

Pre-conditions

Inputs • Retrieve Scope Filter: TopoId : String

- If set/non-empty, the API call will return those Links that belong to a specified topology and have connections with another topology.

Outputs • List of IDs, Names and Extensions (if any) • Routing characteristics such as Cost, Bandwidth and Multi-Topology-ID. • Risk characteristics including shared-risk

Notifications Error-conditions Post-conditions Sources

6.1.9 Query specified node of a topology

Description

• Returns attributes of the Node specified by NodeId. • This includes references to LogicalTerminationPoint encompassed by the Node • This also includes attributes representing the identification/naming, states and

capabilities of the Node. Pre-conditions

Inputs

• Node ID or Name : String - When NULL is provided, this API call should return an error condition

• Retrieve Scope Filter: TopoId : String - If set/non-empty, the API call will return references to only those Nodes that

belong to a specific topology.

Outputs • List of IDs, Names, Types and Extensions (if any) • List of encompassed LogicalTerminationPoint. • Routing characteristics such as ASN, Router-ID, Area-ID, Multi-Topology-ID

Page 25: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 25 of 33 © Open Source SDN

Notifications Error-conditions Post-conditions Sources

6.1.10 Query specified node of a topology which has connects with another topology

Description

• Returns attributes of the Links in a network or a domain that have connections with another topology.

• This includes references to LogicalTerminationPoint terminating the Link. • This includes references to the Nodes associated by the Link.

Pre-conditions

Inputs

• Node ID or Name : String - When NULL is provided, this API call should return an error condition

• Retrieve Scope Filter: TopoId : String - If set/non-empty, the API call will return those Links that belong to a

specified topology and have connections with another topology.

Outputs

• List of IDs, Names and Extensions (if any) • List of referenced LogicalTerminationPoint IDs • Routing characteristics such as Cost, Bandwidth and Multi-Topology-ID. • Risk characteristics including shared-risk

Notifications Error-conditions Post-conditions Sources

6.1.11 Query a specified link of a topology

Description • Returns attributes of the Link identified by the provided input LinkId. • This includes references to LogicalTerminationPoint terminating the Link. • This includes references to the Nodes associated by the Link.

Pre-conditions

Inputs

• Link ID or Name : String - When NULL is provided, this API call should return an error

• Retrieve Scope Filter: TopoId : String - If set/non-empty, the API call will return those Links that belong to a

specified topology and have connections with another topology.

Outputs

• List of IDs, Names and Extensions (if any) • List of referenced LogicalTerminationPoint IDs • Routing characteristics such as Cost, Bandwidth and Multi-Topology-ID. • Risk characteristics including shared-risk

Notifications Error-conditions Post-conditions Sources

Page 26: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 26 of 33 © Open Source SDN

6.1.12 Query a specified link of a topology but has connections with another topology

Description

• Returns attributes of the Links in a network or a domain that have connections with another topology.

• This includes references to LogicalTerminationPoint terminating the Link. • This includes references to the Nodes associated by the Link.

Pre-conditions

Inputs

• Link ID or Name : String - When NULL is provided, this API call should return an error

• Retrieve Scope Filter: TopoId : String - If set/non-empty, the API call will return those Links that belong to a

specified topology and have connections with another topology.

Outputs

• List of IDs, Names and Extensions (if any) • List of referenced LogicalTerminationPoint IDs • Routing characteristics such as Cost, Bandwidth and Multi-Topology-ID. • Risk characteristics including shared-risk

Notifications Error-conditions Post-conditions Sources

6.1.13 Query the status of a specified link

Description • Returns Status attributes of the Link identified by the provided input LinkId. Pre-conditions

Inputs • Link ID or Name : String - When NULL is provided, this API call should return an error

Outputs • Status attribute of the link. Notifications Error-conditions Post-conditions Sources

6.1.14 Query the status of a specified link which connects to another topology

Description • Returns Status attributes of the Link identified by the provided input LinkId. Pre-conditions

Inputs • Link ID or Name : String - When NULL is provided, this API call should return an error

Outputs • Status attribute of the link. Notifications Error-conditions Post-conditions Sources

Page 27: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 27 of 33 © Open Source SDN

6.2 Topology Request APIs

6.2.1 Request to create links between topologies

Description

• Causes creation of a Link to connect the LogicalTerminationPoints belong to two different topologies.

• Returns Link ID to be used as reference for future actions • Initial definition will be for a basic point-to-point unidirectional service

Pre-conditions

• Requestor/Client has visibility of the set of LogicalTerminationPoints between which connectivity is desired

• Requestor/Client has information about the types of connectivity available and constraints it can specify

• Requestor/Client may be aware of other existing Links and their IDs

Inputs

• A pair of LTPs and details of each including – The ID of source LTP – The ID of destination LTP

• Attributes such as srlgGid, Cost, etc.

Outputs • Link ID • Operational State

Notifications Success/Failure Change of Operational State

Error-conditions Service not supported Service input not supported Endpoint not recognized

Post-conditions Sources

6.2.2 Request to delete links between topologies

Description • Causes deletion of a Link to connect the LogicalTerminationPoints belong to two different topologies.

Pre-conditions

• Requestor/Client has visibility of the set of LogicalTerminationPoints between which connectivity is desired

• Requestor/Client has information about the types of connectivity available and constraints it can specify

• Requestor/Client may be aware of other existing Links and their IDs

Inputs • The LinkId of the link to be deleted •

Outputs • Success/Failure

Notifications Success/Failure Change of Operational State

Error-conditions Service not supported Service input not supported Endpoint not recognized

Post-conditions Sources

Page 28: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 28 of 33 © Open Source SDN

6.2.3 Update link attributes

TAPI_FR_0002 Update Connectivity Service

Description • Causes modification of an existing attributes of Link • Returns confirmation or rejection of modification

Pre-conditions • Requestor/Client already knows the existing Link ID • Requestor/Client has information about the types of attributes that can be

modified

Inputs • Link ID or Name • Corresponding attribute and the value to be modified

Outputs • Success/Failure • Operational State

Notifications Success/Failure

Error-conditions Modification could not be supported Modification parameter not understood Modification not allowed

Post-conditions Attributes modified Sources

6.3 Topology Notification

6.3.1 Notify node change

Description • Causes notification of an existing node change.

Pre-conditions • Requestor/Client has visibility of the set of Node • Notification path has been successfully built.

Inputs • One or more attributes of node changed because of operation or other network activities.

Outputs • One or more attributes of node modified accordingly.

Notifications • A notification should be sent to the client when node change event happens (e.g.,

some attributes changed or failed). • A notification should be sent to the client when the failure has recovered.

Error-conditions Modification could not be supported Modification parameter not understood Modification not allowed

Post-conditions Attributes modified Sources

6.3.2 Notify link change

Description • Causes notification of an existing node change.

Pre-conditions • Requestor/Client has visibility of the set of Link • Notification path has been successfully built.

Inputs • One or more attributes of link changed because of operation or other network activities.

Outputs • One or more attributes of node modified accordingly.

Notifications • A notification should be sent to the client when link change event happens (e.g.,

some attributes changed or link failed). • A notification should be sent to the client when the failure has recovered.

Page 29: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 29 of 33 © Open Source SDN

Error-conditions Modification could not be supported Modification parameter not understood Modification not allowed

Post-conditions Attributes modified Sources

7 Design principle of NBI network topology model

7.1 An object-oriented model As SDN architecture (onf2015.200.00) stated "This architecture uses object-oriented terms

to describe information models", the model described in this document is trying to follow the

same guideline. Each model class defined here will include necessary attributes and operations,

which are used to indicate properties and behavior of this class after instantiation.

7.2 A hierarchical model When referring to the network topology model, different requirements will be focused on

since there are different perspectives generated from different networks. For example, people

from IP networks and optical networks may have very different concern about the topology

model.

This document will not try to collect all concerns from the different kinds of networks,

actually nobody can do that. Although different perspectives and concerns exist, the essential of

the network topology model should be the same because it reflects the universal understanding of

the network's basic nature. So the model captured in this document is trying to record this part of

understanding by describing the NBI network topology model. When specific requirements come

out, the coherent model can be extended to fulfill them.

7.3 Client/server mapping As stated above, topology models for different networks can be organized together in a

hierarchical manner. It is possible to map one node, LTP or link in an upper layer into a set of

their counterparts in a lower layer. This is done by referring those lower instances by their keys

into the "underlay" list of an upper layer instance. For example, a bundled link can be regarded

as a single link in an upper layer while it contains a list of link instances which it depends on in

Page 30: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 30 of 33 © Open Source SDN

the lower layer. In another example, an underlay optical network can be regarded as a single

node or link for an IP network which only takes one IP hop to pass through it.

7.4 Broadcast and P2MP networks As stated above, the link class captured in this document is a unidirectional point-to-point

link, which keeps the whole model simple and is beneficial for operations.

When speaking of broadcast networks, in order to simplify their full-mesh network, their

topology should be modeled into "hub-and-spoke" manner with a pseudo-node generated as

"Designated node" while others only maintain their own links to the designated node. Those

broadcast networks that can be modeled into "hub-and-spoke" manner have to be full-mesh

networks with symmetric access capability. As shown in Figure 4, broadcast network on the left

can be modeled as the right one only when all the nodes on this network are full-mesh and with

symmetric access to each other.

Cost 10 Cost 20

Cost 30 Cost 40

RT1 RT2

RT3 RT4

RT1

RT2

RT3

RT4Cost 40

Cost 10

Cost 20

Cost 30

SRLG Group1

Sgid = 1

Sgid = 1

Sgid = 1

Sgid = 1

Figure 7.1: Broadcast network modeled into Hub-and-Spoke

For non-broadcast networks, such as Point-to-Multipoint (P2MP) networks, due to lacking

of multicast capability, unicast has to be used to ensure the communication synchronization

among different nodes. Though no broadcast capability, NBMA networks still have the full-

Page 31: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 31 of 33 © Open Source SDN

mesh access to every node. So they can have the same "hub-and-spoke" topology as broadcast

networks. While P2MP networks can be treated as a collection of Point-to-Point links.

8 Applying the NBI topology model This section gives one example on how to apply the model. It will take the L3 topology as

an example.

When applying the NBI model, the resultant model will specify its networkType and may

append some necessary attributes for those classes inherited from the NBI model.

8.1 L3 topology Attribute name Type Key Mandatory Access Description

… … … … … …

ntType=L3 Enum N Y CRU L3 topology model

… … … … … …

8.2 L3 node Attribute name Type Key Mandatory Access Description

… … … … … …

routerId IPv4 N Y CRU The router-id of routing device in L3 network.

Prefix List N N CRU The prefixes this routing device advertised through L3 routing protocols.

… … … … … …

8.3 L3 LogicalTerminationPoint Attribute name Type Key Mandatory Access Description

… … … … … …

ipAddress IPADDRESS N N CRU

The IP address of this LTP in a L3 network. Usually a LTP can be mapped to a interface in L3 network.

Page 32: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 32 of 33 © Open Source SDN

… … … … … …

8.4 L3 Link

Attribute name Type Key Mandatory Access Description

… … … … … …

mtIds List N N CRU The multi-topology ID list this link supports. E.g.: {1, 100, 110, …}

… … … … … …

9 Back matter

9.1 References The following references contain provisions, which, through reference in this text, constitute

provisions of this document. At the time of publication, the editions indicated were valid. All

references are subject to revision; users of this document are therefore encouraged to investigate

the possibility of applying the most recent edition of the references listed below.

[1] ONF, TR-502 SDN Architecture 1.0 available at

https://login.opennetworking.org/bin/c5i?mid=4&rid=7&gid=0&k1=1406&tid=1438932076

[2] ONF, TR-512 Core Information Model v1.0.00 available at

https://login.opennetworking.org/bin/c5i?mid=4&rid=7&gid=0&k1=1559&k3=9&tid=1434

558948

[3] ONF, TR-513 Common Information Model overview v1.0.00 available at

https://login.opennetworking.org/bin/c5i?mid=4&rid=7&gid=0&k1=1560&k3=9&tid=1434

559030

[4] ONF, TR-514 UML Modeling Guidelines 1.0 (March 2015) available at

https://www.opennetworking.org/images/stories/downloads/sdn-resources/technical-

reports/UML_Modeling_Guidelines_V1.0.pdf

[5] ONF, onf2014.071_NBI_Framework_and_Archit.20

Page 33: NBI Information Model of Network Topology · NBI Information Model of Network Topology Version No.00 . model. Topology Topology. Topology

NBI Information Model of Network Topology Version No.00

Page 33 of 33 © Open Source SDN

9.2 Release history ONF2014.314.5b draft for formal review 08 Oct 2014

ONF2014.314.10 draft for formal review 12 June 2015

ONF2014.314.11 Draft for last call 20 October 2015

9.3 Contributors Weiqiang Cheng, China Mobile Eric Wu, Huawei

Xuegang Ou, ZTE Jianhua Yang, Fiberhome

Lei Wang, China Mobile Minxue Wang, China Mobile

Silvio Shefer, ECI

9.4 Acknowledgements The authors wish to thank Nigel Davis, Hing-Kam Lam, Eve Varma, Yuanbin Yin, Kaitao Bo,

Tingting Zhang, Steve Dong, Raghav Rao, Xiaofeng Ji, Xianping Zhang and Xiang Yun for their

constructive and professional suggestions.