一种网络设备的邻居发现方法及系统的制作方法

文档序号:7626355阅读:134来源:国知局
专利名称:一种网络设备的邻居发现方法及系统的制作方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络设备的邻居发现方法及系统。
背景技术
在网路设备管理技术中,设备邻居发现(ND)是网络拓扑管理的基础。高性能宽带信息网(3Tnet)网络规范提出了一体化网管概念,将网络拓扑管理作为一体化网管的一项重要功能。
设备邻居发现需要具备以下功能路由器和前缀发现;地址解析;重定向功能;邻居不可达检测。
面对日益复杂的用户网络和运营商网络环境,网络拓扑管理以更高的标准要求设备邻居发现方法具有的高效、层次清晰、功能全面等特性。邻居发现不仅仅是单纯的网络连接关系发现,而是需要对邻接设备的各种维护信息(如设备软硬件版本等)进行采集,便于集中进行网络设备的管理和维护。
现有的网络设备邻居发现方法基于设备的具体角色(例如管理设备、被管理设备;客户端Client/服务器Server;交换机Switch/路由器Router)而进行不同的邻居发现报文处理,邻居发现报文采用请求应答模式。网络中的设备根据设备邻居的不同角色向每种角色的设备发送多个不同种类的报文,使邻居发现方法变得复杂、不易实现,同时占用更多的网络资源。
现有邻居发现技术的缺点包括
邻居发现基于设备的特定角色,实现起来比较复杂,也不便于实际的网络维护;邻居发现采用请求应答多种报文交互模式,增加设备对不同报文的处理开销;邻居发现只搜集网络设备物理连接关系,不采集邻接设备相关维护信息(如软硬件特定信息),无法为一体化网管提供坚实的技术基础。

发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种能够在仅使用一种报文,无需区分网络设备角色的情况下实现网络邻居发现的方法及系统。
本发明的目的是通过以下技术方案实现的一种网络设备的邻居发现方法,其特征在于,网络设备周期性地向邻接设备发送同一种的邻居发现报文,同时接收网络中其它邻居设备发送的邻居发现报文,各网络设备根据接收到的邻居发现报文采集邻接设备信息,存储和维护邻居信息。
网络设备将采集到的邻居设备信息存储于邻居信息表中进行维护。
邻居信息表可用采用数据库以及存贮内存的存贮方式,在需要提取信息时使用遍历检索的方法进行提取。
所述邻居信息表中设置老化时间参数,用于控制老化邻居信息表、自动删除邻居信息表中信息的时间。
邻居信息表当老化时间为0时开始被老化,信息表中的信息被自动删除。
所述邻居发现方法中定义了一个邻居发现协议,用于发现邻接设备信息,为拓扑发现报文提供基本信息。
所述邻接设备信息包括但不限于设备类型、硬件版本、软件版本、连接端口、设备ID、地址信息、设备能力、硬件平台信息中的至少一项。
所述的邻居发现报文基于以太网报文时,报文可包括以下各域中的一项或多项目的媒体访问控制域,用于存贮目的媒体访问控制地址;源媒体访问控制域,用于存贮源媒体访问控制地址;协议类型域,用于存贮邻居发现报文基于以太网的特定协议类型;数据域,包括报文类型域和报文数据域;循环冗余校验域,用于存贮循环冗余校验结果。
所述数据域中的报文数据域包括以下域中的至少一项,版本域,用于存贮网络邻居发现报文的协议版本号;老化时间域,用于存贮接收者可保留该报文的时间,计时单位为秒;校验和域,用于存贮校验和的数值;报文类型名称域,用于存贮的内容包括以下至少一项,邻居设备端口媒体访问控制地址;邻居的端口名称;邻居设备名称;设备处理能力;设备所在端口的网络协议段;端口单双工模式;设备所在的集群信息;产品版本;硬件版本;软件版本;私有虚拟局域网身份识别;报文类型取值域,根据报文类型名称的不同存贮不同的相应取值;
报文类型长度域,用于存贮用于描述报文类型的报文类型名称域、报文类型取值域、报文类型长度域总共占用长度的数值。
一种网络设备的邻居发现系统,其特征在于,所述系统包括邻居发现主模块,用于将收到邻居发现报文交由邻居发现报文接收模块处理;还用于控制邻居发现表项管理模块老化所有表项;邻居发现报文发送模块,用于进行邻居发现报文组装,并向每个邻居发现使能接口发送邻居发现报文;邻居发现报文接收模块,用于根据接收到的邻居发现报文生成邻居发现表项并通过邻居发现表项管理模块进行表项信息插入操作;邻居发现表项管理模块,对邻居发现表项提供插入、查找、遍历、删除操作;对邻居发现表进行老化处理。
所述的邻居发现系统还包括邻居老化子模块,该模块用于设置邻居发现报文发送定时器和邻居发现老化定时器;邻居发现报文发送定时器超时,通知邻居发现报文发送模块向所有邻居发现使能接口发送邻居发现报文。
所述的邻居发现系统还包括表项插入管理子模块,该模块用于在进行表项插入操作时判断要插入表项是否是新表项,若是新表项则插入表中,如不是新表项则更新该表项。
所述的邻居发现系统还包括信息管理子模块,该模块用于设置邻居发现报文发送间隔时长;查询设备邻居信息。
所述的邻居发现系统还包括邻居发现配置管理模块,该模块用于设置邻居发现报文老化间隔时长。
所述的邻居表项管理模块管理一个长度为本机接口最大数目的数组,数组的索引是接口索引,每一维是一个单向链表,用于存储统一接口下的所有邻居的邻居发现表项。
由上述本发明提供的技术方案可以看出,本发明可以实现在邻居发现的过程中无需区分设备在网络中的角色,简化运算过程,便于网络拓扑维护;邻居发现报文携带的可维护信息,为一体化网络管理实施提供重要的信息源;在全网中只需使用一种邻居发现报文,方法简单易于实现。


