ENSP实验:BGP

一、实验原理概述

ensp的介绍

"ENSP"是华为企业级网络设备模拟器(Enterprise Network Simulation Platform)的缩写。它是华为公司提供的一款网络仿真软件,旨在帮助网络管理员和工程师在虚拟环境中规划、配置和测试企业级网络设备和拓扑。

以下是ENSP的一些主要介绍和功能:

  1. 网络拓扑模拟:ENSP允许用户在虚拟环境中构建复杂的企业级网络拓扑。用户可以添加和连接不同类型的虚拟设备,例如华为路由器、交换机、防火墙等,并设置它们之间的链路和端口属性。
  2. 设备模拟:ENSP提供华为企业级网络设备的模拟器,可以模拟华为的不同系列路由器和交换机。这样,用户可以在没有实际硬件设备的情况下,通过软件模拟真实设备的功能和特性。
  3. 配置和管理:用户可以通过ENSP对虚拟设备进行配置和管理。可以设置设备的接口、IP地址、路由协议、VLAN、安全特性等等,就像在真实设备上进行配置一样。
  4. 网络测试:ENSP支持模拟各种网络测试场景,如故障排除、负载均衡、链路聚合、网络性能测试等。用户可以在虚拟环境中模拟这些场景,以评估和优化网络的性能和稳定性。
  5. 学习和培训:ENSP是一个非常有用的教学工具,特别适合学生和网络工程师用于学习和实验华为设备的配置和操作。它可以提供一个安全的实验环境,让用户在不影响真实网络的情况下学习和实践。
  6. 版本支持:ENSP支持多种华为设备的模拟,包括不同型号和操作系统版本。这使得用户可以根据自己的需求选择合适的设备进行模拟和测试

ensp的安装

依次安装VirtualBox(版本5.2.26)、WinPcap(版本4.1.3)、Wireshark(版本:1.12.4)、ensp(版本:1.3.00.100)

二、实验要求

1、除R5的5.5.5.0环回外,其他所有的环回均可互相访问

 

Untitled

三、实验步骤

按照实验要求图配置所有设备的IP地址与环回接口

在AS2内运行OSPF协议

注意不要在连接两个AS网段的接口上宣告OSPF

建立EBGP邻居关系

1、在R1和R2之间建立EBGP邻居关系

