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

路由协议分类精讲


一、核心概念图解

plaintext

复制

          ┌───────────────┐    ┌───────────────┐
          │ 自治系统A     │    │ 自治系统B     │
          │   (AS 100)   │    │   (AS 200)   │
          │  ┌───────┐   │    │  ┌───────┐   │
          │  │ OSPF │   │    │  │ OSPF │   │
          │  └───────┘   │    │  └───────┘   │
          │       ▲      │    │       ▲      │
          └───────┼──────┘    └───────┼──────┘
                  │                   │
          ┌───────▼───────────────────▼───────┐
          │            BGP (TCP 179)          │
          └──────────────────────────────────┘
                 互联网骨干路由器
二、协议分类详解
类型作用范围典型协议特点类比
IGP自治系统内部RIP, OSPF关注最短路径,收敛快公司内部通讯录
EGP自治系统之间BGP策略路由,稳定性优先公司间商务合作联系人
传输协议端到端通信TCP, UDP与路由无关快递运输车辆

三、重点协议对比

1. BGP vs OSPF

维度BGPOSPF
路由计算基于路径属性(AS_PATH等)Dijkstra最短路径算法
收敛速度慢(分钟级)快(秒级)
适用规模全球互联网单个AS内部
传输层TCP 179IP协议直接封装

2. 典型配置场景

  • 企业网络:OSPF管理内网 + BGP连接ISP

  • 数据中心:OSPF作Underlay + BGP EVPN作Overlay


四、常见误解澄清
  1. 误区:"UDP是路由协议"
    正解:UDP/IP协议栈中的传输层协议,与路由选择无关

  2. 易混点

    • EGP(旧协议)≠ BGP(现代唯一使用的EGP)

    • IGP既包含距离矢量(RIP)也包含链路状态(OSPF)


五、BGP关键机制
  1. 路径属性

    • AS_PATH:记录路由经过的AS序列(防环路)

    • NEXT_HOP:指示下一跳地址

    • LOCAL_PREF:控制出站流量优先级

  2. 选路原则(简化版)

    plaintext

    复制

    1. 优选最高WEIGHT(思科私有)  
    2. 优选最高LOCAL_PREF  
    3. 优选最短AS_PATH  
    4. 优选ORIGIN代码(IGP>EGP>INCOMPLETE)  

六、真题强化训练

题目:某企业需要同时连接电信(AS 4134)和联通(AS 4837),应部署哪种协议?
选项
A) 部署OSPF实现双线负载均衡
B) 用BGP实现多归属连接
C) 配置RIP动态学习路由
D) 使用静态路由指定出口

答案:B
解析

  • OSPF/RIP不能跨AS使用(排除A/C)

  • 静态路由无法动态适应运营商路由变化(排除D)

  • BGP支持:

    • 接收两家ISP的全网路由表

    • 通过MED/LOCAL_PREF调整优先级

    • 故障时自动切换


总结:理解IGP/EGP的区别,关键要抓住"自治系统边界"这个分界点。BGP作为互联网的"外交官协议",其策略路由能力是构建复杂网络互联的基础。

http://www.dtcms.com/a/107680.html

相关文章:

  • TrollStore(巨魔商店)介绍及操作手册
  • C 标准库 - `<ctype.h>`
  • Vue el-table-column内el-tooltip识别换行符 \n
  • Mysql的安装
  • java 使用 spring AI 实战MCP
  • centos-LLM+EmbeddingModel+VectorDB-简单模型
  • Aliee,Bengio and Theis:细胞数据上的因果机器学习
  • 代理模式-spring关键设计模式,bean的增强,AOP的实现
  • Spring SpringBoot 细节总结
  • 【ROS】 CMakeLists 文件详解
  • 大数据Spark(五十六):Spark生态模块与运行模式
  • 《 C语言中的变长数组:灵活而强大的特性》
  • 【git项目管理】长话短说
  • JVM生产环境问题定位与解决实战(六):总结篇——问题定位思路与工具选择策略
  • 如何给槽函数传递用户的参数
  • Vue3的组件通信
  • 博卡软件管理中心8:赋能美容美发行业数字化转型的智能解决方案
  • TensorFlow实现逻辑回归
  • 释义ES6中的箭头函数
  • 源码编译安装nginx和php
  • 透过 /proc 看见内核:Linux 虚拟文件系统与 systemd 初始化初探
  • 表面法线估计(Surface Normal Estimation)
  • CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例
  • 为什么 js 对象中引用本地图片需要写 require 或 import
  • Windows 实战-evtx 文件分析--笔记
  • 国标GB28181视频监控平台EasyCVR保驾护航休闲娱乐“九小场所”安全运营
  • 基于Python设计的TEQC数据质量可视化分析软件
  • JavaScript基础-移动端常用开发插件
  • 从零开始学java--常用工具类介绍
  • obsidian ios git同步