一种数据包转发的方法、装置及系统的制作方法_5

文档序号:8907612阅读:来源:国知局
147] 可选地,输入/输出(I/O)设备430还用于当任意一个MAC地址对应的目的通信 端口标识发生变更时,接收所述VMM发送的所述任意一个MAC地址与更新后的目的通信端 口标识的对应关系;
[0148] 处理器410还用于将所述任意一个MAC地址与更新后的目的通信端口标识的对应 关系,更新到所述第一数据转发表中,所述任意一个MAC地址与更新后的目的通信端口标 识的对应关系用于发送携带所述任意一个MAC地址的数据包到更新后的目的端口。
[0149] 可见,本发明实施例中,当一个MAC地址对应的目的通信端口标识发生变更时,如 VMM在更新第二数据转发表后,会将MAC地址与更新后的目的通信端口标识的对应关系发 送给每个通信端口,从而使包含该MAC地址的端口更新第一数据转发表中MAC地址与更新 后的目的通信端口标识的对应关系,从而保证后续携带所述任意一个MAC地址的数据包能 快速的发送到更新后的目的端口。
[0150] 参阅图12,本发明实施例提供的物理主机,包括多个虚拟机VM、虚拟机监控器VMM 和物理网卡,每个VM上包括虚拟通信端口,所述物理网卡上包括多个物理通信端口,每个 虚拟通信端口和每个物理通信端口中都维护有本通信端口的第一数据转发表,所述第一数 据转发表由与所述本通信端口关联的媒体访问控制MAC地址与目的通信端口标识的对应 关系组成,
[0151] 当每个虚拟通信端口和每个物理通信端口中的任意一个作为源通信端口时,所述 源通信端口用于:
[0152] 接收待发送的数据包,所述待发送的数据包携带目的MAC地址;
[0153] 从所述本通信端口维护的第一数据转发表中,查找与所述本通信端口关联的所述 目的MAC地址对应的目的通信端口标识;
[0154] 当查找到与所述目的MAC地址对应的目的通信端口标识,向所述目的通信端口标 识对应的目的通信端口发送所述待发送的数据包,其中,当所述源通信端口为虚拟机的虚 拟通信端口时,所述目的通信端口为目的物理通信端口,当所述源通信端口为物理通信端 口时,所述目的通信端口为目的虚拟机的虚拟通信端口。
[0155] 与现有技术中虚拟机上下行的数据包都要经过VMM,由VMM从包含每一个MAC地址 与目的通信端口标识的对应关系的大表中确定待发送的数据包要发往的目的端口相比,本 发明实施例提供的物理主机,在虚拟机的虚拟通信端口和物理网卡的物理通信端口中维护 一个只与本通信端口关联的第一数据转发表,所述第一数据转发表由与所述本通信端口关 联的媒体访问控制MAC地址与目的通信端口标识的对应关系组成,从而加快了确定目的通 信端口的速度,并且在确定到目的通信端口后,源通信端口直接将数据包发送到目的通信 端口,也就是说数据包可以绕过VMM,从而减轻了VMM的负担,提高了数据包转发的效率。
[0156] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件(例如处理器)来完成,该程序可以存储于一计算机可读存 储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
[0157] 以上对本发明实施例所提供的数据包转发的方法、装置以及系统进行了详细介 绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只 是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发 明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本发明的限制。
【主权项】
1. 一种数据包转发的方法,所述方法应用于物理主机中的源通信端口,所述物理主机 包括多个虚拟机VM、虚拟机监控器VMM和物理网卡,所述源通信端口包括每个VM上的虚 拟通信端口,以及所述物理网卡上的物理通信端口,其特征在于,每个虚拟通信端口和每个 物理通信端口中都维护有本通信端口的第一数据转发表,所述第一数据转发表由与所述本 通信端口关联的媒体访问控制MAC地址与目的通信端口标识的对应关系组成,所述方法包 括: 接收待发送的数据包,所述待发送的数据包携带目的MAC地址; 从所述本通信端口维护的第一数据转发表中,查找与所述本通信端口关联的所述目的 MAC地址对应的目的通信端口标识; 当查找到与所述目的MAC地址对应的目的通信端口标识,直接向所述目的通信端口标 识对应的目的通信端口发送所述待发送的数据包,其中,当所述源通信端口为虚拟机的虚 拟通信端口时,所述目的通信端口为目的物理通信端口;当所述源通信端口为物理通信端 口时,所述目的通信端口为目的虚拟机的虚拟通信端口。2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 删除所述本通信端口维护的第一数据转发表中满足删除条件的MAC地址与目的通信 端口标识的对应关系,以保持所述本通信端口维护的第一数据转发表的容量。3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括: 当未查找到与所述目的MC地址对应的目的通信端口标识,向所述VMM发送所述待发 送的数据包,所述待发送的数据包由所述VMM从所述VMM中维护的第二数据转发表中,确定 与所述目的MAC地址对应的目的通信端口标识,并向所述目的MAC地址对应的目的通信端 口发送所述待发送的数据包,所述第二数据转发表包含每一个MAC地址与目的通信端口标 识的对应关系。4. 根据权利要求3所述的方法,其特征在于,所述向所述VMM发送所述待发送的数据包 之后,所述方法还包括: 接收所述VMM发送的所述目的MAC地址与对应的目的通信端口标识的对应关系; 将所述目的MAC地址与对应的目的通信端口标识的对应关系添加到所述第一数据转 发表中,所述目的MAC地址与对应的目的通信端口标识的对应关系用于发送下一个携带所 述目的MAC地址的数据包。5. 根据权利要求3所述的方法,其特征在于,所述方法还包括: 当任意一个MAC地址对应的目的通信端口标识发生变更时,接收所述VMM发送的所述 任意一个MAC地址与更新后的目的通信端口标识的对应关系; 将所述任意一个MAC地址与更新后的目的通信端口标识的对应关系,更新到所述第一 数据转发表中,所述任意一个MAC地址与更新后的目的通信端口标识的对应关系用于发送 携带所述任意一个MAC地址的数据包到更新后的目的端口。6. -种数据包转发的装置,所述装置为物理主机中的源通信端口,所述物理主机包括 多个虚拟机VM、虚拟机监控器VMM和物理网卡,所述源通信端口包括每个VM上的虚拟通信 端口,以及所述物理网卡上的物理通信端口,其特征在于,每个虚拟通信端口和每个物理通 信端口中都维护有本通信端口的第一数据转发表,所述第一数据转发表由与所述本通信端 口关联的媒体访问控制MC地址与目的通信端口标识的对应关系组成,所述装置包括: 接收模块,用于接收待发送的数据包,所述待发送的数据包携带目的MAC地址; 查找模块,用于从所述本通信端口维护的第一数据转发表中,查找与所述本通信端口 关联的所述目的MAC地址对应的目的通信端口标识; 发送模块,用于当所述查找模块查找到与所述目的MAC地址对应的目的通信端口标 识,直接向所述目的通信端口标识对应的目的通信端口发送所述待发送的数据包,其中,当 所述源通信端口为虚拟机的虚拟通信端口时,所述目的通信端口为目的物理通信端口,当 所述源通信端口为物理通信端口时,所述目的通信端口为目的虚拟机的虚拟通信端口。7. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 转发表管理模块,用于删除所述本通信端口维护的第一数据转发表中满足删除条件的 MAC地址与目的通信端口标识的对应关系,以保持所述本通信端口维护的第一数据转发表 的容量。8. 根据权利要求6或7所述的装置,其特征在于, 所述发送模块,还用于当所述查找模块未查找到与所述目的MAC地址对应的目的通信 端口标识,向所述VMM发送所述待发送的数据包,所述待发送的数据包由所述VMM从所述 VMM中维护的第二数据转发表中,确定与所述目的MC地址对应的目的通信端口标识,并向 所述目的MAC地址对应的目的通信端口发送所述待发送的数据包,所述第二数据转发表包 含每一个MAC地址与目的通信端口标识的对应关系。9. 根据权利要求8所述的装置,其特征在于,所述装置还包括:添加模块, 所述接收模块,还用于接收所述VMM发送的所述目的MAC地址与对应的目的通信端口 标识的对应关系; 所述添加模块,用于将所述接收模块接收的所述目的MAC地址与对应的目的通信端口 标识的对应关系添加到所述第一数据转发表中,所述目的MAC地址与对应的目的通信端口 标识的对应关系用于发送下一个携带所述目的MC地址的数据包。10. 根据权利要求8所述的装置,其特征在于,所述装置还包括:更新模块, 所述接收模块,还用于当任意一个MAC地址对应的目的通信端口标识发生变更时,接 收所述VMM发送的所述任意一个MAC地址与更新后的目的通信端口标识的对应关系; 所述更新模块,用于将所述接收模块接收的所述任意一个MAC地址与更新后的目的通 信端口标识的对应关系,更新到所述第一数据转发表中,所述任意一个MAC地址与更新后 的目的通信端口标识的对应关系用于发送携带所述任意一个MAC地址的数据包到更新后 的目的端口。11. 一种物理主机,包括多个虚拟机VM、虚拟机监控器VMM和物理网卡,每个VM上包括 虚拟通信端口,所述物理网卡上包括多个物理通信端口,其特征在于,每个虚拟通信端口和 每个物理通信端口中都维护有本通信端口的第一数据转发表,所述第一数据转发表由与所 述本通信端口关联的媒体访问控制MC地址与目的通信端口标识的对应关系组成, 当每个虚拟通信端口和每个物理通信端口中的任意一个作为源通信端口时,所述源通 信端口用于: 接收待发送的数据包,所述待发送的数据包携带目的MAC地址; 从所述本通信端口维护的第一数据转发表中,查找与所述本通信端口关联的所述目的 MAC地址对应的目的通信端口标识; 当查找到与所述目的MAC地址对应的目的通信端口标识,向所述目的通信端口标识对 应的目的通信端口发送所述待发送的数据包,其中,当所述源通信端口为虚拟机的虚拟通 信端口时,所述目的通信端口为目的物理通信端口,当所述源通信端口为物理通信端口时, 所述目的通信端口为目的虚拟机的虚拟通信端口。
【专利摘要】本发明公开了一种数据包转发的方法,应用于物理主机中的源通信端口,源通信端口包括每个VM上的虚拟通信端口,以及物理网卡上的物理通信端口,每个源端口中都维护有本通信端口的第一数据转发表,第一数据转发表由与本通信端口关联的媒体访问控制MAC地址与目的通信端口标识的对应关系组成,方法包括:接收待发送的数据包,待发送的数据包携带目的MAC地址;从本通信端口维护的第一数据转发表中,查找与本通信端口关联的目的MAC地址对应的目的通信端口标识;当查找到与目的MAC地址对应的目的通信端口标识,直接向目的通信端口标识对应的目的通信端口发送待发送的数据包。本发明可以提高数据包转发的效率,减轻虚拟机监控器的负担。
【IPC分类】H04L12/937, H04L12/741
【公开号】CN104883302
【申请号】CN201510119441
【发明人】丁天虹
【申请人】华为技术有限公司
【公开日】2015年9月2日
【申请日】2015年3月18日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1