Datacom HCIP笔记-BGP协议 之一

BGP:边界网关路由协议

边界:AS的边界

IGP:AS内部网关路由协议,实现AS内部的互联互通。

BGP:AS互联互通的一种路由协议。

IGP直连邻居之间传递路由信息,逐跳(逐路由器)的传递路由。

BGP是一种工作在应用层的路由协议,只要BGP邻居能够建立,那么就能在邻居之间传递路由信息。

BGP的路由属性是人为设计的。BGP的路由属性是对BGP路由进一步描述。

作用:实现BGP路由的控制,选路,防环,管理。

BGP是一种基于TCP协议的应用层路由协议,所以邻居关系不会自动建立,需要手动配置。

BGP是一种单播通信,DIP(目的IP)是要事先知道的。

BGP使用TCP 179端口进行工作。BGP建立邻居的地址要保证连通性。

BGP邻居类型

1、IBGP运行在同一个AS的BGP路由器建立的邻居关系

2、EBGP运行在不同AS的BGP路由器建立的邻居关系

AS号:取值范围1-65535

64512-65535是私有AS号,用大型企业内部进行AS的规划。

1-64511是公有AS号,需要为用户/企业提供互联网接入服务的时候分配的。

AS号老的长度2个字节,16bit

AS号新的长度4个字节32bit

EBGP邻居如何配置

1、直连物理接口配置EBGP邻居。

peer 10.1.12.2 as-number 2

指定的邻居地址为本端向该邻居发送BGP报文的目的地址,同时这个地址应该对端向本端发送BGP报文的源地址。

源地址默认情况下为去往邻居地址路由的出接口IP。

默认情况下EBGP邻居之间发送BGP报文的TTL=1,即强制要求EBGP邻居直连。

2、用1oopback接口配置EBGP邻居。

bgp 2

peer 1.1.1.1 as-number 1

peer 1.1.1.1 connect-interface LoopBack 0

peer 2.2.2.2 connect-interface LoopBack 0

指定向邻居发送BGP报文的源地址为loopback 0接口的地址

peer 1.1.1.1 ebgp-max-hop 10

当EBGP邻居之间存在多跳时,指定向EBGP邻居发送BGP报文的TTL值,仅在EBGP邻居之间使用,IBGP邻居默认TTL=255

OPEN报文

1、邻居参数协商自身AS号:要和邻居指定的AS号一致,否则邻居无法建立

BGP routerid:不同冲突,否则邻居关系无法建立

hold time:邻居失效时间,默认180s,如何不一致,则协商小的。

BGP version:默认目前运行的BGPv4,一般不存在版本不同的情况

2、BGP邻居能力的协议

地址族协商一致,不一致邻居无法建立,默认IPv4单播地址族路由刷新能力,即手动触发更新能力。

ipv4单播地址族

ipv4组播地址族

vpnv4地址族

Idle(空闲):Idle 是BGP连接的第一个状态,在空闲状态,BGP在等待一个启动事件启动事件,

出现以后,BGP初始化资源,复位连接重试计时器(Connect-Retry),发起一条TCP连接,

同时转入Connect(连接)状态。路由器再路由表中搜索去往neighbor指定的IP地址的路由,看是否有前往该地址的路由,如果没有明细路由的话,就会卡在这个状态,即使存在默认路由也是不可以的,因此此时不会主动的发起TCP连接,如果出现这样的情况,可以去查看showiproute,然后通过配置“静态路由"或者“通过IGP来通告"neighbor地址的IP来解决这个问题。

1、没有去往邻居地址的路由,无法发起TCP三次握手,也无法完成TCP的3次握手。

2、邻居发起的TCP握手,被本端拒绝,拒绝的原因是邻居发起TCP报文的源地址,不是本端指定的邻居地址。

