MPLS&MPLS-VPN基础架构(万字文版)

MPLS基础介绍 MPLS(Multi-Protocol Label Switching,多协议标签交换)位于TCP/IP协议栈中的链路层和网络层之间,以标签交换替代IP转发。用于向IP层提供连接服务,同时又从链路层得到服务。 MPLS不局限于特定的链路层协议,能够使用任意二层介质传输网络分组。MPLS的核心技术可扩展到多种网络协议,包括IPv6、IPX、Appletalk、DECnet、CLNP等。它不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性。 本文主要对MPLS的相关概念和转发流程等信息进行介绍 阅读详情

目录

一、MPLS多协议标签交换概述

1、MPLS是什么

2、MPLS-VPN

3、MPLS起源

(1)、MPLS解决的问题

MPLS解决了三层转发短板问题。

(2)、交换机转发流程

(3)、路由器转发流程

(4)、交换机和路由器转发区别

(5)、MPLS对路由器转发的优化

(6)、现阶段MPLS用途

二、深入了解MPLS

1、三种交换机制

(1)、进程交换(路由器时期短板)

(2)、快速交换

(3)、CEF

2、MPLS的术语

(1)、FEC全forwarding equivalence class 等价转发类

3、MPLS的限制

4、根据MPLS域路由器种类划分

5、LDP和TDP区别

6、LFIB标签转发信息库

(1)、标签对于路由器分类

(2)、标签工作流程

(3)、TDP/LDP两个功能

(4)、LDP/TDP物理属性

7、MPLS小细节

8、LDP作用

三、基于华为讲MPLS

1、MPLS的环路检测

 2、LDP环路检测

3、LDP协议原理

LDP建邻居分为两种

LDP报文:4大类

LDP封装

LDP消息作用

LDP发现机制(邻居建立)两种

华为启用MPLS命令:

LDP状态机(邻接关系集):

LDP的标签空间:

LDP标签分发:

标签分发分析

LDP标签保持

PHP导出第二眺弹出

四、LDP实验

五、MPLS VPN(核心)


一、MPLS多协议标签交换概述

IPv4中带有多协议基本就是GRE(GRE特点:不管你三层使用的什么被路由协议,不论IPv4或IPv6)

1、MPLS是什么

  • MPLS数据层面的交换技术,也可以说是转发技术。
  • MPLS本身就是一个数据层面的交换技术,MPLS VPN是他的后一级。
  • MPLS协议核心是第三个单词L,L叫lable标签。
  • MPLS整个技术就是围绕lable来进行。
  • MPSL经过不断升级后,最后经常使用的产物就是MPLS VPN。

2、MPLS-VPN

VPN分类:覆盖型VPN、对等体到对等体VPN,解决的问题是一样的都是让内网使用私有地址的主机能够不经过PAT直接用私有地址跨域访问。

  • MPLS是一种业务,得向当地运营商申请,特点是适合小白企业。
  • MPLS不用担心网络质量问题,可以要求流量Qos。
  • IPsec因为不花钱,所以无法保证流量业务质量。
  • 理解MPLS的控制层面和数据层面,再去理解MPBGP结合MPLS所形成的VPN架构。

3、MPLS起源

(1)、MPLS解决的问题

MPLS解决了三层转发短板问题。

(2)、交换机转发流程

交换机查表转发是查CAM表,CAM表集成在ASIC芯片(应用专用集成电路,在背板里,基于硬件转发就是基于限速(没有任何延迟))

(3)、路由器转发流程

路由器查表转发基于三层报头查ip routing-table IP路由表,IP路由器基于CPU调用(转发基于软件)。

(4)、交换机和路由器转发区别

基于软件查表转发对CPU消耗大,基于硬件对CPU基本没消耗,基于软件调用CPU比较复杂转发有延迟增加转发时间,减少转发效率。

交换机根据DMAC查表转发是精确匹配(最简单逻辑进行匹配)。

路由器根据DIP查表,因为去往一个又一个广播域,主机位是置零的,置零匹配不置零的,是模糊匹配,牵扯一个X,路由器叫TCAM三重CAM(三重CAM:有0匹配,有1不匹配,有X可以匹配可不匹配)。

(5)、MPLS对路由器转发的优化

MPLS的优化:给路由器换一个转发高效的方式,类似交换机一样的转发,这个时候提出MPLS。

MPLS转发过程:发之前加一个4Byte的封装,封装中包含一个标签,是阿拉伯数字,有了标签不查路由表,查LFIB标签转发信息库,标签领域中的路由表,拿LFIB表路由器能做到精确匹配,甚至比交换机的CAM表还要效率高。路由表基于CPU驱动,LFIB基于芯片驱动,查LFIB不消耗CPU资源可以做到限速。

(6)、现阶段MPLS用途

MPLS在现如今优势越来越小了,但是用的越来越广了,因为研发人员基于MPLS研发了两种技术:

1、MPLS VPN(运行商专属业务,几乎不花成本提供多元化业务):IPv4地址不够用,所以出现这个技术。

2、MPLS TE:能实现运营商内网部署多个路径,MPLS TE能做到最大限度的路径负载均衡。(像部署PBR一样,路由器收到路由不是这样走的,但我能强行要求你路由按我的来。)

二、深入了解MPLS

1、三种交换机制

(1)、进程交换(路由器时期短板)

进程交换(路由器时期短板):基本没人用了,指路由器运行路由协议获悉路由条目,通过ARP等等获悉二层的封装信息,收到数据是不分流的,基于收到的每一个数据包做路由表查询,通过路由表查询找转发出接口,路由器收到数据进行三层和二层查询,三层确定出接口和下一跳,二层进行重新封装…..

(2)、快速交换

快速交换:和进程交换相比是一个里程碑式的升级。也叫网流式转发,基于流量的七元组:(源目IP地址、源目端口号、协议号、Tos字段、相同的入接口形成的就是一股数据流),第一个数据包查三层表确定出接口,查二层表确定封装协议,形成一个缓冲Cache,把Cache 缓存在ASIC芯片中,对于这个流的后续数据包查Cache就能转发。第一个包进行CPU软路由,第二个包以后都能类似交换机一样给你们做基于硬件的交换转发,也叫一次路由多次交换,一次查表多次转发。

(3)、CEF

CEF:不同厂商不一样,cisco叫思科急速转发CEF,华为和华三都有各自的叫法。

CEF思科急速转发:思科私有的交换机制,基于快速交换做升级,报文触发,启用CEF路由器就会生成两张表:

  • 第一张:FIB全forwarding information base路由信息库:经过优化的路由条目,条目靠下载得到,会把路由表所有路由条目做一个整合放到FIB中,主要优化路由条目下一跳。递归表查询(查两次获三次)。
  • 第二张:adiacency table邻接关系表(二层表):供数据封装的优化后的二层信息。

都能被ASIC调用。

FIB好处:当使用FIB调用数据时,没有递归表查询,基于ASIC芯片调用,对于一股流的任何数据包不用路由,能完完全全经过交换的方式来做一个查表转发,确认出接口后,FIB还有一个功能联动邻接关系表表项,能清晰告诉封装二层封装什么值。

