Anda di halaman 1dari 32

Sigtran Protocol

Course Objectives:
Understand the Sigtran Protocol

Contents
1 SIGTRAN.......................................................................................................................................................1 1.1 Principal Concept of Sigtran...................................................................................................................1 1.1.1 Structure of SIGTRAN.............................................................................................................1 1.1.2 Networking and Interconnection of SIGTRAN.......................................................................2 1.1.3 Applications of SIGTRAN in SG.............................................................................................5 1.2 Transport Layer Protocol........................................................................................................................9 1.2.1 Basic Concept of SCTP............................................................................................................9 1.2.2 SCTP Terms............................................................................................................................10 1.2.3 Functions of SCTP..................................................................................................................11 1.2.4 Message Units of SCTP..........................................................................................................14 1.2.5 Setup/Shutdown of the SCTP Association.............................................................................18 1.3 Signal Adaptation Protocol...................................................................................................................22 1.3.1 Functions of M3UA................................................................................................................22 1.3.2 Protocol Stack and Network Applications of M3UA.............................................................22 1.3.3 Message Units of M3UA........................................................................................................24 1.3.4 Concepts of AS and ASP........................................................................................................27 1.3.5 IUA.........................................................................................................................................27 1.3.6 M2UA.....................................................................................................................................28 1.3.7 M2PA......................................................................................................................................28 1.3.8 SUA........................................................................................................................................29

1 SIGTRAN
Key points Structure of SIGTRAN. Applications of SIGTRAN. SCTP. M3UA.

1.1 Principal Concept of Sigtran


1.1.1 Structure of SIGTRAN
SIGTRAN is used to transfer SS7 signaling in IP network. The standard primitive interface supported by the SIGTRAN does not require any modification to the application part of the SS7. It transfers SS7 signaling over standard IP transport protocol and adds functions to meet the transport requirements of the SS7 signaling. In terms of protocol structure, the SIGTRAN consists of three components: Standard IP transport protocol; Generic signaling transport protocol SCTP: It is a transfer protocol defined by the IETF for ensuring reliable transfer of IP signaling. SS7 adaptation sublayer: It is used to support specific primitive and ensure the interaction with the high layer of the SS7. The IETF defines these adaptation sublayers: M2UA, M2PA, M2UA, and SUA.

Fig. 1.1-1 Structure of SIGTRAN

The UDP offers reliable transmission and does not provide sequence control or connection acknowledgment; the TCP supports single data stream, does not provide multiple IP connections, and has a lower security. Therefore, the generic signaling transport protocol used in the SIGTRAN is stream control transmission protocol (SCTP) in stead of TCP or UDP. The SCTP ensures reliable transfer of signaling messages through the Multi-Homing and rerouting mechanisms. It also uses the MultiStreaming mechanism to ensure real-time signaling transfer, especially to avoid signaling congestion over high-delay links.

1.1.2 Networking and Interconnection of SIGTRAN


Signaling network is an important part of the mobile network. Bearing signaling over IP is the development trend of the signaling network. To construct the new generation signaling network to meet the requirements for the growth of subscriber base and the service innovation, it is required that the construction of the signaling network consider the operability, scalability, signaling routing, and network redundancy. Constructing the new generation IP signaling network based o the SIGTRAN technology will simplify the structure of the signaling network, increases the signaling capacity, reduce the signaling transfer cost, and promote the evolution to the all-IP network. The networking applications of the SIGTRAN include the application in the SG and the application in IPSTP. 1.1.2.1 Application of SIGTRAN in SG Currently multiple heterogeneous networks coexist. It is inevitable that various

Chapter 1 SIGTRAN

heterogeneous networks will be integrated. With the rapid development of the IP network, the NGN will take the IP network as the backbone and flexibly offer services in a unified manner based on the integration of various networks. Functionally, the NGN consists of four layers: service layer, control layer, transport layer, and access layer. The major function of the SG is to perform adaptation-layer conversion for the SS7 on the SCN side and the SIGTRAN o the IP side to transfer SS7 in the IP network. In this way, the SS7 network can interwork with the IP network. The SG is very important to the interworking of the SS7 and IP networks. On one hand, the SG performs adaptation for the signaling transferred in the SCN, in this way, the signaling can be transferred to the MGC as packets. On the other hand, the SG converts the signaling from the MGC, that is, to convert the signaling that is sent to the SG as IP packets; in this way, the signaling can be transferred in the SCN. The networking applications of the SG include the application in the SP agent and the STP. In the STP networking application, the SG need meet the networking applications of the IP network and need comply with the networking applications defined in the STP specifications. The SS7 network and IP network can be interworked in multiple networking modes by using the SG. The protocol processing mode that need be loaded to the SG depends on the networking mode.

Fig. 1.1-2 Interworking Based on Two SGs

The SIGTRAN also supports direct signaling transfer between two SGs.

TN_SP011_E1_0 Sigtran Protocol

