BGP详解

2023-05-16

BGP协议详解

BGP是一种边界网关协议。但是也属于动态路由协议

一.BGP的特征(一种外部路由协议,用来在AS之间传递路由信息,是一种增强版的距离矢量协议)
1.可靠的路由更新机制
传输协议:TCP,短口号:179(可跨越设备更新RIB)
无需周期性更新
路由更新:只发生增量路由,原因:路由表太过庞大
周期性发送Keepalive报文检测TCP连通性(与OSPF的不同点,发送的不再是hello报文)

2.丰富的METRIC度量方法
3.从设计上避免了环路的发生
4.为路由附带属性信息
5.支持CIDR
6.丰富的路由过滤的路由策略
二.BGP的报文类型

Type 1——Open(打开)消息
携带自身的能力,信息,RID,等去尽力BGP邻居

Type 2——Update(更新)消息
更新和撤销NLRI----网络层可达消息(网络前缀)—包括丰富的路由属性

Type 3——Keepalive(保持激活)消息
保持TCP活跃的。(第一个Keepalive要买回来确认邻居关系是否建立成功)

Type 4——Notification(通告)消息
差错报文,对错误的配置进行响应,具有差错检测功能,当检测到错误时,会向对等体发送notification消息,并关闭BGP连接;

Type 5——Refresh(刷新)消息
BGP刷新路由的能力

两种邻居关系:
IBGP:internal bgp(AS号码相同)
EBGP:external bgp(AS号码不同)

三.BGP通告路由的方式(建立在TCP基础上的邻居关系)
1.Network
BGP通告的为路由(本身的直连,通告从其他协议得到的路由:IGP)
2.引入路由(重分布):import-route
3.Aggregate(汇聚)产生路由
以上为产生BGP路由

IBGP通常用loopback作为更新源建立邻居关系(原因:更加稳定)

TCP的五元组(源IP,原目的端口,协议)
BGP的跟信源即是源IP(PEER xx()目的IP,connectint 100)

ebgp通常采用直连来建立邻居,也可以用环回口备份
1.在R1R2建立直连的ebgp

bgp 200
peer 123.1.1.1 as 100
bgp 100
peer 123.1.1.1 as 200

2.R1R3在环回口建立ebgp邻居(EBGP)

bgp 100
peer 33.1.1.1  as  number 200
peer 33.1.1.1  ebgp-max-hop 255
peer 33.1.1.1 connect-interface loopback 0

四.BGP的通告原则
BGP通告原则之一:连接建立时,BGP speaker 仅将自己最优的路由发给邻居
多条路径时,BGP只选择最优的路由放入路由

BGP通告原则之二:通过EBGP获得的最优路由发布给所有BGP邻居(包括 IBGP和EBGP)

BGP通告原则之三:从IBGP学到的最优路由不会发给其他的IBGP邻居、(也是IBGP的水平分割)------即IBGP路由仅仅更新一跳。

BGP通告原则之四:BGP与IGP的同步,也就是把BGP的路由表和IGP的路由表同步;华为默认关闭。

BGP不会把从IBGP得到的路由更新给EBGP邻居,除非该路由也从IGP得到。

BGP如何更新路由
最优的>IBGP仅仅传递一跳,更新给EBGP(同步规则)

成为BGP路由的途径
1.network(通告)掩码一定要准确
2.import(重分布)引入

BGP路由聚合:把路由条目数从多变少
1.自动聚合(总是不用)
汇总的结果:主类(11.1.1.1/32->11.0.0.0/8)
(范围太大,不精确)
2.手工聚合
1.>先通过静态路由或igp的协议进行汇总,本地就有一条汇总的路由,然后BGP通告汇总之后的路由。

2.>BGP专有的工具 aggregate +参数
【R1-bgp】aggregate 11.1.1.0 30 detail-suppressed
detail-suppressed------------------------抑制所有的明细,仅仅把汇总通告给邻居

A【R1-bgp】aggregate 11.1.1.0 30 detail-suppressed 直接通告

B +AS-set属性,还原本来的AS号码,(通常用于本AS不做汇总)

C suppress-policy 有些明细和汇总被通告,其他的被一只到本地