CEF可以理解为零次路由,全部转发。

2、MPLS的术语

当前使用MPLS就是为了做MPLS VPN和MPLS TE,BGP担心数据层面黑洞,当使用IBGP路由转发数据时,途经没有运行BGP的路由器就会丢包(解决丢包方法:1、都启用BGP 2、直连 3、重分发 4、BGP之间做tunnel 5、最靠谱启用MPLS,基于MPLS支持解决BGP黑洞)。

关于MPLS的两个术语:

(1)、FEC全forwarding equivalence class 等价转发类

FEC全forwarding equivalence class 等价转发类:是标签存在的一个基石,同一个FEC打同一个标签,FEC做一个流量整合,每一个FEC打一个标签,一个FEC就是一个数据包的集合,相同的FEC具有相同属性。

FEC归类如下:

FEC归类如下:

  • 相同的VPN目的地
  • 相同的二层电路转发
  • 路由器同一个接口发走
  • 具有相同QoS标记
  • 具有相同的源地址

MPLS是数据层面的,但是产生标签需要控制层面TDP/LDP、MP-BGP、RSVP资源预留协议。

路由器能给每一条路由条目进行标签分发,我收到一条路由条目,我看能用哪条路由条目转发,打这条路由条目所对的标签。

一组去往相同目的地的数据包属于同一个FEC,这组同一目的地数据包要打上同一个标签,去往相同目的地可以使用同一路由转发,路由器能针对路由条目中的每一条路由条目做标签转发。

3、MPLS的限制

  • 做了MPLS域内不能做汇总路由。
  • ospf的loopback接口默认以32位路由通告。

在cisco中启用MPLS的条件是:必须使用CEF的交换机制。

标签压入、标签交换机制:(研究完MPLS表项)

一般在运营商内网会启用MPLS, 内部的都启用MPLS。

Edge LSR边界标签交换路由器。

4、根据MPLS域路由器种类划分

(1)、纯LSR

(2)、边界LSR(华为中叫LER):当收到从外到内的报文时,执行的是PUSH标签压入。

去掉标签有两个操作:

  • 标签弹出POP:把最外层的标签去掉。(内网执行)
  • 标签移除:把整个标签站里的所有标签去掉。(连外网执行这个)

5、LDP和TDP区别

接口启用MPLS就是数据层面和控制层面都启用了,通过这个接口允许收发带标签的报文,控制层面其实默认也启用了一个协议。TDP(标记分发协议)/LDP(标签分发协议)。

早期MPLS叫Tag switching是Cisco开发,标准化就成了MPLS,标准化之前用TDP,标准化之后就用LDP。当前Cisco都支持TDP和LDP。

cisco在接口敲了Mpls ip就能启用MPLS,数据层面默认开启了MPLS的工作模式,控制层面如果操作系统高于12.3就是LDP,低于就是TDP。

cisco针对MPLS有两套命令一套是针对私有,一套针对公有协议。15.X能用的只是新命令LDP。

第一步运行动态或静态获得路由

第二部通过TDP/LDP进行标签分发(控制层面协议,根据路由条目中已有的路由条目生成标签)

第三步把标签告知邻居,默认标签只有本地拥有,所以得信息共享,TDP和LDP干两件事:

(1)、针对路由表中以有路由进行标签产生,标签分发。

(2)、把我分发的标签给我的邻居做一个通告。(当运行完LDP就和运行完OSPF一样,TDP和LDP也都会在直连路由器之间建立邻居,非直连之间也能建立邻居,也会有邻居表,邻居之前会互发标签)本地保存的标签并非LFIB,而是LIB,启用CEF形成FIB,路由器收到带标签的路由会查LFIB,收到邻居发来的标签值会绑定在LIB。

6、LFIB标签转发信息库

LFIB标签转发信息库:基于标签的路由表,收到一个带标签的报文,只要是MPLS必须查这个表做转发(会告诉你收到带什么标签的报文后该把标签换成什么一个其它的值,并把报文通过哪个接口发走,发给哪个下一跳)。

LIB标签信息库:一个拓扑表,装着关于一条路由条目,关于一个FEC本地所产生的标签是什么,邻居所产生的标签是什么,每一个标签大家都是什么值,确定LFIB标签是什么。

FIB转发信息库:启用CEF后能被硬件调用的路由表(IPv4路由表)

一台路由器收到报文标签不是本地分发就会丢弃这个报文。(这个标签必须是本地关于某条路由条目所产生的)

 

(1)、标签对于路由器分类

入标签:接收到的报文所携带的标签,为了让我本地识别,必须是我本地产生的。

出标签:发给邻居时携带的,必须是下一跳邻居所产生的。

入标签和出标签没有关联。

(2)、标签工作流程

默认我不知道邻居标签,有了FIB就能知道关于一条路由本地的标签是多少,邻居的标签是多少(邻居给我发更新会告诉我邻居他的某个FEC对应的标签是什么),都能获得,把本地的标签和下一跳邻居的标签做一个绑定就能形成LIB,LIB里边放置的就是一对一对的标签映射,这个标签映射告诉路由器收到带这个标签的报文通过哪个路由器接口发走发给哪个下一跳并且要把标签换成哪个下一跳的值。

路由器启用CEF生成FIB(关于一个FEC是我对应的下一跳地址)。

(3)、TDP/LDP两个功能

1、给本地路由表的每一条路由条目产生标签,这个叫标签分发。

2、把你本地产生的标签给邻居发走。

收到邻居发来的标签会放到LIB中。

基于FIB和LIB生成LFIB中的转发条目。

运行TDP/LDP路由器ID会手工指定。

两步:

1、运行IGP获取路由

2、启用TDP/LDP来针对路由表中路由进行标签分发,并且给邻居通告。

LDP不是万能,只能给路由表中部分路由进行标签分发:(重要)

1、直连路由

2、静态路由

3、通过IGP获悉路由

BGP(BGP路由自己分发标签)不会位address-family中所有路由分发标签只会为:

1、VPNv4路由

2、VPNv6路由

RSVP是在部署RSTE时使用,分发基于Qos的标签,能完成基于Qos功能的路径调整。

(4)、LDP/TDP物理属性

  • TDP即使用TCP/又使用UDP 端口号711(基本没人用了)
  • LDP即使用TCP/又使用UDP端口号646
  • TCP优点可靠,缺陷是只支持单播。
  • UDP优点灵活可以自动建邻居,缺陷不可靠。
  • TCP用广播发送hello,LDP使用组播发送hello。
  • 通过UDP发hello,通过TCP进行邻居的建立。

LDP最可靠的方式就是把路由器之间直连全部开启LDP,并且把它们的路由器ID宣告进IGP,能两两建邻居,只要能两两建立邻居就能通过标签,就是在接下来一段时间内有LFIB,不做路由汇总聚合、不通告ospf32位路由,关于FEC标签就是连续的。

内部LSR图例:

边界LSR图例:

路由器收到带标签的报文一定只能查LFIB,边界查LFIB查不到就会尝试把标签去掉,根据三层源目地址查LFIB,就能转发。

Cisco针对边界路由器做了PHP(倒数第二跳标签弹出/次末跳标签弹出)的优化,最后一跳路由器告诉你是倒数第二跳时,你把路由发给最后一跳时就能够直接把标签去掉,最后一跳收到没有标签的路由纯IPv4报文会查FIB,查一次FIB就能做一个精确转发。(华为也支持)

7、MPLS小细节

  • 启用不分环境,物理层使用什么样的介质无所谓局域网链路、广域网链路都行。
  • 二层启用什么样的协议也无所谓,以太网、帧中继、ppp都行。
  • MPLS在封装时会给数据帧添加一个32位的标记,标记插入在二层和三层报头之间(这就是为什么叫MPLS,插完三层报头就不用看了),因为封装位置MPLS也叫2.5层1协议。

MPLS对应的单播帧类型值是:0x8847,组播帧对应:0x8848。

帧模式PMLS:数据帧中添加MPLS。

信源模式MPLS:在ATM信源上也能添加。(没人用)

帧模式标签封装图:

标签字段(重要):前20位是标签取值0到2的20次方减一。(0-15都是特殊标签规定好了用途,能DIV的就是16-2的20次方-1)

3位EXP位叫实验位,类型802.1q中qos字段,用来做qos标记,二层qos标记。

S站点标记位,用来描述是不是最后一层标签。单纯的MPLS环境打一层标签,MPLS VPN环境通常是两层标签。MPLS-TE环境中是三层标签。置0为外层标签,置1为最内层。路由器收到带有标签只会对最外层做处理。

TTL防止环路。

三层标签图:

底层是靠近三层报头,外层是靠近二层报头。只有第一个添加的S位置1,其余的S位置0。

8、LDP作用

LDP主要干两件事:

  • 标签分发
  • 标签通告

每条路由在FIB中都会对应一个下一跳地址,这个下一跳地址要拿在LDP邻居表里找哪个邻居有这个IP地址,FIB对应LDP中某一个邻居。

在LIB中找到邻居通告的标签,出标签为下一跳标签,入标签为我本地标签,本地标签和远程邻居标签做一个绑定,放在LFIB中去。

今后在收到带有标签的路由的时候都会从LFIB中找到对应标签进行转发。

LSP全Label Switch Path标签路径:在MPLS域内带标签的帧所传递经过的路径。

在MPLS环境内非常重视两个词:

  • 上游:离发送者近的就是上游。
  • 下游:连接网络的路由器离源近就是下游。

上下游是根据数据层面来定义。

下游路由器把数据一步一步发给上游,与此同时下游路由器把标签一跳一跳传递给上游,标签每传一跳上游都会形成对应的FIB。

三、基于华为讲MPLS

1、MPLS的环路检测

(1)、TTL环路检测:

  • 帧模式的MPLS中使用TTL
  • 信元模式的MPLS中无TTL

(2)、LDP环路检测机制:

  • 距离向量法
  • 最大跳数法

没有TTL报文会在环路中永无止境的发送下去。

数据帧送外界进入MPLS域TTL有两种处理模式:

  • 正常:会把IP报头中TTL值复制到标签报头中去。(特点:不对外隐藏MPLS域内的结构,出环可以丢弃)
  • 无视你原本三层报头的TTL值,我一律设置为255。(特点:对外隐藏内网结构,外界不会感知MPLS域,不利消环路)

华为命令:

【sw】mpls

【sw-mpls】undo ttl propagate public(对外隐藏内网结构)

 2、LDP环路检测

默认启用LDP不会防环,有两种方法可以:

(1)、LDP路径校量法:会在LDP标签请求和标签通告报文中携带两种TLV,一个叫路径矢量TLV,一个叫路径限制TLV,都是用来检测环路。

设置两个东西:

  • 一个LDP有多少跳:限制最大传输跳数。
  • 记录每一台路由器的ID:收到包含自己的路由ID通告就会丢弃。

(2)、最大跳数法:单纯设置最大跳数。

都涉及到TLV长度类型值,环路产生的根因是IGP出环。

华为启用LDP命令:

进入LDP配置模式敲loop-detect敲完可以通告hops-count设置跳数,通过path-voctors来设置路径向量。

华为得先启用LDP再去接口激活。

3、LDP协议原理

LDP为TDP的升级版

LDP三个动做:

  • LDP根据路由条目形成标签叫标签分发(产生标签关联路由条目)
  • 产生的标签通告给邻居路由器叫标签通告
  • 通告邻居接收到标签得放到LIB中去,这个叫标签保持。

这三个动作每个都有两种模式

cisco使用LDP会针对路由表里BGP路由以外的任何路由进行标签分发。

华为 使用LDP会针对路由表里BGP路由以外的任何路由进行标签分发,分发标签时默认只会针对主机路由(主机路由:32位掩码),需要激活功能,在华为中PE之间路由必须32位(PE之间环回口建邻居32位)。

Cisco接口启用LDP,周期性通过接口发hello,transport address传输地址,默认传输地址都是路由器ID地址。

建邻居先是通告UDP发组播报文,再通告TCP建立三次握手(谁的传输地址大,谁主动发起TCP三次握手),最终完成建立。目的端口为731或646,传输地址大的是就是随机端口。

LDP建邻居分为两种
  • 直连建邻居
  • 非直连建邻居

LDP报文:4大类
  • Discovery message发现消息:宣告和维护网络中的一个LSR的存在。
  • Session message:建立、维护和终止LDP peers之间的LDP Session。
  • Advertisement message通告和请求标签:生成、改变和删除FEC的标签映射。
  • Notification message:宣告告警和错误信息。

        

LDP封装

前面IP报头|tcp和udp|ldp具体封装

具体封装分为两个部分:

一是报头10字节LDP Header,3个子字段:

  • version版本
  • PDU length,PDU的长度
  • LDP Identifier,LDP的路由器ID(6个字节,前4个字节是路由器ID,后两个字用来描述你的标签空间,标签空间有两种默认使用第一种(1)、路由器空间:关于一条路由你只会形成一条标签(2)、接口空间:同一条路由关于每一个接口所形成的标签是不一样的。)

一个是长度可变的载荷

LDP版本1

载荷:

  • U未知报文识别位:通常置零。
  • Type类型:描述是哪种报文,hello。。。。。。
  • Message Length消息长度:描述多少字节。
  • Message ID报文ID:类似LSA的link statckID,用来唯一标识一个报文。
  • Mandatory Parameters:强制添加的属性。
  • Optional Parameters:可选属性。
LDP消息作用

1、Discovery Message包含:

  • hello报文:目的地应该是组播224.0.0.2,源地址是传输地址可以改,默认使用的是路由器ID的地址。

2、Session Message包含:

  • Initialization初始化报文:当双方了解对方地址建立TCP三次握手,当TCP三次握手建立完毕之后就是给对端发送初始化的报文,来协商参数,类似于BGP中的Optin。这种报文发一次就够,我给你发这个包含了我LDP中的很多参数。你给我发也包含很多参数,你和我的参数做一个匹配,成功就给你发KeepAlive。
  • KeepAlive:用来做Initialization的缺认。这个是周期性发送的,检测连接是否完好。

