=== Requirements === - Scalability: Model based on a scale out architecture. - Scalability: Segregation of NSI functions (services) - Scalability: Ability to put different NSI functions (services) on different devices (modular architecture) - Scalability/Flexibility: Intelligence should be placed at the edges - Flexibility: Ability to change one NSI function (service) without affecting other NSI functions (services) (modular architecture) - Flexibility: A distinction should be made between identifiers and addresses. Identifiers are used for STP's. STP's that belong to the same topology should have the same address. The address space must be hierarchical (a tree with a root and leaves). An address refers to the location in the tree where the topology resides with respect to other topologies. The distinction between identifiers and addresses enables STP mobility where a STP can move to another topology. It also enables multi-homing where a STP can be reached through multiple addresses at once. - Flexibility: A lookup service should be introduced to translate identifiers to addresses and the reverse - Flexibility: One lookup server can be authoritative for multiple domains - Flexibility: The model should support path finding or routing based on multiple metrics (constraints). Connectivity or reachability (how to go from A to B) is the most important and obvious one. As we cannot assume equal capacity (bandwidth) on each link, link capacity is a second metric. Because we want to do inter-layer adaptation, technology is another metric. More possible metrics are (monetary) cost, latency, energy efficiency... - Scalability/Flexibility: A mechanism should be introduced to share the access policy. If the policy is not known, too many requests will fail. - Flexibility: One NSA (uPA) can share multiple topologies - Security: The authenticity and the integrity of Discovery and Topology Documents must be verifiable. - Security: The security model employed must be as simple as possible. - Performance: I did not mention specific performance requirements. However, I do know there are some (hidden) expectations regarding performance.