HCIP Day 8

BGP:边界网关路由协议 – 动态路由协议

无类别路径矢量 EGP 协议
动态路由协议分类:
IGP 内部网关路由协议 – AS 内部使用 – RIP OSPF EIGRP ISIS
EGP 外部网关路由协议 – AS 之间使用 – EGP BGP

AS – 自治系统 – 标准编号 16位 0-65535 其中 1-64511 公有 64512-65535 私有
扩展 AS 号32位二进制
https://www.cldr-report.org/as2.0/

IGP 追求 – 收敛快 选路佳 (前提无环) 占用资源少 必然存在工作半径
EGP 追求 – 可控性 – 简单容易的干涉各种选路 – AS 与 AS之间交互的路由量大,且协议本身无法正常优选路径
可靠性:
由于AS间更新量巨大,故只能增量更新 – 仅触发,无周期
TCP – 只能基于单播工作
BGP – 需要建立非直连的邻居关系,故单播最好(非直连单播前提IP可达);BGP承载于IGP之上
AS - BY - AS – 以一个AS为一跳

BGP协议本身不产生路由,而是转发本地路由表中来自其他协议生成的路由条目
AS之间正常存在大量的BGP邻居关系,且BGP协议不会计算最佳路径,因此在BGP协议中管理员需要进行策略来干涉选路

IGP追求:
1.无环(选路佳)
2.收敛快
3.占用资源少

EGP追求:
1.可控性强(管理员可以方便进行策略干涉选路)
2.可靠性( BGP 协议设备间需要交互大量的路由条目,但又不能选择周期更新来占用链路资源,故只能进行触发更新,且 BGP 协议工作环境中为节约成本,必然出现非直连需要建立邻居关系 – 单播邻居) – 基于 TCP工作 – 三次握手四次断开
4种可靠传偷机制 – TCP 只能基于单播工作
单播 – 需要IP可达 – 依赖IGP
BGP承载于IGP 之上
3.AS-BY-AS 以一个AS为一跳

IBGP:内部BGP邻居关系 – 在同一个AS的BGP设备间的邻居关系
EBGP:外部BGP邻居关系 – 不同AS的BGP设备间建立的邻居关系

BGP特点:

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

BGP数据包:

基于TCP的179端口工作,故BGP协议中所有的数据包均需要在TCP会话建立后,基于TCP的会话来进行传输及可靠性的保障
首先通过TCP的三次握手来寻找到邻居
1.Open – 仅负责邻居关系的建立,正常进收发一次即可,携带route-id;
2.Keeplive – 保活 – 周期1min查询邻居关系是否存在,实际保活TCP会话,hold time 默认3min
3.Update – 携带路由条目 – 目标网络号+各种属性
4.Notification – 出现错误数据时收发

BGP工作过程:

1.IP可达 – 建立BGP间的两台设备必须能通(可直连也可非直连),IGP协议来完成ip地址 – 静态、rip、ospf、isis
2.BGP协议启动后,单播TCP三次握手建立会话;之后所有数据均在该会话中传输,来保障传输的可靠性
3.使用open报文进行邻居表建立,一般收发一次,生成邻居表
4.邻居关系建立后,由管理员选择性的宣告路由条目,之后这些条目基于更新包,到达邻居处,生成BGP表(本地发出接收到达所有路由条目)
5.本端基于本端BGP表,将表中最优路径(BGP以为最优)加载于路由表中
6.收敛完成后,仅keeplive,1min周期保活即可
7.结构突变:新增、断开 update;无法沟通 3min 无keeplive,断开邻居,删除BGP表中,该邻居传递过来的路由

1.基于IGP实现IP可达
2.邻居间单播传输,通过三次握手建立建立TCP的会话通道
3.使用open报文进行邻居关系建立,一般收发一次即可,生成邻居表
4.使用update共享路由信息,信息中携带目标网络号+各种属性
5.生成BGP表—装载本地发出及接收到的所有路由信息
6.之后将BGP表中的最优路径加载于路由表中
7.收敛完成后,仅keeplive周期保活即可
8.所有BGP的数据包均基于TCP会话来保障传输的可靠性
9.若出现错误信息,将使用Notification进行告警
10.结构突变,使用update触发更新即可

BGP的路由黑洞:

由于BGP协议可以非直连建立邻居关系,故可以出现BGP协议间跨越了未运行BGP协议的路由
导致BGP路由传递后,控制层面显示可达,但数据层面,流量经过未运行BGP协议的路由器,无法通过,最终不通 – 控制层面可达,数据层面不可达

