CCNP14-BGP基础

2023-11-10

一、概念

BGP:边界网关协议
应用范围:BGP,AS之间的协议
是否携带网络掩码:携带
协议算法:无算法,有大量的规则
协议封装:基于tcp,可靠,端口号179

二、特点

1,路径矢量协议,或者AS-BY-AS
2,触发更新,存在邻居机制
3,单播更新
4,存在大量属性进行选路
5,使用open报文建立邻居,使用keepalive报文维持邻居关系,间隔60s,hold时间为180s
6,支持路由认证
7,支持路由聚合(汇总)
8,消耗路由器资源,一台路由器只能运行一个BGP进程
9,可以在进项和出项对流量实施强大的策略–可控性

三、数据包

Open:存在hold time 和 route-id;用于邻居关系建立;默认仅收发一次即可;
Keeplive:用于保活TCP会话,周期1min,hold time 180s
Update:更新包,用于通告和撤销路由,路由条目: 目标网络号及掩码+ 属性
Notification:报错包,错误信息出现时发送

四、邻居关系,名词解释

公有AS号:1-64511 私有AS号:64512-65535
peers:对等体,就是邻居关系,因为BGP可以非直连建邻
EBGP:不同AS设备建立的BGP邻居关系,通过该关系学习到的路由条目管理距离为20
IBGP:同一个AS设备建立的BGP邻居关系 ,通过该关系学习到的路由条目管理距离为200

五、BGP的防环机制—水平分割

1、EBGP水平分割 –防止EBGP环路;
利用as-pash属性,该属性为路由条目在传递过程中将记录所有经过的AS编号;接收到的路由条目中,若存在本地的AS号,将拒绝;
2、IBGP水平分割—防止IBGP环路;
AS-BY-AS,条目在一个AS内部传递过程中,其属性不变化;
IBGP水平分割—从一个IBGP邻居处学习到的路由条目不得传递给本地的另一个IBGP邻居;
导致IBGP邻居关系的建立数量成指数增长,可以使用联邦和路由反射器来打破;

六、BGP的工作过程

工作过程
1,IP可达 –IGP让两个建立BGP邻居的IP地址可以互相访问
2,单播通过TCP的三次握手,建立TCP的会话;
3,会话建立后,BGP收发一次open报文,建立邻居关系,生成邻居表;
4,邻居关系建立后,使用update携带路由信息传递到邻居处;
5,收集所有的路由信息后,生成BGP表;—本地发出及接收到所有路由信息;
默认将BGP表中,最优路径加载于路由表中;收敛完成,仅keeplive周期保活即可;
结构突变:
1、 新增—出现新增网段时,BGP设备通过IGP协议获知,若新增网段不是被汇总路由中的一条,而是一条明细路由;BGP设备将使用更新包告知邻居;
2、 断开出现断开网段时,BGP设备通过IGP协议获知,若断开网段不是被汇总路由中的一条,而是一条明细路由;BGP设备将使用更新包告知邻居;
3、 无法沟通—hold time超时时,断开TCP会话,删除所有从给邻居学习到的路由条目;
能否重间邻居关系,关注TCP会话是否可以重建,OPEN报文是否能够正常收发;
邻居状态

Down 关闭BGP状态
idle 开始建立TCP连接状态
Connect (active) TCP会话建立完成
Opensent (openconfirm) 发送open
Established BGP邻居建立

七、基本配置

在这里插入图片描述
R1所在AS 1,R2,R3,R4所在AS 234,R5所在AS5
一,建立IBGP邻居
1,同一个AS内保证IGP路由可达
即R2,R3,R4运行IGP协议,这里运行eigrp保证AS 234内全网可达
2,建立IBGP邻居
在AS 234内

R2(config)#router bgp 234	//定义AS号,没有多进程概念,只能运行一个bgp进程
R2(config-router)#bgp router-id 2.2.2.2				 //router-id和ospf选举规则一样
R2(config-router)#neighbor 4.4.4.4 remote-as 234	 //邻居的IP地址和AS号
R2(config-router)#neighbor 4.4.4.4 update-source lo0 //使用环回建立邻居时,修改更新源为环回接口

R4(config)#router bgp 234
R4(config-router)#bgp router-id 4.4.4.4
R4(config-router)#neighbor 2.2.2.2 remote-as 234
R4(config-router)#neighbor 2.2.2.2 update-source lo0

R2#sho ip bgp summary 
BGP router identifier 2.2.2.2, local AS number 234
BGP table version is 1, main routing table version 1	//表更新了几次,version就是几

Neighbor        V          AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
4.4.4.4         4        234       5       6        1    0    0 00:03:54

二,建立EBGP邻居
AS 1和AS 234,AS 234和AS 5
1,EBGP建立邻居时使用环回接口,必须保证两个环回接口互相可达

