报文转发方法及装置与流程

文档序号:13763277阅读:来源:国知局
报文转发方法及装置与流程

技术特征:

1.一种报文转发方法,其特征在于,所述方法包括:

接收虚拟机VM发来的用户报文;

根据所述用户报文的目的地址,在转发表中查找对应的虚拟隧道VT,其中,所述转发表中包括地址与VT的对应关系;

根据查找到的VT,在VT关联表中查找对应的隧道冗余组,其中,所述VT关联表中包括VT与隧道冗余组的对应关系,所述隧道冗余组中包括至少一个可扩展虚拟局域网络VXLAN隧道;

对所述用户报文进行VXLAN封装,将封装得到的VXLAN报文通过查找到的隧道冗余组中的VXLAN隧道转发出去。

2.根据权利要求1所述的方法,其特征在于,还包括:

在接收到M个第一以太段ES的路由通告消息之后,在ES信息表中记录所述第一ES与M个VXLAN隧道的对应关系,其中,所述VXLAN隧道是本设备与发出所述第一ES的路由通告消息的设备之间的VXLAN隧道,M为不小于2的正整数;

按照预设规则对所述M个VXLAN隧道进行组合,得到至少两个隧道冗余组;

针对组成的每一个隧道冗余组,若所述VT关联表中不存在该隧道冗余组,则为该隧道冗余组分配一个VT,在所述VT关联表中添加包含该VT与该隧道冗余组的VT表项,将该隧道冗余组中的每一个VXLAN隧道的状态设置为有效。

3.根据权利要求2所述的方法,其特征在于,在ES信息表中记录所述第一ES与M个VXLAN隧道的对应关系之后,还包括:

接收携带有第一地址、所述第一ES、以及第一VXLAN的地址通告路由,其中,所述第一地址包括:第一MAC地址,或者,第一MAC地址和第一IP地址;

在所述ES信息表中查找与所述第一ES对应的所述M个VXLAN隧道;

在所述VT关联表中,查找与由所述M个VXLAN隧道组成的第一隧道冗余组对应的第一VT;

在所述第一VXLAN对应的MAC地址表中添加对应的MAC表项,其中,该MAC表项中包括:所述第一MAC地址、以及所述第一VT;

当所述第一地址包括第一IP地址时,在IP路由表中添加对应的IP表项,其中,该IP表项中包括:所述第一IP地址、以及所述第一VT。

4.根据权利要求3所述的方法,其特征在于,在所述第一VXLAN对应的MAC地址表中添加的MAC表项中还包括:所述第一ES;在所述IP路由表中添加的IP表项中还包括:所述第一ES;则,所述方法还包括:

接收所述第一ES的路由撤销消息;

在所述ES信息表中查找与所述第一ES对应的所述M个VXLAN隧道;

在所述VT关联表中,查找与由所述M个VXLAN隧道组成的第一隧道冗余组对应的所述第一VT;

在所述ES信息表中,删除所述第一ES对应的本设备与发出所述第一ES的路由撤销消息的设备之间的VXLAN隧道,得到与所述第一ES对应的M-1个VXLAN隧道;

在所述VT关联表中,查找与由所述M-1个VXLAN隧道组成的第二隧道冗余组对应的第二VT;

若查找到了所述第二VT,则将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第二VT,将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第二VT;

若没有查找到所述第二VT,则在所述VT关联表中添加包含所述第二VT、以及所述第二隧道冗余组的VT表项,将所述第二隧道冗余组中的每一个VXLAN隧道的状态设置为有效;将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第二VT,将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第二VT。

5.根据权利要求3所述的方法,其特征在于,在所述第一VXLAN对应的MAC地址表中添加的MAC表项中还包括:所述第一ES;在所述IP路由表中添加的IP表项中还包括:所述第一ES;则,所述方法还包括:

接收所述第一ES的路由通告消息;

在所述ES信息表中查找与所述第一ES对应的所述M个VXLAN隧道;

在所述VT关联表中,查找与由所述M个VXLAN隧道组成的所述第一隧道冗余组对应的所述第一VT;

在所述ES信息表中,增加所述第一ES对应的本设备与发出该第一ES的路由通告消息的设备之间的VXLAN隧道,得到与所述第一ES对应的M+1个VXLAN隧道;

在所述VT关联表中,查找与由所述M+1个VXLAN隧道组成的第三隧道冗余组对应的第三VT;

