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

BGP边界网关协议

BGP作用:
在不同的大型网络之间 , 长时间以稳定的方式传输大量的路由
并且能够实现路由的灵活控制同时,确保无环

BGP工作过程:
1、建立邻居表;
2、同步数据库;
3、计算路由表

BGP选路原则:
1.preference-value ,华为私有属性,仅仅在设备本地起作用。值越大越好;
不会随着更新报文,传递给其他的路由器的;
2.local-preference,本地优先级,值越大越好;默认是100;
3.比较该路由是否“本地起源”:本地产生的,要优于从其他邻居学习过来的;
#自己产生的 :手动聚合 > 自动聚合 > network > import-route
#从邻居学习过来的;
4.as-path , 比较的是 as-path的长短,越短越好;
5.比较起源属性 :i > e > ?
6.比较MED,值越小越好;
7.比较路由的类型, EBGP > IBGP
8.比较去往BGP路由的 下一跳 的 Metric 的大小,越小越好。
9.比较的是 cluster-list 的长短,越短越好;
10.比较的是 originator-id,越小越好;
11.比较的router-id,越小越好;
12.比较的邻居设备的 IP 地址,越小越好;

BGP路由宣告和传递:
-宣告方式:
network
-->将该路由放入到BGP的数据库;
-传递:
1.外部BGP邻居之间传递路由的时候,下一跳是变化的;
2.内部BGP邻居之间传递路由的时候,下一跳是不变的;
-如果不变化,有可能导致下一跳不可达。

配置命令:
[R1]bgp200
[R1-bgp]router-id 1.1.1.1

[R1-bgp]peer 192.168.2.2 as-number 64512
注:192.168.2.2必须是对方设备的接口的真实的IP地址,并且是可以通的;
不能是对方的 router-id ; # as-number 指的是对方的 as 号,不是自己的。
[R1-bgp]network 192.168.1.0 255.255.255.0
【宣告网段】
[R1-bgp]peer 192.168.2.2 next-hop-local
R1向 BGP 邻居 192.168.2.2发送路由的,下一跳IP地址都
设置为自己与对方建立邻居时所使用的IP地址;

注意:
BGP数据库中的路由,最优的时候,有以下两个行为:
1.将该路由放入到本地的路由表;
2.将该路由发送给 BGP 邻居

BGP在AS内的防环机制:IEGP水平分割

  • 一个 BGP路由器在主机的 IBGP 邻居收到的路由,
  • 不会再次发送给自己的另外一个 IBGP 邻居

IBGP 水平分割的 解决方案:
1 -IBGP邻居全互联
2 - BGP 联盟
3 - BGP 路由反射器 (route-reflector)

BGP 路由的属性更改:
1.抓取感兴趣路由
2.配置路由策略,对感兴趣路由更改属性
3.调用策略

route-policy 通过不同的名字进行区分

route-policy 包含多个条目,每个条目通过不同的 node / 序列号进行区分;

route-policy 在执行时,按照 node 号从小到大开始执行策略的匹配
如果有一个 node 条目匹配住了,则停止匹配。就不会看下面的条目了;
如果明确的匹配条目,则会一直匹配下去,直到最后一个“隐含的拒绝所有”

route-policy 最后有一条隐含的拒绝所有的条目:
route-policy {name} deny node {最大的数值}
里面不包含任何的 “if-match”语句,表示的是 match 所有。

route-policy 如何表示允许所有:
route-policy {name} permit node { 最大的数值}
其中不需要写任何的 match 语句;

[R3]ip ip-prefix 123 permit 20.20.20.0 24
【允许ip前缀匹配20.20.20.0网段】
[R3]route-policy 456 permit node 10
【aaa路由策略序列为10】
[R3-route-policy]if-match ip-prefix 123
【匹配策略123 】
[R3-route-policy]apply local-preference 200
【匹配成功会应用此策略,优先级为200】
[R3-bgp]peer 192.168.2.1 route-policy 456 export
【针对邻居启用策略在出端口进行应用】

转载于:https://blog.51cto.com/13597266/2118299

相关文章:

  • Windows环境下RabbitMQ 使用127.0.0.1和localhost访问正常换IP地址无法连接解决方案
  • Java并发(二)多线程的好处
  • SpringCloud Eureka自我保护机制
  • 高阶函数特点
  • How do I duplicate a resource reference in code behind in WPF?如何在WPF后台代码中中复制引用的资源?...
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Commvault助力企业抵御勒索软件的蔓延
  • Mastering the game of Go with deep neural networks and tree search
  • 每周分享之JS数组的使用
  • python 内置模块
  • CSS 样式小结
  • TypeError: Cannot read property 'url' of undefined
  • centos 7 安装官方LAMP(Apache+PHP5+MySQL)
  • 6.Flask-WTForms
  • phpstrom+upupw 开启 Xdebug 调试
  • [PHP内核探索]PHP中的哈希表
  • 【笔记】你不知道的JS读书笔记——Promise
  • 2017年终总结、随想
  • canvas绘制圆角头像
  • Cookie 在前端中的实践
  • Cumulo 的 ClojureScript 模块已经成型
  • Docker 笔记(2):Dockerfile
  • MySQL的数据类型
  • redis学习笔记(三):列表、集合、有序集合
  • vue的全局变量和全局拦截请求器
  • 从输入URL到页面加载发生了什么
  • 每天一个设计模式之命令模式
  • 使用agvtool更改app version/build
  • 一个项目push到多个远程Git仓库
  • 怎么将电脑中的声音录制成WAV格式
  • ​批处理文件中的errorlevel用法
  • #pragma预处理命令
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (solr系列:一)使用tomcat部署solr服务
  • (超详细)语音信号处理之特征提取
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二十四)Flask之flask-session组件
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (规划)24届春招和25届暑假实习路线准备规划
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)详解PHP处理密码的几种方式
  • (轉貼) UML中文FAQ (OO) (UML)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET 分布式技术比较
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET构架之我见
  • .net和php怎么连接,php和apache之间如何连接
  • /etc/fstab和/etc/mtab的区别
  • @RequestMapping 的作用是什么?
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例