R1 R2 R4在同一个MA网络,并且R1 R2采用物理地址建立EBGP邻居,并且R2学习R4走的是以太网,这个时候,R2传递给R1的下一跳是R4的以太网接口地址(不是更新源地址,R2会给R1发送ICMP重定向报文,告诉R1自己去R4还得经过R4的以太网地址,所以直接把给R1的下一跳改为R4的以太网地址)
R1通告1.1.1.0传递给R4不优,R5通告5.5.5.0传递给R2不优的原因都是因为下一跳属性不可达,这个时候在R2和R4上修改下一跳属性即可
BGP同步问题
为什么不通?
数据层面的路由黑洞,R3上根本都没有配置BGP,转发数据到达R3,R3达到5.5.5.0根本没有路由。这个先暂缓一下,先了解下同步问题
BGP同步:通过IBGP邻居学习路由必须通过IGP协议学习,否则 BGP同步失败,路由不优。
同步的概念就是:通告BGP学习到的路由,也要在IGP学习,如果开启了BGP同步,那么BGP学习到的路由没有在IGP上学习,即便修改了next-hop-self,一样不优。
举例:比如在R4上开启BGP同步(之前修改过,所以是优的)
我们可以在R4配置静态到达1.1.1.0网段,这样IGP也就学习到了,但是这种办法明显不像,不可能知道私网地址啊,但是运营商的路由器并不是所有的都得运行BGP,所以还得需要别的办法去考虑,也就是重发布。
但是这也只是在实验中这样写,实际上不现实,另外BGP同步叫的是IBGP的同步问题对于EBGP是不可能的,你不能让一个AS的IGP协议去学习另外一个AS的路由。所以同步我们一定要关闭这个功能。
为何能传路由但是通不了,因为路由是单播分段传递,这样分段中源目标会改变。但是数据传递是不能修改源和目标地址。
路由黑洞解决方案:
将BGP重发布进入IGP中(慎用)
为什么不传递5.5.5.0呢?因为将BGP重发布进入IGP协议中,默认只重发布通过EBGP学习到的路由,而R2学习的5.5.5.0是通过R4学习的,属于IBGP。
在AS之内建立full-mesh IBGP邻居
两两路由器之间都建立BGP关系,依次解决水平分割问题
先断开R2R4的邻居,no neighbor x.x.x.x
在IBGP邻居建立过程中,存在大量相似命令可以使用peer-group(大型对等组),减少命令配置条数,优化BGP内存。
步骤:
创建peer-group
配置peer-group内相关命令
将邻居划入peer-group之内
MPLS(多协议标签交换)
后期会写
减少IGBP邻居关系数量,会出现数据层面的路由黑洞(IBGP水平 分割),
打破水平分割:1.路由反射器 2.EBGP联邦
BGP路由认证:BGP认证基于邻居的,BGP认证信息出现TCP报文头部中,仅仅支持MD5(即便双方做了MD5,报错依旧存在,这是模拟器问题)
BGP自动汇总
当开启自动汇总时:传递自身network的路由不会发生任何变化,将其他方式重发布进入BGP时,会进行自动汇总,同时不会携带外部路由参数( 下一跳地址),出现路由黑洞。
R2上查看
发现即便开启了BGP的自动汇总,但是自身network通告的路由还是明细路由,并没有进行汇总。我们在连接R6到R1,运行EIGRP,将R1学到R6的路由重发布进入BGP。
重发布进入BGP,会携带原有路由的metric等属性,所以不需要指定metric
查看
当关闭自动汇总时:重发布进入的路由,明细进入并且携带原路 由的相关属性(metric、next-hop属性)
BGP邻居关系重置
硬性重置:断开TCP会话连接,重新建立BGP邻居关系,针对所有 实施策略都生效
软性重置:在不断开TCP会话的(不断开BGP邻居)基础上实施策略,支持在in out使用
查看针对某个邻居发送的路由
查看通过某个邻居学习到的路由(默认是不保存的,如果查看需要先做保存)
这两条命令可以进行排错,比如路由学不到是对方邻居没发,还是自己的问题
BGP路由聚合(汇总)
方法一:
在明细路由所在路由器上产生一个静态指向null 0路由,通告进入BGP,这属于BGP的network特性
方法二:
使用聚合者属性进行路由聚合 ,建议在明细路由所属AS之内聚合,默认发送所有明细和聚合路由
怎么让它只传递聚合路由,不传递明细路由呢?
那如果只想传递某些明细路由呢?
若在其他AS内聚合,会丢失某些属性,例如AS-path,需要增加as-set还原
明细路由所包含的某些属性
发现聚合的AS path没了
还原明细路由中属性,增加as-set参数
其他属性:
这里的advertise-map作用是调用router-map,如果匹配到的路由存在,聚合路由存在,匹配到的路由不在了,自己和聚合一起消失,但是其他明细不消失。
在聚合过程中可以使用attribute-map改变路由的某些属性
通告AS-SET 继承 4个属性: LP AS-PATH COM origin ;
LP : 本地优先级,选择最大值
AS-PATH: 所有的AS-PATH 全继承,但是使用AS 序列号进行表 示,无顺序之分,在计算AS-PATH 路径,AS序列号只算1个。
community:团体属性,标准和扩展同时继承,但是标准属性按 照最严格执行
origin:起源码,继承最差的