SCTP :同时使用两个接口传输
SCTP : transmitting with both interfaces at the same time
在我的机器上,我有 2 个接口连接到另一台也有 2 个接口的机器。我想同时使用这两个接口来传输数据。从 SCTP 的角度来看,每台机器都是一个端点。所以,我使用了一对一的套接字。在服务器端,我尝试绑定 INADDR_ANY
以及 bind()
第一个和 bindx()
第二个。在客户端,我尝试了 connect()
和 connectx()
。无论我尝试什么,SCTP 在给定时间只使用两个接口之一。
我还在Iperf上测试了sctp函数,在源码中测试了app。没有任何效果。
我在这里错过了什么?您是否必须将每个数据包从一个或另一个地址手动发送到一个或另一个地址?
肯定有一个功能,您可以在其中构建多个流,每个流允许一对特定地址之间的通信。然后当您发送数据包时,SCTP 会自动选择将数据包发送到哪个流中。
提前致谢!
您要求的是并发多路径传输,SCTP 不支持该功能(至少 RFC 4960 不支持)。
如 RFC 4960 中所述,默认情况下 SCTP 通过主路径传输数据。其他路径旨在通过心跳进行监视,并在通过主路径传输失败时使用。
在我的机器上,我有 2 个接口连接到另一台也有 2 个接口的机器。我想同时使用这两个接口来传输数据。从 SCTP 的角度来看,每台机器都是一个端点。所以,我使用了一对一的套接字。在服务器端,我尝试绑定 INADDR_ANY
以及 bind()
第一个和 bindx()
第二个。在客户端,我尝试了 connect()
和 connectx()
。无论我尝试什么,SCTP 在给定时间只使用两个接口之一。
我还在Iperf上测试了sctp函数,在源码中测试了app。没有任何效果。
我在这里错过了什么?您是否必须将每个数据包从一个或另一个地址手动发送到一个或另一个地址?
肯定有一个功能,您可以在其中构建多个流,每个流允许一对特定地址之间的通信。然后当您发送数据包时,SCTP 会自动选择将数据包发送到哪个流中。
提前致谢!
您要求的是并发多路径传输,SCTP 不支持该功能(至少 RFC 4960 不支持)。 如 RFC 4960 中所述,默认情况下 SCTP 通过主路径传输数据。其他路径旨在通过心跳进行监视,并在通过主路径传输失败时使用。