Juniper MPLS Static LSP

2023-05-16

MPLS Static LSP


1、配置接口去接收和处理MPLS帧

user@R1#set interface ge-1/0/0 unit 0 family inet family mpls

 

2、指定哪个接口运行MPLS

user@R1#set protocols mpls interface ge-1/0/0.0

user@R1#setprotocols mpls interface all

 

3、验证MPLS接口配置

user@R1>show mpls interface

Interface         state         (x: extended)

ge-1/0/5.0        up             <none>

ge-1/0/6.0        up             <none>

 

4、配置static LSPs

命名:每条Static LSP应该被给出一个唯一的名称,并且名称在路径上所有路由应该保存一致。

标签值:static LSPs预留的标签范围在1000000和1048575之间.剩下的标签空间用于动态标签分发协议。

如果设计需要,标签0(显式null)也允许在倒数第二跳。如果使用TC  bits来传递Class ofService信息,这是很有用的。

 

a、在ingress路由配置static LSP

user@R1#set protocols mpls static-label-switch-path <lsp-name> ingress next-hop <address of next-hop router> to <lsp endpoint> push <label>

 

b、在transit路由器配置static LSP,指定传入标签和转发动作,可以swap带着label 0(explicit null)或倒数第二跳弹出(pop)。

 

user@R2#set protocols mpls static-label-switch-path <lsp-name> transit<incoming-label> next-hop <address of next-hop router> swap<outgoing label>


在Transitrouter操作模式下查看命令:

查看LSP状态:show mpls static-lsp name <LSP-name> transit extensive

查看标签交换表:show route table mpls.0

 

c、,如果做倒数第二跳弹出,那么在egress router就不需要配置。

 


5、路由表汇总

在juniper路由器上配置staticLSP直接影响到两张表,

mpls.0表(labelswitchingtable):传入标签和转发动作之间的映射

inet.3表:用于跟踪LSP 入站点

注意inet.0 和inet.6表分别用于IPv4和IPv6转发不受Static LSP配置的影响,这意味这Juniper路由器默认不会使用MPLS转发IPv4和IPv6流量。

 

6、staticLSP作为静态路由的下一跳

user@R1#set routing-options static route <destination-prefix> static-lsp-next-hop<LSP-name>

 

静态标签j交换路径用于转发的一种非常简单的方法是创建静态LSP作为静态路由的吓一跳。然后,静态路由将被安装到inet.0表,并将用于转发流量。还有其他的方法(稍后讨论)将前缀与标签交换路径关联起来用于转发。然而,LSP下跳的静态路由有几个优点,包括容易设置特定于路由的属性的可能性,以及静态路由易于操作和重新分配策略的事实。

 

备注:对于point-to-point接口(e.g.,SONET/SDH)你可以使用接口名称作为下一跳而不是ip address。

 



MPLS Packet Forwarding实验:


wKiom1mGcaugCUerAAAzwt54TZU270.png

R1

set logical-systems r1 interfaces ge-0/0/0 unit 12 vlan-id 12

set logical-systems r1 interfaces ge-0/0/0 unit 12 family inet address 10.1.12.1/30

set logical-systems r1 interfaces ge-0/0/0 unit 12 family mpls

set logical-systems r1 interfaces lo0 unit 1 family inet address 1.1.1.1/32

set logical-systems r1 protocols mpls static-label-switched-path r1-to-r4 ingress next-hop10.1.12.2

set logical-systems r1 protocols mpls static-label-switched-path r1-to-r4 ingress to 4.4.4.4

set logical-systems r1 protocols mpls static-label-switched-path r1-to-r4 ingress push 1000014

set logical-systems r1 protocols mpls interface ge-0/0/0.12

set logical-systems r1 routing-options static route 4.4.4.4/32 static-lsp-next-hop r1-to-r4

 

R2

set logical-systems r2 interfaces ge-0/0/1 unit 12 vlan-id 12

set logical-systems r2 interfaces ge-0/0/1 unit 12 family inet address 10.1.12.2/30

