1、场景拓扑

使用小凡模拟器搭建了如下网络拓扑,使用的镜像为:c3640-jk9o3s-mz.122-15.T9.bin

相关的配置在下方

如果重复实验,需要清空设备的配置,知道路由器的密码,操作步骤如下:

(1)登入路由器,输入enbale命令启动超级用户模式,在该模式下,输入enable password命令

(2)输入configure terminal命令,启动全局配置模式

(3)输入config-register 0x2142命令

(4)输入end命令,并输入write erase命令删除路由器当前的启动配置

(5)输入reload命令重启路由器 当系统询问是否要保存配置时,选择no

当路由器完成重启后,所有参数将会恢复为出厂时的默认设置

2、术语解释

LSR:标签交换路由器,这里的LSR就是P

边缘LSR:只要一台LSR拥有非MPLS邻居,那么就可以将他看成一台边界LSR,这里的边界LSR就是PE

LSP():标签交换路径

FEC(转发等价类):可以将转发等价类概念想象为一组以相同的方式,走相同的路径,按一致的转发优先级进行转发的数据包。

TDP():标记分发协议

LDP():标签分发协议

3、基本配置

3.1 基本IP的配置

CE1

hostname CE1
no ip domain lookup
no voice hpi capture buffer
interface Loopback0
ip address 1.1.1.1 255.255.255.255
interface Ethernet0/0
ip address 192.168.1.1 255.255.255.252
half-duplex

PE1

hostname PE1
no ip domain lookup
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface Ethernet0/0
ip address 192.168.1.2 255.255.255.252
half-duplex
!
interface Ethernet0/1
ip address 10.1.1.1 255.255.255.252
half-duplex
!

P

hostname P
no ip domain lookup
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.1.5 255.255.255.252
half-duplex
!
interface Ethernet0/1
ip address 10.1.1.2 255.255.255.252
half-duplex

PE2

hostname PE2
no ip domain lookup
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.1.6 255.255.255.252
half-duplex
!
interface Ethernet0/1
ip address 192.168.2.1 255.255.255.252
half-duplex
!

CE2

hostname CE2
no ip domain lookup
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface Ethernet0/0
no ip address
shutdown
half-duplex
!
interface Ethernet0/1
ip address 192.168.2.2 255.255.255.252
half-duplex
!

3.2 MPLS VPN实验

主要的配置在PE和PE2

分别如下步骤:

3.2.1 pe1 p pe2 路由器之间运行 ospf. 将所有的路由宣告

例如在pe1执行如下命令

router ospf 10
router-id 2.2.2.2
network 2.2.2.2 0.0.0.0 area 0
network 10.1.1.0 0.0.0.3 area 0

3.2.2 启用 ip cef 验证现在的路由是基于每一跳

例如在pe1上执行如下命令

ip cef

3.2.3 启用 vrf rd 用来唯一区别不同的 vpn

创建了vrf,并定义路由区别符(RD)和路由目标(RT)

ip vrf vpna
rd 100:2
route-target export 100:1
route-target import 100:1

3.2.4 启用 ibgp 主要用来承载大量的私有前缀

例如在pe1上执行如下

pe1(config)#router bgp 100
pe1(config-router)#bgp router-id 2.2.2.2
pe1(config-router)#nei 4.4.4.4 remote-as 100
pe1(config-router)#nei 4.4.4.4 update-source Loopback0
pe1(config-router)# no auto-summary
pe1(config-router)# no synchronization
pe1(config-router)#exit

激活标准的ipv4 bgp会话,这里的进程100应该是进程号,使用100这个进程号与邻居4.4.4.4进行会话

BGP进程通过使用BGP自身的地址家族,来激活携带vpn-ipv4前缀的MP-IBGP会话,在这里将邻居激活,neighbor 4.4.4.4 send-community extended(不输入也会默认添加)这个命令将指示BGP通告扩展团体属性。

3.2.5 启用 address-family vpnv4 的扩展团体属性

pe1(config)#router bgp 100
pe1(config-router)#address-family vpnv4
pe1(config-router-af)#nei 4.4.4.4 activate 注意在这里要激活邻居。
pe1(config-router-af)# neighbor 4.4.4.4 send-community extended
pe1(config-router-af)#exi
pe1(config-router)#exit

BGP进程通过使用BGP自身的地址家族,来激活携带vpn-ipv4前缀的MP-IBGP会话,在这里将邻居激活,neighbor 4.4.4.4 send-community extended(不输入也会默认添加)这个命令将指示BGP通告扩展团体属性。