3、Advertisement Message包含:

  • Address:地址信息。
  • Address Withdraw:地址撤销,取消之前我通告的某些地址。
  • Label Mapping:LDP发送。
  • Label Request:请求标签映射发这个。

LDP的防环添加TLV就是在(3)和(4)之间添加TLV。

  • Label Abort Request撤销请求:给你发了一个请求,对方迟迟不给更新,不想请求就发这个。
  • Label Withdraw标签撤销:之前通告的标签映射不可用了,就通告这个告诉你标签不可用了请你删除。
  • Label Release标签释放:通告邻居收到的标签不想要了,就要发这个给邻居,告诉邻居你之前给我发的标签我已经删了。

3、Notification Message:

  • Notification:用来报错。
LDP发现机制(邻居建立)两种
  • 基本发现机制:发现直连连接在同一链路上的LSR邻居。(两两直连建立邻居,双方交互完TCP的hello后直接建立邻居,路由器ID小的就是端口646)图例:

  • 扩展发现机制:发现非直连的LSR邻居。(指neighbor单播建立)

建立好邻居后发Initialization报文路由器ID大的发这个(ID大的叫主动方,ID小的叫被动方),图例:

路由器ID大的发Initialization,然后路由ID小的回应Initialization加一个KeepAlive,路由器ID大的一方收到没问题再给你回应KeepAlive。完成4个报文交互,邻居就建立好了。

参数不匹配就发生Notification,断开邻居建立。

华为启用MPLS命令:

建立远端邻居,建议使用路由器ID建立:

LDP状态机(邻接关系集):

5种邻接关系:

  • NON EXISTENT邻接关系不存在:交互完hello,建立完了TCP三次握手就到达了INITIALIZED。
  • INITIALIZED:双方不是对等的,谁的传输地址大,谁就是主动端,主动发送Initialization,发完后进入OPENSENT。被动端因为什么也不能发依旧会停留在这个阶段。
  • OPENSENT:主动端发完进入这个模式。
  • OPENREC:被动端和主动端参数协商没问题就会发Initialization和KeepAlive然后进入OPENREC这个模式。等待主动端回应KeepAlive,收到主动端回应的KeepAlive最终进入到OPERATIONAL。
  • OPERATIONAL:最终阶段。
LDP的标签空间:

两种:

  • 基于平台的空间(或叫基于路由器)

  • 基于接口的

一台路由器关于FEC我是否会产生一个标签,如果是产生一个标签那就是基于路由器的(或叫基于平台的,不浪费标签)。如果基于每一个接口都形成一个独立的关于FEC的标签这个就是基于接口的(标签数量多,维护麻烦,但是提升了安全性)。默认使用基于平台的。

LDP标签分发:

标签通告分为两种:

  • DU全按需通告:

cisco华为默认都是这个,DU是不管邻居有没有给我发标签请求我只要形成了标签映射对就给你通告。

  • DUD自由通告:

DUD指我本地形成了关于路由的标签之后,我不给你发,等待邻居给我发标签通告请求,收到请求后根据你们标签请求的映射给你发送。

标签分发分析

Lsp-lrigger none 这个none是不分发任何标签。

Lsp-lrigger host只针对路由表中的主机路由进行标签分发。

标签3是特殊标签叫隐式空标签:告诉邻居你们使用该路由转发数据给我的时候直接做一个标签弹出就可以,(最后一跳路由器和倒数一跳路由器不是指路由器,是指路由最后一跳,直连路由是,边界路由器外网路由)。

0叫显式空标签:让标签变为0,一台路由器收到位0的空标签不用查找LIB也可以立即把标签去除然后查找FIB可以形成PHP次末跳标签弹出。3用的多效率高。

LDP标签控制Independent:标签分发,当一台路由器拥有了IGP之后,产生标签的一个过程,分为两种:

  • Independent独立:指一台路由器拥有了IGP路由之后,我不管邻居有没有把关于这条路由的标签给我通告,我都会立即本地去形成关于这个路由条目的标签。
  • Orderd有序的:指我收到一条路由,我想要形成关于这条路由的标签是有前提的,前提是我必须通过给我通告路由的下游邻居收到这个标签。(关于这条路由有了出标签才会形成入标签)

cisco是基于独立的,华为是基于有序的。

LDP标签保持

分为两种:

  • Conservative保守:很多LDP邻居大家都有相同路由,只有是我这个邻居是关于这个路由条目下游的下一跳的时候你给我发的标签我还会保持,与我不相干的邻居发给我的标签我是不接受的。(LDP很简洁,除了本地标签就是真实下一跳的邻居给我通告的标签,节约LDP的资源,缺点是收敛慢)
  • Libral自由的:别人给发我就记录,用哪个还是要根据我的FIB路由的下一跳找到正确的邻居,下游邻居通告的标签我才会放到LFIB作为出标签使用。

Cisco和华为都默认是libral自由的模式。

PHP导出第二眺弹出

跟路由器没关系,跟路由有关系,对于一台路由器你的路由是最后一跳(最后一跳路由:直连路由、域外的路由),你的邻居就是倒数第二跳。

可以要求使用0或者3。

0是显式空标签:

隐式空标签:label advertise inplicit-null

关闭PHP功能:

 

做了PHP的话Qos到了倒数第二跳就失效了,最后一跳没有报头了,没办法缺人哪一类。

四、LDP实验

