HCIP-6.4BGP数据库及通告路由的方式

HCIP-6.4BGPBGP数据库及通告路由的方式

  • 1、BGP数据库
  • 1.1、邻居表
  • 1.2、BGP路由表
  • 1.3、路由表
  • 2、BGP通告路由的方式
  • 2.1、BGP的路由通告原则:
  • 2.1.1、只会发布最优并且有效路由
  • 2.1.2、通过EBGP获得的最优路由发布给所有BGP邻居。
  • 2.1.3、IBGP水平分割。
  • 2.1.4、BGP同步规则。

1、BGP数据库

BGP的工作过程:
1, 基于IGP协议实现IP可达
2, 指定邻居关系,通过三次握手,建立TCP的会话通道。之后所有BGP的数据报都将基于TCP会话通道来进行传递。
3, 使用open报文和keeplive报文进行邻居关系的建立。之后将邻居关系收集到一张表中,即邻居表
4, 通过update报文传递路由信息。传递的路由条目信息中主要包含目标网络号,掩码信息,以及各种路径属性。之后,设备会将所有自己发出的以及收到的路由信息记录在一张表中,即BGP表
5, 之后将BGP表中的最优路径加载到路由表中。
6, 收敛完成后,BGP将周期使用keeplive报文进行保活。保活时间默认为180S,周期发送时间默认为保活时间的1/3,即60S。
7,若出现错误信息,将使用notification报文进行告警。
8,若发生结构突变,则将使用update报文进行触发更行。

BGP数据库组成:

类型 描述
IP路由表 全局路由信息库,包括最优的IP路由信息。
BGP路由表 BGP路由信息库,包括本地BGPSpeak通告的路由信息,将其最优的添加到路由表中 update BGP datebase
邻居表 对等体邻居清单表,包括对等体两端的邻居信息及邻居列表。
Adi-RIB-In 对等体宣告给本地的Speak的未处理的路由信息库。
Adjust-RIB-OUT 本地Speak宣告给指定的对等体路由信息库。

HCIP-6.4BGP数据库及通告路由的方式_第1张图片

1.1、邻居表

<R2>dis bgp peer
 BGP local router ID : 2.2.2.2
 Local AS number : 123
 Total number of peers : 2		  Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre fRcv
  1.1.1.1         4         123       10       12     0 00:08:14 Established    0
  24.0.0.4        4         100        7        7     0 00:05:11 Established    0

V版本、 MsgRcvd从对端收到报文数量(open、keeplive报文)、MsgSent发送报文数量、OutQ队列、UP开始时间、State状态、Established状态已建立。
PrefRcv表示的是接收到的前缀数目,若此时BGP内还无任何路由引入只是形成邻居关系,PrefRcv应为0表示此时无路由信息接收。

状态为Established,表示邻居关系建立成功。
状态为active,表示TCP连接建立失败,反复尝试重新建立TCP会话。
上面1.1.1.1为IBGP邻居,24.0.0.4为R2的EBGP邻居。

1.2、BGP路由表

<R1>dis bgp rou
BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete
 Total Number of Routes: 2
      Network          NextHop       MED        LocPrf    PrefVal Path/Ogn

 *>   111.1.1.1/32       0.0.0.0         0                     0      i
 *>i   44.4.4.4/32       2.2.2.2         0          100        0      i

i指是通过IBGP学过来的路由。*可用的;>代表最佳的;

Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? – incomplete
Network:显示BGP路由表中的网络地址
NextHop:报文发送的下一跳地址
MED:路由度量值
LocPrf:本地优先级
PrefVal:协议首选值
Path/Ogn:显示AS路径号及Origin属性
Community:团体属性信息

<R1>dis ip rou pro bgp            //查看bgp协议路由表 EBG
Public routing table : BGP
         Destinations : 1        Routes : 1        

BGP routing table status : <Active>
         Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags  NextHop        Interface
          44.4.4.4/32    IBGP    255  0        RD    2.2.2.2         G0/0/0

1.3、路由表

<R1>dis ip rout 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 15       Routes : 15       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        1.1.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack0
        2.2.2.2/32  OSPF    10   1           D   12.0.0.2        GigabitEthernet0/0/0
        3.3.3.3/32  OSPF    10   1           D   13.0.0.3        GigabitEthernet0/0/1
       12.0.0.0/24  Direct  0    0           D   12.0.0.1        GigabitEthernet0/0/0
       12.0.0.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
     12.0.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
       13.0.0.0/24  Direct  0    0           D   13.0.0.1        GigabitEthernet0/0/1
       13.0.0.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
     13.0.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
       24.0.0.0/24  OSPF    10   2           D   12.0.0.2        GigabitEthernet0/0/0
       35.0.0.0/24  OSPF    10   2           D   13.0.0.3        GigabitEthernet0/0/1

2、BGP通告路由的方式

BGP路由条目的来源:

路由来源 描述
宣告 - Network 在bgp模式下将已有的igp路由进行宣告,BGP宣告的直连,宣告从其他路由协议得到的路由:IGP。network优先级>本地通过import-route命令引入的路由。
引入 - import-router 通过直接引入协议的方式进行进入,可支持协议为直连路由、静态路由、OSPF路由、ISIS路由等,例如:import-router ospf/static。华为设备尽量不做重分布直连,常出问题。重分布、引入产生的,代码是?,incomplete。
聚合路由 有手工聚合(精确常用)和系统自动聚合两种方式,无论手工还是自动生成后都会和明细路由进行并列,如果不想让对等体接收到明细路由(默认明细和聚合一起传输),就可以使用明细抑制来保证只有聚合路由

Network配置命令:
[R2]bgp 123
[R2-bgp]ipv4-family unicast
[R2-bgp-af-ipv4]network 2.2.2.2 32 //配置BGP逐条引入IPv4路由表或IPv6路由表中的路由。

Import方式:按协议类型,将RIP路由、OSPF路由、ISIS路由等协议的路由引入到BGP路由表中。
[R2]bgp 123
[R2-bgp]ipv4-family unicast
[R2-bgp]import-router ospf //引入路由,可以是rip、ospf、isis
[R2-bgp]default-route imported //引入本地IP路由表中已经存在的缺省路由。

HCIP-6.4BGP数据库及通告路由的方式_第2张图片

1、宣告 - Network方式配置:
R4增加环回并在BGP中宣告。

int lo 1
ip add 41.1.1.1 32
int lo 2
ip add 42.2.2.2 32
int lo 3
ip add 43.3.3.3 32
bgp 100	
ipv4-family unicast 	  //进入IPv4单播地址族
network 41.1.1.1 32
network 42.2.2.2 32	
network 43.3.3.3 32

R4与R2建立EBGP的邻居关系,R4通过network命令宣告41.1.1.1/32,42.2.2.2/32与43.3.3.3 3/24的路由,使对端EBGP邻居R2学习到R4路由表里的路由。

<R2>display bgp routing-table 
 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   41.1.1.1/32        24.0.0.4        0                     0      100i
 *>   42.2.2.2/32        24.0.0.4        0                     0      100i
 *>   43.3.3.3/32        24.0.0.4        0                     0      100i

注意:R3上是不会有上面三条路由条目,BGP只传一跳。IBGP的水平分割,IBGP只能update一跳,从R4学到的路由–>R2 -->R21,不会到达R3。

2、引入 - import-router配置:

[R1-LoopBack1]int lo1
[R1-LoopBack1]ip add 100.1.1.1 32
[R1-LoopBack1]int lo2 
[R1-LoopBack2]ip add 100.2.2.2 32
[R1-LoopBack2]int lo3
[R1-LoopBack3]ip add 100.3.3.3 32

[R1-ospf-1]a 0
[R1-ospf-1-area-0.0.0.0]network 100.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 100.2.2.2 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 100.3.3.3 0.0.0.0
[R1-ospf-1]q

R2引入import-router在ospf中宣告的三个网段。

[R2]ip ip-prefix import index 10 permit 100.1.1.1 32
[R2]ip ip-prefix import index 20 permit 100.2.2.2 32
[R2]ip ip-prefix import index 30 permit 100.3.3.3 32
[R2]route-policy import permit node 10
Info: New Sequence of this List.
[R2-route-policy]if-match ip-prefix import
[R2-route-policy]q
[R2]bgp 123
[R2-bgp]ipv4-family unicast
[R2-bgp-af-ipv4]import-route ospf 1 route-policy import
[R2-bgp-af-ipv4]dis bgp rou
 Total Number of Routes: 6
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   41.1.1.1/32        24.0.0.4        0                     0      100i
 *>   42.2.2.2/32        24.0.0.4        0                     0      100i
 *>   43.3.3.3/32        24.0.0.4        0                     0      100i
 *>   100.1.1.1/32       0.0.0.0         1                     0      ?
 *>   100.2.2.2/32       0.0.0.0         1                     0      ?
 *>   100.3.3.3/32       0.0.0.0         1                     0      ?

重分布、引入产生的,代码是*?*,incomplete。

3、路由聚合是会使用Aggregator属性和AutoAggregator属性,后面再讲。

2.1、BGP的路由通告原则:

2.1.1、只会发布最优并且有效路由

连接建立时,BGP Speaker只把本身用的最优路由通告给对等体。
多条路径时,BGP Speaker只选最优的路由放入路由表。
HCIP-6.4BGP数据库及通告路由的方式_第3张图片

存在多条有效路由时,BGP路由器只将自己最优的路由发布给邻居。
RD可以从BGP邻居RB与RC学习到100.0.0.0/24的路由,同时RD将自己的直连路由200.0.0.0/24发布到BGP中。
在RE上使用命令display bgp routing-table查看如图所示。可以发现,RD将自己标为有效且最优的路由发布给了BGP邻居RE。

<RD>display bgp routing-table
       Network	     NextHop   MED  LocPrf   PrefVal   Path/Ogn
 *>i  100.0.0.0/24	10.1.12.1  0      100     0     100i
 * i		10.1.13.1             0      100     0     100i
 *>   200.0.0.0	0.0.0.0      0              0      i