Fig. 1.1-3 Two SGs with Different Function Levels

In the figure above, the two SGs have different function levels. SG1 adopts the M2UA/SCTP architecture. SG2 adopts the MTP3/M2UA/SCTP architecture at the SG1 side and the M3UA/SCTP architecture at the MGC side. The MGC also adopts the M3UA/SCTP architecture. Or:

Fig. 1.1-4 Two SGs with the Same Function Level

The two SGs have the same function level. The SIGTRAN on the SG and that on the IPSP adopt the M2PA/SCTP architecture.

Chapter 1 SIGTRAN

1.1.2.2 Application of SIGTRAN in IPSP or IPSTP

Fig. 1.1-5 SIGTRAN Used Between Two IPSPs

In this application, the SIGTRAN can adopt the SUA/SCTP, M3UA/SCTP, or M2PA/SCTP architecture. Note that M2UA and IUA cannot be used in this application; they can be used in the SG networking mode only.

1.1.3 Applications of SIGTRAN in SG


1.1.3.1 SG Running in M2UA Mode In the SG, the SS7 MTP is used to send and receive SS7 messages through the standard SS7 terminal and transfer SS7 messages from/to SP or STP. In other words, the SG acts as a signaling link terminal (SLT). To transfer MTP messages to the peer MGC or IPSP with MTP3, the SG provides the transfer function for the interworking with the IP signaling transport. In this application, the SG does not have the MTP3 function, so it is not an SS7 network node; it only performs conversion between the narrowband SS7 link and the IP SS7 link. Fig. 1.1 -6 shows how the SG transfers signaling messages (circuit-related call

connection control signaling messages or circuit-unrelated signaling messages) to an MGC or IPSP.

TN_SP011_E1_0 Sigtran Protocol

Fig. 1.1-6 SG Running in M2UA Mode

1.1.3.2 SG Running in M2PA Mode In this application, the SG has the MTP3 function; it is an SS7 network node and has a SS7 SPC. It does not directly map the signaling link to the IP link. Instead, it acts as an STP and can transfer MTP messages or relay higher-layer messages, or even act as an STP between the SS7 and IP networks. Fig. 1.1 -7 shows how the SG transfers signaling messages (circuit-related call

connection control signaling messages or circuit-unrelated signaling messages) to an MGC or IPSP. In this application, the SCN node need know the SPC of the MGC or IPSP and the SPC of the SG acting as an STP.

SCCP (Optional)

Fig. 1.1-7 SG Running in M2PA Mode

1.1.3.3 SG Running in M3UA Mode (Without the SCCP Function) In this application, upon receiving a signaling message from the narrowband SS7
6

Chapter 1 SIGTRAN

network or the IP network, the SG transfers it to the MTP3 or M3UA, and then transfers it through the nodal interworking function (NIF) according to the DPC or IP address.

Fig. 1.1-8 SG Running in M3UA Mode (Without the SCCP Function)

1.1.3.4 SG Running in M3UA Mode (With the SCCP Function) In this application, upon receiving a signaling message from the narrowband SS7 network or the IP network, the SG transfers it to the SCCP. After the SCCP completes the address translation, it transfers the message to the MTP3 or M3UA. Then the SG transfers the message through the NIF according to the DPC or DPC/OPC/NI/CIC (SCCP_SSN). The SG contains the SCCP protocol layer that can implement GT translation (GTT). If the message is from the SS7 network, it is routed to the SCCP in the SG. The SCCP implements GTT. In the results of the GTT, the DPC or DPC/SSN points to the IP domain. To route the message to the destination IP domain, the SCCP sends the MTPTransfer request primitive to the NAT and mapping functions of the local M3UA. Similarly, if the message is from the IP domain, the message is routed to the SCCP layer of the SG. The SCCP implements GTT. In the result of the GTT, the DPC or DPC/SSN points to the SS7 network. To route the message to the destination SS7 network, the SCCP sends the MTP-Transfer request primitive to the local MTP3.

TN_SP011_E1_0 Sigtran Protocol

Fig. 1.1-9 SG Running in M3UA Mode (with the SCCP Function)

1.1.3.5 SG Running in SUA Mode In this application, upon receiving a signaling message from the narrowband SS7 network, the SG transfers it to the SCCP. After the SCCP analyzes the address, the SG transfers the message to the SUA through the NIF. The SUA resolves the destination IP address according to the GTT or the address list, encapsulates the corresponding information in the SCTP message, and then sends the message to the association. After the SG receives a message from the IP network, the SUA extracts the user data from the SCTP and then transfers the data to the SCCP through the NIF. After that, the SCCP implements GTT and DPC mapping.

Chapter 1 SIGTRAN

Fig. 1.1-10 SG Running in SUA Mode

1.2 Transport Layer Protocol


