上下游关系 --- 在标签交换中,我们将以数据流动的方向为准,区分上下游关系,数据发出设
备处于上游,而接受设备处于下游。 --- 控层流量流动的方向是和数据层流动方向相反,即从
下游传递到上游。 --- 上游需要获取下游的标签,而下游不需要获取上游的标签。
标签传递方式也分为两种 --- 1,DU模式(下游自主模式);2,DoD模式(下游按需模式)
DoD模式 --- 就是下游在给上游传递标签之前,需要先获取上游发送的数据包,之,
才可以传递标签信息。
DU模式 --- 在分配完标签之后,设备将自主的传递标签,因为设备本身无法分辨上下游
关系,所以,这个标签将传递给自己的上游和下游。
标签的保存方式 --- 保守模式 --- 只保留下游传递的标签
自由模式 --- 所有标签均保存
华为设备默认选择DU + 保守模式
在数据传输过程中,入站LSR和出站LSR都将查看两张表(FIB和LFIB),这样将导致传输
效率下降。
入站LSR的优化 --- 将LFIB表中的出站标签记录在FIB表中
出站LSR的优化 ---
PHP --- 次末跳弹出机制
--- 需要用到一个特殊标签值 -- 3(隐式空
标签),当一条条目中的出站标签为3时,则他将把标签弹出 --- 出站LSR在分配标签
时,分配3号标签,之后传递给次末跳。之后,数据转发时,标签将在次末跳上弹出,
在出站LSR上只需要查看FIB进行路由转发即可。 --- 华为设备默认开启PHP机制。
1,配置LSR-ID
[r1]mpls lsr-id 1.1.1.1
2,激活MPLS和LDP
全局激活
[r1]mpls --- 激活MPLS
Info: Mpls starting, please wait... OK!
[r1-mpls]
[r1]mpls ldp --- 激活LDP
[r1-mpls-ldp]
接口激活 --- 所有参与MPLS转发的接口都需要激活
[r1-GigabitEthernet0/0/0]mpls --- 激活MPLS
[r1-GigabitEthernet0/0/0]mpls ldp --- 激活LDP
[r1]display mpls ldp peer --- 查看LDP对等体
[r1]display mpls ldp session --- 查看LDP会话
[r1]display mpls lsp --- 查看LFIB表
[r1]display fib verbose --- 查看FIB表细节信息
Destination: 4.4.4.4 Mask : 255.255.255.255
Nexthop : 12.0.0.2 OutIf : GigabitEthernet0/0/0
LocalAddr : 12.0.0.1 LocalMask: 0.0.0.0
Flags : DGHU Age : 629sec
ATIndex : 0 Slot : 0
LspFwdFlag : 1 LspToken : 0x5
InLabel : NULL OriginAs : 0
BGPNextHop : 0.0.0.0 PeerAs : 0
QosInfo : 0x0 OriginQos: 0x0
NexthopBak : 0.0.0.0 OutIfBak : [No Intf]
LspTokenBak: 0x0 InLabelBak : NULL
LspToken_ForInLabelBak : 0x0
EntryRefCount : 0
VlanId : 0x0
BgpKey : 0
BgpKeyBak : 0
LspType : 3 Label_ForLspTokenBak : 0
MplsMtu : 1500 Gateway_ForLspTokenBak : 0.0.0.0
NextToken : 0x0 IfIndex_ForLspTokenBak : 0
Label_NextToken : NULL
Label : 1026
LspBfdState : 9
[r4-mpls]lsp-trigger all --- 给所有的路由条目都分配标签 --- 默认情况下,华为设备只给主机路
由分配标签,因为如果所有路由都分配标签,则都需要走标签交换,将导致转发效率降低。所
以,仅针对部分路由分配。
利用MPLS解决BGP的路由黑洞问题
[r2]route recursive-lookup tunnel
MPLS VPN
VPN --- 虚拟专用网
![](https://i-blog.csdnimg.cn/blog_migrate/4d2df3c0cbac6989f05161c6146096a4.png)
站点 --- 可以理解为同属于一个企业或机构,位于不同地理位置的IP网络。
MPLS VPN并不是单一的一种VPN技术,而是由多种技术结合的综合解决方案。
PE --- 服务提供商边界设备 --- 一方面需要接入到VPN骨干网络中,另一方面需要为不同的客
户提供VPN接入服务,和CE(客户边界设备)设备相连
P --- 服务提供商设备 --- 在MPLS VPN骨干网中的设备,并不连接CE,只是提供路由快速的
转发。
C --- 客户设备 --- 在MPLS VPN中不扮演实质性的角色
控制层面 --- 站点1的CE设备通过IGP协议学习本站点内的路由信息,之后,传递给PE设备
(可以使用静态或者动态来进行传递),之后,PE设备通过骨干网络传递给远端的PE设备
(使用BGP来传递),远端PE在将路由信息传递给站点2的CE设备(动态静态方法均可),之
后,站点2的CE设备再通过IGP协议将路由信息发送到本站点内部。
数据层面 --- 站点2的想访问站点1的网段,数据先到达站点2的CE设备,之后,传递给PE设
备。PE设备再传递到远端的PE设备,之后,再传递到站点1的CE设备,再由CE设备发送到目
标网段。
控制层面
VRF --- 虚拟路由转发 --- VPN Instance(VPN实例) --- 相当于将一台真实的设备逻
辑上划分成多台虚拟的路由器。每个VRF各自拥有独立的路由表,FIB表,动态路由协议
进程及接口等。
RD值 --- 路由区分码 --- 由64位二进制构成的 --- AS:NN --- AS号:自定义值
IPV4路由信息 --- 32位二进制构成
加了RD值之后 --- 96位二进制构成 ---- VPNV4路由信息
因为普通的BGPV4版本只是针对IPV4环境,传递的是IPV4路由,这里需要传递VPNV4路
由,所以,需要应用到MP-BGP协议(多协议BGP协议),可以支持多种地址族。
RT值 --- 路由目标值 --- 也被称为VPN target --- 32位二进制构成
出站RT:PE设备为不同的VRF配置不同出站RT值,发出时由社团属性携带。
入站RT:远端PE设备为不同VRF空间配置的不同的入站RT,根据社团属性中的值
进行对比,将其放入到对应的VRF空间中。
![](https://i-blog.csdnimg.cn/blog_migrate/e8bd3a05e13eaec050ce4a236441a620.png)
数据层面
在数据层流量穿过骨干网络时,需要打上双重标签。一个靠近二层的标签,我们称为公
网标签;一个靠近三层的标签,我们称为私网标签。公网标签由LDP协议分配,其作用是
保证数据流量可以顺利的通过MPLS骨干网络,而私网标签,由MP-BGP协议分配(在传
递路由信息时分配,之后通过社团属性携带传递到对端),其作用是用来区分不同的VRF
空间。数据到达远端PE后,先弹出公网标签,之后露出私网标签,可以根据私网标签和
VRF的映射关系,将数据发放到对应的VRF空间中。
MPLS LDP 不用开启递归查找到隧道的命令
社团属性也不用手动开启
PE设备上VRF空间的创建
[r2]ip vpn-instance a ----
创建VRF空间
在命名时大小写敏感
[r2-vpn-instance-a]
[r2-vpn-instance-a]route-distinguisher 100:1 ---
配置RD值
[r2-vpn-instance-a-af-ipv4]
[r2-vpn-instance-a-af-ipv4]vpn-target 100:1 export-extcommunity ---
配置出站RT
EVT Assignment result:
Info: VPN-Target assignment is successful.
[r2-vpn-instance-a-af-ipv4]vpn-target 100:2 import-extcommunity ---
配置入站RT
IVT Assignment result:
Info: VPN-Target assignment is successful.
注意:站点1的 出/入站 RT需要与站点2的 入/出 RT值相同
将接口划入到VRF空间中
[r2-GigabitEthernet0/0/0]ip binding vpn-instance a---
将接口g0/0/0划入到VPF a空间中
Info: All IPv4 related configurations on this interface are removed!
Info: All IPv6 related configurations on this interface are removed!
[r2]display ip routing-table vpn-instance a --- 查看VRF空间的路由表
[r2]ping -vpn-instance a 192.168.2.1
注意:先划分接口,在配置IP
通过静态路由在CE和PE上配置
[r2]ip route-static vpn-instance a 192.168.1.0 24 192.168.2.1
MP-BGP---在VRF a空间中写静态路由
[r2-bgp]ipv4-family vpnv4
[r2-bgp-af-vpnv4]peer 4.4.4.4 enable --- 因为PE设备之间需要传递VPNV4路由,所以,
在普通的BGPV4邻居关系建立的基础上,需要在VPNV4地址族中激活邻居关系
[r2-bgp]ipv4-family vpn-instance a ----
在VRF空间中发布路由信息
[r2-bgp-a]
[r2-bgp-a]import-route direct
[r2-bgp-a]import-route static
也可以使用network 命令发布路由
[r2]display bgp vpnv4 vpn-instance a routing-table --- 查看VRF空间的BGP表
CE和PE设备之间动态路由传递
rip
[r2]rip 1 vpn-instance a ---
在VRF空间中启动RIP进程
[r2-rip-1]network ----发布路由
ospf
[r4]ospf 2 vpn-instance b router-id 4.4.4.4 ---
在VRF空间中启动OSPF进程
[r4-ospf-2]network
注意:动态路由要双向重发布