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.其报文格式如下:

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

  

以上这些设计均与平台无关。在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指的是标签转发路径数据表。

关于zMPLS的设计解析的更多相关文章

  1. Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark 摘要 本文主要介绍了如何利用 ...

  2. Kafka设计解析(二)- Kafka High Availability (上)

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/04/24/KafkaColumn2 摘要 Kafka在0.8以前的版本中,并不提供High Av ...

  3. 揭秘Kafka高性能架构之道 - Kafka设计解析(六)

    原创文章,同步首发自作者个人博客.转载请务必在文章开头处以超链接形式注明出处http://www.jasongj.com/kafka/high_throughput/ 摘要 上一篇文章<Kafk ...

  4. 流式处理的新贵 Kafka Stream - Kafka设计解析(七)

    原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/kafka/kafka_stream/ Kafka Stream背景 Ka ...

  5. Kafka设计解析(八)- Exactly Once语义与事务机制原理

    原创文章,首发自作者个人博客,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/kafka/transaction/ 写在前面的话 本 ...

  6. Kafka设计解析(六)- Kafka高性能架构之道

    本文从宏观架构层面和微观实现层面分析了Kafka如何实现高性能.包含Kafka如何利用Partition实现并行处理和提供水平扩展能力,如何通过ISR实现可用性和数据一致性的动态平衡,如何使用NIO和 ...

  7. Kafka设计解析(七)- Kafka Stream

    本文介绍了Kafka Stream的背景,如Kafka Stream是什么,什么是流式计算,以及为什么要有Kafka Stream.接着介绍了Kafka Stream的整体架构,并行模型,状态存储,以 ...

  8. [Big Data - Kafka] Kafka设计解析(五):Kafka Benchmark

    性能测试及集群监控工具 Kafka提供了非常多有用的工具,如Kafka设计解析(三)- Kafka High Availability (下)中提到的运维类工具——Partition Reassign ...

  9. [Big Data - Kafka] Kafka设计解析(二):Kafka High Availability (上)

    Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永远不能再恢复,亦 ...

随机推荐

  1. VCRedist.exe静默安装方法(转)

    INNO setup 制作安装包  的时候,发布VC++运行时 [Run]Filename: {app}vcredist_x86.exe; Parameters: /q; WorkingDir: {t ...

  2. 神舟飞船上的计算机使用什么操作系统,为什么是自研发不是 Linux?

    中国航天用的SpaceOS主要内容是仿造美国风河系统公司的VxWorks653(653是产品名,并非版本号). 先解释为什么用这个系统不用Linux: 航天器的内存和CPU都非常弱,弱到什么程度呢:天 ...

  3. css属性之box-shadow

    box-shadow 属性向框添加一个或多个阴影. <!DOCTYPE html> <html> <head> <style> div { width: ...

  4. ASP.NET MVC framework 学习

    http://www.cnblogs.com/lmfeng/archive/2013/03/28/2986123.html  MVC数据绑定方式 http://www.cnblogs.com/lmfe ...

  5. ZMQ设置socket选项

    Name zmq_setsockopt –设置ZMQ socket的属性 Synopsis int zmq_setsockopt (void *socket, int option_name, con ...

  6. String path = request.getContextPath();这段什么用

    <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+ ...

  7. DynamicMBean(Java SE 6 新特性: JMX 与系统管理)

    Dynamic MBean 是一种在运行时定义其管理接口的 MBean.例如,配置 MBean 可以通过解析 XML 文件来确定它所公开的属性名称和类型. 任何实现 DynamicMBean 接口的类 ...

  8. javascript封装id|class|元素选择器

    由于各个浏览器都支持的选择方法只有如下三种: 1 document.getElementById() 2 document.getElementsByName() 3 document.getElem ...

  9. snappydb 依赖的jar包

    最近看学习了一下snappydb,因为我用的还是Eclipse但是github上的是as项目所以就考虑用jar包来使用. github地址:https://github.com/nhachicha/S ...

  10. linux-ln命令

    ln分为软链接和硬链接 1.软连接 -s   ln -s /mnt/hgfs/SHARE hvshare2 相当于在当前目录下新建一个名为hvshare2的快捷方式指向/mnt/hgfs/SHARE路 ...