[r1]bgp 1 #1是AS号
[r1-bgp]router-id 1.1.1.1 #人为指定router-id 
[r1-bgp]peer 192.168.1.2 as-number 2 #告知邻居接口的IP地址,邻居所在的AS号码为2
[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 192.168.1.1 as-number 1

此时查看以下R1上的tcp连接建立情况:

<r1>display tcp status
TCPCB    Tid/Soid Local Add:port        Foreign Add:port      VPNID  State
b4ce3f88 6  /1    0.0.0.0:23            0.0.0.0:0             23553  Listening
b4ce4354 164/1    0.0.0.0:179           192.168.1.2:0         0      Listening
b4ce4498 164/5    192.168.1.1:179       192.168.1.2:50176     0      Established

第三条其本地端口号为179,而BGP邻居建立就是通过TCP的179端口建立的,还可以看出192.168.1.1是被访问方,因为特殊服务端口号出现在服务端

一开始R1和R2会建立两条TCP会话,但会断开一条,保留router-id大的对router-id小的路由器的请求

查看BGP邻居表

<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 Pre
fRcv

  192.168.1.2     4           2       45       46     0 00:43:29 Established  0  
   

可以看出二者成功建立EBGP邻居关系

建立IBGP邻居关系

为什么自治区域内IBGP邻居关系建立时,TCP数据包的源目IP地址都要采用各个边界路由器的环回IP地址:在实际工程网络中,两台边界路由器实际上离得很远,路由器上的实际物理接口有很多是不能代表路由器本身的,环回接口的IP地址与路由器形成一对一的关系,这样就能准确使用IP地址标识一个边界路由器。环回接口之间互相可达且路径选路由IGP负责(选路佳)

在本实验中,我们在R2\R3\R4之间互相建立IBGP邻居关系(由于IBGP水平分割防环的缘故,所有IBGP之间必须互相建立IBGP邻居关系)

[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r3]bgp 2
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 2
[r3-bgp]peer  2.2.2.2 connect-interface LoopBack 0
[r3-bgp]peer 4.4.4.4 as-number 2
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r4]bgp 2
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 3.3.3.3 as-number 2	
[r4-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r4-bgp]peer 2.2.2.2 as-number 2
[r4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[r2]bgp 2
[r2-bgp]peer 4.4.4.4 as-number 2	
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0

分别查看三台路由器的bgp邻居表

[r2]display bgp peer 

 BGP local router ID : 2.2.2.2
 Local AS number : 2
 Total number of peers : 3		  Peers in established state : 3

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  3.3.3.3         4           2        8       10     0 00:06:25 Established    
   0
  4.4.4.4         4           2        2        2     0 00:00:56 Established    
   0
  192.168.1.1     4           1       66       66     0 01:04:36 Established
<r3>display bgp peer 

 BGP local router ID : 3.3.3.3
 Local AS number : 2
 Total number of peers : 2		  Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  2.2.2.2         4           2        9        9     0 00:07:06 Established    
   0
  4.4.4.4         4           2        6        7     0 00:04:20 Established
[r4]display bgp peer 

 BGP local router ID : 4.4.4.4
 Local AS number : 2
 Total number of peers : 2		  Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  2.2.2.2         4           2        4        6     0 00:02:05 Established    
   0
  3.3.3.3         4           2        6        6     0 00:04:49 Established    
   0

可以看出三台路由器之间都建立了正确的IBGP邻居关系

在R4和R5之间配置EBGP

这种情况属于直连的EBGP邻居间有多条物理链路,由于有两条物理链路,所以不能在某一条物理链路上建立EBGP邻居关系,所以这里R4和R5建立邻居关系也要用各自的环回接口来建立,但是由于R4不知道R5的环回网段,就要用静态路由解决路由可达问题

1、通过静态路由解决可达问题,在R4和R5上分别配置到达对方环回接口的静态路由,注意采用负载均衡

2、用各自的环回接口建立EBGP邻居关系

[r4]bgp 2
[r4-bgp]peer 6.6.6.6 as-number 3
[r4-bgp]peer 6.6.6.6 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 1

输入命令后查看R4的bgp peer表

[r4]display bgp peer

 BGP local router ID : 4.4.4.4
 Local AS number : 2
 Total number of peers : 3		  Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  2.2.2.2         4           2       31       33     0 00:29:31 Established    
   0
  3.3.3.3         4           2       34       34     0 00:32:15 Established    
   0
  5.5.5.5         4           3        0        0     0 00:16:38        Idle    
   0

可以看到R4和R5之间的状态栏并不是Established状态,说明没有正确建立邻居关系,原因:没有正确建立TCP连接,原因是EBGP建立连接时发送的包的TTL的值为1,而要到达环回接口必须再跳一下导致TTL归0,所以此时应该更改TTL值

[r4-bgp]peer 6.6.6.6 ebgp-max-hop 2

[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2

BGP的宣告

本地路由表中无论何种来源产生的任意路由条目;均可以逐条宣告到BGP协议中。宣告后产生BGP表—装载本地发出以及接受到的所有BGP路由。查看命令:display bgp routing-table

先在R1上将自己的环回宣告到bgp中

[r1-bgp]network 1.1.1.0 24 #后面的路由条目必须和本地路由表中的完全一致

此时查看R1的bgp路由表

[r1]display bgp routing-table 

 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: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.1.1.0/24         0.0.0.0         0                     0      i

*的意思是可用,>代表优秀。优且可用代表该条路由可以放到本地的路由表中且可以传递给BGP邻居

此时在R2上查看BGP路由表

<r2>disp bgp routing

 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.1.1.0/24         192.168.1.1     0                     0      1i

可以看到R2接受了R1传过来的路由,且条目的状态为优且可用,意味着可以继续传递且可以加表

此时再查看R3的BGP路由表

<r3>display bgp routing-table 

 BGP Local router ID is 3.3.3.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

   i  1.1.1.0/24         192.168.1.1     0          100        0      1i

可以看到路由条目的状态是不能加表也不能传递,i代表这条路由是IBGP邻居传递过来的,为什么不可用:

1、下一跳不可达:通过观察上面R3的BGP路由表,我们发现要到达R1的环回的下一跳是192.168.1.1,很明显该ip所在网段没有直连在R3上,且R3的路由表中没有到达192.168.1.0/24网段的路由 R2将路由传递给R3的时候下一跳地址没有变化的原因是AS-BY-AS要求AS与AS之间传递路由条目的时候,该路由条目在AS内部的任何属性不得发生变化

解决方法:给R2说一声将BGP路由条目给R3和R4的时候的时候将下一跳改为自己的出接口的IP地址

[r2-bgp]peer 3.3.3.3 next-hop-local

[r2-bgp]peer 4.4.4.4 next-hop-local

R5是可以学习到R1的环回的,因为BGP路由仅仅是在AS内部属性不能变化,但是在AS之间的属性之间是可以变化的,下一跳地址是可以正常告诉R5的

目前的效果是所有路由器都学到了R1的环回,然后将R5的环回也宣告到BGP中,由于6.6.6.6已经被用来建立TCP连接了,不能再将其宣告到BGP中了

在R4上写到达R5环回6.6.6.6的静态路由的目的是R4要和R5通过TCP连接建立邻居关系,而建立邻居关系的目的是为了学习到达R5环回6.6.6.6的路径,形成了逻辑闭环,即我都已经知道怎么去6.6.6.6了为什么还要再建立连接以知道怎么到6.6.6.6,所以应该将5.5.5.5宣告到BGP中,相当于5.5.5.5才是R5上真正的应该被其他路由器学习的网段,6.6.6.6只是为了建立TCP连接以确定邻居关系的

[r5-bgp]network 5.5.5.0 24

然后查看R4的BGP路由表

[r4]display bgp rout

 BGP Local router ID is 4.4.4.4 
 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

 *>i  1.1.1.0/24         2.2.2.2         0          100        0      1i
 *>   5.5.5.0/24         6.6.6.6         0                     0      3i

我们发现5.5.5.0/24网段已经能正确传递给R4且优可用了

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值