lsp-如何在OPNET中配置MPLS以及LSP,急!卡了好多天

问题描述

如何在OPNET中配置MPLS以及LSP,急!卡了好多天
现在由于链路的带宽选择,流量都是走lsr1-3-4,小弟想配置一条静态lsp,让user2的流量都走lsr1-2-4,急,希望知道的亲能帮下忙!

解决方案

参考:https://www.scribd.com/doc/180346146/MPLS-in-OPNET-14-5-STD-docx

解决方案二:
lsp原来真没弄过,刚上网查了一下,普级一下知识

MPLS网络结构

MPLS网络的基本构成单元是标签交换路由器LSR(Label Switching Router),主要运行MPLS网络控制协议和第三层路由协议,并负责与其他LSR 交换路由信息来建立路由表,实现FEC 和IP 分组头的映射,建立FEC 和标签之间的绑定,分发标签绑定信息,建立和维护标签转发表等工作。由LSR 构成的网络叫做MPLS 域,位于区域边缘的LSR 称为边缘LSR(LER,Labeled Edge Router )。

主要完成连接MPLS 域和非MPLS 域以及不同MPLS网络域的功能,并实现对业务的分类、分发标签(作为出口LER)、剥去标签等。其中入口LER 叫Ingress,出口LER 叫Egress。位于区域内部的LSR 则称为核心LSR,核心LSR 可以是支持MPLS网络的路由器,也可以是支持MPLS网络标签交换的LSR,它提供标签分发、交换功能(Label Swapping)。带标签的分组沿着由一系列LSR 构成的标签交换路径LSP(Label Switched Path)传送。

◆标记交换路径(LSP)

◆MPLS网络核心路由器 (LSR)

◆Ingress

◆Egress

◆MPLS网络边缘路由器(LER)

LSP 的建立

LSP 的建立其实就是将FEC 和标签进行绑定,并将这种绑定通告LSP 上相邻LSR的过程。这个过程是通过标签分发协议LDP 来实现的。LDP 规定了LSR 间的消息交互过程和消息结构,以及路由选择方式。有关LDP 的详细描述,请参见下一节。Comware V3 操作手册(MPLS网络)

MPLS网络支持LSP 隧道技术。在一条LSP 路径上,LSR Ru 和LSR Rd 互为上下游,但LSR Ru和LSR Rd之间的路径,可能并不是路由协议所提供路径的一部分,MPLS允许在LSR Ru 和LSR Rd 间建立一条新的LSP 路径,LSR Ru和LSR Rd 分别为这条LSP 的起点和终点。LSR Ru 和LSR Rd 间的LSP 就是LSP隧道,它避免了传统的网络层封装隧道。当隧道经由的路由和逐跳与从路由协议取得的路由一致时,这种隧道叫逐跳路由隧道;若不一致,则这种隧道叫显式路由隧道。

多层标签栈

在MPLS网络中,分组可以携带多个标签,这些标签在分组中以“堆栈”的形式存在,对堆栈的操作按“后进先出”的原则,决定如何转发分组的标签始终是栈顶标签。标签入栈是指向输出分组中加入一个标签,使标签栈的深度加1,同时,分组的当前标签就变为此新加入的标签;标签出栈是指从分组中去掉一个标签,使标签栈的深度减1,同时,分组的当前标签将变为原来处于下一层的标签。

在LSP 隧道中会使用多层标签栈。当分组在LSP 隧道中传送时,分组的标签就会有多层。在每一隧道的入口和出口处,要进行标签栈的入栈和出栈操作,每发生一次入栈操作,标签就会增加一层。MPLS网络对标签栈的深度没有限制。标签栈按照“后进先出”方式组织标签,MPLS网络从栈顶开始处理标签。若一个分组的标签栈深度为m,则位于栈底的标签为1 级标签,位于栈顶的标签为m 级标签。未打标签的分组可看作标签栈为空(即标签栈深度为零)的分组。

标签报文的转发

在Ingress,将进入网络的分组根据其特征划分成转发等价类FEC。一般根据IP 地址前缀或者主机地址来划分FEC。属于相同FEC 的分组在MPLS网络区域中将经过同的路径(即LSP)。LSR 对到来的FEC 分组分配一个短而定长的标签,然后从相应的接口转发出去。

在LSP 沿途的LSR 上,都已建立了输入/输出标签的映射表(该表的元素叫下一跳标签转发条目,简称NHLFE,Next Hop Label Forwarding Entry)。对于接收到的标签分组,LSR 只需根据标签从表中找到相应的NHLFE,并用新的标签来替换原Comware V3 操作手册(MPLS网络)。

来的标签,然后,对标签分组进行转发,这个过程叫输入标签映射ILM(IncomingLabel Map)。MPLS网络入口处指定特定分组的FEC,后续P 路由器只需简单的转发即可,比常规的网络层转发要简单得多,转发速度得以提高。

TTL 处理:标签化分组时必须将原IP 分组中的TTL 值拷贝到标签中的TTL 域。LSR 在转发标签化分组时,要对栈顶标签的TTL 域作减一操作。标签出栈时,再将栈顶的TTL 值拷贝回IP 分组或下层标签。但是,当LSP 穿越由ATM-LSR 或FR-LSR 构成的非TTL LSP 段时,域内的LSR无法处理TTL 域。这时,需要在进入非TTL LSP 段时对TTL 进行统一处理,即一次性减去反映该非TTL LSP 段长度的值。

ICMP Need Frag 差错报文回送

在MPLS网络中,当报文的长度超过了路由器出接口所设置的MTU 值时,若想使报文顺利的传输,需要将MPLS网络报文的标签剥去,对IP 报文进行分片,然后分别为每一个分片都封装原有的标签后进行传输。但如果IP 报文中设置了不允许分片的标记,则向发送报文的源端回送ICMP Unreach 报文,并丢弃源报文。