图1所示为邻居发现功能各个模块之间的数据流程图;图2所示为邻居发现表项的HASH(哈希)表存储格式;图3所示为基于以太网的邻居发现报文格式;图4所示为网络设备的邻居发现系统示意图。
具体实施例方式
本发明的核心是网络设备忽略设备在网络中层次位置和所承担业务功能等差异性,所有的网络设备都执行相同的邻居发现方法,即周期性地向邻接设备发送单一的邻居发现握手(Hello)报文,同时网络设备接收邻居设备发送的单一的邻居发现握手(Hello)报文并从所接收到的握手报文中获取邻居设备的信息,存储和维护邻居信息表,这样,网络中的设备就可以简单高效地发现网络中周围的其他设备,便于实施一体化网络管理。
下面将结合附图对本发明所述的邻居发现方法及系统作详细说明。
网络中的所有设备都周期性地向邻接设备发送单一的邻居发现握手(Hello)报文,网络设备在向邻接设备发送单一的邻居发现握手报文的同时接收由邻居设备发送的单一的邻居发现握手(Hello)报文,并从所接收到的握手报文中获取邻居设备的信息,存储和维护邻居信息表。
邻居信息表提供邻居设备的设备信息,如设备类型、设备ID等。本发明为每个邻居信息表都设置了一个老化时间(TTL),一旦到达老化时间即邻居发现报文的老化时间为0时,邻居信息表中的相应记录将被自动删除。
设备接口处于DOWN(关)状态前为了删除邻接设备中邻居信息表内原有的邻居信息,向邻接设备发送一个老化时间为0的邻居发现报文,便于邻接设备进行邻居信息老化处理,快速更新网络拓扑。
在本发明中规定了一种邻居发现协议,该协议用于发现邻接设备的设备类型、硬件版本、软件版本、连接端口、设备ID、地址信息、设备能力、硬件平台等信息,为拓扑发现报文提供最基本的信息。
本发明中的邻居发现(ND)需要具备以下功能ND报文的收发处理;ND表项的超时处理;ND报文的解析;ND表项插入;ND表项删除;ND表项信息更新;ND信息查询与显示。
邻居发现(ND)功能可分解为以下模块ND主模块;ND报文发送模块;ND报文接收模块;ND表项管理模块;
ND配置管理模块。
邻居发现功能各个模块之间的数据流程图(DFD)如图1所示。
以下详细介绍如图4所示的邻居发现系统中各模块网络设备的邻居发现系统主要包括邻居发现主模块,用于将收到邻居发现报文交由邻居发现报文接收模块处理;还用于控制邻居发现表项管理模块老化所有表项;邻居发现报文发送模块,用于进行邻居发现报文组装,并向每个邻居发现使能接口发送邻居发现报文;邻居发现报文接收模块,用于根据接收到的邻居发现报文生成邻居发现表项并通过邻居发现表项管理模块进行表项信息插入操作;邻居发现表项管理模块,对邻居发现表项提供插入、查找、遍历、删除操作;对邻居发现表进行老化处理。
本发明所述的邻居发现系统还包括邻居老化子模块,该模块用于设置邻居发现报文发送定时器和邻居发现老化定时器;邻居发现报文发送定时器超时,通知邻居发现报文发送模块向所有邻居发现使能接口发送邻居发现报文。
本发明所述的邻居发现系统还包括表项插入管理子模块,该模块用于在进行表项插入操作时判断要插入表项是否是新表项,若是新表项则插入表中,如不是新表项则更新该表项。
本发明所述的邻居发现系统还包括信息管理子模块,该模块用于设置邻居发现报文发送间隔时长;查询设备邻居信息。
本发明所述的邻居发现系统还包括邻居发现配置管理模块,该模块用于设置邻居发现报文老化间隔时长。
本发明所述的邻居表项管理模块管理一个长度为本机接口最大数目的数组,数组的索引是接口索引,每一维是一个单向链表,用于存储统一接口下的所有邻居的邻居发现表项。
邻居发现报文基于以太网报文格式定义如下目的MAC目的MAC地址源MAC源MAC地址协议类型邻居发现报文基于以太网的特定协议类型(如0x88A7)设备微码层判断二层以太协议类型为邻居发现协议,直接将报文上送设备主机处理。
报文类型邻居发现报文类型(如0x0002);Version(版本)(1byte)保存网络邻居发现报文协议的版本号;TTL(老化时间)(1byte)设置报文接收设备保存这个报文的时间,单位是秒;CheckSum(校验和)(2bytes)保存校验和;Type(报文类型)(2bytes)其定义如下,0x0001(Mac,邻居设备端口MAC地址);0x0002(PortName,邻居的端口名称);0x0003(DeviceName,邻居设备名称);0x0004(Capability,能力);
0x0005(IP Prefix,设备所在端口的IP段);0x0006(PortMode,端口单双工模式);0x0007(Cluster,设备所在的集群信息);0x0008(ProductVer,产品版本);0x0009(HardVer,硬件版本);0x0010(SoftVer,软件版本);0x0011(Native VLAN,私有VLAN ID);其它(保留);Length(长度)(2bytes)Type/Length/Value域的总长度;Value(取值)(Variable)由Type的取值决定,可取不同的值。
综上所述,本发明可以实现在邻居发现的过程中不区分设备在网络中的角色即可进行查询、发现,且该方法实现简单,适用范围广,便于网络拓扑维护;邻居发现报文中同时携带设备软硬件平台等可维护信息,为一体化网络管理实施提供重要的信息源。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种网络设备的邻居发现方法,其特征在于,网络设备周期性地向邻接设备发送同一种的邻居发现报文,同时接收网络中其它邻居设备发送的邻居发现报文,各网络设备根据接收到的邻居发现报文采集邻接设备信息,存储和维护邻居信息。
2.根据权利要求1所述的一种网络设备的邻居发现方法,其特征在于,网络设备将采集到的邻居设备信息存储于邻居信息表中进行维护。
3.根据权利要求2所述的一种网络设备的邻居发现方法,其特征在于,邻居信息表可用采用数据库以及存贮内存的存贮方式,在需要提取信息时使用遍历检索的方法进行提取。
4.根据权利要求1或2所述的一种网络设备的邻居发现方法,其特征在于,所述邻居信息表中设置老化时间参数,用于控制老化邻居信息表、自动删除邻居信息表中信息的时间。
5.根据权利要求4所述的一种网络设备的邻居发现方法,其特征在于,邻居信息表当老化时间为0时开始被老化,信息表中的信息被自动删除。
6.根据权利要求1所述的一种网络设备的邻居发现方法,其特征在于,所述邻居发现方法中定义了一个邻居发现协议,用于发现邻接设备信息,为拓扑发现报文提供基本信息。
7.根据权利要求2或6所述的一种网络设备的邻居发现方法,其特征在于,所述邻接设备信息包括但不限于设备类型、硬件版本、软件版本、连接端口、设备ID、地址信息、设备能力、硬件平台信息中的至少一项。
8.根据权利要求1所述的一种网络设备的邻居发现方法,其特征在于,所述的邻居发现报文基于以太网报文时,报文可包括以下各域中的一项或多项目的媒体访问控制域,用于存贮目的媒体访问控制地址;源媒体访问控制域,用于存贮源媒体访问控制地址;协议类型域,用于存贮邻居发现报文基于以太网的特定协议类型;数据域,包括报文类型域和报文数据域;循环冗余校验域,用于存贮循环冗余校验结果。
9.根据权利要求8所述的一种网络设备的邻居发现方法,其特征在于,所述数据域中的报文数据域包括以下域中的至少一项,版本域,用于存贮网络邻居发现报文的协议版本号;老化时间域,用于存贮接收者可保留该报文的时间,计时单位为秒;校验和域,用于存贮校验和的数值;报文类型名称域,用于存贮的内容包括以下至少一项,邻居设备端口媒体访问控制地址;邻居的端口名称;邻居设备名称;设备处理能力;设备所在端口的网络协议段;端口单双工模式;设备所在的集群信息;产品版本;硬件版本;软件版本;私有虚拟局域网身份识别;报文类型取值域,根据报文类型名称的不同存贮不同的相应取值;报文类型长度域,用于存贮用于描述报文类型的报文类型名称域、报文类型取值域、报文类型长度域总共占用长度的数值。
10.一种网络设备的邻居发现系统,其特征在于,所述系统包括邻居发现主模块,用于将收到邻居发现报文交由邻居发现报文接收模块处理;还用于控制邻居发现表项管理模块老化所有表项;邻居发现报文发送模块,用于进行邻居发现报文组装,并向每个邻居发现使能接口发送邻居发现报文;邻居发现报文接收模块,用于根据接收到的邻居发现报文生成邻居发现表项并通过邻居发现表项管理模块进行表项信息插入操作;邻居发现表项管理模块,对邻居发现表项提供插入、查找、遍历、删除操作;对邻居发现表进行老化处理。
11.根据权利要求10所述的一种网络设备邻居发现系统,其特征在于,所述的邻居发现系统还包括邻居老化子模块,该模块用于设置邻居发现报文发送定时器和邻居发现老化定时器;邻居发现报文发送定时器超时,通知邻居发现报文发送模块向所有邻居发现使能接口发送邻居发现报文。
12.根据权利要求10所述的一种网络设备邻居发现系统,其特征在于,所述的邻居发现系统还包括表项插入管理子模块,该模块用于在进行表项插入操作时判断要插入表项是否是新表项,若是新表项则插入表中,如不是新表项则更新该表项。
13.根据权利要求10所述的一种网络设备邻居发现系统,其特征在于,所述的邻居发现系统还包括信息管理子模块,该模块用于设置邻居发现报文发送间隔时长;查询设备邻居信息。
14.根据权利要求10所述的一种网络设备邻居发现系统,其特征为,所述的邻居发现系统还包括邻居发现配置管理模块,该模块用于设置邻居发现报文老化间隔时长。
15.根据权利要求10所述的一种网络设备邻居发现系统,其特征为,所述的邻居表项管理模块管理一个长度为本机接口最大数目的数组,数组的索引是接口索引,每一维是一个单向链表,用于存储统一接口下的所有邻居的邻居发现表项。
全文摘要
本发明提供了一种网络设备的邻居发现方法及系统,属于通信领域。该方法包括网络设备周期性地向邻接设备发送同一种邻居发现报文,同时接收网络中其它邻居设备发送的邻居发现报文,采集邻接设备信息,存储和维护邻居信息表。由本发明提供的技术方案可以看出,本发明可以实现在邻居发现的过程中无需区分设备在网络中的角色,便于网络拓扑维护;邻居发现报文携带的可维护信息为一体化网络管理实施提供重要的信息源;在全网中只需使用一种邻居发现报文,方法简单易于实现。
文档编号H04L12/28GK1866863SQ200510115460
公开日2006年11月22日 申请日期2005年11月3日 优先权日2005年11月3日
发明者李贺军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1