MPLS解决BGP的路由黑洞问题

上下游关系 --- 在标签交换中,我们将以数据流动的方向为准,区分上下游关系,数据发出设备处于上游,而接受设备处于下游。 --- 控层流量流动的方向是和数据层流动方向相反,即从下游传递到上游。 --- 上游需要获取下游的标签,而下游不需要获取上游的标签。

标签传递方式也分为两种 --- 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 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.

将接口划入到VRF空间中

[r2-GigabitEthernet0/0/0]ip binding vpn-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 vpn-instance a --- 查看VRF空间的路由表

[r2]ping -vpn-instance a 192.168.2.1

通过静态路由在CE和PE上配置

[r2]ip route-static vpn-instance a 192.168.1.0 24 192.168.2.1

MP-BGP

[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

[r2]display bgp vpnv4 vpn-instance a routing-table --- 查看VRF空间的BGP表

CE和PE设备之间动态路由传递

[r2]rip 1 vpn-instance a  --- 在VRF空间中启动RIP进程

[r2-rip-1]

[r4]ospf 2 vpn-instance b router-id 4.4.4.4  --- 在VRF空间中启动OSPF进程

[r4-ospf-2]

猜你喜欢

转载自blog.csdn.net/MA463841740/article/details/129981837