若查找到了所述第三VT,则将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第三VT,将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第三VT;

若没有查找到所述第三VT,则在所述VT关联表中添加包含所述第三VT、以及所述第三隧道冗余组的VT表项,将所述第三隧道冗余组中的每一个VXLAN隧道的状态设置为有效;将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第三VT,将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第三VT。

6.根据权利要求2所述的方法,其特征在于,还包括:

当检测到VXLAN隧道变为不可用时,在所述VT关联表中查找包含该VXLAN隧道的VT表项,将查找到的VT表项中的该VXLAN隧道的状态更新为无效;

当检测到该VXLAN隧道恢复为可用时,在所述VT关联表中查找包含该VXLAN隧道的VT表项,将查找到的VT表项中的该VXLAN隧道的状态更新为有效。

7.一种报文转发装置,其特征在于,所述装置包括:

接收模块,用于接收虚拟机VM发来的用户报文;

查找模块,用于在所述接收模块接收到VM发来的用户报文之后,根据所述用户报文的目的地址,在转发表中查找对应的虚拟隧道VT,其中,所述转发表中包括地址与VT的对应关系;还用于根据查找到的VT,在VT关联表中查找对应的隧道冗余组,其中,所述VT关联表中包括VT与隧道冗余组的对应关系,所述隧道冗余组中包括至少一个可扩展虚拟局域网络VXLAN隧道;

封装发送模块,用于在所述查找模块查找到对应的隧道冗余组之后,对所述用户报文进行VXLAN封装,将封装得到的VXLAN报文通过该隧道冗余组中的VXLAN隧道转发出去。

8.根据权利要求7所述的装置,其特征在于,还包括:记录模块和VT表项更新模块,其中:

所述接收模块,还用于接收路由通告消息;

所述记录模块,用于在所述接收模块接收到M个第一以太段ES的路由通告消息之后,在ES信息表中记录所述第一ES与M个VXLAN隧道的对应关系,其中,所述VXLAN隧道是本设备与发出所述第一ES的路由通告消息的设备之间的VXLAN隧道,M为不小于2的正整数;

所述VT表项更新模块,用于按照预设规则对所述M个VXLAN隧道进行组合,得到至少两个隧道冗余组,针对组成的每一个隧道冗余组,若所述VT关联表中不存在该隧道冗余组,则为该隧道冗余组分配一个VT,在所述VT关联表中添加包含该VT与该隧道冗余组的VT表项,将该隧道冗余组中的每一个VXLAN隧道的状态设置为有效。

9.根据权利要求8所述的装置,其特征在于,还包括:MAC表项更新模块和IP表项更新模块,其中:

所述接收模块,还用于接收携带有第一地址、所述第一ES、以及第一VXLAN的地址通告路由,其中,所述第一地址包括:第一MAC地址,或者,第一MAC地址和第一IP地址;

所述查找模块,还用于在所述接收模块接收到所述地址通告路由之后,在所述ES信息表中查找与所述第一ES对应的所述M个VXLAN隧道,在所述VT关联表中,查找与由所述M个VXLAN隧道组成的第一隧道冗余组对应的第一VT;

所述MAC表项更新模块,用于在所述查找模块查找到与由所述M个VXLAN隧道组成的第一隧道冗余组对应的第一VT之后,在所述第一VXLAN对应的MAC地址表中添加对应的MAC表项,其中,该MAC表项中包括:所述第一MAC地址、以及所述第一VT;

所述IP表项更新模块,用于当所述第一地址包括第一IP地址时,在所述查找模块查找到与由所述M个VXLAN隧道组成的第一隧道冗余组对应的第一VT之后,在IP路由表中添加对应的IP表项,其中,该IP表项中包括:所述第一IP地址、以及所述第一VT。

10.根据权利要求9所述的装置,其特征在于,在所述第一VXLAN对应的MAC地址表中添加的MAC表项中还包括:所述第一ES,在所述IP路由表中添加的IP表项中还包括:所述第一ES;则,所述装置还包括:增删模块,其中:

所述接收模块,还用于接收路由撤销消息;

所述查找模块,还用于在所述接收模块接收到所述第一ES的路由撤销消息之后,在所述ES信息表中查找与所述第一ES对应的所述M个VXLAN隧道,在所述VT关联表中,查找与由所述M个VXLAN隧道组成的第一隧道冗余组对应的所述第一VT;还用于在所述增删模块删除所述第一ES对应的本设备与发出所述第一ES的路由撤销消息的设备之间的VXLAN隧道,得到与所述第一ES对应的M-1个VXLAN隧道之后,在所述VT关联表中,查找由所述M-1个VXLAN隧道组成的第二隧道冗余组对应的第二VT;

