Haben Sie überlegt, ob auf allen Zielsystemen SCTP vorinstalliert ist oder ob Ihre Anwendung SCTP selbst enthalten muss? Nach meiner Erfahrung würde ich nicht erwarten, dass auf allen Systemen SCTP installiert ist, und ich würde erwarten, dass sie das nicht tun würden, wenn es Windows wäre.
Wenn Sie SCTP in die Anwendung selbst einbeziehen, wird dadurch die Anzahl der Nachrichten, die an einen Kernel übergeben werden, mehr als verdoppelt, was sich auf die Leistung im Vergleich zur Verwendung des vorinstallierten TCP auswirkt.
Haben Sie überlegt, welche Vorteile Sie von SCTP erwarten? Sie haben Fehlertoleranz erwähnt, aber damit dies mit SCTP funktioniert, muss die Anwendung mehrere Ethernet-Ports und IP-Adressen haben. Ist das wahrscheinlich in deiner App?
So sehr ich SCTP (!) Liebe, würde ich ernsthaft über TCP nachdenken, es sei denn, Sie sind sicher, dass SCTP benötigt wird oder Sie die Hosts steuern, auf denen Ihre App bereitgestellt wird.
Mit freundlichen Grüßen
OP fragte auch nach SCTP getunnelt über UDP, löst dies das Problem mit Firewalls? Was ist mit Lochung für NAT Traversal? ist es im Fall von SCTP möglich? –
Tunnelling würde das Firewall-Problem lösen. Das Lochstanzen würde davon abhängen, dass der Tunnel auf einem konsistenten bekannten Port läuft. – Alnitak
Siehe http://tools.ietf.org/html/draft-ietf-behave-sctpnat-05 für den aktuellen Status von SCTP über NAT und den Vorschlag, es zu beheben. SCTP hat derzeit eine unzureichende Protokollunterstützung und die tatsächlich implementierte Unterstützung ist schlechter - in dem Maße, in dem es nicht mit vielen Consumer-Geräten funktioniert. – Bwooce