R1(config)#ip route 2.2.2.0 255.255.255.0 12.1.1.2
R2(config)#ip route 1.1.1.0 255.255.255.0 12.1.1.1
R4(config)#ip route 5.5.5.0 255.255.255.0 45.1.1.2
R5(config)#ip route 4.4.4.0 255.255.255.0 45.1.1.1

2,建立EBGP邻居

R1(config)#router bgp 1
R1(config-router)#bgp router-id 1.1.1.1
R1(config-router)#neighbor 2.2.2.2 remote-as 234
R1(config-router)#neighbor 2.2.2.2 update-source lo0
R1(config-router)#neighbor 2.2.2.2 ebgp-multihop 2 //默认IBGP邻居间数据包的TTL值为255,EBGP邻居间为1,则EBGP邻居间使用环回接口建立邻居,则要修改egbp多跳为2

R2(config)#router bgp 234
R2(config-router)#neighbor 1.1.1.1 remote-as 1
R2(config-router)#neighbor 1.1.1.1 update-source lo0
R2(config-router)#neighbor 1.1.1.1 ebgp-multihop 2

R1#sho ip bgp summary 
BGP router identifier 1.1.1.1, local AS number 1
BGP table version is 1, main routing table version 1

Neighbor        V          AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2.2.2.2         4        234       3       2        1    0    0 00:00:07        0

R4和R5同理

八、BGP的三张表

1,简化邻居表

R2#sho ip bgp summary 
BGP router identifier 2.2.2.2, local AS number 234
BGP table version is 1, main routing table version 1

Neighbor        V          AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
1.1.1.1         4          1    1270    1271        1    0    0 21:17:29        0
4.4.4.4         4        234       5       6        1    0    0 00:03:54        0
table version neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
这个表每更新一次,版本加1 邻居使用此接口建邻 BGP版本 邻居所属AS号 接受的消息包数量 发送的消息包数量 表版本 出向队列统计 入向队列统计 建立邻居的时间 建邻状态,建邻之后显示学习对方的路由条目数量

2,BGP的路由表

BGP协议可以逐一宣告本地路由表中任意路由,无论条目的来源,宣告时,所宣告条目的内容必须和路由表中的记录完全一致。
在R1上宣告自己的环回

R1(config)#router bgp 1
R1(config-router)#network 1.1.1.0 mask 255.255.255.0

在R2上查看bgp路由表

R2#sho ip bgp  
BGP table version is 3, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
r> 1.1.1.0/24       1.1.1.1                  0             0 1 i

Status codes:状态码

s d h * > i r
被抑制 被惩罚 不能学习 可用 最优 IBGP邻居学习到的 不能加表

这里R2路由器学习到的1.1.1.0/24路由最优,但是不能加表,是因为R2和R1使用环回接口建立邻居,若使用环回接口建立邻居,则两个环回接口必须可达,所以写了静态路由,静态路由AD值为1,EBGP邻居学的路由AD值为20,故bgp不能加表,但可以传递给下一个bgp邻居
Origin codes:起源码

i e ?
通过ibgp邻居,ebgp邻居或自己network引入的路由 EBGP协议,现在已不支持 重发布引入的

属性

Network Next Hop Metric LocPrf Weight Path
传递的路由的网络号 下一跳属性 med属性 本地优先级属性 权重属性 as path属性

3,IP路由表

R2#sho ip route bgp

由于1.1.1.0/24写的静态,故bgp的IP路由表暂时为空

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