1.2.1 Basic Concept of SCTP
The SCTP is a reliable data gram transfer protocol based on an unreliable transfer protocol (for example, IP). The SCTP is designed to transfer SCN narrowband signaling messages over the IP network. Actually the SCTP is a connection-oriented protocol, but the concept of the SCTP association is broader than that of the TCP connection. The SCTP makes some improvements based on the TCP to ensure more reliable signaling transfer. The SCTP provides congestion control, resistance to flooding and masquerade attacks, higher real-time performance, and support for multi-homing. The SCTP is considered as a transmission-layer protocol. Its upper layer acts as the SCTP user application, and its lower layer acts as the packet-based network. In the application of the SIGTRAN, the upper-layer user of the SCTP is the adaptation module of the SCN signaling (for example, M2UA or M3UA), and the lower layer is the IP network. The SCTP creates an association between two SCTP endpoints for reliable message transfer between two SCTP users. It also provides a method for setting up associations for a group of transport addresses between two SCTP endpoints. Through these associations, the SCTP endpoints can transfer SCTP packets. One SCTP association may contain multiple possible combinations of source and destination addresses. These combinations are included in the transport address list of each endpoint. The SCTP has the following features: Packet-based transfer; Supporting sequenced or unsequenced transfer of user datagrams within the stream; Establishing multiple streams within an association, and the transfer of the data between the streams is independent; Supporting multi-homing at either or both ends of the association to improve the reliability of the association;
9

TN_SP011_E1_0 Sigtran Protocol

Using COOKIE authentication to ensure the security of the association setup; Real-time path fault test function.

SCTP user

SCTP user

SCTP layer IP layer SCTP endpoint A One or more IP addresses Network transfer

SCTP layer IP layer SCTP endpoint B

Fig. 1.2-11 Structure of SCTP

1.2.2 SCTP Terms


1. Transport address The SCTP transport address is an IP address plus an SCTP port number. As with the TCP port number, the SCTP port number is used to identify the users of the same address. For example, IP address 10.105.28.92 and SCTP port number 1024 identify a transport address; while 10.105.28.93 and 1024 identify another transport address. Similarly, 10.105.28.92 and 1023 identify a different transport address. 2. Host and endpoint Host is a computer. It is configured with one or more IP addresses. It is a typical physical entity. Endpoint is the basic logical concept of the SCTP. It refers to the logic sender/receiver of the datagrams. It is a typical logical entity. The SCTP specifies that only one association may exist between two endpoints and that one host may have multiple endpoints. 3. Association and stream Association refers to the logical relationship or channel set up through four-way handshake for transferring data. Stream is a featured term in the SCTP. Strictly speaking, "stream" is a
10

Chapter 1 SIGTRAN

unidirectional logical channel from an endpoint to another endpoint in an SCTP association. The data requiring sequenced transfer must be transferred within a stream. One association may contain multiple streams. 4. TSN and SSN TSN stands for transmission sequence number. In the SCTP, an end of the association allocates a 32-bit sequence based on the initial TSN for the sequence of each chunk sent at the end. In this way, the opposite can confirm the sequence after receiving a chunk. The TSN is maintained based on the association. SSN stands for stream sequence number. In each stream of an SCTP association, a 16-bit sequence number is allocated for each chunk sent at the local end to ensure the sequenced delivery of chunks within the stream. The SSN is maintained based on the stream. TSN and SSN are independently allocated. 5. Others Congestion window (CWND): The SCTP is also a sliding window protocol. The CWND is maintained based on each destination address. It will be adjusted according to the network condition. If the length of the unacknowledged messages sent to the destination address exceeds the CWND, the endpoint will stops sending data to the address. Receiver window (RWND): The RWND describes the size of the receiving buffer of the opposite end of an association. During the setup of an association, both parties exchange their own RWNDs. The RWND changes in real time with the state of data sending and acknowledgement. The size of the RWND limits the size of the data that can be sent by the SCTP. If RWND is 0, the SCTP still can send one datagram to know the change to the buffer through the acknowledgement message until the CWND is hit.

1.2.3 Functions of SCTP


Fig. 1.2 -12 shows the functions of the SCTP.

11

TN_SP011_E1_0 Sigtran Protocol

Upper-layer protocol SCTP user (M3UA,SUA...) Sequenced delivery User data fragmentation functions Acknowledgement and congestion avoidance Chunk bundling Packet validation Path management IP layer SCTP

Association startup and

takedown

Fig. 1.2-12 Functions of the SCTP

Association startup and takedown An association is initiated by a request from the SCTP user. A cookie mechanism is employed during the initialization to provide protection against security attacks. SCTP provides for graceful close (i.e., shutdown) of an active association on request from the SCTP user. SCTP also allows ungraceful close (i.e., abort), either on request from the user or as a result of an error condition detected within the SCTP layer.

Sequenced delivery within streams The term "stream" is used in SCTP to refer to a sequence of user messages that are to be delivered to the upper-layer protocol in order with respect to other messages within the same stream. The SCTP user can specify at association startup time the number of streams to be supported by the association. This number is negotiated with the remote end. User messages are associated with stream numbers. Internally, SCTP assigns a stream sequence number to each message passed to it by the SCTP user. On the receiving side, SCTP ensures that messages are delivered to the SCTP user in sequence within a given stream. However, while one stream may be blocked
12

