在我的机器上,我有 2 个接口连接到另一台机器,还有 2 个接口。我想同时使用这两个接口来传输数据。在 SCTP 视图中,每台计算机都是一个端点。所以,我使用了一对一的插座。在服务器端,我尝试绑定INADDR_ANY
以及bind()
第一个和bindx()
第二个。在客户端,我尝试了connect()
和connectx()
。无论我尝试过什么,SCTP 在给定时间只使用两个接口中的一个。
我还在 Iperf 和源代码中的测试应用程序上测试了 sctp 函数。什么都没用。
我在这里错过了什么?您是否必须从一个或另一个地址手动发送每个数据包,并发送到一个或另一个地址?
肯定必须有一个函数,您可以在其中构建多个流,其中每个流都允许一对特定地址之间的通信。然后,当您发送数据包时,SCTP 会自动选择要将数据包发送到哪个流中。
提前感谢!
您所要求的称为并发多路径传输,SCTP 不支持该功能(至少根据 RFC 4960 不支持)。 如 RFC 4960 中所述,默认情况下,SCTP 通过主路径传输数据。其他路径应由检测信号监视,并在通过主路径的传输失败时使用。