网络中的流量控制

网络工程 以太网 通讯协议 协议理论 传输协议 第4层
2021-07-28 19:51:17

为什么在传输层和数据链路层都实现了流量控制?如果已经在数据链路层实现了,那么还需要在传输层再次实现它吗?

3个回答

为什么在传输层和数据链路层都实现了流量控制?

因为并不是所有的传输层协议实现了流量控制

TCP 可能很流行,但使用 UDP 应用程序或完全非 IP 应用程序(例如FCOE,它严重依赖DCB/无损以太网中的流量控制的人并不多。注 1

添加到这个cpt_fink 的评论中,数据链路流控制可以作为每跳行为来实现(这基本上可以追溯到我的第一点)。根据定义,传输流控制不能这样实现。


注 1 我个人不喜欢“无损以太网”的概念,但我无法改变人们使用该术语的现实。

实际上,您必须考虑到 TCP/IP 协议不是专门为在以太网上运行而构建的。有多种链路层可用于 TCP/IP。有些可能会提供仅本地链接的流量控制(如使用 XON/XOFF 的两个串行端口之间)或类似的东西。这就是为什么 TCP 协议最终提供了一种流量控制机制,该机制在更高的级别上工作,并且足够通用以遍历多种不同类型的网络链接。

数据链路层的流量控制只延伸到 layer2 链路。IP 端点之间通常有几个第 2 层跃点。

传输层 (TCP) 的流量控制扩展了端到端并适应具有不同吞吐量/速度的 NIC/端点之间的通信。