[发明专利]一种虚拟转发器的控制方法及装置有效
| 申请号: | 202010542150.0 | 申请日: | 2020-06-15 | 
| 公开(公告)号: | CN111683009B | 公开(公告)日: | 2022-12-16 | 
| 发明(设计)人: | 王飞;张亚楠;李小龙;夏科睿;张成林;于振中;丁亮 | 申请(专利权)人: | 合肥哈工轩辕智能科技有限公司 | 
| 主分类号: | H04L45/247 | 分类号: | H04L45/247;H04L45/28;H04L45/745;H04L45/76;H04L12/46 | 
| 代理公司: | 合肥市浩智运专利代理事务所(普通合伙) 34124 | 代理人: | 丁瑞瑞 | 
| 地址: | 236000 安徽省合肥市经济技术*** | 国省代码: | 安徽;34 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 虚拟 转发器 控制 方法 装置 | ||
1.一种虚拟转发器的控制方法,其特征在于,应用于数据包发送端,所述方法包括:
1)、每个虚拟网卡对应至少两个虚拟转发器,将其中的一个虚拟转发器作为当前虚拟转发器;并将用于发送数据包的路由同步至各个虚拟转发器中,其中,所述虚拟网卡是基于独立物理网卡建立的;
判断当前虚拟转发器使用的当前路由链路是否可以用于数据包的发送;
若否,从当前虚拟转发器中的备用路由链路进行数据包的转发,其中,所述备用路由链路是预先存储在路由数据中的;
其中,要实现虚拟网卡的备用路由链路,虚拟网卡只需要处理不在己知路由范围内的目的地址,将默认路由0.0.0.0/0拆为0.0.0.0/1和128.0.0.0/1两段地址,在AIRT-ROS系统启动时向虚拟网卡的路由表中插入这两段地址,连接关闭时需要删除这两段地址;
2)、如果当前虚拟转发器为虚拟转发器1,可以周期性的将虚拟转发器1切换为虚拟转发器2,此时当前虚拟转发器切换为虚拟转发器2,并对被替换的虚拟转发器1进行自检,在自检结果正常的情况下,再将当前虚拟转发器切换为虚拟转发器1;
备用转发器探测当前虚拟转发器的状态,判断所述当前虚拟转发器是否发生故障;包括:
21)、设置定时器,以可配置的固定频率持续向当前转发器发送心跳包,并接收当前转发器返回的对应于所述心跳包的应答;
22)、在未接收到应答数据的情况下,再次发送心跳包,并累计未能收到对应应答数据的心跳包的数量;
23)、在未能收到对应应答数据的心跳包的数量达到第一预设数量时,判定所述当前虚拟转发器发生故障;
24)、在未能收到对应应答数据的心跳包的数量未达到第一预设数量时,将所累计的未能收到对应应答数据的心跳包的数量清零,并返回执行步骤21);
3)、若是,将除当前虚拟转发器中的一个虚拟转发器作为当前虚拟转发器进行数据包的发送;能够进行AIRT-ROS虚拟网卡的虚拟转发器的智能切换,即一个虚拟转发器作为主虚拟转发器正常工作,其他的虚拟转发器作为备用虚拟转发器处于激活状态,当主虚拟转发器出错时,AIRT-ROS系统自动切换到备份虚拟转发器。
2.根据权利要求1所述的一种虚拟转发器的控制方法,其特征在于,所述方法还包括:接收当前路由链路的目的端口所属设备针对所发送数据包的应答指令,其中,所述应答指令为对应于数据发送端的数据接收端发送的;
解析所述应答指令,并判断所述应答指令是否为复执指令;
若是,重复发送对应于所述应答指令的数据包,直至接收到的应答指令为接收成功的应答指令。
3.根据权利要求2所述的一种虚拟转发器的控制方法,其特征在于,所述应答指令的生成过程包括:数据包接收端接收数据包发送端发送的数据包;根据所述数据包中携带的标识信息,判断所接收的数据包是否异常,其中,所述异常,包括:数据包损坏、数据包的标识信息不对应或者数据包数据量不对应;若是,将复执指令作为应答指令发送给数据发送端,以使数据发送端解析所述应答指令,并判断所述应答指令是否为复执指令。
4.根据权利要求1所述的一种虚拟转发器的控制方法,其特征在于,所述方法还包括:接收当前路由链路的目的端口所属设备针对所发送数据包的应答指令;
解析所述应答指令,并判断所述应答指令是否为卷回指令;
若是,将所述数据包作为当前数据包,将接收所述当前数据包的时刻作为当前时刻,将当前时刻之前的、且与所述当前时刻间隔第二预设数量秒的历史时刻对应的数据包作为当前数据包,从所述当前数据包开始进行数据包的发送,直至接收到的应答指令为接收成功的应答指令。
5.根据权利要求4所述的一种虚拟转发器的控制方法,其特征在于,所述应答指令的生成过程包括:数据包接收端接收数据包发送端发送的数据包;根据所述数据包中携带的标识信息,判断所接收的数据包是否异常和/或丢失,其中,所述异常,包括:数据包损坏、数据包的标识信息不对应或者数据包数据量不对应;若是,将卷回指令作为应答指令发送给数据发送端,以使数据发送端解析所述应答指令,并判断所述应答指令是否为卷回指令。
6.一种虚拟转发器的控制装置,其特征在于,应用于数据包发送端,所述装置包括:建立模块,用于每个虚拟网卡对应至少两个虚拟转发器,将其中的一个虚拟转发器作为当前虚拟转发器;并将用于发送数据包的路由同步至各个虚拟转发器中,其中,所述虚拟网卡是基于独立物理网卡建立的;
第二判断模块,用于判断当前虚拟转发器使用的当前路由链路是否可以用于数据包的发送;
若否,从当前虚拟转发器中的备用路由链路进行数据包的转发,其中,所述备用路由链路是预先存储在路由数据中的;
其中,要实现虚拟网卡的备用路由链路,虚拟网卡只需要处理不在己知路由范围内的目的地址,将默认路由0.0.0.0/0拆为0.0.0.0/1和128.0.0.0/1两段地址,在AIRT-ROS系统启动时向虚拟网卡的路由表中插入这两段地址,连接关闭时需要删除这两段地址;
第一判断模块,用于如果当前虚拟转发器为虚拟转发器1,可以周期性的将虚拟转发器1切换为虚拟转发器2,此时虚拟转发器2为当前虚拟转发器;并对被替换的虚拟转发器1进行自检,在自检结果正常的情况下,再将当前虚拟转发器切换为虚拟转发器1;
用于使备用转发器探测当前虚拟转发器的状态,判断所述当前虚拟转发器是否发生故障;具体的:
21)、设置定时器,以可配置的固定频率持续向当前转发器发送心跳包,并接收当前转发器返回的对应于所述心跳包的应答;
22)、在未接收到应答数据的情况下,再次发送心跳包,并累计未能收到对应应答数据的心跳包的数量;
23)、在未能收到对应应答数据的心跳包的数量达到第一预设数量时,判定所述当前虚拟转发器发生故障;
24)、在未能收到对应应答数据的心跳包的数量未达到第一预设数量时,将所累计的未能收到对应应答数据的心跳包的数量清零,并返回执行步骤21);
第一发送模块,用于在所述第一判断模块的判断结果为是的情况下,将除当前虚拟转发器中的一个虚拟转发器作为当前虚拟转发器进行数据包的发送;其中,能够进行AIRT-ROS虚拟网卡的虚拟转发器的智能切换,即一个虚拟转发器作为主虚拟转发器正常工作,其他的虚拟转发器作为备用虚拟转发器处于激活状态,当虚拟转发器出错时,AIRT-ROS系统自动切换到备份虚拟转发器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥哈工轩辕智能科技有限公司,未经合肥哈工轩辕智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010542150.0/1.html,转载请声明来源钻瓜专利网。





