SCTP bundling of SACK + DATA on a non-primary path.
Mikhail Plotkin <[email protected]> Thu, 03 Mar 2011 16:35:17 +0300
| Newsgroups | gmane.ietf.sigtran |
|---|---|
| Message-ID | <[email protected]> |
Hi All, I need a piece of advise regarding interpretation of the rules from RFC 4960. In chapter 6.4 it says: An endpoint SHOULD transmit reply chunks (e.g., SACK, HEARTBEAT ACK, etc.) to the same destination transport address from which it received the DATA or control chunk to which it is replying. This rule should also be followed if the endpoint is bundling DATA chunks together with the reply chunk. We see the issue here: If the rule above is followed, SACK+DATA may be sent via the path which is different from the primary path. It may result in some problems, even to packets losses, especially if paths are uni-directional. Moreover it seem to conflict with another rule from the same chapter: By default, an endpoint SHOULD always transmit to the primary path, unless the SCTP user explicitly specifies the destination transport address (and possibly source transport address) to use. A possible solution could be NOT to bundle DATA with SACK if the SACK is going to be sent via not primary path. But then, there is another rule in chapter 6.1: Before an endpoint transmits a DATA chunk, if any received DATA chunks have not been acknowledged (e.g., due to delayed ack), the sender should create a SACK and bundle it with the outbound DATA chunk, as long as the size of the final SCTP packet does not exceed the current MTU. How should we resolve these seeming contradictions? Thanks.