问题标签 [sctp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
139 浏览

sctp - 为什么端点必须管理在 SCTP 拥塞控制中发送和接收的 TSN 发送和接收的字节之间的转换?

如 RFC 3286 中所述:

“...端点必须管理发送和接收的字节以及发送和接收的 TSN 之间的转换,因为 TSN 是按块而不是按字节”。

这对拥塞控制算法有何影响?

0 投票
3 回答
9966 浏览

ip-address - 相当于 eth0 的 Windows

是否有类似于 Linux 和 Solaris 使用的“eth0”的 Windows 通用 IP 设备名称?

我正在尝试监视 SCTP 流量,这似乎成功地传递了 IP 地址,但这意味着每台使用此应用程序的机器都会更改为使用主机地址。

谢谢

0 投票
3 回答
2493 浏览

networking - SCTP 是否适合点对点应用程序?

我正在考虑对用 C 编写的 p2p 应用程序使用SCTP而不是 TCP。我应该这样做吗?另外,SCTP 的速度与 TCP 的速度相比如何?

编辑:我发现SCTP 可以通过 UDP 建立隧道,唯一的问题是隧道 SCTP 不能与非隧道 SCTP 互操作。

0 投票
3 回答
2351 浏览

linux - SCTP 是否像使用 Linux 宣传的那样工作?

我打算将 SCTP 用于嵌入式 Linux 项目。任何人对 SCTP 的使用有一些评论,主要是一对多模式?它是否优于使用自制的基于 UDP 的等效解决方案?

我控制网络环境和所有涉及的设备,所以兼容性不是问题。

0 投票
1 回答
1036 浏览

networking - 二郎哈希树

我正在开发一个使用哈希树的 p2p 应用程序。

我正在编写哈希树构造函数(publ/4 和 publ_top/4),但我看不到如何修复 publ_top/4。

我尝试用 publ/1 构建一棵树:

有问题的代码在这里:

http://github.com/AndreasBWagner/nivoa/blob/886c624c116c33cc821b15d371d1090d3658f961/nivd.erl

你认为问题出在哪里?

谢谢你,安德烈亚斯

0 投票
11 回答
51830 浏览

networking - 为什么 SCTP 没有太多使用/知道

我最近查阅了 Richards Stevens 的《UNIX Network Programming, Vol. 1》一书,发现除了 TCP 和 UDP 之外还有第三种传输层标准:SCTP

总结:SCTP 是一种传输层协议,它像 UDP 一样是消息驱动的,但像 TCP 一样可靠。这是来自 IBM DeveloperWorks 的简短介绍

老实说,我以前从未听说过 SCTP。我不记得在任何网络书籍中读过它或在我上过的课程中听说过它。阅读其他提到 SCTP 的 stackoverflow 问题表明,我并不是唯一一个缺乏知识的人。

为什么 SCTP 如此不为人知?为什么用的不多?

0 投票
4 回答
6033 浏览

.net - .NET SCTP 实现

我正在寻找SCTP协议的 .NET 实现。组件或 C#/F# 源代码将是首选,但是如果没有这样的东西可用,VB.NET 源代码也可能工作。我正在处理的项目是针对 .NET Framework v3.5,但任何适用于 .NET v2 到 v4 的项目都是受欢迎的。

0 投票
3 回答
15201 浏览

windows - 各种 Windows 版本有什么样的 SCTP 支持?

各种 Windows 版本有什么样的SCTP支持?

0 投票
1 回答
2721 浏览

sockets - 具有多宿主功能的 SCTP 作为 TCP 的替代品

SCTP具有本机多宿主支持,如果我理解正确,如果主接口出现故障,它将自动通过辅助 NIC 重新路由您的数据包。如果我的主 NIC 出现故障,我通过编写自定义路由守护程序来修改路由表,从而使用 TCP 复制了此功能。我想尝试SCTP改用。

在 Steven 的Unix Network Programming V1 第 3 版第 288 页中,它说:

对于此示例,我们使用一对多样式的服务器。我们做出这个选择有一个重要原因。第 5 章中的示例可以通过SCTP一个小改动进行修改:修改socket 函数调用以指定 IPPROTO_SCTP而不是 IPPROTO_TCP作为第三个参数。但是,简单地进行此更改不会利用SCTP 除多宿主之外的任何附加功能。

现在我已经尝试过了,结果相当糟糕。

我在安装了 libsctp1、libsctp-dev 和 lksctp-tools 软件包的 Ubuntu 9.04 上运行。我已经用 lksctp-tools 验证了SCTP它工作正常。

我采用了UNP 示例代码并按照上述~/unpv13e/tcpcliserv/tcpserv04.c~/unpv13e/select/tcpcli02.c程序进行了修改。

这是一个简单的回显服务器/客户端对。服务器显然在监听,但客户端退出时说连接被拒绝。由于 netstat 不支持SCTP我使用lsof -n | grep tcpserv的它向我展示了:

除了 tcpserv04 打开了某种套接字之外,这似乎并没有告诉我太多。

我已经在 perl 中重写并测试了原始 TCP 客户端,所以我将它切换到 sctp 并且能够连接,尽管在 stdin 上管道文件并没有完全工作(通过接收回声的方式挂了大约 2/3) .

似乎 UNP 暗示将 TCP 应用程序移植到 SCTP 以利用多宿主是微不足道的,但基于这种简单的尝试似乎并非如此。

在将 TCP 应用程序移植到一对一样式的 SCTP 以利用多宿主时,任何人都可以为我指出一个好的教程或就任何要注意的问题提供好的建议吗?

0 投票
1 回答
1672 浏览

perl - 选择在关闭的 SCTP 套接字上返回 0

这与以下问题有关: SCTP with Multihoming as a Drop In Replacement for TCP

我有一个简单的回显客户端/并发服务器应用程序,它使用 TCP 运行得非常好。我可以通过管道将文件传输到客户端上的标准输入,客户端将接收所有数据,调用select将返回 1 指示套接字是可读的,然后对 read 的调用将返回 0 指示 EOF / FIN。然后客户端将退出。一切都很好。

但是,SCTP 上的相同应用程序会导致问题。所做的唯一更改是从 IPPROTO_TCP 到 IPPROTO_SCTP。服务器分叉,回显数据,孩子退出并由父母收割。客户端接收到所有数据,但之后select不断返回 0 个准备就绪的描述符(如果没有我添加的超时,它将永远挂起)。

世界上到底发生了什么?

这是客户端的代码:

请记住,这可以通过 TCP 完美运行。我在 Ubuntu 9.04 上安装了所有需要的 sctp 包。