源地址:

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

【翻译】配置RSVP-signaled LSP-LMLPHP

在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口是关联的。

 
05-08 08:41