+----------------------------------------------------------+ | Will it ever be necessary to offer any of the following? | | * Reliably transfer data | | * Notify the peer of closing/aborting | | * Preserve data ordering | +----------------------------------------------------------+ | | |Yes |No |(SCTP or TCP |(All protocols | can be used.) | can be used.) V V +--------------------------------------+ +-----------------------------+ | Is any of the following useful to | | Is any of the following | | the application? | | useful to the application? | | * Choosing a scheduler to operate | | * Specify checksum coverage | | between connections in a group, | | used by the sender | | with the possibility to configure | | * Specify minimum checksum | | a priority or weight per connection| | coverage required by the | | * Configurable message reliability | | receiver | | * Unordered message delivery | +-----------------------------+ | * Request not to delay the | | | | acknowledgement (SACK) of a message| |Yes |No +--------------------------------------+ | | | | | | |Yes |No | | V | V V SCTP is | UDP-Lite is UDP is preferred. | preferred. preferred. V +------------------------------------------------------+ | Is any of the following useful to the application? | | * Hand over a message to reliably transfer (possibly | | multiple times) before connection establishment | | * Suggest timeout to the peer | | * Notification of Excessive Retransmissions (early | | warning below abortion threshold) | | * Notification of ICMP error message arrival | +------------------------------------------------------+ | | |Yes |No V V TCP is preferred. SCTP and TCP are equally preferable.