源地址:

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的更多相关文章

  1. AngularJS-系统代码的配置和翻译

    前言:在Web开发中常常会遇到这样的情况,有些页面的下拉选项是固定不变的几个,比如:性别,一般有男.女.保密等.对于这样的情形我们一般在数据库中存储的是数字或者其对应的代码,如果是可维护的需要系统给出 ...

  2. RSVP协议的基本概念介绍

    2010-06-12 14:12 佚名 互联网 字号:T | T 对于RSVP协议的简单介绍和图解.通过文章,我们将对这个含义的基本概念和结构,以及工作方式等方面的知识有所了解.希望对大家有所帮助. ...

  3. 连载:面向对象葵花宝典:思想、技巧与实践(32) - LSP原则

    LSP是唯一一个以人名命名的设计原则,并且作者还是一个"女博士"  ======================================================== ...

  4. MPLS

    Multiprotocol Label Switching From Wikipedia, the free encyclopedia "MPLS" redirects here. ...

  5. 【OOAD】面向对象设计原则概述

    软件的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成: 过于僵硬(Rigidity)  ...

  6. python实现简体中文和繁体相互转换

    1. opencc-python 如果目录上的链接被屏蔽了,请手动复制 https://pypi.python.org/pypi/opencc-python/ 首先介绍opencc的python实现库 ...

  7. 程序猿职场心理学,教你三进三出“斩”HR拿offer(跳槽必看)

    摘要: 今天主要涉及到的是 HR 在面试时有哪些套路,这样可以见招拆招,斩获 offer! 今天主要涉及到的是 HR 在面试时有哪些套路,这样可以见招拆招,斩获 offer! 主要包括以下内容: 一. ...

  8. ng2-file-upload插件在ionic3中的使用方法

    本文主要说明在ionic3中使用ng2-file-upload插件,上传多种类型文件(图片.word.excel.ppt.mp4等)的使用方法. 1.html代码: <button ion-bu ...

  9. 创建第一个Android项目

    目录 创建第一个Android项目 创建HelloWorld项目 选择模板 选择模板界面的英文翻译 配置项目 配置项目界面英文翻译及解释 配置项目界面的注意事项 Name的命名规范 Package n ...

随机推荐

  1. sizeof()用法汇总

    sizeof()功能:计算数据空间的字节数 1.与strlen()比较      strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素.      ...

  2. VS2010 发布web项目 问题

    载:http://www.cnblogs.com/shaocm/archive/2012/08/10/2632116.html

  3. mysql日期类型默认值'0000-00-00'容错处理

    mysql日期默认值'0000-00-00'惹的祸 .net连mysql数据库时,如果表里有字段是日期型且值是‘0000-00-00’时,会报错.在C#里面日期不可能是那样的.或许是最小日期定义的差别 ...

  4. 使用SharePoint Designer定制开发专家库系统实例!

    将近大半年都没有更新博客了,趁这段时间不忙,后续会继续分享一些技术和实际应用.对于Sharepoint的定制开发有很多种方式,对于一般的应用系统,可以使用Sharepoint本身自带的功能,如列表作为 ...

  5. C#创建windows服务并定时执行

    一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在Service1.cs添加如下代码: System.Tim ...

  6. webpack多页面开发与懒加载hash解决方案

    之前讨论了webpack的hash与chunkhash的区别以及各自的应用场景,如果是常规单页面应用的话,上篇文章提供的方案是没有问题的.但是前端项目复杂多变,应对复杂多页面项目时,我们不得不继续踩w ...

  7. 【转载】C/C++ 函数指针 总结

    转载自:http://blog.csdn.net/shihui512/article/details/9787125 什么是函数指针函数指针的声明函数指针的赋值函数指针的使用将函数作为其他函数的参数在 ...

  8. sql order by 排序多个字段

    order by 多个字段,每个字段后面都有排序方式,默认ASC 例如:select table a order by a.time1 ,a.time2 desc,a.time3 asc

  9. iOS-金额小写转大写

    一.目的 1. 金额小写转化成大写. 如 123456.65 --> 壹拾贰万叁仟肆佰伍拾陆元陆角伍分 2. 只能处理13位数的金额,并且只能处理到小数点后两位. 二.代码 #import &q ...

  10. 一个ListView布局的不断演化

    刚出来工作,就负责一个APP的某块功能的编写,该功能就是类似微博那样的界面.微博界面的编写实际上是非常复杂的,虽然它只是一个ListView,但要想让这个ListView滑得动,是的,在一些配置低的手 ...