📄 draft-george-sigtran-m2peer-02.txt
字号:
Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 20002.2.1 User Data The User Data parameter is the data sent from the MTP3 in the form ofthe contiguous SIO and SIF fields of the MSU ([2] Q.703, section 2.2Signal Unit Format). The format for the Data message is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... | User Data | ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+No padding is added to the MTP3 message.Note that the User Data field contains only the LI, SIF and SIOoctets. The other components of the message transmitted by MTP2 (theFlag, BSN, BIB, FSN, FIB, CK) are not included in M2PA.2.2.2 Link StatusThe MTP2 Link Status message can be sent between M2PA peers toindicate link status. This message performs a function similar to thethe Link Status Signal Unit in MTP2. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Status | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+The valid values for State are shown in the following table. Value Description 1 In Service 2 Processor Outage 3 Processor Outage EndedGeorge, et al [Page 10]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 20003. Procedures3.1 Procedures to Support MTP2 Features3.1.1 Signal Unit Format, Delimitation, AcceptanceMessages for transmission across the network must follow the formatdescribed in section 2.SCTP provides reliable, in-sequence delivery. Therefore the relatedfunctionality of MTP2 is not needed. SCTP does not provide functionsrelated to Link State Control in MTP2. These functions must beprovided by M2PA.3.1.2 Link AlignmentLink alignment begins when MTP3 sends the Start command to M2PA.To begin alignment in M2PA, M2PA sends the ASSOCIATE primitive to SCTPif the SCTP association is not already established. To prevent duplicate associations from being established, it must bedecided in advance which endpoint initiates the establishment of theassociation. In a pair of endpoints, the endpoint that initiates theestablishment of the association is called the client. The otherendpoint is the server. An endpoint may be a client in itsrelationship with one endpoint, and a server in its relationship withanother endpoint.The client initiates the association using the server's IP address andthe M2PA well-known port number as the destination endpoint. In orderto allow for multiple links between the two endpoints, the client usesa different local port number for each link. It must be decided inadvance which local ports are used by the client. Each of these clientports must be known to the server. Each combination of client IPaddress/port and server IP address/port must be mapped to the sameSignaling Link Code (SLC) in the client and server. An example of the relationships between the associations and the SLCsis shown in Figure 4 and the following table. Note that a link is anSCTP association identified by two endpoints, in this case a clientand server. Each endpoint is identified by an IP address and portnumber. Each association corresponds to an SLC.George, et al [Page 11]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 2000 Client Server IPA IPB +-------------+ +-------------+ | | SCTP | | | SLC = a | association | SLC = a | | port = P1 +---------------+ port = PW | | | | | | | | | | | | | | | SCTP | | | SLC = b | association | SLC = b | | port = P2 +---------------+ port = PW | | | | | | | | | +-------------+ +-------------+ IPA = IP address of Client IPB = IP address of Server P1, P2 = Pre-selected port numbers for Client PW = Well-known port number for M2PA Figure 4: Associations and SLCs +---------------------------------------+-----+ | Association | SLC | +-------------------+-------------------+ | | Client | Server | | +------------+------+------------+------+ | | IP address | Port | IP address | Port | | +============+======+============+======+=====+ | IPA | P1 | IPB | PW | a | +------------+------+------------+------+-----+ | IPA | P2 | IPB | PW | b | +------------+------+------------+------+-----+ Table 1: Associations and SLCsThe association shall contain two streams in each direction. Stream 0is designated for Link Status messages. Stream 1 is designated forUser Data messages.If SCTP fails to establish the association, and M2PA had received aStart command from its MTP3, then M2PA shall report to MTP3 that thelink is out of service. If M2PA has an association ID for thatassociation, it should ABORT the association. George, et al [Page 12]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 2000Once the association is established, M2PA invokes the GETSRTTREPORTprimitive to determine the Smooth Round Trip Time (SRTT) from SCTP. Ifthe SRTT exceeds its maximum allowed value (which is implementationdependent), M2PA should use the ABORT primitive to end theassociation. If M2PA had received a Start command from its MTP3, thenM2PA shall report to MTP3 that the link is out of service.Once M2PA has received a Start from MTP3, the association isestablished, the SRTT is determined to be satisfactory, and if MTP3has not deactivated the link, then: (a) If there is no local processor outage condition, M2PA sends a Link Status of In Service to its peer. (b) If there is a local processor outage condition, M2PA sends Link Status Processor Outage to its peer. When MTP3 sends Local Processor Recovered, then M2PA sends Link Status Processor Outage Ended to its peer, followed by Link Status In Service.If M2PA has not received a Link Status In Service from its peer at thetime it sends the Link Status In Service, M2PA starts timer T1. TimerT1 is stopped when M2PA receives Link Status In Service from itspeer. If M2PA does not receive Link Status In Service from its peerbefore T1 expires, then M2PA reports to MTP3 that the link is out ofservice. Then M2PA uses the ABORT primitive to end the association.Recommended value of T1 is 5-150 seconds.When the association is established, M2PA has sent Link Status InService to its peer, and has received Link Status In Service from itspeer, and there is no local processor outage condition, then M2PAsends Link In Service to its MTP3. If M2PA receives a Link Status of Processor Outage during alignment,and M2PA had received a Start command from its MTP3, M2PA shall reportRemote Processor Outage to MTP3. M2PA shall ignore the Emergency and Emergency Ceases commands fromMTP3.George, et al [Page 13]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 20003.1.3 Processor OutageA processor outage occurs when M2PA cannot transfer messages becauseof a condition at a higher layer than M2PA.When M2PA detects a local processor outage, it sends a Link Statusmessage to its peer with status Processor Outage. M2PA discards anymessages received.The peer M2PA, upon receiving the Link Status Processor Outagemessage, shall report Remote Processor Outage to its MTP3. M2PA ceasessending Data messages.When the processor outage ceases, MTP3 sends a Local ProcessorRecovered indication to M2PA. The local M2PA notifies its peer bysending a Link Status message with status Processor Outage Ended. Thepeer notifies its MTP3 that the remote processor outage has ceased.3.1.4 Level 2 Flow ControlNotification of receive congestion from M2PA to MTP3 is implementationdependent.3.1.5 Error monitoringIf M2PA loses the SCTP association for a link, M2PA shall report toMTP3 that the link is out of service.3.1.6 Transmission PrioritiesIn MTP, Link Status messages have priority over User Data messages([2] Q.703, section 11.2). To achieve this in M2PA, Link Status andUser Data messages shall be sent via SCTP on separate streams. Allmessages are sent using the ordered delivery option.M2PA should give higher priority to reading the Link Status streamover the User Data stream.3.2 Procedures to Support the MTP3/MTP2 Interface3.2.1 Sending/receiving messagesWhen MTP3 sends a message for transmission to M2PA, M2PA adds the M2PAheader to the message, then passes the message to SCTP using the SENDprimitive.When M2PA receives a Data message from SCTP, M2PA removes the M2PAheader and passes the message to MTP3.Link Status and User Data messages shall be sent via SCTP on separatestreams.George, et al [Page 14]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 20003.2.2 Link activation and restorationWhen MTP3 requests that M2PA activate or restore a link by a Startcommand, M2PA shall follow the alignment procedure in section 3.1.2.3.2.3 Link deactivationWhen MTP3 requests that M2PA deactivate a link by a Stop command, M2PAshall send an ABORT primitive to SCTP.3.2.4 Flush buffersProcessing of the Flush Buffers request from MTP3 is implementationdependent.3.2.5 Signaling Link CongestionNotification of transmit congestion from SCTP to its upper layer(M2PA) is implementation dependent. Nevertheless, M2PA should receivenotification from SCTP adequate to allow MTP3 to meet its requirementsfor signaling link transmit congestion in [2] Q.704, section 3.8.The US National version of SS7 has congestion levels. For US NationalSS7, the Indication primitive for Congestion Onset should report thecongestion level.3.2.6 ChangeoverThe objective of the changeover is to ensure that signaling trafficcarried by the unavailable signaling link is diverted to thealternative signaling link as quickly as possible while avoidingmessage loss, duplication, or mis-sequencing. For this purpose, thechangeover procedure includes data retrieval, which is performedbefore opening the alternative signaling links to the divertedtraffic. Data retrieval consists of these steps: (1) buffer updating, i.e., identifying all those User Data messages in the retransmission buffer of the unavailable signaling link which have not been received by the far end SCTP, as well as untransmitted messages, and (2) transferring those messages to the transmission buffers of the alternate links.Note that only User Data messages are retrieved and transmitted overthe alternate links. Link Status messages shall not be transmittedover the alternate links. References to stream sequence numbers inthis section refer only to the User Data stream's stream sequencenumbers.George, et al [Page 15]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 2000In order to support changeover in M2PA, the SCTP Stream SequenceNumbers must be used in place of the Forward and Backward SequenceNumbers (FSN/BSN) of SS7.Stream Sequence Numbers used by SCTP are 16 bits long. MTP2's Forwardand Backward Sequence Numbers are only seven bits long. Hence it isnecessary for MTP3 to accomodate the larger SSNs. This is done throughthe use of the Extended Changeover Order (XCO) and Extended ChangeoverAcknowledgement (XCA) messages instead of the Changeover Order (COO)and Changeover Acknowledgement (COA) messages. The XCO and XCAmessages are specified in Reference [7] section 9.8.1. Only the XCOand XCA messages from [7] are used. These messages have a 24-bit fieldfor the sequence number. The upper 8 bits of the 24 bit field shouldbe set to 0, and the SSN placed in the lower 16 bits.(Note that the Stream Sequence Numbers are used instead of theTransmission Sequence Numbers. The Transmission Sequence Numbers are32 bits long, and therefore would not fit in the XCO and XCAmessages.)For data retrieval, MTP3 requests Backward Sequence Number (BSN) fromM2PA. This is the sequence number of the last message received by thelocal end. Normally, SCTP delivers ordered messages to theapplication. However, during congestion or failure condition, thesequence numbers of the acknowledged messages may have gaps. Inparticular, the SACK (selective acknowledgement message) message canhave several of these gaps. Hence, it is important to scan throughthese gaps and find the sequence number before the first gap. This isthe number from which the remote end has to transmit the messages. Sothis is the number considered as the Backward Sequence Number andcommunicated to the remote end. In a similar way, the remote end alsodetects the BSN and indicates to the local end. As soon as the MTP3 ofthe local end receives this BSN, MTP3 retrieves all the unacknowledgedmessages starting from BSN. This is accomplished through a RetrievalRequest and FSNC request. After all the messages are sent from M2PAto MTP3, a Retrieval Complete indication is sent.Note that the sequence numbers and messages requested by MTP3 may beobtained by M2PA from SCTP via the Communication Lost primitive [5].Retrieval of messages is an optional feature in SCTP. To perform dataretrieval, it is necessary that this option be implemented, and thatthe SSNs of the messages are identified. SCTP must retain the messagesfor retrieval by MTP3/M2PA whenever an association is aborted. SCTPmust be able to return messages to its upper layer by stream, andbased on SSNs.If M2PA receives a Retrieve BSNT request from MTP3, M2PA responds withthe BSNT indication. The BSNT value is the SCTP stream sequence numberof the last message received by SCTP User Data stream before any gapsin the stream sequence numbers.George, et al [Page 16]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 2000(Note that any messages with stream sequence number greater than thisBSNT value have been acknowledged by SCTP, but have not been passed upto M2PA. Therefore these messages should be retransmitted by the farend on the alternate link.)If M2PA receives a Retrieval Request and FSNC request from MTP3, M2PAretrieves from SCTP: (a) any transmitted messages beginning with the first unacknowledged message with stream sequence number greater than FSNC, and (b) any untransmitted messages in SCTP.Each of these messages is sent to MTP3, first (a), then (b). Then M2PAsends the Retrieval Complete indication to MTP3.Note: The changeover procedure makes it impossible for M2PA to havemultiple User Data streams in a direction for one link. Bufferupdating would have to be done for each User Data stream separately toavoid duplication of messages. But MTP3 provides for only one XCOmessage for sending the last-received SSN.4. Examples of M2PA ProceduresIn general, messages passed between MTP3 and M2PA are the same asthose passed between MTP3 and MTP2. M2PA interprets messages fromMTP3 and sends the appropriate message to SCTP. Likewise, messagesfrom SCTP are used to generate a meaningful message to MTP3.Note that throughout this section, the primitives between MTP3 andM2PA are named using the MTP terminology [1][2]. Communicationsbetween M2PA and SCTP are named using SCTP terminology.4.1 Link Initialization (Alignment)An example of the message flow to bring an SS7 link in service isshown below. Proving is done by both ends of the link. To simplify thediagram, proving is shown on one end only. It is assumed in thisexample that SCTP has been initialized.George, et al [Page 17]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 2000 MTP3 M2PA SCTP SCTP M2PA MTP3 ---- ---- ---- ---- ---- ---- Out of Service <------------ Emergency OR Emergency Ceases ------------> Start ------------> Associate ------------> (SCTP Association procedure) Communication Up Communication Up <------------ ------------>Even though the SCTP association is established, it is important thatM2PA not send MTP3 data at this point. It must be confirmed that bothends of the link are ready for traffic. Otherwise, messages could belost. The endpoints must exchange In Service messages. MTP3 M2PA SCTP SCTP M2PA MTP3 ---- ---- ---- ---- ---- ---- Get SRTT Report ------------> Link Status In Service ------------------------------------> Link Status In Service <------------------------------------ In Service <------------At this point, MTP3 may begin sending data messages.George, et al [Page 18]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer July 2000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -