TN_SP011_E1_0 Sigtran Protocol-34.doc

Embed Size (px)

Citation preview

  • 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.