出接口的MTU 将被填入ICMP 报文中,如果设备上配置了mtu label-including 命令,在生成报文的时候,应将报文中的出接口MTU字段减去MPLS 标签长度(可能有多层标签)。文后回送ICMP 差错报文的方式有所不同,下面将分别介绍。

PE 设备的处理方式

PE1 收到CE1 发来的报文,报文目的地址为CE2,且该报文携带不可分片标记。PE1 将对此报文进行转发处理,封装MPLS 标签,生成MPLS 报文后进行转发。Comware V3 操作手册(MPLS)。此时如果报文的长度超过了出接口的MTU 时,PE1 会给CE1 回送ICMP Unreach报文,并丢弃源报文。

P设备的处理方式

P1 收到一份MPLS 报文需要进行标签交换,该报文为CE1 发往CE2 的报文,携带不可分片标记。完成标签交换后,如果发现报文的长度超过了出接口的MTU,此时,由于P1 设备上可能没有到CE1 的路由,P1 会将MPLS网络报文中封装的IP 报文取出,根据这个IP报文生成ICMP Unreach 报文,然后重新封装标签发往PE2 方向。当PE2 收到此ICMP 报文时,将此报文转发到CE1 的方向。

时间: 2024-09-11 08:01:51

lsp-如何在OPNET中配置MPLS以及LSP,急!卡了好多天的相关文章

mfc-如何在MFC中配置pdflib

问题描述 如何在MFC中配置pdflib 最近要在一个mfc项目中添加一个报表导出功能,word版本已经做好了,pdf的不会做,查到可以用pdflib做,但我不太会,下载的lib包放到工程里边各种报错.求指导pdflib如何使用,如果有word转pdf的方法就更谢谢了 解决方案 lib是否是你的vc版本相同 然后就是link的时候是否配置对了

web.xml-servelt如何在tomcat中配置?

问题描述 servelt如何在tomcat中配置? servlet用了书上的例子 package package01; import java.io.*; import javax.servlet.*; public class HelloServlet extends GenericServlet { public void service(ServletRequest request,ServletResponse response) throws ServletException,IOEx

如何在Ubuntu中配置tomcat 域名访问?

问题描述 如何在Ubuntu中配置tomcat 域名访问? 如题,现在我修改host的appBase不行,把app Base改回webapps 的话就到tomcat 主页, 现在我要直接访问域名就跳转到项目页面-是否有其他办法解决? 解决方案 tomcat域名配置Tomcat域名配置Tomcat 多域名配置

java-如何在项目中配置一个私钥,使每一个客户端访问我的接口都提示下载证书?

问题描述 如何在项目中配置一个私钥,使每一个客户端访问我的接口都提示下载证书? 在做一个接口,如何保证我只在项目中配置一个 私钥, 就可以使每一个访问我接口的用户提示下载证书??? 现在就是用 jdk生成的证书,但是必须客户端和服务端的密钥都有,我就是想怎么做才能在用户访问的时候才提示下载证书?? 解决方案 服务器端做一个检测,或者提供一个下载的页面 解决方案二: 服务器通讯端口做检查,如果不是标准密钥接入,或者没有密钥:跳转到密钥下载地址.

如何在php中配置fckeditor编辑器的方法

下载解压后为文件夹减肥: 删除/FCKeditor/目录下除fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml,fckeditor.php五个文件以外的所有文件 删除目录/editor/_source,_testcases(基本上,所有_开头的文件夹或文件都是可选的), 删除/editor/filemanager/browser/default/connectors/下除PHP目录的所有目录 删除/editor/filemana

Mac OSX - 如何在bash_profile中配置全局环境变量

我们知道,在Linux操作系统下,配置环境变量是使用如下命令: vim /etc/profile 在OSX下,我们用如下命令打开环境变量配置文件: open ~/.bash_profile   典型的环境变量配置如下:   # java export JAVA_HOME = /home/myuser/jdk1.7.0_03 export PATH = $JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/

在JBoss中配置多个数据库和数据源

JBoss是一款非常强大的J2EE应用程序服务器,但是这种强大的功能也带来了复杂性.本文作者Marcus Zarra分析了如何在JBoss中配置多个数据库以及数据源. 配置数据源 JBoss的默认安装过程总共有三种配置选项:所有的(all).默认的(default)和最小的(minimal).如果你第一次启动JBoss服务器的时候没有附带任何参数,它自然就运行了默认配置.如果需要运行其它的配置,就必须使用-C参数运行启动脚本,如下所示: ${JBOSS.ROOT}/bin/run.sh -c m

vsftpd中配置多个虚拟用户访问不同目录FTP服务器

风信网(ithov.com)原创文章:测试vsftpd中多个虚拟用户访问不同目录FTP服务器的功能,是在管理与维护FTP服务器是非常实用的一个技术,对于安全要求比较高的FTP来说,采用虚拟用户访问控制不同目录,能大大的提高FTP服务器系统的安全性,下面我们来详细的说明如何在vsftpd中配置多个虚拟用户访问不同目录FTP服务器的步骤. 本测试环境为:CentOS i686 如果你还没有安装vsftpd,可以使用如下命令进行安装: [root@localhost /]# yum install v

xcode4中配置Three20开发环境

方便自己记忆:转自http://blog.csdn.net/favormm/article/details/6739311 大名鼎鼎的Three20想必大家都听说过,很多APP都是用它开发的,开发UI很方便,功能也很强大,用它就不必深究枯燥的iOS SDK.今天介绍一下如何在xcode4中配置环境支持Three20开发. 1.首先我们得去把源码下载下来.网址在:https://github.com/facebook/three20 解压放在我们工程目录下. 2.在解压目录下src/Three20