Chapter 1 SIGTRAN

waiting for the next in-sequence user message, delivery from other streams may proceed. SCTP provides a mechanism for bypassing the sequenced delivery service. User messages sent using this mechanism are delivered to the SCTP user as soon as they are received. User data fragmentation When needed, SCTP fragments user messages to ensure that the SCTP packet passed to the lower layer conforms to the path MTU. On receipt, fragments are reassembled into complete messages before being passed to the SCTP user. Acknowledgement and congestion avoidance SCTP assigns a Transmission Sequence Number (TSN) to each user data fragment or unfragmented message. The TSN is independent of any stream sequence number assigned at the stream level. The receiving end acknowledges all TSNs received, even if there are gaps in the sequence. In this way, reliable delivery is kept functionally separate from sequenced stream delivery. The acknowledgement and congestion avoidance function is responsible for packet retransmission when timely acknowledgement has not been received. Packet retransmission is conditioned by congestion avoidance procedures similar to those used for TCP. Chunk bundling The SCTP packet as delivered to the lower layer consists of a common header followed by one or more chunks. Each chunk may contain either user data or SCTP control information. The SCTP user has the option to request bundling of more than one user messages into a single SCTP packet. The chunk bundling function of SCTP is responsible for assembly of the complete SCTP packet and its disassembly at the receiving end. During times of congestion an SCTP implementation may still perform bundling even if the user has requested that SCTP not bundle. The user's disabling of bundling only affects SCTP implementations that may delay a small period of time before transmission Packet validation A mandatory Verification Tag field and a 32 bit checksum field are included in
13

TN_SP011_E1_0 Sigtran Protocol

the SCTP common header. The Verification Tag value is chosen by each end of the association during association startup. Packets received without the expected Verification Tag value are discarded, as a protection against blind masquerade attacks and against stale SCTP packets from a previous association. The Adler32 checksum should be set by the sender of each SCTP packet to provide additional protection against data corruption in the network. The receiver of an SCTP packet with an invalid Adler-32 checksum silently discards the packet. Path management The sending SCTP user is able to manipulate the set of transport addresses used as destinations for SCTP packets. The SCTP path management function chooses the destination transport address for each outgoing SCTP packet based on the SCTP user's instructions and the currently perceived reachability status of the eligible destination set. The path management function monitors reachability through heartbeats when other packet traffic is inadequate to provide this information and advises the SCTP user when reachability of any far-end transport address changes. The path management function is also responsible for reporting the eligible set of local transport addresses to the far end during association startup, and for reporting the transport addresses returned from the far end to the SCTP user. At association start-up, a primary path is defined for each SCTP endpoint, and is used for normal sending of SCTP packets. On the receiving end, the path management is responsible for verifying the existence of a valid SCTP association to which the inbound SCTP packet belongs before passing it for further processing.

1.2.4 Message Units of SCTP


1.2.4.1 Format of the SCTP Packet An SCTP packet is composed of a common header and chunks. A chunk contains either control information or user data. Multiple chunks can be bundled into one SCTP packet up to the MTU size, except for the INIT, INIT ACK, and SHUTDOWN COMPLETE chunks. These chunks must not be bundled with any other chunk in a packet. Of course, it is acceptable if the chunks are not bundled with any other chunk in a packet. If a user data message doesn't fit into one SCTP packet it can be fragmented into multiple chunks. Fig. 1.2 -13 shows the SCTP packet format.
14

Chapter 1 SIGTRAN

Common header Chunk #1

Chunk #n

Fig. 1.2-13 Format of the SCTP Packet

1.2.4.2 Format of the SCTP Common Packet Header Fig. 1.2 -14 shows the format of the SCTP common packet header.

Source port number Verification tag Checksum

Destination port number

Fig. 1.2-14 Format of the SCTP Common Packet Header

Source port number: This is the SCTP sender's port number. It can be used by the receiver in combination with the source IP address, the SCTP destination port and possibly the destination IP address to identify the association to which this packet belongs. Destination port number: This is the SCTP port number to which this packet is destined. The receiving host will use this port number to de-multiplex the SCTP packet to the correct receiving endpoint/application. Verification tag: The receiver of this packet uses the Verification Tag to validate the sender of this SCTP packet. On transmit, the value of this Verification Tag must be set to the value of the Initiate Tag received from the peer endpoint during the association initialization, with the following exceptions: A packet containing an INIT chunk must have a zero Verification Tag. An INIT chunk must be the only chunk in the SCTP packet carrying it. A packet containing a SHUTDOWN-COMPLETE chunk with the T-bit set must
15

TN_SP011_E1_0 Sigtran Protocol

