流控制传输协议(SCTP)详解
1. 传输协议选择困境
对于只需要轻量级可靠服务的应用程序来说,在传输协议的选择上存在一些模糊性。例如,有些应用程序可能希望得到消息丢失的通知,但并不要求传输协议尝试重新传输丢失的数据。在这种情况下,应用程序有两种选择:
- 使用 TCP,并尽可能减少选项以降低开销,或许可以通过套接字 API 的运行时参数来控制本地 TCP 实现的行为。
- 使用 UDP,并通过额外的应用层协议交换来提供所需的服务级别。
不过,由于 TCP 在大多数平台上都已实现且易于使用,在协议设计和应用程序实现方面能节省成本,因此在存在疑问时,通常会选择 TCP。
2. 使用 TCP 的协议
2.1 数据批量传输协议
许多与数据批量传输相关的应用协议都使用 TCP,包括文件传输协议(FTP)、超文本传输协议(HTTP),以及电子邮件协议,如简单邮件传输协议(SMTP)和邮局协议(POP3)。
2.2 小数据传输协议
Telnet 是一个有趣的例子,它通常传输少量数据,但仍然使用 TCP。由于 Telnet 的命令 - 响应特性以及它对人类用户的即时可见性,确保消息的正确传递至关重要。
2.3 控制和路由协议
TCP 也被控制和路由协议用于传输数据,例如边界网关协议(BGP - 4)和标签分发协议(LDP)。使用 TCP 对它们来说是合理的,因为它们需要与“相邻”节点建立清晰且持久的关联,并不断交换信息。使用 TCP 意味着这些协议无需包含跟踪交换数据的方法,而是高度依赖 TCP 的可靠性。不过,许多使用 TCP 的控制和路
超级会员免费看
订阅专栏 解锁全文
3439

被折叠的 条评论
为什么被折叠?



