一种网络实体移动事件消息的传播方法与流程

文档序号:20884357发布日期:2020-05-26 17:23阅读:233来源:国知局
一种网络实体移动事件消息的传播方法与流程

本发明涉及网络技术和通信技术领域,具体而言,尤其涉及一种网络实体移动事件消息的传播方法。



背景技术:

网络终端移动会导致在现有互联网系统的ip地址变化,而信息中心网络(icn)的核心理念是名字与地址分离,采用icn的命名机制,网络中的每个实体都获得一个与位置无关的实体唯一标识符作为名字,通过对实体名字与实体当前网络地址的动态绑定,可以解决通信过程中的ip地址变化的问题。

但现有方案缺乏对网络实体位置移动变化的及时感知,无法有效支撑对时延控制和业务连续性要求较高的应用需求。



技术实现要素:

本发明的目的在于解决现有方案缺乏对网络实体位置移动变化的及时感知,无法有效支撑对时延控制和业务连续性要求较高的应用需求的问题。

为实现上述目的,本发明公开一种网络实体移动事件消息的传播方法,当网络实体因移动而使得其绑定的网络地址值发生改变时,通过控制表示该网络实体移动信息的网络实体移动事件消息的传播路径和范围,可以快速有效地将该事件消息传播到与该移动网络实体当前通信数据转发相关的网络设备。

所述方法包括:步骤1)所述网络设备基于已转发数据的信息维护历史转发信息列表;其中,能够从外部系统或设备接收移动事件消息的网络设备还基于已接收数据的信息维护上行端口信息表;

步骤2)当具有上行端口信息表的网络设备在收到外部系统或设备发送的移动事件消息后,利用上行端口信息表匹配得到该移动事件消息的转发端口及转发信息,利用转发信息构造移动事件转发消息并从转发端口转发出去;

步骤3)网络设备收到移动事件转发消息后,从历史转发信息列表中匹配移动事件转发消息的转发端口及转发信息,利用转发信息修改移动事件转发消息然后通过转发端口转发出去。

作为所述方法的一种改进,所述移动事件消息中包括移动的网络实体名字和该网络实体移动前的网络地址。

作为所述方法的一种改进,所述历史转发信息列表中包括记录的已转发数据的出端口标识、源网络地址和目的网络地址的信息。

作为所述方法的一种改进,所述上行端口信息表中包括记录的已接收数据的目的网络实体名字、目的网络地址、源网络地址和入端口标识的信息;其中,所述目的网络实体名字在该数据的网络传输过程中始终保持不变。

作为所述方法的一种改进,所述步骤2)具体包括:

步骤2-1)具有上行端口信息表的网络设备在收到外部系统或设备发送的移动事件消息后,从移动事件消息中提取移动的网络实体名字和移动前的网络地址;

步骤2-2)在上行端口信息表中按“目的网络实体名字、目的网络地址”查找与移动的网络实体名字、移动前的网络地址值同时匹配的全部条目;如果没有匹配的条目,则不传播该移动事件消息;否则,执行步骤2-3);

步骤2-3)提取查找到的全部相匹配的条目中的“源网络地址”和“入端口标识”信息,将其中的“源网络地址”值按其对应的入端口标识值进行分组,形成与各不同入端口标识分别对应的源网络地址集合;

所述源网络地址集合为对应相同入端口标识的一组各不相同的源网络地址值的集合,包含n个源网络地址值;n最小为1;

步骤2-4)对分组后的每个入端口标识,将当前“入端口标识”对应端口作为转发端口;将当前“入端口标识”对应的源网络地址集合拼合到已收到的移动事件消息中,构造移动事件转发消息;将移动事件转发消息发送到当前的转发端口连接的网络设备。

作为所述方法的一种改进,所述步骤3)具体包括:

步骤3-1)当网络设备收到移动事件转发消息后,向除收到转发消息的端口以外的端口所连接的网络设备发送询问消息,所述询问消息中包括源网络地址集合和目的网络地址;

步骤3-2)收到询问消息的网络设备查询历史转发信息列表,如果找到与询问消息相匹配的条目,将“有”的响应消息发送给发送询问消息的网络设备,执行步骤3-3);否则,发送“无”的响应消息给发送询问消息的网络设备,转入步骤3-4);

