Internet-Draft | SIMAP Concept & Needs | February 2025 |
Havel, et al. | Expires 18 August 2025 | [Page] |
This document defines the concept of Service & Infrastructure Maps (SIMAP) and identifies a set of SIMAP requirements and use cases. The SIMAP was previously known as Digital Map.¶
The document intends to be used as a reference for the assessment effort of the various topology modules to meet SIMAP requirements.¶
This note is to be removed before publishing as an RFC.¶
Discussion of this document takes place on the Network Management Operations Working Group mailing list (nmop@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/nmop/.¶
Source for this draft and an issue tracker can be found at https://github.com/ietf-wg-nmop/draft-ietf-nmop-digital-map-concept.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 18 August 2025.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Service & Infrastructure Maps (SIMAP) is a data model that provides a view of the operator's networks and services, including how it is connected to other models/data (e.g., inventory, observability sources, and operational knowledge). It specifically provides an approach to model multi-layered topology and appropriate mechanism to navigate amongst layers and correlate between them. This includes layers from physical topology to service topology. This model is applicable to multiple domains (access, core, data center, etc.) and technologies (Optical, IP, etc.).¶
The SIMAP modelling defines the core topological entities (network, node, link, and termination point) at each layer, their role in the network topology, core topological properties, and topological relationships both inside each layer and between the layers. It also defines how to access other external models from a topology. The SIMAP model is a topological model that is linked to the other functional models and connects them all: configuration, maintenance, assurance (KPIs, status, health, and symptoms), Traffic-Engineering (TE), different behaviors and actions, simulation, emulation, mathematical abstractions, AI algorithms, etc. These other models exist outside of the SIMAP and are not defined during SIMAP modelling.¶
The SIMAP data consists of virtual instances of network and service topologies at different layers. The SIMAP provides access to this data via standard APIs for both read, typically as a nortbound interface from a controller, with query capabilities and links to other YANG modules (e.g., Service Assurance for Intent-based Networking (SAIN) [RFC9417], Service Attachment Points (SAPs) [RFC9408], Inventory [I-D.ietf-ivy-network-inventory-yang], and potentially linking to non-YANG models). The SIMAP also provides write operations with the same set of APIs, not to change a topology layer on the fly as a northbound interface from the controller, but for offline simulations, before applying the changes to the network via the normal controller operations.¶
Both read and write APIs are similar, stemming from the same YANG model, to facilitate the comparison of the offline simulated SIMAP with the network one.¶
The document makes use of the following terms:¶
Topology in this document refers to the network and service topology. A network topology defines how physical or logical nodes, links and termination points are related and arranged. A Service topology defines how service components (e.g., VPN instances, customer interfaces, and customer links) between customer sites are interrelated and arranged.¶
There are several types of topologies: point-to-point, bus, ring, star, tree, mesh, hybrid, and daisy chain.¶
Topologies may be unidirectional or bidirectional (bus, some rings).¶
A multi-layered topology models relationships between different topology layers, where each layer represents a connectivity aspect of the network and services that needs to be configured, controlled and monitored. Each topology layer has a separate lifecycle.¶
Represents topology at a single layer in the multi-layered topology.¶
The topology layer can also represent what needs to be managed by a specific user or application, for example IGP layer can be of interest to the operator troubleshooting or optimizing the routing, while the optical layer may be of interest to the user managing the optical network.¶
Some topology layers may relate closely to OSI layers, like L1 topology for physical topology, Layer 2 for link topology and Layer 3 for IPv4 and IPv6 topologies.¶
Some topology layers represent the control aspects of Layer 3, like OSPF, IS-IS, or BGP.¶
The service layer represents the service view of the connectivity, that can differ for different types of services and for different providers/solutions.¶
The top layer represents the application/flow view of service connectivity.¶
Represents network connectivity service provided over a network that enables devices, systems, or networks to communicate and exchange data with each other. It provides the underlying infrastructure and mechanisms necessary for establishing, maintaining, and managing connections between different endpoints. The example services are: L2VPN, L3VPN, EVPN, VPLS, VPWS,¶
Represents component of the service that can be independently managed but is not provided as a service. The example subservices are: MPLS Tunnels, SRV6 Tunnels, VRFs, VPN Links, IGP Links.¶
Defined in [I-D.ietf-nmop-terminology]¶
The document defines the following terms:¶
SIMAP is a data model that provides a view of the operator's networks and services, including how it is connected to other models/data (e.g., inventory, observability sources, and operational knowledge). It specifically provides an approach to model multi-layered topology and appropriate mechanism to navigate amongst layers and correlate between them. This includes layers from physical topology to service topology.¶
This model is applicable to multiple domains (access, core, data centers, etc.) and technologies (Optical, IP, etc.).¶
The set of principles, guidelines, and conventions to model the SIMAP using the IETF modelling approach [RFC8345]. They cover the network types (layers and sublayers), entity types, entity roles (network, node, termination point, or link), entity properties, relationship types between entities and relationships to other entities.¶
Defines the core topological entities, their role in the network, core topological properties, and relationships both inside each layer and between the layers.¶
It is the basic topological model with references/pointers to other models and connects them all: configuration, maintenance, assurance (KPIs, status, health, symptoms, etc.), traffic engineering, different behaviors, simulation, emulation, mathematical abstractions, AI algorithms, etc.¶
Consists of instances of network and service topologies at different layers. This includes instances of networks, nodes, links and termination points, topological relationships between nodes, links and termination points inside a network, relationships between instances belonging to different networks, links to functional data for the instances, including configuration, health, symptoms.¶
The SIMAP data can be historical, real-time, or future data for 'what-if' scenarios.¶
The following are sample use cases that require SIMAP:¶
Inventory queries¶
Service placement feasibility checks¶
Service-> subservice -> resource¶
Resource -> subservice -> service¶
Intent/service assurance¶
Service E2E and per-link KPIs on SIMAP (connectivity status, high-availability, delay, jitter, and loss)¶
Capacity planning¶
Network design¶
Network Simulation and Emulation¶
Traffic Engineering¶
Postmortem Replay¶
Closed-loop¶
Network Digital Twin (NDT)¶
Overall, the SIMAP is needed to provide the mechanism to connect data islands from the core multi-layered topology. It is a solution feasible and useful in the short-term for the existing operations use cases, but it is also a requirement for the SIMAP.¶
The following subsections include some initial use case descriptions to initiate the discussion about what type of info is needed to describe the use cases in the context of SIMAP. The next version of the draft will include more info on these use cases and more input from the operators, from the perspective of what the value of the SIMAP for each use case is and how the SIMAP API can be used. This will also clarify if only read and if/when write interface is needed per use case.¶
Network inventory refers to a comprehensive record or database that tracks and documents all the network components and devices within an organization's IT infrastructure.¶
Key elements typically found in a network inventory include:¶
Descriptions of physical devices such as routers (including its internal components such as cards, power supply units, pluggables), switches, servers, network cables, including model numbers, serial numbers, and manufacturer information. These information will facilitate locating additional details of the hadware in the manufacturer systems and the correlation with the purchase catalog of the company.¶
Versions of operating systems, network management tools, and firmware running on network devices. Note that a network device can have components with their own software and firmware.¶
For any licensed software or devices, the network inventory will track license numbers, expiry dates, and compliance.¶
Network inventory lifecycle refers to the stages a network device or component goes through from its introduction to the network until its removal or replacement. It encompasses everything from acquisition and deployment to maintenance, upgrade, and eventually decommissioning. Managing the network inventory lifecycle efficiently is crucial for maintaining a secure, functional, and cost-effective network.¶
A well-maintained network inventory helps organizations with network management, troubleshooting, asset tracking, security, and ensuring compliance with regulations. It also helps in scaling the network, planning upgrades, and responding to issues quickly. In order to facilitate the planning and troubleshooting processes it is necessary to be able to navigate from network inventory to network topology and services.¶
The application will be able to retrieve physical topology from the controller via the SIMAP API and from the response it will be able to retrieve physical inventory of individual devices and cables.¶
The application may request either one or multiple topology layers via the SIMAP API and from the response it will be able to retrieve both physical and logical inventory.¶
For Access network providers the ability to have linkage in the SIMAP of the complete network (active + passive) is essential as it provides many advantages for optimized customer service, reduced Mean Time To Repair (MTTR), and lower operational costs through truck roll reduction. For example, operators may use custom-tags that are readily available for a customer-facing device and then query the inventory based on that tag to correlate it with the inventory and then map it to the network/service topology. The mapping and correlation can be then used for triggering apprpriate service checks.¶
Service placement feasibility checks refers to the process of evaluating whether a specific service can be deployed and operated effectively in a given network. This includes accessing the various factors to ensure that the service will function as indended (e.g., based on traffic performance requirements), without causing network disruptions or innefficiencies and effecting other services already provisioned on the network.¶
Some of the factors that need assesing are network capabilities, status, limitations, resource usage and availability. The service could be simulated during the feasibility checks to identify if there are any potential issues. The load testing could be done to evaluate performance under stress.¶
The Service Feasibility Check application will be able to retrieve the topology at any layer from the controller via the SIMAP API and from the response it will be able to navigate to any other YANG modules outside of the core SIMAP topology to retrive any other information needed: resource usage, availability, status, etc.¶
The application will be able to retrieve all services using the SIMAP API for selected network types. The application will be able to retrieve the topology for selected services via SIMAP API and from the response it will be able to navigate via the supporting relationship top-down to the lower layers. That way, it will be able to determine what logical resources are used by the service. The supporting relations to the lowest layer will help application to determine what physical resources are used by the service.¶
The application will be able to navigate from the Physical, L2 or L3 topology to the services that use specific resources. For example, the application will be able to select the resource and by navigating the supporting relationship bottom-up come to the service and its nodes, tps and links.¶
Network intent and service assurance work together to ensure that the network aligns with business goals and that the services provided meet the agreed-upon Service Level Agreements (SLAs).¶
The Service Assurance for Intent-Based Networking Architecture (SAIN) [RFC9417] approach emphasizes a comprehensive view of components involved in service delivery, including network devices and functions, to effectively monitor and maintain service health.¶
The key objectives of this architecture:¶
By considering all elements involved in service delivery, the architecture enables a thorough assessment of service health.¶
It assists in linking service performance issues to specific network components, facilitating precise identification of faults.¶
The architecture identifies which services are affected by the failure or degradation of particular network components, aiding in prioritizing remediation efforts.¶
When a service is degraded, the SAIN architecture will highlight where in the assurance service graph to look, as opposed to going hop by hop to troubleshoot the issue. More precisely, the SAIN architecture will associate to each service instance a list of symptoms originating from specific subservices, corresponding to components of the network. These components are good candidates for explaining the source of a service degradation.¶
The application will be able to retrieve topology layer and any network/node/termination point/link instances from the controller via the SIMAP API and from the response it will be able to determine the health of each instance by navigating to the SAIN subservices and its symptoms.¶
The application will be able to retrieve the topology at any layer from the controller via the SIMAP API and from the response it will be able to navigate any retrieve any KPIs for selected topology entity.¶
Network Capacity Planning refers to the process of analyzing, predicting, and ensuring that the network has sufficient capacity (e.g., [RFC5136]), resources, and infrastructure to meet current and future demands. It involves evaluating the network's ability to handle increasing (including forecast) amounts of data, traffic, and users activity, while maintaining acceptable levels of performance, reliability, and security.¶
The capacity planning primary goal is to ensure that a network can support business operations, applications, and services without interruptions, delays, or degradation in quality. This requires a thorough understanding of the network's current state, as well as future requirements and growth projections.¶
Key aspects of network capacity planning include:¶
Traffic analysis: Monitoring and analyzing network traffic patterns to identify trends, peak usage periods, and areas of congestion. For example, by generating a core traffic matrix with IPFIX flow record [RFC7011] or deducting an approximate traffic matrix from the link utilization data.¶
Resource utilization: Evaluating the link utilization throughout the network for the current demand identifying bottlenecks and potential QoS peformance issues.¶
Growth forecasting: Predicting future network growth based on business expansion, new applications, or changes in users behavior.¶
What-if scenarios: Creating models to assess the network behavior under different scenarios, such as increased traffic, failure conditions (link, router or Shared Risk Resource Group), and new application deployments (such as a new Content Delivery Network source, a new peering point, a new data center...).¶
Upgrade planning: Identifying areas where upgrades or additions are needed to ensure that the network can minimize the effect of node/link failures, mitigate QoS problems, or simply to support growing demands.¶
Cost-benefit analysis: Evaluating the costs and benefits of upgrading or adding new resources to determine the most cost-effective solutions.¶
By implementing a robust capacity planning process, organizations can:¶
Ensure better network reliability: Minimize downtime and ensure that the network is always available when needed.¶
Improve performance: Optimize network resources to support business-critical applications and services.¶
Optimize costs: Avoid unnecessary over-provisioning by making informed decisions based on data-driven insights.¶
Support business growth: Scale the network to meet increasing demands and support business expansion.¶
The application will be able to retrieve topology layer and any network/node/termination point/link instances from the controller via the SIMAP API and from the response it will be able to map the traffic analysis to the entities (typically links and router), evaluate their current utilization, based on the grow forecasting evaluate which elements to add to the network, and finally perform the 'what-if' failure analysis by simulating the removal of link(s) and/or router(s) while evaluating the network performance.¶
Network design involves defining both the logical structure-such as access, aggregation, and core layers and the physical layout, including devices and links.¶
It serves as a blueprint, detailing how these elements interconnect to deliver the intended network behavior and functionality. The application will retrieve the proposed network topology as the initial design, which can then undergo critical analyses-such as traffic flow simulations to identify bottlenecks and redundancy checks to ensure resilience-before being transformed into actionable intent and, eventually, deployment configurations. Throughout the network's lifecycle, the design rules embedded within the topology can be continuously validated. For example, a link rule might specify that a connection etween core and aggregation layers must have its source and destination located within the same data center. Another example to declare that specific link type should only exist between Core <> Aggregation layer with certain constrains on port optic speed, type (LR vs SR for instance) etc."¶
Network simulation is a process used to analyse the behaviour of networks via software. It allows network engineers and researchers to assess how the network protocols work under different conditions, such as diffenet topologies, traffic loads, network failures, or the introduction of new devices. Network emulation, on the other hand, replicates the behavior of a real-world network, allowing for more realistic analysis compared to network simulation. While network simulation focuses on modeling and approximating network behavior, network emulation involves creating a real-time, functional network environment whose protocol behaves exactly like a real network. Ideally, network emulation uses the same software images as in the real network, but it could also be peformed (with less accuracy) using generic software.¶
There are several types of network simulations, each designed to address specific needs and use cases. Below are the main categories of network simulation:¶
This is the most common type of network simulation. It models a series of events that occur at specific points in time. Each event triggers a change in the state of a network component (e.g., a link is down, a card fails, or a packet arrives).¶
In contrast to discrete event simulation, continuous simulation models systems where variables change continuously over time. Network parameters like bandwidth, congestion, and throughput can be treated as continuous functions.¶
The main use case is to model certain aspects of network performance that evolve continuously, such as link speeds or delay distributions in links that are impacted by envirnnmental conditions (such as microwave or satellite links).¶
This type of simulation uses statistical methods to model and analyze networks under uncertain or variable conditions. Monte Carlo simulations generate a large number of random samples to predict the performance of a network across multiple scenarios. It is used for probabilistic analysis, risk assessment, and performance evaluation under uncertain conditions.¶
The simulations can be also classified depending on the goal of the simulation.¶
This type of simulation focuses on simulating specific networking protocols (IS-IS, OSPF, BGP, SR) to understand how they perform under different conditions. It models the protocol operations and interactions among devices in the network. For example, simulation can be used to asses the impact of changing a link metric. Morever, specific features of the networking protocol can be tested. For example, how fast-reroute performs in a given network topology.¶
This simulation focuses on modelling traffic flow across the network, including packet generation, flow control, routing, and congestion. It aims to evaluate traffic's impact on network performance.¶
The main use is to model the impact of different types of traffic (e.g., voice, video, mobile data, web browsing) and understand how they affect the network's bandwidth and congestion levels. It can be used to identify bottelnecks and assist the capacity planning process.¶
This type of simulation focuses on the structure and layout of the network itself. It simulates different network topologies, such as mesh, horse-shoe, bus, star, or tree topologies, and their impact on the network's performance. It can be used, together with the traffic simualtion to evaluate the most efficient topology for a network, under normal conditions and considering factors like fault tolerance.¶
Traffic Engineering (TE) [RFC9522] is a network optimization technique designed to enhance network performance and resource utilization by intelligently controlling the flow of data, for example by enabling dynamic path selection based on constraints such as bandwidth availability, latency, and link costs.¶
Its primary goal is to prevent network congestion, balance traffic loads, and ensure efficient use of bandwidth while meeting performance requirements.¶
The TE use case is a combination of the both the capacity planning and the simulation use case. Therefore there are no specific SIMAP requirements.¶
The postmortem replay use case consists in using SIMAPs for the purpose of analysis of network service property evolution based on recorded changes. A collection of relevant timestamped network events, such as routing updates, configuration changes, link status modifications, traffic metrics evolution, and service characteristics, is being made accessible from and/or within a SIMAP to support investigation and automated processing. Using a structured format, the stored data can be replayed in sequence, allowing network operators to examine historical network behavior, diagnose issues, and assess the impact of such events on service assurance.¶
The mechanism supports correlation with external data sources to facilitate comprehensive post-mortem analysis. Further than centralizing and correlating such various sources of information, the SIMAP can provide simulation of the network behaviour to assist investigations.¶
In essence, this use case builds upon a collection of other SIMAP use cases, such as, inventory queries, intent/service assurance, Service KPIs, capacity planning, and simulation to provide a thorough understanding of a network event impacting service assurance.¶
Note that this use case may serve as a component of Service Disruption Detection fine tuning as described in [I-D.ietf-nmop-network-anomaly-architecture].¶
A network closed loop refers to an automated and intelligent system where network operations are continuously monitored, analyzed, and optimized in real time through feedback mechanisms. This self-adjusting cycle ensures that the network dynamically adapts to changes, resolves issues proactively, and maintains optimal performance without manual intervention.¶
Key Characteristics of a Network Closed Loop:¶
Real-Time Monitoring: Collects data from network devices, traffic flows, and applications to build a comprehensive view of network health and performance.¶
Automated Analysis: Ideally leverages AI and machine learning to identify anomalies, predict potential failures, or detect security threats.¶
Proactive Action: Automatically triggers corrective measures, such as reconfiguring devices, isolating compromised endpoints, or rerouting traffic.¶
Continuous Optimization: Uses feedback from previous cycles to refine network policies and improve future responses.¶
The application will be able to retrieve topology layer and any network/node/termination point/link instances from the controller via the SIMAP API and from the response it will be able to map the traffic analysis to the entities (typically links and router), for automated analysis. The corrective measures would be applied, either directly to the network by managed the SIMAP entities (network/node/termination point/link instances) or by validating first the corrective measure in an offline simulation (see the simulation and traffic engineering use cases).¶
The following are the core requirements for the SIMAP (note that some of them are supported by default by [RFC8345]):¶
Basic model with network, node, link, and termination point entity types.¶
This means that users of the SIMAP model must be able to understand topology model at any layer via these core concepts only, without having to go to the details of the specific augmentations to understand the topology.¶
Layered SIMAP, from physical network (ideally optical, layer 2, layer 3) up to service and intent views.¶
SIMAP must support topology of the complete network, including active and passive parts.¶
For Access network providers the ability to have linkage in the SIMAP of the complete network (active + passive) is essential as it provides many advantages for optimized customer service, reduced MTTR, and lower operational costs through truck roll reduction.¶
Open and programmable SIMAP.¶
This includes "read" operations to retrieve the view of the network, typically as application-facing interface of Software Defined Networking (SDN) controllers or orchestrators.¶
It also includes "write" operations, not for the ability to directly change the SIMAP data (e.g., changing the network or service parameters), but for offline simulations, also known as what-if scenarios.¶
Running a "what-if" analysis requires the ability to take snapshots and to switch easily between them.¶
Note that there is a need to distinguish between a change on the SIMAP for future simulation and a change that reflects the current reality of the network.¶
Standard based SIMAP Models and APIs, for multi-vendor support.¶
SIMAP must provide the standard YANG APIs that provide for read/write and queries. These APIs must also provide the capability to retrieve the links to external data/models.¶
SIMAP models and APIs must be common over different network domains (campus, core, data center, etc.).¶
This means that clients of the SIMAP API must be able to understand the topology model of layers of any domain without having to understand the details of any technologies and domains.¶
SIMAP must provide semantics for layered network topologies and for linking external models/data.¶
SIMAP must provide intra-layer and inter-layer relationships.¶
SIMAP must be extensible with metadata.¶
SIMAP must be pluggable. That is,¶
SIMAP must be optimized for graph traversal for paths. This means that only providing link nodes and source and sink relationships to termination-points may not be sufficient, we may need to have the direct relationship between the termination points or nodes.¶
SIMAP must provide a mechanism to model bidirectional links One of the core characteristics of any network topology is the link directionality. While data flows are unidirectional, the bidirectional links are also common in networking. Examples are Ethernet cables, bidirectional SONET rings, socket connection to the server, etc. We also encounter requirements for simplified service layer topology, where we want to model link as bidirectional to be supported by unidirectional links at the lower layer.¶
SIMAP must provide a mechanism to model multipoint links One of the core characteristics of any network topology is its type and link cardinality. Any topology model should be able to model any topology type in a simple and explicit way, including point to multipoint, bus, ring, star, tree, mesh, hybrid and daisy chain. Any topology model should also be able to model any link cardinality in a simple and explicit way, including point to point, point to multipoint, multipoint to multipoint or hybrid.¶
SIMAP must provide a mechanism to model links between the network/domains One of the core characteristics of any topology is connectivity between different network, subnetworks or domains.¶
SIMAP must provide a mechanism to model network decomposition into sub-networks. This would allow modelling hierarchical network domains, Autonomous System with multiple Areas or e2e network with multiple domains.¶
SIMAP must provide a mechanism to share nodes, links and termination points between different networks.¶
SIMAP must provide a mechanism to model supporting relationships between different types of topological entities (e.g., tp is supported by the node). This may be required in the cases when tp is not supported by the underlying tp, but by the node (e.g., loopback does not have physical representation, so it is supported by physical device).¶
Links and nodes that are down must appear in the topology. The status of the nodes and links must be either implemented in the SIMAP model or accessible from the SIMAP model.¶
The following are design requirements for modelling the SIMAP. They are derived from the core requirements collected from the operators and although there is some duplication, these are focused on summarizing the requirements for the design of the model and API:¶
SIMAP should contain only topological information.¶
SIMAP is not required to contain all models and data required for all the management and use cases. However, it should be designed to support adequate pointers to other functional data and models to ease navigating in the overall system. For example:¶
SIMAP entities should mainly contain properties used to identify topological entities at different layers, identify their roles, and topological relationships between them.¶
SIMAP should contain all topological relationships inside each layer or between the layers (underlay/overlay)¶
SIMAP should contain links to other models/data to enable generic navigation to other YANG models in generic way.¶
Provide capability for conditional retrieval of parts of SIMAP.¶
Must support geo-spatial, temporal, and historical data. The temporal and historical can also be supported external to the SIMAP.¶
The following are the architectural requirements for the controller that provides SIMAP API:¶
As this document covers the SIMAP concepts, requirements, and use cases, there is no specific security considerations. However, the RFC 8345 Security Considerations aspects will be useful when designing the solution.¶
This document has no actions for IANA.¶
Many thanks to Mohamed Boucadair for his valuable contributions, reviews, and comments. Many thanks to Adrian Farrel for his SIMAP suggestion and helping to agree the terminology. Many thanks to Dan Voyer, Brad Peters, Diego Lopez, Ignacio Dominguez Martinez-Casanueva, Italo Busi, Wu Bo, Sherif Mostafa, Christopher Janz, Rob Evans, Danielle Ceccarelli, and many others for their contributions, suggestions and comments.¶
Many thanks to Nigel Davis ndavis@ciena.com for the valuable discussions and his confirmation of the modelling requirements.¶