MPLS 是什么?
多协议标签交换
标准解释:是一种旨在提高大型网络或边缘站点传输数据的速度和效率的技术。是可以加快并简化从数据中心跨网络主干到边缘以及两者之间任何位置的连接。MPLS 在虚拟专用网(VPN)中工作,并与任何底层基础架构集成,使其成为可拓展、低延迟的网络选项。
浅短解释:是一种网络加速连接的技术。正常网络数据包走向一般将数据包从一个路由器转向下一个路由器,直至数据包到达目的地。而 MPLS 是沿着预定的网络路径发送数据包。在理想情况下的结果是,路由器花费更少的时间来决定每个数据包转发到哪里,且每个数据包采用的都是相同的路径。
MPLS 被认为是在OSI模型中的 2.5 层工作,低于网络层(第 3 层),高于数据链路层(第 2 层)。
MPLS 是如何运作的
在典型的互联网路由中,每个路由器都是根据自身内部的路由表来独立判断做出下一跳的。即使两个数据包来自同一个地方,且去往同一个目的地,如果路由器在通过第一个数据包后,更新了它的路由表,下一个数据包是有可能采用不同的网络路径(第二个数据包不同于第一个数据包的路径)。然而,在 MPLS 中,数据包每次采用的都是相同的路径。
MPLS 会建立一个节点(或路由器)系统,数据包从 MPLS 的网络边缘入口-标签边缘路由器(LER)开始,在这里每个数据包都被分配到一个转发等价类(FEC)。根据 FEC 决定了数据包将分配到哪个单向标签路径(LSP)。具有相同 FEC 的数据包都遵循相同的 LSP。
MPLS 的优缺点
优点
典型网络:路由决定路由;MPLS:标签决定路由。
MPLS 常在 VPN 中工作,再加上 MPLS 在数据包传输前已经绘制好路径,再加上 MPLS 的数据包快速交换的特点,因此在传输过程中可以很好的避免网络中的流量延迟。而这也常用于物联网(IoT)远程设备和实时应用。
什么时候使用 MPLS ?
实时应用,语音通话、视频通话等。
缺点
成本:MPLS 比普通互联网服务更贵。
配置复杂:在一个或多个大型网络中设置复杂的专用网络链路需要时间。LSP 必须由 MPLS提供商或使用 MPLS 的手动配置。大企业很难扩展规模。
缺乏加密:MPLS不是私有的,是缺乏加密的。在 MPLS 传输过程中截取的数据包都是明文,因此需要 VPN 进行单独加密。
云受限:MPLS 是传统企业网络设计的,对于云应用需要快速和灵活部署的需求,MPLS 无法满足。
MPLS 玩法
1 接口配置
略
2 配置 OSPF 路由协议
在 AS 100 内配置 OSPF 路由协议作为 IGP ,各路由器均属于区域 0 ,且使用 Loopback 0 接口的 IP 地址作为 Router-ID 。
# R1
[R1]ospf router-id 10.0.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0
# R2
[R2]ospf router-id 10.0.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
# R3
[R3]ospf router-id 10.0.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
配置完成以后,可以在 R2 上查看 OSPF 邻居建立状况
display ospf peer brief
可以看到,R2 与 R1、R3 的 OSPF 邻居状态为 Full ,表明邻居关系已成功建立。
3 配置运营商网络的 MPLS 与 LSD
在 AS 100内配置 MPLS 与 LSD ,各路由器均使用 Loopback0 接口地址作为 LSD-ID 。
# R1
[R1]mpls lsr-id 10.0.1.1
[R1]mpls
[R1-mpls]mpls ldp
[R1-mpls-ldp]int g0/0/0
[R1-GigabitEthernet0/0/0]mpls
[R1-GigabitEthernet0/0/0]mpls ldp
# R2
[R2]mpls lsr-id 10.0.2.2
[R2]mpls
[R2-mpls]mpls ldp
[R2-mpls-ldp]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]mpls
[R2-GigabitEthernet0/0/0]mpls ldp
[R2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]mpls
[R2-GigabitEthernet0/0/1]mpls ldp
# R3
[R3]mpls lsr-id 10.0.3.3
[R3]mpls
[R3-mpls]mpls ldp
[R3-mpls-ldp]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]mpls
[R3-GigabitEthernet0/0/0]mpls ldp
配置完成,在 R2 上查看 LDP 会话建立情况。
display mpls ldp session
可以看到,LDP 会话状态为 Operational ,会话成功建立。
在 R1 上查看 LSP 信息。
display mpls lsp
由此可见,MPLS 已经为 R1、R2、R3 的 Loopback 接口路由建立了相应的 LSP。
4 配置 PE 设备间的 MP-BGP
首先,在 R1 上建立 R1 与 R3 的 IBGP 邻居关系。
[R1]bgp 100
[R1-bgp]routed-id 10.0.1.1
[R1-bgp]peer 10.0.3.3 as-number 100
[R1-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R1-bgp]peer 10.0.3.3 next-hop-local
然后,进入 VPNv4 视图
[R1-bgp]ipv4-family vpnv4
接着,启用与 R3 对等体的 BGP 连接。作用是交换双方 BGP 路由信息。
[R1-bgp-af-vpnv4]peer 10.0.3.3 enable
最后,允许与对等体交换路由信息时携带 BGP 团体属性。
[R1-bgp-af-vpnv4]peer 10.0.3.3 advertise-community
同理,R3 配置也是如此。
[R3]bgp 100
[R3]routed-id 10.0.3.3
[R3-bgp]peer 10.0.1.1 as-number 100
[R3-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R3-bgp]peer 10.0.1.1 next-hop-local
[R3-bgp]ipv4-family vpnv4
[R3-bgp-af-vpnv4]peer 10.0.1.1 enable
[R3-bgp-af-vpnv4]peer 10.0.1.1 advertise-community
配置完成以后,在 R1 上查看 BGP 邻居关系。
<R1>dis bgp peer
可以看到,R1 与 R3 之间的 BGP 邻居状态为 Eatablished ,表明 BGP 邻接关系已成功建立。
5 在 PE 上创建 VPN 实例并与接口进行绑定
首先,在 R1 上创建名为 vpna 的 VPN实例,并进入实例视图。
然后,启用 VPN 实例的 IPv4 地址簇。接着将 RD 配置为 300:1 。
最后,配置 Import 与 Export 方向的 VPN-Target 团体属性。
[R1]ip vpn-instance vpna
[R1-vpn-instance-vpna]ipv4-family
[R1-vpn-instance-vpna-af-ipv4]route-distinguisher 300:1
[R1-vpn-instance-vpna-af-ipy4]vpn-target 100:1 both
实例 vpna 与直连公司的接口进行绑定。
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip binding vpn-instance vpna
Info: All IPv4 related configurations on this interface are removed!
Info: All IPv6 related configurations on this interface are removed!
注意!!!绑定后,原接口 IP 地址信息被删除,需要重新配置。
[R1-GigabitEthernet0/0/1]ip add 10.0.14.1 255.255.255.0
同理,在 R1 上为公司 B 创建 vpnb 实例,RD 为 300:2 ,VPN-Target 为 100:2 ,绑定接口。
[R1]ip vpn-instance vpnb
[R1-vpn-instance-vpnb]ipv4-family
[R1-vpn-instance-vpnb-af-ipv4lroute-distinguisher 300:2
[R1-vpn-instance-vpnb-af-ipv4]vpn-target 100:2 both
[R1-vpn-instance-vpnb-af-ipy4]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]ip binding vpn-instance vpnb
[R1-GigabitEthernet0/0/2]ip add 10.0.15.1 255.255.255.0
在 R3 上完成同样的配置。
[R3]ip vpn-instance vpna
[R3-vpn-instance-vpna]ipv4-family
[R3-vpn-instance-vpna-af-ipv4]route-distinguisher 300:1
[R3-vpn-instance-vpna-af-ipv4]vpn-target 100:1 both
[R3]ip vpn-instance vpnb
[R3-vpn-instance-vpnb]ipv4-family
[R3-vpn-instance-vpnb-af-ipv4]route-distinguisher 300:2
[R3-vpn-instance-vpnb-af-ipv4]vpn-target 100:2 both
[R3-vpn-instance-vpnb-af-ipv4]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip binding vpn-instance vpna
[R3-GigabitEthernet0/0/1]ip add 10.0.36.3 255.255.255.0
[R3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[R3-GigabitEthernet0/0/2]ip binding vpn-instance vpnb
[R3-GigabitEthernet0/0/2]ip add 10.0.37.3 255.255.255.0
6 为公司 A 配置基于 BGP 的 PE - CE 连通性
在公司 A 的 CE 设备 R4 上进行 BGP 配置,与 PE 设备 R1 建立 EBGP 的邻居关系。
[R4]bgp 10
[R4-bgp]peer 10.0.14.1 as-number 100
[R4-bgp]network 10.0.4.4 255.255.255.255
配置 PE 设备 R1 与 CE 设备 R4 建立 EBGP 的邻居关系。
[R1]bgp 100
[R1-bgp]ipv4-family vpn-instance vpna
[R1-bgp-vpna]peer 10.0.14.4 as-number 10
配置完成以后,在 R4 上查看 BGP 邻居状态。
在 R1 上查看 BGP 邻居状态。
可以看到,R1 与 R4 的邻居状态为 Established ,表明 BGP 邻居关系已经成功建立。
同理,R3 与 R6 也是同样配置
# R3
[R3]bgp 100
[R3-bgp]ipv4-family vpn-instance vpna
[R3-bgp-vpna]peer 10.0.36.6 as-number 20
# R6
[R6]bgp 20
[R6-bgp]peer 10.0.36.3 as-number 100
[R6-bgp]network 10.0.6.6 32
在 R1 上查看 vpna 实例的 BGP 路由表
[R1]display bgp vpnv4 vpn-instance vpna routing-table
在 R1 上查看 LSP 信息
可以看到,表中出现了 BGP LSP 的信息,FEC 为10.0.4.4/32 ,In 标签为1027,Out 标签为 NULL ,Vrf Name 为 vpna 。
In 标签由 MP-BGP 协议分配的内层标签,仅用于区分路由信息所属的 VRF。
在 R3 上查看 LSP 信息
可以看到,对于 FEC 10.0.6.6/32 ,MP-BGP 分配的 In 标签为 1026 。
在 R4 上以 10.0.4.4 为源,测试与 10.0.6.6 的连通性。
由此可见,R4 与 R6 可以正常通信,实现了公司 A 的 VPN 网络的互联互通。
7 为公司 B 配置基于静态路由及 OSPF 协议的 PE - CE 连通性
根据要求,公司 B 的 CE 设备 R5 将使用静态路由方式实现 RE-CE 连通性,CE 设备 R7 将使用 OSPF 协议实现 PE-CE 连通性。
首先,R5 上配置缺省路由。