《Cisco IOS XR技术精要》一2.4 分布式服务
本节书摘来自异步社区《Cisco IOS XR技术精要》一书中的第2章,第2.4节,作者 【美】Mobeen Tahir , Mark Ghattas , Dawit Birhanu , Syed Natif Nawaz,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.4 分布式服务
Cisco IOS XR技术精要
Cisco IOS XR给予应用高度分布的特性,这样的结果是系统可以实现极高的可扩展性和服务灵活性。IOS XR既能够支持由多台互联的机框组成的多机框或多机箱系统,又可以支持将一台系统细分成多个安全域路由器(SDR)。本节介绍了IOS XR能够实现高度分布式应用和服务灵活性其中的某些关键服务。
2.4.1 GSP
先前简要地介绍过,组服务协议(GSP)是一种分布式的、可靠的组通信协议。可以将GSP看作是一种启用了一组分布式进程的应用。
GSP通信具有以下的特征。
GSP是一种无连接并且位置透明的通信方式。
GSP支持一对多通信,允许发送方一次发往至多个目标。
GSP使用异步方式。在接收方收到消息之前,发送方不会处于阻断状态。异步通信降低了死锁(deadlock)的概率并提供了更优的吞吐量和性能。
GSP通信通过逻辑组ID来标识组成员,而不是物理(基于位置)ID。
组成员通信可以使用一个组播地址或一组逻辑的自定义的组播地址。
发送方无需知道组成员的任何信息,便可将消息发送至整个组,组会交付给组内的所有节点。
发送方也可以将消息发送至组内的某个子集——节点子集或组成员子集。
GSP支持开放式组通信,支持非组内成员向组内所有成员发送消息。
GSP运行于系统中的每个节点上,用于管理本地成员和成员节点。本地节点上的GSP不需要知道远程节点客户端的身份。GSP使用唯一的组ID(GID)来标识每个组。每个GID映射给一个组播地址。组播地址可能是一个矩阵组ID(FGID)(如果通过矩阵来传输),或是一个组播MAC地址(如果通过控制以太网[CE]来传输)。GID编号空间被划分成了如表2-3所示的三组不同范围。
GSP为所有三个平面提供了一个显示组、组成员,及其统计信息的CLI。
命令show gsp stats client location < r/s/p >列出了每个GSP客户端进程发送和接收的消息数量,以及一个错误计数器。例2-8给出了GSP stats命令的一个输出实例。
例2-8 GSP统计信息
用户可以使用命令show gsp group [admin | lr-control] location < r/s/m >来列出管理、LR1控制,或SDR中的GSP组。GSP组会以GID和组名称的形式显示。例2-9给出了管理平面组的输出实例。
例2-9 GSP管理平面组
例2-10给出了LR控制组2的输出实例。
例2-10 GSP LR控制组
例2-11给出了SDR组的输出实例。
例2-11 GSP SDR组
2.4.2 批量内容下载器
批量内容下载器(Bulk Content Downloader,BCDL)使用GSP下载大量的数据表格。BCDL主要用于向线卡下载路由表和MPLS标签绑定表,以及向矩阵卡下载FGID表。BCDL使用生产者-消费者模型。RP上的路由信息库(RIB)和标签交换数据库(LSD)可以看作是生产者。线卡或RP上的FIB管理器进程可以看作是生产者进程产生的数据的消费者。
BCDL使用GSP将表项通过矩阵或CE组播发送给多个节点。BCDL可提供的服务如下。
BCDL使用GSP下载数据。BCDL使用矩阵将路由表和标签绑定表组播发送给线卡,或使用CE将FGID表发送给矩阵卡。由于CRS-1系统中使用3级交换矩阵的转发方式,所以在CRS平台中使用FGID,而在XR12K或ASR 9000的系统中不使用FGID。
BCDL处理板卡的插入或重启。如果某块线卡或矩阵卡插入或重启,将需要接收RIB或FGID表。由于所有其他线卡和/或矩阵卡已经接收了表项,BCDL将使用单播向插入或重启的线卡下载表项。
BCDL处理进程重启的方式与处理LC重启的方式相似。
BCDL支持RIB中存在多张表,从而能够支持多张虚拟路由转发表(VRF)。每张表都可发送到指定的一组线卡上。
例2-12中显示了路由器上的所有BCDL消费者。对于每个BCDL组,输出信息包括GSP GID、生产者位置、消费者编号、消费者位置以及PID,以及相应的统计信息。例如,FGID_BCDL_Srv0由RP0产生,使用GSP GID=18,共有4个消费者;更确切的讲,是一个消费者(sfe_drvr)在4块矩阵卡上(0/SM0/SP、0/SM1/SP、0/SM2/SP、0/SM3/SP)。
例2-12 BCDL消费者
1译者注:这里以及上下文中的LR,指的是logical router(逻辑路由器),即SDR。
2译者注:这里的LR控制(lr-control)组可以理解成control ethernet(CE)组。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
《Android游戏开发详解》——第1章,第1.9节训练到此结束
本节书摘来自异步社区《Android游戏开发详解》一书中的第1章,第1.9节训练到此结束,作者 【美】Jonathan S. Harbour,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.9 训练到此结束Android游戏开发详解如果你已经学到了这里,恭喜你!你已经完成了进入美丽的、复杂的并且偶尔令人沮丧的编程世界的第一步。但是,在编写一些Java代码之前,你还不能自称为一名Java程序员。因此,快打开你的计算机并且开始学习第2章,在那里,我们要构建一些Java程序了。
-
下一篇
《OpenGL ES 3.x游戏开发(上卷)》一2.7 小结
本节书摘来异步社区《OpenGL ES 3.x游戏开发(上卷)》一书中的第2章,第2.7节,作者: 吴亚峰 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.7 小结 本章主要对Android平台下游戏开发中可能会用到的Android平台的相关基础知识进行详细介绍,如文件的I/O操作、SQLite数据库的增、删、改、查,游戏中声音特效、蓝牙互连等。只有学好这些基础知识,开发人员才能开发出更好的Android手机游戏。读者一定要在这些基础上下足工夫,今后的开发道路才会一帆风顺。 提示 Android平台的其他相关知识还有很多,由于本书侧重于介绍OpenGL ES 3.0 3D应用程序的开发,故本章只是简单介绍了一些与3D开发不直接相关的,但在游戏开发中非常重要的Android平台相关的知识。若读者对Android平台很不熟悉,可以参考笔者在人民邮电出版社出版的《Android应用开发完全自学手册——核心技术、传感器、2D/3D、多媒体与典型案例》一书,其对Android各方面的基础知识都进行了详细介绍。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- 面试大杂烩
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库

微信收款码
支付宝收款码