Download - TN_SP011_E1_0 Sigtran Protocol-34.doc
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
1/32
Sigtran Protocol
Course Objectives:
Understand the Sigtran Protocol
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
2/32
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
i
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
3/32
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.
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
4/32
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 Multi-Streaming 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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
5/32
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.
3
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
6/32
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 theIPSP adopt the M2PA/SCTP architecture.
4
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
7/32
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.
5
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
8/32
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 anMGC 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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
9/32
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 MTP-
Transfer 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.
7
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
10/32
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.
8
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
11/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
12/32
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 layer
IP layer One or more IP addresses
Network transferSCTP endpoint A SCTP endpoint B
SCTP user
SCTP layer
IP layer
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
13/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
14/32
TN_SP011_E1_0 Sigtran Protocol
Upper-layer protocol
SCTP user (M3UA,SUA...)
Sequenced delivery
User data fragmentation
Acknowledgement and congestion avoidance
Chunk bundling
Associationstartupand
takedown
Path management
SCTP
functions
IP layer
Packet validation
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
15/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
16/32
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 Adler-
32 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 choosesthe 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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
17/32
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 Destination port number
Verification tag
Checksum
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
18/32
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. Payload Data (DATA)
2. Initiation (INIT)
3. Initiation Acknowledgement (INIT ACK)
4. Selective Acknowledgement (SACK)
5. HeartBeat Request (HEARTBEAT)
6. HeartBeat Authentication (HEARTBEAT ACK)
7. Abort (ABORT)
8. Shutdown (SHUTDOWN)
9. Shutdown Acknowledgement (SHUTDOWN ACK)
16
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
19/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
20/32
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 length
Parameter value
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
21/32
Chapter 1 SIGTRAN
Endpoint A Endpoint B
{app sets association with Z}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
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
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
{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]
DATA [TSN=init TSN_Z +1,
Strm=0,Seq=2 & user data 2]SACK [TSN Ack=init
TSN_Z, Block=0]
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 messagemust 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.
2 .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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
22/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
23/32
Chapter 1 SIGTRAN
GRACEFUL: The shutdown of an association involves three-way handshake:
1. The termination initiator sends a GRACEFUL association termination request tothe 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 theSHUTDOWN-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. The initiator sends the ABORT message.
2. 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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
24/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
25/32
Chapter 1 SIGTRAN
1.3.2.2 Structure of the M3UA Network
Host 2
Host 1 Host 3
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
26/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
27/32
Chapter 1 SIGTRAN
Table 1.3-1 M3UA Message Types
Message Type Message Type Code (in Hex.)Management (MGMT ) Messages 00
Transfer Messages 01
SS7 Signaling Network Management (SSNM) Messages 02
ASP State Maintenance (ASPSM) Messages 03
ASP Traffic Maintenance (ASPTM) Messages 04
Reserved for other SIGTRAN adaptation layers 05
Reserved for other SIGTRAN adaptation layers 06
Reserved for other SIGTRAN adaptation layers 07
Reserved for other SIGTRAN adaptation layers 08
Routing Key Management (RKM) Messages 09
Reserved by IETF 0A-7F
Reserved for IETF-Defined Message Class Extensions 80-FF
Table 1.3-2 M3UA Management (MGMT) Messages
Message Type Message Type Code (in Hex.)
Error (ERR 00
Notify (NTFY) 01
Reserved by IETF 02-7F
Reserved for IETF-defined MGMT
extensions80-FF
Table 1.3-3 M3UA Transfer Messages
Message Type Message Type Code (in Hex.)
Reserved 00
Data (DATA) 01
Reserved by IETF 02-7F
Table 1.3-4 SS7 Signaling Network Management (SSNM) Messages
Message Type Message Type Code (in Hex.)
Destination Unavailable (DUNA) 01
Destination Available (DAVA) 02
Destination State Audit (DAUD) 03
SS7 Network Congestion (SCON) 04
25
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
28/32
TN_SP011_E1_0 Sigtran Protocol
Destination User Part Unavailable (DUPU) 05
Destination Restricted (DRST) (not used for the time
being) 06
Reserved by IETF 7-7F
Reserved for IETF-defined SSNM Extensions 80-FF
Table 1.3-5 M3UA ASP State Maintenance (ASPSM) Messages
Message Type Message Type Code (in Hex.)
Reserved 00
ASP Up (ASPUP) 01
ASP Down (ASPDN) 02
Heartbeat (BEAT) 03
ASP Up Ack (ASPUP ACK) 04
ASP Down Ack (ASPDN ACK) 05
Heartbeat Ack (BEAT ACK) 06
Reserved by IETF 7-7F
Reserved for IETF-defined ASPSM Extensions 80-FF
Table 1.3-6 M3UA ASP Traffic Maintenance (ASPTM) Messages
Message Type Message Type Code (in Hex.)
Reserved 00
ASP Active (ASPAC) 01
ASP Inactive (ASPIA) 02
ASP Active Ack (ASPAC ACK) 03
ASP Inactive Ack (ASPIA ACK) 04
Reserved by IETF 5-7F
Reserved for IETF-defined ASPTM Extensions 80-FF
Table 1.3-7 M3UA Routing Key Management (RKM) Messages
Message Type Message Type Code (in Hex.)
Reserved 00
Registration Request (REG REQ) 01
Registration Response (REG RSP) 02
Deregistration Request (DEREG REQ) 03
Deregistration Response (DEREG RSP) 04
26
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
29/32
Chapter 1 SIGTRAN
Reserved by IETF 5-7F
Reserved for IETF-defined RKM Extensions 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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
30/32
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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
31/32
Chapter 1 SIGTRAN
IPSP and SG for transferring MTP3 messages.
The major function of the M2PA is to provide message transfer link for MTP3. TheSCTP 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, errorcheck, 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
-
7/29/2019 TN_SP011_E1_0 Sigtran Protocol-34.doc
32/32
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.