CCNP14-BGP基础 的相关文章

  • linux下MQTT服务器(EMQX)搭建及paho.mqtt.c客户端开发

    前言 MQTT 是一种基于客户端服务端架构的发布 订阅模式的消息传输协议 它的设计思想是轻巧 开放 简单 规范 易于实现 这些特点使得它对很多场景来说都是很好的选择 特别是对于受限的环境如机器与 机器的通信 M2M 以及物联网环境 IoT
  • Typora 免费版下载安装(超简单亲测适用于Windows)与入门

    前言 Typora大家都知道 是一款好用的编辑器和阅读器 鬼鬼为大家找了一个可使用版本 安装过程十分简单 亲测有效 不浪费大家时间 现在将Typora分享给大家免费使用 下载链接在文章最后 目录 前言 一 Typora的介绍 MarkDow
  • 图的两种遍历方式dfs/bfs

    include
  • nodejs中express框架使用

    一 express介绍 express 是一个基于 Node js 平台的极简 灵活的 WEB 应用开发框架 express中文官网网址 https www expressjs com cn 简单来说 express 是一个封装好的工具包
  • C标准库的setlocale()用法笔记

    转自 http zyxhome org wp cc prog lang c stdlib setlocale usage note 在此向原文作者说声谢谢 若有读者看到文章转载时请写该转载地址 不要写我的BLOG地址 尊重他人的劳动成果 C
  • 计算机网络连接显示678是什么意思,宽带连接错误678,教您宽带连接出现错误提示代码678怎么解决...

    对电脑网络有资深了解的用户就知道 网络的错误代码678是宽带的故障代码之一 其含义是远程计算机无响应 而在网上罗列了一堆的可能性 其中涉及的一些高深的专业知识与判断 很多的用户都表示看得是云里雾里不知所云 下面 小编就给大家分享宽带连接出现
  • VScode连接服务器运行代码

    我的pycharm到期了 只能用VScode了 说一下怎么用VScode连接服务器 安装Remote SSH插件 设置 搜ssh 把这个打上对勾 这里建立新的连接 会让你输入 你需要输入username 地址 端口 输入完之后打开这个con
  • JS 判断当前浏览器是谷歌Google、火狐Firefox、Safari、Edge、Opera还是其他浏览器的方法

    JS 判断当前浏览器是谷歌Google 火狐Firefox Safari Edge还是其他浏览器的方法 如下 第一种 function detectBrowser const userAgent navigator userAgent if
  • Linux操作系统之C语言实现shell命令解释器项目

    文章目录 一 实现原理 二 具体实现过程 一 实现原理 普通命令 ls pwd cp clear 通过exec fork 内置命令 cd exit bash本身提供方法 调用自己的函数 不会产生子进程 二 具体实现过程 1 mybash项目
  • mockito

    mock 对接口返回值进行模拟数据 使用场景 1 协同开发的时候 需要调用未开发接口 模拟接口返回值数据 2 接口联调 网络不通的时候 把线上数据拷贝回来 模拟数据 添加mockito依赖
  • java用lambda函数排序,Java函数式编程-4.lambda表达式排序

    1 lambda表达式排序 咱们首先看几个比较常见的排序例子 基本数据类型的排序ide List list Arrays asList 1 3 2 5 4 list sort Comparator naturalOrder System o
  • cartographer更新地图-移除未完成的子图

    首先说明为什么要移除未完成的子图 因为如果不删除 每次更新都会保留以前未完成的子图 那时间累计数据量不断增长 不得了 overlapping submaps trimmer移除的只有已经完成的子图 那对于未完成的子图如何处理呢 首先在ove
  • tq210基本参数

    这个板子的核心板为core B 底板为tq210 board v4 1G ddr2 128Mx8pcs 1G slc flash K9K8G08 PMU TPS659101 使用系统自带的sd uboot 使用板子带的串口线 这个线与ok2
  • win10如何修改windows默认远程桌面端口号

    修改默认端口需要修改注册表 打开开始运行 输入regedit 进入注册编辑器 依次点击进入 HKEY LOCAL MACHINE SYSTEM CurrentContro1Set 接着找到 以下路径Control Tenninal Serv
  • NAT穿透 - P2P

    NAT穿透 P2P 一 NAT穿透 二 NAT分类 总结 一 NAT穿透 NAT穿透 即内网穿透 也称为打洞 其网络拓扑示例 二 NAT分类 完全锥型NAT 内网客户端映射到一个外部IP Port IP端口无限制 任意主机都可往该映射端口发
  • 逻辑分析题目:“给你一个9升的水桶和一个4升的水桶,在河里取6升水”

    问题答案 1 大桶装满 然后倒满小桶 这样大桶剩5升 小桶4升 2 小桶倒空 大桶再往小桶灌满 大桶剩1升 小桶4升 3 小桶倒空 把大桶的一升灌进小桶 这时大桶没有了 小桶一升 4 再灌满大桶 此时往已有1升得小桶里灌三升 大桶剩下6升

