1、 INTERNATIONAL TELECOMMUNICATION UNION ITU-T Q.2111TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU Amendment 3(10/2003) SERIES Q: SWITCHING AND SIGNALLING Broadband ISDN Signalling ATM adaptation layer (SAAL) B-ISDN ATM adaptation layer Service specific connection oriented protocol in a multilink an
2、d connectionless environment (SSCOPMCE) Amendment 3: API for SSCOPMCE over Ethernet and UDP port number ITU-T Recommendation Q.2111 (1999) Amendment 3ITU-T Q-SERIES RECOMMENDATIONS SWITCHING AND SIGNALLING SIGNALLING IN THE INTERNATIONAL MANUAL SERVICE Q.1Q.3 INTERNATIONAL AUTOMATIC AND SEMI-AUTOMAT
3、IC WORKING Q.4Q.59 FUNCTIONS AND INFORMATION FLOWS FOR SERVICES IN THE ISDN Q.60Q.99 CLAUSES APPLICABLE TO ITU-T STANDARD SYSTEMS Q.100Q.119 SPECIFICATIONS OF SIGNALLING SYSTEMS No. 4, 5, 6, R1 AND R2 Q.120Q.499 DIGITAL EXCHANGES Q.500Q.599 INTERWORKING OF SIGNALLING SYSTEMS Q.600Q.699 SPECIFICATION
4、S OF SIGNALLING SYSTEM No. 7 Q.700Q.799 Q3 INTERFACE Q.800Q.849 DIGITAL SUBSCRIBER SIGNALLING SYSTEM No. 1 Q.850Q.999 PUBLIC LAND MOBILE NETWORK Q.1000Q.1099 INTERWORKING WITH SATELLITE MOBILE SYSTEMS Q.1100Q.1199 INTELLIGENT NETWORK Q.1200Q.1699 SIGNALLING REQUIREMENTS AND PROTOCOLS FOR IMT-2000 Q.
5、1700Q.1799 SPECIFICATIONS OF SIGNALLING RELATED TO BEARER INDEPENDENT CALL CONTROL (BICC) Q.1900Q.1999 BROADBAND ISDN Q.2000Q.2999 General aspects Q.2000Q.2099 Signalling ATM adaptation layer (SAAL) Q.2100Q.2199 Signalling network protocols Q.2200Q.2299 Common aspects of B-ISDN application protocols
6、 for access signalling and network signalling and interworking Q.2600Q.2699 B-ISDN application protocols for the network signalling Q.2700Q.2899 B-ISDN application protocols for access signalling Q.2900Q.2999 For further details, please refer to the list of ITU-T Recommendations. ITU-T Rec. Q.2111 (
7、1999)/Amd.3 (10/2003) i ITU-T Recommendation Q.2111 B-ISDN ATM adaptation layer Service specific connection oriented protocol in a multilink and connectionless environment (SSCOPMCE) Amendment 3 API for SSCOPMCE over Ethernet and UDP port number Summary This amendment specifies an Application Progra
8、mming Interface in C+ for the protocol engine described in ITU-T Rec. Q.2111 Annex E (SSCOP in a Multi-link and Connectionless Environment when operating over Ethernet). It also assigns the UDP port number for use with SSCOPMCE above UDP in arrangements as specified in Annexes C and D. This UDP port
9、 number may be used together with a port number out of the dynamic/private range (values from 49152 through 65535). Source Amendment 3 to ITU-T Recommendation Q.2111 (1999) was approved by ITU-T Study Group 11 (2001-2004) under the ITU-T Recommendation A.8 procedure on 14 October 2003. ii ITU-T Rec.
10、 Q.2111 (1999)/Amd.3 (10/2003) FOREWORD The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunications. The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical, oper
11、ating and tariff questions and issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis. The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topics for study by the ITU-T study groups which, in turn, p
12、roduce Recommendations on these topics. The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1. In some areas of information technology which fall within ITU-Ts purview, the necessary standards are prepared on a collaborative basis with ISO and IEC. NOTE In
13、this Recommendation, the expression “Administration“ is used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure e.g. i
14、nteroperability or applicability) and compliance with the Recommendation is achieved when all of these mandatory provisions are met. The words “shall“ or some other obligatory language such as “must“ and the negative equivalents are used to express requirements. The use of such words does not sugges
15、t that compliance with the Recommendation is required of any party. INTELLECTUAL PROPERTY RIGHTS ITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the eviden
16、ce, validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had received notice of intellectual property, protected by patents, which may be
17、required to implement this Recommendation. However, implementors are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database. ITU 2004 All rights reserved. No part of this publication may be reproduced, by any means whatsoever,
18、 without the prior written permission of ITU. ITU-T Rec. Q.2111 (1999)/Amd.3 (10/2003) iii CONTENTS Page 1) Clause 2.2 Bibliography 1 2) Clause 5.3 Modes of operation 1 3) Clause C.3.2.1 Description of the UDP upper interface 1 4) Clause D.3.2.1 Description of the UDP upper interface 1 5) Annex G 2
19、Annex G C+ API for SSCOPMCE over Ethernet 2 G.1 Introduction 2 G.2 Objectives of the Ethernet Databus API. 2 G.3 Overview of the Ethernet Databus API Implementation 2 G.4 Summary of C+ library definition 3 G.5 Description of C+ library definition. 5 ITU-T Rec. Q.2111 (1999)/Amd.3 (10/2003) 1 ITU-T R
20、ecommendation Q.2111 B-ISDN ATM adaptation layer Service specific connection oriented protocol in a multilink and connectionless environment (SSCOPMCE) Amendment 3 API for SSCOPMCE over Ethernet and UDP port number 1) Clause 2.2 Bibliography Add the following reference: 24 ISO/IEC 14882:2003, Progra
21、mming languages C+. 2) Clause 5.3 Modes of operation Modify the last sentence at the end of the paragraph immediately following Figure 2 and add another sentence to read: In addition, Annex F provides an Application Programming Interface (API) for SSCOPMCE over Ethernet, specified in Ada. Furthermor
22、e, Annex G provides an Application Programming Interface (API) for SSCOPMCE over Ethernet, specified in C+. 3) Clause C.3.2.1 Description of the UDP upper interface i) Modify “Source Port“ at the end and add another sentence to read: When present, the numeric value for SSCOPMCE above UDP is either “
23、VALUE TO BE ASSIGNED BY IANA“ or value out of the dynamic/private range (values from 49152 through 65535), according to the environment where SSCOPMCE is used. ii) Modify “Destination Port“ at the end and add another sentence to read: The numeric value for SSCOPMCE above UDP is either “VALUE TO BE A
24、SSIGNED BY IANA“ or value out of the dynamic/private range (values from 49152 through 65535), according to the environment where SSCOPMCE is used. 4) Clause D.3.2.1 Description of the UDP upper interface i) Modify “Source Port“ at the end and add another sentence to read: When present, the numeric v
25、alue for SSCOPMCE above UDP is either “VALUE TO BE ASSIGNED BY IANA“ or value out of the dynamic/private range (values from 49152 through 65535), according to the environment where SSCOPMCE is used. ii) Modify “Destination Port“ at the end and add another sentence to read: The numeric value for SSCO
26、PMCE above UDP is either “VALUE TO BE ASSIGNED BY IANA“ or value out of the dynamic/private range (values from 49152 through 65535), according to the environment where SSCOPMCE is used. 2 ITU-T Rec. Q.2111 (1999)/Amd.3 (10/2003) 5) Annex G Add new Annex G (API for SSCOPMCE over Ethernet) as follows:
27、 Annex G C+ API for SSCOPMCE over Ethernet G.1 Introduction Annex E specifies the deployment of SSCOPMCE on top of the connectionless service provided by IEEE 802.3 Ethernet networks. The primary driver for the configuration is to realize an open-systems databus for closed-loop systems. Applications
28、 can utilize the following services of SSCOPMCE through the SAP offered by the SSCF at the UNI 12: Unacknowledged transfer of data; Assured transfer of data; Transparency of transferred information; Establishment and release of connections for assured transfer of data. Whereas the main body of the R
29、ecommendation and Annex E contain the specifications necessary to develop a product based on an Ethernet network interface card, this annex specifies an application programming interface (API) to the SAP. The reason for specifying an API is to drive development tool and/or real-time operating system
30、 vendors to offer a standard, open and familiar interface for software developers to take advantage of the network capabilities offered by an Ethernet-based databus. G.2 Objectives of the Ethernet Databus API The Ethernet Databus API is relatively small and self-contained, allowing a programmer to a
31、ccess SSCOPMCE services when such services operate over an Ethernet datalink layer. Two objectives were used in designing an API: 1) The API should be based on the notion of sockets, which has been widely used in the majority of existing network APIs for desktop and real-time operating systems. Sock
32、ets essentially treat each network connection as a stream into which bytes can be written-to or read-from, allowing them to be an extension of familiar file I/O concepts. 2) The API should include provisions for exception-handling in order to manage run-time errors. G.3 Overview of the Ethernet Data
33、bus API Implementation The Ethernet Databus API is written in the C+ programming language. The choice of C+ is based on its growing use in aerospace and defense systems, one of the application areas driving the specification of Annex E. Consequently, a C+-based API will permit the migration of exist
34、ing system architectures toward an Ethernet-based databus. In addition, new system architectures may be based on it. Such an API will also offer a standard programming interface for use with an Ethernet-based databus. ITU-T Rec. Q.2111 (1999)/Amd.3 (10/2003) 3 The C+-based API defines the following
35、types (objects): EtherAddress: Represents an Ethernet address. EtherSocket: Implements a client-side socket that utilizes the assured data transfer capabilities of SSCOPMCE. Data is transported in one or more sequenced-data (SD) PDUs within Ethernet frames. EtherTag: Contains the attributes associat
36、ed with the 802.1 tag type 22. EtherServerSocket: Implements a server-side socket that utilizes the assured data transfer capabilities of SSCOPMCE. Data is transported in one or more sequenced-data (SD) PDUs within Ethernet frames. Datagram: Creates a datagram referring to an unnumbered user data (U
37、D) PDU. DatagramSocket: Creates a socket to send or receive a datagram. MulticastSocket: Creates a multicast socket to send or receive a datagram. Data is transported in one or more unnumbered user data (UD) PDUs. Multicast operation is based on the GARP Multicast Registration Protocol (GMRP) 21. Th
38、e fact that only a few types are defined is largely due to the streamlined mapping of protocol layers allowed in Annex E. From a definition viewpoint, these types, and the associated operations on these types, are contained in the package Ethernet Databus. A driver associated with a network interfac
39、e card must be compliant with it. From an implementation viewpoint, these types are designated as private, and, like the specification of associated operations, are outside the scope of this Recommendation. This has been done to allow flexibility in the implementation and evolution of the API. G.4 S
40、ummary of C+ library definition The following is a summary of the Ethernet Databus library: Library class EtherAddress public: char *addr; char *getOUI(); char *getLocal(); boolean isGroupAddress(); char *getHostAddress(); char *getAllHostAddresses(); ; class EtherTag public: EtherTag(int cos); Ethe
41、rTag(double vlan); EtherTag(int cos, boolean cfi, double vlan); int get_cos(); boolean get_cfi(); double get_vlan(); ; class EtherSocket 4 ITU-T Rec. Q.2111 (1999)/Amd.3 (10/2003) public: EtherSocket(const EtherAddress EtherSocket(const EtherAddress EtherSocket(const EtherAddress EtherSocket(const E
42、therAddress EtherAddress getEtherAddress(); int getPort(); int getLocalPort(); EtherAddress getLocalAddress(); istream ostream void close(); ; class EtherServerSocket public: EtherServerSocket(int port); EtherServerSocket(int port, int queueLength); EtherServerSocket(int port, int queueLength, const
43、 EtherAddress EtherSocket accept(); void close(); EtherAddress getEtherAddress(); int getLocalPort(); ; class Datagram public: / for receiving datagrams Datagram(unsigned char *buffer , int length); Datagram(unsigned char *buffer , int offset, int length); / for sending datagrams Datagram(unsigned c
44、har *data , int length, const EtherAddress Datagram(unsigned char *data , int offset, int length, const EtherAddress EtherAddress getAddress(); int getPort(); unsigned char *getData(); int getLength(); int getOffset(); setData(unsigned char *data); setData(unsigned char *data, int offset, int length
45、); void setAddress(const EtherAddress void setPort(int port); void setLength(int length); ; class DatagramSocket public: DatagramSocket(); DatagramSocket(int port); DatagramSocket(int port, const EtherAddress ITU-T Rec. Q.2111 (1999)/Amd.3 (10/2003) 5 DatagramSocket(int port, const EtherAddress void
46、 send(const Datagram void receive(const Datagram void close(); void getLocalPort(); void connect(const EtherAddress void disconnect(); int getPort(); EtherAddress getEtherAddress(); ; class MulticastSocket: public DatagramSocket public: MulticastSocket(); MulticastSocket(int port); void joinGroup(co
47、nst EtherAddress void leaveGroup(const EtherAddress void send(const Datagram void setInterface(const EtherAddress EtherAddress getInterface(); ; G.5 Description of C+ library definition The following is a detailed description of each of the classes and their associated member functions. G.5.1 class
48、EtherAddress This class represents an Ethernet address. class EtherAddress public: char *addr; char *getOUI(); char *getLocal(); boolean isGroupAddress(); char *getHostAddress(); char *getAllHostAddresses(); ; Variables addr char *addr; The six bytes of an Ethernet address, highest-order first. The
49、address is formatted as a string describing the bytes in hex notation, e.g., “347B0046A8CE“. Methods getOUI char *getOUI(); Returns the first three bytes of an Ethernet address: the Organizationally Universal Identifer. Returns: The OUI part of the address, as a string describing the bytes in hex notation, e.g., “347B00“. getLocal char *getLocal(); Returns the last three bytes of an Ethernet address: the locally assigned part. 6 ITU-T Rec. Q.2111 (