BGP

边界网关协议(外部网关协议)BGP:采用路径向量路由选择协议,BGP发言人(一般为BGP边界路由器),两个BGP发言人交换路由信息时,要先建立TCP连接,再此连接上建立GBP会话,利用BGP会话交换路由信息。彼此为邻站和对等站。

不同自治域之间为什么不能使用内部网关协议?

  1. 互联网规模太大,使得自治系统之间路由选择非常困难。
  2. 自治系统之间的路由选择必须考虑相关的策略。

1 BGP:Border Gateway Protocol,边界网关协议,运行在自制系统间的路由协议,主要作用交换域间路由协议;

2 IBGP:Internel BGP,内部边界网关协议,如果两个交换BGP报文的对等实体属于同一个自治系统,那么这两个对等实体就是IBGP对等实体;

3 EBGP:Externel BGP,外部边界网关协议,如果两个交换BGP报文的对等实体属于不同的自治系统,那么这两个对等实体就是EBGP对等实体;

4 IGP: Interior Gateway Protocol内部网关协议,主要作用是发现和计算自治域内的路由信息,包括RIP,OSPF,IS-IS,IGRP等

5 EGP:Exterior Gateway Protocol外部网关协议,一种自治系统相邻两个网关之间交换路由信息的协议,BGP是最新的外部网关协议

BGP:BGP路由器之间基于TCP建立BGP会话,端口号为179,两个对等关系不需要是邻居关系,只要IP可达即可(即可跨路由器建立对等关系)。

BGP

BGP的路径矢量特征

AS-Path:表示去某AS网络的路径

作用:1. 可用来路由选择一个标准 2.可用来防止环路

BGP报文类型:

报文名称 作用 什么时候发
OPEN 协商BGP邻居的各项参数,建立邻居关系 Open是TCP连接建立后发送的第一个报文
UPDATE 用于在对等体之间交换路由信息 连接建立后,有路由需要发送或路由变化时,发送此通告对端路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息
NOTIFICATION 当BGP检测到错误状态时,就向对等体发出此消息,之后BGP连接会立即中断 当BGP在运行中发现错误时,要发送此报文通告BGP对端
KEEPALIVE 维持邻居关系 定时发送此报文以保持BGP邻居关系的有效性
Route-refresh 此消息用来要求对等体重新发送指定地址族的路由信息 当路由策略发生变化时,触发请求邻居重新通告路由

BGP的邻居状态机

Peer状态名称 发什么包 在做什么
Idle 尝试建立TCP连接 开始准备TCP的连接并监视远程peer启动TCP连接,启动BGP时,要准备足够的资源
Connect 发TCP包 正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。如果TCP连接不上则进入Active状态,反复尝试连接
Active 发TCP包 TCP连接没建立成功,反复尝试TCP连接
OpenSent 发Open包 TCP连接建立已经成功,开始发送Open包,Open包携带参数协商对等体的建立
Open Confirm 发Keepalive 参数、能力特性协商成功,自己开始发送Keepalive包,等带对方的Keepalive包
Established 发Update包 已经收到对方的Keepalive包,双方能力特性一致,开始用Update通告路由信息

BGP路由黑洞问题

  • BGP同步规则:
    • BGP同步规则指出,BGP路由器不应该使用通过IBGP对等体获悉的路由或将其通告给EBGP对等体,除非该路由器是本地的或者又通过IGP获悉。
    • 华为设备默认关闭同步
  • 将IGP-BGP路由重发布(BGP路由数量较大)
  • 全网BGP
  • MPLS(标签交换)

IBGP水平分割(在同一AS内防环问题)

定义:当一台路由器从一个IBGP的对等体收到一条路由的时候,它就不能把这条路由发给其他对等体。

IBGP水平分割可能会导致无法路由问题,用AS内邻居关系全互联解决,但是全互联的大量信息会导致路由器工作负荷大,用路由反射器和联邦可解决此问题。

BGP路由通告规则

BGP路由通告规则

BGP基本配置

  1. 首先需要先创建一个BGP进程(进程命名一般为AS号)

  2. 指定BGP路由器ID

  3. 配置一个BGP对等体(peer 对等体IP地址 as-number 对方AS号 ),双方都需要配置

  4. 向对等体通告路由

    1. network方式(区别于OSPF)
    2. import-route方式

三张表:1.peer table 2. BGP routing-table 3. RIB(routing information base,最优路由表)


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2924854739@qq.com

文章标题:BGP

本文作者:DROBP

发布时间:2019-09-13, 17:20:23

最后更新:2019-09-20, 08:22:53

原始链接:https://DROBP.github.io/2019/09/13/BGP/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