Showing posts with label sigtran. Show all posts
Showing posts with label sigtran. Show all posts

To translate an IP address from a string of decimals (in little endian* order) into a real IP address, follow this procedure:

Using the decimal number 26999818 as an example.

1) Convert the number to hex

    26999818 (in dec) = 19BFC0A (in hex)

2) If the hex number is 7 digits long, add a leading 0. If the hex number is 8 digits, skip to step 3.
    => 019BFC0A (in hex)

3) Split this value into 4 bytes
     01 9B FC 0A

4) Reverse the order of the bytes, as this value is little endian*
    0A FC 9B 01

5) Convert each byte (in hex) back to decimal
    10 252 155 1

This is the real IP address in dot-decimal notation: 10.252.155.1


*The least significant byte (LSB) value, 0x01, is stored in memory at the lowest address. And the most significant byte (MSB) value, 0x0A, is stored in memory at the highest address.

Note: For a better understanding on "Endian", check out the explanation here.

SCTP failure detection time

Posted by rimmon | 10:19 AM

SCTP's multihoming failure detection time depends on three tunable parameters:

RTO.min (minimum retransmission timeout)
RTO.max (maximum retransmission timeout), and
Path.Max.Retrans (threshold number of consecutive timeouts that must be exceeded to detect failure).

RFC2960 recommends these values:

RTO.min - 1 second
RTO.max - 60 seconds
Path.Max.Retrans - 5 attempts per destination address

If the timer expires for the destination address, set RTO = RTO * 2 ("back off the timer").
The maximum value discussed (RTO.max) may be used to provide an upper bound to this doubling operation.

Since Path.Max.Retrans = 5 attempts, this translates to a failure detection time of at least 63 seconds (1 + 2 + 4 + 8 + 16 + 32).
In the worse case scenario, taking the maximum of 60 seconds, the failure detection time is 360 seconds (6 * 60).

In another example, where the following parameters are used,

RTO.min - 100ms
RTO.max - 400ms
Path.Max.Retrans - 4 attempts

Then,
Max. failure detection time = (1 + PMR)* RTO.max = 5*400 = 2000ms
Min. failure detection time = 100 + 200 + 400 + 400 + 400 = 1500ms

Mapping Signalling Transport, over TDM vs ATM vs IP




AAL5       ATM Adaptation Layer 5
ATM Asynchronous Transfer Mode
CAP CAMEL Application Part
INAP Intelligent Network Application Part
IP Internet Protocol
M2PA MTP Level 2 Peer-to-Peer Adaptation Layer
M2UA MTP Level 2 User Adaptation Layer
M3UA Message Transfer Part 3 - User Adaptation Layer
MAP Mobile Application Part
MTP Messge Transfer Part (SS7)
MTP3b MTP Level 3 with broadband enhancements
PDH Plesiochronous Digital Hierarchy
SCCP Signaling Connection Control Part
SCTP Stream Control Transmission Protocol
SDH Synchronous Digital Hierarchy
SONET Synchronous Optical Networking
SSCF-NNI Service Specific Coordination Function - Network Node Interface
SSCOP Service Specific Connection Oriented Protocol
SUA Signalling Connection Control Part User Adaptation Layer
TCAP Transaction Capability Application Part

SACK-ED

Posted by rimmon | 3:00 PM

Ok, now that I have your attention, what is SACK?

SACK stands for Selective Acknowledgment. It is a type of SCTP packet.

What is SCTP? SCTP is a reliable transport protocol which runs on top of an unreliable connectionless packet service, such as IP. SCTP/IP is used in the implementation of SS7 over IP (SIGTRAN)

SACK is an acknowledgment packet sent by a recipient node to sender node to acknowledge the receipt of DATA chunks. SACK is also used to inform the sender node of any missing chunks.

If there are IP network reliability issues, and the sender node does not receive the SACKs, the data window size will be reduced by the sender node. This data window size is refering to the Advertised Receiver Window Credit (a_rwnd) parameters.

So if you find that I have not replied to your email recently, that's because I'm learning to apply SACK :)