set logical-systems r2 interfaces ge-0/0/1 unit 12 family mpls

set logical-systems r2 interfaces ge-0/0/1 unit 23 vlan-id 23

set logical-systems r2 interfaces ge-0/0/1 unit 23 family inet address 10.1.23.1/30

set logical-systems r2 interfaces ge-0/0/1 unit 23 family mpls

set logical-systems r2 protocols mpls static-label-switched-path r1-to-r4 transit 1000014 next-hop10.1.23.2

set logical-systems r2 protocols mpls static-label-switched-path r1-to-r4 transit 1000014 swap1000024

set logical-systems r2 protocols mpls static-label-switched-path r4-to-r1 transit 1000031 next-hop10.1.12.1

set logical-systems r2 protocols mpls static-label-switched-path r4-to-r1 transit 1000031 pop

set logical-systems r2 protocols mpls interface ge-0/0/1.12

set logical-systems r2 protocols mpls interface ge-0/0/1.23

 

R3

set logical-systems r3 interfaces ge-0/0/2 unit 23 vlan-id 23

set logical-systems r3 interfaces ge-0/0/2 unit 23 family inet address 10.1.23.2/30

set logical-systems r3 interfaces ge-0/0/2 unit 23 family mpls

set logical-systems r3 interfaces ge-0/0/2 unit 34 vlan-id 34

set logical-systems r3 interfaces ge-0/0/2 unit 34 family inet address 10.1.34.1/30

set logical-systems r3 interfaces ge-0/0/2 unit 34 family mpls

set logical-systems r3 protocols mpls static-label-switched-path r1-to-r4 transit 1000024 next-hop10.1.34.2

set logical-systems r3 protocols mpls static-label-switched-path r1-to-r4 transit 1000024 pop

set logical-systems r3 protocols mpls static-label-switched-path r4-to-r1 transit 1000041 next-hop10.1.23.1

set logical-systems r3 protocols mpls static-label-switched-path r4-to-r1 transit 1000041 swap1000031

set logical-systems r3 protocols mpls interface ge-0/0/2.23

set logical-systems r3 protocols mpls interface ge-0/0/2.34

 

R4

set logical-systems r4 interfaces ge-0/0/3 unit 34 vlan-id 34

set logical-systems r4 interfaces ge-0/0/3 unit 34 family inet address 10.1.34.2/30

set logical-systems r4 interfaces ge-0/0/3 unit 34 family mpls

set logical-systems r4 interfaces lo0 unit 4 family inet address 4.4.4.4/32

set logical-systems r4 protocols mpls static-label-switched-path r4-to-r1 ingress next-hop10.1.34.1

set logical-systems r4 protocols mpls static-label-switched-path r4-to-r1 ingress to 1.1.1.1

set logical-systems r4 protocols mpls static-label-switched-path r4-to-r1 ingress push 1000041

set logical-systems r4 protocols mpls interface ge-0/0/3.34

set logical-systems r4 routing-options static route 1.1.1.1/32 static-lsp-next-hop r4-to-r1

 

测试结果

R1

root@vMX-1:r1>show mpls static-lsp ingress extensive

Ingress LSPs:

LSPname: r1-to-r4,To: 4.4.4.4

  State: Up

  Nexthop: 10.1.12.2 Via ge-0/0/0.12

  LabelOperation: Push, Outgoing-label: 1000014

  Created: Sat Aug  5 09:25:14 2017

  Bandwidth: 0 bps

  Statistics: Packets 2442, Bytes 204776

Total 1, displayed1, Up 1, Down 0

 

root@vMX-1:r1>show route table inet.0 protocol static

 

inet.0: 14destinations, 14 routes (14 active, 0 holddown, 0 hidden)

+ = Active Route, -= Last Active, * = Both

 

4.4.4.4/32         *[Static/5] 02:18:53

                    > to 10.1.12.2 viage-0/0/0.12, Push 1000014

 