步骤3-3)网络设备将收到“有”的响应消息的端口作为后续转发端口,基于“有”的响应消息中包含的后续转发信息修改移动事件转发消息,从后续转发端口转发出去;

步骤3-4)网络设备收到“无”的响应消息,或没有收到任何响应消息,不传播所述移动事件转发消息。

作为所述方法的一种改进,所述步骤3-2)具体包括:

步骤3-2-1)网络设备收到询问消息后,提取接收到询问消息的接收端口标识,以及源网络地址集合中每一个“源网络地址”和“目的网络地址”的值;将接收端口标识、“源网络地址”的值和“目的网络地址”拼合成查询信息,共有n条查询信息;

步骤3-2-2)在历史转发信息表中逐条查找与查询信息相匹配的条目;

所述查询信息的“接收端口标识”“源网络地址”和“目的网络地址”分别与历史转发信息表中的转发数据的“出端口标识”“源网络地址”和“目的网络地址”的值一一对应;

步骤3-2-3)如果在历史转发信息表中存在与所述查询信息相匹配条目,则从收到询问消息的端口发送表示“有”的响应消息;如否,则从收到询问消息的端口发送表示“无”的响应消息;或采用不回复响应的方式;所述响应消息中还包括与查询信息相匹配的m个“源网络地址”值的集合。

作为所述方法的一种改进,所述步骤3-3)的基于“有”的响应消息中包含的后续转发信息修改移动事件转发消息的执行过程为:

提取所述响应消息中的m个“源网络地址”值的集合,修改移动事件转发消息;修改后的移动事件转发消息内容包括:移动的网络实体名字、移动前的网络地址和从响应消息中提取的m个“源网络地址”值的集合。

作为所述方法的一种改进,所述步骤3)还包括:定期检查的步骤:

网络设备首先判断定期检查的次数是否超过了上限,如果没有超过,则网络设备基于从接收的移动事件转发消息中获取的“源网络地址”集合,判断其中的每个“源网络地址”值是否都获得过“有”响应消息的响应,如果判断结果是肯定的,结束所述移动事件转发消息的传播处理,否则,对于未获得过“有”响应消息的“源网络地址”,所述网络设备向除收到所述移动事件转发消息端口以外的其他端口所连接的网络设备发送询问消息;如果定期检查的次数超过了上限,不执行检查。

作为所述方法的一种改进,所述方法还包括:网络设备分析判定是否要停止传播的步骤:

步骤s1)从移动事件消息或移动事件转发消息中获取移动网络实体名字,向外部系统查询获取该网络实体名字对应的移动后的网络地址;

步骤s2)利用转发信息表fib,查找对比上述移动后网络地址和移动前网络地址各自对应的出端口;如果两个出端口相同,则判定停止传播。

本发明的优势在于:

1、本发明的网络实体移动事件消息的传播方法,能够满足移动场景下网络实体间通信服务会话持续性的需求;

2、本发明的网络实体移动事件消息的传播方法,能够在收到表示网络实体因发生移动导致其绑定的网络地址发生变化的移动事件消息后,能够将该移动事件消息传播到正在负责与该网络实体进行相关数据传输和转发通信的网络设备上;

3、本发明的网络实体移动事件消息的传播方法,能够使相关的网络设备及时获知所述网络实体移动事件,从而快速进行后续相应的处理来改善数据传输性能、提高业务持续性保障。

附图说明

图1为本发明的移动事件消息在网络设备间的传播示意图;

图2为本发明的网络设备利用上行端口信息表完成消息传播处理的过程示意图;

图3为本发明的网络设备发起询问和处理响应的过程示意图;

图4为本发明的网络设备对询问消息的响应过程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细的说明。

本发明所要解决的技术问题是:在收到表示网络实体因发生移动导致其绑定的网络地址发生变化的移动事件消息后,如何将该移动事件消息传播到正在负责与该网络实体进行相关数据传输的网络设备上,使得这些网络设备及时获知所述网络实体移动事件,从而进行后续相应的处理来改善数据传输性能、提高业务持续性保障。

本发明提出了一种网络实体移动事件消息的传播方法。所述方法包括:

步骤1)所述网络设备基于已转发数据的信息维护历史转发信息列表;其中,能够从外部系统或设备接收移动事件消息的网络设备还基于已接收数据的信息维护上行端口信息表;

