NBI Information Model of Network Topology · document is a NBI-specific fragment describing...
Transcript of NBI Information Model of Network Topology · document is a NBI-specific fragment describing...
NBI Information Model of Network Topology Version: 00 Date: 2016/3/17TR-1500
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
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
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
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
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.
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.
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
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}}.
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
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
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.
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
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.
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.
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
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
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:
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.
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
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
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
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
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
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
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
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
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.
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
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-
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.
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
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.