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隧道的状态更新为有效。