所述上行端口信息表,其内容包括已接收数据的目的网络实体名字、目的网络地址、源网络地址、入端口标识。

所述网络实体名字是指一个网络实体的与网络地址无关的唯一标识信息,包括使用现有系统的已有标识信息,或其哈希等单向转换计算值,或上述信息组合等;

所述网络地址是指该网络实体所在位置的网络可路由的地址信息,包括使用ip地址等信息。

所述入端口标识是指网络设备收到网络数据分组的物理端口;

所述目的网络实体名字、目的网络地址和源网络地址分别对应在该入端口收到网络数据分组中包括的目的网络实体名字、目的网络地址和源网络地址信息;

所述网络数据分组在该分组的报文中携带了目的网络实体名字、目的网络地址和源网络地址信息,且在网络传输过程中始终保持其中的目的网络实体名字不变。

所述历史转发信息列表其内容包括网络设备已转发数据的出端口标识、源网络地址和目的网络地址。

所述出端口标识是指网络设备转发网络数据分组的物理端口;

所述源网络地址指已从该出端口转发的数据分组的源网络地址;

所述目的网络地址是指已从该出端口转发的目的网络地址;

历史转发信息表中的内容,对应一段时长范围内已转发的网络数据分组的信息。

所述网络设备对上行端口信息表的维护,包括信息生成、更新和删除。其中,上行端口信息表的生成和更新方法包括:

步骤a1)对于收到的网络数据分组,网络设备获取该数据分组中的目的网络实体名字、源网络地址、目的网络地址,以及收到该数据分组的端口标识等信息,并使用这些信息查找上行端口信息表中的对应条目。

步骤a2)如果上行端口信息表中存在与当前该分组信息都完全相同的条目,则将该条目中的生存时间延长;否则,在上行端口信息表中新增一个条目,其值为:当前分组的目的网络实体名字、目的网络地址、源网络地址、收到当前分组的物理端口标识。

步骤a3)所述上行端口信息表的删除方法包括:定时监测上行端口表中每个条目的生存时间(时间参数),在发现其与当前时刻的偏离超出设定阈值后,将该条目从上行端口信息表中删除。

所述网络设备对历史转发信息列表的维护,包括信息生成、更新和删除,可分端口进行。

所述信息的生成是在网络设备进行数据分组转发时,对每个要转发的数据分组,取其源网络地址和目的网络地址等信息,进行记录。在记录前,还可自行选择是否进行查重处理。信息的更新和删除,可根据各端口的内存资源、端口带宽等计算设定一个合适的信息刷新时长范围,以滑动窗方式进行信息的更新和清理。

步骤2)当具有上行端口信息表的网络设备在收到外部系统或设备发送的移动事件消息后,利用上行端口信息表匹配得到该移动事件消息的转发端口及转发信息,利用转发信息构造移动事件转发消息并从转发端口转发出去;

步骤3)网络设备收到移动事件转发消息后,从历史转发信息列表中匹配移动事件转发消息的转发端口及转发信息,利用转发信息修改移动事件转发消息然后通过转发端口转发出去。

所述步骤2)网络设备利用上行端口信息表,对移动事件消息进行传播处理的过程,具体包括以下:

步骤2-1)具有上行端口信息表的网络设备在收到外部系统或设备发送的移动事件消息后,从移动事件消息中提取移动的网络实体名字和移动前的网络地址;

步骤2-2)在上行端口信息表中按“目的网络实体名字、目的网络地址”查找与移动的网络实体名字、移动前的网络地址值同时匹配的全部条目;如果没有匹配的条目,则不传播该移动事件消息;否则,执行步骤2-3);

步骤2-3)提取查找到的全部相匹配的条目中的“源网络地址”和“入端口标识”信息,将其中的“源网络地址”值按其对应的入端口标识值进行分组,形成与各不同入端口标识分别对应的源网络地址集合;

所述源网络地址集合为对应相同入端口标识的一组各不相同的源网络地址值的集合,包含n个源网络地址值;n最小为1;

步骤2-4)对分组后的每个入端口标识,将当前“入端口标识”对应端口作为转发端口;将当前“入端口标识”对应的源网络地址集合拼合到已收到的移动事件消息中,构造移动事件转发消息;将移动事件转发消息发送到当前的转发端口连接的网络设备。

