CN115134229B - 一种基于覆盖网的ndn网络管理系统及方法 - Google Patents

一种基于覆盖网的ndn网络管理系统及方法 Download PDF

Info

Publication number
CN115134229B
CN115134229B CN202210761619.9A CN202210761619A CN115134229B CN 115134229 B CN115134229 B CN 115134229B CN 202210761619 A CN202210761619 A CN 202210761619A CN 115134229 B CN115134229 B CN 115134229B
Authority
CN
China
Prior art keywords
ndn
configuration
management
network
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210761619.9A
Other languages
English (en)
Other versions
CN115134229A (zh
Inventor
张宇
王忠泽
张宏莉
张伟哲
方滨兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Peng Cheng Laboratory
Original Assignee
Harbin Institute of Technology
Peng Cheng Laboratory
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology, Peng Cheng Laboratory filed Critical Harbin Institute of Technology
Priority to CN202210761619.9A priority Critical patent/CN115134229B/zh
Publication of CN115134229A publication Critical patent/CN115134229A/zh
Application granted granted Critical
Publication of CN115134229B publication Critical patent/CN115134229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于覆盖网的NDN网络管理系统及方法,涉及网络管理技术领域,以解决当前NDN网络部署流程复杂且监控与维护缺失的问题。本发明系统包括一个NDN管理端和多个NDN代理端,二者通过NDN网络管理协议实现通信;NDN管理端包括管理请求解析模块、配置项管理模块、代理配置模块、代理监控模块;代理配置模块用于控制NDN代理端的各项配置,代理监控模块用于定时获取所有NDN代理端当前应用的配置,并与配置档案进行比较,若配置档案未被应用则重新应用缺失的配置项;NDN代理端包括代理请求解析模块、NDN转发器、NDN转发器管理模块、NDN转发器测量模块;NDN转发器管理模块用于查询或修改NDN转发器的各项配置。本发明实现了NDN网络管理系统的解耦,增强了系统可扩展性。

Description

一种基于覆盖网的NDN网络管理系统及方法
技术领域
本发明涉及网络管理技术领域,具体涉及一种基于覆盖网的NDN网络管理系统及方法。
背景技术
TCP/IP网络架构是当前互联网最通用的通信架构。但是当前TCP/IP网络架构逐渐暴露出其弊端和局限,TCP/IP网络架构的可靠性、安全性和移动性均无法满足网络的发展需求。随着网络的不断变革,用户将会更加注重网络的移动性、扩展性和安全性。
为了从根本上解决上述问题,研究人员提出,应开发出一个全新的网络架构取代现在的TCP/IP网络架构,故2010年由美国国家科学基金会(National ScienceFoundation,NSF)发起未来网络架构研究项目。研究人员先后提出了各种方案,其中命名数据网络(Named Data Networking,NDN)采取了基于内容的架构,颠覆了当前基于主机的网络架构,因而成为未来网络架构研究中一个具有代表性的网络架构。NDN是一个完全不同于TCP/IP的体系结构,其设计意在解决TCP/IP协议的固有缺陷,目前NDN已经成为国内外的研究热点,并在NDN之上已经有视频分发,聊天软件,远程会议等多种基于NDN的应用。
通过对TCP/IP网络架构的优势、局限性和使用经验等方面的研究,研究人员决定在NDN的架构上保留传统的TCP/IP网络架构的沙漏模型及分层思想,并对“细腰”处的中间层进行颠覆式的改进。这种改进的核心在于完全舍弃了基于IP地址的通信方式,采用基于内容的通信方式,根据内容对网络中的所有数据进行命名,在转发机制中通过对内容的名字进行匹配检索,以获取信息,从而建立一个分布式网络。这样的通信方式使得用户无需关心内容本身的存储位置,只需提供内容的名字,即可获得内容本身。
NDN网络架构的优势不仅体现在根据内容本身对网络中的所有内容进行命名,还体现在其基于数据本身的安全机制和多样的转发策略上。在数据安全方面,由应用进程对内容数据直接进行加密及数字签名以实现对数据安全的控制。在转发策略选择方面,由策略层负责管理转发和存储几大功能,其突出的特点是可同时利用3G、蓝牙、WiFI等多种连接方式,并能够在动态环境中灵活切换至最优的连接方式。在传统网络架构中,可以使用SNMP等协议用于网络设备的管理,但当前NDN网络并不存在类似的用于网络管理的协议或系统。
发明内容
鉴于以上问题,本发明提出一种基于覆盖网的NDN网络管理系统及方法,以解决当前NDN网络部署流程复杂且监控与维护缺失的问题。
根据本发明的一方面,提供一种基于覆盖网的NDN网络管理系统,该系统包括一个NDN管理端和多个NDN代理端,所述NDN代理端在被管理的NDN网络节点上;所述NDN管理端和所述NDN代理端之间通过NDN网络管理协议实现通信;其中,
所述NDN管理端包括管理请求解析模块、配置项管理模块、代理配置模块;所述管理请求解析模块用于解析接收的HTTP请求,并根据请求内容调用其他模块处理;所述配置项管理模块用于提供查询或修改配置档案的接口;所述代理配置模块用于控制NDN代理端的各项配置,包括向NDN代理端发送网络配置项的查询或修改指令,以及根据配置档案对多个NDN代理端同时应用多个配置项;
所述NDN代理端包括代理请求解析模块、NDN转发器、NDN转发器管理模块、NDN转发器测量模块;所述代理请求解析模块用于处理来自所述NDN管理端的符合NDN网络管理协议格式的请求,并根据请求内容调用其他模块处理;所述NDN转发器用于转发NDN兴趣包和数据包;所述NDN转发器管理模块用于查询或修改NDN转发器的各项配置;所述NDN转发器测量模块用于查询NDN转发器的测量指标信息。
进一步地,所述NDN网络管理协议中NDN网络包的名称包括:目标NDN节点的名称、NDN代理端名称、NDN代理端功能模块名称、NDN代理端对应功能模块所需参数。
进一步地,所述NDN管理端和NDN代理端之间通过NDN网络管理协议实现通信的机制为:在NDN代理端启动前,预先配置当前NDN节点名称和NDN代理端名称,在启动NDN代理端时,会在NDN转发器上注册路由,每个路由都对应NDN代理端上的一个事件处理函数;在NDN管理端启动后,需要添加NDN代理端连接信息配置项,通过应用连接信息配置项建立NDN管理端与各个NDN代理端之间的Face,并基于该Face建立路由;其中,Face是当前NFD与其他NDN网络设备进行通信的接口。
进一步地,所述配置档案包括所有被管理的NDN代理端配置项信息,所述配置项信息包括NFD连接信息、Face配置信息、路由配置信息、内容缓存配置信息和转发策略配置信息。
进一步地,所述NDN管理端还包括代理监控模块,所述代理监控模块用于定时获取所有NDN代理端当前应用的配置,并与所述配置档案进行比较,若所述配置档案未被应用,则标记当前NDN网络为非同步状态,并重新应用缺失的配置项。
进一步地,所述NDN管理端还包括配置项数据库,所述配置项数据库用于存储NDN网络的配置档案;所述NDN代理端还包括测量数据数据库,所述测量数据数据库用于存储测量指标信息。
根据本发明的另一方面,提供一种基于覆盖网的NDN网络管理方法,该网络管理方法为:在NDN网络中通过多个被管理的NDN代理端与NDN网络设备适配来实现管理多种不同NDN网络设备,包括配置应用和配置监控:
配置应用包括:获取用户输入的配置档案并存储;对所述配置档案进行解析,并按照顺序执行其中的配置项,实现NDN网络的配置;
配置监控包括:获取所有NDN节点的运行状态和实际应用的配置,并与用户输入的配置档案进行比较,若存在未应用的配置项则进行自动修复配置,实现NDN网络的运行配置监控。
进一步地,在NDN网络中通过NDN网络管理协议实现通信,所述NDN网络管理协议中NDN网络包的名称包括:目标NDN节点的名称、NDN代理端名称、NDN代理端功能模块名称、NDN代理端对应功能模块所需参数。
进一步地,所述配置档案包括所有被管理的NDN代理端配置项信息,所述配置项信息包括NFD连接信息、Face配置信息、路由配置信息、内容缓存配置信息和转发策略配置信息。
进一步地,配置应用中对所述配置档案进行解析,获取该配置档案中所有的配置项,且对于任意一个配置项,按照下述步骤执行,直至完成所有配置项应用:
解析获取所述配置项对应的NDN代理端名称、目标NDN节点名称、NDN代理端功能模块名称、管理命令名称及参数;所述管理命令包括状态数据集查询和控制指令;
根据所述管理命令名称及参数,生成符合NDN网络管理协议的名字,作为兴趣包的名字;
将所述兴趣包发送至对应的NDN代理端的事务处理函数;
接收NDN代理端返回的响应数据,并根据不同的管理命令选取相应TLV模型解码数据。
本发明的有益技术效果是:
本发明提出一种基于覆盖网的NDN网络管理系统及方法,其中,代理端agent负责适配被管理的NDN网络设备,管理端manager负责处理高级的网络管理指令,NDN网络管理协议统一了manager与agent之间的通信格式;本发明涉及到manager和agent的基础功能在NDN网络管理协议中有统一定义,同时通过扩充协议内容实现功能扩展,manager可根据协议指定的基础功能自由定义高级功能,agent可根据具体的NDN网络设备进行协议定义功能的适配。本发明实现了NDN网络管理系统的解耦,实现了系统的模块化,增强了系统的可扩展性。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。
图1是本发明一种基于覆盖网的NDN网络管理系统的结构示意图;
图2是本发明实施例中NFD管理命令执行流程示意图;
图3是本发明实施例中NDN网络管理系统通信机制示意图;
图4是本发明实施例中系统运行状态与转化条件示意图;
图5是本发明实施例中系统配置监控流程示意图;
图6是本发明与通过NDN网络远程配置脚本进行配置的方法在不同网络设备数目的条件下的配置操作执行时间对比图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,在下文中将结合附图对本发明的示范性实施方式或实施例进行描述。显然,所描述的实施方式或实施例仅仅是本发明一部分的实施方式或实施例,而不是全部的。基于本发明中的实施方式或实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式或实施例,都应当属于本发明保护的范围。
本发明实施例提供一种基于覆盖网的NDN网络管理系统,如图1所示,该系统在网络拓扑层面上由一个管理端(manager)和数个代理端(agent)组成,每个被管理的NDN网络节点上都会有1个agent。
管理端manager负责处理NDN网络的各项管理功能,并通过NDN网络管理协议与agent交互,具体的NDN网络设备的适配工作由agent实现。管理端manager主要包括管理请求解析模块,配置项管理模块,配置项数据库,agent(代理)配置模块和agent(代理)监控模块;代理端agent主要包括代理请求解析模块,NDN转发器,NDN转发器管理模块,NDN转发器测量模块和测量数据数据库。
在manager中,管理请求解析模块负责解析来自本系统客户端的HTTP请求,并根据请求内容调用其他模块处理;配置项数据库负责存储NDN网络的配置档案;配置项管理模块负责提供上述配置档案查询和修改的接口;其中,NDN网络的配置档案为完整的NDN网络配置模型,NDN网络配置模型包括所有纳入管理的代理端agent,以及每个agent中NFD连接信息,Face配置信息,路由配置信息,内容缓存配置信息和转发策略配置信息;agent配置模块负责控制agent所在节点的各项配置,该模块可向agent发送网络配置项的查询和修改指令,也可以根据配置档案对多个agent同时应用多个配置项,从而实现一键配置的功能;agent监控模块负责定时获取所有agent当前应用的配置,并与预期应用的配置进行比较,若预期配置未被应用,则标记当前系统为非同步状态,并尝试重新应用缺失配置项;同时该模块可定时获取agent NFD上的测量指标信息。
在agent中,代理请求解析模块负责处理来自manager的符合NDN网络管理协议格式的请求,并根据请求内容调用其他模块处理;NDN转发器管理模块负责查询修改NDN转发器的各项配置;NDN转发器测量模块负责查询NDN转发器的测量指标信息,获取的测量指标信息存储在测量数据数据库中。
NFD(NDN Forwarding Daemon,NDN转发器)是一种NDN网络转发器,其主要功能为转发NDN兴趣包和数据包。作为NDN网络的核心组成部分,NFD的主要设计目标是支持NDN体系结构的各种实验。模块化以及可扩展的设计使得设计开发者扩展NFD的功能,以及提高NFD的性能。
NDN网络管理协议负责定义manager与agent之间的通信格式或机制,该机制支持manager和agent的功能自由定义和扩展,以及数据的分段传输。
NDN网络管理系统实现网络配置管理的一般步骤为:用户将网络预期的配置以配置档案的形式写入配置项数据库中,再通过指定应用该配置档案,agent配置模块解析该配置档案,并按照一定顺序执行其中的配置项,从而实现NDN网络的配置。
NDN网络管理系统实现网络配置监控的一般流程为:manager定时从所有agent获取当前节点的运行状态和实际应用的配置,并与预期应用配置进行比较,如果存在预期配置未应用的情况,则输出未应用的配置项,同时系统尝试进行自动修复。
下面对本发明系统进行详细地说明。
1.对NDN manager中配置档案、配置项管理模块、配置项数据库、代理配置模块的设计;
NDN网络的配置档案即NDN网络配置模型,是指能够描述NDN网络各节点配置项的模型,一个网络配置模型的实例对应唯一的NDN网络配置。一个完整的网络配置模型,必须包含以下基本信息:
manager管理的网络范围,即明确哪些网络设备需要被manager纳入管理,这些网络设备需要安装agent并与manager建立连接;每个agent的配置信息,任何网络配置都可以拆分为应用于各个agent的子配置。
一个NDN网络各设备的配置可以抽象为配置模型,从而可以通过该配置模型输出和存储NDN网络的运行配置。但当前系统缺乏配置模型到NDN网络实际配置的转换。为了解决上述问题提出了配置档案相关功能的设计。
配置档案相关功能主要分为2类,一类负责将配置模型应用到实际网络中,即配置档案的应用功能和取消应用功能。另一类负责配置档案本身的查询和修改,即配置档案的创建,删除,更新和查询功能。在配置档案中,部分配置项之间存在依赖关系。所有与agent有关的配置项都以agent名称作为索引,manager通过agent列表获取所管理的全部agent的连接信息,只有与agent建立连接,manager才能应用agent端NFD相关配置。
对于agent端NFD配置项来说,每一项路由都依赖于一个Face,Face是当前NFD与其他NDN网络设备进行通信的接口。只有该Face存在,依赖该Face的路由才能建立。转发策略配置依赖与对应的路由,当转发策略配置为不存在的路由配置转发策略时,该配置不会实际生效。
配置档案应用功能输入为配置档案的名称,当所有配置项应用完毕后返回操作已完成的结果。操作流程如下:
步骤一:读取agent列表,获取所有agent名称并遍历。
步骤二:读取当前agent的连接信息,创建manager指向该agent的Face和路由。
步骤三:读取当前agent的Face配置信息,并逐一添加进agent NFD的Face列表中。
步骤四:读取当前agent的路由配置信息,并逐一添加进agent NFD的路由列表中。
步骤五:读取当前agent的内容缓存配置信息,并修改agent NFD的内容缓存配置。
步骤六:读取当前agent的转发策略配置信息,并逐一添加进agent NFD的转发策略列表中。
步骤七:若agent列表遍历未完成,则获取下一个agent名称并返回步骤二,否则流程结束。
配置档案撤销应用功能实际上是应用功能的反向操作,在配置档案应用功能中,所有的NFD管理操作都有对应的反向操作,例如创建Face功能有对应的删除Face功能。只需对每个agent按照配置应用功能相反的顺序反向应用配置档案中的配置项,即可完成配置档案撤销应用功能。
如果当前NDN网络已经应用一个配置档案,则在应用其他配置档案时,会首先执行取消应用旧配置档案的功能,再执行应用新配置档案功能。
为了实现对配置档案的管理,本系统提供了配置档案持久存储的功能。用户可以将配置档案预先写入系统中,并随时更改,应用该配置档案。通常一个完整的NDN网络配置包括许多不同类型的配置项,传统的关系数据库不适合存储类型不一致的数据项,以文档形式存储配置项的非关系数据库更加适合。故本系统的存储数据库选用MongoDB。
传统数据库使用数据表和数据行的概念组织数据,在MongoDB中,则使用数据集合和数据文档的概念组织数据。所有属于本系统的配置均存储在同一数据库中,不同的NDN网络配置写入不同的数据集合中。一个数据集合就是本系统的一个完整的配置档案,其中包括了当前NDN网络所有的配置信息。一份配置档案由多个配置项构成。尽管配置项类型不同,但为了方便对配置项的查询和修改,所有的配置项的外层结构相同,对应设计如下:
Name:配置项名称,用于区分多个相同类型的配置项,通常使用agent的名称作为配置项名称;
Type:配置项类型,类型的值决定该配置项的格式和用途;
Attribute:配置项实际内容,其格式由Type的值决定;
配置项管理模块负责配置档案本身的查询与修改功能。本系统既可以通过传入整个配置模型直接创建新的配置档案,或更新已有的配置档案,也可以通过指定配置项的类型和名称更新其中的部分配置项。
NFD管理功能是本系统的基本功能之一。在NDN网络管理协议中,负责NFD管理功能的兴趣包,其名称<module>部分为nfd-manage,而其对应的参数<arguments>的组成结构如下:
/<manage-module>/<command-name>/<command-args>
其中<manage-module>代表NFD中的管理模块,每个管理模块负责查询更改NFD中对应模块的配置,faces,rib,cs和strategy-choice都是NFD中主要的管理模块。
<command-name>代表具体的命令名称,含义为对应管理模块下的特定功能,通常为所管理配置的查询,添加,删除和更新操作。
<command-args>代表命令所需的额外参数。
根据NFD管理命令输入,输出和执行逻辑的差异,将NFD管理命令分为状态数据集查询和控制指令。状态数据集查询仅需指定查询的命令,而无需指定额外的参数。状态数据集查询所有相关命令的命名和释义如下:
/status/general:查询NFD当前运行状态
/faces/list:查询NFD上当前所有的Face信息
/rib/list:查询NFD上当前所有的Route信息
/cs/info:查询NFD上当前内容缓存相关信息
/strategy-choice/list:查询NFD上所有的转发策略信息
控制指令用于修改NFD的配置,处理控制指令本身,还需要额外参数来指定新的配置。所有的额外参数都会被写入名为ControlParameters的名字组件中,该组件附加在控制指令名字组件后边。所有的控制指令和对应的ControlParameters如下所示。
/faces/create:创建新的Face,命令所需参数可查看上文NFD Face配置项说明
/faces/destroy:销毁已存在的Face,命令所需参数为Face Uri
/rib/register:创建新的Route,命令所需参数可查看上文NFD Route配置项说明
/rib/unregister:删除已有的Route,命令所需参数为Route的名称,Route对应的下一跳Face Uri,和该Route声明来源
/cs/config:更改内容缓存策略,命令所需参数为缓存最大条目数和缓存读写策略
/cs/erase:清除内容缓存,命令所需参数为清除的条目数量
/strategy-choice/set:添加新的转发策略,命令所需参数为Route名称和转发策略名称/strategy-choice/unset:删除已存在的转发策略,命令所需参数为Route名称
以上为本系统NFD管理功能中manager与agent端的协议设计。在manager端,该功能由NFD管理功能模块实现。NFD管理命令的输入参数说明如下。
node-prefix:被管理的agent所在节点名称
agent-name:被管理的agent名称
manage-module:NFD管理功能中管理模块名称
command-name:NFD管理功能中命令名称
args:NFD管理功能中命令参数
执行NFD管理命令后,从agent端返回的执行结果是TLV编码数据,其类型分为以下几种。如果该管理命令为控制指令,则返回的编码数据为ControlResponse,其中包括命令执行状态码,命令执行信息,和可选的命令执行参数。如果该管理命令为状态数据集查询指令,则返回的编码数据为对应查询指令的数据集,例如Face查询功能返回的是NFD中所有Face的配置信息。选取合适的TLV模型将数据解码后作为NFD管理命令的响应。
不同的NFD管理命令在系统内具体执行步骤各不相同,但总体都遵循以下的操作流程:解析获取配置项对应的NDN代理端名称、目标NDN节点名称、NDN代理端功能模块名称、管理命令名称及参数;管理命令包括状态数据集查询和控制指令;根据管理命令名称及参数,生成符合NDN网络管理协议的名字,作为兴趣包的名字;将兴趣包发送至对应的NDN代理端的事务处理函数;接收NDN代理端返回的响应数据,并根据不同的管理命令选取相应TLV模型解码数据。
具体实施时可按图2所示的操作流程执行,图2中各操作步骤的文字说明如下。
步骤一:检查输入参数,如果该管理命令涉及到已存在的Face,则需要根据输入的Face Uri寻找对应的Face ID。
步骤二:根据NFD管理命令输入,生成符合NDN网络管理协议规范的名字,作为兴趣包的名字。
步骤三:将该兴趣包发送至对应的agent端的特点事务处理函数。
步骤四:在收到agent端响应后,判断是否接受全部数据,若未全部接受,则自增兴趣包名字中<segment>字段,继续发送兴趣包,直到接受全部数据。
步骤五:根据管理命令不同选取相应TLV模型解码数据,并返回至客户端。
2.对NDN agent的设计;
在NDN网络管理系统中,安装在NDN节点上的agent需要实现以下功能:作为代理接受来自manager的命令,并调用该NDN节点上相应模块执行该命令;监控NDN节点,根据设定的测量指标获取监控信息,并实现监控信息的存储和分析工作。
为此,在agent的设计中,请求解析模块负责接受manager的指令,解析后根据请求中module项的不同交付不同模块处理。当前agent可接受并处理NFD管理和NFD测量指标查询的指令。agent接受NFD管理指令后,获取NFD管理的命令以及相应参数,并创建一个新的NFD管理兴趣包,通过内部Face发送至NFD内部的管理模块,最后agent负责将管理的结果原样返回。
为了实现agent的NFD测量指标查询功能,首先需要通过监控定时获取监控数据。在NFD启动时会初始化各测量指标的全局计数器,NFD每处理一个网络包,都会获取相应包的类型,大小,响应状态等信息,并在全局计数器中增加相应的数值。而在agent启动时将会启动监控线程,在监控线程运行过程中会定时查询当前NFD全局计数器中各项测量指标的数值,并将2次测量之间的测量指标数值增量记录在测量指标数据库中。
当收到来自manager的测量指标查询请求时,如果查询内容为原始测量指标,则返回的内容为查询测量记录的开始时间,结束时间,查询时间间隔,以及一个包含这段时间内的测量指标的列表。如果查询内容为测量指标的平均值,则返回查询测量记录的开始时间,结束时间,查询时间间隔,以及相应的计算结果。
3.对NDN网络管理协议的设计;
在NDN网络中,NDN网络包有以下特点:首先NDN网络包使用TLV格式,没有固定的数据包头部,所有的信息都可以在名称和应用参数中编码。NDN名称与文件路径类似,为树形结构,表达能力比单纯编号强,同时相比XML编码更简单。在NDN网络管理协议中,其网络包名称<name>的命名规则如下:
<name>=/<node-prefix>/<app-name>/<command>/[<segment-info>]
<command>=/<module>/<arguments>
<segment-info>=/<version>/<segment>
其中<node-prefix>代表目标NDN节点的名称,<app-name>代表运行的NDN应用程序名称,在管理系统中通常为agent的名称。前2项用于确定对应的agent在NDN网络中的位置,由于在节点上可能同时运行多个NDN应用程序,所以需要<app-name>来区分同节点下不同的进程。<module>代表功能模块名称,NDN网络管理协议通过该项区分不同功能。<argument>代表对应功能模块所需参数。从NDN网络传输层面上,参数被视作名称组件一同编解码,参数的具体含义则由<module>一同定义。最后2项是可选的<version>和<segment>,在NDN网络中,由于底层传输机制的限制,单个NDN数据包的大小有限,同时NDN网络严格遵循1个兴趣包对应1个数据包的规则。所以如果想要一次请求大量数据,则需要将数据切分成段,消费者在网络层上发送多次请求,每一次获取数据的其中一个段。这几次请求将会控制前几项和<version>项完全相同,代表请求相同的数据,通过<segment>控制获取数据的不同段。
为了使manager端和agent端能够识别该协议的报文,并实现双方通信,需要设计NDN网络管理协议通信机制,相应示意图如图3所示。
在agent端启动前,agent端的管理员需要配置当前节点名称和agent名称,在启动agent时,agent程序将会在NFD上注册所有名为/<node-prefix>/<app-name>/<module>的路由,每个路由都对应agent上的一个事件处理函数。<arguments>结构是复合TLV结构,相应value值为相应<module>所需参数的类型和值,agent的事件处理函数中编写了相应<module>的参数解析规则。<version>和<segment>为可选项,如果请求中包含这2项,说明请求的数据过大,需要分多次传输,此时agent共有2种工作机制,当请求数据本身由agent自身产生,agent需要负责在请求持续期间缓存该数据,并根据<segment>的值返回相应编号的数据段。当请求数据在agent之外时,则agent负责请求相应编号数据段,并将结果转发回客户端即可。
在manager启动后,NDN网络管理员首先需要添加agent连接信息配置项,通过应用上述配置项建立manager与各agent之间的Face,并基于该Face建立名为/<node-prefix>/<app-name>的路由。
在manager与agent建立连接后,所有符合NDN网络管理协议命名规范的兴趣包都会按照图3的路径发送至agent节点,最终由agent相应的事件处理函数处理该兴趣包。
4.对系统配置监控的设计;
在NDN网络管理系统中,系统管理员将所需的网络配置录入系统中,并在网络管理系统中应用该配置档案,但在配置档案应用过程中可能因为配置信息出错等情况导致配置无法完全应用,或者在系统运行过程中NDN网络设备出现了预料外的配置变更,导致网络的当前实际配置与预期配置不同步。为了保证对NDN网络的持续管理,故需要设计一套配置监控机制。
网络的实际配置指manager通过配置查询接口,获取所有agent当前应用中的配置,结果仅说明当次查询期间的网络配置情况。网络的预期配置记录了用户对网络的期望配置,用户对网络配置所有的更新操作都会在预期记录中同步记录。
为了实现对网络预期配置的管理,本系统在配置项数据库中专门设计了特殊的同步配置档案,同步配置档案的数据格式与其他配置档案的格式相同,但同步配置档案反映了用户对网络配置的期望,在系统正常运行时,同步配置档案与网络的实际配置应处于同步状态。在NFD中各种配置项可归为以下几种来源:系统预配置项,例如在NFD启动时自动注册的Face,这些配置项用于维持系统的正常运行,通常情况下这些配置项不可修改;动态配置项,例如NDN应用程序或NLSR协议临时注册的路由,这部分配置会受到第三方影响,修改这些配置会导致第三方运行状态出现问题;静态配置项,这部分配置项由用户通过NFD管理模块配置。
由此看出,用户对NDN网络的配置仅仅是网络实际配置的一部分。用户对NDN网络配置的更改不应影响到其他部分。故此处的配置同步定义为,NDN网络的实际配置中包含所有的用户预期配置。具体来说,配置同步状态应当满足以下条件:manager能够正常与配置档案中所列出的agent建立连接,并能够正常接受来自agent的请求响应;从agent中获得的当前Face列表中应包含配置档案中所有对该agent的Face列表的配置项,如果配置档案中的某个Face配置有uri之外的其他配置项,则上述配置项也应当被应用;从agent中获得的当前路由列表中应包含配置档案中所有对该agent的路由列表的配置项,每个路由应保证名称,下一跳和路由来源配置项相同,如果配置档案中该路由配置包括路由代价和控制选项的配置项,则应当保证上述配置也相同;从agent中获得的内容缓存配置应当保证最大容量和内容缓存选项配置相同,若配置档案中无相应配置则默认该配置项同步;从agent中获得的转发策略配置中应包含配置档案中所有对该agnet的转发策略列表的配置项。
当不满足上述条件时,则此时系统的网络配置处于不同步状态,此时需要通过系统自动修复,或用户手动排除故障,使网络重新处于同步状态。
本系统为了实现配置同步的功能,需要在未应用配置档案,以及应用配置档案后的同步和不同步的情形下,系统需要执行不同的操作。为解决以上问题,通过定义系统运行状态来区分以上的不同情形。在网络运行过程中,根据网络配置的同步状态,可定义以下的运行状态:
a.空闲状态:在该状态下,系统不会应用任何配置档案,也不会监控网络运行状态。该状态为系统初始状态,通过应用任意配置档案可使系统尝试进行配置同步。在此状态下系统的同步配置档案内容为空,否则系统进入不同步状态,需要用户选择恢复应用同步配置档案进入同步状态,或取消应用同步配置进入空闲状态。
b.同步状态:当系统中NDN网络的预期配置与实际配置同步时,此时系统处于同步状态,当二者不同步时,系统会尝试进行同步操作,操作成功时,则维持同步状态不变,否则将会进入非同步状态。
c.非同步状态:当系统实现预期配置与实际配置不同步时,此时系统处于非同步状态,通常在配置项出错,或者网络设备发生需要手动修复的故障时会进入此状态。在该状态下用户可以获取未应用的配置项。
以上的系统状态以及相应转化条件如图4所示。图4中相应的转化条件如下:
①:执行配置档案应用操作,并且所有配置项成功应用。
②:执行配置档案取消应用操作,并且所有配置项成功取消应用。
③:执行配置档案应用操作,并且所有配置项成功更新。
④:执行配置档案应用操作后,或系统运行过程中,发现NDN网络实际配置与同步配置档案不同步,并且系统自动修复失败。
⑤:执行恢复应用同步配置档案,并且所有配置项成功应用。
⑥:执行恢复应用同步配置档案,但存在配置项未成功应用。
⑦:执行取消应用同步配置档案,且所有配置项成功取消应用。
⑧:执行配置档案应用操作,但存在配置项未成功应用。或在系统启动时发现同步配置档案不为空。
需要特别说明的是,为了防止由于NDN网络管理系统本身的问题导致配置同步管理的混乱,在管理系统启动时需要检查同步配置档案是否存在,若存在,则说明系统出现非正常退出情况,需要首先解决可能的配置不同步问题,此时系统将会进入非同步状态。
因此,为了实现以上的系统运行状态转化,需要在系统运行时启用配置监控,该功能在系统运行时定时获取当前NDN网络实际配置,并与用于预期配置进行比对。当配置不同步时,则通过日志进行故障报警,同时系统尝试进行配置修复,若修复失败,则系统进入非同步状态。系统监控流程如图5所示。
在系统预期配置与实际配置比较功能中,将会计算出两份配置之间的差异,此处的配置差异指在用户预期配置中指定,但没有实际应用的部分。当所有的预期配置均在实际中应用时,则配置差异中不会有任何配置项,此时系统状态为同步状态,否则需要获取配置差异,并逐一应用其中的配置项。其中如果存在失败操作的话,则系统状态转为非同步状态,并提供缺失的配置项。根据可能存在的网络故障,缺失配置项内容如下:
在agent连接失败的情况下,此时manager中路由表将不会出现与该agent相关的信息,同时无法获取该agent相关的所有信息。在出现该故障时,系统会将该agent记为连接失败的agent,但不会将与该agent相关的任何配置记为缺失配置项;在agent中出现配置缺失或出错情况时,以Face配置缺失为例,在比对发现同步配置档案中的某Face配置项未应用时,则将该配置项记为缺失配置项。
当系统配置监控发现配置不同步时,会尝试一次自动修复,即获取并应用缺失配置项。若应用失败则将系统状态转为非同步状态,待用户手动修复故障后再通过恢复应用同步配置档案进行修复。
综上所述,本发明提出了包含manager、agent和NDN网络管理协议的NDN网络管理系统,在该系统中,agent负责适配被管理的NDN网络设备,manager负责处理高级的网络管理指令,NDN网络管理协议统一了manager与agent之间的通信格式。在该系统下涉及到manager和agent的基础功能在NDN网络管理协议中有统一定义,同时通过扩充协议内容实现功能扩展,manager可根据协议指定的基础功能自由定义高级功能,agent可根据具体的NDN网络设备进行协议定义功能的适配。通过该系统实现了NDN网络管理系统的解耦,实现了系统的模块化,增强了系统的可扩展性。
本发明实现了NDN网络配置的存储,一键应用配置,系统运行状态监控功能;相比传统通过命令行配置(图6中script)的方式,本发明可通过更少的操作实现网络配置的灵活配置、更新以及故障的自动发现和修复功能。相比通过NDN网络远程配置脚本进行配置,本发明(图6中manager)执行配置操作的速度更快,二者在不同网络设备数目的条件下的配置操作执行时间对比如图6所示。
从图6中可以看到,在不同节点的条件下,相比远程配置脚本,本发明配置NDN网络的时间为原来的15%左右;并且随着节点数目的不断增加,本发明配置操作执行时间依旧处于一个较低的值,这说明随着被管理网络规模的增加,本发明依旧能较好的执行网络管理任务。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (6)

1.一种基于覆盖网的NDN网络管理系统,其特征在于,包括一个NDN管理端和多个NDN代理端,所述NDN代理端在被管理的NDN网络节点上;所述NDN管理端和所述NDN代理端之间通过NDN网络管理协议实现通信;其中,
所述NDN管理端包括管理请求解析模块、配置项管理模块、代理配置模块;所述管理请求解析模块用于解析接收的HTTP请求,并根据请求内容调用其他模块处理;所述配置项管理模块用于提供查询或修改配置档案的接口;所述代理配置模块用于控制NDN代理端的各项配置,包括向NDN代理端发送网络配置项的查询或修改指令,以及根据配置档案对多个NDN代理端同时应用多个配置项;
所述NDN代理端包括代理请求解析模块、NDN转发器、NDN转发器管理模块、NDN转发器测量模块;所述代理请求解析模块用于处理来自所述NDN管理端的符合NDN网络管理协议格式的请求,并根据请求内容调用其他模块处理;所述NDN转发器用于转发NDN兴趣包和数据包;所述NDN转发器管理模块用于查询或修改NDN转发器的各项配置;所述NDN转发器测量模块用于查询NDN转发器的测量指标信息;
所述NDN管理端和NDN代理端之间通过NDN网络管理协议实现通信的机制为:在NDN代理端启动前,预先配置当前NDN节点名称和NDN代理端名称,在启动NDN代理端时会在NDN转发器上注册路由,每个路由都对应NDN代理端上的一个事件处理函数;在NDN管理端启动后,需要添加NDN代理端连接信息配置项,通过应用连接信息配置项建立NDN管理端与各个NDN代理端之间的Face,并基于该Face建立路由;其中,Face 是当前NFD与其他NDN网络设备进行通信的接口。
2.根据权利要求1所述的一种基于覆盖网的NDN网络管理系统,其特征在于,所述NDN网络管理协议中NDN网络包的名称包括:目标NDN节点名称、NDN代理端名称、NDN代理端功能模块名称、NDN代理端对应功能模块所需参数。
3.根据权利要求2所述的一种基于覆盖网的NDN网络管理系统,其特征在于,所述配置档案包括所有被管理的NDN代理端配置项信息,所述配置项信息包括NFD连接信息、Face配置信息、路由配置信息、内容缓存配置信息和转发策略配置信息。
4.根据权利要求3所述的一种基于覆盖网的NDN网络管理系统,其特征在于,所述NDN管理端还包括代理监控模块,所述代理监控模块用于定时获取所有NDN代理端当前应用的配置,并与所述配置档案进行比较,若所述配置档案未被应用,则标记当前NDN网络为非同步状态,并重新应用缺失的配置项。
5.根据权利要求1-4中任一项所述的一种基于覆盖网的NDN网络管理系统,其特征在于,所述NDN管理端还包括配置项数据库,所述配置项数据库用于存储NDN网络的配置档案;所述NDN代理端还包括测量数据数据库,所述测量数据数据库用于存储测量指标信息。
6.一种基于覆盖网的NDN网络管理方法,其特征在于,在NDN网络中通过多个被管理的NDN代理端与NDN网络设备适配来实现管理多种不同NDN网络设备,包括配置应用和配置监控:
配置应用包括:获取用户输入的配置档案并存储;对所述配置档案进行解析,并按照顺序执行其中的配置项,实现NDN网络的配置;所述配置档案包括所有被管理的NDN代理端配置项信息,所述配置项信息包括NFD连接信息、Face配置信息、路由配置信息、内容缓存配置信息和转发策略配置信息;其中,对所述配置档案进行解析,获取该配置档案中所有的配置项,且对于任意一个配置项,按照下述步骤执行,直至完成所有配置项应用:
解析获取所述配置项对应的NDN代理端名称、目标NDN节点名称、NDN代理端功能模块名称、管理命令名称及参数;所述管理命令包括状态数据集查询和控制指令;根据所述管理命令名称及参数,生成符合NDN网络管理协议的名字,作为兴趣包的名字;将所述兴趣包发送至对应的NDN代理端的事务处理函数;接收NDN代理端返回的响应数据,并根据不同的管理命令选取相应TLV模型解码数据;
配置监控包括:获取所有NDN节点的运行状态和实际应用的配置,并与用户输入的配置档案进行比较,若存在未应用的配置项则进行自动修复配置,实现NDN网络的运行配置监控;
在NDN网络中通过NDN网络管理协议实现通信,所述NDN网络管理协议中NDN网络包的名称包括:目标NDN节点名称、NDN代理端名称、NDN代理端功能模块名称、NDN代理端对应功能模块所需参数。
CN202210761619.9A 2022-06-30 2022-06-30 一种基于覆盖网的ndn网络管理系统及方法 Active CN115134229B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210761619.9A CN115134229B (zh) 2022-06-30 2022-06-30 一种基于覆盖网的ndn网络管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210761619.9A CN115134229B (zh) 2022-06-30 2022-06-30 一种基于覆盖网的ndn网络管理系统及方法

Publications (2)

Publication Number Publication Date
CN115134229A CN115134229A (zh) 2022-09-30
CN115134229B true CN115134229B (zh) 2023-05-30

Family

ID=83382030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210761619.9A Active CN115134229B (zh) 2022-06-30 2022-06-30 一种基于覆盖网的ndn网络管理系统及方法

Country Status (1)

Country Link
CN (1) CN115134229B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495253A (zh) * 2018-12-05 2019-03-19 中国科学院信息工程研究所 一种在信息中心网络中实现用户隐私保护的方法
CN110149274A (zh) * 2019-05-20 2019-08-20 北京理工大学 基于位置信息和内容推送的命名数据网络综合路由方法
CN111405617A (zh) * 2020-03-17 2020-07-10 中南大学 基于ap请求代理的ndn无线局域网流媒体传输方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10771590B2 (en) * 2018-03-07 2020-09-08 Ciena Corporation Systems and methods for intelligent routing and content placement in information centric networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495253A (zh) * 2018-12-05 2019-03-19 中国科学院信息工程研究所 一种在信息中心网络中实现用户隐私保护的方法
CN110149274A (zh) * 2019-05-20 2019-08-20 北京理工大学 基于位置信息和内容推送的命名数据网络综合路由方法
CN111405617A (zh) * 2020-03-17 2020-07-10 中南大学 基于ap请求代理的ndn无线局域网流媒体传输方法及系统

Also Published As

Publication number Publication date
CN115134229A (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
US7546335B2 (en) System and method for a data protocol layer and the transfer of data objects using the data protocol layer
CN108199897B (zh) 一种支持缓存管理的opc ua多服务器聚合方法
US7970823B2 (en) System for sharing data objects among applications
RU2531572C2 (ru) Способ репликации баз данных и устройство обновления таблицы
CN110990432B (zh) 一种跨机房同步分布式缓存集群的装置和方法
US20030220986A1 (en) System and method for transforming configuration commands
US20040117452A1 (en) XML-based network management system and method for configuration management of heterogeneous network devices
KR20080107308A (ko) 컨텐트 디렉토리 서비스와 제어 포인트간의 컨텐트를동기화하는 방법
CN111327446B (zh) 配置数据处理方法、软件定义网络设备、系统及存储介质
US8589381B2 (en) Resource management program, resource management process, and resource management apparatus
CN102012944A (zh) 一种提供复制特性的分布式nosql数据库
CN109639773A (zh) 一种动态构建的分布式数据集群控制系统及其方法
CN113835786B (zh) 一种数据对接系统、方法和计算机可读存储介质
US6711592B2 (en) Information processing system
WO2021115485A1 (zh) 一种epg数据管理方法、服务器及可读存储介质
CN115134229B (zh) 一种基于覆盖网的ndn网络管理系统及方法
US10599672B2 (en) Cursor-based state-collapse scheme for shared databases
CN115955581A (zh) 一种实时视频处理方法、装置、设备及存储介质
CN111124293B (zh) 一种地址空间转换算法中的部分复制方法
CN113836223A (zh) 一种异构数据库数据同步的方法
US5893103A (en) Method of reconstructing a managed information tree
KR102275765B1 (ko) 소프트웨어 정의 네트워크에서 플로우 룰 트랜잭션을 처리하는 방법, 장치 및 컴퓨터 프로그램
US11689418B2 (en) Sharing configuration resources for network devices among applications
CN116991815B (zh) 一种分布式存储系统的日志收集方法、装置、设备及介质
JP2005004618A (ja) ディレクトリデータベース間参照連携情報整合性保持プログラム、装置、記録媒体および方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant