上下游关系 --- 在标签交换中,我们将以数据流动的方向为准,区分上下游关系,数据发出设备处于上游,而接受设备处于下游。 --- 控层流量流动的方向是和数据层流动方向相反,即从下游传递到上游。 --- 上游需要获取下游的标签,而下游不需要获取上游的标签。
标签传递方式也分为两种 --- 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 --- 虚拟专用网
站点 --- 可以理解为同属于一个企业或机构,位于不同地理位置的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空间中。
数据层面在数据层流量穿过骨干网络时,需要打上双重标签。一个靠近二层的标签,我们称为公网标签;一个靠近三层的标签,我们称为私网标签。公网标签由LDP协议分配,其作用是保证数据流量可以顺利的通过MPLS骨干网络,而私网标签,由MP-BGP协议分配(在传递路由信息时分配,之后通过社团属性携带传递到对端),其作用是用来区分不同的VRF 空间。数据到达远端PE后,先弹出公网标签,之后露出私网标签,可以根据私网标签和 VRF的映射关系,将数据发放到对应的VRF空间中。
VRF空间的创建
[r2]ip -instance a ---- VRF空间在命名时大小写敏感
[r2--instance-a]
[r2--instance-a]route-distinguisher 100:1 --- 配置RD值 [r2--instance-a-af-ipv4]
[r2--instance-a-af-ipv4]-target 100:1 export-extcommunity --- 配置出站RT
EVT Assignment result:
Info: VPN-Target assignment is successful.
[r2--instance-a-af-ipv4]-target 100:2 import-extcommunity --- 配置入站RT
IVT Assignment result:
Info: VPN-Target assignment is successful.
将接口划入到VRF空间中
[r2-GigabitEthernet0/0/0]ip binding -instance 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 -instance a --- 查看VRF空间的路由表
[r2]ping --instance a 192.168.2.1
通过静态路由在CE和PE上配置
[r2]ip route-static -instance a 192.168.1.0 24 192.168.2.1
MP-BGP
[r2-bgp]ipv4-family v4
[r2-bgp-af-v4]peer 4.4.4.4 enable --- 因为PE设备之间需要传递VPNV4路由,所以,
在普通的BGPV4邻居关系建立的基础上,需要在VPNV4地址族中激活邻居关系
[r2-bgp]ipv4-family -instance a ---- 在VRF空间中发布路由信息
[r2-bgp-a]
[r2-bgp-a]import-route direct
[r2-bgp-a]import-route static
[r2]display bgp v4 -instance a routing-table --- 查看VRF空间的BGP表
CE和PE设备之间动态路由传递
[r2]rip 1 -instance a --- 在VRF空间中启动RIP进程
[r2-rip-1]
[r4]ospf 2 -instance b router-id 4.4.4.4 --- 在VRF空间中启动OSPF进程
[r4-ospf-2]