📄 draft-ietf-sigtran-m2pa-01.txt
字号:
Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 2000 Client Server IPA IPB +-------------+ +-------------+ | | SCTP | | | SLC = a | association 1 | SLC = a | | port = P1 +---------------+ port = PW | | | | | | | | | | | | | | | SCTP | | | SLC = b | association 2 | 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 7: Associations and SLCs +-------------+---------------------------------------+-----+ | Association | Client | Server | SLC | | +------------+------+------------+------+ | | | IP address | Port | IP address | Port | | +=============+============+======+============+======+=====+ | 1 | IPA | P1 | IPB | PW | a | +-------------+------------+------+------------+------+-----+ | 2 | 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 the SCTP association is not established, the client M2PA sends theASSOCIATE primitive to SCTP. The client should attempt to establishthe association periodically until it is successful.If SCTP fails to establish the association, and M2PA had received aStart Request from its MTP3, then M2PA shall report to MTP3 that thelink is out of service. If M2PA has an SCTP association ID for thatassociation, it should ABORT the association. The association ID is anumber provided by the SCTP used to identify an association.George, et al [Page 18]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 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 Request from its MTP3, thenM2PA shall report to MTP3 that the link is out of service.Once M2PA has received a Start Request 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.Note that if the server M2PA has not received a Start Request from itsMTP3, it will not send the Link Status In Service message to theclient. Eventually the client will ABORT the association. The clientwill then attempt to establish the association.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 Request from its MTP3, M2PA shall reportRemote Processor Outage to MTP3.M2PA shall ignore the Emergency and Emergency Ceases commands fromMTP3.4.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 shall discardGeorge, et al [Page 19]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 2000any User Data messages received. M2PA shall also cease sending UserData messages to SCTP for transmission.The peer M2PA, upon receiving the Link Status Processor Outagemessage, shall report Remote Processor Outage to its MTP3. M2PA ceasessending User 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.4.1.4 Level 2 Flow ControlNotification of receive congestion from SCTP to M2PA is implementationdependent. This section assumes that there is some form of receivecongestion notification from SCTP to M2PA.If M2PA receives notification from its lower layer SCTP that SCTP isin receive congestion for an association, M2PA shall send a LinkStatus Busy message to its peer on that association.When the peer M2PA receives the Link Status Busy message, it shallcease transmitting User Data messages from its upper layer MTP3. (UserData messages already given to the lower layer SCTP are transmitted asthe SCTP protocol allows.) M2PA shall start the Remote Congestiontimer T6. If timer T6 expires, M2PA shall use the ABORT primitive toend the association and take the link out of service.If M2PA receives notification from its lower layer SCTP that SCTP isno longer in receive congestion for the association, M2PA shall send aLink Status Busy Ended message to its peer on that association.When the peer M2PA receives the Link Status Busy Ended message, itshall stop timer T6 and resume transmitting User Data messages fromits upper layer MTP3.Recommended value of T6 is 1-6 seconds.4.1.5 Error MonitoringIf M2PA loses the SCTP association for a link, M2PA shall report toMTP3 that the link is out of service.4.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 streamGeorge, et al [Page 20]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 2000over the User Data stream.M2PA should give higher priority to receiving notifications from SCTPover reading either the Link Status stream or the User Data stream.Implementation Note: If the SCTP implementation allows streams to havedifferent priorities for sending messages, then M2PA should set theLink Status stream to a higher priority than the User Data stream.4.2 Procedures to Support the MTP3/MTP2 Interface4.2.1 Sending/receiving messagesWhen MTP3 sends a message for transmission to M2PA, M2PA passes thecorresponding M2PA message to SCTP using the SEND primitive.M2PA Link Status messages are passed to SCTP using the SEND primitive.Link Status and User Data messages shall be sent via SCTP on separatestreams.When M2PA receives a Data message from SCTP, M2PA passes the messageto MTP3.4.2.2 Link activation and restorationWhen MTP3 requests that M2PA activate or restore a link by a StartRequest, M2PA shall follow the alignment procedure in section 4.1.2.4.2.3 Link deactivationWhen MTP3 requests that M2PA deactivate a link by a Stop command, M2PAshall send an ABORT primitive to SCTP.4.2.4 Flush buffersIf M2PA receives a Flush Buffers command from MTP3, M2PA: (a) shall not transmit any messages to SCTP that are currently waiting to be transmitted to SCTP. (b) shall discard all messages currently waiting to be passed to MTP3.4.2.5 MTP3 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.M2PA shall notify its upper layer MTP3 when transmit buffer occupancyGeorge, et al [Page 21]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 2000crosses the congestion onset, discard, and abatement thresholds. Fornational networks with multiple congestion threshold levels, M2PAshall notify MTP3 when transmit buffer occupancy crosses each level ofthe congestion onset, discard, and abatement thresholds.4.2.6 ChangeoverThe objective of the changeover is to ensure that signaling trafficcarried by the unavailable signaling link is diverted to thealternative signaling link(s) 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 retrieved andtransmitted over the alternate links. References to stream sequencenumbers in this section refer only to the User Data stream's streamsequence numbers.In 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 theGeorge, et al [Page 22]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 2000application. 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 M2PA so that M2PA can performretrieval for MTP3. There are various ways that this can beimplemented, such as: (1) SCTP provides a way for M2PA to request retrieval of messages for a specified stream and SSN(s). (2) SCTP retrieves all messages and identifies the stream and SSN of each message. M2PA then must select the appropriate messages to pass up to MTP3.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.(Note that any messages with stream sequence number greater than thisBSNT value have been acknowledged by the receiving SCTP, but have notbeen passed up to M2PA. These messages are discarded by the receivingSCTP and are not delivered to the upper layer M2PA. Therefore thesemessages should be retransmitted by the far end on the alternatelink.)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.George, et al [Page 23]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 2000Each 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.5. 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.5.1 Link Initialization (Alignment)An example of the message flow to bring an SS7 link in service isshown below. Alignment is done by both ends of the link. To simplify thediagram, alignment is shown on one end only. It is assumed in thisexample that SCTP has been initialized.George, et al [Page 24]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 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 In Service <------------ ------------>At this point, MTP3 may begin sending data messages.George, et al [Page 25]Internet Draft SS7 MTP2-User Peer-to-Peer Adaptation Layer Nov 20005.2 Message Transmission and ReceptionMessages are transmitted using the Data Request primitive from MTP3 toM2PA. The diagram shows the case where the Link is In Service. Themessage is passed from MTP3 of the source to MTP3 of the destination. MTP3 M2PA SCTP SCTP M2PA MTP3 ---- ---- ---- ---- ---- ---- Message for transmission ------------> Send (Data Message) ------------> (SCTP sends message) Receive ------------> Received message ------------>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -