BGP路由技术

3 篇文章 0 订阅
2 篇文章 0 订阅

概述

BGP(边界网关协议)是一种实现自治系统AS之间的路由可达,并选择最佳路由的矢量性协议。

特点

一,BGP的对等体之间必须逻辑上连通,并进行TCP连接。目的端口号为179,本地端口号任意
二,BGP对等体和IGP对等体不同,BGP对等体是指使用TCP连接的两端,而非与TCP同概念的直连邻居,只要TCP能够建立连接并不一定需要直连
三,BGP本身只负责控制路由,数据转发依然靠静态或IGP路由
四,路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,使用在公网上传播大量的路由信息
五,AS之间:BGP通过携带AS_PATH信息标记途径的AS,带有本地AS号的路由将丢弃,避免区域间产生环路
六,AS内部:BGP在AS内学到的路由不会再通告给AS在内的BGP邻居,避免AS内产生环路

BGP分类

BGP按照运行方式为EBGP和IBGP

EBGP:运行不同AS之间的BGP称为EBGP。为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地的路由丢弃掉
IBGP:运行于同一AS内部的BGP称为IBGP。为了防止AS内产生环路,BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立连接。

BGP的工作原理

一,BGP的报文
BGP对等体之间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式报文

①,Open报文:用于协商BGP对等体的各项参数,主要包括BGP版本,AS号等信息。建立BGP对等体连接。Open报文是TCP连接建立后发送的第一个报文
②,Update报文:用于在对等体之间交换信息
连接建立后,有路由需要发送或路由变化时,发送Update通告对端可达或者撤销路由信息及路由路径属性
③,Notification报文:用于中断BGP连接
当BGP在运行中发现错误时,发送Notification报文通告BGP对端,随后与之相关的邻居关系将被关闭
④,Keepalive报文:用于保持BGO连接
定时发送Keepalive报文以保持BGP对等体关系的有效性
相应收到的正确Open报文
⑤,Route-refresh报文:用于再改变路由策略后软复位BGP路由表请求对等体重新发送路由信息。
只用支持路由刷新能力的BGP设备发送响应这个报文。

二,BGP状态机
BGP对等体的交互过程中存在6种状态机:空闲,连接,活跃,Open报文已发送,Open报文已确认,连接已建立。

①,Idie:这个状态是BGP的初始状态。在这状态下,BGP拒绝邻居发送的连接请求。只有在收到本设备的Start事件后,BGP才开始尝试和其他BGP对等体进行TCP连接,并转至Connect。
②,Connect:在此状态下,BGP启动连接重传定时器,等待TCP完成连接。
如果TCP连接成功,那么BGP向对等体发送open报文,并转至OpenSent状态。
如果TCO连接失败,那么BGP停留在Active状态,反复尝试连接。
如果连接重传定时器超时,仍没有收到对等体的响应,那么停留在Connect状态。
③,Active状态:这个状态BGP总是在试图建立TCP连接
等待TCP完成连接。
如果TCP连接成功,那么BGP向对等体发送open报文,关闭连接重传定时器,并转至OpenSent状态。
如果TCO连接失败,那么BGP停留在Active状态,反复尝试连接。
如果连接重传定时器超时,仍没有收到对等体的响应,那么停留在Connect状态。
④,OpenSent:这个状态下,BGP等待对等体的OpenSent报文,并对收到的Open报文中的AS号,版本号,认证码等进行检查。
如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。
如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idie状态。
⑤,OpenConfirm:这个状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idie状态。
⑥,Established:这个状态下,BGP可以和对等体交换Update,Keepalive,Route-refresh报文和Notification报文。
如果收到正确的Upadte或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接
如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idie状态。
如果收到Notification报文,那么BGP转至Idie状态
如果收到TCP拆链通知,那么BGP断开连接,转至Idie状态。
Route-refresh报文不会改变BGP状态。

BGP对等体之间的交互原则

1,从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体
2,从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体
3,当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体
4,路由更新时,BGP设备只发送更新的BGP路由
5,所有对等体发送的路由,BGP设备都会接收
6,所有EBGP对等体在传递过程中下一跳改变
7,所有IBGP对等体在传递过程中下一跳不变
8,默认EBGP传递TTL值为1
9,默认IBGP传递时TTL值为255

建立对等体注意点
直连建立对等体需要注意的点

建立IBGP对等体时要让下一跳可达,处于边界的IBGP对等体需要将下一跳指向自己。

用环回口建立邻居需要注意的点

需要修改更新源,默认更新源是物理口,需要改成环回口。
建立EBGP对等体时因为EBGP只能传一跳,因此,在建立EBGP对等体时,需要修改EBGP多跳的跳数为2以上。

BGP实例
网络拓扑图

在这里插入图片描述

R1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

R2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

R3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

R4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

R5

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

R6

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

R7

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值