随机推荐

  • 算法训练Day38

    目录 动态规划理论基础 LeetCode509 斐波那契数 1 思路 2 代码实现 3 复杂度分析 4 总结与收获 LeetCode70 爬楼梯 1 思路 2 代码实现 3 复杂度分析 4 思考与收获 LeetCode746 使用最小花费爬
  • input/textarea文本的选择与获取

    获取input textarea中选择的文本function getSelectedText textbox if document selection IE return document selection createRange te
  • 网络与信息安全——知识整理(1)

    1 The Security Goals a Confidentiality to protect theconfidential information and to guard against the malicious actions
  • 数据结构——算法

    算法是什么 算法 Algorithm 是对解题方案的准确而完整的描述 是一系列解决问题的清晰指令 说白了就是 用来解决问题的 算法的特性 必须全部符合才可称之为一个算法 1 有穷性 一个算法必须在执行有穷步后结束且每一步必须在有穷时间内完成
  • Unity项目架构

    整理了一下Unity项目客户端涵盖一些内容 如果有遗漏 欢迎大家指出 感谢
  • 动画 + 大白话讲清楚React渲染原理

    前言 相信很多人跟我之前一样 看到源码两个字觉得触不可及 觉得离自己还很遥远 是需要非常多年的工作经验的大佬才能触及到的领域 就在去年我改变了这个想法 当时被react的几个生命周期执行顺序弄的睡不着觉 为什么有些时候生命周期的执行事与愿违
  • 小软件项目开发的管理

    小软件项目开发的管理 创建成功的工程 成功项目管理的秘密 更好地领导一个项目的诀窍 参与变革 走向成功 CMM TSP PSP讲义稿 开发流程中的可用性 软件开发的管理和控制 如何组织软件开发团队 软件项目管理 CMM 经验谈 实施CMM
  • stable-diffusion的webui和comfyuig共享模型路径

    1 修改上图extra model paths yaml example为extra model paths yaml Rename this to extra model paths yaml and ComfyUI will load
  • 最长公共子序列问题(Java)-动态规划

    动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题 而会分解出一系列的子问题 简单地采用把大问题分解成子问题 并综合子问题的解导出大问题的解的方法 问题求解耗时会按问题规模呈幂级数增加 为了节约重复求相同子问题的时间 引入一个数组 不
  • 关于Springcloud的RestTemplate使用服务名报异常java.net.UnknownHostException

    关于Springcloud的RestTemplate使用服务名报异常java net UnknownHostException和使用localhost 8081报异常java lang IllegalStateException No in
  • ConstraintLayout基本使用之toLeftOf 、toTopOf、toRightOf、toBottomOf

    关于ConstraintLayout的博客 文章想必大家已经见过很多了 都是很全面的 今天这篇博客主要将ConstraintLayout的 layout constraintLeft toLeftOf layout constraintLe
  • HTML常考知识点和面试题

    保证页面不会出现编码问题 乱码 宽度等于设备宽度 初始化比例等于1 最大初始化比例等于1 user scalable no 将控制用户无法进行触屏扩大或缩小网页 适配移动端的第一步加上viewport 再针对手机屏幕大小调整 指定一个基础的
  • 【LeetCode队列】933 最近的请求次数 RecentCounter(java实现)

    文章目录 题目描述 一 解题思路 二 代码 1 最近的请求次数 2 测试数据 3 复杂度分析 4 执行时间 题目描述 写一个 RecentCounter 类来计算特定时间范围内最近的请求 请你实现 RecentCounter 类 Recen
  • 2023-04-29 读取内容为十六进制数字的txt文件转换为二进制文件

    读取内容为十六进制数字的txt文件转换为二进制文件 前言 一 示例代码 总结 前言 一个有趣的题目 读取txt文件内容两两结合 存储为dat文件 实现十分简单 有很多有意思的回答 但大都是python 其实这个用C的格式化读取fscanf
  • DC/DC:单端反激直流变换电路设计及matlab/Simulink仿真

    直流单端反激变换电路在开关管导通时电源将电能转为磁场能储存在变压器中 当开关管关断时再将磁能转变为电能传送到负载 单端反激变换电路是由升降压 Buck Boost 变换电路派生而来的 电路图如图所示 参数计算 理论计算可参考Buck Boo
  • 通过hyperledger fabric理解区块链存储

    hyperledger fabric 是一个联盟链框架 基于这个框架的最简单案例 A与B转账 我们来理解一下什么是区块链 第一个问题 区块链是干什么用的 很多人想到了比特币 以太坊等等 那具体是干什么用的呢 实际上可以理解为一个特别的数据存
  • ERROR: cannot launch node of type [map_server/map_server]: map_server等

    问题说明 在运行Autolabor simulation中README md的Quick start时 roslaunch simulation launch gmapping navigation launch 出现了以下错误 发现找不到
  • phpstudy安装和使用

    一 phpstudy 1 下载网址 http www xp cn 2 过程 1 往下拉可以看到推荐版本我下载的是8 1版本 注意下载路径不可以有中文或空格 2 按需下载 3 安装完成后解压 点击这个一步一步做就可以啦 3 简单熟悉phpst
  • 回形数(转载)

    转载及参考https blog csdn net sinat 37976731 article details 78614723 import java util Scanner author litianfu version 1 0 em
  • CCNP14-BGP基础

    文章目录 一 概念 二 特点 三 数据包 四 邻居关系 名词解释 五 BGP的防环机制 水平分割 六 BGP的工作过程 七 基本配置 八 BGP的三张表 1 简化邻居表 2 BGP的路由表 3 IP路由表 一 概念 BGP 边界网关协议 应