BGP协议(一)

**

BGP

**
概述:

  1. BGP:边界网关协议

  2. 应用范围:EGP协议,AS之间使用的协议

  3. 更新类型:携带网络掩码

  4. 算法:无算法,规则,距离矢量型

  5. 封装:基于TCP封装,端口号179

  6. 可靠性:直接利用TCP来传递路由,保证可靠性但丧失邻居自动发现,单播建邻,并且可以非直连建邻

  7. Bgp设计用来处理AS之间的路由,所以该协议中点处理AS之间的路由,AS内的路由不作为重点考虑

  8. Bgp使用AS号作为识别不同AS路由的标识,该AS号需要具有唯一性
    1-65535 可以用扩展32位 65536-4294967295 (解决as号不够用的问题)

  9. Bgp最小使用单位是一个路由器,所以每个路由器只能使用一个bgp进程

  10. 由于bgp管理的路由信息非常庞大,不能使用周期更新,只能触发更新,并且bgp认为一条路由时间越久越稳定,在这种情况下,bgp必然不会使用复杂的算法来处理bgp收到的信息,又由于每个as情况不一致,管理范围也有限。必然需要丰富的管理参数,不能只依赖metric;综上所述,bgp必然需要多种参数来决定路由的选择,并且不能依赖某种特定的全局算法,只能单独去计算某一条路由,并且需要依赖所属as管理员手动设置。 Bgp路径优先协议,通过给每一个路由设置大量的属性参数来进行灵活的管理选路,并且这些属性参数大量的都需要人为来控制。

邻居建立
1. BGP数据包
Open: 用于BGP邻居关系建立,仅仅发送一次
BGP邻居关系建立: AS号 BGP router-ID必须不一致 认证
BGP协议(一)_第1张图片
keepalive: 用于BGP邻居关系的维持,默认60s发送一次
在这里插入图片描述
update: 路由更新,用于通告路由;用于撤销路由
路由通告,使用TCP中的ACK确认
撤销路由(withdrawn–撤销)
BGP协议(一)_第2张图片
notification:报告(错误报告),用于通告BGP错误
在这里插入图片描述
reflush: 刷新bgp路由

2.邻居关系建立
在这里插入图片描述
Down:关闭BGP状态
idle:开始建立TCP连接状态,启动定时器
在这里插入图片描述
connect:三次握手成功,发送open给邻居
在这里插入图片描述
Active :三次握手失败,超时回到connect状态
BGP协议(一)_第3张图片
Open send:发送open,收到open没错则发送keeplive,并进入下一状态
在这里插入图片描述
Open confire:收到keeplive,进入下一状态
在这里插入图片描述
Establish:BGP:邻居建立
在这里插入图片描述
在BGP邻居建立过程中,仅仅发送open报文,不传路由

Bgp建邻失败的场景
参数与配置:
1.neighbor 10.1.1.1 //代表向该地址发送tcp端口为179 的数据,并且自己也需要在发出地址上打开tcp 179 监听。该配置可以指定源地址也可以不指定源地址,不指定就是出接口地址。(意味着得打开该出接口关于tcp179的监听)
本端指的地址,需要为对方的源地址;对方指的地址需要是本端的源地址

2.neighbor 10.1.1.1 remote-as xx
对端建立的邻居的as号必须和本端的 as号一致

3.建立双方保证tcp数据能够发送,不丢失,不被拦截

邻居之间路由传递规则
两种邻居关系:
IBGP:内部BGP 邻居关系,同一个AS内建立BGP邻居
EBGP:外部BGP 邻居关系,在不同AS之间建立BGP邻居

1.BGP不管什么邻居关系,只传递最优路由(不优不传,优的标志是.>,也就是不带>的路由不会被bgp传递)
2.EBGP邻居关系路由传递:只要不违背环路原则或人工策略,则EBGP邻居传递无限制(前提必须优),EBGP之间传递路由会更新next-hop为自己的更新源地址
3.IBGP邻居关系路由传递: Ibgp自己产生的路由(自己宣告的,自己重发布进来的)和ebgp邻居传递的都可以传递给其ibgp邻居,但不可以在ibgp之间中转(也就是不能传递到邻居的邻居)。
IBGP之间传递路由不会更新next-hop(只有next-hop为0.0.0.0的情况才会更新,或者建立邻居时输入 neighbor x.x.x.x next-hop-self 更新为自己的更新源地址)。
这样设定的优点:ibgp之间有了水平分割,从而避免了ibgp环路的产生,ibgp也不必设置防环算法
这样设置的缺点:ibgp之间路由传递必须直接建立邻居,导致ibgp邻居关系是一种全互联状态。

属性
BGP协议(一)_第4张图片

你可能感兴趣的:(BGP,路由协议)