当前位置:网站首页>HCIP 第十一天
HCIP 第十一天
2022-08-02 07:17:00 【羊腿大大】
BGP存在两个技术专门用于解决IBGP水平分割带来的问题 ---
1,路由反射器
2,联邦
3,BGP的基本配置
BGP邻居建立过程
1)EBGP对等体直连建邻
1,启动BGP进程
[r1]bgp 1 --- 1 指的是该路由器所在的AS号,并不是进程。因
为一个路由器只能属于一个AS中,所以,一个路由器只能启动一
个BGP进程
[r1-bgp]
2,配置RID
[r1-bgp]router-id 1.1.1.1
3,指定建立邻居关系
[r1-bgp]peer 12.0.0.2 as-number 2 --- 指定建邻的IP地址和
邻居所在的AS的编号(邻居关系指定是双向的)
[r1-bgp]display bgp peer --- 可以查看BGP的邻居表
由于,IBGP邻居处于同一个AS中,正常一个AS中存在大量的备份
路径,若使用物理接口建立邻居关系,将浪费这些备份或者负载均衡
的路径;故建议使用环回接口来进行IBGP对等体关系的建立。
2)IBGP对等体环回建邻
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0 --- 指定给邻居发送数据包的连接接口是环回接口
切记:一旦使用环回地址作为建邻地址,同时需要修改源IP地址
未本地环回地址。
3)EBGP对等体环回建邻
因为EBGP对等体之间一般采用直连建邻的方法,所以,我们将EBGP对
等体之间的数据包中的TTL值设置为1,同时,加入了直连检测(检测源目
IP是否在同一个网段);
因为华为设备并没有直接关闭直连检测的方法,但是可以通过修改
TTL值来让EBGP邻居间可以正常非直连建邻,直连检测将会自动失效。
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2
[r5-bgp]peer 4.4.4.4 ebgp-max-hop --- 后面不加数字,相当于 将TTL值改为最大值,255。
总结:再建立EBGP对等体关系时,建议使用第一种方法,EBGP对等体
间直连建邻;IBGP对等体间建议使用环回接口进行建邻,即使用方法二。
BGP的路由发布
1)通过Network命令进行发布
BGP可以将所有路由表中存在的路由条目通过NETWORK命令进行发布。
[r1-bgp]network 1.1.1.0 24
[r1-bgp]display bgp routing-table --- 查看设备的BGP表
Network ---- 目标网段及掩码信息
NextHop ---- 下一跳 ---- 属于BGP的路由属性 ---- 谁通告的,谁
就是下一跳;如果是自己发布的,则下一条属性0.0.0.0
再network前面出现的符号称为这条路由的状态码。
*---- 代表可用 ---- BGP设备每收到一条路由信息,都会检查其下
一跳属性的可达性(通过路由表查询。)如果下一跳的地址是可达
的,则代表该路由可用。不可达则不可用,不可用则该路由信息将不
被接纳,直接不参与选择。
>--- 代表优选 ---- 当收到多条到达相同网段的路由信息时,BGP将
会在其中根据路由属性选择最好的最为优选路由,只有优选的路由才
会被加载到路由表中,并且传递给其他BGP对等体。不优选的则不传
递,不加表。
当一台路由器收到来自EBGP对等体发送的路由信息正常加表后,该路
由的协议类型为:EBGP,优先级:255
I ---- 状态码为I ---- 则代表该路由信息是从IBGP对等体处学来的路由。
因为BGP存在AS-BY-AS的特性,所以,IBGP邻居之间传递路由时,默
认不会修改下一跳属性,可能导致从EBGP邻居处传递的路由信息在
IBGP邻居处不可达。所以,需要执行如下命令进行更改。
[r2-bgp]peer 3.3.3.3 next-hop-local
当一台路由器收到来自IBGP对等体发送的路由信息正常加表后,该路
由的协议类型为:IBGP,优先级:255
当通告的路由数量较大时,使用network逐条发布效率较低,则可以
通过重发布的方法来批量发布路由。
2)通过重发布来发布BGP路由
[r2-bgp]import-route ospf 1 ---- 通过重发布将OSPF的路由发布
到BGP中。
OGN --- 起源码 --- 1,通过Network发布的路由 ---- I ---- I代
表该路由起源于IGP协议(包括静态路由和直连路由)。
--- 2,通过EGP协议发布的路由 ---- e ---- 指的是BGP协议之前的外部网关协议 -- EGP协议,因为目前该协议基本上不用了,所以,e标记很少见。
--- 3,通过除了以上两种方式发布的路
由 ---- ? ---- 重发布路由的起源码标记就是?
4,BGP路由聚合
BGP的路由聚合 --- 自动聚合 --- 仅针对重发布的路由
--- 手工聚合
自动聚合
在R1上建立两条172.16.1.0/24和172.16.2.1/24直连路由,之后通过
重发布发布到BGP中
1,抓取流量
[r1]ip ip-prefix aa permit 172.16.0.0 16 greater-equal 24
less-equal 24
2,路由策略
[r1]route-policy aa permit node 10
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix aa
3,重发布中调用
[r1-bgp]import-route direct route-policy aa
自动聚合的问题 --- 1,只能聚合到主类,导致产生巨大的路由黑洞
2,只能对重发布的路由生效
[r1-bgp]summary automatic ---- 华为设备默认关闭自动聚合功
能,开销自动聚合
Info: Automatic summarization is valid only for the routes
imported through the
import-route command.
S --- 状态码 --- SUPPRESSED --- 抑制 ---- 一旦路由前面的状
态码中添加S标记,则代表该路由被抑制,将不再加标和传递。
自动聚合完成后会自动生成一条指向汇总的空接口路由进行防环。
因为我们自动汇总的问题,所以,当我们需要对路由汇总进行精准把
控时,手工聚合将是更理想的解决方案。
手工聚合
[r1-bgp]aggregate 172.16.0.0 22 --- 手动聚合的命令
手工聚合的问题 --- 1,手工聚合时没有抑制明细路由,导致传递的
路由条目没有减少,反而增加
2,手工聚合的路由条目存在路由属性缺失的问
题,尤其是不懈怠明细路由中的AS_PATH属性,因为该属性是用来防
环的,不携带可能会导致环路的产生。
[r4-bgp]aggregate 172.16.0.0 22 detail-suppressed ---- 在聚
合路由的同时已知所有明细路由
但是,因为BGP协议的特殊性,导致在一些环境下,往往不能将所有
明细路由全部抑制。
所以,我们在做BGP的聚合时,往往仅抑制一部分路由信息,而实现
这个效果,需要用到 --- suppress - Policy --- 抑制策略
1,先抓取流量
[r4]ip ip-prefix aa permit 172.16.1.0 24
2,使用路由策略匹配流量
[r4]route-policy aa permit node 10
Info: New Sequence of this List.
[r4-route-policy]if-match ip-prefix aa
3,使用抑制策略进行调用
[r4-bgp]aggregate 172.16.0.0 22 suppress-policy aa
[r4-bgp]aggregate 172.16.0.0 22 suppress-policy aa as
set --- 通过激活AS_SET关键字,使汇总路由携带明细路由的
AS_PATH属性。
*> 172.16.0.0/22 127.0.0.1 0 {1 4}? --- 当明细路由来自不同AS时的解决方案,在进行防环时,大括号中的AS号都需要考虑,但在进行选路时,大括号将被看作是一个整体,当作一个AS号。
正因为聚合后的路由存在属性丢失的情况,所以,这样的汇总路由需要格外关注。为此,BGP专门设计了两个聚合相关的属性 --- ATOMIC_AGGREGATE,AGGRGATOR
ATOMIC_AGGREGATE ---- 纯粹的预警属性,聚合路由将会携带(只有将所有明细路由全部抑制的汇总路由才会携带),意图是提醒该路由为聚合路由,可能存在属性丢失问题。
AGGRGATOR ---- 将会记录执行汇总路由器所在的AS号及RID。
[r4]display bgp routing-table 172.16.0.0 --- 可以查看一条路由的详情信息
IBGP水平分割 ---- 即当路由器从一个IBGP对等体处学习到一条路由信息,他将不再把这条路由通告给其他的IBGP对等体。
路由反射器 --- Router Reflector --- RR
我们可以将一台IBGP设备配置成为路由反射器(RR),被配置为路由反射器的设备在一定条件下将反射学习到的路由信息。
在我们指定一台设备成为路由反射器RR的同时,必须指定一个或者多个邻居成为他的客户,RR和客户之间构成的系统我们称为反射簇,每一个簇设定一个簇ID --- 这个反射簇中RR的RID。其他没定义为客户的邻居被称为非客户。
反射规则:
1,如果路由反射器从自己客户处学来一条IBGP路由,则他将反射给自己所有的客户和非客户。
2,如果路由反射器从自己非客户处学来一条IBGP路由,则他将反射给自己所有的客户,但是不反射给非客户。 ----- 非非不传
3,当路由器在进行路由反射时,只反射自己BGP路由中最优的路由。 --- 和BGP路由的传递规则相同。
边栏推荐
猜你喜欢
LeetCode 2312. Sell Wood Blocks
Mysql error 2003 solution Can 't connect to Mysql server on' localhost '(10061).
论文理解:“Cross-Scale Residual Network: A GeneralFramework for Image Super-Resolution,Denoising, and “
MySQL - index explanation
MySQL-FlinkCDC-Hudi实时入湖
神经元网络
Enterprise training and reproduction guidebook - training and reasoning of the OpenPose model based on Huawei ModelArts platform, realizing the recognition of two behaviors of climbing and climbing ov
Comprehensive experiment of MPLS and BGP
pnpm + workspace + changesets 构建你的 monorepo 工程
Introduction to Totem Pole and Push-Pull Circuits
随机推荐
spark read folder data
如何保护智能家居不受黑客攻击
MySQL批量更新
pnpm + workspace + changesets 构建你的 monorepo 工程
类型“DropDownList”的控件“ContentPlaceHolder1_ddlDepartment”必须放在具有 runat=server 的窗体标记内。
Go implements distributed locks
OC-错误提示
postgres 水平分表,自动创建分区,按时间分表
MySQL batch update
MySQL - index explanation
MySQL-数据库设计规范
Inverter insulation detection detection function and software implementation
OC - NSSet (set)
OC-error prompt
LeetCode 2360. The longest cycle in a graph
Hack The Box - File Transfers Module详细讲解中文教程
有关 sql中的 concat()函数问题,如何拼接
gdalinfo: error while loading shared libraries: libgdal.so.30: cannot open shared object file: No su
数据中台:始于阿里,兴于DaaS
mysql操作入门(四)-----数据排序(升序、降序、多字段排序)