route-policy(很重要的工具)

route-policy  xx(名字)【允许或拒绝】  node +序列号-------------隐含拒绝所有
   if 条件 (ACL,前缀列表,接口,tag 等等)
   apply(修改属性)
   route-policy xx【允许】 node 20 ----------------------如果还需要允许其他就要加上序列号20等等
   any(条件)

五.BGP的路径选择
1.丢弃下一跳不可达的路由

2.优选Preference_Value值最高的路由(私有属性,进本地有效)
Preference_Value是BGP的私有属性(华为的私有属性),Preference_Value相当于BGP选路规则的Weight值,仅在本地路由器生效,Preference_Value值越大,越优先

3.优选本地优先级最高的路由

4.优选手动聚合>自动聚合>network>import>从对等体学到的

5.优选AS_Path最短的路由

6.起源类型IGP>EGP>Incomplete

7.对于来自同一AS的路由,优选MED值最小

8.优选从EBGP学来的路由(EBGP>IBGP)

9.优选AS内部IGP的Metric最小的路由如果前九条都是一样的话,就会出现负载分担但是,BGP不会让他出现负载分担的

10.优选Cluster_List最短的路由

11.优选Orginator_ID最小的路由

12.优选Router_ID最小的路由器发布的路由

13.优选具有较小的IP地址的邻居学来的路由

口诀:世界 恋爱 组织 亚洲 办公室 墓碑下的 半兽人

BGP的团队属性

最优:1.匹配路由(一种标识,表示路由)2.针对路由的过滤(几种众所周知的团队属性)
几种众所周知的团队属性
1.no-advertise:携带此属性的路由不会通告给任何BGP邻居。也就是说只传达给一个邻居

2.no-export:  携带此属性的路由不会传出本AS外,只会传给IBGP。(联邦中的小AS会传递)。

3.no-export-subconfed(local-AS):  携带此属性的路由不会传出小AS。

4.internat 携带此属性的可以任意传播不受AS的限制

配置完成需要针对邻居发送团队属性,不然默认是无效的

peer 123.1.1.2 advertise-community

BGP的反射和联邦

RR(反射器)和联邦最主要的作用:减少BGP会话(全互联),使更加清晰,用来管理大量的BGP域(一定会应用RR)
RR:只能在IBGP使用,降低对指定路由器ibgp路由通告机制的限制,允许将从IBGP对等体收到的更新信息传给IBG对等体
联邦:遵循了IBGP水平分割,,将大的AS分割称为若干个小的AS,而小的AS建立EBGP对等体关系。
RR的三种角色:RR,客户端,非客户端
对等体之间的关系
1.client只需建立维护RR之间的IBGP会话
2.RR与RR之间需要建立IBGP全互联
3.非客户端与非客户端之间需要建立IBGP全互联
4.RR与飞科魂断之间需要建立IBGP全互联

路由反射原则
①从EBGP学来的路由会发给所有的客户端和非客户端

②从非客户端学来的路由会发给所有的客户端

③从客户端学来的路由会发给除了该客户端以外的所有客户端和非客户端

路由反射簇(防止AR内部的环路,可选的非过度属性,属性编码为10)

当RR在他的客户端和非客户端之间反射路由,RR会把本地的CLaster-ID添加到C-List中,如果没有C-LIST则创建,当RR接收到一条更新路由的时候,RR会检查C-List,如果C-list中已有本地C-id, 丢弃该路由,若无,则将其加入C-L中,然后反射该更新路由

起源ID(Originator-ID)(客户端与非客户端之间防环)
将一条路由第一次被RR反射的时候,RR将O-ID属性加入到这条路由,表示这条路由的始发路由器,如果这一条路由器已经存在了Originator属性,则RR不会创建新的O-ID和本地R-ID,当其他的BGP-S 接收到这条路由时,将比较收到的O-ID和本地R-ID,如果两个ID相同,BGP Speaker会忽略这条路由,不做处理

