OpenSS7 SS7 for the Common Man | © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. Last modified: Sun, 05 Mar 2006 08:34:14 GMT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Network Provider Interface (NPI)Description: OpenSS7 Project Manual Pages Operating SystemNPISection: Network Provider Interface (NPI) (7)Updated: Sun, 07 Dec 2008 10:48:38 GMT Index Return to Main Contents NAMENPI - Network Provider InterfaceSYNOPSIS
DESCRIPTION
The specification assumes that the reader is familiar with the OSI reference model terminology, ISO/CCITT Network Layer Service, and STREAMS(4). Related Documentation
RoleThis document specifies an interface that supports the service provided by the Network Services Definition for Open Systems Interconnection for CCITT Applications as described in CCITT Recommendation X.213 and ISO 8348 (for CONS) and ISO8348/Addendum 1 (for CLNS). These specifications are targeted for use by developers and testers of protocol modules that require network layer service. Definitions, Acronyms, and Abbreviations
The Network LayerThe Network Layer provides the means to manage the operation of the network. It is responsible for the routing and management of data exchange between network-user entities.Model of the NPIThe NPI defines the services provided by the network layer to the network-user at the boundary between the network layer and the network layer user entity. The interface consists of a set of primitives defined as STREAMS(4) messages that provide access to the network layer services, and are transferred between the NS user entity and the NS provider. These primitives are of two types; ones that originate from the NS user, and others that originate from the NS provider. The primitives that originate from the NS user make requests to the NS provider, or respond to an event of the NS provider. The primitives that originate from the NS provider are either confirmations of a request or are indications to the NS user that the event has occurred.The NPI allows the NS provider to be configured with any network layer user (such as the OSI Transport Layer) that also conforms to the NPI. A network layer user can also be a user program that conforms to the NPI and accesses the NS provider via putmsg(2) and getmsg(2) system calls. NPI ServicesThe features of the NPI are defined in terms of the services provided by the NS provider,and the individual primitives that may flow between the NS user and the NS provider.The services supported by the NPI are based on two distinct modes of communication,connection (CONS) and connectionless (CLNS). In addition, the NPI supports services for local management. CONSThe main features of the connection mode communication are:
There are three phases to each instance of communication: Connection Establishment;Data Transfer; and Connection Termination. Units of data arrive at their destination in the same order as they departed their source and the data is protected against duplication or loss of data units within some specified quality of service. CLNSThe main features of the connectionless mode communication are:
Connectionless mode communication has no separate phases. Each unit of data is transmitted from source to destination independently, appropriate addressing information is included with each unit of data. As the units of data are transmitted independently from source to destination, there are, in general, no guarantees of proper sequence and completeness of the data stream. Local ManagementThe NPI specifications also define a set of local management functions that apply to both CONS and CLNS modes of communication. These services have local significance only.Tables 1 and 2 summarizes the NPI service primitives by their state and service.
NPI Services DefinitionThis section describes the services of the NPI primitives. Time-sequence diagrams that illustrate the sequence of primitives are included. (Conventions for the time-sequence diagrams are defined in CCITT X.210 [8].) The format of the primitives will be defined later in this document.Local Management Services DefinitionThe services defined in this section are outside the scope of the international standards. These services apply to both connection-mode as well as the connection-less modes of communication. They are invoked for the initialization/de-initialization of a stream connected to the NS provider. They are also used to manage options supported by the NS provider and to report information on the supported parameter values.Network Information Reporting Service. This service provides information on the options supported by the NS provider.
NS User Bind Service. This service allows a network address to be associated with a stream. It allows the NS user to negotiate the number of connect indications that can remain unacknowledged for that NS user (a connect indication is considered unacknowledged while it is awaiting a corresponding connect response or disconnect request from the NS user). This service also defines a mechanism that allows a stream (bound to a network address of the NS user) to be reserved to handle incoming calls only. This stream is referred to as the listener stream.
NS User Unbind Service. This service allows the NS user to be unbound from a network address.
Receipt Acknowledgment Service.
Options Management Service. This service allows the NS user to manage the QOS parameter values associated with the NS provider.
Error Acknowledgment Service.
Connection-Mode Network Services DefinitionThis section describes the required network service primitives that define the CONS interface.The queue model for CONS is discussed in more detail in CCITT X.213 section 9.2. The queue model represents the operation of a network connection in the abstract by a pair of queues linking the two network addresses. There is one queue for each direction of information flow. Each queue represents a flow control function in one direction of transfer. The ability of a user to add objects to a queue will be determined by the behavior of the user removing objects from that queue, and the state of the queue. The pair of queues is considered to be available for each potential NC. Objects that are entered or removed from the queue are either as a result of interactions at the two network addresses, or as the result of NS provider initiatives.
If necessary, the last object on the queue will be deleted to allow a destructive object to be entered - they will therefore always be added to the queue. For example, "disconnect" objects are defined to be destructive with respect to all other objects. "Reset" objects are defined to be destructive with respect to all other objects except "connect", "disconnect", and other "reset" objects. Table 3 shows the ordering relationships among the queue model objects. Connection Establishment Phase A pair of queues is associated with an NC between two network addresses when the NS provider receives an N_CONN_REQ(7) primitive at one of the network addresses resulting in a connect object being entered into the queue. The queues will remain associated with the NC until a N_DISCON_REQ(7) primitive (resulting in a disconnect object) is either entered or removed from a queue. Similarly, in the queue from the called NS user, objects can be entered into the queue only after the connect object associated with the N_CONN_RES(7) has been entered into the queue. Alternatively, the called NS user can enter a disconnect object into the queue instead of the connect object to terminate the NC. The NC establishment procedure will fail if the NS provider is unable to establish an NC,or if the destination NS user is unable to accept the N_CONN_IND(7) (see NC Release primitive definition). User Primitives for Successful Network Connection Establishment
Provider Primitives for Successful Network Connection Establishment
Data Transfer Phase Flow control on the NC is done by management of the queue capacity, and by allowing objects of certain types to be inserted to the queues, as shown in Table 4. User Primitives for Data Transfer
Provider Primitives for Data Transfer
The sequence of primitives may remain incomplete if a N_RESET or N_DISCON primitive occurs. A NS user must not issue an N_DATACK_REQ(7) primitive if no N_DATA_IND(7) with confirmation request set has been received, or if all such N_DATA_IND(7) have been previously acknowledged. Following a reset procedure (N_RESET_REQ(7) or N_RESET_IND(7)), a NS user may not issue aN_DATACK_REQ to acknowledge an outstanding N_DATA_IND(7) received before the reset procedure was signaled. (Note -- The withholding of confirmation of receipt by a NS user can have an effect on the attainable throughput on the NC.) Reset Operation Primitives The reset service is used by the NS user to resynchronize the use of the NC, or by the NS provider to report detected loss of unrecoverable data. The reset procedure involves the following interactions:
The complete sequence of primitives depends upon the origin/s of the reset action. The reset service may be:
The N_RESET_REQ(7) acts as a synchronization mark in the flow of N_DATA, N_EXDATA, and N_DATACK primitives transmitted by the issuing NS user; the N_RESET_IND(7) acts as a synchronization mark in the flow of N_DATA, N_EXDATA, and N_DATACK primitives received by the receiving NS user. Similarly, N_RESET_RES(7) acts as a synchronization mark in the flow of N_DATA, N_EXDATA, and N_DATACK primitives transmitted by the responding NS user, while the N_RESET_CON(7) acts as a synchronization mark in the flow of N_DATA, N_EXDATA, and N_DATACK primitives received by the NS user that originally issued the reset. The resynchronizing properties of the reset service are the following:
User Primitives for Reset Operations
Provider Primitives for Reset Operations
The sequence of primitives may remain incomplete if a N_DISCON primitive occurs. Connection Termination Phase The NC release procedure is initialized by the insertion of a disconnect object(associated with a N_DISCON_REQ)(7) into the queue. As shown in Table 3, the disconnect procedure is destructive with respect to other objects in the queue, and eventually results in the emptying of queues and termination of the NC connection. The sequence of primitives depends on the origin of the release action. The sequence may be:
User Primitives for Connection Termination
Provider Primitives for Connection Termination
A NS user may reject an NC establishment attempt by issuing a N_DISCON_REQ(7). The originator parameter in the N_DISCON primitives will indicate NS user invoked release. If the NS provider is unable to establish an NC, it indicates this to the requester by an N_DISCON_IND(7). The originator in this primitive indicates an NS provider invoked release. Connectionless Network Services DefinitionThe CLNS allows for the transfer of the NS user data in one or both directions simultaneously without establishing a network connection. A set of primitives are defined that carry user data and control information between the NS user and NS provider entities. The primitives are modeled as requests initiated by the NS user and indications initiated by the NS provider. Indications may be initiated by the NS provider independently from requests by the NS user.The connectionless network service consists of one phase. User Request Primitives
Provider Response Primitives
Local ManagementThe following management primitives are common to all modes of network service provider.
Connectionless Data TransferThe following primitives provide for the transfer of data with a connectionless network service provider.
Connection EstablishmentThe following primitives establish a network connection with a connection oriented network service provider.
Connection Data TransferThe following primitives provide for the transfer of data with a connection oriented network service provider.Data Transfer Service. The following primitives provide for the transfer of data on the network connection.
Data Acknowledgment Service. The following primitives provider for the acknowledgment of data transfer.
Connection ResetThe following primitives provide for the reset of the network connection.
Connection ReleaseThe following primitives provide for the release of a network connection with a connection oriented network service provider.
SEE ALSON_BIND_ACK(7), N_BIND_REQ(7), N_CONN_CON(7), N_CONN_IND(7), N_CONN_REQ(7), N_CONN_RES(7), N_DATACK_IND(7), N_DATACK_REQ(7), N_DATA_IND(7), N_DATA_REQ(7), N_DISCON_IND(7), N_DISCON_REQ(7), N_ERROR_ACK(7), N_EXDATA_IND(7), N_EXDATA_REQ(7), N_INFO_ACK(7), N_INFO_REQ(7), N_OK_ACK(7), N_OPTMGMT_REQ(7), N_RESET_CON(7), N_RESET_IND(7), N_RESET_REQ(7), N_RESET_RES(7), N_UDERROR_IND(7), N_UNBIND_REQ(7), N_UNITDATA_IND(7), N_UNITDATA_REQ(7).HISTORYThe Network Provider Interface first appeared in SVR 4[1]. CONFORMANCEThis interface conforms to NPI Revision 2[2]. REFERENCES
TRADEMARKS
Other trademarks are the property of their respective owners. IDENTIFICATION
Copyright©1992UNIX International, Inc. All Rights Reserved. (See roff source for permission notice.)
Index
This document was created by man2html, using the manual pages. Time: 10:48:38 GMT, December 07, 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Last modified: Sun, 05 Mar 2006 08:34:14 GMT © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. |