BGP笔记和实验

BGP --- 边界网关协议

IGP --- 内部网关协议

EGP --- 外部网关协议

AS --- 自治系统:由单一的组织或者机构独立维护的网络设备以及网络资源的集合

网络范围太大

自治

为了区分不同的AS,网络世界提出了AS号 --- 0-65535 0和65535一般做完保留AS号

1-65534  1-64511 --- 公有AS号

64512-65534 --- 私有AS号

拓展AS号:将原本的16位的AS号拓展到32位

BGPV4

BGPV4+

BGP的一些特性

高可控性 --- BGP设计了很多路径属性,可以通过路由策略关联这些属性达到路由控制的效果

IGP:选路 收敛 资源占用

BGP:

BGP传递一定是路由条目信息

BGP没有使用周期更新传递路由信息

BGP存在触发更新

BGP在传输层使用TCP使用传输:179

UDP:520

BGP建邻时必须指定建邻的对象,BGP支持非直连建邻

RIP --- 无类别的距离矢量路由协议

BGP --- 无类别的路径矢量协议

BGP在传递路由条目信息时携带子网掩码

BGP默认情况下不支持负载均衡,BGP会根据传递过来的路由信息中携带的路径属性选择最优的路由信息加载到路由表中

 

BGP把一个AS看作一个整体

 

RIP实际上是一个算法的概念,BGP不是一个算法的概念,BGP也不需要计算路由信息,只负责转发路由信息

 

 

 

高可靠性 --- 路径属性

高可靠性 --- TCP

AS-BY-AS --- BGP把一个AS看作一个整体

EBGP对等体 --- 一般建议采用直连建立对等体关系

IBGP对等体 --- 一般建议采用非直连建邻

BGP为了实现个两个规则:BGP规定EBGP对等体之间发送的数据包中携带的TTL值为1而IBGP对等体之间传递的数据包TTL值为255

 

 

BGP的数据包

 OPEN --- 用来建立BGP对等体关系的数据报文

AS号 --- 自身的AS号,比对逻辑对等体发过来的OPEN报文中携带的AS号,必须和指定建邻的AS必须一致,否则会导致建邻失效

RID --- 建邻双方的RID不能一致,如果相同会导致建立对等体失败

保活时间:类似OSPF的死亡时间默认180S,如果对等体双方保活时间不一致,会按照时间更小的执行

KEEPALIVE:

1.用于周期保活BGP对等体关系,默认是1/3的保活时间60S

2.用来做OPEN报文的临时确认包

UPDATE --- 传递BGP路由信息的数据包

Notification --- 告警报文

BGP的状态机

建立对等体之间的TCP会话:指定建立对等体的对象

BGP在建立对等体过程中会建立两次TCP会话,会保留RID大的设备发起的TCP会话

6种状态机

IDLE状态下,启动BGP协议后必须指定建立对等体的目标之后,进入下一个状态。

必须路由可达(依靠IGP协议或者静态,直连)

COnnet状态下BGP对等体之间开始建立TCP会话链接。如果TCP会话建立成功则进入OpenSent状态,如果TCP会话建立失败则进入Active状态

如果TCP会话(三次握手)建立成功则进入OpenSent状态,OpenSent状态下,开始送OPen报文去建立BGP对等体关系。

如果认可对等体发过来的OPEN报文中的参数,首先会回复一个KEEPALIVE报文用来确认OPEN报文中的参数我已经认可,并且进入OPneConfirm状态

OPenConfirm状态 --- 如果收到对等体发生的Kepepalive报文则进入最终状态Estabished

BGP的工作过程

BGP的路由黑洞

控制层面的可达

数据层面实际不可达

IGP内部存在没有运行BGP的设备,当访问BGP网段的流量来到这些设备之后,由于控制层可达,数据层面不可达(这些设备没有运行BGP,没有BGP网段的路由信息),那么将丢弃这些流量,形成路由黑洞

1.所以设备均运行BGP

2.重发布

3.MPLS --- 最早专门用来解决BGP路由黑洞

同步机制 --- 当设备学习到一条BGP路由,如果本地IGP路由表不可达,将视该BGP路由无效

默认关闭

BGP的防环 --- 水平分割

EBGP水平分割

BGP为了解决EBGP路由环路问题,设计了一个AS-PATH属性,设备在发出AS时会携带本AS的AS号,当路由信息携带该AS号,那么对于该AS设备不会接收该路由。。后转发是AS号在前面

同时AS-Path属性也是BGP的一个选路依据,当其他属性一致时,换选择AS-Path属性更短的路径

IBGP水平分割

当运行BGP的设备从IBGP对等体处学习到一条IBGP路由,那么将不再转发给其他IBGP对等体

 

解决方案---在IBGP对等体之间构建全连的IBGP对等体关系,1.增加拓扑的复杂性导致网络可拓展性变差,2.增大了资源占用

 

 

联邦 反射器

BGP的基础配置:

[R1]bgp 100 -----启动BGP协议,并指定自身AS号

[r1-bgp]router-id 1.1.1.1---手工配置BGPRID

[R1-bgp]peer 12.0.0.2s-number 200 -----直连建邻,指定建邻的IP地址和对应的as号

[R1]display bgp peer--查看BGP邻居关系 (BGP的邻居表)

IBGP之间使用环回建邻

