目录

一:IGP与EGP的对比

二、BGP特点:

三、BGP数据包  

四、BGP的工作过程

五、专业名词:

六、BGP的路由黑洞;

七、BGP的防环机制;--水平分割

八:实验拓扑

实验目的:R1与R5上均有一个环回,要求可以ping通

实验思路:

实验过程


IGP与EGP的对比

IGP追求:收敛速度快      选择路径佳(无环)     占用资源少  hop-by-hop

EGP追求:可控性        可靠性         AS-BY-AS

可控性—BGP协议不是路由的产生者,仅为搬运者,且AS间正常应该存在大量的链路来保障稳定性;故BGP协议传递的路由条目很难默认最佳选路;--需要管理员对路由进行大量的策略来干涉选路;

可靠性—BGP协议虽然像距离矢量协议一样仅传递路由条目,但更新量依然很大;

        为了避免对设备资源的占用选择了增量更新---仅触发、无周期   

        故需要保障所有的路由传递到位—可靠    因此BGP协议基于TCP工作

        TCP的三次握手条件使得TCP只能基于单播工作,同时BGP需要非直连建邻;

        BGP基于IGP之上,先IGP使BGP设备间IP可达,然后BGP才能基于TCP建立非直连邻居关系;

AS-BY-AS—以一个AS为一跳,将一个AS看成一个整体;

二、BGP特点:

  1. 无类别路径矢量 -----距离矢量的升级版---AS--BY--AS
  2. 使用单播更新来发送所有信息;基于TCP 179端口工作
  3. 增量更新--仅触发无周期
  4. 具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议
  5. 可以在进项和出项对流量实施强大的策略--可控性
  6. 默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
  7. BGP支持认证和聚合(汇总)

三、BGP数据包  

  基于TCP的179端口工作;故BGP协议中所有的数据包均需要在tcp会话建立后,基于TCP的会话来进行传输及可靠性的保障;

首先通过TCP的三次握手来寻找到邻居;

Open       仅负责邻居关系的建立,正常仅收发一次即可;携带route-id,hold time 默认3min

Keeplive    保活    周期1min查询邻居关系是否存在;实际保活TCP会话;

Update     携带路由条目     目标网络号+各种属性

Notification   出现错误数据时收发;

四、BGP的工作过程

管理员定义邻居的ip地址,前提要求对邻居ip可达; --- IGP可达

启动BGP协议后,先目标端口为179进行TCP的三次握手来建立TCP的会话;

会话建立后,收发open报文来建立邻居关系,生成邻居表;

邻居关系建立后,邻居间使用update 共享路由条目,在收发了路由信息后,本地生成BGP表;

Bgp表中装载本地发出及接收到的所有路由条目;

之后路由器将BGP表中的最优路径(不一定是最佳选路,仅为BGP参数最佳)加载于路由表中;

收敛完成!仅keeplive周期保活即可;

五、专业名词:

EBGP 外部的BGP邻居关系,两台处于不同AS的BGP路由器间建立的邻居关系

六、BGP的路由黑洞;

由于bgp协议可以非直连建立邻居关系,故若两台BGP邻居间存在未运行BGP协议的路由时;可能出现路由条目可以在控制层面正常单播传递,但数据层面流量经过未运行BGP协议的设备时,无法通行;

控制层面可达,数据层面不可达;

解决方法:

  1. 物理或逻辑链路全连
  2. 全连的BGP邻居关系,所有设备运行bgp;
  3. 将BGP路由条目重发布到IGP协议中(LAB)
  4. 最佳方案---MPLS  多协议标签交换

七、BGP的防环机制;--水平分割

1、EBGP水平分割—防止EBGP环路

   利用BGP条目中的as-path 属性,该属性将记录所有经过的AS编号;接收到的路由条目中若as-path中存在本地的AS号,将拒绝接收;

2、IBGP水平分割—防止IBGP环路

基于AS-BY-AS特性,BGP的路由条目默认在一个AS内部传递时,其属性不变化;

八:实验拓扑

bgp的学习路线_网络

实验目的:设备所有环回可以进行ping通

实验思路:

1.先进行路由IP规划与配置

2.将IBGP的内部启动ospf协议

3.建立邻居关系—BGP基于单播进行建邻和沟通,故需要管理员手工指定邻居的ip地址;

使用直连接口ip地址来建立EBGP邻居关系

IBGP建议使用双方的环回接口来作为源/目IP地址;

若EBGP邻居间存在多条直连链路时,也建议使用环回接口来建立;

4.进行BGP的路由宣告

实验过程

1.ip配置规划如下

R1 R2 R3 R4 R5 

之间路由网段分别为12 .1.1.0  23.1.1.0  34.1.1.  45.1.1.0 与54.1.1.0

R1 R2 R3 R4 R5 的环回分别为1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 5.5.5.5

2.将IBGP的内部启动ospf协议

R2 R3 R4 配置如下

bgp的学习路线_深度学习_02

bgp的学习路线_TCP_03

bgp的学习路线_深度学习_04

ospf邻居结果如下

 

bgp的学习路线_ip_05

 3.建立邻居关系

R1 与R2单链路建立(直连建立)

bgp的学习路线_TCP_06

bgp的学习路线_ip_07

建立结果

bgp的学习路线_TCP_08

IBGP 的配置(环回接口配置)与一旦使用环回接口作为目标ip地址时,也应该修改源为本地的环回接口ip地址

bgp的学习路线_bgp的学习路线_09

bgp的学习路线_ip_10

bgp的学习路线_ip_11

 配置结果如下

bgp的学习路线_TCP_12

4.进行BGP的路由宣告(注意来回路由器的传输路由下一跳,要修改源环回ip

bgp 2
 router-id 34.1.1.4
 peer 2.2.2.2 as-number 2 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 2 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 5.5.5.5 as-number 3 
 peer 5.5.5.5 ebgp-max-hop 2 
 peer 5.5.5.5 connect-interface LoopBack0
 #
[r4]bgp 2
[r4-bgp]network 4.4.4.0 24
[r4-bgp]peer 3.3.3.3 next-hop-local
[r4-bgp]peer 2.2.2.2 next-hop-local
[r3]bgp 2
[r3-bgp]network 3.3.3.0 24
[r3-bgp]peer 2.2.2.2 next-hop-local
[r3-bgp]peer 4.4.4.4 next-hop-local

最主要内容:R4与R5建邻用的是5.5.5.0 24的路由,然后宣告的也是这条路由,建邻的目的是穿这个路由,但是这个路由被用作建邻,导致逻辑悖论,所以更改建邻路由,更改为5.5.5.0 32 解决这个问题(华为)

5.ping 通检测

bgp的学习路线_ip_13

bgp的学习路线_bgp的学习路线_14

 

bgp的学习路线_深度学习_15

 

bgp的学习路线_TCP_16

 实验完成