PAS200Cluster软件需求规格说明书.docx
《PAS200Cluster软件需求规格说明书.docx》由会员分享,可在线阅读,更多相关《PAS200Cluster软件需求规格说明书.docx(84页珍藏版)》请在冰豆网上搜索。
PAS200Cluster软件需求规格说明书
产品名称Productname
密级Confidentialitylevel
PAS200
机密Confidential
产品版本Productversion
Total57pages共57页
--
PAS200ClusterSoftwareRequirementsSpecification
PAS200Cluster软件需求规格说明书
Preparedby
拟制
李秀军
张莉
Date
日期
2014-10-31
Reviewedby
评审人
Date
日期
Approvedby
批准
Date
日期
Authorizedby
签发
Date
日期
ShanshuiOptoelectronicTechnologiesCo.,Ltd.
江西山水光电科技有限公司
Allrightsreserved
版权所有XX
(REP01T01IPD-CMM/forinternaluseonly)
(REP01T01IPD-CMM/仅供内部使用)
RevisionRecord修订记录
Date
日期
RevisionVersion
修订
版本
CRID/DefectID
CR号
SecNo.
修改
章节
ChangeDescription
修改描述
Author
作者
2014/10/31
完成初稿
李秀军
Catalog目录
TableList表目录Notableofcontentsentriesfound.FigureList图目录
图2集群模块外部关系图10
PAS200ClusterSoftwareRequirementsSpecification
PAS200Cluster软件需求规格说明书
Keywords关键词:
NDP、NTDP、集群
Abstract摘要:
本文描述PAS200系列分组接入产品上的集群(Cluster)软件特性的需求规格。
Listofabbreviations缩略语清单:
Abbreviations
缩略语
Fullspelling英文全名
Chineseexplanation中文解释
FTP
FileTransferProtocol
文件传输协议
NAT
NetworkAddressTranslation
网络地址转换
NDP
NeighborDiscoveryProtocol
邻居发现协议
NTDP
NeighborTopologyDiscoveryProtocol
邻居拓扑发现协议
SNMP
SimpleNetworkManagementProtocol
简单网络管理协议
1
Introduction简介
1.1Purpose目的
本文阐述了PAS200系列分组接入产品上的集群(Cluster)软件特性的开发需求。
用于指导集群项目的开发人员进行设计、开发和测试,是整个项目后续工作的基础。
1.2Scope范围
本项目输出产品名称为集群(Cluster),是PAS200系列分组接入产品上的一个软件特性模块,在本软件特性模块中将实现以下功能:
1、支持邻居管理功能。
2、支持拓扑管理功能。
3、支持即插即用功能。
4、支持IP地址节省功能。
5、支持网管自动发现远端。
6、支持集群集中管理远端。
7、支持远端设备无障碍访问。
本软件特性只支持PAS100和PAS200系列产品的集群功能,不支持MASP155C和MASP155D系列产品的集群功能。
2Generaldescription总体概述
2.1Softwareperspective软件概述
2.1.1AbouttheProject项目介绍
随着我司PAS200系列分组接入设备推向市场和大规模使用,经常会遇到工程开通安装的麻烦,同时设备的管理和维护也不方便,还会遇到IP地址被耗费过多的问题。
严格意义上说,我司开发的PAS200产品属于以太网交换机,因此,可以采用以太网集群管理技术来要解决当前PAS200遇到的这些问题,实现即插即用、自动发现和节省IP的目的。
集群(Cluster)指的是一组设备的集合,集群管理的主要目的是解决大量分散的设备的集中管理问题,主要包括集群邻居管理、集群拓扑管理、集群成员管理、集群集中管理、访问通道管理等。
在集群内,设备被划分为三种角色:
管理设备、成员设备和候选设备。
集群通过NDP(邻居发现协议)、NTDP(邻居拓扑发现协议)、Cluster(集群管理协议)对集群内部的设备进行配置和管理。
集群的工作过程包括拓扑收集以及集群的建立和维护,拓扑收集过程和集群建立和维护过程相对独立,拓扑收集过程在集群建立之前就开始启动,工作原理如下所述:
所有设备通过NDP来获取邻居设备的信息,包括邻居设备的软件版本、主机名、MAC地址和端口名称等信息。
管理设备通过NTDP来收集指定跳数范围内的设备信息以及各个设备的连接信息,并从收集到的拓扑信息中确定集群的候选设备。
管理设备根据NTDP收集到的候选设备信息完成候选设备加入集群、成员设备离开集群操作。
2.1.2EnvironmentofProduct产品环境介绍
下面图1所示PAS200系列接入设备的集群组网应用示意图,管理设备和成员设备组成了一个集群Cluster。
一个集群中有且仅有一台管理设备,管理设备可以自动收集设备拓扑,并建立集群,集群建立后,管理设备提供了一个对集群的管理通道,对成员设备进行管理。
新设备接入到集群后,首先会通告自己的邻居信息;管理设备发现有新设备接入,会进行设备拓扑收集;管理设备发起成员设备加入请求,发起注册过程(分配IP地址和协商管理VLAN);管理设备和成员设备通过握手报文维持关系,同时通过告警通知网管管理该成员设备。
用户只需要通过在管理设备配置一个公网IP地址,就可以实现对多个分散的设备进行管理。
开启了集群管理功能以后,用户除了减少对分散的设备重复配置工作以外,还可以实现对分散的设备进行远程管理,大大减少了组网配置的工作量。
成员设备一般不设置公网IP地址,用户通过管理设备实现对成员设备的管理和维护。
图1集群组网应用示意图
下面图2所示PAS200系列接入设备的集群模块外部关系图。
集群管理模块包括邻居管理、拓扑管理、成员管理、集中管理、访问通道等部分。
集群邻居管理包含自动发送邻居信息、邻居信息收集更新、邻居信息维护老化;集群拓扑管理包含拓扑信息请求、直接拓扑请求、拓扑请求处理、拓扑信息收集更新、拓扑信息维护老化;集群成员管理包含成员注册加入功能、成员手工删除功能、成员状态迁移、管理VLAN协商功能、IP自动分配管理;集群集中管理包含远程配置功能、统一升级功能等;访问通道管理包含集群IPNAT功能(SNMP)、重定向功能(Telnet)等。
集群软件特性还支持用户的配置和调试功能,为用户提供丰富的命令行接口。
图2集群模块外部关系图
2.2Softwarefunction软件功能
集群软件特性实现以下软件功能:
1、支持自动发送邻居信息。
2、支持邻居信息收集更新。
3、支持邻居信息维护老化。
4、支持集群拓扑信息请求。
5、支持集群拓扑直接请求。
6、支持集群拓扑请求响应。
7、支持请求报文延时转发。
8、支持拓扑信息收集更新。
9、支持拓扑信息维护老化。
10、支持成员注册加入功能。
11、支持成员手工删除功能。
12、支持成员状态迁移功能。
13、支持集群管理VLAN协商。
14、支持集群IP地址分配管理。
15、支持集群远程配置功能。
16、支持集群统一升级功能。
17、支持集群访问NAT功能(SNMP)。
18、支持集群访问重定向(Telnet)。
集群软件特性实现以下用户接口:
(1)使能/禁止全局的NDP功能
(2)使能/禁止接口的NDP功能
(3)修改NDP信息的保持时间
(4)修改NDP报文的时间间隔
(5)显示接口的NDP配置和邻居信息
(6)使能/禁止全局的NTDP功能
(7)使能/禁止接口的NTDP功能
(8)修改拓扑收集的定时间隔
(9)修改拓扑收集的范围直径
(10)修改拓扑收集的延时参数
(11)显示NTDP配置和设备信息列表
(12)开启/关闭设备的集群功能
(13)指定/取消设备为管理设备
(14)配置集群的管理VLAN功能
(15)配置集群的IP地址分配池
(16)集群自动重建和刷新功能
(17)静态成员的添加删除功能
(18)配置集群的FTP服务器
(19)重启指定的远端设备
(20)升级指定的远端设备
(21)显示集群的配置和状态信息
(22)显示集群当前设备的本拓结构
(23)显示集群的候选设备和成员设备
(24)管理设备和成员设备的命令行切换
2.3Usercharacteristics用户特征
集群软件特性的用户为PAS200产品的相关模块的设计开发人员,PAS200产品的使用者以及维护人员。
这些用户应具备丰富的数据通信知识,了解以太网集群管理的功能和原理。
2.4Assumptions&Dependencies假设和依赖关系
1.、假设交换芯片能够识别的报文。
2、依赖操作系统提供的定时器、消息和队列等。
3、依赖操作系统提供的报文接收接口和收发接口。
3RequirementsModeling需求建模
3.1Modelingtool建模工具
无
4SpecificRequirements具体需求
4.1FunctionalRequirements功能需求
4.1.1支持自动发送邻居信息
1.Introduction介绍
NDP(NeighborDiscoveryProtocol,邻居发现协议)是用来发现邻接设备点相关信息的协议。
NDP运行在数据链路层,因此可以支持不同的网络层协议。
本需求实现对运行NDP的设备定时向所有激活的端口广播带有NDP数据的报文。
NDP报文中携带有本设备的设备类型、设备的ID、连接端口、双工状态、产品版本、Bootrom版本等信息。
另外,NDP报文中还携带有有效的保留时间字段,该字段指示接收设备必须保存该NDP数据的时间。
2.Inputs输入
NDPHello发送定时器超时消息,定时器时长即为NDP报文发送时间间隔。
3.Process处理
初始化NDP报文内容(协议0x88A7,类型0x00030000);
读取本设备的设备类型(CardType)、设备的ID、连接端口(PortSite)、双工状态、产品版本、Bootrom版本和保持时间,将相关信息按照以太网集群协议标准格式封装TLV数据信息;
遍历设备上所有的逻辑端口,进行如下处理:
IF(端口NDP使能&&端口LINKUP)
{
设置报文发送控制信息:
DMAC:
0180C200000A,发送端口为本端口,报文不带Tag;
调用操作系统提供的报文发送接口从本端口发送。
}
4.Output输出
定时向本设备上所有激活的端口广播带有NDP信息的数据报文。
4.1.2支持邻居信息收集更新
1.Introduction介绍
NDP用于发现直接相连的邻居信息,包括邻接设备的设备类型、设备的ID、连接端口、双工状态、产品版本、Bootrom版本等信息。
本需求实现对相应激活的端口上的邻居信息进行收集更新。
接收NDP报文的设备保存报文中的信息,但不转发NDP报文。
收到的信息如果与旧的信息不同,则更新NDP表中的相应数据项。
如果相同,则只更新有效保留时间。
2.Inputs输入
从链路层输入的协议报文,输入报文一定要满足(协议0x88A7,类型0x00030000)要求。
3.Process处理
读取输入协议报文中的相关信息,对报文进行有效性检查(协议类型0x88A7且报文类型0x00030000);
根据输入协议报文的端口检查端口NDP配置:
IF(端口NDP使能&&端口LINKUP)
{
IF(设备ID、设备类型与记录的邻居相同)
{
更新该邻居的连接端口、双工状态、产品版本、Bootrom信息等;
更新该邻居信息的有效保留时间。
}
ELSE
{
依据设备类型和设备ID的创建邻居数据表项;
记录该邻居的连接端口、双工状态、产品版本、Bootrom信息等;
记录该邻居信息的有效保留时间;
本设备出现了端口邻居变化的处理:
{
如果本设备为管理设备,启动CLST的管理VLAN协商模块。
管理VLAN协商通过后才通知NTDP模块进行直接拓扑收集;
}
}
}
4.Output输出
更新对应邻居信息数据表项,更新邻居信息的有效保留时间。
4.1.3支持邻居信息维护老化
1.Introduction介绍
NDP的设备都维护NDP邻居信息表,邻居信息表中的每一表项都会自动老化。
一旦超过老化时间,NDP自动删除相应的邻居表项。
同时,用户可以清除当前的NDP信息以重新收集邻接信息。
本需求实现对设备上所有的邻居信息进行定时老化,老化依据邻居表项中的有效保留时间。
2.Inputs输入
1秒定时器超时消息
3.Process处理
系统定时(1秒)对所有邻居信息的有效保留时间进行减一处理,对满足老化条件的邻居表项进行老化。
IF(邻居信息的有效保留时间等于0秒)
{
不处理,跳过。
}
ELSEIF(邻居信息的有效保留时间等于1秒)
{
删除该邻居信息表项(且有效保留时间为0);
}
ELSE
{
邻居信息的有效保留时间减1秒。
}
4.Output输出
对老化条件的邻居表项进行老化删除,不满足老化条件的邻居表项保留时间减一。
4.1.4支持集群拓扑信息请求
1.Introduction介绍
NTDP(NeighborTopologyDiscoveryProtocol,邻居拓扑发现协议)是用来收集网络拓扑信息的协议。
NTDP为集群管理设备提供可加入集群的设备信息,收集指定跳数内的设备的拓扑信息。
NDP为NTDP提供邻接表信息,NTDP根据邻接信息发送和转发NTDP拓扑收集请求,收集一定网络范围内每个设备的NDP信息和它与所有邻居的连接信息。
收集完这些信息后,管理设备或者网管可以根据需要使用这些信息,完成所需的功能。
本需求实现管理设备定时触发向所有激活的端口发送NTDP请求报文,和端口事件触发向指定激活的端口发送NTDP请求报文。
2.Inputs输入
定时器(拓扑收集时间间隔)超时消息;或者指定端口激活NTDP和端口LINKUP事件。
3.Process处理
初始化NTDP报文内容(协议0x88A7,类型0x00040000);
在NTDP报文中封装TTL(收集范围跳数)、报文类型(0x01拓扑请求报文)、IndexID报文标志、HopDelay、PortDelay和AddressList等信息。
如果输入的是定时器超时消息,管理设备对所有激活NTDP的端口进行处理:
IF(端口NDP使能&&端口NTDP使能&&端口LINKUP)
{
设置报文发送控制信息:
DMAC:
0180C200000A,发送端口为本端口,报文不带Tag;
调用操作系统提供的报文发送接口从本端口发送。
}
ELSE
{
不处理,跳过;
}
如果输入的是端口激活NTDP和端口LINKUP事件,管理设备会进行如下处理:
IF(端口NDP使能&&端口NTDP使能&&端口LINKUP)
{
设置报文发送控制信息:
DMAC:
0180C200000A,发送端口为本端口,报文不带Tag;
调用操作系统提供的报文发送接口从本端口发送(重复发生3个报文)。
}
ELSE
{
不处理,跳过;
}
4.Output输出
管理设备从使能NTDP功能的端口发送NTDP拓扑收集请求报文。
4.1.5支持集群直接拓扑请求
1.Introduction介绍
NTDP(NeighborTopologyDiscoveryProtocol,邻居拓扑发现协议)是用来收集网络拓扑信息的协议。
NTDP为集群管理设备提供可加入集群的设备信息,收集指定跳数内的设备的拓扑信息。
当成员设备上的NDP发现邻居有变化时,通过握手报文将邻居改变的消息通知管理设备,管理设备可以启动NTDP进行指定拓扑收集,从而使NTDP能够及时反映网络拓扑的变化。
本需求实现邻居变化触管理设备发向指定设备发送NTDP直接拓扑请求报文,进行进行指定拓扑收集。
2.Inputs输入
管理设备通过NDP握手报文发现有邻居变化消息。
3.Process处理
初始化NTDP报文内容(协议0x88A7,类型0x00040000);
在NTDP报文中封装TTL(收集范围跳数为1)、报文类型(0x03直接拓扑请求报文)、IndexID报文标志、HopDelay、PortDelay和AddressList等信息。
IF(端口NDP使能&&端口NTDP使能&&端口LINKUP)
{
设置报文发送控制信息:
目的MAC为被收集设备的MAC地址,端口为目的MAC学到的物理端口,报文发送携带集群VLANTAG;
调用操作系统提供的报文发送接口从对应的端口发送。
}
ELSE
{
不处理,跳过;
}
4.Output输出
管理设备向指定设备发送一个NTDP直接拓扑请求报文。
4.1.6支持集群拓扑请求响应
1.Introduction介绍
当设备收到NTDP拓扑请求报文(包括直接拓扑请求报文)时,设备应立即发送拓扑响应报文至管理设备,并在已使能NTDP功能的端口复制此请求报文并发送到邻接设备;拓扑响应报文包含本设备的基本信息和所有邻接设备的NDP信息。
邻接设备收到请求报文后将执行同样操作,直至拓扑收集请求报文扩散到指定跳数范围内的所有设备。
本需求实现NTDP拓扑请求报文(包括直接拓扑请求报文)的响应处理。
2.Inputs输入
从链路层输入的协议报文,输入报文一定要满足(协议0x88A7,类型0x00040000)要求。
3.Process处理
读取输入协议报文中的相关信息,对报文进行有效性检查(协议类型0x88A7且报文类型是0x00040000);
NTDP报文类型非拓扑请求(类型0x01和0x03)、或者IndexID不大于前一次IndexID、或者TTL取值非法的报文都不处理,直接丢弃;
IF(TTL非0并且有效)
{
初始化NTDP报文内容(协议0x88A7,类型0x00040000)。
NTDP报文类型为0x02拓扑响应报文、拷贝请求报文的IndexID标志、AddressList信息。
按照以太网集群协议标准格式封装将本设备的基本信息和所有邻接设备的NDP信息。
设置报文发送控制信息:
目的MAC为AddressList首个MAC地址,端口为目的MAC学到的物理端口,报文发送携带集群VLANTAG;
调用操作系统提供的报文发送接口从对应的物理端口发送。
如果TTL大于1,将该NTDP拓扑请求报文缓存在内存中。
启动NTDP报文延时转发定时器,定时器时长为请求报文的HopDelay。
}
4.Output输出
成员设备将拓扑响应报文发送至管理设备。
4.1.7支持请求报文延时转发
1.Introduction介绍
当拓扑收集请求报文在网络内扩散时,大量网络设备同时收到拓扑收集请求并同时发送拓扑响应报文,为了避免网络拥塞和管理设备任务繁忙,可采取以下措施控制拓扑收集请求报文扩散速度:
设备收到拓扑收集请求后不是立即转发该拓扑收集请求报文,而是延迟等待一定时间,才开始在使能NTDP功能的端口转发该拓扑收集请求报文。
在同一个设备上,除第一个端口外,每个使能NTDP功能的端口在前一个端口发送拓扑收集请求报文后都会延迟一定时间再进行拓扑收集请求报文的转发。
2.Inputs输入
NTDP报文延时转发定时器超时消息。
3.Process处理
取出缓存中的NTDP拓扑请求报文,将TTL减一。
获取第一个NTDP激活的端口(排除接收端口),然后将报文复制从该端口发送出去。
循环获取下一个NTDP激活的端口(排除接收端口),处理如下:
FOR(下一个NTDP激活的端口)
{
根据报文中PortDelay的计算端口延时转发时间。
等待延时转发时间后,将报文复制从该端口发送出去。
}
4.Output输出
将NTDP拓扑请求报文从所有其他NTDP激活的端口上转发出去。
4.1.8支持拓扑信息收集更新
1.Introduction介绍
NTDP(NeighborTopologyDiscoveryProtocol,邻居拓扑发现协议)是用来收集网络拓扑信息的协议。
NTDP为集群管理设备提供可加入集群的设备信息,收集指定跳数内的设备的拓扑信息。
管理设备在发送拓扑发现报文的同时,必须从所有端口接收拓扑发现报文,并从拓扑发现报文中提取设备的信息,将这些信息存贮起来称为NTDPCache信息表和拓扑关系表。
当收到的拓扑发现报文中的信息和存贮的不同时,则更新存贮的Cache信息表和拓扑关系表。
管理设备绝不能转发拓扑发现报文,否则会造成报文广播泛滥。
2.Inputs输入
从链路层输入的协议报文,输入报文一定要满足(协议0x88A7,类型0x00040000)要求。
3.Process处理
读取输入协议报文中的相关信息,对报文进行有效性检查(协议类型0x88A7且报文类型是0x00040000);
NTDP报文类型非拓扑相应(类型0x02)、或者IndexID不等于记录IndexID的报文都不处理,直接丢弃报文;
IF(拓扑响应报文中的设备信息在Cache信息表中存在)
{
刷新对应NTDPCache信息表项的有效保留时间;
计算报文响应设备的邻居拓扑关系,进行如下处理:
{
如果拓扑关系表中存在该邻居拓扑关系,则更新其的有效保留时间;
如果拓扑关系表中的拓扑关系发生变化,则更新拓扑表项后Trap拓扑变化事件;
如果发现有新DeviceID,通过CLST管理报文通知该设备进行管理VLAN协商。
}
}
IF(拓扑响应报文中的设备信息在Cache信息表中不存在)
{
在NTDPCache信息表中添加信息的设备Cache信息表项,发起成员注册处理;
计算报文响应设备的邻居拓扑关系,则添加邻居拓扑关系后Trap拓扑变化事件;
如果发现有新DeviceID,通过CLST管理报文通知该设备进行管理VLAN协商。
}
4.Output输出
管理设备收集更新NTDPCache信息表和拓扑关系表。
4.1.9支持拓扑信息维护老化
1.Introduction介绍
NTDP(NeighborTopologyDiscoveryP