解决方案:
1.物理或逻辑链路全连(直连、tunnel接口)
2.全连邻居关系 – 所有路由器均运行BGP协议
3.重发布
4.MPLS – 多协议标签交换技术

BGP的防环机制:水平分割

1.EBGP水平分割 – 防御EBGP环境下的环路
BGP协议将在路由条目中记录所有经过的AS编号 – as-path属性:装载所有经过过的AS编号属性,接收到BGP条目中,若as-path属性存在本地的AS编号将拒绝接收
2.IBGP水平分割 – 防御IBGP环境下的环路
AS-BY-AS特性:以一个AS为一跳,因此在一个AS内部传递的路由,其属性默认没有任何变化
IBGP水平分割:本地从一个IBGP邻居处学习到的路由,不得传递给本地的下一个IBGP邻居,为了实现所有BGP设备学习到所有路由,在IBGP水平分割的条件下,两两间均需要建立IBGP邻居关系,因此IBGP邻居关系的数量呈指数上升(后期可使用联邦或路由反射器来打破)

BGP的基本配置:

BGP协议中,邻居的建立、路由条目的宣告是分开进行的
1.直连的EBGP邻居间的建立
bgp 1 – 启动时需要定义其所在AS号,无多进程
router-id 1.1.1.1 – 配置RID
peer 12.1.1.2 as-number 2 – 建立邻居关系,定义对端设备的ip地址,及所在AS编号

2.建立IBGP邻居关系
由于IBGP邻居处于同一个AS中,正常一个AS的内部存在大量的备份路径,若使用物理接口建立邻居关系,将浪费这些备份或负载均衡路径,故建立IBGP邻居关系,使用环回接口
bgp 2
peer 3.3.3.3 as-number 2
peer 3.3.3.3 connect-interface LoopBack 0
一旦使用环回地址做为建邻地址,同时需要修改源,目标ip地址(为本地的环回地址)

3.EBGP邻居间,存在多条物理链路的建立方案
使用环回地址作为源,目的地地址来建立邻居关系
1)IP可达问题,一般使用静态路由
2)正常使用环回地址作为源、目的地地址来建立邻居关系
bgp 3
peer 4.4.4.4 as-number 2
peer 4.4.4.4 connect-interface LoopBack 0
3)EBGP邻居间,默认TTL值为1,IBGP为255,因为理论上EBGP邻居间没有第三台路由器
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2 – 修改EBGP邻居间的TTL值
[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2 – 在对端也需要修改

两端配置完成后,将基于TCP的三次握手,建立TCP会话
display tcp status
TCPCB ----------- Tid/Soid ------------- Local Add:port ------------- Foreign Add:port ----------- VPNID — State
b4d0f018 ---------164/5------------------12.1.1.1.1:179-----------------12.1.1.2:49877-----------------0----------Established
固定端口的使用者为服务端(例:179、80)

会话建立后,邻居间使用open报文,建立BGP的邻居关系,生成邻居表
[r1]display bgp peer – 查看BGP邻居表
BGP local router ID : 1.1.1.1
Local AS number : 1
Total number of peers : 1---------------Peers in established state : 1

Peer----------V---------AS------MsgRcvd—MsgSent-----OutQ—Up/Down------State--------------PrefRcv

12.1.1.2--------4---------2------------6------------8----------------0-------00:04:22----Established------0
邻居的ip地址—版本4—对端AS号------------------------------------------状态机(已建立时间)---------从该邻居处学习到的条目数量

BGP宣告:
BGP协议可以宣告本地路由表中,任意来源路由;本地直连、静态、IGP动态产生均可;
宣告时,宣告的条目内容必须和本地路由表中完全一致
bgp 1
network 1.1.1.0 24
本地将生成BGP表,装载本地接收及发送出去的所有路由信息
display bgp routing-table
Total Number of Routes: 1
------Network----------NextHop-----MED--------LocPrf ----PrefVal—Path/Ogn
*>----1.1.1.0/24--------0.0.0.0--------0 ------------------------- 0 --------- i
状态—网络号-----------属性

星号:可用
大于号:优秀
可用且优,意味着该条目,可以传递(共享给本地的其他BGP邻居),可以加表(可以加载到本地的路由表中)
i意味着通过IBGP邻居学习

当下BGP环境,不优主要是因为下一跳不可达
因为AS-BY-AS 导致,一条路由信息在IBGP邻居传递时,其属性默认不编号,最终时常导致下一跳不可达
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 next-hop-local 要求路由条目传递给,下一个邻居时,修改下一跳为本地地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值