一种报文转发方法及交换设备技术

技术编号:14951312 阅读:66 留言:0更新日期:2017-04-02 03:51
本发明专利技术实施例提供一种报文转发方法及交换设备,用于解决现有技术中IP负载均衡技术的局限性的技术问题。该方法包括:交换设备接收来自终端设备的第一报文,第一报文包括内层IP地址和外层IP地址,其中,内层IP地址包括终端设备的第一源IP地址及虚拟服务器的第一目的IP地址,外层IP地址包括虚拟服务器的第二源IP地址及目标服务器的第二目的IP地址,确定解封装表项中存在与外层IP地址一致的IP地址,丢弃外层IP地址,并将内层IP地址中的第一目的IP地址修改为第二目的IP地址,获得第二报文,解封装表项记录有与待解封装的报文相应的至少一个IP地址,按照第二目的IP地址,将第二报文转发给目标服务器。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种报文转发方法及交换设备
技术介绍
Linux虚拟服务器(LinuxVirtualServer,LVS)是一种集群技术,采用IP负载均衡技术和基于内容请求分发技术,将一组服务器构成一个实现可伸缩的、高可用网络服务的服务器集群。目前,LVS集群中常用的三种IP负载均衡技术包括VS/NAT、VS/TUN、VS/DR。其中,VS/NAT指调度器将用户请求报文做目的地址转换(DestinationNetworkAddressTranslation,DNAT),即将报文的目的IP地址转换为选定的服务器IP地址,服务器IP地址可以是私网,但是服务器应答报文也必须经过调度器做源地址转换(SourceAddressTranslation,SNAT),当集群规模变大时,调度器可能成为系统的瓶颈。VS/TUN是指调度器利用IPTUNNEL技术(一种基于TUNNEL协议的技术)在用户请求报文的基础上再封装一层IP头部,转发给服务器。而服务器应答报文则无需经过调度器,这样可以极大提高系统的吞吐量,但是需要服务器必须支持IPTUNNEL,且需要消耗解封装报文性能。而VS/DR是指调度器直接修改报文的媒体访问控制(MediaAccessControl,MAC),即目的MAC地址,将报文发送给服务器,服务器应答报文也不需要经过调度器,无需支持TUNNEL以及解封装消耗,但其要求调度器与服务器在同一局域网内。综上可知,现有技术中实现负载均衡的局限性较大的技术问题。
技术实现思路
本专利技术实施例提供一种报文转发方法及交换设备,用于解决现有技术中IP负载均衡技术的局限性的技术问题。第一方面,本专利技术实施例提供一种报文转发方法,包括以下步骤:交换设备接收来自终端设备的第一报文,所述第一报文包括内层IP地址和外层IP地址,其中,所述内层IP地址包括与所述终端设备对应的第一源IP地址及与虚拟服务器对应的第一目的IP地址,所述外层IP地址包括与所述虚拟服务器对应的第二源IP地址及与目标服务器对应的第二目的IP地址;确定解封装表项中存在与所述外层IP地址一致的IP地址,丢弃所述第一报文的外层IP地址,并将所述内层IP地址中的第一目的IP地址修改为所述第二目的IP地址,获得与所述第一报文对应的第二报文;其中,所述解封装表项记录有与待解封装的报文相应的至少一个IP地址;按照所述第二目的IP地址,将所述第二报文转发给所述目标服务器。可选的,在按照所述第一目的IP地址,将所述第二报文转发给所述目标服务器之后,所述方法还包括:所述交互设备接收来自所述目标服务器的第三报文,所述第三报文包括所述目标服务器对应的第三源IP地址,及与所述终端设备对应的第三目的IP地址;将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址;按照所述第三目的IP地址将所述第三报文发送给所述终端设备。可选的,在将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址之前,所述方法还包括:确定地址转换表项中是否存在与所述第三目的IP地址一致的IP地址,所述地址转换表项包括至少一个白名单报文的IP地址;若确定所述地址转换表项中不存在所述第三目的IP地址,将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址。可选的,在确定地址转换表项中是否存在与所述第三目的IP地址一致的IP地址之后,还包括:若确定所述地址转换表项中存在所述第三目的IP地址,不修改所述第三报文的IP地址;按照所述第三目的IP地址对所述第三报文进行转发。可选的,在将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址之前,还包括:对所述第一报文进行第一标记;将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址,包括:基于所述第一标记,将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址。第二方面,本专利技术实施例提供一种交换设备,包括:接收模块,用于接收来自终端设备的第一报文,所述第一报文包括内层IP地址和外层IP地址,其中,所述内层IP地址包括与所述终端设备对应的第一源IP地址及与虚拟服务器对应的第一目的IP地址,所述外层IP地址包括与所述虚拟服务器对应的第二源IP地址及与目标服务器对应的第二目的IP地址;处理模块,用于确定解封装表项中存在与所述外层IP地址一致的IP地址,丢弃所述第一报文的外层IP地址,并将所述内层IP地址中的第一目的IP地址修改为所述第二目的IP地址,获得与所述第一报文对应的第二报文;其中,所述解封装表项记录有与待解封装的报文相应的至少一个IP地址;转发模块,用于按照所述第二目的IP地址,将所述第二报文转发给所述目标服务器。可选的,所述接收模块还用于在按照所述第一目的IP地址,将所述第二报文转发给所述目标服务器之后,接收来自所述目标服务器的第三报文,所述第三报文包括所述目标服务器对应的第三源IP地址,及与所述终端设备对应的第三目的IP地址;所述处理模块还用于将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址;所述转发模块用于按照所述第三目的IP地址将所述第三报文发送给所述终端设备。可选的,所述交换设备还包括:确定模块,用于在将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址之前,确定地址转换表项中是否存在与所述第三目的IP地址一致的IP地址,所述地址转换表项包括至少一个白名单报文的IP地址;所述处理模块用于若确定所述地址转换表项中不存在所述第三目的IP地址,将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址。可选的,所述处理模块还用于:在确定地址转换表项中是否存在与所述第三目的IP地址一致的IP地址之后,若确定所述地址转换表项中存在所述第三目的IP地址,不修改所述第三报文的IP地址;所述转发模块用于按照所述第三目的IP地址对所述第三报文进行转发。可选的,所述交换设备还包括:标记模块,用于在将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址之前,对所述第一报文进行第一标记;所述处理模块用于基于所述第一标记,将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址。本专利技术实施例中,由于交换设备通过接收来自终端设备的第一报文,该第一报文包括内层IP地址和外层IP地址,且内层IP地址包括与终端设备对应的第一源IP地址及与虚拟服务器对应的第一目的IP地址,外层IP地址包括与虚拟服务器对应的第二源IP地址及与目标服务器对应的第二目的IP地址,进而,若确定解封装表项中存在与外层IP地址一致的IP地址,该解封装表项记录有与待解封装的报文相应的至少一个IP地址,那么丢弃第一报文的外层IP地址,即对第一报文进行解封装,并将内层IP地址中的第一目的IP地址修改为第二目的IP地址,即对第一报文进行目的地址转换,获得与第一报文对应的第二报文,进而可以按照第二目的IP地址,将第二报文转发给目标服务器,故实现在交换设备中完成对报文的解封装和目的地址转换,以将报文直接转发给目标服务器,具有VS/NAT模式服务器透明性的本文档来自技高网...
一种报文转发方法及交换设备