3.2.6 启用 address-family ipv4 vrf vpna

pe1(config)#router bgp 100
pe1(config-router)#address-family ipv4 vrf vpna
pe1(config-router-af)#no au
pe1(config-router-af)#no sy
pe1(config-router-af)#end

客户路由添加到vrf后,需要跨越mpls-vpn主干网通告这些路由,mp-ibgp将这些路由作为vpn-ipv4前缀,为此,需要配置BGP进程中的路由环境,用来告诉BGP需要通告的vrf路由,这里告诉BGP需要通告的vrf为vpna

3.2.7 将vpn 应用到接口中 , 注意是 pe 与 ce 相连的接口

pe1(config)#int e0/0
pe1(config-if)#ip vrf forwarding vpna
pe1(config-if)#ip add 192.168.1.2 255.255.255.252
pe1(config-if)#end

只有运行cef交换的接口才能够与vrf相关联,cef交换机制是mpls/vpn数据成功转发的首要条件,因为标签压入是通过cef交换路径完成的

注:将接口关联到一个vrf后,他的ip地址将从全局路由表中删除

3.2.8 在ce与pe上,增加 ce 到 pe 的路由。可以是静态, ospf eigrp 或是 ebgp ripv2,此实验使用静态路由

例如在ce1和pe1上执行如下命令

ce1(config)#ip route 5.5.5.5 255.255.255.255 192.168.1.2
pe1(config)#ip route vrf vpna 1.1.1.1 255.255.255.255 192.168.1.1

3.2.9 将静态路由重分布到 address-family ipv4 vrf vpna 中(bgp学习静态)

pe1(config)#router bgp 100
pe1(config-router)# address-family ipv4 vrf vpna
pe1(config-router-af)# redistribute static
pe1(config-router-af)#end

3.2.10 启用 mpls ip, 注意,是在 pe 与 p 相连的接口上启用 mpls ip

interface Ethernet0/1
ip address 10.1.1.1 255.255.255.252
half-duplex
tag-switching ip

3.2.11 测试 mpls 交换

全部设备配置完后,在ce1测试

CE1#ping 5.5.5.5 so 1.1.1.1 re 10

Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 20/38/112 ms

以下每台设备的配置:

CE1配置

设置去往5.5.5.5的静态路由

hostname CE1
no ip domain lookup
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface Ethernet0/0
ip address 192.168.1.1 255.255.255.252
half-duplex
!
ip route 5.5.5.5 255.255.255.255 192.168.1.2

PE1配置

hostname PE1
no ip domain lookup
ip vrf vpna
rd 100:2
route-target export 100:1
route-target import 100:1
!
ip cef
ip audit notify log
ip audit po max-events 100
mpls ldp logging neighbor-changes
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface Ethernet0/0
ip vrf forwarding vpna
ip address 192.168.1.2 255.255.255.252
half-duplex
!
interface Ethernet0/1
ip address 10.1.1.1 255.255.255.252
half-duplex
tag-switching ip
!
router ospf 10
router-id 2.2.2.2
network 2.2.2.2 0.0.0.0 area 0
network 10.1.1.0 0.0.0.3 area 0
!
router bgp 100
no synchronization
bgp router-id 2.2.2.2
bgp log-neighbor-changes
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community extended
no auto-summary
exit-address-family
!
address-family ipv4 vrf vpna
redistribute static
no auto-summary
no synchronization
exit-address-family
!
ip route vrf vpna 1.1.1.1 255.255.255.255 192.168.1.1

P配置

hostname P
no ip domain lookup
ip cef
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.1.5 255.255.255.252
half-duplex
tag-switching ip
!
interface Ethernet0/1
ip address 10.1.1.2 255.255.255.252
half-duplex
tag-switching ip
router ospf 10
router-id 3.3.3.3
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 10.1.1.0 0.0.0.3 area 0
network 10.1.1.4 0.0.0.3 area 0

PE2配置

hostname PE2
no ip domain lookup
ip vrf vpnb
rd 100:3
route-target export 100:1
route-target import 100:1
!
ip cef
mpls ldp logging neighbor-changes interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.1.6 255.255.255.252
half-duplex
tag-switching ip
!
interface Ethernet0/1
ip vrf forwarding vpnb
ip address 192.168.2.1 255.255.255.252
half-duplex
router ospf 10
router-id 4.4.4.4
log-adjacency-changes
network 4.4.4.4 0.0.0.0 area 0
network 10.1.1.4 0.0.0.3 area 0
!
router bgp 100
no synchronization
bgp router-id 4.4.4.4
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
no auto-summary
exit-address-family
!
address-family ipv4 vrf vpnb
redistribute static
no auto-summary
no synchronization
exit-address-family
!
ip route vrf vpnb 5.5.5.5 255.255.255.255 192.168.2.2

