Chinaunix首页 | 论坛 | 博客
  • 博客访问: 427657
  • 博文数量: 83
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 900
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-02 01:33
文章分类

全部博文(83)

文章存档

2011年(1)

2010年(5)

2009年(10)

2008年(4)

2007年(24)

2006年(39)

我的朋友

分类:

2007-03-01 17:43:05

一、具体数据转发过程如下:当CE路由器通过某个子接口将一个VPN分组发给入口PE路由器后,PE路由器查找该子接口对应的VRF表,从VRF表中得到VPN标签、初始外层标签以及到出口PE路由器的输出接口。当VPN分组被打上两层标签之后,就通过输出接口发送到相应LSP上的第一个P路由器。骨干网中P路由器根据外层标签逐跳转发VPN分组,直至最后一个P路由器弹出外层标签,将只含有VPN标签的分组转发给出口PE路由器。出口PE路由器根据VPN标签,查找MPLS路由表得到对应的输出接口,在弹出VPN标签后通过该接口将VPN分组发送给正确的CE路由器,从而实现了整个数据转发过程。(内,外层标签也分别叫私网,公网标签,内层标签由MP-BGP分配,外层标签由LDP分配,在倒数第二跳弹出外层标签。RD/RT是手工配置的。

二、MPLS的原理其实十分简单,举个例子:

|-----CE1------>PE1------>P1------->P2----->PE2---->CE2----| 
网段10.0.0.0 包+标记1+标记2 包+标记1+标记3 包+标记1 包 网段192.168.1.0
1.首先CE1接收到发往192.168.1.0的IP数据包,查询路由表,把该IP数据包发送到PE1。
2.PE1收到IP数据包后,查询VRF和与之相应的CEF表,为数据包打上标记1。然后PE1继续查询全局CEF表,这个CEF表是对应整个P而言,不是某个VRF的。获知要把数据发往192.168.1.0 网段,下一跳是PE2,如果发送到PE2,那么就要打上由P1向下游通知的标记2。所以该IP包被打上了两个标记。标记1和标记2
3.P1接收到标记包后,分析外层的标记,把外层标记换成3,传递发送给P2。 
4.P2和P1一样做同样的操作,由于次末中继弹出机制,P2去掉标记2,直接把只带有一个标记1的标记包发送到PE2。 
5.PE2收到标记包后,分析标记头,由于该标记1是它本地产生的,而且是本地唯一的,所以PE2去掉标记,释放出IP包,发送到自己的对应网段上去。 
6.CE2收到IP数据包后,查找路由表,把数据发送到192.168.1.0网段上。
7.至此,一个数据报文传递过程结束

CE:用户边沿路由器,用户网络中用来接入服务商骨干网的路由器;
PE:服务商边沿路由器,P网中连接CE路由器的路由器
P:服务商核心路由器(P路由器):P网中的骨干路由器,对VPN的信息透明,即P路由器内部没有VPN的信息
VRF:VPN路由和转发表(VPN_Routing_Forwarding_Table):简称VRF,在PE路由器上,为每个PE直接相连的VPN生成一份路由与转发表。每个VRF仅存有所隶VPN的路由信息
RD:路由区别符(ROUTE_DISTINGUISHET):简称RD,这个标识符在服务提供商的网络中是独一无二的。VPN路由信息的维护在P网内部通过MP_BGP(MULGIPROTOCOL_BGP)完成,由于不同的VPN可能使用重复的地址块,传统BGP不能处理这种NLRI属性重合的情况,因此设计了RD。RD基于VPN,但VPN中的成员可以不必使用相同的RD,只须VPN_IP地址在整个P网的VPN范围唯一。推荐按VPN的各个VRF使用同样的RD配置。
其它见:
阅读(2393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~