*>i 100.0.0.0/24 10.1.12.1这一线路为最优路由。
RE查看

<RE>display bgp routing-table
       Network	     NextHop    MED    LocPrf   PrefVal	Path/Ogn
 *>  100.0.0.0/24	10.1.45.4                     0       200 100i
 *>  200.0.0.0	    10.1.45.4     0               0       200i

Path/Ogn:显示经过AS100、AS200路径及Origin属性,i - IGP由IGP宣传的路由。

2.1.2、通过EBGP获得的最优路由发布给所有BGP邻居。

HCIP-6.4BGP数据库及通告路由的方式_第4张图片

BGP邻居:IBGP邻居和EBGP邻居。
RA上有一个100.0.0.0/24的用户网段,并通过EBGP将该网段发布给BGP邻居RB。RB收到EBGP邻居发送来的100.0.0.0/24的路由后,将会通告给自己的IBGP邻居RC与EBGP邻居RD。

BGP是AS by AS的协议,不同于IGP的下一跳是路由器地址,BGP的下一跳是如何去往其他AS的一个设备;而且在不同AS之间保持不变。

配置IBGP,R2和R3:
在配置上首先保证IBGP下一跳可达。

[R2]bgp 200
[R2-bgp]peer 3.3.3.3 as 200
[R2-bgp]peer 3.3.3.3 connect-interface lo0

[R3]bgp 200
[R3-bgp]peer 2.2.2.2 as 200
[R3-bgp]peer 2.2.2.2 con lo0
[R3]dis bgp rout
 Total Number of Routes: 1
      Network         NextHop        MED        LocPrf    PrefVal Path/Ogn
   i  100.0.0.0/24    10.1.12.1       0          100        0      100i

没有带*和>,就不最优路由,不可能收到路由表,为什么会出现这种状况。这是因为下一跳不是邻居而是2跳。

解决方案:在边界处修改更新源为本设备更新源。IBGP邻居的下一跳更新源是本设备。

[R2-bgp]peer 3.3.3.3 next-hop-local
<R2>refresh bgp all export      //刷新BGP出方向

<R3>refresh bgp all import       //刷新BGP入方向

注意:在BGP配置中常用的命令:
refresh bgp all export //刷新BGP出方向
refresh bgp all import //刷新BGP入方向
reset bgp all //重启BGP
peer 2.2.2.2 ignore //暂停或关闭邻居

修改后就是可以看到最优路由发布给所有BGP邻居。

[R3]dis bgp rout
Total Number of Routes: 1    下一跳变成22.1.1.1
      Network       NextHop      MED        LocPrf    PrefVal Path/Ogn
*>i  100.0.0.0/24   2.2.2.2       0          100        0      100i

2.1.3、IBGP水平分割。

从IBGP对等体获取的路由,不会发送给IBGP对等体,十分重要!! 主要是为了防环。
从IBGP获得的路由不会通告给其它的IBGP邻居,也不会通告给EBGP。
IBGP内的路由需要从边界路由通告给EBGP邻居。
HCIP-6.4BGP数据库及通告路由的方式_第5张图片
IBGP的水平分割,IBGP只能update一跳,从RA学到的路由–>RB–>RD、从RA学到的路由–>RB -->RC不会到达RE。
HCIP-6.4BGP数据库及通告路由的方式_第6张图片

R2宣告2.2.2.2的路由

[R2]bgp 123
[R2-bgp]ipv4-family unicast 
[R2-bgp-af-ipv4]net 2.2.2.2 32

R1上可买看到

<R1>dis bgp rout
 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
   i  2.2.2.2/32         2.2.2.2         0          100        0      i

但是在R3上是不能看到到的。
这样设计的目的是防止在AS内部形成路由环路。根据规定,BGP路由在同一个AS内进行传递时,AS_Path属性不会发生变化。也就是说R2–>R1时,AS_Path属性不变,i。假如R1能将IBGP路由2.2.2.2/32发布给R3,AS_Path依旧为i。则R3也有可能将2.2.2.2/32的路由发布给R2。路由环路产生。因此,上述通告原则是为了防止在AS内部形成路由环路。

2.1.4、BGP同步规则。

BGP Speaker 从IBGP获得的路由是否通告给它的EBGP对等体要依IGP和BGP同步的情况来决定。

BGP不会把从IBGP得到的路由更新给EBGP邻居,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,也就是要求IBGP路由与IGP路由同步。IGP无法承载这么多bgp路由。

可以想象一个AS自治系统内,由成百上千台路由器组成,它庞大的路由表,如果都更新给EBGP邻居,对于EBGP邻居内路由器带来极大的开销,甚至可能导致设备宕机,这是非常危险的事情。

不开启同步,默认是关闭的,华为设备开启不了同步。

[R2]bgp 123
[R2-bgp]dis th
ipv4-family unicast
  undo synchronization   同步
  peer 1.1.1.1 enable

总结:BGP如何更新路由:1、最优的 2、IBGP仅仅传递一跳 3、更新EBGP(同步规则)

你可能感兴趣的:(网络工程,网络,网络协议,华为,学习,信息与通信)