BGP联邦(一般不会用,因为需要把所有的BGP拿掉,风险太大)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BGP详解 的相关文章

  • NIST BGP SRx的使用

    NIST BGPsec的使用 地址 xff1a https github com usnistgov NIST BGP SRx 推荐使用centos 7 安装依赖包 xff0c 就是CAT CONTENT grep requires下面那个
  • BGP路由技术详解(一)

    BGP路由技术详解 xff08 一 xff09 前言一 BGP路由协议概述1 BGP定义2 BGP的特点3 BGP分类4 BGP的路径矢量特征5 BGP的路由器6 BGP Peer 二 自治系统AS的概念1 定义2 AS号3 传输AS中的路
  • 用quagga建立BGP会话

    本文将讲述使用quagga建立一个BGP会话 本次测试拓扑 假设运营商A与运营商B建立BGP对等互联来交换路由 下面是她们的AS号和IP地址范围 xff1a 运营商 A AS38372 xff0c IP段 172 16 0 0 16 xff
  • BGP的同步

    实验原理 xff1a BGP 同步规则 xff1a BGP 路由器不应使用通过 IBGP 获悉的路由或将其通告给外部邻居 xff0c 除非该路由是本地的或通过 IGP 获悉的 如果启用了同步 xff0c 则路由器通过 IBGP 获悉路由后
  • dis bgp peer 查看状态的 connect_BGP介绍(一)

    BGP简介 介绍BGP的定义 目的和受益 定义 边界网关协议BGP xff08 Border Gateway Protocol xff09 是一种实现自治系统AS xff08 Autonomous System xff09 之间的路由可达
  • bgp状态idle什么原因_BGP报文和BGP邻居状态

    BGP 有 5 种 message 1 Open code 1 xff1a 用于建立连接 xff0c 包含版本号 如 BGP3 BGP4 Hold Time xff1d 90s RFC1771 规定的 是一个协商的过程 xff0c 以较小的
  • 2021-06-25 SONiC 系统BGP配置命令

    2021 06 25 SONiC 系统BGP配置命令 SONiC系统BGP配置 SONiC系统所默认包含的BGP模块在201811版的SONiC之前是开源的Quagga软件 xff0c 之后改成了更流行的FRR FRR中的Show命令是以
  • BGP协议

    BGP协议 工作层工作原理BGP简单配置 含密码认证配置个人图解BGP 工作层 BGP是工作在应用层的协议 xff0c 但基于传输层的TCP协议 工作原理 路由协议通常分为内部网关协议 xff08 IGP Interior Gateway
  • 边界网关协议BGP——距离矢量路由协议

    目录 动态路由的分类 1 按自治系统分为 2 按协议类型分类 BGP概念自治系统AS xff1a BGP路由协议的特点 xff1a BGP分类 xff1a BGP的路由器号 xff08 Router ID xff09 xff1a BGP工作
  • 什么是BGP

    文章目录 1 基本概念什么是BGPBGP路由协议的特点IBGP水平分割规则BGP的路由器号 Router ID BGP工作原理BGP分类 1 基本概念 自治系统 xff0c 指的是在同一个组织管理下 使用相同策略的设备的集合 xff1b 不
  • BGP路由协议

    特点 BGP是一种外部网关协议 xff08 EGP xff09 xff0c 不擅长路由计算 xff0c 擅长路由控制 OSPF ISIS等内部网关协议 xff08 IGP xff09 xff0c 擅长路由计算 xff0c 不擅长路由控制 B
  • BGP LinkState

    BGP LinkState xff1a 描述链路状态的路由协议 xff0c 一共由3部分组成 xff0c Node 43 Link 43 Prefix 通过查看prefic的detail信息查看sid xff0c 每个prefix都有一个s
  • BGP边界网关协议基础知识点

    BGP xff1a 边界网关协议 AS 自治系统 由单一机构或组织管理的一系列IP网络机器设备的集合 网络范围太大 xff0c 协议跑不过来 xff0c 需要进行划分自治管理 为了方便区分和标定不同AS xff0c 我们给每个自治系统设计了
  • BGP→→

    BGP 4 提供了一套新的机制以支持无类域间路由 这些机制包括支持网络前缀的通告 取消 BGP 网络中 类 的概念 BGP 4 也引入机制支持路由聚合 xff0c 包括 AS 路径的集合 特点 BGP属于外部或域间路由协议 BGP的主要目标
  • BGP、OSPF、MPLS路由协议RFC分享

    文章目录 1 概述1 1 BGP1 2 OSPF1 3 MPLS 2 分享2 1 rfc 42712 2 rfc 31072 3 rfc 43642 4 rfc 44562 5 rfc 45772 6 rfc 47242 7 rfc 476
  • BGP详解

    BGP协议详解 BGP是一种边界网关协议 但是也属于动态路由协议 一 BGP的特征 xff08 一种外部路由协议 xff0c 用来在AS之间传递路由信息 xff0c 是一种增强版的距离矢量协议 xff09 1 可靠的路由更新机制 传输协议
  • BGP邻居状态机

    idle connect 已经建立完成了TCP三次握手 open sent open confirm establish connect 和 active 都是 TCP 连接阶段 active 是发起方 connect 是应答方 Idle
  • 路由器学习总结

    路由器在网络中的作用至关重要 就好像我们坐公交车到某个地方 公交车肯定不是一站直达的 中间要经过许多个公交站点 网络中数据的传输也是一样 源地址与目标地址之间并不是直接到达的 中间也要经过一系列的路由器转发 所以路由器的作用 就是用来转发数
  • 【实验分享】CCIE—BGP反射器实验

    实验目的 l掌握BGP反射器的运行原理 l理解反射器的用途以及好处 实验说明 l通过此实验练习 可以灵活的使用BGP反射器 实验环境 l三台支持SPSERVICES的IOS的路由器 l直通线 实验拓扑 实验步骤 R1 config inte
  • ubuntu 下实现 docker+ovs+quagga搭建网络---bgp

    注 本机上现有quagga镜像 ovs虚拟交换机 2 9 1 docker 18 09 7 实现bgp网络搭建 1 sudo ovs vsctl add br br1 增加一个ovs网桥br1 2 sudo docker images 查看

