一、基础知识
1、LSR
LSR(Label Switch Router,标签交换路由器)是支持并激活MPLS的路由器,LSR能理解MPLS标签并能够对MPLS标签包进行交换。
一共有三种类型的LSR
- Ingress LSR:称为入站LSR,R1、R2、R3构建了MPLS域,而R1身处MPLS域边界,一侧连接着IP网络,一侧连接着MPLS网络,当数据包从左侧IP网络到达R1后,被R1转发到MPLS网络,R1负责将接收到的IP报文压伤MPLS标签,然后转发到MPLS网络中。
- transit LSR:没有连接任何IP网络,处于MPLS网络中,只负责标签的数据交换。
- Egress LSR:成为出站LSR,R3同样处于MPLS域边界,根据数据流方向可以看到,在R1上被压入MPLS标签,R2转发到了R3上,数据如果想要从MPLS网络转发到IP网络中,R3需要将数据的标签移除,在转发IP报文。
2、LSP
LSP(Label Switched Path,标签交换路径),标签报文穿越MPLS网络到达目的地所走过的路径。LSP是单向的,LSP是报文在穿越MPLS网络或者部分MPLS网络时的路径,为了保证双向通信,我们需要建立双向的LSP。
LSPF分为静态LSP和动态LSP
- 静态LSP:需要管理员手工配置,类似静态路由
- 动态LSP:利用路由协议和标签发布协议动态建立,类似动态路由
3、MPLS标签操作
标签的操作类型包括压入(Push)、标签交换(Swap)和标签弹出(Pop)。
- Push:当IP报文进入MPLS域时,MPLS边界设备在报文二层头部和IP头部插入一个新标签
- Swap:当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文标签
- Pop:当报文离开MPLS域时,将MPLS报文的标签去掉
4、LDP
LDP(Label Distribution Protocal标签分发协议)。每一台运行LDP的LSR都会为自己路由表中的路由前缀捆绑标签,然后再将所分配的标签分发给给所有的LSR邻居,一台LDP路由器会有多个LDP邻居。
LDP IP
LSR的标识符,为设备配置MPLS时,首先需要在系统视图下指定LSR-ID。
二、需求分析和拓扑
1、需求分析
- PE1、P、PE2间运行OSPF,归属区域0,进程号1。CE2、PE2间及CE4、PE2间运行OSPF,归属区域0,进程号分别为2、3。
- PE1、PE2间部署IBGP,AS号为123,使用Loopback0接口建立BGP邻居关系;CE1、PE1间部署EBGP,AS号为400,使用互联接口建立BGP邻居关系;CE3、PE1间部署EBGP,AS号为500,使用互联接口建立BGP邻居关系;均需要宣告终端网段。
- 各分部通过MPLS VPN技术实现各业务安全隔离。PE1、PE2、P开启MPLS报文转发及LDP标签转发协议。
- 北京分部VRF名称为BJ,RD值为100:1、RT值自定义;深圳分部VRF名称为SZ,RD值为100:2、RT值自定义;天津分部VRF名称为TJ,RD值为100:3、RT值自定义;东莞分部VRF名称为DG,RD值为100:4、RT值自定义;
- 通过MPLS VPN技术实现北京分部与深圳分部终端间互访、天津分部与东莞分部终端间互访,其它禁止互访。
2、实验拓扑
三、配置过程
1、基础IP地址配置
PE1
[PE1]int g0/0/1
[PE1-GigabitEthernet0/0/1]ip add 14.1.1.1 24
[PE1-GigabitEthernet0/0/1]int g0/0/0
[PE1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[PE1-GigabitEthernet0/0/0]int g0/0/2
[PE1-GigabitEthernet0/0/2]ip add 15.1.1.1 24
[PE1-GigabitEthernet0/0/2]int l0
[PE1-LoopBack0]ip add 1.1.1.1 32
[PE1-LoopBack0]quit
P
[P]int g0/0/0
[P-GigabitEthernet0/0/0]ip add 12.1.1.2 24
[P-GigabitEthernet0/0/0]int g0/0/1
[P-GigabitEthernet0/0/1]ip add 23.1.1.2 24
[P-GigabitEthernet0/0/1]int l0
[P-LoopBack0]ip add 2.2.2.2 32
[P-LoopBack0]quit
PE2
[PE2]int g0/0/0
[PE2-GigabitEthernet0/0/0]ip add 23.1.1.3 24
[PE2-GigabitEthernet0/0/0]int g0/0/1
[PE2-GigabitEthernet0/0/1]ip add 36.1.1.3 24
[PE2-GigabitEthernet0/0/1]int g0/0/2
[PE2-GigabitEthernet0/0/2]ip add 37.1.1.3 24
[PE2-GigabitEthernet0/0/2]int l0
[PE2-LoopBack0]ip add 3.3.3.3 32
[PE2-LoopBack0]quit
CE1
[CE1]in g0/0/0
[CE1-GigabitEthernet0/0/0]ip add 14.1.1.4 24
[CE1-GigabitEthernet0/0/0]int g0/0/1
[CE1-GigabitEthernet0/0/1]ip add 192.168.10.254 24
[CE1-GigabitEthernet0/0/1]quit
CE2
[CE2]int g0/0/0
[CE2-GigabitEthernet0/0/0]ip add 36.1.1.6 24
[CE2-GigabitEthernet0/0/0]int g0/0/1
[CE2-GigabitEthernet0/0/1]ip add 192.168.30.254 24.
[CE2-GigabitEthernet0/0/1]quit
CE3
[CE3]int g0/0/0
[CE3-GigabitEthernet0/0/0]ip add 15.1.1.5 24
[CE3-GigabitEthernet0/0/0]int g0/0/1
[CE3-GigabitEthernet0/0/1]ip add 192.168.20.254 24
[CE3-GigabitEthernet0/0/1]quit
CE4
[CE4]int g0/0/0
[CE4-GigabitEthernet0/0/0]ip add 37.1.1.7 24
[CE4-GigabitEthernet0/0/0]int g0/0/1
[CE4-GigabitEthernet0/0/1]ip add 192.168.40.254 24
[CE4-GigabitEthernet0/0/1]quit
2、MPLS域配置OSPF路由协议
PE1
[PE1]ospf 1 router-id 1.1.1.1
[PE1-ospf-1]area 0
[PE1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[PE1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0]quit
[PE1-ospf-1]quit
P
[P]ospf 1 router-id 2.2.2.2
[P-ospf-1]area 0
[P-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[P-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0]quit
[P-ospf-1]quit
PE2
[PE2]ospf 1 router-id 3.3.3.3
[PE2-ospf-1]area 0
[PE2-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[PE2-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0]quit
[PE2-ospf-1]quit
P设备上查看OSPF邻居状态
3、IBGP配置
PE1
[PE1]bgp 123
[PE1-bgp]router-id 1.1.1.1
[PE1-bgp]peer 3.3.3.3 as-number 123
[PE1-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[PE1-bgp]quit
PE2
[PE2]bgp 123
[PE2-bgp]router-id 3.3.3.3
[PE2-bgp]peer 1.1.1.1 as-number 123
[PE2-bgp]peer 1.1.1.1 connect-interface LoopBack 0
[PE2-bgp]quit
查看BGP邻居状态
4、PE1及PE2建立VPN实例(VRF)
PE1
[PE1]ip vpn-instance BJ
[PE1-vpn-instance-BJ]route-distinguisher 100:1
[PE1-vpn-instance-BJ-af-ipv4]vpn-target 100:1 export-extcommunity
[PE1-vpn-instance-BJ-af-ipv4]vpn-target 100:2 import-extcommunity
[PE1-vpn-instance-BJ-af-ipv4]quit
[PE1-vpn-instance-BJ]quit
[PE1]ip vpn-instance TJ
[PE1-vpn-instance-TJ]route-distinguisher 100:3
[PE1-vpn-instance-TJ-af-ipv4]vpn-target 100:3 export-extcommunity
[PE1-vpn-instance-TJ-af-ipv4]vpn-target 100:4 import-extcommunity
[PE1-vpn-instance-TJ-af-ipv4]quit
[PE1-vpn-instance-TJ]quit
[PE1]int g0/0/1
[PE1-GigabitEthernet0/0/1]ip binding vpn-instance BJ
[PE1-GigabitEthernet0/0/1]ip address 14.1.1.1 255.255.255.0
[PE1-GigabitEthernet0/0/1]quit
[PE1]int g0/0/2
[PE1-GigabitEthernet0/0/2]ip binding vpn-instance TJ
[PE1-GigabitEthernet0/0/2]ip address 15.1.1.1 255.255.255.0
[PE1-GigabitEthernet0/0/2]quit
PE2
[PE2]ip vpn-instance SZ
[PE2-vpn-instance-SZ]route-distinguisher 100:2
[PE2-vpn-instance-SZ-af-ipv4]vpn-target 100:2 export-extcommunity
[PE2-vpn-instance-SZ-af-ipv4]vpn-target 100:1 import-extcommunity
[PE2-vpn-instance-SZ-af-ipv4]quit
[PE2-vpn-instance-SZ]quit
[PE2]ip vpn-instance DG
[PE2-vpn-instance-DG]route-distinguisher 100:4
[PE2-vpn-instance-DG-af-ipv4]vpn-target 100:4 export-extcommunity
[PE2-vpn-instance-DG-af-ipv4]vpn-target 100:3 import-extcommunity
[PE2-vpn-instance-DG-af-ipv4]quit
[PE2-vpn-instance-DG]quit
[PE2]int g0/0/1
[PE2-GigabitEthernet0/0/1]ip binding vpn-instance SZ
[PE2-GigabitEthernet0/0/1]ip address 36.1.1.3 255.255.255.0
[PE2-GigabitEthernet0/0/2]ip binding vpn-instance DG
[PE2-GigabitEthernet0/0/2]ip address 37.1.1.3 255.255.255.0
[PE2-GigabitEthernet0/0/2]quit
5、MPLS域内运行MPLS及LDP
PE1
[PE1]mpls lsr-id 1.1.1.1 # 配置设备的LSR ID
[PE1]mpls # 全局激活MPLS
[PE1-mpls]quit
[PE1]mpls ldp # 全局激活LDP
[PE1-mpls-ldp]quit
[PE1]int g0/0/0
[PE1-GigabitEthernet0/0/0]mpls # 接口激活MPLS
[PE1-GigabitEthernet0/0/0]mpls ldp # 接口激活LDP
[PE1-GigabitEthernet0/0/0]quit
P
[P]mpls lsr-id 2.2.2.2
[P]mpls
[P-mpls]quit
[P]mpls ldp
[P-mpls-ldp]quit
[P]int g0/0/0
[P-GigabitEthernet0/0/0]mpls
[P-GigabitEthernet0/0/0]mpls ldp
[P-GigabitEthernet0/0/0]int g0/0/1
[P-GigabitEthernet0/0/1]mpls
[P-GigabitEthernet0/0/1]mpls ldp
[P-GigabitEthernet0/0/1]quit
PE2
[PE2]mpls lsr-id 3.3.3.3
[PE2]mpls
[PE2-mpls]quit
[PE2]mpls ldp
[PE2-mpls-ldp]quit
[PE2]int g0/0/0
[PE2-GigabitEthernet0/0/0]mpls
[PE2-GigabitEthernet0/0/0]mpls ldp
[PE2-GigabitEthernet0/0/0]quit
查看LDP邻居关系
6、PE-CE路由协议配置
PE1
[PE1]bgp 123
[PE1-bgp]ipv4-family vpn-instance BJ
[PE1-bgp-BJ]peer 14.1.1.4 as-number 400
[PE1-bgp-BJ]quit
[PE1-bgp]ipv4-family vpn-instance TJ
[PE1-bgp-TJ]peer 15.1.1.5 as-number 500
[PE1-bgp-TJ]quit
[PE1-bgp]quit
CE1
[CE1]bgp 400
[CE1-bgp]router-id 4.4.4.4
[CE1-bgp]peer 14.1.1.1 as-number 123
[CE1-bgp]network 192.168.10.0 24
[CE1-bgp]quit
CE3
[CE3]bgp 500
[CE3-bgp]router-id 5.5.5.5
[CE3-bgp]peer 15.1.1.1 as-number 123
[CE3-bgp]network 192.168.20.0 24
[CE3-bgp]quit
查看邻居状态和实例路由表
PE2
[PE2]ospf 2 router-id 3.3.3.3 vpn-instance SZ
[PE2-ospf-2]area 0
[PE2-ospf-2-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[PE2-ospf-2-area-0.0.0.0]network 36.1.1.0 0.0.0.255
[PE2-ospf-2-area-0.0.0.0]quit
[PE2-ospf-2]quit
[PE2]ospf 3 router-id 3.3.3.3 vpn-instance DG
[PE2-ospf-3]area 0
[PE2-ospf-3-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[PE2-ospf-3-area-0.0.0.0]network 37.1.1.0 0.0.0.255
[PE2-ospf-3-area-0.0.0.0]quit
[PE2-ospf-3]quit
CE2
[CE2]ospf 2 router-id 6.6.6.6
[CE2-ospf-2]area 0
[CE2-ospf-2-area-0.0.0.0]network 6.6.6.6 0.0.0.0
[CE2-ospf-2-area-0.0.0.0]network 36.1.1.0 0.0.0.255
[CE2-ospf-2-area-0.0.0.0]network 192.168.30.0 0.0.0.255
[CE2-ospf-2-area-0.0.0.0]quit
[CE2-ospf-2]quit
CE4
[CE4]ospf 3 router-id 7.7.7.7
[CE4-ospf-3]area 0
[CE4-ospf-3-area-0.0.0.0]network 7.7.7.7 0.0.0.0
[CE4-ospf-3-area-0.0.0.0]network 192.168.40.0 0.0.0.255
[CE4-ospf-3-area-0.0.0.0]network 37.1.1.0 0.0.0.255
[CE4-ospf-3-area-0.0.0.0]quit
[CE4-ospf-3]quit
查看学习到的OPSF路由
7、建立MP-BGP邻居关系
PE1
[PE1]bgp 123
[PE1-bgp]ipv4-family vpnv4 unicast # 进入IPv4的VPNv4地址簇
[PE1-bgp-af-vpnv4]peer 3.3.3.3 enable # 激活邻居3.3.3.3
[PE1-bgp-af-vpnv4]quit
[PE1-bgp]quit
PE2
[PE2]bgp 123
[PE2-bgp]ipv4-family vpnv4 unicast
[PE2-bgp-af-vpnv4]peer 1.1.1.1 enable
[PE2-bgp-af-vpnv4]quit
[PE2-bgp]quit
查看MP-BGP邻居状态
8、PE2上配置OSPF与BGP的互相重发布
PE2
[PE2]bgp 123
[PE2-bgp]ipv4-family vpn-instance SZ
[PE2-bgp-SZ]import-route ospf 2
[PE2-bgp-SZ]quit
[PE2-bgp]ipv4-family vpn-instance DG
[PE2-bgp-DG]import-route ospf 3
[PE2-bgp-DG]quit
[PE2-bgp]quit
[PE2]ospf 2 vpn-instance SZ
[PE2-ospf-2]import-route bgp
[PE2-ospf-2]quit
[PE2]ospf 3 vpn-instance DG
[PE2-ospf-3]import-route bgp
[PE2-ospf-3]quit
四、验证
1、PE1上查看实例路由
2、CE1上查看路由表
3、CE3上查看路由表
4、PE2上查看实例路由