当前位置: 首页 > news >正文

MPLS TE第一步:创建基本TE隧道

MPLS TE隧道通过用户指定(explicit-path)或者CSPF计算(dynamic),生成符合带宽及其他特殊要求的传输路径,并在该路径上通过RSVP保留带宽资源并分配标签,从而建立端到端的TE隧道。当有流量进入TE隧道入口时,边缘路由器将其进行标签入栈操作,并沿途根据RSVP分配的标签进行交换,最终在TE隧道出口的边缘路由器出栈(实际上根据PHP,应该在倒数第二跳时出栈)。

在简单的TE模型里,

MPLS TE的使用必须具备以下条件:1、CEF;2、CSPF;3、RSVP。因此启用MPLS TE的步骤也与之相关:

一、全局启用:

全局启用主要是启用CEF(无论是MPLS VPN还是MPLS TE),以及启用MPLS TE

1、CEF:ip cef

2、MPTS TE:mpls traffic-eng tunnel(注意,不必启用MPLS  IP)

 

二、端口启用:

1、RSVP:ip rsvp bandwidth 全局带宽 每流带宽(默认为端口带宽的75%)

2、MPLS TE:mpls traffic-eng tunnel

 

三、路由配置

注意,MPLS TE隧道必须完全在同一区域内,例如OSPF的单一区域,或者ISIS的单一区域。OSPF用LSA Type 10(opaque LSA),ISIS用Type 22的TLV进行泛洪。若TE隧道跨区域,建立后使用show mpls traffic-eng 在路由协议内的配置比较简单,就是指定router-id和计算CSPF的area:

router ospf 100

mpls traffic-eng router-id LOOPBACK

mpls traffic-eng area LOCAL_AREA

 

四:隧道启用

在隧道两端建立interface tunnel:(注意由于MPLS、RSVP和CSPF都是单向的,因此MPLS TE隧道也是单向的,而且只需要在隧道入口建立即可)

interface tunnel 1

tunnel destination PEER_LOOPBACK

ip unnumber LOOOPBACK

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option OPTION_SEQ explicit/dynamic(此处若选择explicit,则必须使用ip explicit-path指定LSP中的每一个next-hop;若选择dynamic,则根据路由算法建立隧道)

 

五、使用隧道

隧道建立完成,在tunnel头使用以下命令使得相关流量使用该隧道:

tunnel mpls traffic-engineer autoroute announce

或者使用静态路由、PBR手段等把相应流量引入MPLS TE TUNNEL:

ip route X.X.X.X 255.255.255.0 int t0:

 

六、检查

show mpls traffic-eng tunnel

show interface tunnel

show ip explicit-path

本文转自 gole_huang 51CTO博客,原文链接:http://blog.51cto.com/golehuang/838160



相关文章:

  • mysql5.6之key_buffer_size优化设置
  • 使用yum安装MariaDB
  • Oracle Goldengate Director软件截面图
  • Spring4-自动装配Beans-按属性名称自动装配
  • Office 365管理员快速上手手册
  • centos 系统管理维护指南
  • phpcms v9 添加内容出现500错误
  • ElasticSearch vs 关系型数据库
  • 【Kafka源码】broker被选为controller之后的连锁反应
  • 极速理解设计模式系列:14.轻量级模式(Flyweight Pattern)
  • Resin HTTPS 安装指南
  • Solr 整合
  • Android Framework 记录之二
  • 在窗体中添加标签Label、Icon图标
  • MultiRow发现之旅(三)- 模板管理器和Table
  • [case10]使用RSQL实现端到端的动态查询
  • Angular Elements 及其运作原理
  • Babel配置的不完全指南
  • CSS 专业技巧
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • ES6系统学习----从Apollo Client看解构赋值
  • Shadow DOM 内部构造及如何构建独立组件
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 阿里云前端周刊 - 第 26 期
  • 给Prometheus造假数据的方法
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 面试总结JavaScript篇
  • 深入浅出Node.js
  • 思考 CSS 架构
  • 想使用 MongoDB ,你应该了解这8个方面!
  • #100天计划# 2013年9月29日
  • (1)常见O(n^2)排序算法解析
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (ZT)薛涌:谈贫说富
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)ssm高校实验室 毕业设计 800008
  • (篇九)MySQL常用内置函数
  • (十)T检验-第一部分
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)编辑寄语:因为爱心,所以美丽
  • .apk 成为历史!
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net Application的目录
  • .NET Reactor简单使用教程
  • .net 程序发生了一个不可捕获的异常
  • .net网站发布-允许更新此预编译站点
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @GetMapping和@RequestMapping的区别
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)
  • [fsevents@^2.1.2] optional install error: Package require os(darwin) not compatible with your platfo
  • [FxCop.设计规则]8. 也许参数类型应该是基类型
  • [go] 策略模式