如图1所示,假设网络设备y1从外部第三方系统设备处获取到移动事件消息,其中该移动事件消息携带的网络实体名字为eid1以及移动前的网络地址为old_na。该移动事件消息的具体格式可根据实际实施需求进行自定义,可以是icn报文封装,也可以是基于ip等现有网络协议报文的封装。

如图1和图2所示,网络设备y1从该移动事件消息中提取网络实体名字eid1和移动前的网络地址old_na,并在自身维护的上行端口信息表中,按“目的网络实体名字、目的网络地址”组合字段查找与“eid1、old_na”匹配的全部条目;之后,将匹配到的全部4个条目按入端口标识进行分组,生成的2组信息分别是:port1及其对应的源网络地址集合{s-na1|s-na2|s-na4},port2及其对应的源网络地址集合{s-na3},这两组信息就作为后续的转发端口及转发信息;

利用上述两组信息,针对port1和port2这两个转发端口,分别构造其各自对应的移动事件转发消息。移动事件转发消息中携带的信息,包括网络实体名字eid1、该实体移动前的网络地址old_na、该转发端口对应的源网络地址集合等。

然后,分别从port1口和port2口发送对应各自端口的移动事件转发消息。

所述步骤3)网络设备利用历史转发信息列表对移动事件消息进行传播处理的过程具体包括以下:

步骤3-1)网络设备(下文称为:发起询问的网络设备)在收到移动事件消息后,向其邻居网络设备发送询问消息。

所述邻居网络设备,是指与该发起询问的网络设备在除了收到该移动事件消息的端口以外的其他端口所连接的网络设备。

所述询问消息,其中的内容包括:源网络地址集合、目的网络地址等;其中,源网络地址集合对应从移动事件消息中获取的源网络地址集合的部分或全部,目的网络地址值对应从移动事件消息中获取的移动前的网络地址old_na。

步骤3-2)收到询问消息的网络设备查询历史转发信息列表,如果找到与询问消息相匹配的条目,将“有”的响应消息发送给发送询问消息的网络设备,执行步骤3-3);否则,发送“无”的响应消息给发送询问消息的网络设备,转入步骤3-4);

所述步骤3-2)具体包括:

步骤3-2-1)网络设备收到询问消息后,提取接收到询问消息的接收端口标识,以及源网络地址集合中每一个“源网络地址”和“目的网络地址”的值;将接收端口标识、“源网络地址”的值和“目的网络地址”拼合成查询信息,共有n条查询信息;

步骤3-2-2)在历史转发信息表中逐条查找与查询信息相匹配的条目;

所述查询信息的“接收端口标识”“源网络地址”和“目的网络地址”分别与历史转发信息表中的转发数据的“出端口标识”“源网络地址”和“目的网络地址”的值一一对应;

步骤3-2-3)如果在历史转发信息表中存在与所述查询信息相匹配条目,则从收到询问消息的端口发送表示“有”的响应消息;如否,则从收到询问消息的端口发送表示“无”的响应消息;或采用不回复响应的方式;所述响应消息中还包括与查询信息相匹配的m个“源网络地址”值的集合。

步骤3-3)网络设备将收到“有”的响应消息的端口作为后续转发端口,响应消息中包含后续转发信息,修改移动事件转发消息,将修改后的移动事件转发消息从收到“有”的响应消息的端口发送出去;

所述步骤3-3)的基于“有”的响应消息中包含的后续转发信息修改移动事件转发消息的执行过程为:

提取所述响应消息中的m个“源网络地址”值的集合,修改移动事件转发消息;修改后的移动事件转发消息内容包括:移动的网络实体名字、移动前的网络地址和从响应消息中提取的m个“源网络地址”值的集合。

所述步骤3)还包括:定期检查的步骤:网络设备定期检查从移动事件转发消息中获取的源网络地址集合,判断是否所有的源网络地址都收到过表示“有”的响应消息;

如“是”,则结束传播;

否则,判断上述定期检查的累积执行次数是否达到最大上限,如“是”,则结束所述移动事件转发消息的传播;

对于未收到过表示“有”的响应的各个源网络地址,再次向除收到所述移动事件转发消息端口以外的其他端口所连接的网络设备发送询问消息;

定期检查次数的最大上限的最小值设置为1。

