加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【MPLS】关于标签数据的TTL及环路避免

(2013-07-09 11:30:22)
标签:

mpls

ttl

环路避免

红茶三杯

分类: MPLS
前 言
  • MPLS的环路检测机制依赖于IGP协议
  • 如果出现的环路(一般是IGP出了问题,如静态路由的配置错误),标签头中的TTL将防止标签包无止尽的被转发
  • 标签头中的TTL与IP头中的TTL是一样的,通常拷贝自IP头中的TTL值(当一个IP包进入MPLS网络时),这是TTL propatation

1.传统的TTL操作
  
【MPLS】关于标签数据的TTL及环路避免

  数据包被A压上标签,标签的头的TTL值拷贝IP头中的TTL(当然要先减1),并且随着数据帧在MPLS网络中传输,MPLS头中的TTL值在递减,到0则丢弃,直到数据帧出了MPLS域,那么IP头中的TTL才开始工作。在出站时,标签头中的TTL减1后拷贝到IP头中的TTL。
  这里实际上存在一定的隐患,例如使用traceroute,可能会暴露网络内部结构(TTL=0后,路由器会返回差错消息,就可能会暴露网络信息)。
  我们来看一下,为什么会暴露网络信息?假设A下面有个路由器E,E发了一个数据包要到D下的F,数据包被A打上标签转给B,假设在BC之间出现了环路随后标签TTL递减至0,由于TTL值设置的非常小,因此很快,TTL就递减到了0,这时候B(报文丢弃者),就会发送ICMP出错消息回E,那么这时候如果B有E的路由(或标签),B就会直接将ICMP出错消息发回E,如果没有,B会继续将出错信息打上标签然后逐渐传递到D,D作为PE,有关于E的路由,于是再装上标签送回给E。那么无论什么情况,最终E都能收到由B产生的ICMP差错消息。

这时可以关闭TTL propagation(CISCO路由器默认开启)

2.关闭TTL propagation
 
【MPLS】关于标签数据的TTL及环路避免

在A设备(一般在边界设备)上配置该特性 no mpls ip propagate-ttl
这样一来在边界设备上将IP包加标签头的时候,就不去拷贝原IP头里的TTL值了,而是用一个如255的TTL放入标签头。关闭TTL propagation可以避免MPLS网络被暴露(通过traceroute方式)。
 no mpls ip propagate-ttl [ forwarded | local ]
forwarded 关键字表示这条命令针对穿越本路由器的流量生效。Local关键字表示针对本地产生的流量生效

3.补充知识点:在SWAP、PUSH、POP操作中标签到标签的TTL扩散行为
 
【MPLS】关于标签数据的TTL及环路避免

  前面描述的是IP-标签包的TTL扩散过程,现在来看一下标签到标签的TTL扩散过程。
SWAP这个过程很好理解,注意,LSR在处理标签栈中有多个标签的标签数据时,只会处理顶层标签。因此SWAP这个过程,标签在交换后,入站标签TTL -1,然后拷贝到出站标签TTL。
PUSH也是类似的理解,只对顶层标签操作,首先入站顶层标签的TTL249先减1,然后新压入的标签头TTL拷贝这个值。
POP则是顶层标签的TTL先减去1,然后弹出,新的TTL值被写入到出站数据的顶层标签上。




红茶三杯
网络工程 | 项目管理 | IT服务管理 | CCIE培训
学习 沉淀 成长 分享

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有