MPLS的模拟学习过程
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的模拟学习过程的更多相关文章
- OpenStack 业务链networking-sfc介绍 (2) - 底层原理
原文链接:https://blog.csdn.net/bc_vnetwork/article/details/65630475 1. SFC底层实现原理 port chain和ovs driver/ ...
- 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 ...
- 详解 mpls vpn 的实现
MPLS VPN的实现 一.实验目的 该实验通过MPLS VPN的数据配置,使学生掌握路由器相关接口的IP地址设置.路由协议的配置以及MPLS VPN的完整的创建过程, 从而加深对IP网络的IP编址. ...
- 详解 mpls vpn 的实现
MPLS VPN的实现 一.实验目的 该实验通过MPLS VPN的数据配置,使学生掌握路由器相关接口的IP地址设置.路由协议的配置以及MPLS VPN的完整的创建过程, 从而加深对IP网络的IP编址. ...
- 深度神经网络(DNN)是否模拟了人类大脑皮层结构?
原文地址:https://www.zhihu.com/question/59800121/answer/184888043 神经元 在深度学习领域,神经元是最底层的单元,如果用感知机的模型, wx + ...
- python:学习自顶向下程序设计:竞技体育模拟
学习过程记录: 一,需求及框架: 二:程序代码: #sports.py from random import random def main(): #熟悉函数的调用 printInfo() probA ...
- 代码本色 用编程模拟自然系统 (Daniel Shiffman 著)
https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.7/p5.js http://www.box2d.org http://www.jbox2d.org ...
- appium+python自动化37-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1
孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...
随机推荐
- word 内容控件属性编辑
场景: 别人发给自己一份word模板,基于统一性,里面包含了很多“内容控件”,一般情况下,只需要根据内容控件进行编辑即可,但如果想对内容控件本身做编辑操作,例如删除等. 操作: 单击 文件>选项 ...
- pta总结1
7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符 ...
- echart 标题配置
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- jquery刷新页面代码
window.location.reload()刷新当前页面.parent.location.reload()刷新父亲对象(用于框架)opener.location.reload()刷新父窗口对象(用 ...
- figlet
figlet https://aotu.io/notes/2016/11/22/figlet/ 教程 npm i figlet --save-dev var figlet = require('fi ...
- Django模型初识
模型层(what.why.how) 模型的相关配置
- Beta(4/7)
鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...
- 使用javascript和css模拟帧动画的几种方法浅析
我们平时在开发前端页面的时候,经常会播放一段帧序列.这段帧序列就像gif图片那样,反复循环播放.那大家可能会说,直接用gif图片就好了,干嘛还去模拟呢?那是因为要做得更加灵活,我们要做到以下几点: 1 ...
- (59)Wangdao.com第十天_JavaScript 对象在 栈和堆
对象的属性值 如果要使用特殊的属性名,需 对象["属性名"] = 属性值 // 存 对象["属性名"] // 取 obj["1 ...
- 6.6 Pandora 实操 - API/SDK
创建实时仓库 连接日志仓库 点击到工作流查看 通过 Java sdk 打数据 通过 java sdk 对应字段打数据,先打到实时仓库(消息队列),对应再会打到日志仓库(做存储). 代码见 Sequen ...