CE2

hostname CE2
no ip domain lookup
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface Ethernet0/0
no ip address
shutdown
half-duplex
!
interface Ethernet0/1
ip address 192.168.2.2 255.255.255.252
half-duplex
ip route 1.1.1.1 255.255.255.255 192.168.2.1

MPLS的模拟学习过程的更多相关文章

  1. OpenStack 业务链networking-sfc介绍 (2) - 底层原理

    原文链接:https://blog.csdn.net/bc_vnetwork/article/details/65630475 1.  SFC底层实现原理 port chain和ovs driver/ ...

  2. CCIE路由实验(7) -- MPLS VPN

    1.LDP协议的各种情况2.LDP和BGP交互3.LDP高级部分4.MPLS VPN (RIP和静态)5.MPLS VPN (EIGRP)6.MPLS VPN (OSPF)7.MPLS VPN (EB ...

  3. 详解 mpls vpn 的实现

    MPLS VPN的实现 一.实验目的 该实验通过MPLS VPN的数据配置,使学生掌握路由器相关接口的IP地址设置.路由协议的配置以及MPLS VPN的完整的创建过程, 从而加深对IP网络的IP编址. ...

  4. 详解 mpls vpn 的实现

    MPLS VPN的实现 一.实验目的 该实验通过MPLS VPN的数据配置,使学生掌握路由器相关接口的IP地址设置.路由协议的配置以及MPLS VPN的完整的创建过程, 从而加深对IP网络的IP编址. ...

  5. 深度神经网络(DNN)是否模拟了人类大脑皮层结构?

    原文地址:https://www.zhihu.com/question/59800121/answer/184888043 神经元 在深度学习领域,神经元是最底层的单元,如果用感知机的模型, wx + ...

  6. python:学习自顶向下程序设计:竞技体育模拟

    学习过程记录: 一,需求及框架: 二:程序代码: #sports.py from random import random def main(): #熟悉函数的调用 printInfo() probA ...

  7. 代码本色 用编程模拟自然系统 (Daniel Shiffman 著)

    https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.7/p5.js http://www.box2d.org http://www.jbox2d.org ...

  8. appium+python自动化37-adb shell模拟点击事件(input tap)

    前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...

  9. 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1

    孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...

随机推荐

  1. android开源框架讲解 一 butterknif

    2019年3月16日 12:49:38 一 直接进入主题 如何配置ButterKnif 我用的是AS3.1.2 应该跟版本关系不大 1.1 下载安装Android ButterKnif Zelezny ...

  2. SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案

    背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...

  3. docker报错:Failed to restart docker.service: Unit not found.

    前言:我之前安装好docker了,但是关机重启后,发现docker就没了 报错:Failed to restart docker.service: Unit not found.   解决方法: 1. ...

  4. python实现简单的登录管理

    import json,timeusername=[]userpasswd=[]def login_success_file(name): try: f=open(r"F:/login_su ...

  5. 学习笔记: Expression表达式目录树详解和扩展封装

    1. 表达式链接扩展封装,ORM常用 And  Or /// <summary> /// 表达式访问者 /// </summary> public class Expressi ...

  6. xss的一般防护措施(及CreateDefaultBuilder源码)

    从上个礼拜开始,公司的安全小组就开始排查公司项目的安全性,首屈一指的就是xss问题,为此我总结了下我的经验. 1.对后台程序的输出数据做html编码处理,前端做简单的替换处理 2.如果业务需要,后台可 ...

  7. 网页布局之flex

    Flex是Flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性.设为Flex布局以后,子元素的float.clear和vertical-align属性将失效.使用flex ...

  8. mysql的event(事件)用法详解

    SELECT * FROM mysql.event;SET GLOBAL event_scheduler = 1; -- 开启定时器 0:off 1:on SHOW VARIABLES LIKE 'e ...

  9. Urozero Autumn 2016. NCPC 2016

    A. Artwork 倒过来并查集维护即可. #include<cstdio> #include<algorithm> using namespace std; const i ...

  10. 关于ajaxFileUpload图片上传,success和error都触发的情况

    最近做到项目使用JQuery的插件ajaxFileUpload~~~ 遇到了非常领人匪夷所思的事情,当图片上传成功之后呢(success),它的error事件也被触发了,情况就是: 后端数据正确返回 ...