[r2-bgp]peer 3.3.3.3 as-number 200

bgp 200

router-id 2.2.2.2

peer 3.3.3.3 as-number 200

[r2-bgp]peer 3.3.3.3 connect-interface LoopBack ---注意环回建邻必须改变跟新源

更新源地址不一致将导致建邻失败。 EBGP对等体之间使用环回建邻

[r5]ip route-static 4.4.4.0 24 45.0.0.1 --- 必须实现路由可达(建议使用静态)

Bgp 300

Peer 4.4.4.4 as-number 200 

peer 4.4.4.4 connect-interface LoopBack0---使用环回建邻注意:必须修改更新源

 [r4-bgp]peer 5.5.5.5 ebgp-max-hop 2----修改EBGP数据包TTL值

 [r5-bgp]peer 4.4.4.4 ebgp-max-hop ----默认直接回车将修改TTL值为255

BGP的路由发布

[R1-bgp]network 1.1.1.0 24------宣告含义仅发布路由信息,并且注意:只能发布路由表中存在的路由信息

[R1]display bgp routing-table ----查看BGP表---记录发布的和接收到的所有BGP路由信息

Network             NextHop       MED        LocPrf         PrefVal Path/Ogn

*> 1.1.1.0/24      0.0.0.0           0             0                   i

Network----接收到的网段信息

NextHop----下一跳,如果是本地始发的BGP路由信息该字段为0.0.0.0

*> ---状态码

*valid----有效,首先当BGP设备接收到一条BGP路由信息,首先将验算下一跳是否可达,如果下一跳可达则代表该路由可用,如果下一跳不可达则认为该路由无效。注意:只有可用的路由信息才会参与BGP路由的选举,并加载到路由表中

> best---最优的路由信息最终根据路径属性选择的结果,只有最优的路由信息才会最终加载到路由表中,并且只有最优的路由才会被BGP传递

I----internal内部通过IBGP对等体学到的

[r2-bgp]peer 3.3.3.3 next-hop-local ------当IBGP对等体学到一条EBGP路由,由于AS-BY-AS属性导致下一跳不可达,协议在传递这条IBGP路由的IBGP设备上修改下一跳为本地

BGP不能发布建立对等体的网段

2.宣告BGP网段的方法---重发布

[r2-bgp]import-route ospf 1

重发布的路由信息本地下一跳也是0.0.0.0相当于本地始发

Ogn------起源码:象征该路由通过何种方式学习到的

I---表示该路由是通过IBGP对等体学到的路由信息,包括Network宣告的路由

E--表示该路由是由EGP协议处学习到的路由信息,保留仅为了兼容性

?--除了前两种都是?

BGP的路由聚合-----自动聚合 手工聚合

1.创建前缀列表抓取想要发布的路由网段

[R1]ip ip-prefix aaa permit 172.16.0.0 16 greater-equal 24 less-equal 24

2.创建路由策略

[R1]route-policy aaa permit node 10 ----大的方向一定选择运行,否则视为拒绝发布这些匹配到的网段

route-policy aaa permit node 10

if-match ip-prefix aaa

-----匹配前缀列表抓取的流量

实验:

一、配置IP

R1-R5

二、建立BGP

R1
[r1]bgp 100    
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.0.0.2 as-number 2
R2
[r2]bgp 200
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.0.0.1 as-number 1
[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
[r3]bgp 200
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 2
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[r3-bgp]peer 4.4.4.4 as-number 2
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0


R4
[r4]bgp 200
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 2.2.2.2 as-number 2
[r4-bgp]peer 2.2.2.2 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
[r4-bgp]peer 45.0.0.2 as-number 3


R5
[r5]bgp 300
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4.4.4.4 as-number 200 
[r5-bgp] peer 4.4.4.4 ebgp-max-hop 255 
[r5-bgp] peer 4.4.4.4 connect-interface LoopBack0

三、发布路由

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BGP和OSPF是两种常用的路由协议,分别用于不同的网络环境中。BGP(边界网关协议)通常用于大规模互联网服务提供商之间的路由选择,而OSPF(开放最短路径优先)则用于内部网络中的动态路由选择。在某些复杂的网络场景中,可能需要同时使用BGP和OSPF来实现最佳的路由选择和网络连接。 混合实验是指将BGP和OSPF协议同时应用于同一网络环境中,以验证它们在共存情况下的表现和效果。在进行BGP OSPF混合实验时,需要注意以下几个方面: 首先,需要确保网络设备支持BGP和OSPF协议,并正确配置相应的路由器和交换机。因为BGP和OSPF是不同的协议,它们的配置和工作原理也不同,需要针对具体的网络架构做出相应的调整和配置。 其次,需要注意BGP和OSPF之间的互操作性。也就是说,BGP和OSPF需要能够正常地交换路由信息,并能够协同工作。在实验过程中,需要验证BGP和OSPF之间的路由信息是否能够正确地传递和更新。 最后,需要通过实际的数据传输和网络流量来验证BGP OSPF混合实验的效果。实验中需要模拟各种网络情况和异常情况,以确保BGP和OSPF在混合环境下能够有效地应对各种网络变化和故障情况。 通过BGP OSPF混合实验,可以更好地了解和掌握这两种路由协议的特点和优势,并为实际的网络架构设计和优化提供参考和依据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值