返回列表 发帖

MPLS保留标签

MPLS 标签范围中,并不是所有的标签都是可以随便用的,有些是保留的,范围是0-15,有特殊作用,0是显式空(null),3是隐式空,1是路由器报警标签,14是OAM报警,其它还没定义。下面是某些保留标签的重要用途:

隐式空3标签

在MPLS网络中,P路由器是完全按照标签交换的,而边缘路由器PE是同时连接了MPLS网络和IP网络,因此,一个数据包在MPLS网络中传输到PE路由器的时候,PE路由器的工作是:结束标签交换过程,从而转入IP网络,而转入IP网络就要执行IP地址的查找。那么从此可以看出,一个标签数据包到达PE路由器之后,PE路由器第一步开始根据数据包的标签去查找LFIB表,通过查找LFIB之后发现已经不再是标签交换了,第二步就马上转入查IP路由表,最终在IP路由表里查到了结果,从IP网络中发出去。很明显,PE路由器既然最后不可能使用标签交换,而要使用IP交换的,又何必去查了LFIB表才知道结果呢。所以就考虑到一个方法,能不能让PE的上一跳路由器不要为数据包打标签,直接改成IP数据包就行了,这样上一跳路由器没有写标签,那么PE在收到数据包之后,就能马上查IP路由表而做出转发。在这里,要让PE的上一跳路由器不要为数据打标签而直接改成IP数据包,这还得需要PE来告诉它才行。正常情况下,PE路由器是告诉上一跳正常的标签,上一跳将这个标签变成远程标签,但现在,PE路由器就不应该告诉上一跳正常的标签,它告诉的是隐式空(标签号为3)标签,所以收到标签为3的LSR,就不会在数据包发给下一跳时打上标签。这种终点使用隐式空标签来告诉上一跳不要打标签的行为叫倒数第二跳移除(PHP)行为,所以一台收到隐式空标签的LSR,相应出口就不再是一个远程标签,而应该在outgoing显示为pop。这种上一跳标签移除称为标签弹出。

注:在IOS中,PHP这种行为是默认的,但只会为直连路由和聚合路由通告隐式空3,但3不会明写。

显示空标签

显示空的功能是在隐式空的基础上的,IPv4标签号为0,IPv6为2。

因为标签中EXP用于QOS,前一跳移除后,这些信息也没了,可能希望保留,所以是上一跳将标签变为0,来告诉终点不用为0查找LFIB,只看EXP,所以只关心QOS效果,这样也省事。

路由器报警标签1,只是需要特别注意,并且软件转发。

未保留的都可以用,20个bit,是16-1048575,IOS默认是16-10 0000,IGP够了,但BGP可能不够,可以查看和修改标签范围。

返回列表 回复 发帖