当前位置: 首页 > backend >正文

流量控制机制

基于信用(credit-based)的流量控制机制

在基于信用的流量控制中,每个下游路由器都维护了一个信用计数器,用于跟踪其可用的缓冲空间。当一个数据包(或者说flit)被成功接收后,下游路由器会向上游路由器发送一个信用(credit),表示它已经释放了一个缓冲位置。当上游路由器收到信用后,它就知道可以发送一个新的数据包。

  这种机制的好处是它可以避免网络拥塞和数据包的丢失。由于每个路由器都知道其下游路由器的可用缓冲空间,所以它们不会发送超出能力的数据包。
 

基于握手(handshaking)的流量控制机制

基于握手的流量控制,比如在AXI(Advanced eXtensible Interface)总线协议中使用的机制,是一种请求-确认协议。在这种机制中,发送者在发送数据包之前首先发送一个请求信号给接收者。如果接收者有足够的缓冲空间,它就会返回一个确认信号,然后发送者才会发送数据包。

  这种机制的好处是它可以精确地控制数据的发送,从而避免网络拥塞。然而,由于每次发送数据都需要先进行请求和确认,所以它的性能可能会受到一些影响。

Wormhole packet switching flow-control

在此策略中,一条消息被分割成多个小的数据包,或者称为flits(flow control digits)。这些flits会立即被发送到网络中,而不是等待整个消息都被装入缓冲区。这样可以减少数据在网络中的延迟时间。每个flit按照顺序路由,使得在路由过程中只需要很小的缓冲区。这就是它被称为“虫洞”路由的原因——数据就像是在虫洞中穿越,瞬间从一点传到另一点。

基于窗口(Window-based)的流量控制

这种方法通常用于传输控制协议(TCP)中。发送方维护一个窗口,窗口大小表示可以发送并且没有被确认的数据包的数量。当接收方确认了一个数据包,窗口就会向前滑动,允许发送方发送更多的数据包。

基于速率(Rate-based)的流量控制

这种方法中,发送者和接收者协商一个数据的发送速率,然后发送者根据这个速率来发送数据。这种方法可以在一些高速网络中使用,例如ATM(异步传输模式)网络。

基于反馈(Feedback-based)的流量控制

这种方法中,接收方根据其当前的资源使用情况(例如,缓冲区的使用情况或处理器的使用情况)向发送方反馈信息。发送方根据这个反馈来调整其数据的发送速度。

基于优先级(Priority-based)的流量控制

在这种策略中,数据包根据其重要性或紧急性被赋予不同的优先级。网络设备根据这些优先级来决定数据包的发送顺序。

http://www.xdnf.cn/news/2951.html

相关文章:

  • 拆固态硬盘短接开卡+ as ssd benchmark查看硬盘读写速度
  • 基于STM32、HAL库的ADS8866IDGSR模数转换器ADC驱动程序设计
  • 华为云Astro大屏从iotda影子设备抽取数据做设备运行状态的大屏实施步骤
  • Android——Serializable和Parcelable
  • Spring、Spring MVC 与 Spring Boot 的关系与核心用途
  • 什么是全景相机?
  • jenkins slave节点打包报错Failed to create a temp file on
  • Android学习总结之Bitmap篇
  • 《数学物理方程》——第一章 引入与基本概念
  • 【AI工具】DeepWiki试用
  • 第十六届蓝桥杯 C/C++ B组 题解
  • 私有云与虚拟化攻防2(OpenStack渗透场景,大部分云平台都是基于此进行二次开发)
  • C++ 类和对象(3)初始化列表、友元函数、内部类
  • 创龙全志T536全国产(4核A55 ARM+RISC-V+NPU 17路UART)工业开发板硬件说明书
  • 免费IP证书申请
  • leetcode day37 474
  • 【论文阅读】PEEKABOO: Interactive Video Generation via Masked-Diffusion
  • 【神经网络与深度学习】改变随机种子可以提升模型性能?
  • DotNet 入门:(一) 环境安装
  • ElasticSearch入门
  • MYSQL三大日志、隔离级别(MVCC+锁机制实现)
  • 代码颜色模式python
  • 五种机器学习方法深度比较与案例实现(以手写数字识别为例)
  • 生活需要一些思考
  • 设计模式 | 详解常用设计模式(六大设计原则,单例模式,工厂模式,建造者模式,代理模式)
  • 力扣——206.反转链表倒序输出链表
  • Android开发——实现一个计算器
  • Nerfstudio 环境配置与自有数据集(图片和视频)测试全方位全流程实战【2025最新版!!】
  • PyTorch实际上是按照**行优先(Row-Major)**的方式存储数据
  • 基于Arduino的STM32F103RCT6最小系统板的测试及串口通讯