随机推荐

  • 渗透测试工具学习笔记(3)——wireshark

    manjaro安装GUI版本 xff1a yaourt S wireshark qt 需用sudo wireshark图形化版本以顺利使用全部功能 抓包嗅探协议分析 安全专家必备的技能 抓包引擎 Libpcap9 Linux Winpcap
  • PostgreSQL操作

    一 进入PostgreSQL数据库 Linux下切换到postgres用户 xff0c 执行psql即可进入 span class token function su span postgres bash 4 4 psql 此时就进入pos
  • 渗透测试工具学习笔记(4)——tcpdump

    no GUI的抓包分析工具 Linux Unix系统默认安装 说是这么说但是manjaro下没有 xff0c pacman一下即可 抓包 xff1a 默认只抓68个字节 i interface s snaplen 大小 w file tcp
  • 渗透测试工具学习笔记(5)——dradis、keepnote、truecrypt

    过程文档记录工具 1 dradis 导入导出扫描器日志 webapp 默认在http 0 0 0 0 3000 2 keepnote 层级化 3 truecrypt 加密工具 已停止更新 官方原因是安全性不够 xff0c 但实际使用却依然较
  • 渗透测试工具学习笔记(6)——nplookup(被动信息收集)

    被动信息收集 34 开源智能 34 open source OSINT 都是公开渠道可获得的信息 与目标系统不产生直接交互 尽量避免留下一切痕迹 Passive reconnaissance no direct interaction gt
  • PCL学习笔记——合并点云

    合并点云分为两种类型 xff1a 第一种是两个点云数据集的字段类型和维度相同 xff0c 合并之后点云只是点的数量增加了 xff1b 第二种是两个点云数据集的字段类型或维度不同 xff0c 但是点的数量相同 xff0c 合并之后相当于扩展了
  • 云服务器的图形界面的安装和远程连接xfce4 + VNC

    对于阿里和腾讯的云服务器学生价真的很优惠 xff0c 但是对于凑热闹买的我还是个小白 xff0c 我想装一个图形界面 xff08 特别是最近在用腾讯的CVM做HIT操作系统的实验 xff0c 其中有个软件必须要显示图形界面 xff09 较为
  • 【ROS学习】-tf学习(tf_monitor、tf_echo、static_transform_publisher、view_frames)

    写在前面 本文的内容主要来自 ros wiki 上的教程 xff1a http wiki ros org tf 简短总结 xff1a tf monitor 将当前的坐标系转换关系打印到终端控制台 tf echo lt source fram
  • Ubuntu使用WPS打开文档出现缺失字体情况解决方法

    一 问题描述 Ubuntu 通过官网下载deb安装 WPS 之后 xff0c 打开文档出现字体缺失的问题 xff1a 二 解决方法 下载缺失的字体 xff0c 百度网盘下载链接 xff08 TODO xff09 xff0c 然后解压 xff
  • PendSV中断服务函数

    之前在系统滴答定时器中断服务函数中调用API函数xPortSysTickHandler xff09 xff0c xPortSysTickHandler xff09 函数中通过向中断和状态寄存器的bit28写入1来启动PendSV中断 xff
  • 基于sumo和车牌识别数据的城市仿真

    前言 最近希望能仿真出一个城市的交通状态 xff0c 也就是知道在不同的需求加载下城市宏观交通状态的变化情况 xff0c 同时 xff0c 因为我手头有车牌识别数据 xff0c 因此需求将来自于车牌识别数据 但是仿真过后发现 xff0c 并
  • Linux:mkdir命令详解(-p,--verbose,-v,--version,-m,-Z,--context)

    Content 1 mkdir是什么2 mkdir使用2 1 version2 2 verbose v2 3 p parents 2 4 m mode 61 MODE2 5 Z2 6 context 61 CTX 2 6 1 单纯 cont
  • Python使用阿里云发送短信的两种方式

    参考文档https help aliyun com document detail 215764 html 安装依赖包 pip install alibabacloud tea openapi pip install alibabaclou
  • 手机投屏到电脑(以win10系统为例)

    总目录 文章目录 总目录前言一 电脑设置1 安装无线显示器2 完成投影偏好设置3 启动连接应用 二 手机设置三 优缺点分析总结 前言 手机投屏到电脑个人实操记录 一 电脑设置 1 安装无线显示器 首先win 43 i 进入设置 xff0c
  • 关于 nginx 配置ssl 无法访问,解决过程

    1 单独访问 以IP 43 端口的形式访问或 接口查看是否通 这是验证自己的服务或接口没有问题 2 单独以最简单的形式启动nginx 记住是最简单 xff0c 没有多余配置 xff0c 都是默认的 这是验证nginx启动没有问题 3 检查端
  • 1、FreeRTOS使用,Main函数中需要做的事情

    1 硬件初始化 xff08 也可以放在SystemInit中 xff09 时钟初始化 中断优先级分组 中断优先级分配 xff08 设置 xff09 外设初始化 xff08 时钟 xff0c GPIO xff0c 配置参数 xff0c 是否使
  • ubuntu22.04系统配置(一)(后续有kali的配置)

    ubuntu22 04系统配置深度学习 xff08 一 xff09 xff08 后续有kali的配置 xff09 摘要系统下载以及U盘拷贝系统的基本配置nvidia smi 摘要 配置这个东西真的踩了好多坑 xff0c 之前一直用的Wind
  • GINet:Graph Interaction Network for Scene Parsing(ECCV 2020)详解

    论文地址 xff1a https arxiv org pdf 2009 06160 pdf 一 背景 Scene Parsing 任务属于语义分割的一个分支 xff0c 也是把每个像素点分成一个具体的语义类别 xff0c 它和常见的语义分割
  • C++ string切割,分解字符串,C 库函数 - strtok()

    声明 下面是 strtok 函数的声明 char strtok char str const char delim 参数 str 要被分解成一组小字符串的字符串 delim 包含分隔符的 C 字符串 返回值 该函数返回被分解的第一个子字符串
  • BGP详解

    BGP协议详解 BGP是一种边界网关协议 但是也属于动态路由协议 一 BGP的特征 xff08 一种外部路由协议 xff0c 用来在AS之间传递路由信息 xff0c 是一种增强版的距离矢量协议 xff09 1 可靠的路由更新机制 传输协议