R2和R4是EBGP,R2和R3是IBGP,R3和R5是EBGP,R1没有运行BGP,R4到R5必须要经过1所以会丢包,R1和R2和R3运行MPLS解决丢包(BGP和MPLS配合有一个原则: R2收到R4访问R5的流量他发现要通告BGP路由来转发,但是要转发这个报文出接口的一个MPLS域内接口,BGP本身是没有标签的,要解决黑洞问题他就会查看BGP路由对应的IGP路由下一跳路由的标签(BGP路由一般是通过IGP获悉,运行OSPF获悉BGP路由下一跳地址)这个路由因为有LDP存在所以有标签映射,MPLS结合BGP解决的方式就是:一台路由器使用一条BGP路由来转发从外到内的报文时会针对这条BGP的下一跳地址去查询相对应的IGP路由使用IGP所对应的出标签去封装数据,R2发数据给R1的时候也携带一个标签是关于3.3.3.3这条IGP标签的路由,R1收到会认为要去往R3环回口有路由,查LFIB后会给你完成一个标签的弹出,去掉标签发送给R3,R3也运行BGP他有路由,一看目的地是R5就给他转发走了。

R1配置:

  • Loopback0 :1.1.1.1 255.255.255.0 ip ospf network point-to-point
  • Ethernet 0/1:13.1.1.1 255.255.255.0
  • Ethernet 0/0:12.1.1.1 255.255.255.0
  • R1(config)#router ospf 110
  • R1(config-router)#router-id 1.1.1.1
  • R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
  • R1(config-router)#network 13.1.1.1 0.0.0.0 area 0
  • R1(config-router)#network 12.1.1.1 0.0.0.0 area 0

R2配置:

  • Loopback 0:2.2.2.2 255.255.255.0 ip ospf network point-to-point
  • Ethernet 0/1 :12.1.1.2 255.255.255.0
  • Ethernet 0/0:24.1.1.2 255.255.255.0
  • R2(config)#router ospf 110
  • R2(config-router)#router-id 2.2.2.2
  • R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
  • R2(config-router)#network 12.1.1.2 0.0.0.0 area 0

R3配置:

  • Loopback 0:3.3.3.3 255.255.255.0 ip ospf network point-to-point
  • Ethernet 0/0:13.1.1.3 255.255.255.0
  • Ethernet 0/1:35.1.1.3 255.255.255.0
  • R3(config)#router ospf 110
  • R3(config-router)#router-id 3.3.3.3
  • R3(config-router)#network 3.3.3.3 0.0.0.0 area 0
  • R3(config-router)#network 13.1.1.3 0.0.0.0 area 0

R4和R5创建环回口

R4配置:

  • Loopback 0:4.4.4.4 255.255.255.0
  • Ethernet 0/1:24.1.1.4 255.255.255.0

R5配置:

  • Loopback 0:5.5.5.5 255.255.255.0
  • Ethernet 0/0:35.1.1.5 255.255.255.0

启用LDP:

R1:前提是启用CEF,全局模式命令:

  • R1(config)#ip cef (启用CEF)
  • R1(config)#mpls ip (开启MPLS的功能)
  • R1(config)#mpls label protocol ldp(使用LDP作为标签分发协议给IGP、静态、直连分发标签)
  • R1(config)#mpls ldp router-id loopback 0 force(force是强行指定loopback 0口为路由器ID)

接下里就是接口模式命令:

进入Ethernet0/0-1

  • R1(config-if-range)#mpls ip(一语双关,即在接口启用MPLS的数据功能,又在接口宣告LDP进程)

R2:

  • R2(config)#ip cef
  • R2(config)#mpls label protocol ldp
  • R2(config)#mpls ldp router-id loopback 0 force
  • 进入ethernet0/1,不要在连接外网接口启用
  • R2(config-if)#mpls ip

R3:

  • R3(config)#ip cef
  • R3(config)#mpls ip
  • R3(config)#mpls label protocol ldp
  • R3(config)#mpls ldp router-id loopback 0 force
  • 进入ethernet0/0
  • R3(config-if)#mpls ip

ldp也会建立邻居,show mpls ldp neighbor可以看到邻居

看LIB:show mpls ldp bindings

看LFIB:show mpls forwarding-table

看CEF形成的FIB:show ip cef,看每条路由的标签用:show ip cef detail

操控TTL模式:

R3(config)#mpls ip propagate-ttl(收到从内到外报文的时候,我的标签头TTL值和你三层报头之间有关联,如果是no mpls ip propagate-ttl 那就是不管你原始报文TTL是几都会给你添加一个255的TTL)

在MPLS中不能存在no mpls ldp advertise-labels这条命令,不会为任何路由分发标签。

运行BGP

R4配置:

  • R4(config)#router bgp 4
  • R4(config-router)#no auto-summary
  • R4(config-router)#no synchronization
  • R4(config-router)#bgp router-id 4.4.4.4
  • R4(config-router)#neighbor 24.1.1.2 remote-as 10
  • R4(config-router)#network 4.4.4.0 mask 255.255.255.0

R5配置:

  • R5(config)#router bgp 5
  • R4(config-router)#no auto-summary
  • R4(config-router)#no synchronization
  • R4(config-router)#bgp router-id 5.5.5.5
  • R4(config-router)#neighbor 35.1.1.3 remote-as 10
  • R4(config-router)#network 5.5.5.0 mask 255.255.255.0

R2配置:

  • R2(config)#router bgp 10
  • R2(config-router)#no auto-summary
  • R2(config-router)#no synchronization
  • R2(config-router)#bgp router-id 2.2.2.2
  • R2(config-router)#neighbor 24.1.1.4 remote-as 4
  • R2(config-router)#neighbor 3.3.3.3 remote-as 10
  • R2(config-router)#neighbor 3.3.3.3 update-source loopback 0(修改更新源地址)
  • R2(config-router)#neighbor 3.3.3.3 next-hop-self

R3配置:

  • R3(config)#router bgp 10
  • R3(config-router)#no auto-summary
  • R3(config-router)#no synchronization
  • R3(config-router)#bgp router-id 3.3.3.3
  • R3(config-router)#neighbor 2.2.2.2 remote-as 10
  • R3(config-router)#neighbor 2.2.2.2 update-source loopback 0
  • R3(config-router)#neighbor 2.2.2.2 next-hop-self
  • R3(config-router)#neighbor 35.1.1.5 remote-as 5

show:R5,show bgp ipv4 unicast看bgp路由:

这个时候R4ping 5.5.5.5 source 4.4.4.4 可以通

R4:traceroute 5.5.5.5 source 4.4.4.4

通的原理:并不是因为BGP会给路由分发标签,就算分发了标签R1没有运行BGP也没标签没意义,IPv4环境中MPLS针对BGP提供服务:路由器收到从内到外报文,只要你需要使用BGP路由转发,我就会根据BGP路由下一跳地址所对应的IGP路由标签来做一个出标签的封装。

五、MPLS VPN(核心)

对等体到对等体的VPN,大量配置在PE路由。

特点:PE要为CE维护路由,PE和CE建立某种连接关系,可以是IGP也可以是BGP。

问题:一台PE可能要为多个客户提供服务,客户内网是私有路由,PE收到了在哪里保存路由?

为了实现对等体到对等体VPN必须要解决PE存放CE路由的问题:针对每一个客户单独创建一张独立的路由表,使用独立的路由表存放你的所有路由。(优点:1、公网和私网路由不用混在一起 2、做客户间的路由区分)

解决步骤:

1、在PE路由器创建VRF全Virtual Routing Forwarding 虚拟路由转发,一个VRF可以理解为是一个MPLS VPN中的一个实例,创建一个VRF相当于路由器产生一张相对独立的VRF路由表(VEF路由表),针对每一个客户创建一个VRF(VRF根据客户名称命名)VRF名称只具有本地意义。

2、CE路由存放:VRF的使用,之间在PE上把连接CE的接口和VRF关联,通过这个接口在控制层面接收路由的时候会直接把路由加载入VRF路由表,并且只会把VRF的路由通过这个接口发送给客户。数据层面通过这个接口收到流量转发的时候也是使用这个VRF路由表进行查询然后进行精确转发。

3、如何把路由发给另外一个PE:VRF路由没办法通过运行商的IGP发送,这时在X和Y之间建立一个BGP的邻居,并且是MP-BGP邻居是VPNv4邻居专门帮PE路由器来发送VRF路由的工具。

过程:

PE把VRF私网路由先加入BGP的VPNv4的BGP表中,再给邻居发走,这个时候就出现了问题,一张VPNv4BGP表就一张,VRF表有多张,这个时候通过对私网路由进行加工,让它们产生区别,加工时每个VRF必须设置一个RD全Route Distinguishhers路由区分服务,不同VRF的RD是绝对不能一样的,RD有64bit当你这台路由器和其它PE建立好VPNv4邻居之后,你要把你VRF路由表中的路由转化成BGP的VPNv4(VPNv4路由就是添加了RD的路由)路由加入BGP表中去,没有RT的RD只具有本地意义,除了RD以外VPNv4还需要携带一个参数RT全Route Targets路由目标,RT就是BGP中的扩展团体属性,RT的存在只有一个目的就是让你PE路由器收到公网传递过来的VPNv4路由你能知道这个路由加入哪张VRF路由表。

RT在实现的时候有两种操作:(这个操作是在VRF中定义的)

(1)、导入:当你收到VPNv4路由之后将带有什么RT的路由加入本VRF路由表。

(2)、导出:当你把VRF路由加入VPNv4BGP表中你要携带哪些RT值。

导出RT可以设置多个,导入RT也可以设置多个。

VPNv4路由:就是携带了RD和RT的这种私网路由,通过BGP携带。

VPNv4路由传递流程:客户的路由器收集了私网路由之后,通过某种协议传递给PE(协议可以是IGP也可以是BGP),传递好之后由于PE连接CE接口是和VRF关联着,收到的所有路由都是加入VRF路由表,PE之间要建立VPNv4BGP邻居(或者在运营商内网找一台RR,让RR进行路由反射,这样做的时候不要让RR参与数据层面的转发因为控制层面消耗过大数据层再转发就会出现问题。),PE收到路由之后,路由加入VRF路由表,接下来PE把这些路由转化为VPNv4路由加入VPNv4的BGP表中去这个过程中我会给路由器打上RD,根据导出的相关设置我会给路由器打上相关的RT属性,路由发送给对端PE之后。对端PE收到会根据对端的导出和本地的导入来决定什么样的RT路由加入哪张VRF路由表。

客户给发的就是纯粹的IPv4报文,PE路由器通过这个接口收到之后由于通过VRF接口收到就会查找VRF对应的路由进行转发,需要添加标签进行封装,内网路由器会认为是发给另外一个边界的,另外一个边界有一个难题,收到这个报文是通过公网接口收到的,收到之间会丢弃,需要解决一台PE收到另外一台PE发来的由我公网接口收到的,必须提示你查私网路由进行转发,这个时候光一重标签还不够,还得再添加一重标签,提醒你查找VRF表中路由的这么一个标签这个标签不再靠LDP而是靠BGP,普通BGP不会分发标签,只有BGPVPNv4进程才能分发标。

那么两重标签:

(1)、内层是BGP VPNv4路由标签

(2)、外层是下一跳地址IGP路由标签|VPNv4、

MPLS VPN实验:

MPLS控制层面就是路由传递,数据层面就是双重标签转发(内层标签是VPNv4路由VPNv4邻居给你发BGP路由的时候给你携带这个标签。外层标签)

之前的实验改造一下:

R2和R3把连接外网的接口干掉:

R2:

R2(config)#default interface ethernet 0/0

R2(config)#no router bgp 10

R3:

R3(config)#default interface ethernet 0/1

R3(config)#no router bgp 10

R4和R5作为客户也不运行BGP:

R4:

R4(config)#  no router bgp 4

R5:

R5(config)#no router bgp 5

PE和CE很多协议可以用,R2和R4之间运行BGP,R3和R5运行IGP。

R2和R3创建VRF:

R2:高级命令

R2(config)#vrf definition A

R2(config-vrf)#rd 10:10(指定RD,RD只具有本地意义)

R2(config-vrf)#address-family ipv4

R2(config-vrf-af)#route-target both 10:10,以VPNv4发走时携带10:10的RT(R2关于R4的导出必须是R3的导入,R3关于R5的导出必须是R2的导入)

连接CE的接口关联VRF:

R2进入Ethernet 0/0:

R2(config-if)#vrf forwarding A(敲这个命令这个接口的地址会自动消失,因为关联不同的路由表,直连接口就干掉了,先关联VRF再敲IP地址)

R2(config-if)#ip address 24.1.1.2 255.255.255.0

Show ip route connected,直连路由表没有24路由,因为变成VRF A中路由了show ip route vrf A

查子路由表pingR4得:R2#ping vrf A 24.1.1.4

R3:low的命令

R3(config)#ip vrf A

R3(config-vrf)#rd 10:10

R3(config-vrf)#route-target both 10:10

R3进入Ethernet 0/1

R3(config-if)#ip vrf forwarding A

R3(config-if)#ip address 35.1.1.3 255.255.255.0

R3#ping vrf A 35.1.1.3

R2:

R2(config)#router bgp 10

R2(config-router)#no auto-summary

R2(config-router)#no synchronization

R2(config-router)#bgp router-id 2.2.2.2

R2(config-router)#no bgp default ipv4-unicast

R2(config-router)#neighbor 3.3.3.3 remote-as 10

R2(config-router)#neighbor 3.3.3.3 update-source loopback 0

R2(config-router)#address-family vpnv4 unicast

R2(config-router-af)#neighbor 3.3.3.3 activate

R2(config-router-af)#neighbor 3.3.3.3 send-community extended(激活发送阔转团体属性功能)

发VPNv4路由给邻居下一跳会自动变更为我对邻居的跟新源。

Show run | section bgp 图:

没有IPv4邻居只有VPNv4邻居

R3:

R3(config)#router bgp 10

R3(config-router)#no auto-summary

R3(config-router)#no synchronization

R3(config-router)#bgp router-id 3.3.3.3

R3(config-router)#no bgp default ipv4-unicast

R3(config-router)#neighbor 2.2.2.2 remote-as 10

R3(config-router)#neighbor 2.2.2.2 update-source loopback 0

R3(config-router)#address-family vpnv4 unicast

R3(config-router-af)#neighbor 2.2.2.2 activate

R3(config-router-af)#neighbor 2.2.2.2 send-community extended(华为中不用敲,华为默认是这个,Cisco需要敲)

Show bgp vpnv4 unicast all summary(看邻居)

R4:(CE端,没有MPLS概念,没有VRF概念)

R4(config)#router bgp 4

R4(config-router)#no auto-summary

R4(config-router)#no synchronization

R4(config-router)#bgp router-id 4.4.4.4

R4(config-router)#neighbor 24.1.1.2 remote-as 10(建立普通邻居)

R4(config-router)#network 4.4.4.0 mask 255.255.255.0

R2:

R2(config)#router bgp 10

R2(config-router)#address-family ipv4 vrf A

R2(config-router-af)#neighbor 24.1.1.4 remote-as 4(建立VRF邻居)

R2(config-router-af)#neighbor 24.1.1.4 activate

Show bgp vpnv4 unicast vrf A summary(看邻居)

Show bgp vpnv4 unicast all

看路由明细:

Show bgp vpnv4 unicast all 4.4.4.0/24:

看标签明细:show bgp vpnv4 unicast all labels

R3上看这条19标签:为出标签:

R3:show bgp vpnv4 unicast all labels:

R3和R5建立一个OSPF:

R5:

R5(config)#router ospf 110

R5(config-router)#router-id 5.5.5.5

R5(config-router)#network 35.1.1.5 0.0.0.0 area 0

R5(config-router)#network 5.5.5.5 0.0.0.0 area 0

R3:运行VRF感知的OSPF

R3(config)#router ospf 35 vrf A

R3(config-router)#router-id 33.33.33.33

R3(config-router)#network 35.1.1.3 0.0.0.0 area 0

R3看路由:show ip route vrf A

进入loopback 0

R5(config-if)#ip ospf network point-to-point

R3这时收到路由是24位:

R3#show ip route vrf A

R3:

R3(config)#router bgp 10

R3(config-router)#address-family ipv4 vrf A

R3(config-router-af)#redistribute ospf 35 VRF A (把ospf重分发进别的协议想要重分发ospf外部路由加match)

Show bgp vpnv4 unicast all

R2可以收到:

Show bgp vpnv4 unicast all:

R3上重分发让R5收到路由:

R3:

R3(config)#router ospf 35 vrf A

R3(config-router)#redistrbute bgp 10 subnets(回向重分发)

R5:

Show ip route:

R4

Ping

5.5.5.5

Source

4.4.4.4

可以通

R4(config)#no ip domain lookup

R4#traceroute 5.5.5.5 source 4.4.4.4:

R2看标签:

Show bgp vpnv4 unicast all labels:

看外层标签,3.3.3.3的标签:

Show mpls forwarding-table:

R1只看外层认为是发给R3,做了PHP之后就剩一层标签,R3一看查vrf路由由于外部接口并没有启用MPLS,所以做了一个标签移除把包以ipv4形式发送给R5

R5:

R5(config)#no ip domain lookup

R5#traceroute 4.4.4.4 source 5.5.5.5:

说明R2关于4.4.4.4的标签也是19

MPLS VPN的基本概念与配置(HCIP完整版) 阅读详情

相关推荐

MPLS VPN组网系列(一)基础MPLS VPN组网

MPLS VPN实际应用基础组网模型

qq_44940837的博客 1万+

MPLS VPN详解

所有PE路由器和P路由器都运行主干网的域内路由(OSPF或者ISIS等),生成的路由表将触发主干网中LSP的建立(拓扑驱动方式),通过LDP或RSVP等信令协议建立LSP,产生的标签转发表用于VPN分组外层标签的交换(也就说在数据转发时,在PE收到CE的数据报文时,VRF为数据报文打上内层VPN标签和获取下一跳出口PE路由器的地址,根据这个地址进行外层标签的转发,因此这个下一跳地址是连接域内路由和VPN路由的纽带)。其实就是在IPv4的加上64bit的字段,保证在IPv4地址进入PE后保持全局唯一性。

weixin_68261415的博客 7184

同物种,不同版本之间的坐标转化

是最常用的工具,如果有可用的链文件,这通常是最便捷的方法。CrossMap是一个功能强大的替代工具,支持多种文件格式和物种。自定义生成链文件适用于没有现成资源的情况,虽然复杂一些,但可以满足特定需求。Ensembl 和 Gramene提供的工具适用于支持的物种,尤其在植物基因组领域可能更具优势。选择合适的方法取决于你正在处理的物种、基因组版本以及现有的资源。

qq_40256654的博客 1851

十一、MPLS-VPN

对MPLS-VPN技术原理进行了详细的介绍

qq_33782021的博客 6028

ESP32+MAX7219二进制时钟设计与嵌入式时间映射实践

二进制时钟是嵌入式系统中数据表示与物理呈现深度耦合的典型范例,其核心在于将时间语义(年月日时分秒)解构为比特位,并通过LED点阵的空间权重布局实现直观识别。该设计依托RTC模块提供时间基准,依赖SPI协议完成微控制器与专用驱动芯片(如MAX7219)的可靠通信,涉及寄存器级配置、位图坐标变换、软硬件时序对齐等关键原理。技术价值体现在低资源占用下的高可读性人机交互,适用于教学演示、极客项目及嵌入式UI原型开发。本文聚焦ESP32平台在MicroPython环境下,结合MAX7219驱动8×8点阵实现高可靠性二

weixin_42160645的博客 301

PCB线路板的制作工艺流程分享!2021-08-21

Pcb板制作工艺流程:开料-钻孔-沉铜-压膜-曝光-显影-电铜-电锡-退膜-蚀刻-退锡-光学检测-印阻焊油-阻焊曝光、显影-字符-表面处理-成型-电测-终检-抽测-包装。具体如下:1、开料(CUT) 将原始的覆铜板切割成可以用在生产线上制作的板子过程2、钻孔 使PCB板层间产生通孔,以达到连通层间的目的。 3、沉铜 经过钻孔后的线路板在沉铜缸内会发生氧化还原反应,形成铜层对孔进行孔金属化,使原来绝缘的基材表面沉积上铜,达到层间电性相通。 4、压膜 压膜后的PCB板上面压了一层蓝色的干膜, 干膜是一个载体

jdbpcb88的博客 3246

MPLS VPN原理与配置

CE:用户网络边缘设备,有接口直接与运营商网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。PE:运营商边缘路由器,是运营商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高。P:运营商网络中的骨干路由器,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN相关信息。

weixin_52654869的博客 1万+

电磁波成像技术全解析:从γ射线到无线电波的应用实践

本文全面解析电磁波成像技术,从γ射线到无线电波的应用实践。详细介绍了不同波长电磁波的特性与实用场景,包括医疗影像、工业检测、安防监控等领域。特别探讨了X射线、红外热成像、毫米波雷达等前沿技术的实战应用,为读者提供技术选型指南和操作技巧。

weixin_29305337的博客 292

MPLS VPN技术简介与基本配置案例

MPLS VPN技术的简介以及一个简单的配置案例,仅作学习分享,欢迎大家一起学习交流

LiMITV的博客 1万+

60、拓扑码:从理论到应用

本博客深入探讨了拓扑码的基本理论、构造方法及其在量子计算中的应用。重点介绍了颜色码的拓扑起源、编码量子比特的计算方法、弦算子的构造与性质、边界条件的影响、同调描述以及与统计模型相关的错误阈值分析。同时,还涵盖了拓扑码的历史发展、与其他拓扑码的关系、与凝聚态系统的联系,以及其在激发态和高维中的表现。博客展示了拓扑码在容错量子计算和未来量子信息领域的广阔前景。

o1p2q3r的博客 128

EMC基础知识总结

电磁干扰(Electromagnetic Interference),简称EMI,有和两种。传导干扰主要是电子设备产生的干扰信号通过导电介质或公共电源线互相产生干扰;辐射干扰是指电子设备产生的干扰信号通过空间耦合把干扰信号传给另一个电网络或电子设备。

学海无涯的专栏 1364

mpls和vpn

我们在学习bgp的时候知道解决bgp水平分割有三种办法:1.ibgp全互联2.bgp反射器3.bgp联盟ibgp配置复杂,配置量多,拓扑变更bgp联盟配置多,会改变网络拓扑,而且当子联盟的路由器超过3台依然会出现水平分割bgp反射器配置简单,且不改变网络拓扑,是我们的第一选择,但是对于反射器(rr)的压力会很大,设备要求性很高我们还有没有其他的解决办法?那就是mpls!!!问题1:也叫本地路由冲突问题(IP地址空间重叠)-----解决方案:VRF。

2303_77223717的博客 2158

【Kubernetes】Kubernetes 安全沙箱深度对比:gVisor vs Kata Containers

Kubernetes安全沙箱深度对比:gVisor和Kata Containers在架构、性能与安全性方面各有特点。gVisor通过用户态内核(Sentry)实现软件隔离,启动快(毫秒级)但CPU开销大(20-30%),适合Web服务等场景。Kata Containers采用轻量级虚拟机提供硬件级隔离,启动较慢(1-2秒)但兼容性更好,适合金融等高安全需求。测试显示gVisor在动态请求下性能下降33%,而Kata性能接近原生。建议根据场景选择:多租户/快速启动用gVisor,敏感数据/极致安全用Kata,

九师兄 178

MPLS工作原理

MPLS 工作原理

cangyu51462的博客 7723

2026年GESP3月认证C++五级真题解析

因为要合并成升序数组,所以当A[i]小于等于B[j]时,取A[i],否则取B[j]。当a[i]>a[j]时,左边数组中从i到m的所有元素都大于a[j],因此逆序对数量增加m-i+1。给定一个包含n个互不相同的正整数的数组A与一个包含m个互不相同的正整数的数组B,请你帮忙计算有多少个数在数组A与数组B中均出现。下面代码实现两个整数除法,其中被除数为一个“大整数”,用字符串表示,除数是一个小整数,用int表示,则横线处应该填写()。且a[i] > a[j],则a[i]和a[j]是一个逆序对。

lan_in的博客 116

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MPLS协议原理与配置

一、MPLS的简单概述 MPLS:(Multi-Protocol Lable Switching的缩写)多协议标签交换:是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。多协议的含义是指MPLS不但可以支持多种网络层层面上的协议,还可以兼容第二层的多种数据链路层技术。 优点:1、MPLS采用短而定长的标签进行数据转发,大大提高了硬件限制下的转发能力; 2、M...

Knowledge warehouse 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【华为】MPLS及MPLS VPN概念

MPLS以前出生的原因就是因为当时路由器的路由处理速度是基于软件,而不是基于ASIC硬件芯片的,当然现在的路由器,也采用了ASIC芯片来储蓄路由表,路由处理速度也就快了很多。MPLS就像IP一样,只不过路由之间走的是标签Label,而不是IP。MPLS还不至于被淘汰的原因就是MPLS VPN和MPLS TE。当一个数据包进入PE后,它是要查询路由表(FIB)还是查询传统的路由转发,是当一个数据包进入PE后,通过查询路由表(FIB)和通过ARP协议,来让这个数据从相应的接口发出的。

奋斗Zalvin_JE(奋斗Zhy)的个人博客 9152

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

MPLS 基础知识

MPLS简介 多协议标签交换MPLS(Multiprotocol Label Switching)是一种IP(Internet Protocol)骨干网技术。MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。 MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6)、IPX(Intern

weixin_44260459的博客 1万+

浅谈MPLS

MPLS-VPN 思维导图 ·MPLS VPN的起源 ·VPN专用术语 一.MPLS VPN的起源 MPLS在提高数据转发速度上的优势逐渐弱化,但其支持多层标签嵌套和设备内转控分离的特点,使其在VPN等新兴应用中得到广泛的应用 传统的VPN存在一些固有缺陷,导致客户组网时很多需求没法满足,MPLS VPN将传统的两种VPN模型整合到一起,推动了VPN的发展 二.VPN专用术语 客户端的网络设备 ...

flat0809的博客 3206

MPLS——VPN

A公司通过动态路由进行内部通信;B公司通过静态路由通信,B1和B2通过写缺省路由进入公网访问彼此。注:在关联到vrf空间前不能配置接口ip,否则该地址的直连路由将进入公有路由表。根据图中要求进行MPLS-VPN配置;R7可以访问公网用NAT。

m0_52049418的博客 4277

MPLS与MPLS VPN详解

3、本端ASBR将VPNv4路由传递给VPNv4-EBGP邻居-对端ASBR,下一跳改为本端ASBR自己,并为VPNv4路由生成新的私网标签,一同传递给对端ASBR。10、对端PE收到私网标签报文后,查找标签转发表,发现出标签为NULL,于是剥离私网标签,并查询私网标签所对应的VPN实例转发表,将IP报文转发至对端私网中。5、本端ASBR收到私网标签报文后,查找标签转发表,将私网标签替换成由对端ASBR产生的VPNv4私网标签,并将私网标签报文从私网出标签所对应的出接口发出。

m0_59486226的博客 4147

MPLS原理与配置

⦁ MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6)、IPX(Internet Packet Exchange)、Appletalk、DECnet、CLNP(Connectionless Network Protocol)等。MPLS中的“Multiprotocol”指的就是支持多种网络协议。⦁ MPLS以标签交换替代IP转发。

