【HCIP】BGP实验

文章目录

  • 拓扑
    • 建立BGP邻居关系
    • 宣告路由

拓扑

【HCIP】BGP实验_第1张图片

建立BGP邻居关系

  1. 单链路的EBGP邻居关系
[R1]bgp 1	//启动时需要定义AS号,没有多进程概念;一台设备只能在一个AS中工作
[R1-bgp]router-id 1.1.1.1	//建议配置RID;RID生成规则同OSPF
[R1-bgp]peer 12.1.1.2 as-number 2	//对端接口IP地址+对端所在的AS号
//R2
[R2]bgp 2
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 12.1.1.1 as-number 1

两端配置完成后,邻居间先进行TCP的三次握手,建立TCP会话

[R1]display tcp status
TCPCB    Tid/Soid Local Add:port        Foreign Add:port      VPNID  State
b4c2eb08 6  /1    0.0.0.0:23            0.0.0.0:0             23553  Listening
b4c2eed4 164/1    0.0.0.0:179           12.1.1.2:0            0      Listening
b4c2f018 164/8    12.1.1.1:179          12.1.1.2:50230        0      Established
//实际上建立两个会话,但最终只保留RID大的路由器发起的会话,此时发起会话的路由器的端口号是随机的,而RID小的路由器的端口号是TCP 179

当TCP会话建立后,邻居间收发一次Open包(携带RID),建立邻居关系,生成 邻居表

[R1]display bgp peer

 BGP local router ID : 1.1.1.1
 Local AS number : 1
 Total number of peers : 1                Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv

  12.1.1.2        4           2        7        8     0 00:05:15 Established       0
//V:版本version 4
//AS:对端AS号
//MsgRcvd:收到包的数量
//MsgSent:发送包的数量
//OutQ:进出策略为0
//Up/Down:建立时长
//State:状态
//PrefRcv:从对端学习到的路由数
  1. 建立IBGP邻居关系 — 由于一个AS的内部大多拓扑冗余比较丰富,若使用物理接口来作为源、目IP地址建立BGP邻居,将浪费冗余资源,建议使用环回接口作为源、目IP地址;
    稳定,且可以同时使用多条链路资源
//配置
[R2]bgp 2
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 3.3.3.3 as-number 2
---
[R3]bgp 2
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 2.2.2.2 as-number 2
//在使用环回地址作为源、目IP地址时,既要定义目标为对端的环回,还需要修改本端的源为环回,否则将自动使用本地的物理出口作为源、
[R2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
---
[R3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
  1. 多链路的EBGP邻居关系
    建议使用环回作为源、目标接口
    1、IP可达 — 一般使用静态
[R4]ip route-static 5.5.5.0 24 45.1.1.5
[R4]ip route-static 5.5.5.0 24 54.1.1.5
---
[R5]ip route-static 4.4.4.0 24 45.1.1.4 
[R5]ip route-static 4.4.4.0 24 54.1.1.4

2、建立EBGP邻居关系

[R4]bgp 2
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 5.5.5.5 as-number 3
[R4-bgp]peer 5.5.5.5 connect-interface LoopBack 0
---
[R5]bgp 3   
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 4.4.4.4 as-number 2
[R5-bgp]peer 4.4.4.4 connect-interface LoopBack 0

3、TTL问题,默认IBGP邻居间的数据包TTL值为255,EBGP邻居间TTL值为1,因此若使用环回来建立EBGP邻居关系,TTL值不够

//修改TTL
[R4-bgp]peer 5.5.5.5 ebgp-max-hop 2
---
[R5-bgp]peer 4.4.4.4 ebgp-max-hop 2

宣告路由

BGP协议所宣告路由为本地路由表中任何来源产生的路由
宣告时可逐条选择本地路由表中的路由信息宣告

[R1]bgp 1
[R1-bgp]network 1.1.1.0 24
//宣告时,所宣告的网络号必须和本地路由表中的记完全一致

当宣告配置完成后,本地生成 BGP表 — 装载本地发出及接收到所有BGP路由

[R1]display bgp routing-table
 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   1.1.1.0/24         0.0.0.0         0                     0      i
//* 可用;> 优秀;i 标识路由条目通过IBGP学习,不加表且不传递
//一条路由条目可用且优秀才能传输给本地的其他邻居,才能加载到本地的路由表中

条目优秀条件

  1. 同步问题 — 目前的设备同步规则默认关闭,该问题在当下已经不需要关注了
    同步问题 — 本地必须先通告IGP徐熙到该路由,再通过BGP学习(不可行)
  2. 下一跳不可达问题 — 因为 AS-BY-AS规则,使得下一跳地址在一个AS内部传递时,默认不修改,故通过本地IBGP邻居学习到的路由,大多下一跳不可达
[R2]bgp 2
[R2-bgp]peer 3.3.3.3 next-hop-local	//R2 将路由传递给3.3.3.3的时候,修改下一跳属性为本地

逻辑悖论

过河是为了取河对面的木板修船;
修船是为了过河!

<R4>dis bgp routing-table
 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
      5.5.5.0/24         5.5.5.5         0                     0      3i

R5 给 R4 的 5.5.5.0/24 网段不优,正是因为此逻辑悖论
结局方法:将R4-5建邻时的静态写到 5.5.5.5/32 即可

路由表展示:
【HCIP】BGP实验_第2张图片
连通性测试:
【HCIP】BGP实验_第3张图片

你可能感兴趣的:(HCIP,网络,BGP,eNSP,HCIP)