如图1和图3所示,以网络设备b为例,该设备收到的移动事件转发消息,是从网络设备y1的port1口发送的,其中已携带了源网络地址集合{s-na1|s-na2|s-na4}。此时,对于该移动事件转发消息的传播判断而言,网络设备b的邻居网络设备,就是与除了收到该移动事件消息的b1口以外的b2和b3端口分别相连的邻居网络设备c和网络设备y2。

于是,网络设备b向邻居网络设备c和y2发送询问消息,询问消息内容包括源网络地址、目的网络地址等;其中,目的网络地址值对应从移动事件转发消息中获取的移动前的网络地址,即old_na;源网络地址可以是集合{s-na1|s-na2|s-na4}的全部或一部分,即:可以通过一次性询问方式,在一个询问消息中携带全部相关的源网络地址集合,也可通过分次多次询问方式,通过多个询问消息覆盖全部相关的源网络地址集合。后续处理流程分别说明如下:

(1)对于一次性询问方式的情况,以网络设备b及其邻居网络设备c为例:

网络设备b发送的一次询问信息中携带的源网络地址集合是{s-na1|s-na2|s-na4}。

如图1和图4所示,邻居网络设备c是在其c1口上收到上述询问消息的,因此,在自己维护的历史转发信息表中匹配查找,是否存在与“c1口、s-na1、old_na”、“c1口、s-na2、old_na”和“c1口、s-na4、old_na”匹配的条目。最终匹配查到2条记录,于是,根据这2条匹配的记录,生成新的源网络地址集合{s-na1|s-na2},并向网络设备b发送表示“有”的询问响应消息,其中携带了old_na和新的源网络地址集合{s-na1|s-na2}。

网络设备b从其b2口收到上述表示“有”的询问响应后,立即根据该询问响应中指示的源网络地址集合{s-na1|s-na2},向邻居网络设备c发送移动事件转发消息,该消息中携带源网络地址集合{s-na1|s-na2}。

(2)对于分次多次询问方式的情况,以网络设备b及其邻居网络设备c为例:

假设网络设备b分别发送了3个询问信息,其中携带的源网络地址分别是{s-na1}、{s-na2}和{s-na4}。

邻居网络设备c是在其c1口上收到上述3个询问消息的,因此,根据每一次收到的询问消息,在自己维护的历史转发信息表中匹配查找,是否存在与“c1口、本次询问消息中带的源网络地址、old_na”匹配的条目。

假设本次询问消息中带的源网络地址只有{s-na1},那么,根据匹配查找结果,邻居网络设备c向网络设备b的b2口发送表示“有”的询问响应消息,其中携带了old_na和本次匹配到的源网络地址值{s-na1}。网络设备b从其b2口收到上述表示“有”的询问响应后,立即向邻居网络设备c发送移动事件转发消息,该消息中携带源网络地址值{s-na1}。假设下一次询问消息中带的源网络地址只有{s-na4},那么,由于查找不到匹配的结果,邻居网络设备c向网络设备b回复表示“无”的响应消息,也可以采用不回复响应的方式。

同理,网络设备b还可以根据从b3口收到的表示“有”的询问响应后,向网络设备y2发送移动事件转发消息,其中携带的源网络地址集合为{s-na4}。

发起询问的网络设备,可通过定期检查从移动事件转发消息中获取的源网络地址集合,判断是否所有的源网络地址都收到过表示“有”的响应消息,如是,则结束对该移动事件消息的传播处理过程,否则,进一步判断上述定期检查的累积执行次数是否达到最大上限,如是,则结束对该移动事件消息的传播处理过程,否则,对于未收到过表示“有”的响应的各个源网络地址,再次向其邻居网络设备发送询问消息。所述定期检查次数的最大上限的最小值可设置为1。

所有参与移动事件消息传播的网络设备,还可各自分析判定是否要停止传播。

该判定过程包括如下步骤:

步骤s1)根据从移动事件消息或移动事件转发消息中获取的网络实体名字,向外部系统查询获取该网络实体名字对应的移动后的网络地址na;

步骤s2)利用网络设备自身已维护的转发信息表fib(forwardinformationdatabase),查找比对上述移动后网络地址na和移动前网络地址old_na各自对应的出端口;如果两个出端口相同,则判定为应停止传播。

所述转发信息表fib用于指导分组转发,库中每条转发项都指明到某个网段或者某个主机地址的分组应该通过该网络设备的哪个物理接口发送。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1