BGP(边界网关路由协议)小实验

实验要求

如下实验拓扑,各个自治系统区域和网段已经标注
基本的ip配置,环回配置就不再展示。

要求:除了R5的环回外,其他环回均可以互相访问
在这里插入图片描述

ospf协议启动

该协议就只在as2中启动就好
命令不再解释

对R2
[r2]ospf 1 router-id 3.3.3.3
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255

对R3
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255

对R4
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 0
[r4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255

到这里as2之间是可以互通了,接下来让整个AS通

关于BGP基本知识点

1,属于无类别的路径矢量协议,EGP协议中最流行的技术,工作在AS(自治系统)之间
2,BGP协议本身不产生路由,而是转发本地路由表中来自其他协议生成的路由条目
3,AS之间正常存在大量的BGP邻居关系,且BGP协议不会计算最佳路径;因此在BGP协议中管理员需要进行策略来干涉选路等

一,BGP特点:

1)无类别路径矢量 -----距离矢量的升级版---AS--BY--AS
2)使用单播更新来发送所有信息;基于TCP 179端口工作
3)增量更新--仅触发无周期
4)具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议
5)可以在进项和出项对流量实施强大的策略--可控性
6)默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
7)BGP支持认证和聚合(汇总)

二,BGP数据包:
基于TCP的179端口工作,故BGP协议中所有的数据包均需要在tcp会话建立后,基于TCP的会话来进行传输及可靠性的保障。
过程:

1,TCP的三次握手来寻找到邻居
Open       仅负责邻居关系的建立,正常进收发一次即可;携带route-id;
Keeplive    保活 周期1min查询邻居关系是否存在;实际保活TCP会话;hold time 默认3min
Update     携带路由条目 目标网络号+各种属性
Notification   出现错误数据时收发;

三,BGP工作过程:

1、配置完成后,邻居间单播TCP三次握手,目标端口179,建立TCP的会话;之后所有的BGP协议数据包基于该会话进行传输
2,会话建立后,邻居间正常收发一次open报文建立BGP的邻居关系,生成邻居表
3,邻居关系建立后,默认每1min,使用keeplive周期保活邻居关系(周期保活TCP会话)
4,2、邻居关系建立后,管理员选择性将本地路由表中通过任意来源获取的路由条目,向BGP协议中进行宣告;使用updata数据包进行邻居间路由共享;之后生成BGP表
5,收敛完成,仅keeplive周期保活即可
6,若出现错误信息,邻居间将使用Notification报文进行报错操作

四,概念名词

邻居---直连  因为BGP协议中存在非直连邻居的需求,故BGP邻居称为毗邻关系;
EBGP邻居关系 ----  外部BGP邻居关系,建邻的两台设备处于不同的AS中
IBGP邻居关系  ---- 内部BGP邻居关系,建邻的两台设备处于相同的AS中

五,BGP的路由黑洞问题

非直连建邻到达控制层面路由条目可传递,递归计算路由可达,而实际数据层面流量在经过没有运行BGP协议的路由器时无法通过,最终有去无回
解决办法:

1、	物理、逻辑拓扑全连 --  物理链路直连、或者vpn
2、	邻居关系全连 – 网络中所有设备运行BGP 
3、	BGP重发布到IGP(LAB中使用的)
4、	MPLS 多协议标签交换--- 推荐做法

六,BGP的防环机制 –水平分割
1、EBGP水平分割是为了解决EBGP环路;
依赖了BGP路由条目中的一种属性来进行防环;
BGP协议在传递路由条目的过程中,将记录所有经过的AS的编号;
本地从一个IBGP邻居处学习到的路由条目,不得传递给本地的其他IBGP邻居;
AS-BY-AS在一个AS内部条目传递的过程中,默认不会修改任何的属性;

解决办法
在IBGP水平分割的限制下,虽然避免了IBGP的环路产生,但同时也使得AS内部为了能够传递路由条目,必须两两间建立IBGP邻居关系,邻居关系成指数上升,配置量巨大;
后期可以依赖打破水平分割的机制来解决: 联邦、路由反射器

BGP关系建立的配置

图中可以看出,R1和R5为EBGP

对EBGP R1
[r1]bgp 1    启动bgp协议,as号为1 
[r1-bgp]router-id 1.1.1.1 建议写一个router-id
[r1-bgp]peer 12.1.1.2 as-number 2   宣告邻居并且说明它所在的as号

对ibgp R2
[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.1.1.1 as-number 1

对EBGP R5
[r5]bgp 3
[r5-bgp]peer 45.1.1.1 as-number 2
[r5-bgp]router-id 5.5.5.5

对iBGP R4
[r4]bgp 3
[r4-bgp]peer 45.1.1.2 as-number 3

IBGP邻居关系建立,在一个AS内部,拓扑正常较为负载;建议使用环回接口地址作为源、目标ip地址
为了避免BGP路由黑洞的产生,as2中所有的设备均运行bgp协议,为了让传入的路由为优秀可以传递和加表,需要修改下一跳。

R2与R3和R4建邻
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0 说明连接的源接口为环回口
[r2-bgp]peer 4.4.4.4 as-number 2
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r3-bgp]peer 2.2.2.2 as-number 2
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[r4-bgp]peer 2.2.2.2 as-number 2
[r4-bgp]peer 2.2.2.2 connect-interface LoopBack 0

R3和R4建立邻居
[r3-bgp]peer 4.4.4.4 as-number 2
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r4-bgp]peer 3.3.3.3 as-number 2
[r4-bgp]peer 3.3.3.3 connect-interface LoopBack 0

这里所有的bgp邻居配置完成了
当建邻配置完成后,邻居间通过三次握手,建立TCP的会话,如图R2 上面看到的与其连接的tcp状态
当TCP会话建立后,邻居间BGP协议将正常收发一次open报文,建立BGP邻居关系;生成邻居表
在这里插入图片描述

BGP的宣告

运行BGP协议的路由可以宣告本地路由表中通过任何协议获取到的路由条目—静态、IGP、直连; 而本地通过BGP协议学习到的路由,只要在本地依然优秀,将继续将本地的其他BGP邻居传输;
注意:宣告时,宣告的条目必须同本地路由表中的记录完全一致
一旦进行宣告配置,条目将加载于本地的BGP表中—装载本地发出及接收到的所有路由信息

对R1宣告

[r1]bgp 1
[r1-bgp]network 1.1.1.1 24

这时可以在R1上查看bgp表情况,如下图在这里插入图片描述
这一条路由显示为 *> 说明这一条路由可以传递并且入表,说明R2是可以接受到,这时又在R2上面继续查看发现可以看到任然为优秀,所以还可以传,到R3上面看发现这一条路由前面显示的是 i ,为不优秀,所以不能加表和继续传输。原因在于下一跳的问题,2个as间传递路由时下一跳将会自动改,而as之间的传递就不能自动改下一跳。

这个实验中R1和R2在不同的as,R1将路由传给R2时,R2会自动将下一跳改为 12.1.1.1 ,而在R2,R3之间是同一个as,则R3上不能自动改下一跳,R3不认识12.1.1.1这一网段,所以不优秀,不能继续传递和加表。

这个时候就要手动在路由器上面修改下一跳为本地

对R2
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 next-hop-local

对R3
[r3]bgp 2
[r3-bgp]peer 4.4.4.4 next-hop-local

最后宣告各个路由器的直连网段即可R1环回ping通R5的环回

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Fy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值