root@vMX-1:r1>ping 4.4.4.4 source 1.1.1.1   

PING 4.4.4.4(4.4.4.4): 56 data bytes

64 bytes from4.4.4.4: icmp_seq=0 ttl=62 time=9.630 ms

64 bytes from4.4.4.4: icmp_seq=1 ttl=62 time=5.994 ms

64 bytes from4.4.4.4: icmp_seq=2 ttl=62 time=14.861 ms

64 bytes from4.4.4.4: icmp_seq=3 ttl=62 time=3.858 ms

64 bytes from4.4.4.4: icmp_seq=4 ttl=62 time=2.675 ms

^C

--- 4.4.4.4 pingstatistics ---

5 packetstransmitted, 5 packets received, 0% packet loss

round-tripmin/avg/max/stddev = 2.675/7.404/14.861/4.416 ms



转载于:https://blog.51cto.com/zoran/1953942

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Juniper MPLS Static LSP 的相关文章

  • 在Java 8中以静态方式获取类名[重复]

    这个问题在这里已经有答案了 这是后续更一般和类似的问题 答案 https stackoverflow com questions 1696551 how to get the name of the calling class in jav
  • 声明普通类和类模板的静态数据成员

    我读到在源文件中定义静态数据成员的原因是因为如果它们位于头文件中并且多个源文件包含头文件 定义将多次输出 我可以理解为什么这对于静态常量数据成员来说是一个问题 但是为什么这对于静态数据成员来说是一个问题呢 我不太确定我完全理解如果定义写在头
  • 函数的“static new”修饰符有什么意义?

    今天 我在遗留代码中发现了一些东西 它具有 静态新 一项功能 看起来像这样 class Foo public static void Do Console WriteLine Foo Do class Bar Foo public stat
  • 使用 ruby​​ on Rails 向静态网站添加功能

    我是 ruby on Rails 的新手 我有一个包含很多静态页面的网站 我想向网站添加一些动态页面 我将在 ruby on Rails 中开发这些页面 当用户单击静态页面之一上的按钮之一时 将触发这些页面提供的功能 我想我将把动态页面放在
  • 在 PHP 中将静态方法作为参数传递

    在 PHP 中是否可以做这样的事情 myFunction MyClass staticMethod 这样 myFunction 将拥有对静态方法的引用并能够调用它 当我尝试它时 我收到 未定义的类常量 PHP 5 3 的错误 所以我想这不是
  • 从 PHP 中具有动态类名的类获取静态属性

    我有这个 一个保存类名的字符串变量 classname 一个字符串变量包含属性名称 propertyname 我想从该类获取该属性 问题是 该属性是静态的 我不知道该怎么做 如果该属性不是静态的 则它将是 classname gt prop
  • 在 Objective-c 问题中访问委托静态方法

    我在 Objective c 中遇到了一个奇怪的问题 这是代码 STViewController h import
  • Python 中的静态变量继承

    我正在为 Blender 的一个项目编写 Python 脚本 但我对该语言还很陌生 我感到困惑的是静态变量的使用 这是我目前正在处理的代码片段 class panelToggle bpy types Operator active Fals
  • 在哪里定义与 symfony2 中的实体相关的静态数组?

    我有一个数组包含与实体相关的静态数据Product public static category array 1 gt animal png 2 gt blague png 3 gt devinette png 4 gt enfant pn
  • 什么是 PHP 中的呼叫转移和静态呼叫或后期静态绑定? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我从网站上获得了一个代码示例 但我很难理解输出 我正在分享代码 class A public static function foo
  • 绑定到 Singleton 类 Observable 集合成员

    我似乎无法弄清楚这一点 我在这里发现了一些类似的问题 但要么我无法找出我的方法的正确方向 要么我正在做一些完全错误的事情 我的应用程序有一个单例类记录器 它保存程序中每个类的日志消息 public class Logger private
  • 如何创建静态字符串数组?

    Note这个问题包含 Rust 1 0 之前的语法 代码无效 但概念仍然相关 如何在 Rust 中创建全局静态字符串数组 对于整数 编译如下 static ONE u8 1 static TWO u8 2 static ONETWO sta
  • 如何从与静态路径不同的目录提供静态文件?

    我正在尝试这个 favicon path path to favicon ico settings debug True static path os path join PATH static handlers r WebHandler
  • 函数内的静态变量如何工作?

    在下面的代码中 int count static int n 5 n n 1 return n 变量n仅在第一次调用该函数时实例化一次 应该有一个标志或其他东西 所以它只初始化变量一次 我试图查看 gcc 生成的汇编代码 但没有任何线索 编
  • 私有静态方法有必要吗?

    原理工程师 https stackoverflow com users 201787 metal在我上一家公司有一条规则private static方法应该作为实现文件中的函数实现 而不是作为类方法 我不记得他的规则是否有任何例外 我在目前
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • 我可以通过在 Android Activity 中声明适当的成员“静态”来提高效率吗

    如果一个 Activity 在实践中是单例 我认为我可以通过声明适当的成员 静态 来获得一些效率 且风险为零 是的 The Android 文档说 http developer android com guide topics fundam
  • Java:无法从同一包中的不同类访问静态变量

    这很奇怪 因为我有一个可以访问 Frame dimension getWidth 的 Character 类 及其伙伴 getHeight 但是当我想在 Map 类中使用它时 Eclipse 强调了它并且无法给我反馈 运行该程序最终会出现
  • 查看寻呼机 - 使用静态变量以编程方式滑动到下一页

    我想在我的 ViewPager 中以编程方式制作幻灯片 我的问题是 滑动事件是由放置在 ViewPager 保存的片段内部的按钮调用的 我知道代码 viewpager setCurrentItem int index 现在我的想法是使 Vi
  • 什么时候适合在 C++ 中使用 static(在未命名的命名空间上)?

    我一整天都在阅读有关未命名命名空间的文章 大多数文章都解释了何时应该在 static 关键字上使用未命名命名空间 但我仍然有一个大问题什么时候适合使用静态 毕竟它还没有完全弃用 那么带有静态函数的头文件我现在应该将它们放入未命名的命名空间中

