zMPLS是一个关于mpls标准实现的开源软件,它起源于2002年6月份,项目终止于2006年,目前它已经可以支持ipv6,ipv4,ldp,cr-ldp,rsvp,rsvp-te等MPLS协议簇。该源件主要包括以下几个模块:

  1.zmpls模块,该模块主要是继承了zebra的功能,能够接受LSP消息并将其按装到MPLS网络转发模块中。可以进行标准的配置

  2.ldpd模块,该模块主要是LDP/CR-LDP的控制模块,也支持标准的配置。

  3.rsvpd模块,该模块主要是rsvp/rsvp-te的控制模块,支持标准的配置。

  4.mpls转发引擎,该模块主要是进行等价类分类并转发mpls包从而建立LSP,他支持建立的LSP有最大努力型和te型。

下面介绍一下zmpls模块,它主要是增加或删除LSP.其报文格式如下:

关于zMPLS的设计解析-LMLPHP

关于zMPLS的设计解析-LMLPHP

接下来我们看看转发引擎是如何工作的:

  关于zMPLS的设计解析-LMLPHP

以上这些设计均与平台无关。在linux内核中,MPLS转发引擎主要由三部分组成:

  1.MPLS转发服务API

  2.MPLS转发函数API

  3.MPLS转发引擎组件(FEC,ILM,NHLFE,LSP DataBase,Input Module,Output Module);

其中FEC指的是转发等价类,ILM指的是入标签映射,NHLFE指的是下一跳的标签转发项,LSP Data Base指的是标签转发路径数据表。

05-11 11:22