Connect(连接):在Connect状态,BGP发起第一个TCP连接,如果连接重试计时器(Connect-Retry)超时,就重新发起TCP连接,并继续保持在Connect 状态,如果TCP连接成功,就转入OpenSent 状态,如果TCP 连接失败,就转入Active 状态。如果搜索到了,则开始建立TCP连接,如果成功的话,邻居状态则进入“connect”状态。要分清楚是建立TCP连接的源地址和目标地址是什么,是双方的neighbor如果双方指定的IP地址不相同,那肯定就得不到“期望”的TCP连接。当发起TCP连接路由器,无法收到邻居TCP回应报文时,就会卡在connect状态,并且5秒后重传一次TCP连接请求,再等待32秒左右,重新再次发起TCP连接请求,通常是由于发起端存在邻居地址的路

由,并能主动发送TCP3次握手,但无法从邻居接收第二次握手的报文。通常是由于邻居缺乏到对端的路由,或者是应答报文中途被丢弃。

发起tcp连接的路由器,在5s内,如果没有得到邻居的任何回应报文,重传tcp报文,继续等待25s,还没有收到邻居的任何回应,会在重传tcp报文,再建立不起来重连

OpenSent(打开消息已发送):在OpenSent状态,TCP连接已经建立,BGP也已经发送了第一个Open报文,剩下的工作,BGP就在等待其对等体发送Open 报文。并对收到的Open报文进行正确性检查,如果有错误,系统就会发送一条出错通知消息并退回到ldle状态,如果没有错误,BGP就开始发送Keepalive报文,并复位Keepalive 计时器,开始计时。同时转入OpenConfirm状态。TCP连接建立之后,开始发送open报文,其中包含很多参数,以让对方去根据这个"OPEN"来协商参数。只要TCP建立成功,一定就可以发送出open报文,除非在接口做策略控制。

OpenConfirm(打开消息确认)状态:在OpenConfirm状态,BGP发送一个Keepalive 报文,同时复位保持计时器,如果收到了一个Keepalive 报文,就转入Established 阶段,BGP邻居关系就建立起来了。如果TCP连接中断,就退回到Idle 状态。如果参数协商成功,就会发送keepalive报文,进行隐式确认,收到该报文后,就进入到open-confirm状态。1如果在5s之内依然是没有收到keep-alive报文的话,就进入到active状态。

@不同意open-send报文中的内容,即参数协商不成功,就不会发送open-confirm回去;般就是AS号不同,此时邻居表中看到的状态是:不停的idle和active状态之间翻滚。

Active(活跃):在Active状态,BGP总是在试图建立TCP 连接,如果连接重试计时器(Connect-Retry)超时,就退回到Connect 状态,如果TCP 连接成功,就转入OpenSent 状态,如果TCP 连接失败,就继续保持在Active状态,并继续发起TCP连接,没有收到对open-send报文的确认报文。当发送TCP连接路由器,能收到相应的邻居应答报文,代表2台路由器能正常交互报文,但是依然无法建立起TCP的3次握手,将会进入到Active。邻居之间地址可达,但建立BGP邻居的源目地址不匹配导致。本端主动发起TCP连接的源地址和对端指定的邻居地址不匹配,导致本端处于active,对端处于idle状态。

Established:邻居关系建立Established(连接已建立):在Established 状态,BGP 邻居关系已经建立,这时,BGP将

和它的邻居们交换Update报文,同时复位 保持计时器。

oepn:邻居建立和能力参数的协商(至少有个一个地址族能力要一致)

keepalive报文默认每隔60s周期性发送,如果180s没有收到keepalive报文,则认为BGP邻居失效,断开TCP连接。

update:BGP路由传递以及撤销。

Route-refresh:用于手动进行BGP路由的触发更新,或者用于oRF功能。

Notification:通知报文用于报错,收到该报文只有一个结果就是断开TcP连接。

opensent:代表已经发送open报文,并等待接收邻居的open报文

opencofirm:代表收到邻居的open 报文,并发送keepalive报文,等待接收邻居的keepalive

Established:收到keepalive报文

open报文

1、AS号

2、BGP version

3、BGP router id

4、holdtimer

能力协商

1、地址族协商IPv4单播地址族

2、路由刷新功能

3、4字节AS的支持

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值