MPLSVPN MPLSVPN基础实验及详解一个实验理解MPLSVPN mpls协议详解

一、拓扑及环境
这是一个典型的MPLS VPN基础实验环境,R2、R3、R4为运营商的设备,其中R2为PE1,R4为PE2。R1及R5分别是CE1及CE2,代表同一个VPN客户的两个站点。(原创博文 红茶三杯 http://weibo.com/vinsoney版权所有,转载请注明出处)
二、需求及步骤
  1. 完成基本IP配置
  2. Core内运行OSPF(进程号100),激活LDP
  3. 在PE上创建VRF,将PE-CE间的接口放入VRF;在PE和CE之间运行IGP协议
  4. PE配置MP-BGP,建立MP-iBGP邻接关系
  5. 完成PE-CE之间路由的重发布

三、配置及实现1.完成基本IP配置这个就不多说了吧?

2.Core内运行OSPF(进程号100),激活LDPR2(PE1)的配置如下:router ospf 100 !!Core内运行的OSP F,用于交互Core内的路由 router-id 2.2.2.2network 10.1.23.2 0.0.0.0 area 0 networl 2.2.2.2 0.0.0.0 area 0!Ip cef !!注意,必须开启ip cefmpls ldp router-id loopback0 !!设定LDProuter-IDmpls label range 200 299 !!为了方便观察实验现象及排错,设置标签范围interface fast0/1 mpls ip
R3(P)的配置如下:router ospf 100 !! Core内运行的OSPF,用于交互Core内的路由 router-id 3.3.3.3 network 10.1.23.3 0.0.0.0 area 0 network 10.1.34.3 0.0.0.0 area 0 networl 3.3.3.3 0.0.0.0 area 0!Ip cef !!注意,必须开启ipcefmpls ldp router-id loopback 0 !!设定LDP router-IDmpls label range 300 399 !!为了方便观察实验现象及排错,设置标签范围interface fast0/0 mpls ipinterface fast0/1 mpls ip
R4(PE2)的配置如下:router ospf 10 network 10.1.34.4 0.0.0.0 area 0 networl 4.4.4.4 0.0.0.0 area 0!Ip cefmpls ldp router-id loopback0mpls label range 400 499interface fast0/0 mpls ip
完成配置后,R2、R3、R4之间就能建立起LDP的邻居了。例如:
R2(PE1)#sh mpls ldp neighbor Peer LDP Ident:3.3.3.3:0; Local LDP Ident 2.2.2.2:0 TCP connection: 3.3.3.3.44250 -2.2.2.2.646 State: Oper; Msgs sent/rcvd: 11/11;Downstream Up time: 00:02:43 LDP discovery sources: FastEthernet0/1, Src IP addr:10.1.23.3 Addresses bound to peer LDP Ident: 10.1.23.3 10.1.34.3 3.3.3.3
3.在PE上创建VRF,将PE-CE间的接口放入VRF;在PE和CE之间运行IGP协议R2(PE1)的配置如下:ip vrf cisco rd 1:1 route-target export234:2 !!本地的RTexport route-target import234:4 !!匹配PE2所配置的RTexport,用于将PE2传递过来的路由导入VRF!Interface fast0/0 ip vrf forwardingcisco !!将该接口放入VRFcisco ip address 10.1.12.1255.255.255.0!router eigrp 1 !!PE-CE之间的IGP协议,用于从CE1学习VPN客户路由 address-family ipv4 vrf cisconetwork 10.1.12.0 0.0.0.255autonomous-system 1 !! 指定EIGRP AS号,必须指定,否则邻居关系起不来exit-address-family
R4(PE2)的配置如下:ip vrf cisco rd 1:1 route-target export 234:4 !!本地的RT export route-target import 234:2 !!匹配PE1所配置的RT export!Interface fast0/1 ip vrf forwarding cisco ip address 10.1.45.4 255.255.255.0!router ospf 1 vrf cisco !! PE-CE之间的IGP协议,用于从CE2学习VPN客户路由network 10.1.45.4 0.0.0.0 area 0
注意,OSPF的VRF是直接体现在OSPF进程上的,配置方式如EIGRP、BGP、RIP等有所不同。

R1(CE1)的配置如下:router eigrp 1 network 10.0.0.0 network 1.1.1.1
R5(CE2)的配置如下:router ospf 1 router-id 5.5.5.5 network 10.1.45.5 0.0.0.0 area 0 network 5.5.5.5 0.0.0.0 area 0
这样一来PE-CE间的IGP就配置好了。
R2-PE1#show ip eigrp vrf cisconeighborsIP-EIGRP neighbors for process 1H Address InterfaceHold Uptime SRTT RTO QSeq (sec) (ms)Cnt Num0 10.1.12.1 Fa0/0 1400:07:59 1256 5000 03
【MPLSVPN】MPLSVPN基础实验及详解(一个实验理解MPLSVPN) mpls协议详解
R2-PE1#show ip route vrf ciscoD 1.1.1.1 [90/156160] via 10.1.12.1, 00:09:55, FastEthernet0/0 10.0.0.0/24 is subnetted, 1 subnetsPE1已经学习到了CE1的客户路由。
R4-PE2#sh ip route vrf ciscoO 5.5.5.5 [110/2] via 10.1.45.5, 00:03:13, FastEthernet0/1 10.0.0.0/24 is subnetted, 1 subnetsPE2也学习到了CE2的路由。
4.PE配置MP-BGP,建立MP-iBGP邻接关系R2(PE1)的配置如下:router bgp 234bgp router-id 2.2.2.2no bgp default ipv4-unicast !!由于这里我们不需要PE1-PE2交互IPv4前缀,因此将默认就会自动建立IPv4的BGP邻接的开关关掉。neighbor 4.4.4.4 remote 234neighbor 4.4.4.4 update-source loopback 0 !!配置VPNv4的邻接,需要在进程中先指neighbor,然后再去VPNv4地址族内激活,注意这里PE1-PE2的邻接关系是建立在Loopback接口上的!address-family vpnv4neighbor 4.4.4.4 activate !!激活与R4也就是PE2的VPNv4连接neighbor 4.4.4.4 send-community extended !!CISCO IOS会在激活VPNv4邻接后自动添加这条命令,但是还是要养成好习惯。
R4(PE2)的配置如下:router bgp 234bgp router-id 4.4.4.4no bgp default ipv4-unicastneighbor 2.2.2.2 remote 234neighbor 2.2.2.2 update-source loopback 0!address-family vpnv4neighbor 2.2.2.2 activateneighbor 2.2.2.2 send-communityextended
验证一下:R2-PE1#show ip bgp vpnv4 all summaryBGP router identifier 2.2.2.2, local AS number 234BGP table version is 1, main routing table version 1Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQUp/Down State/PfxRcd4.4.4.4 4 234 6 8 1 0 0 00:00:29 0
R2-PE1#show ip bgp vpnv4 all neighbors 4.4.4.4 | inVPNv4 Address family VPNv4Unicast: advertised and receivedFor address family: VPNv4 Unicast(原创博文红茶三杯 http://weibo.com/vinsoney 版权所有,转载请注明出处)
5.完成PE-CE之间路由的重发布现在,我们要PE1已经学习到了CE1的路由,接下去,要将这些路由重发布到BGP里,以便形成VPNv4的前缀来通过MP-iBGP传递给PE2;PE2上也是同理。再者,为了让CE1和CE2之间学习到对端站点的路由,还要在PE1及PE2上,将BGP路由重发布进PE-CE间的IGP。R2(PE1)的配置如下:router eigrp 1address-family ipv4 vrf cisco !! 注意,是在IPv4 vrf地址族下进行重发布 redistribute bgp 234metric 100000 100 255 1 1500!router bgp 234address-family ipv4 vrf cisco !! 注意,是在IPv4 vrf地址族下进行重发布redistribute eigrp 1no synchronization
R4(PE2)的配置如下:router ospf 1 vrf cisco redistribute bgp 234 subnets!router bgp 234address-family ipv4 vrf ciscoredistribute ospf 1 match internal externalno synchronization
到目前位置,实验涉及的所有配置就完成了。


R1-CE1#sh ip routeD EX 5.5.5.5 [170/53760]via 10.1.12.2, 00:01:08, FastEthernet0/0D EX 10.1.45.0[170/53760] via 10.1.12.2, 00:01:08, FastEthernet0/0CE1已经学习到了CE2所在站点的路由
R5-CE2#sh ip routeO E2 1.1.1.1 [110/1] via10.1.45.4, 00:02:56, FastEthernet0/0O E2 10.1.12.0 [110/1]via 10.1.45.4, 00:02:56, FastEthernet0/0CE2已经学习到了CE1所在站点的路由。
我们来测试一下:R1-CE1#ping 5.5.5.5 source 1.1.1.1,通了。然后:R1-CE1#traceroute 5.5.5.5 source 1.1.1.1Type escape sequence to abort.Tracing the route to 5.5.5.5
1 10.1.12.2 96 msec 112 msec 20 msec 2 10.1.23.3 [MPLS:Labels 301/403 Exp 0] 140 msec 128 msec 140 msec 3 10.1.45.4 [MPLS:Label 403 Exp 0] 60 msec 180 msec 116 msec 4 10.1.45.5 124 msec *124 msec
那么在数据层面上,从1.1.1.1访问5.5.5.5,报文是如何传输的呢:

我们从traceroute的结果可以得出上面的数据转发过程。首先R1发出的是IPv4的报文,源是1.1.1.1,目的是5.5.5.5,数据包到达了R2,由于这是个IP数据包,又是从自己的VRF接口收到的,因此R2查看自己的vrfCEF表:
R2-PE1#show ip cef vrf cisco 5.5.5.55.5.5.5/32 nexthop 10.1.23.3 FastEthernet0/1 label 301403
CEF中关于目的5.5.5.5,指示需要压入两层标签,然后交给10.1.23.3,于是R2将IPv4数据包压入标签栈,这个标签栈包含两层标签,然后标签包被交给R3。
R3收到这个包,发现是个标签包,于是查看自己的LFIB表:R3#show mpls forwarding-tableLocal Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or VC orTunnel Id Switched interface 300 Pop Label 2.2.2.2/32 18716 Fa0/0 10.1.23.2301 Pop Label 4.4.4.4/32 19362 Fa0/1 10.1.34.4
LFIB表显示,当我收到一个顶层标签为301的标签包,我要将该顶层标签POP弹出,然后交给下一跳10.1.34.4。于是R3将收到的标签包的301标签弹出,然后直接交给10.1.34.4。注意,这里其实是个PHP行为。那么R4也就是PE2收到了R3发过来的包,发现是个标签包,于是它也查看LFIB表:
R4-PE2#show mplsforwarding-tableLocal Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or VC orTunnel Id Switched interface 400 Pop Label 3.3.3.3/32 0 Fa0/0 10.1.34.3401 300 2.2.2.2/32 0 Fa0/0 10.1.34.3402 Pop Label 10.1.23.0/24 0 Fa0/0 10.1.34.3403 No Label 5.5.5.5/32[V] 4038 Fa0/1 10.1.45.5404 No Label 10.1.45.0/24[V] 0 aggregate/cisco
它发现标签403,对应的outgoing是nolabel,于是它将整个标签栈都弹出(实际上只剩下一层标签了),然后将原始数据,也就是IPv4数据直接丢给10.1.45.5。数据包就这么到了R5也就是CE2。
了解了数据层面的工作,我们再看看控制层面的工作,也就是标签是怎么传递的:

这个图大家就非常清楚了吧?首先看内层VPN标签,拿5.5.5.5举例,R4在通过MP-iBGP通告VPNv4前缀1:1:5.5.5.5/32时,会为这个前缀同时捆绑一个VPN标签,403,然后发给PE1。这层标签,用于帮助PE2识别所收到的标签数据归属于哪一个VRF哪一个下一跳CE。接着是外层IGP标签,注意,运营商里P路由器是不可能知道客户路由的,往往也并不知道VPNv4前缀。那么为了让这些VPN流量能够在P网络中传输,势必要增加一层标签,这就是IGP标签,它由LDP捆绑并分发。



(原创博文红茶三杯 http://weibo.com/vinsoney 版权所有,转载请注明出处)

红茶三杯网络工程 | 项目管理 | IT服务管理 | CCIE培训学习 沉淀 成长 分享微博:http://weibo.com/vinsoney博客:http://blog.sina.com.cn/vinsoney站点:http://ccietea.com


  

爱华网本文地址 » http://www.aihuau.com/a/25101016/305261.html

更多阅读

初中语文基础知识点归纳 详解版 中学生语文基础题目

《初中语文基础知识点归纳》第一部分二种语言类型:口语、书面语。二种论证方式:立论、驳论。二种说明语言:平实、生动。二种说明文类型:事理说明文、 事物说明文。二种环境描写:自然环境描写--烘托人物心情,渲染气氛。社会环境描写--交代

声明:《MPLSVPN MPLSVPN基础实验及详解一个实验理解MPLSVPN mpls协议详解》为网友呼吸时才会想你分享!如侵犯到您的合法权益请联系我们删除