【翻译】配置RSVP-signaled LSP
源地址:
https://www.juniper.net/techpubs/software/junos-security/junos-security10.2/junos-security-swconfig-mpls/topic-47253.html
正文:
这个案例向我们展示了如何使用RSVP作为signaling协议来路由器之间的IP网络里创建LSP。(译者按:我所理解的所谓signaling协议,就是用于分发label,确定哪个LSR在哪个口用哪个label的协议。如Cisco 的LDP,Juniper常用的RSVP。)
必备条件:
在开始本实验之前,删除设备上的安全服务。具体参考 https://www.juniper.net/techpubs/software/junos-security/junos-security10.2/junos-security-swconfig-mpls/topic-47168.html
概述和拓扑:
典型的RSVP-signaled LSP
在MPLS网络中,若想在路由器之间建立起LSP来,你必须亲自手动激活MPLS family、在每个transit接口上配置RSVP(本例展示了如何激活MPLS以及在ge-0/0/0口上配置RSVP)。另外,你必须在这个网络中所有的接口上都激活MPLS(译者按:也就是说不管是不是transit接口都要激活MPLS)。
这个案例展示了如何:在ingress路由器(R1)上,使用R7的loopback口地址(10.0.9.7)定义一个从R1至R7的LSP。下面的配置里为MPLS预留了10Mbps带宽。另外,这个配置禁用了CSPF算法,以确保主机C1和C2所用RSVP-signaled LSP是和IGP网络的最短路径是一致的。
配置
CLI快速配置
快速配置RSVP,请复制以下命令粘贴到CLI中
[edit]
set interfaces ge-// unit family mpls
set protocols rsvp interface ge-//0.0
set protocols mpls label-switched-path r1-r7 to 10.0.9.7
set protocols mpls label-switched-path r1-r7 bandwidth 10m
set protocols mpls label-switched-path r1-r7 no-cspf
set protocols mpls interface all
分解步骤
下面的例子需要你定位到不同的配置层级当中再做配置。关于CLI层级请看 https://www.juniper.net/topics/reference/general/cli-editor-configuration-mode-quick-reference-using.html
配置RSVP:
1. 在所有transit接口上激活MPLS family
user@host# set interfaces ge-0/0/0 unit 0 family mpls
2. 在每个transit接口上激活RSVP
user @host# set protocols rsvp interface ge-0/0/0
3. 为所有接口激活MPLS进程。(译者按:这个其实就是在protocol mpls下做的配置,和第一步里unit 0 family mpls做一个区分,第一步是在interface下做配置,这一步是在protocol下做配置)
user@host# set protocols mpls interface all
4. 在ingress路由器上定义LSP
user@host# set label-switched-path r1-r7 to 10.0.9.7
5. 给LSP留10Mbps的带宽
user @host# set label-switched-path r1-r7 bandwidth 10m
6. 禁用CSPF算法
user@host# set label-switched-path r1-r7 no-cspf
结果
通过在configuration 模式下show命令确认你的配置无误。如果输出的不是你想要的配置,再过一遍这个例子中的配置指南来改正它(编者按:Juniper的文档的废话还真多...)。
简洁起见, 下面这个show命令的输出只包含了和这个例子有关的配置,无关的都用...略去了。
user@host# show
...
interfaces {
ge-// {
family mpls;
}
}
}
...
protocols {
rsvp {
interface ge-//0.0;
}
mpls {
label-switched-path r1-r7 {
to 10.0.9.7;
bandwidth 10m;
no-cspf;
}
interface all;
}
}
...
配置完了之后记得commit。
验证
目的:
验证每台设备建立起了相应的RSVP邻居。例如,在拓扑图中,路由器R1会列出R2 R3这两个RSVP邻居。
命令:
在CLI里,输入 show rsvp neighbor 命令。
输出:
user@r1> show rsvp neighbor
RSVP neighbor: learned
Address Idle Up/Dn LastChange HelloInt HelloTx/Rx
10.0.6.2 / : /
10.0.3.3 / : /
意义:
输出里可以看到邻居路由器的IP地址。请验证结果里列出来了每个建立了RSVP邻居的路由器的loopback地址。
验证RSVP会话
目的:
验证在RSVP邻居之间,RSVP会话成功建立了,另外验证带宽预留的值是不是和设定的一样。
命令:
在CLI里,输入 show rsvp session detail命令。
输出:
user@r1> show rsvp session detail
Ingress RSVP: sessions 10.0.9.7
From: 10.0.6.1, LSPstate: Up, ActiveRoute:
LSPname: r1–r7, LSPpath: Primary
Bidirectional, Upstream label in: –, Upstream label out: -
Suggested label received: -, Suggested label sent: –
Recovery label received: -, Recovery label sent:
Resv style: FF, Label in: -, Label out:
Time left: -, Since: Thu Jan ::
Tspec: rate 10Mbps size 10Mbps peak Infbps m M
Port number: sender receiver protocol
PATH rcvfrom: localclient
PATH sentto: 10.0.4.13 (ge-//1.0) pkts
RESV rcvfrom: 10.0.4.13 (ge-//1.0) pkts
Record route: <self> 10.0.4.13 10.0.2.1 10.0.8.10
意义:
输出的详细信息里,包含了session ID,以及对每个session的带宽预留,下一跳地址。请验证如下信息:
- 每个RSVP邻居地址以loopback地址的形式列出。
- 每个RSVP会话的状态是up的
- 对于Tspec(译者按:Tspec即traffic specification),对应的带宽值是10Mbps如上面所显示的。
验证RSVP-signaled LSP确实发挥了作用
目的:
验证ingress路由器上的路由表已经存在了你配置的其他路由器的loopback地址。例如,验证图中R1的inet.3路由表里有你配给R7的LSP。
命令:
在CLI里,输入 show route table inet.3 命令。
输出:
user@r1> show route table inet.
inet.: destinations, routes ( active, holddown, hidden)
+ = Active Route, - = Last Active, * = Both 10.0.9.7/ *[RSVP/] ::, metric
> to 10.0.4.17 via ge-//0.0, label-switched-path r1–r7
意义:
从输出里可以看到RSVP路由存在于inet.3路由表。在MPLS网络里,请验证RSVP-signaled LSP和出口(egress)路由器R7的loopback口是关联的。
【翻译】配置RSVP-signaled LSP的更多相关文章
- AngularJS-系统代码的配置和翻译
前言:在Web开发中常常会遇到这样的情况,有些页面的下拉选项是固定不变的几个,比如:性别,一般有男.女.保密等.对于这样的情形我们一般在数据库中存储的是数字或者其对应的代码,如果是可维护的需要系统给出 ...
- RSVP协议的基本概念介绍
2010-06-12 14:12 佚名 互联网 字号:T | T 对于RSVP协议的简单介绍和图解.通过文章,我们将对这个含义的基本概念和结构,以及工作方式等方面的知识有所了解.希望对大家有所帮助. ...
- 连载:面向对象葵花宝典:思想、技巧与实践(32) - LSP原则
LSP是唯一一个以人名命名的设计原则,并且作者还是一个"女博士" ======================================================== ...
- MPLS
Multiprotocol Label Switching From Wikipedia, the free encyclopedia "MPLS" redirects here. ...
- 【OOAD】面向对象设计原则概述
软件的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成: 过于僵硬(Rigidity) ...
- python实现简体中文和繁体相互转换
1. opencc-python 如果目录上的链接被屏蔽了,请手动复制 https://pypi.python.org/pypi/opencc-python/ 首先介绍opencc的python实现库 ...
- 程序猿职场心理学,教你三进三出“斩”HR拿offer(跳槽必看)
摘要: 今天主要涉及到的是 HR 在面试时有哪些套路,这样可以见招拆招,斩获 offer! 今天主要涉及到的是 HR 在面试时有哪些套路,这样可以见招拆招,斩获 offer! 主要包括以下内容: 一. ...
- ng2-file-upload插件在ionic3中的使用方法
本文主要说明在ionic3中使用ng2-file-upload插件,上传多种类型文件(图片.word.excel.ppt.mp4等)的使用方法. 1.html代码: <button ion-bu ...
- 创建第一个Android项目
目录 创建第一个Android项目 创建HelloWorld项目 选择模板 选择模板界面的英文翻译 配置项目 配置项目界面英文翻译及解释 配置项目界面的注意事项 Name的命名规范 Package n ...
随机推荐
- Maximum Entropy Markov Models for Information Extraction and Segmentation
1.The use of state-observation transition functions rather than the separate transition and observat ...
- 理解RxJava:(四)Reactive Android
在前三部分,我在通用层面介绍了RxJava的工作原理.但是作为一个Android开发者,如何在工作中使用它呢?下面是一些给Android开发者的RxJava的具体应用. RxAndroid RxAnd ...
- 爬虫技术 -- 基础学习(三)理解URL和URI的联系与区别
网络爬虫的基本操作是抓取网页.首先要了解下URL~~ 在理解URL之前,先了解下URI,这两个概念我曾经混淆过~@_@|| 什么是URI? Web上每种可用的资源,如:html文档.视频,图片等都由一 ...
- gulp-notify处理报错----gulp系列(二)
上一节,以less为例,入门了gulp,并为任务结构做了抽离. 前端们,gulp该用起来了,简单的demo入门——gulp系列(一) 本节学习下gulp-notify,官方这样解释的: gulp-no ...
- 受限玻尔兹曼机(RBM)学习笔记(八)RBM 的评估
去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...
- iOS-验证码倒计时60秒
一. 要求 1.点击获取验证码按钮,60秒倒计时,按钮变成不可点击状态,按钮文字变成倒计时的秒数. 2.当倒计时为0的时候,释放掉定时器NSTimer,按钮变成可以点击状态,按钮文字变成"获 ...
- VueJs2.0建议学习路线
最近VueJs确实火了一把,自从Vue2.0发布后,Vue就成了前端领域的热门话题,github也突破了三万的star,那么对于新手来说,如何高效快速的学习Vue2.0呢. 既然大家会看这篇文章,那么 ...
- SSL握手步骤【收藏】
http://www.codeweblog.com/ssl-handshake-process-of-interaction-and/ SSL to send a message in the fol ...
- redis配置文件
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => bytes # 1kb => ...
- 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式
为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式,代码如下: public class DataComparer<T>:IEqualityCompare ...