随机推荐

  • Linux Kernel Development有关内存管理

    1 Pages Page的概念来源为处理器Processor的部件MMU Memory Management Unit xff0c MMU通过设置好的页表 通过设置CR3寄存器 xff0c 指向页目录所在的物理内存 对内存进行管理 xff0
  • 控件权限管理思路

    1 编写判断用户角色相关的类及方法 protected bool ShowButtonBasedOnRole string RoleOfInterest return User IsInRole RoleOfInterest 2 通过调用相
  • 华为交换机LACP模式链路聚合配置

    交换机A和交换机B之间通过3条GE以太网连接 xff0c 活动链路为2 xff0c 配置如下 xff1a SwitchA配置 lt HUAWEI gt system view HUAWEI sysname SwitchA SwitchA i
  • 检查HTTP 的 Digest 认证代码示例-JSP

    检查HTTP 的 Digest 认证 since http1 1 代码如下所示 xff1a 此代码还不完善 RFC2617算法未实现 lt 64 page pageEncoding 61 34 UTF 8 34 contentType 61
  • 每天一个linux命令(4):mkdir命令

    linux mkdir 命令用来 创建指定的 名称的 目录 xff0c 要求创建目录的用户在当前目录中具有写权限 xff0c 并且指定的目录名不能是当前目录中已有的目录 1 xff0e 命令格式 xff1a mkdir 选项 目录 2 xf
  • 历史上消失的十天--儒略日(Julian Days)的来历

    儒略日是由法国学者 Joseph Justus Scaliger xff08 1540 1609 xff09 发明的 xff0c 名称可能是取自 Scaliger 的父亲 xff0c 意大利学者Julius Caesar Scaliger
  • “ -bash:sudo:未找到命令”对于Linux,Debian,CentOS的错误和解决方案

    sudo command is used to execute command as another user This is generally used to run command as root In some cases we c
  • 球机和云台的差别 以及他们的组成

    说的 球机 和 云台 的差别那不得不介绍球机和云台的概念了 xff0c 球机全称为球型 摄像机 xff0c 是现代电视监控发展的代表 xff0c 她集成彩色一体化摄像机 云台 解码器 防护罩等多功能与一体 xff0c 安装方便 使用简单但功
  • [Shell学习笔记] 命令行下的高级网络工具cURL命令

    原文 xff1a http www 1987 name 365 html Linux curl命令是一个利用URL规则在命令行下工作的文件传输工具 它支持文件的上传和下载 xff0c 所以是综合传输工具 xff0c 但按传统 xff0c 习
  • 74系列的型号

    74系列TTL数字逻辑集成电路系国际上通用的标准电路 其品种共分为六大类即 74xx 标准 74LSxx 低功耗肖特基 74Sxx 肖特基 74ALSxx 先进低功耗肖特基 74ASxx 先进肖特基 74Fxx 高速 只要序列号相同 xff
  • 【C#】使用fo-dicom完成BMP,JPG,PNG图片转换为DICOM文件

    最近研究了一下DICOM和BMP文件转换的问题 xff0c 也是很头大 度娘了很久 xff0c 也在CSDN等论坛看到一些断断续续的文件 xff0c 最主要的是代码只是片断 xff0c 不是完整的实现 头大了 首先 xff0c 了解一下BM
  • Atomix getting start 浓浓的机翻

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 概观 Atomix 2 1是用于构建容错分布式系统的全功能框架 Atomix将ZooKeeper的一致性与Hazelcast的可用性和性能相结合 xff0c 使用一组定制通
  • Formik与antd-mobile的移动端的表单实践(下)

    大家好 xff0c 工作闲暇之余又来续写一下Formik这个库的文章了 xff0c 这次文章主要内容为如下 xff1a 更多表单组件的封装示例 单选 多选按钮选择器时间选择器文本输入框提交按钮Formik的表单验证Formik的表单提交处理
  • nginx与tomcat组合使用时获取客户端真实IP

    为什么80 的码农都做不了架构师 xff1f gt gt gt Nginx 43 Tomcat做反向代理在Tomcat中无法获取用户的真实IP解决步骤 xff1a 1 在Nginx配置文件中配置传递到Tomcat的IP变量名 xff1a 一
  • 记一次创建云硬盘失败的解决过程

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 背景 登录dashboard xff0c 点击创建云硬盘失败 xff0c 而且是点击完就直接报error错误 二 解决经过 思路一 xff1a 新上传的image镜像
  • linux samba 配置

    1 所需要软件包 samba common软件包中提供了samba服务器和客户中都必须使用的公共文件 samba软件包中包括了samba服务器程序的所有文件 samba client软件包中提供了Samabe客户机器的所有文件 system
  • tightvnc 远程开机_如何在Linux中安装和访问TightVNC远程桌面?

    tightvnc 远程开机 TightVNC is a very handy remote desktop application which is based on VNC protocol TightVNC is mostly used
  • linux grub命令行,引导工具GRUB详解

    导读 引导程序是驻留在硬盘第一个扇区 MBR 主引导记录 的程序 GRUB是一个功能强大的多系统引导程序 xff0c 专门处理Linux与其它操作系统共存的问题 下面就由我介绍一下grub conf文件里的具体内容及其含义 使用一下命令可以
  • Formik官方应用案例解析(三)使用react-select

    react select简介 React Select是github上一个极其火的控件库 xff0c 星数达到13004 xff0c 它是React开发中几乎是你必需打交道的一个内容 React Select的基本功能实现的是一个表单中的常
  • Juniper MPLS Static LSP

    MPLS Static LSP 1 配置接口去接收和处理MPLS帧 user 64 R1 set interface ge 1 0 0 unit 0 family inet family mpls 2 指定哪个接口运行MPLS user 6