have the Verification Tag copied from the packet with the SHUTDOWN-ACK chunk. A packet containing an ABORT chunk may have the verification tag copied from the packet which caused the ABORT to be sent. Checksum: This field contains the checksum of the SCTP packet. 1.2.4.3 Format of the Chunk Fig. 1.2 -15 shows the field format of the chunks in the SCTP packet. Each chunk is formatted with a Chunk Type field, a chunk-specific Flag field, a Chunk Length field, and a Value field.

Chunk type

Chunk flag

Chunk length

Chunk value

Fig. 1.2-15 Format of the Data Block

Chunk Type: This field identifies the type of information contained in the Chunk Value field. It takes a value from 0 to 254. The value of 255 is reserved for future use as an extension field. The values of Chunk Types are defined as follows: 1. 2. 3. 4. 5. 6. 7. 8. 9. Payload Data (DATA) Initiation (INIT) Initiation Acknowledgement (INIT ACK) Selective Acknowledgement (SACK) HeartBeat Request (HEARTBEAT) HeartBeat Authentication (HEARTBEAT ACK) Abort (ABORT) Shutdown (SHUTDOWN) Shutdown Acknowledgement (SHUTDOWN ACK)
16

Chapter 1 SIGTRAN

10. Operation Error (ERROR) 11. State Cookie (COOKIE ECHO) 12. Cookie Acknowledgement (COOKIE ACK) 13. Reserved for Explicit Congestion Notification Echo (ECNE) 14. Reserved for Congestion Window Reduced (CWR) 15. Shutdown Complete (SHUTDOWN COMPLETE) 16~255 Reserved by the IETF or IETF-defined Chunk Extensions

Chunk Types are encoded such that the highest-order two bits specify the action that must be taken if the processing endpoint does not recognize the Chunk Type. 00: Stop processing this SCTP packet and discard it, do not process any further chunks within it. 01: Stop processing this SCTP packet and discard it, do not process any further chunks within it, and report the unrecognized parameter in an "Unrecognized Parameter Type" in an ERROR Chunk. 10: Skip this chunk and continue processing. 11: Skip this chunk and continue processing, but report in an ERROR Chunk using the Unrecognized Chunk Type' cause of error. Chunk Flag: The usage of these bits depends on the chunk type as given by the Chunk Type. Unless otherwise specified, they are set to zero on transmit and are ignored on receipt. Chunk Length: This value represents the size of the chunk in bytes including the Chunk Type, Chunk Flags, Chunk Length, and Chunk Value fields. Therefore, if the Chunk Value field is zero-length, the Length field will be set to 4. The Chunk Length field does not count any padding bytes. Chunk Value: The Chunk Value field contains the actual information to be transferred in the chunk. The usage and format of this field depends on the Chunk Type. The total length of a chunk (including Type, Length and Value fields) must be a multiple of 4 bytes. If the length of the chunk is not a multiple of 4 bytes, the sender must pad the chunk with all zero bytes and this padding is not included in the chunk length field. The sender should never pad with more than 3 bytes. The receiver must
17

TN_SP011_E1_0 Sigtran Protocol

ignore the padding bytes. Except the last parameter, the padding bytes in all other parameters need be counted in the chunk length. 1.2.4.4 Format of the Variable Length Parameter Chunk values of SCTP control chunks consist of a chunk-type-specific header of required fields, followed by zero or more parameters. The optional and variable-length parameters contained in a chunk are defined in a Type-Length-Value format as shown in Fig. 1.2 -16.

Parameter type Parameter value

Parameter length

Fig. 1.2-16 Format of the Variable Length Parameter

1.2.5 Setup/Shutdown of the SCTP Association


The SCTP is a connection-oriented reliable transmission-layer protocol. Its protocol procedures include association setup, association shutdown, data transfer and acknowledgement, congestion control mechanism, and path management mechanism. Association setup: The SCTP association is set up through four-way handshake, namely, four message interactions: INIT, INIT ACK, COOKIE ECHO, COOKIE ACK. See Fig. 1.2 -17.

18

Chapter 1 SIGTRAN

Endpoint A
build TCB INIT [I-Tag=Tag_A & other info] Start T1-init timer Enter COOKIE-WAIT state Cancel T1-init timer COOKIE ECHO [COOKIE_Z] Start T1-init timer Enter COOKIE-ECHOED state

Endpoint B
{app sets association with Z}
Compose temp TCB and Cookie_Z INIT ACK [Veri Tag=Tag_A 1-Tag=Tag_Z Cookie_Z, & other info destroy temp TCB] build TCB, enter ESTABLISHED state COOKIE-ACK

Cancel T1-init timer, enter ESTABLISHED state DATA [TSN=initial TSN_A, Strm=0,Seq=1 & user data] Start T3-rtx timer Cancel T3-rtx timer

{app sends 2 messages;strm 0}

SACK [TSN Ack=init TSN_Z, Block=0]

{app sends 1st user data; strm 0}


DATA [TSN=init TSN_Z, Strm=0,Seq=1 & user data 1]

