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

Linux Bridge Cost

文章目录

      • 核心概念解释
      • 成本值如何计算?
      • 实际应用场景
      • 管理端口成本
      • 为什么需要关注端口成本?

在 Linux 的桥接(bridge)网络中,cost 后面的数字表示端口路径成本(Port Path Cost),这是生成树协议(Spanning Tree Protocol, STP)中的关键参数。它的作用和含义如下:

核心概念解释

  1. 路径成本(Path Cost)

    • 这是一个衡量桥接端口的相对速度/带宽的数值
    • 用于 STP 计算到达根桥(Root Bridge)的最优路径
    • 数值越小表示路径越好(成本越低)
  2. 在您的输出中的具体表现

    eth0: ... cost 5   # 成本值 = 5
    eth1: ... cost 19  # 成本值 = 19
    

    这表示:

    • eth0(成本5)比 eth1(成本19)路径更优
    • STP 会优先选择 eth0 作为转发路径

成本值如何计算?

链路速度旧标准成本(802.1D-1998)新标准成本(802.1D-2004)
10 Mbps1002,000,000
100 Mbps10200,000
1 Gbps420,000
10 Gbps22,000
40 Gbps-500
100 Gbps-200

您的成本值(5和19)说明

  • 可能是自定义设置(非默认自动计算)
  • 或者在使用新的成本标准(如 200,000 = 100Mbps 变成 5)

实际应用场景

成本 5
成本 19
根桥
网桥1
网桥2
  1. 路径选择

    • 当网桥2要访问根桥时
    • 直接路径成本=5(优)
    • 间接路径:网桥2→网桥1→根桥 成本=5+19=24(劣)
  2. 故障切换

    • 如果 eth0(成本5)故障
    • STP 会自动切换到 eth1(成本19)路径

管理端口成本

  1. 查看当前成本

    bridge link show
    
  2. 修改端口成本

    # 临时修改(立即生效)
    sudo ip link set dev eth1 type bridge_slave cost 10# 持久化修改(不同系统方法不同)
    # Ubuntu网络配置示例:
    # 在 /etc/netplan/*.yaml 中增加:
    #   bridges:
    #     br-down:
    #       interfaces: [eth0]
    #       parameters:
    #         stp: true
    #         stp-priority: 32768
    #         stp-port-costs: ['eth0=5'] 
    
  3. 查看STP拓扑

    bridge stp show
    bridge stp show br-down
    

为什么需要关注端口成本?

  1. 优化网络流量

    • 确保高速链路被优先使用
    • 避免低速链路成为瓶颈
  2. 防止环路

    • STP 依赖成本值构建无环拓扑
    • 错误成本配置可能导致次优路径或网络问题
  3. 故障恢复

    • 当主要链路失效时(cost=5),
    • 备份链路(cost=19)可自动接管

注意:在不需要防环的简单网络(如家庭网络)中,可以禁用 STP,但在复杂企业网络中,正确的成本设置对网络性能至关重要。

http://www.lryc.cn/news/596577.html

相关文章:

  • Java常用API(1)
  • csp基础知识——递推
  • 激光雷达-自动驾驶的“三维感知中枢“
  • postgresql导入导出数据;pg_restore: error: did not find magic string in file header
  • 学习pwn需要的基本汇编语言知识
  • 快速了解pandas库
  • Unity之C# 脚本与Unity Visual Scripting 交互
  • 嵌入式开发学习(第三阶段 Linux系统开发)
  • Model Control Protocol 使用MCP进行各种任务适配,调用工具和资源进行客户端开发
  • 基于AD7147电容触摸芯片与STC12C5A60S2单片机方案
  • SQL基础④ | 多表查询篇
  • AG32 mcu+cpld 联合编程(概念及流程)
  • OpenMVG OpenMVS 安装全流程常见问题与解决方法总结
  • 学习软件测试的第十九天
  • imx6ull-系统移植篇18——linux顶层 Makefile(下)
  • API是什么,如何保障API安全?
  • Springboot和postman的使用
  • XSS内容分享
  • 智能泵房监控系统:物联网应用与智能管理解决方案
  • Qt中QObject类的核心作用与使用
  • Qt 事件处理机制深入剖析
  • List<UserInfo> list = new ArrayList<>();为什么要这样创建数组?
  • 如何用keepAlive实现标签页缓存
  • 从 COLMAP 到 3D Gaussian Splatting
  • 滑动窗口经典问题整理
  • langchain4j之RAG 检索增强生成
  • Linux操作系统之线程(六):线程互斥
  • TCP day39
  • 质量即服务:从测试策略到平台运营的全链路作战手册
  • 重生学AI第十九集:VGG16的使用以及模型的保存与加载