网管程序员论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3083|回复: 1

MPLS及MPLS VPN浅见

[复制链接]
发表于 2007-8-29 19:23:31 | 显示全部楼层 |阅读模式
首先声明一下,MPLS我是刚入门,可能有些观点不成熟或者存在谬误,请大家发现有错误的时候一定要斧正,谢谢!
      这几天(其实就是从前天开始),正在自学MPLS和MPLS VPN,感觉这个还是比较重要的新技术,虽然目前是忽悠的成分占多数,但有的用人单位(就是华X!)偏偏很看重这玩意。于是决定自学一把,以免被嘲笑落伍。以前看过一些相关资料,都是泛泛的看,粗略的印象是:概念多,较复杂,所以一直不想花大功夫去看。好在目前时间很充裕,于是决定拿出大把时间来啃这块硬骨头。经过一段时间的奋斗,觉得终于对MPLS和MPLS VPN大概是个什么东西有个轮廓了。
       手头上只有经典书籍:MPLS and VPN Architechtures Vol.1/Vol.2,英文版,我想应该有中文版吧,但没找到电子档,也不愿花钱买,所以就看英文版。
       下面就正式写写我的一些心得,不全,以后随着进度会补充修正。
       学习一个新技术,首先就要弄明白里面的术语和概念:
      1. LSR, ingress LSR, egress LSR, edge LSR, ATM-LSR
      2. Label, Label stack, shim header, FECs, neihboring LSR, Upstream/Downstream LSR
      3. Unsolicited Downstream Distribution/On-Demand Downstream Distribution
      4. Liberal retention mode/Conservative retention mode
      5. independent LSP control/ordered LSP control
      6. LDP/TDP, RSVP, CR-LDP, BGP, PIM
      7. LSP, popping/imposing, penultimate hop popping(PHP), implicit-null
      8. MPLS-VPN, CPE/CE, PE, P, VRF
       简单说,MPLS就是用来解决传统路由模式中,hop-by-hop路由查找,流量工程和QoS技术的缺陷的一门新技术——将数据帧(或者cell)打上一个label,然后不经过路由层(三层),直接由2.5层MPLS设备进行基于ASIC芯片的硬件label swapping,使得数据传输速度大大提升。通过label stack也可以实现TE(Traffic Engineering流量工程)和目前最热门的MPLS应用——MPLS VPN。
       MPLS协议原理比较简单,无非就是给每个FEC(通常指的是路由表中的prefix)分配一个label,然后通过LDP/TDP协议分发出去,于是大家就不用根据路由表发数据了,只要看label——有点类似ATM中的VP/VC交换。只是这里面纷繁复杂的新术语令人头痛,看起来很是心烦。
       重点记录一下MPLS VPN,个人认为这是目前比较成熟的MPLS应用:
       MPLS VPN引入了一个概念——Virtural Router和VRF。MPLS VPN实现的是peer-to-peer模式的VPN,所以在SP一级,需要介入到VPN的实现中来。在这种VPN模式中,SP为每个VPN网络提供一个独立的路由域(专用的路由器),两个不同VPN网络之间因为缺少对方域中的路由而实现隔离。而为每个VPN网络配备一个专用路由器显然不现实,所以就在PE路由器上面配置VRF实例,一个VRF可以理解为一个VR(虚拟路由器)——拥有独立的路由表,两个PE路由器之间运行MP-BGP,VPN网络的路由使用MP-BGP来承载(就是在一边redistribute进去,然后在另一边redistribute出来),这样,在两边CE设备都学到对方路由后,整个VPN网络就贯通了。
       下面放出一些曾经困惑了我一阵子的问题,希望对MPLS感兴趣的朋友看看,加深印象:
  • 两端PE中同属一个VPN网络的VR是否建立了BGP邻接关系?如果有,它们之间怎么传递路由?
  • RT(route target)在redistribute过程中是如何发挥作用的?
  • MPLS VPN需要使用label stack,故整个P网络中必须运行MPLS,而MP-BGP是如何与MPLS互操作的?
  • 书中的许多例子都是在CE和PE之间运行一个路由协议,但是目前这种方式在国内很罕见,是否可以使得CE和PE之间不运行运行路由协议?

贴一点配置进来,自己做实验留下的:

拓扑:

R1-R2-R3-R4
(R1)s1/0--s1/0(R2)s1/1--s1/1(R3)f0/0--f0/0(R4)

其中R1和R4是CE,R2和R3是PE,本实验中没有P,但是效果是差不多的,等会贴上一个有P的时候,抓包的结果。

hostname R1
!
ip cef
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface Loopback50
ip address 50.1.1.1 255.255.255.0
!
interface Loopback51
ip address 51.1.1.1 255.255.255.0
!
interface Serial1/0
ip address 1.1.12.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 1.1.12.2
!



hostname R2
!
ip cef
!
!
ip vrf cisco
rd 100:1
route-target export 100:1
route-target import 100:1
!
no mpls ip propagate-ttl
!
!
interface Loopback0
ip address 1.1.2.2 255.255.255.255
!
interface Serial1/0
ip vrf forwarding cisco
ip address 1.1.12.2 255.255.255.0
!
interface Serial1/1
ip address 1.1.23.2 255.255.255.0
mpls ip
!
router bgp 100
bgp router-id 1.1.2.2
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 1.1.3.3 remote-as 100
neighbor 1.1.3.3 update-source Loopback0
!
address-family vpnv4
neighbor 1.1.3.3 activate
neighbor 1.1.3.3 send-community extended
exit-address-family
!
address-family ipv4 vrf cisco
redistribute static
no auto-summary
no synchronization
network 1.1.12.0 mask 255.255.255.0
exit-address-family
!
ip route 1.1.3.3 255.255.255.255 1.1.23.3
ip route vrf cisco 50.1.1.0 255.255.255.0 1.1.12.1
ip route vrf cisco 51.1.1.0 255.255.255.0 1.1.12.1
!
mpls ldp router-id Loopback0




hostname R3
!
ip cef
!
!
!
!         
ip vrf cisco
rd 100:1
route-target export 100:1
route-target import 100:1
!
interface Loopback0
ip address 1.1.3.3 255.255.255.255
!
interface FastEthernet0/0
ip vrf forwarding cisco
ip address 1.1.34.3 255.255.255.0
!
interface Serial1/1
ip address 1.1.23.3 255.255.255.0
mpls ip
!
router rip
version 2
no auto-summary
!
address-family ipv4 vrf cisco
redistribute bgp 100 metric 1
network 1.0.0.0
no auto-summary
version 2
exit-address-family
!
router bgp 100
bgp router-id 1.1.3.3
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 1.1.2.2 remote-as 100
neighbor 1.1.2.2 update-source Loopback0
!
address-family vpnv4
neighbor 1.1.2.2 activate
neighbor 1.1.2.2 send-community extended
exit-address-family
!
address-family ipv4 vrf cisco
redistribute rip metric 1
no auto-summary
no synchronization
exit-address-family
!
ip route 1.1.2.2 255.255.255.255 1.1.23.2
!
mpls ldp router-id Loopback0





hostname R4
!
ip cef
!
no mpls ip propagate-ttl
!
interface Loopback0
ip address 1.1.4.4 255.255.255.255
!
interface Loopback200
ip address 200.1.1.1 255.255.255.0
!
interface Loopback201
ip address 201.1.1.1 255.255.255.0
!
interface Loopback202
ip address 202.1.1.1 255.255.255.0
!
interface FastEthernet0/0
ip address 1.1.34.4 255.255.255.0
!
!
router rip
version 2
passive-interface default
network 1.0.0.0
network 200.1.1.0
network 201.1.1.0
network 202.1.1.0
neighbor 1.1.34.3
no auto-summary
!

具体命令的意思可以查查手册,环境比较简单,应该很好理解。




To be continued...

[ 本帖最后由 leen 于 2007-8-29 19:38 编辑 ]
发表于 2007-8-29 20:23:37 | 显示全部楼层
支持原创!!
不过,MPLS VPN 研究还是比较有意思的。
当初花了2个月闭关很练了一把!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|最新更新|网管程序员社区 鄂ICP备11008024号-3

GMT+8, 2019-11-22 09:51 , Processed in 0.078000 second(s), 20 queries .

Powered by 网管论坛

© 2001-2018 www.027safe.com Inc.

快速回复 返回顶部 返回列表