SACK [TSN Ack=init TSN_Z, Block=0]

DATA [TSN=init TSN_Z +1, Strm=0,Seq=2 & user data 2]

Fig. 1.2-17 Association Setup

1.

The association initiator first creates a transfer control block (TCB) to describe the association to the initiated (including basic information about the association), and then sends the INIT message to the opposite end. In general, the INIT message carries one or more local IP addresses (if no local IP address is carried, the opposite end takes the source address from which the INIT message is sent as the address of the endpoint). In the common header, the Verification Tag is set to zero because the Tag of the opposite end is unknown. The message must carry the local Tag and the expected inbound streams and outbound streams. After sending the message, the initiator starts an INIT timer to wait for the INIT ACK message from the opposite end. If the timer expires, the initiator retransmits INIT until the allowed retransmission times is hit. After taking these actions, the initiator enters the COOKIE-WAIT state.

.Upon receiving the INIT message, the association receiver generates a Tag and puts it in the INIT ACK message as the initial Tag of the local end. After that, it generates a temporary TCB according to the basic information about the
19

TN_SP011_E1_0 Sigtran Protocol

association. After generating the TCB, the receiver calculates an 32-bit message authentication code (MAC) based on the necessary information in the TCB (including the time stamp generated by COOKIE and the lifespan of the COOKIE) and a local secret key by using the algorithm described in RFC240 (this calculation is not reversible). After that, the receiver combines the necessary information and the MAC to generate the STATE COOKIE parameter, and then put the parameter in the INIT ACK message. The Verification Tag in the common header of the INIT ACK message is set to the value of the initial Tag in the INIT message. In general, the INIT ACK message also carries local address, inbound streams, and outbound streams. The receiver sends INIT ACK to the opposite end and deletes the temporary TCB (in this way, the receiver does not keep any resources for the association). 3. Upon receiving INIT ACK, the association initiator stops the INIT timer. Then it updates its TCB with the information obtained from INIT ACK. After that, the initiator generates the COOKIE ECHO message to return the STATE COOKIE (unaltered) in INIT ACK to the receiver. Then it starts the COOKIE timer, and its state transits to COOKIE-ECHOED. 4. Upon receiving the COOKIE ECHO message, the receiver authentications the COOKIE. It calculates the MAC based on the TCB in the STATE COOKIE and the local secrete key by using the MAC algorithm described in RF2401. Then, it compares the calculated MAC with the MAC carried in the STATE COOKIE. If they are different, the receiver discards the message. If they are the same, the receiver extracts the time stamp of the TCB, and then compares it with the current time to check whether the lifespan of the TCB has expired. If yes, the receiver also discards the message; otherwise it sets up an association to the opposite end according to the information in the TCB. After that, the receiver enters the ESTABLISHED state and returns the COOKIE ACK message. 5. Upon receiving the COOKIE ACK message, the initiator stops the COOKIE timer, and its state transits to ESTABLISHED. Now the association is set up. Association shutdown: The SCTP provides two methods for shutting down associations: GRACEFUL and UNGRACEFUL. With the former method, the association will be terminated only after the peer acknowledges all the SCTP packets sent. With the later method, the association is directly terminated, and the current SCTP packets are discarded.
20

Chapter 1 SIGTRAN

GRACEFUL: The shutdown of an association involves three-way handshake: 1. The termination initiator sends a GRACEFUL association termination request to the SCTP. The state of the SCTP association transits from ESTABLISHED to SHUTDOWN-PENDING. At the SHUTDOWN-PENDING state, the SCTP does not accept any request for sending data over the association from the upper layer and waits for the opposite end to acknowledge all the packets sent by the local end. 2. After all the packets sent by the local end are acknowledged, the SCTP sends the SHUTDOWN message to the opposite end, and its state transits to SHUTDOWN-SENT. The SCTP starts the SHUTDOWN timer to wait for the SHUTDOWN-ACK message from the opposite end. In this state, the packets received from opposite end are acknowledged immediately. 3. After the opposite end receives the SHUTDOWN message, its state transits to SHOUTDOWNREVD, and the opposite end no longer accepts any request for sending data over the association from the upper layer. After all the packets sent by the local end are acknowledged, the opposite sends the SHUTDOWN ACK message and starts the SHUTDOWN timer to wait for the SHUTDWON COMPLETE message. 4. Upon receiving the SHUTDOWN ACK message, the termination initiator stops the SHUTDOWN timer, sends SHUTDOWN COMPLETE to the opposite end, and then deletes the TCB of the association. 5. Upon receiving the SHUTDOWN COMPLETE message, the opposite end deletes the TCB of the association. UNGRACEFUL: Such association shutdown is simple because it does not consider the data security. 1. 2. The initiator sends the ABORT message. Upon receiving the message, the receiver immediately deletes the TCB of the association. After the opposite end receives the ABORT message, it also deletes the TCB of the association immediately.