【技术保护点】
一种报文转发方法,其特征在于,包括:交换设备接收来自终端设备的第一报文,所述第一报文包括内层IP地址和外层IP地址,其中,所述内层IP地址包括与所述终端设备对应的第一源IP地址及与虚拟服务器对应的第一目的IP地址,所述外层IP地址包括与所述虚拟服务器对应的第二源IP地址及与目标服务器对应的第二目的IP地址;确定解封装表项中存在与所述外层IP地址一致的IP地址,丢弃所述第一报文的外层IP地址,并将所述内层IP地址中的第一目的IP地址修改为所述第二目的IP地址,获得与所述第一报文对应的第二报文;其中,所述解封装表项记录有与待解封装的报文相应的至少一个IP地址;按照所述第二目的IP地址,将所述第二报文转发给所述目标服务器。

【技术特征摘要】
1.一种报文转发方法,其特征在于,包括:交换设备接收来自终端设备的第一报文,所述第一报文包括内层IP地址和外层IP地址,其中,所述内层IP地址包括与所述终端设备对应的第一源IP地址及与虚拟服务器对应的第一目的IP地址,所述外层IP地址包括与所述虚拟服务器对应的第二源IP地址及与目标服务器对应的第二目的IP地址;确定解封装表项中存在与所述外层IP地址一致的IP地址,丢弃所述第一报文的外层IP地址,并将所述内层IP地址中的第一目的IP地址修改为所述第二目的IP地址,获得与所述第一报文对应的第二报文;其中,所述解封装表项记录有与待解封装的报文相应的至少一个IP地址;按照所述第二目的IP地址,将所述第二报文转发给所述目标服务器。2.如权利要求1所述的方法,其特征在于,在按照所述第一目的IP地址,将所述第二报文转发给所述目标服务器之后,所述方法还包括:所述交互设备接收来自所述目标服务器的第三报文,所述第三报文包括所述目标服务器对应的第三源IP地址,及与所述终端设备对应的第三目的IP地址;将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址;按照所述第三目的IP地址将所述第三报文发送给所述终端设备。3.如权利要求2所述的方法,其特征在于,在将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址之前,所述方法还包括:确定地址转换表项中是否存在与所述第三目的IP地址一致的IP地址,所述地址转换表项包括至少一个白名单报文的IP地址;若确定所述地址转换表项中不存在所述第三目的IP地址,将所述第三报文中的第三源IP地址修改为与所述虚拟服务器对应的第二源IP地址。4.如权利要求3所述的方法,其特征在于,在确定地址转换表项中是否存在与所述第三目的IP地址一致的IP地址之后,还包括:若确定所述地址转换表项中存在所述第三目的IP地址,不修改所述第三报文的IP地址;按照所述第三目的IP地址对所述第三报文进行转发。5.如权利要求1所述的方法,其特征在于,在将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址之前,还包括:对所述第一报文进行第一标记;将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址,包括:基于所述第一标记,将所述内层IP地址中的第一目的IP地址修改为所述外层IP地址中的第二目的IP地址。6.一种交换设备,其特征在于,包括:接收模块...

【专利技术属性】
技术研发人员:徐仁飞
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1