[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sigtran] Clarify SCTP max packet size.



On Jul 7, 2009, at 8:50 AM, <pierre.allegret at orange-ftgroup.com> <pierre.allegret at orange-ftgroup.com > wrote:

Dear all,

Just to add with the SCTP bundling feature. If the "SCTP MTU" is 1500, and the system is bundling messages at the SCTP level, you should have the risk to segment at the IP level (because of the IP header). So it is not efficient
The MTU SCTP uses is the link layer MTU minus the headers for IP and SCTP. I have not seen an implementation which bundles at the SCTP layer and than
needs to fragment at the IP layer. I would consider this broken...
to bundle sctp messages and to segment them at the IP level. Some vendors limits "SCTP MTU" to avoid that. This is only the Maximum transmission unit. If one SCTP message to transmit is greater, they will segment it.

Regards.

Pierre

-----Message d'origine-----
De : sigtran-bounces at ietf.org [mailto:sigtran-bounces at ietf.org] De la part de Michael Tüxen
Envoyé : lundi 6 juillet 2009 23:24
À : =?ISO-8859-1?Q?=22Gomes at core3.amsl.com; _Rui_Filipe_Efig=E9nio at core3.amsl.com ; _VF-PT=22?=
Cc : bidulock at openss7.org; sigtran at ietf.org
Objet : Re: [Sigtran] Clarify SCTP max packet size.

On Jul 3, 2009, at 9:38 PM, Gomes, Rui Filipe Efigénio, VF-PT wrote:

Dear Sirs,

A major equipment vendor (A) states on their documentation that:
"The max packet size usable by SCTP is 1416 bytes."
What does this mean?
1500 (MTU) - 20 (IP header) - 12 (SCTP common header) - 16 (SACK
chunk) - 16 (SATA chunk header) - 20 (whatever)

This would mean that the SCTP stack might only be able to send user messages of the length 1416. Depending on the upper layer and your application, this might be OK.

According to RFC2960 and RFC 4960:
"An SCTP receiver MUST be able to receive a minimum of 1500 bytes in
one SCTP packet.  This means that an SCTP endpoint MUST NOT indicate
less than 1500 bytes in its initial a_rwnd sent in the INIT or INIT"

Even if we took the "full" 1500 Ethernet IPv4 packet SCTP will have a
max of 1466 bytes.
A full ethernet frame would have an IP packet of length 1500 byte, so typically an SCTP packet of size 1480, which means 1468 for chunks.

However, the limitation of max. use message sizes is different from limiting the a_rwnd.

The statement in the RFC is that the a_rwnd must be 1500 or larger on the INIT and INIT-ACK.
The receiver should handle full sized frames for 1500 MTU links.

If the a_rwnd is smaller than 1500, you will have serious interop and performance problems. So you might want to clearify first if you are talking about the maximum user message size or the maximum advertised receiver window and also about the maximum size of a received user message. Reassembly is optional...

I tested and it seems that SCTP packet with longer size is being
discarded. Node never acknowledges its reception.

This means that major vendor A is violating the RFC?
I'm having an IOT issue between two major vendors and I think that
vendor A is not following SCTP RFCs (old and new).

Please confirm.


Thanks in advance and best regards,
Rui Gomes

Source:
http://tools.ietf.org/html/rfc2960#page-67 6. User Data Transfer
paragraph 4, http://tools.ietf.org/html/rfc4960#page-73 6. User Data
Transfer paragraph 4) _______________________________________________
Sigtran mailing list
Sigtran at ietf.org
https://www.ietf.org/mailman/listinfo/sigtran


_______________________________________________
Sigtran mailing list
Sigtran at ietf.org
https://www.ietf.org/mailman/listinfo/sigtran