21

TN_SP011_E1_0 Sigtran Protocol

1.3 Signal Adaptation Protocol


1.3.1 Functions of M3UA
The MTP3 user adaptation layer (M3UA) protocol conducts conversion between SPCs and IP addresses. It is used for the SS7 signaling transfer between the Softswitch and the SG. It supports transferring the MTP3 user messages over the IP network, including ISUP, TUP, and SCCP messages. The M3UA provides the following functions: Transferring MTP3 user messages. Local management. Interworking with the MTP3 network management function. Managing associations between SGP and ASP. Managing the connections to multiple SGPs.

1.3.2 Protocol Stack and Network Applications of M3UA


1.3.2.1 Structure of M3UA

MTP3-user

Fig. 1.3-18 Structure of M3UA

22

Chapter 1 SIGTRAN

1.3.2.2 Structure of the M3UA Network

Host 1

Host 3

Host 2

Host 4

SCTP association

Fig. 1.3-19 Structure of the M3UA Network

1.3.2.3 Application of M3UA in SG

Fig. 1.3-20 Application of M3UA in SG

23

TN_SP011_E1_0 Sigtran Protocol

1.3.2.4 Application of M3UA Between IPSPs

SCCP user

SCCP user

Fig. 1.3-21 Application of M3UA Between IPSPs

1.3.3 Message Units of M3UA


The M3UA contains a common header, followed by 0 or multiple parameters by the message type. Considering the backward compatibility, all types of messages contain the compatibility parameters. 1.3.3.1 Common Message Header of M3UA

Version

Reserved

Message class

Message type

Message length

Fig. 1.3-22 Common Message Header of M3UA

The M3UA message contains the adaptation layer version, the message type, message length, and message content. The message header is common to M3UA messages. Protocol version: The version field contains the M3UA version. The supported version is as follows: value : 00000001; version: Release 1.0 protocol. Message class and message type: The table below lists the message classes and message types defined in M3UA.
24

Chapter 1 SIGTRAN

Table 1.3-1 M3UA Message Types Message Type Management (MGMT ) Messages Transfer Messages SS7 Signaling Network Management (SSNM) Messages ASP State Maintenance (ASPSM) Messages ASP Traffic Maintenance (ASPTM) Messages Reserved for other SIGTRAN adaptation layers Reserved for other SIGTRAN adaptation layers Reserved for other SIGTRAN adaptation layers Reserved for other SIGTRAN adaptation layers Routing Key Management (RKM) Messages Reserved by IETF
Reserved for IETF-Defined Message Class Extensions

Message Type Code (in Hex.) 00 01 02 03 04 05 06 07 08 09 0A-7F 80-FF

