SCTP中的多流传输和TCP中打开多个连接有什么不同?

3
在SCTP中,多个流可以存在于单个关联中,而在TCP中,我们必须涉及多个端口。在SCTP中,多流传输是否也涉及端口? RFC 6525指出,只有65k+个流是可能的,这似乎等于可能的端口数。

这是在一周之内提出的四个SCTP/TCP性能问题,都要求SO开发人员进行研究。很快就会将它们链接为重复问题。 - Martin James
1个回答

6
使用多个流不需要使用多个端口,SCTP关联有一个单独的端口(或者一个本地端口和一个远程端口),但可以使用多个流。
使用多个流的目的是那些不需要按顺序传递的消息可以在不同的流上发送,从而避免不必要的头阻塞。如果您将SCTP用于电信信令,则可以将独立电话呼叫的消息发送到不同的流上。对于特定呼叫的所有消息将按顺序传递,但是对于一个呼叫的消息的重传不需要延迟另一个呼叫的消息的传递。
使用流可以在不创建新关联的情况下实现此目标,这通常需要大量系统资源来进行tx和rx缓冲区以及关联建立成本。
选择哪个流发送消息由SCTP用户进行选择,并通过SCTP API与SCTP进行通信。

1
但是网络层如何处理多个流数据包呢?我的意思是每个流都必须映射到某个东西,我假设它是端口,因为SCTP允许2^32阶的流,而端口也是同样的阶数。 - Love
每个流都映射到同一个连接,但只有在SCTP层中才能区分。 - Timir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接