MPLS VPN之LDP(2)

建立LSP有静态和动态两种方法,动态建立LSP需要路由器运行标签分发协议,LDP协议就是最重要的一个标签分发协议;

在MPLS网络中,路由器通过运行LDP协议为每条内部路由映射一个标签,然后再将标签信息通告给所有邻居,路由器之间通过这种方式来建立标签转发表,最终形成LSP,当网络拓扑发生变化时,LDP还会实时地响应这种变化;

一、LDP的基本概念


1、标签空间

LDP分配的标签空间有两种:

(1)基于接口的标签空间

每个接口通告的标签范围是唯一的,同一条FEC在不同接口通告的标签是不同的;

(2)基于平台的标签空间,缺省采用此方式

标签分配时并不是在每个接口下唯一,而是从整台LSR中来分配标签的,同一条FEC在不同接口通告的标签相同;

2、上/下游LSR

上游和下游是根据数据报文的流向来定义的,数据流总是由上游发往下游;

3、PHP倒数第二跳弹出

在MPLS网络的egress节点,首先需要对接收的报文查找标签转发表进行标签移除,然后查找FIB表进行转发,由于进行了两次查表操作,所以过程比较耗时,如果到达egress节点的流量较大,会对设备性能造成一定影响;

为减轻egress节点的负担,标签在到达出站LER之前就被弹出,这样在报文到达egress节点时已经是IP报文了,只需要查找IP转发表就转发出去,提高了egress节点的工作效率;

为使标签在到达egress节点之前就被弹出,使用了一个特殊的标签3,也叫隐式空标签,代表一种弹出操作而不是实际需要携带的标签;

二、LDP报文


LDP报文(除Hello报文外)是基于TCP的,端口号646,报文格式基于TLV的方式来封装,LDP报文分为头部和报文内容两部分;

1、LDP报头及报文格式

(1)Version:2字节,表示LDP协议版本号,目前LDP协议版本号为0x01;

(2)PDU Length:2字节,表示PDU长度,不包括版本号和PDU长度字段;

(3)LDP Identifier:6字节,前4字节表示LSR-ID地址,后2字节表示特定的标签空间;

(1)U:1bit,未知TLV比特为0返回通知,为1忽略报文;

(2)Message Type:14bit,表示报文所属的类型;

(3)Message Length:2字节,表示报文长度,包括报文标识符、必选参数、可选参数;

(4)Message ID:4字节,报文标识符,用于标识报文;

(5)Mandatory Parameters:必选参数集;

(6)Option Parameters:可选参数集;

2、Hello报文

LDP的Hello报文基于UDP来发送,发送目标地址224.0.0.2;

用于发现邻居并用作后期邻居关系的维护;

启用LDP的接口会周期性5s的发送,连续3次没有收到hello报文,认为邻居故障;

hello报文携带保持时间等通用参数和发送方的传输地址,传输地址用于建立TCP连接;

默认传输地址与LSR-ID相同,所以需要保证各自的LSR-ID一定要路由可达;

3、Initialization报文

Initialization报文用来协商LDP邻居会话参数,如标签的分发方式、防环机制和标签空间;

4、Address报文

用来向LDP邻居通告本端所有接口的IP地址,邻居可以通告IP转发表的下一跳地址来决定出站标签;

5、标签通告报文

用来向LDP邻居发布FEC和标签的绑定内容;

一个标签通告可以发布多个标签消息;

标签通告报文包括标签请求、标签撤销和标签释放报文;

6、KeepAalive报文

用来检测TCP会话的连通性,默认检测周期为15s,超时时间为45s;

7、Notification报文

用于向邻居报文具体的差错类型;

三、LDP会话的建立过程


LDP会话是基于TCP连接的,所以建立TCP连接之前必须知道邻居的IP地址,根据获知邻居IP地址的方式将LDP会话分成两类:

(1)本地LDP会话        组播hello报文自动发现,建立会话的两个LSR之间是直连的;

(2)远端LDP会话        手工指定邻居地址,单播发送hello,可以直连,也可以非直连;

LDP状态机和邻居建立过程

1、non-existent    周期性发送Hello报文,地址大的一方发起TCP连接,建立成功进入Initialized;

2、initialized        发送Initial报文,进入Opensent;

3、opensent          收到对方Initial报文,进入Openrec;

4、openrec            发送KeepAlive报文,收到KeepAlive进入Operational;

5、Operational        可以交换标签通告报文了;

在会话建立后,双方会周期(5s)发送Hello报文以检测邻居状态,也会周期(15s)发送KeepAlive报文来检测TCP连接状态;

四、LDP标签的发布和管理

LDP会话建立后,LDP协议开始交换标签映射等报文,用于建立LSP;

1、标签发布方式

标签发布方式指下游LSR发布标签映射通告时,是否需要上游LSR先发送请求;

标签发布方式分为DU下游自主和DoD下游按需两种方式;

(1)DU下游自主    Downstream Unsolicited    缺省此方式

在DU下游自主模式下,建立LDP会话后,下游主动向上游发布标签映射通告报文,不需要上游先发送标签请求;

DU下游自主模式下,下游主动发送标签,因此会建立大量的LSP,这些LSP中有可能是不需要的,会有更多的LDP报文和占用更多的存储空间;

华为默认情况下只对路由表中的32为掩码路由进行标签映射并通告,可以使用命令lsp-trigger修改触发标签的策略;

(2)DoD下游按需    Downstream On Demand

在DoD下游按需模式下,下游LSR必须收到上游LSR的标签请求报文后,才会发送上游LSR所请求FEC对应的标签映射信息;

DoD下游按需模式需要进行标签请求,所以会带来额外的资源开销;

2、标签分配的控制方式        可以保证LSP是否连续

标签分配的控制指下游给上游发布标签时的条件,是否要求下游LSR在向上游LSR发布标签时一定要收到自己下游LSR的标签;

标签控制方式有两种:独立控制方式和有序控制方式;

(1)独立控制方式

在独立控制方式下,LSR在没有收到自己下游LSR标签的情况下,就能向上游通告标签映射消息;

因为LSR没有收到自己下游LSR标签就能向上游通告标签,所以可能出现到目地网络的LSP不连续问题;

(2)有序控制方式    缺省此方式

有序控制方式下,LSR必须收到下游LSR的标签,才可以向上游通告标签映射信息;

建立LSP的效率会受影响,但是可以确保整条LSP是连续的;

3、标签的保持方式        可以提高收敛速度

标签保持方式指当一台LSR收到来自多个LDP邻居的标签映射通告时,是否将这些标签信息都保存到数据库中;

标签的保持方式有两种:保守保存和自由保存;

(1)保守方式

对于特定一条FEC,即使从多个LDP邻居都收到了标签映射,该LSR只会将最优的标签保留下来;

拥有IP转发表中下一跳地址的LDP邻居通告的标签为最优标签,也是最终保留的标签;

(2)自由方式    缺省此方式

保存下所有的标签,这样做的好处是当网络发生故障时,可以立刻使用新的标签计算出新的LSP,收敛比较快,缺点是占用更多的数据库空间;

五、LDP的环路检测

在三层网络中使用的每种动态路由技术都有各自的防环机制,LDP协议也有防环机制;

因为三层路由技术已经避免了路由环路,LDP协议又是基于路由来分配标签和建立LSP的,所以这时报文通过LSP进行转发是不会出现环路的,华为VRP系统默认也不开启LDP防环功能;

1、规定最大跳数

LDP报文没经过一个LSR,LSR都在跳数TLV中增加一跳,当跳数达到最大值后,环路就被检测到,从而终止LSP的建立;

2、路径矢量法

当一台LSR收到LDP报文后,就会将自己的LSR-ID添加到报文中,如果收到的LDP报文已经有了本地的LSR-ID,则认为出现了环路,终止建立LSP;

3、TTL

MPLS报文每经过一台LSR,标签中的TTL减1,当TTL减少到0的时候,报文最终被丢弃,通过这种方法防止数据包无限循环转发;

六、LDP和IGP同步

存在主备链路组网的环境中,当主链路出现故障又从故障中恢复后,业务流量会从备用链路切换到主链路,在这个过程中,IGP协议收敛速度要快于LDP协议,这就会导致旧的LSP已经删除,而新的LSP还没建立好,这期间MPLS业务将会中断数秒的问题;

LDP和IGP同步就是为解决主链路故障恢复后流量回切的问题,为使LDP和IGP同步,在新的LSP建立好之前,继续保留旧的LSP,流量继续在旧的LSP上转发,只有在新的LSP建立好之后流量才完全切换过来;

LDP和IGP同步过程需要使用以下三个定时器:

1、hold-down

2、hold-max-cost

3、delay

在主链路故障恢复后,

(1)启动hold-down定时器,IGP不收发hello报文,抑制邻居关系的建立;

(2)hold-down定时器超时后,启动hold-max-cost定时器,IGP建立邻居并在主链路通告接口的最大metric值;

(3)故障链路LDP会话建立后,启动delay定时器等待LSP的建立,delay定时器超时后,LDP通知IGP同步流程结束;

配置命令:

int gi0/0/0

ospf ldp-sync

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352