Table 1.3-2 M3UA Management (MGMT) Messages Message Type Error (ERR Notify (NTFY) Reserved by IETF Reserved for IETF-defined MGMT extensions 00 01 02-7F 80-FF Message Type Code (in Hex.)

Table 1.3-3 M3UA Transfer Messages Message Type Reserved Data (DATA) Reserved by IETF 00 01 02-7F Message Type Code (in Hex.)

Table 1.3-4 SS7 Signaling Network Management (SSNM) Messages Message Type Destination Unavailable (DUNA) Destination Available (DAVA) Destination State Audit (DAUD) SS7 Network Congestion (SCON) 25 01 02 03 04 Message Type Code (in Hex.)

TN_SP011_E1_0 Sigtran Protocol

Destination User Part Unavailable (DUPU) Destination Restricted (DRST) (not used for the time being) Reserved by IETF Reserved for IETF-defined SSNM Extensions

05 06 7-7F 80-FF

Table 1.3-5 M3UA ASP State Maintenance (ASPSM) Messages Message Type Reserved ASP Up (ASPUP) ASP Down (ASPDN) Heartbeat (BEAT) ASP Up Ack (ASPUP ACK) ASP Down Ack (ASPDN ACK) Heartbeat Ack (BEAT ACK) Reserved by IETF Reserved for IETF-defined ASPSM Extensions 00 01 02 03 04 05 06 7-7F 80-FF Message Type Code (in Hex.)

Table 1.3-6 M3UA ASP Traffic Maintenance (ASPTM) Messages Message Type Reserved ASP Active (ASPAC) ASP Inactive (ASPIA) ASP Active Ack (ASPAC ACK) ASP Inactive Ack (ASPIA ACK) Reserved by IETF Reserved for IETF-defined ASPTM Extensions 00 01 02 03 04 5-7F 80-FF Message Type Code (in Hex.)

Table 1.3-7 M3UA Routing Key Management (RKM) Messages Message Type Reserved Registration Request (REG REQ) Registration Response (REG RSP) Deregistration Request (DEREG REQ) Deregistration Response (DEREG RSP) 00 01 02 03 04 Message Type Code (in Hex.)

26

Chapter 1 SIGTRAN

Reserved by IETF Reserved for IETF-defined RKM Extensions

5-7F 80-FF

Message length: The message length field indicates the length of the octets in the message. It is contained in the message header. If the last parameter in the message contains any padding bytes, the padding bytes shall also be counted in the message length. 1.3.3.2 Format of the Parameter

Parameter tag

Parameter length

Parameter value

Fig. 1.3-23 Parameter Format of M3UA

Where more than one parameter is included in a message, the parameters may be in any order, except where explicitly mandated. A receiver should accept the parameters in any order. The Tag field is a 16-bit identifier of the type of parameter. It takes a value of 0 to 65534. Common parameters used by adaptation layers are in the range of 0x00 to 0x3f. M3UA-specific parameters have Tags in the range 0x0200 to 0x02ff.

1.3.4 Concepts of AS and ASP


Application server (AS): A logical entity serving a specific application entity. For example, the MGC implementing call processing can be treated as an AS. In the application, the AS can be treated as one service or the combination of multiple services at the SG side. One AS may contain multiple application server processes (ASPs). These ASPs can be distributed on different network devices and cooperate with each other in three modes: override, loadshare, and broadcast.Other SIGTRAN Protocols

1.3.5 IUA
ISDN user application layer (IUA): The endpoint in the IP network still keeps the interface between Q.921 and Q.931. The SG uses the IUA protocol for the interworking between the SCN and the IP. The IUA can only be used for the interworking between
27

TN_SP011_E1_0 Sigtran Protocol

the SCN signaling and the IP; it cannot be used for the interworking between two IP network nodes. The IUA provides the following functions: Supporting the boundary interface between the Q.921 and Q.931 for transferring Q.931 messages. Managing the communications between the SG and the MGC. Managing the associations between the SG and the MGC. Mapping the association streams between the SG and the MGC.

1.3.6 M2UA
The MTP2 user adaptation layer (M2UA) terminates the MTP2 at the edge SG of the packet-based network, and transparently transfers MTP2 user messages (MTP3 messages) to the MTP3 in the packet-based network. The SP in the IP network still keeps the interface between the MTP2 and MTP3. The M2UA converts the MTP2/MTP3 interface primitive to corresponding message and then transfers it over the IP network through SCTP connection. After arriving at the opposite end, the M2UA message is converted to the corresponding MTP2/MTP3 interface primitive and then sent to the MTP3. The SG uses the M2UA protocol for the interworking between the SCN signaling and the IP. The M2UA can only be used for the interworking between the SCN signaling and the IP; it cannot be used for the interworking between two IPSPs in the IP network. The M2UA provides the following functions: Supporting the boundary interface between the MTP2 and MTP3 Managing the communications between the SG and the MGC. Managing the associations between the SG and the MGC. Mapping the association streams between the SG and the MGC.

1.3.7 M2PA
M2PA is used to support the operations between the peer layers of the MTP3 in the IP network, support the boundary interface between the MTP2 and MTP3, support the message transfer through the SCTP association, implement the MTP2 link function, and report the change to the management status. It is used to connect IPSPs or connect
28

Chapter 1 SIGTRAN

IPSP and SG for transferring MTP3 messages. The major function of the M2PA is to provide message transfer link for MTP3. The SCTP can provide sequenced transport function, so the M2PA need not offer such function; it only need implement the functions related to the link status control. It can be understood in this way: The M2PA/SCTP/IP protocol structure replaces the MTP2/MTP1 protocol structure in the IP domain without affecting the MTP3, and the MTP2A works with the SCTP to implement the MTP2 function. The functions of the M2PA are similar to those of MTP2, including link initial alignment, user data transfer, link-level traffic control, processor fault control, and so on. However, these functions of the MTP2 are cancelled: message delimitation, error check, error rate monitoring, and retransmission control. To work with the SCTP to provide reliable sequenced message transfer, the M2PA maps each link to an SCTP association. That is to say, the M2PA maintains mapping table of the signaling link codes (SLCs) in the link set and the associations. The link states of the M2PA are the same as those of the MTP2, including Idle, Out of Service, Aligned, Not Aligned, Proving, In Service, and so on. There are two types of M2PA signal units: message signal unit (MSU) and link status signal unit (LSSU). Compared with the MTP2, the M2PA does not have the fill-in signal unit (FISU).

1.3.8 SUA
The SUA defines how to transfer SCCP user messages between two SPs through IP. It can be used by the SG for the interworking between the SS7 and IP; it can also be used for the interworking between two IPSPs in the IP network. The SUA provides the following functions: Transferring the SCCP user messages, including TCAP messages and RANAP messages. Supporting SCCP connectionless service. Supporting SCCP connection-oriented service. Supporting the seamless operations between the peer layers of the SCCP user protocol. Supporting address translation and mapping.
29

TN_SP011_E1_0 Sigtran Protocol

Managing the communications between the SG and the MGC. Managing the associations between the SG and the MGC. Mapping the association streams between the SG and the MGC.

30

Anda mungkin juga menyukai