所述增删模块,用于在所述查找模块查找到与由所述M个VXLAN隧道组成的第一隧道冗余组对应的所述第一VT之后,在所述ES信息表中,删除所述第一ES对应的本设备与发出所述第一ES的路由撤销消息的设备之间的VXLAN隧道,得到与所述第一ES对应的M-1个VXLAN隧道;

所述VT表项更新模块,还用于若所述查找模块没有查找到所述第二VT,则在所述VT关联表中添加包含所述第二VT、以及所述第二隧道冗余组的VT表项,将所述第二隧道冗余组中的每一个VXLAN隧道的状态设置为有效;

所述MAC表项更新模块,还用于若所述查找模块查找到了所述第二VT,则将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第二VT;还用于在所述VT表项更新模块添加了包含所述第二VT、以及所述第二隧道冗余组的VT表项之后,将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第二VT;

所述IP表项更新模块,还用于若所述查找模块查找到了所述第二VT,则将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第二VT;还用于在所述VT表项更新模块添加了包含所述第二VT、以及所述第二隧道冗余组的VT表项之后,将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第二VT。

11.根据权利要求9所述的装置,其特征在于,在所述第一VXLAN对应的MAC地址表中添加的MAC表项中还包括:所述第一ES;在所述IP路由表中添加的IP表项中还包括:所述第一ES;则,所述装置还包括:增删模块,其中:

所述查找模块,还用于在所述接收模块接收到所述第一ES的路由通告消息之后,在所述ES信息表中查找与所述第一ES对应的所述M个VXLAN隧道,在所述VT关联表中,查找与由所述M个VXLAN隧道组成的所述第一隧道冗余组对应的所述第一VT;还用于在所述增删模块增加所述第一ES对应的本设备与发出该第一ES的路由通告消息的设备之间的VXLAN隧道,得到与所述第一ES对应的M+1个VXLAN隧道之后,在所述VT关联表中,查找与由所述M+1个VXLAN隧道组成的第三隧道冗余组对应的第三VT;

所述增删模块,还用于在所述查找模块查找到与由所述M个VXLAN隧道组成的所述第一隧道冗余组对应的所述第一VT之后,在所述ES信息表中,增加所述第一ES对应的本设备与发出该第一ES的路由通告消息的设备之间的VXLAN隧道,得到与所述第一ES对应的M+1个VXLAN隧道;

所述VT表项更新模块,还用于若所述查找模块没有查找到所述第三VT,则在所述VT关联表中添加包含所述第三VT、以及所述第三隧道冗余组的VT表项,将所述第三隧道冗余组中的每一个VXLAN隧道的状态设置为有效;

所述MAC表项更新模块,还用于若所述查找模块查找到了所述第三VT,则将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第三VT;还用于在所述VT表项更新模块在所述VT关联表中添加包含所述第三VT、以及所述第三隧道冗余组的VT表项之后,将所述MAC地址表中包含所述第一ES的MAC表项中的所述第一VT,更新为所述第三VT;

所述IP表项更新模块,还用于若所述查找模块查找到了所述第三VT,则将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第三VT;还用于在所述VT表项更新模块在所述VT关联表中添加包含所述第三VT、以及所述第三隧道冗余组的VT表项之后,将所述IP路由表中包含所述第一ES的IP表项中的所述第一VT,更新为所述第三VT。

12.根据权利要求8所述的装置,其特征在于,还包括:检测模块,其中:

所述检测模块,用于检测VXLAN隧道的状态;

所述查找模块,还用于当所述检测模块检测到VXLAN隧道变为不可用时,在所述VT关联表中查找包含该VXLAN隧道的VT表项;还用于当所述检测模块检测到该VXLAN隧道恢复为可用时,在所述VT关联表中查找包含该VXLAN隧道的VT表项;

所述VT表项更新模块,还用于在所述查找模块查找到包含该不可用的VXLAN隧道的VT表项之后,将该VT表项中的该VXLAN隧道的状态更新为无效;还用于在所述查找模块查找到包含该恢复可用的VXLAN隧道的VT表项之后,将该VT表项中的该VXLAN隧道的状态更新为有效。

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