[发明专利]报文转发方法及VXLAN网关有效
申请号: | 201810050254.2 | 申请日: | 2018-01-18 |
公开(公告)号: | CN108183919B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 梁亦历;高晓秋 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/46 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 肖庆武 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 转发 方法 vxlan 网关 | ||
1.一种报文转发方法,其特征在于,用于VXLAN处理模块中,所述VXLAN处理模块是设置在网关节点中的模块,所述方法包括:
从数据链路层获取第一虚拟机VM发送的第一报文;
通过一个函数将所述第一报文的第一报文头中的外层以太头、外层网络之间互连的协议IP头和外层用户数据报协议UDP头进行一次解封装处理,得到UDP有效载荷;
剥离所述UDP有效载荷的VXLAN头,得到内层报文;
对所述内层报文进行重新封装得到第二报文;
将所述第二报文发送至第二VM所在的第二计算节点。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一报文的第一报文头中的外层以太头、外层网络之间互连的协议IP头和外层用户数据报协议UDP头进行一次解封装处理,得到UDP有效载荷,包括:
将所述第一报文的第一报文头中的所述外层以太头、所述外层IP头和所述外层UDP头通过一次所述解封装处理进行全内核态的剥离,得到所述UDP有效载荷。
3.根据权利要求1所述的方法,其特征在于,所述对所述内层报文进行重新封装得到第二报文,包括:
根据所述内层报文中的目的MAC地址,生成与所述目的MAC地址对应的第二报文头,所述目的MAC地址是所述第二VM的MAC地址;
根据所述第二报文头对所述内层报文进行封装,得到所述第二报文。
4.根据权利要求3所述的方法,其特征在于,所述根据所述内层报文中的目的MAC地址,生成与所述目的MAC地址对应的第二报文头,包括:
根据所述内层报文中的目的MAC地址和流表,获取与所述目的MAC地址对应的隧道IP地址,所述隧道IP地址是所述第二VM所在的第二计算节点的IP地址;
根据所述隧道IP地址,从本地缓存表中确定与所述隧道IP地址对应的下一跳MAC地址,所述本地缓存表中存储有所述隧道IP地址和所述下一跳MAC地址之间的对应关系;
根据所述隧道IP地址和所述下一跳MAC地址生成所述第二报文头,所述第二报文头中的外层目的MAC地址为所述下一跳MAC地址,所述第二报文头中的外层目的IP地址为所述隧道IP地址。
5.根据权利要求4所述的方法,其特征在于,所述根据所述隧道IP地址,从本地缓存表中确定与所述隧道IP地址对应的下一跳MAC地址,包括:
当尚未满足缓存表更新条件时,根据所述隧道IP地址,从所述本地缓存表中查找到与所述隧道IP地址对应的所述下一跳MAC地址;
其中,所述缓存表更新条件包括第一时刻与第二时刻的差值小于预设时间间隔,所述第一时刻为当前时刻,所述第二时刻为上一次查找路由表和ARP表的时刻。
6.根据权利要求5所述的方法,其特征在于,所述方法,还包括:
当从所述本地缓存表中未查找到与所述隧道IP地址对应的所述下一跳MAC地址时,从所述路由表查找到与所述隧道IP地址对应的下一跳IP地址;
根据所述下一跳IP地址,从所述ARP表中查找到与所述下一跳IP地址对应的所述下一跳MAC地址;
根据所述路由表和所述ARP表,对所述本地缓存表进行更新;
将所述第二时刻重置为所述当前时刻。
7.根据权利要求5所述的方法,其特征在于,所述方法,还包括:
当满足所述缓存表更新条件时,根据所述隧道IP地址,从所述路由表查找到与所述隧道IP地址对应的下一跳IP地址;
根据所述下一跳IP地址,从所述ARP表中查找到与所述下一跳IP地址对应的所述下一跳MAC地址;
根据所述路由表和所述ARP表,对所述本地缓存表进行更新;
将所述第二时刻重置为所述当前时刻。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810050254.2/1.html,转载请声明来源钻瓜专利网。