Network Services Interface Connection Service v2.0 Tomohiro Kudoh (AIST) (OGF NSI-WG) 1 Network Services Interface (1) An open standard for dynamic circuit service interoperability A simple API to support connectivity management Dynamic assignment of bandwidth, VLAN ids etc. Global reach: multi-provider enabled solution Being defined at OGF(Open Grid Forum) NSI-WG 2 Network Services Interface (2) Currently, NSI-WG is working to finalize version 2.0 of the Connection Service document, in which a service architecture and protocol for end-to-end circuit provisioning interface is described. Complementary services, such as a Topology Service and a Discovery Service, are being standardized to support the NSI Connection Service. To provide not just a connection but a dynamic network, Switching Service has been proposed and under discussion. NSI provides abstracted view of networks, hiding underlying physical infrastructure Any control plane such as GMPLS or OpenFlow can be used under NSI 3 NSI architecture and connection service (CS) User agent Requester NSI A:0 to D:2, 1:00-2:00, 1Gbps Provider Aggregator NSA Requester B:1 to B:4, A:0 to A:3, 1:00-2:00, 1Gbps 1:00-2:00, 1Gbps Provider Provider Provider NSA A NSA B NSA C NRM NRM NRM Discovery Service Topology Service D:1 to D:2, 1:00-2:00, 1Gbps Provider NRM: Network NSA D Resource Manager NRM Network Service Plane Data Plane (abstracted) TF A:0 A:1 A:2 B:0 TF A:3 B:1 B:4 A:4 B:2 B:5 B:6 Network A D:0 B:3 D:1 C:0 C:1 TF D:2 D:3 Network D TF C:3 Network B STP (Service Termination Point) TF: Transfer Function Network C 4 NSI tree model There can be multiple ultimate requesters. Request propagation path is formed dynamically uRAs (Ultimate Requester agent) Aggregators uPAs (Ultimate Provider agent) NW Data Plane 5 A chain on a Tree Aggregators uRA uPAs 6 STP and TF: topology abstraction Data plane topology is abstracted by STP (Service Termination Point) and TF (Transfer Function) STP is a logical label of a point at the edge of a network STPs are used in a connection request to designate termination points of intra-network connection. TF represents each network’s capability of dynamically connecting two STPs of the network 7 uRA, uPA and Aggregator uRA: Ultimate Requester Agent AG: Aggregator uPA: Ultimate Provider Agent NRM: Network Resource Manager NSA uRA NSA AG NSA uPA NRM NSA AG uPA NRM 8 Key extensions/changes of NSI CS 2.0 Separate state machines for reservation maintenance, provision control and terminate a connection Support of modify and use of two-phase commit for reservation Introduction of Coordinator Confirmation of delivery of request messages Supports aggregation of messages Notifications and error handling The majority of error states were removed from the state machine , and handled by Coordinator A new set of notifications were added to inform the uRA Ability to use a query operation for polling If a requester (client) cannot receive reply messages or notifications (by message loss or NAT problem, etc.), the requester can get status by using query operations. 9 Coordinator and MTL Coordinator’s role: To coordinate, track, and aggregate (if necessary) message requests, replies, and notifications, and realize reliable requests/replies communication To process or forward notifications as necessary To service query requests Coordinator maintains the following information on a per NSI request message basis: Who the (NSI request) message was sent to Was the message received (i.e. ack’ed) or not (i.e. MTL timeout) Which NSA has sent back an NSI reply (e.g. *.confirm, *.fail, *.not_applicable) for the initial NSI request (e.g. *.request) 10 Information maintained by Coordinator 11 Two-phase reserve/modify NSI is an advance-reservation based protocol A reservation of a connection has properties such: A-point, Z-point (mandatory) Start-time, End-time (mandatory) Bandwidth, Labels (optional) A reservation is made in two-phase First phase: availability is checked, if available resources are held Second phase: the requester either commit or abort a held reservation Two-phase is convenient when a requester requests resources from multiple providers, including other resources such as computers and storages Timeout: If a requester does not commit a held reservation for a certain period of time, a provider can timeout Modification of a reservation is supported. Currently, modification of start_time, end_time and bandwidth are supported 12 Reservation, Provisioning and Activation Initial Reserved >rsv.rq >rsv.rq >rsv.rq >rsv.rq Reserve Checking <rsvcommit.cf <rsvcommit.cf <rsvcommit.fl <rsvcommit.fl Reserve Committi ng >rsvcommit.rq >rsvcommit.rq Reserve Held <rsv.cf <rsv.cf >rsvcommit.rq <rsvcommit.fl <rsvabort.cf <rsvabort.cf <rsv.fl <rsv.fl Reserve Failed >rsvabort.rq >rsvabort.rq (reserve_timeout) <rsvTimeout.nt >rsvabort.rq >rsvabort.rq Reserve Aborting >rsvabort.rq >rsvabort.rq update Reserve Timeout uPA only Committed Reservation Reservation State Machine >prov.rq >prov.rq Provisioni ng <prov.cf <prov.cf transition Provision ed Schedule d >rel.rq >rel.rq <rel.cf <rel.cf Provisioned /Scheduled Releasing Provision State Machine start_time < current_time < end_time Data Plane is activated according to the latest committed reservation, when PSM is in “Provisioned” state AND during a reservation period timer 13 Reservation State Machine Reservation State Machine maintains reservation/modification message sequences Reservation data base is updated when a reservation/modification is committed 14 RSM: Reservation State Machine reservation success case Reserve Start reserve request (check availability) >rsv.rq >rsv.rq Reserve Checking <rsvcommit.cf <rsvcommit.cf <rsvcommit.fl <rsvcommit.fl <rsv.cf <rsv.cf Reserve Committi ng >rsvcommit.rq >rsvcommit.rq Commit request Reserve Held >rsvcommit.rq <rsvcommit.fl <rsvabort.cf <rsvabort.cf <rsv.fl <rsv.fl Reserve Failed >rsvabort.rq >rsvabort.rq (reserve_timeout) <rsvTimeout.nt >rsvabort.rq >rsvabort.rq Reserve Aborting >rsvabort.rq >rsvabort.rq Reserve Timeout Initial State Transitional States uPA only Stable States 15 RSM: Reservation State Machine resource not available and failed Reserve Start reserve request (check availability) >rsv.rq >rsv.rq Reserve Checking <rsvabort.cf <rsvabort.cf <rsv.fl <rsv.fl Reserve Failed <rsvcommit.cf <rsvcommit.cf <rsvcommit.fl <rsvcommit.fl <rsv.cf <rsv.cf >rsvcommit.rq >rsvcommit.rq Reserve Held >rsvcommit.rq <rsvcommit.fl resource not available >rsvabort.rq >rsvabort.rq (reserve_timeout) <rsvTimeout.nt >rsvabort.rq >rsvabort.rq Reserve Aborting Reserve Committi ng >rsvabort.rq >rsvabort.rq Reserve Timeout Initial State Transitional States uPA only Stable States 16 RSM: Reservation State Machine aborted after resource was held Reserve Start >rsv.rq >rsv.rq Reserve Committi ng <rsvcommit.cf <rsvcommit.cf >rsvcommit.rq >rsvcommit.rq <rsvcommit.fl reserve request <rsvcommit.fl (check availability) Reserve Checking Reserve Held <rsv.cf <rsv.cf >rsvcommit.rq <rsvcommit.fl <rsvabort.cf <rsvabort.cf <rsv.fl <rsv.fl Reserve Failed abort request >rsvabort.rq >rsvabort.rq (reserve_timeout) <rsvTimeout.nt >rsvabort.rq >rsvabort.rq Reserve Aborting >rsvabort.rq >rsvabort.rq Reserve Timeout Initial State Transitional States uPA only Stable States 17 RSM: Reservation State Machine aborted after failed Reserve Start >rsv.rq >rsv.rq Reserve Checking <rsvabort.cf <rsvabort.cf <rsv.fl <rsv.fl Reserve Failed >rsvabort.rq >rsvabort.rq Reserve Aborting Reserve Committi ng <rsvcommit.cf <rsvcommit.cf <rsvcommit.fl reserve request <rsvcommit.fl (check availability) <rsv.cf <rsv.cf >rsvcommit.rq >rsvcommit.rq Reserve Held >rsvcommit.rq <rsvcommit.fl resource not available >rsvabort.rq >rsvabort.rq (reserve_timeout) <rsvTimeout.nt abort request >rsvabort.rq >rsvabort.rq Reserve Timeout Initial State Transitional States uPA only Stable States 18 RSM: Reservation State Machine timeout (no commit or abort for held resource) Reserve Start reserve request (check availability) >rsv.rq >rsv.rq Reserve Checking <rsvcommit.cf <rsvcommit.cf <rsvcommit.fl <rsvcommit.fl Reserve Committi ng >rsvcommit.rq >rsvcommit.rq Reserve Held <rsv.cf <rsv.cf >rsvcommit.rq <rsvcommit.fl <rsvabort.cf <rsvabort.cf <rsv.fl <rsv.fl Reserve Failed Timeout >rsvabort.rq >rsvabort.rq (reserve_timeout) <rsvTimeout.nt >rsvabort.rq >rsvabort.rq Reserve Aborting >rsvabort.rq >rsvabort.rq Reserve Timeout Initial State Transitional States uPA only Stable States 19 Provision State Machine Simple state machine to explicitly provision / release a connection Provision state machine transits independently from the reservation state machine Provision state: Data plane is activated if the PSM is in “Provisioned” state AND start_time < current_time < end_time A connection can be repeatedly provisioned and released 20 PSM : Provision State Machine >prov.rq >prov.rq Provisioni ng <prov.cf <prov.cf Provision ed Schedule d >rel.rq >rel.rq <rel.cf <rel.cf Releasing Initial State Transitional States Stable States 21 21 LSM : Lifecycle State Machine Failed <forcedEnd <forcedEnd Created >term.rq >term.rq endTimeEvent >term.rq >term.rq Terminati ng <term.cf <term.cf Terminat ed >term.rq >term.rq Initial State Passed EndTime Transitional States Stable States Final State Reservation, Provisioning and Activation Initial Reserved >rsv.rq >rsv.rq >rsv.rq >rsv.rq Reserve Checking <rsvcommit.cf <rsvcommit.cf <rsvcommit.fl <rsvcommit.fl Reserve Committi ng >rsvcommit.rq >rsvcommit.rq Reserve Held <rsv.cf <rsv.cf >rsvcommit.rq <rsvcommit.fl <rsvabort.cf <rsvabort.cf <rsv.fl <rsv.fl Reserve Failed >rsvabort.rq >rsvabort.rq (reserve_timeout) <rsvTimeout.nt >rsvabort.rq >rsvabort.rq Reserve Aborting >rsvabort.rq >rsvabort.rq update Reserve Timeout uPA only Committed Reservation Reservation State Machine >prov.rq >prov.rq Provisioni ng <prov.cf <prov.cf transition Provision ed Schedule d >rel.rq >rel.rq <rel.cf <rel.cf Provisioned /Scheduled Releasing Provision State Machine start_time < current_time < end_time Data Plane is activated according to the latest committed reservation, when PSM is in “Provisioned” state AND during the reservation period timer 23 Data plane activation Activation may happen at the timing of following events (if the condition is met), using the latest commited reservation information PSM transits to “Provisioned” At the start_time Reservation is updated (by commit of a reservation/modify) Data plane is recovered from an error Data plane activation/deactivation are notified by DataPlaneStateChange.nt notification messages. Errors are notified by a generic error message activateFailed: Activation failed at the time when uPA should activate its data plane deactivateFailed: Deactivation failed at the time when uPA should deactivate its data plane dataplaneError: Data plane is deactivate when deactivation is not expected. The error is recoverable. forcedEnd: Something unrecoverable is happened in uPA/NRM 24 Provisioning Sequences Automatic Provisioning Requester Provider Manual Provisioning Requester Provider provision.rq provision.rq provision.cf provision.cf Start time In service In service Reserved On-demand reservation / provisioningrelease.rq • start_time is same as or before the time a reservation is made • provision.rq is issued immediately after a reservation is made Reserved Start time terminate.rq End time terminate.cf End time 25 Provisioning Sequences (release and reprovision) Manual Provisioning Requester Provider provision.rq provision.rq provision.cf provision.cf provision.cf End time In service release.rq release.cf provision.rq provision.cf In service provision.rq Reserved release.cf Start time Reserved Start time In service release.rq In service Automatic Provisioning Requester Provider terminate.rq terminate.cf End time 26 Robustness of NSI CS2.0 Error scenarios were carefully considered and supported Supported scenarios include: NSI message delivery failure (transport error of management plane) uPA cannot provide data plane as reserved Temporaly and permanent failure scenarios Error notification messages are provided to notify errors from children to parents. uPA initiated commit timeout is supported uPA does not have to hold resources forever when no commit or abort message is received. uRA can get statuses of children NSAs by query requests. Simple (one level) and recursive (multi level) query operations are provided 27 NSI Development & Road Map OGF NSI-CS version 2.0 is in draft now (Jun. 2013) And will be finalized TODAY! Version 2 implementations are under development OpenNSA – NORDUnet (DK) OpenDRAC – SURFnet (NL) AutoBAHN – GEANT (PL) G-LAMBDA-A - AIST (JP) G-LAMBDA-K – KDDI R&D Labs (JP) DynamicKL – KISTI (KR) OSCARS – ESnet (US) First production services planned for 2013: NetherLight StarLight NORDUnet GEANT KRLight 28 Summary The NSI Connection Service protocol has been developed to allow dynamic service networks to inter-operate in a multi-provider environment. Version 2.0 of the NSI protocol is now being finalized. NSI v2.0 can be used as a key building block for the delivery of distributed virtual infrastructures 29 THANK YOU 30 Background With the trend towards Big Data, the federation of data and services provided by different clouds is becoming key to developing new services. To facilitate these new services, the efficient transfer of data between clouds is becoming more important, and reliable network bandwidth between datacenters is critical to achieving a stable high performance service. 31 Networks in Clouds Networks are often been taken for granted by Clouds. Activities to make network a manageable resource are on-going Longer distances may require using more than one provider Multi-provider network should be just another resource – easy integration with scheduling of computing/storage resources is important 32 Multi-domain cloud (1) Request (3) Use Resource Manager Resource Manager Inter-DC network Resource Manager (2) Provide Resource Manager 33
© Copyright 2026 Paperzz