weixin_52654869的博客 8039

MPLS多协议标签交换

MPLS:多协议标签交换 多协议:可以基于多种不同的3层协议来生成2.5层的标签信息 包交换------为网络层的PDU,故包交换是基于IP地址进行数据转发;就是路由器的路由行为; 原始的包交换:数据包进入路由器后,路由器需要查询本地的路由表(RIB-路由信息数据库),再基于下一跳或者目标ip查询本地的ARP表,才能进行数据的转发; 快速的包交换:一次路由多次交换;每个数据流中的第一个包将被基于原...

m0_43448334的博客 1160

MPLS的超详细讲解,带你深入学习MPLS协议

最初在包交换仅支持原始包交换时,标签的意义在于更快的查询,但是随着包交换的加速,使标签交换失去了快速查表的优势,但是今天的 MPLS也基于FIB表进行工作,提高了MPIS的工作效率。的含义是指数据在进入MPLS域内后,将在第二层和第三层压入标签号,使得域内的路由器在转发该数据包时,基于2.5层的标签号仅需查询本地的一张LFIB表(标签转发信息数据库)存在标签号的流量,进入路由器时,入标签表应该为本地路由器分配的编号,出标签为本地的下游(下一跳)设备分配的标签号;0——19位为标签号,2^20个标签号;

V_vevive的博客 5658

MPLS VPN跨域网络互通不会?这样配置轻松拿捏

没有隧道,PE2收到路由是BGP协议收到的,LDP并不会为BGP分配标签,默认只为IGP路由分配标签,就算强制让LDP为BGP分配标签,中间链路上存在的P设备并没有BGP路由,LSP必然中断。此时PE收到的路由下一跳属性是在RR R8上(VPN路由会自动修改下一跳属性为本地,IPV4路由要手动配置)此时对于R7的这种转发路径来说,不是最优路径,应该希望R7的下一跳是对端PE,所有的中间设备只传递路由,不应该修改这些属性。R8是反射器,可以配置对组策略,此时R7收到的路由下一跳就没有更改过,就是R1。

2417

MPLS VPN 配置

MPLS VPN 配置

知识需要开源! 3406
上一篇: 静态路由高级特性(HCIA)
下一篇: IPv6技术(强化版万字文)
数通工程师小明
数通工程师小明 新星创作者: 信息安全技术领域 新星创作者: 信息安全技术领域
博客等级 码龄8年 2533粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数通工程师小明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值