CN110535983B - 报文转发方法及装置 - Google Patents
报文转发方法及装置 Download PDFInfo
- Publication number
- CN110535983B CN110535983B CN201910907157.5A CN201910907157A CN110535983B CN 110535983 B CN110535983 B CN 110535983B CN 201910907157 A CN201910907157 A CN 201910907157A CN 110535983 B CN110535983 B CN 110535983B
- Authority
- CN
- China
- Prior art keywords
- ipv6
- access request
- address
- request message
- ipv4
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/686—Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文转发方法及装置,该方法包括:接收终端发送的IPv6访问请求报文,确定IPv6的出口是否超载及IPv6访问请求报文的目的IPv6地址是否属于设定网段;若确定IPv6的出口超载或者目的IPv6地址属于设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找IPv6访问请求报文携带的域名,并在源MAC地址、IPv4地址与IPv6地址的第二映射关系中查找IPv6访问请求报文的源MC地址;若在第一映射关系中查找到IPv6访问请求报文携带的域名、并在第二映射关系中查找到IPv6访问请求报文的源MAC地址,则重新生成第一IPv4访问请求报文;发送第一IPv4访问请求报文。该方案可以避免IPv6出口超载,保证用户的上网体验。
Description
技术领域
本发明涉及通信技术领域,尤指一种报文转发方法及装置。
背景技术
互联网协议第6版(Internet Protocol Version 6,IPv6)是互联网工程任务组(The Internet Engineering Task Force,IETF)设计的用于替代IPv4的下一代互联网协议(Internet Protocol,IP),其地址的数量号称可以为全世界的每一粒沙子编上一个地址。由于IPv4最大的问题在于地址资源有限,严重制约了互联网的应用和发展,而IPv6的使用不仅能解决地址资源有限的问题,而且也能解决多种接入设备接入互联网的障碍,使万物互联成为可能。
根据请求评论(Request For Comments,RFC)4213定义,双栈是指同时安装IPv4协议栈和IPv6协议栈,具有IPv4/IPv6双协议栈的终端和网络设备分别称为双栈终端和双栈网络设备,这些设备既可以收发IPv4的报文,也可以收发IPv6的报文,它们可以使用IPv4地址与具有IPv4协议栈的设备互通,也可以使用IPv6地址与具有IPv6协议栈的设备互通。
当前处于IPV4到IPV6的过渡阶段,双栈终端和双栈网络设备会存在较长时间。按RFC规定,双栈终端会采用IPv4地址通过双栈网络设备向域名系统(Domain Name System,DNS)服务器发送两个携带域名的DNS请求报文,一个携带的类型为AAAA,用于请求该域名对应的服务器的IPv6地址,另外一个携带的类型为A,用于请求该域名对应的服务器的IPv4地址。DNS服务器保存域名和IP地址的映射关系,在接收到这两个DNS请求报文后,若查询到该域名对应的IPv4地址和IPv6地址,则返回携带AAAA、IPv6地址和域名的DNS应答报文,以及携带A、IPv4地址和域名的DNS应答报文。双栈网络设备将这两个DNS应答报文发送给双栈终端。由于双栈终端获取到该域名对应的服务器的IPv4地址和IPv6地址,通会优先使用IPv6地址访问该域名对应的服务器。
受限制于当前赛尔网络,IPV6出口的费用比IPV4出口的费用高出5-10倍,通常很多高校、企业都同时部署IPv6出口和IPv4出口,IPv6出口带宽通常都比较小,目前双栈终端越来越多,而双栈终端又会优先使用IPv6地址进行访问,这就会造成IPv6出口超载,无法保证用户的上网体验。
发明内容
本发明实施例提供一种报文转发方法及装置,用以解决现有技术中存在的造成IPv6出口超载,无法保证用户的上网体验的问题。
根据本发明实施例,提供一种报文转发方法,应用于双栈网络设备中,包括:
接收终端发送的互联网协议第6版IPv6访问请求报文后,确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段;
若确定所述IPv6的出口超载或者所述IPv6访问请求报文的目的IPv6地址属于所述设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找所述IPv6访问请求报文携带的域名,并在源媒体访问控制MAC地址、IPv4地址与IPv6地址的第二映射关系中查找所述IPv6访问请求报文的源MC地址;
若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、并在所述第二映射关系中查找到所述IPv6访问请求报文的源MAC地址,则根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文;
发送所述第一IPv4访问请求报文。
具体的,根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文,具体包括:
将所述IPv6访问请求报文的版本标识替换为IPv4的版本标识、将所述IPv6访问请求报文的目的IPv6地址替换为所述IPv6访问请求报文携带的域名对应的IPv4地址、并将所述IPv6访问请求报文的源IPv6地址替换为所述IPv6访问请求报文的源MAC对应的IPv4地址,得到第一IPv4访问请求报文。
可选的,还包括:
若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、而在所述第二映射关系中未查找到所述IPv6访问请求报文的源MAC地址,则在所述第二映射关系中对应保存所述IPv6访问请求报文的源MAC地址和源IPv6地址;
向所述终端发送IPv6重定向报文,所述IPv6重定向报文携带从所述第一映射关系中查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址,以使所述终端根据所述IPv6访问请求报文携带的域名对应的IPv4地址确定是否重新发送第二IPv4访问请求报文;
若在设定周期到期前接收所述第二IPv4访问请求报文后,在所述第二映射关系中对应保存所述第二IPv4访问请求报文的源MAC地址和源IPv4地址;
发送所述第二IPv4访问请求报文。
可选的,还包括:
若在所述设定周期到期后未接收到所述第二IPv4访问请求报文,则转发所述IPv6访问请求报文。
可选的,还包括:
接收域名系统DNS服务器发送的DNS应答报文后,在所述第一映射关系中查找所述DNS应答报文携带的域名;
若在所述第一映射关系中查找到所述DNS应答报文携带的域名,则确定是否对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址;
若确定未对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址,则在所述第一映射关系中对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址。
可选的,确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段之前,还包括:
确定所述IPv6访问请求报文的源IPv6地址是否属于白名单网段;
若确定所述IPv6访问请求报文的源IPv6地址属于所述白名单网段,则发送所述IPv6访问请求报文;若确定IPv6访问请求报文的源IPv6地址不属于所述白名单网段,则执行所述确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段的步骤。
根据本发明实施例,还提供一种报文转发装置,应用于双栈网络设备中,包括:
确定模块,用于接收终端发送的IPv6访问请求报文后,确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段;
查找模块,用于若确定所述IPv6的出口超载或者所述IPv6访问请求报文的目的IPv6地址属于所述设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找所述IPv6访问请求报文携带的域名,并在源媒体访问控制MAC地址、IPv4地址与IPv6地址的第二映射关系中查找所述IPv6访问请求报文的源MC地址;
生成模块,用于若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、并在所述第二映射关系中查找到所述IPv6访问请求报文的源MAC地址,则根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文;
发送模块,用于发送所述第一IPv4访问请求报文。
具体的,所述生成模块,用于根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文,具体用于:
将所述IPv6访问请求报文的版本标识替换为IPv4的版本标识、将所述IPv6访问请求报文的目的IPv6地址替换为所述IPv6访问请求报文携带的域名对应的IPv4地址、并将所述IPv6访问请求报文的源IPv6地址替换为所述IPv6访问请求报文的源MAC对应的IPv4地址,得到第一IPv4访问请求报文。
可选的,还包括第一保存模块,其中:
所述第一保存模块,用于若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、而在所述第二映射关系中未查找到所述IPv6访问请求报文的源MAC地址,则在所述第二映射关系中对应保存所述IPv6访问请求报文的源MAC地址和源IPv6地址;
所述发送模块,还用于向所述终端发送IPv6重定向报文,所述IPv6重定向报文携带从所述第一映射关系中查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址,以使所述终端根据所述IPv6访问请求报文携带的域名对应的IPv4地址确定是否重新发送第二IPv4访问请求报文;
所述第一保存模块,还用于若在设定周期到期前接收所述第二IPv4访问请求报文后,在所述第二映射关系中对应保存所述第二IPv4访问请求报文的源MAC地址和源IPv4地址;
所述发送模块,还用于发送所述第二IPv4访问请求报文。
可选的,所述发送模块,还用于:
若在所述设定周期到期后未接收到所述第二IPv4访问请求报文,则转发所述IPv6访问请求报文。
可选的,还包括第二保存模块,其中:
所述查找模块,还用于接收域名系统DNS服务器发送的DNS应答报文后,在所述第一映射关系中查找所述DNS应答报文携带的域名;
所述确定模块,还用于若在所述第一映射关系中查找到所述DNS应答报文携带的域名,则确定是否对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址;
所述第二保存模块,用于若确定未对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址,则在所述第一映射关系中对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址。
可选的,所述确定模块,还用于:
在确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段之前,确定所述IPv6访问请求报文的源IPv6地址是否属于白名单网段;
若确定所述IPv6访问请求报文的源IPv6地址属于所述白名单网段,则发送所述IPv6访问请求报文;若确定IPv6访问请求报文的源IPv6地址不属于所述白名单网段,则执行所述确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段的步骤。
本发明有益效果如下:
本发明实施例提供的一种报文转发方法及装置,通过接收终端发送的IPv6访问请求报文后,确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段;若确定所述IPv6的出口超载或者所述IPv6访问请求报文的目的IPv6地址属于所述设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找所述IPv6访问请求报文携带的域名,并在源MAC地址、IPv4地址与IPv6地址的第二映射关系中查找所述IPv6访问请求报文的源MC地址;若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、并在所述第二映射关系中查找到所述IPv6访问请求报文的源MAC地址,则根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文;发送所述第一IPv4访问请求报文。该方案中,在确定IPv6的出口超载或者IPv6访问请求报文的目的IPv6地址属于设定网段后,根据IPv6访问请求报文、第一映射关系和第二映射关系重新生成对应的IPv4访问请求报文,对于双栈终端来说,可以使用IPv4地址继续访问域名对应的服务器,从而降低IPv6出口的负载,而对于单栈终端来说,可以继续使用Ipv6地址继续访问,因此,相对于现有技术方案,避免IPv6出口超载,保证用户的上网体验。
附图说明
图1为本发明实施例中一种报文转发方法的流程图;
图2为本发明实施例中一种报文转发装置的结构示意图;
图3为本发明实施例中另一种报文转发装置的结构示意图;
图4为本发明实施例中再一种报文转发装置的结构示意图。
具体实施方式
针对现有技术中存在的造成IPv6出口超载,无法保证用户的上网体验的问题,本发明实施例提供一种报文转发方法,应用于双栈网络设备中,该方法的流程如图1所示,执行步骤如下:
S11:接收终端发送的IPv6访问请求报文后,确定IPv6的出口是否超载及IPv6访问请求报文的目的IPv6地址是否属于设定网段。
终端可以是双栈终端,也可以是具有IPv6协议栈的单栈终端,此时,若用户需要访问某个域名对应的服务器时,可以发送IPv6访问请求报文,IPv6访问请求报文中的目的IPv6地址是基于对应的DNS服务器发送的对应的DNS应答报文获取后的。双栈网络设备接收到该IPv6访问请求报文后,会首先确定Ipv6的出口是否超载以及IPv6访问请求报文的目的IPv6地址是否属于设定网段,设定网段可以根据实际需要进行设定。
在确定IPv6的出口是否超载以及IPv6访问请求报文的目的IPv6地址是否属于设定网段时,可以但不限于采用专用集成电路(Application Specific IntegratedCircuits,ASIC)芯片进行硬件监控,有别于软件监控的方式,硬件监控不需要消耗中央处理器(Central Processing Unit,CPU)性能。下面列举一种使用ASIC芯片中硬件访问控制列表的设置方式,如下表1所示:
MATCH | G_COPY_TO_CPU | Y_COPY_TO_CPU | R_COPY_TO_CPU |
IPV6网段 | 下限阈值告警 | NA | 上限阈值告警 |
端口 | 下限阈值告警 | NA | 上限阈值告警 |
表1
表1中的表项内容的含义如下:1、匹配域(MATCH):是指定的需要监控的IPv6的网段或者出口;
2、G_COPY_TO_CPU:当速率低于设定阈值的70%时,通告CPU到达下限阈值;
3、Y_COPY_TO_CPU:当速率在设定阈值的70%~100%时,不做任何动作;
4、R_COPY_TO_CPU:当速率超过设定阈值时,通告CPU到达上限阈值。
S12:若确定IPv6的出口超载或者IPv6访问请求报文的目的IPv6地址属于设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找IPv6访问请求报文携带的域名,并在源MAC地址、IPv4地址与IPv6地址的第二映射关系中查找IPv6访问请求报文的源MC地址。
若确定IPv6的出口未超载且IPv6访问请求报文的目的IPv6地址属于设定网段,则按照原有的转发方法转发IPv6访问请求报文;只有在确定IPv6的出口超载或者IPv6访问请求报文的目的IPv6地址属于设定网段时,会在域名、IPv4地址与IPv6地址的第一映射关系中查找IPv6访问请求报文携带的域名,并在源MAC地址、IPv4地址与IPv6地址的第二映射关系中查找IPv6访问请求报文的源MC地址。
S13:若在第一映射关系中查找到IPv6访问请求报文携带的域名、并在第二映射关系中查找到IPv6访问请求报文的源MAC地址,则根据IPv6访问请求报文、查找到的IPv6访问请求报文携带的域名对应的IPv4地址和IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文。
若在第一映射关系中查找到IPv6访问请求报文携带的域名、而在第二映射关系中未查找到IPv6访问请求报文的源MAC地址,则说明第一终端有可能是首次发起的的IPv6访问请求报文,此时,需要在第二映射关系中对应保存IPv6访问请求报文的源MAC地址和源IPv6地址;然后向终端发送IPv6重定向报文,IPv6重定向报文携带从第一映射关系中查找到的IPv6访问请求报文携带的域名对应的IPv4地址,以使终端根据IPv6访问请求报文携带的域名对应的IPv4地址确定是否重新发送第二IPv4访问请求报文;若在设定周期到期前接收第二IPv4访问请求报文后,在第二映射关系中对应保存第二IPv4访问请求报文的源MAC地址和源IPv4地址;发送第二IPv4访问请求报文。
第二映射关系可以预先由人工搜集并设定,也可以由双栈网络设备通过IPv6访问请求报文和IPv6访问请求报文进行自动搜集。
超文本传输协议(Hyper Text Transfer Protocol,HTTP)重定向或者统一资源定位符(Uniform Resource Locator,URL)重定向是一种用于当实际资源,如单个Web页面被迁移到新的URL下,保持原有链接可用的技术。HTTP提供了一种特殊形式的响应——HTTP重定向来执行此类操作,该操作可以应用于多种多样的目标:网站维护期间的临时跳转,网站架构改变后为了保持外部链接继续可用的重定向等等。上述IPv6重定向报文的URL可以但不限于为如下形式:
http://x.x.x.x/login&url=http://ipv6.baidu.com;
其中,x.x.x.x为域名对应的服务器的IPV4地址,URL为目标地址。
需要说明的是,若终端是双栈终端,会发送第二IPv4访问请求,若终端是具有IPv6协议栈的单栈终端,则无法发送第二IPv4访问请求报文,此时,双栈网络设备可以预先设置设定周期,若在设定周期到期后未接收到第二IPv4访问请求报文,则转发IPv6访问请求报文,从而可以确保具有IPv6协议栈的单栈终端也可以实现网络访问,确保用户的上网体验。
设定周期可以根据实际需要进行设定。
S14:发送第一IPv4访问请求报文。
该方案中,在确定IPv6的出口超载或者IPv6访问请求报文的目的IPv6地址属于设定网段后,根据IPv6访问请求报文、第一映射关系和第二映射关系重新生成对应的IPv4访问请求报文,对于双栈终端来说,可以使用IPv4地址继续访问域名对应的服务器,从而降低IPv6出口的负载,而对于单栈终端来说,可以继续使用Ipv6地址继续访问,因此,相对于现有技术方案,避免IPv6出口超载,保证用户的上网体验。
具体的,上述S13中的根据IPv6访问请求报文、查找到的IPv6访问请求报文携带的域名对应的IPv4地址和IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文,实现过程具体包括:
将IPv6访问请求报文的版本标识替换为IPv4的版本标识、将IPv6访问请求报文的目的IPv6地址替换为IPv6访问请求报文携带的域名对应的IPv4地址、并将IPv6访问请求报文的源IPv6地址替换为IPv6访问请求报文的源MAC对应的IPv4地址,得到第一IPv4访问请求报文。
将IPv6访问请求报文的报文头部中的版本标识、源IPv6地址和目的IPv4地址这三个字段的字段值进行替换后,就可以得到IPv4访问请求报文。其中,IPv6访问请求报文的版本标识为0x86DD,需要替换为IPV4的版本标识,为0x0800。
一种可选的实施方式,还包括:
接收DNS服务器发送的DNS应答报文后,在第一映射关系中查找DNS应答报文携带的域名;
若在第一映射关系中查找到DNS应答报文携带的域名,则确定是否对应保存DNS应答报文携带的域名对应的IPv4地址或IPv6地址;
若确定未对应保存DNS应答报文携带的域名对应的IPv4地址或IPv6地址,则在第一映射关系中对应保存DNS应答报文携带的域名对应的IPv4地址或IPv6地址。
第一映射关系可以预先由人工搜集并设定,也可以由双栈网络设备通过DNS应答报文进行自动搜集。根据RFC规定,双栈终端肯定会发起类型为AAAA和A的DNS请求报文,请求域名对应的服务器的IPv6地址和IPv4地址,DNS服务器在接收到这两个DNS请求报文后,会应答域名对应的服务器的IPV4地址和IPV6地址,此时,双栈网络设备可以基于这两个DNS应答报文在第一映射关系中对应保存域名与IPv6地址、IPv4地址的映射关系,以便于后续使用。
一种可选的实施方式,确定IPv6的出口是否超载及IPv6访问请求报文的目的IPv6地址是否属于设定网段之前,还包括:
确定IPv6访问请求报文的源IPv6地址是否属于白名单网段;
若确定IPv6访问请求报文的源IPv6地址属于白名单网段,则发送IPv6访问请求报文;若确定IPv6访问请求报文的源IPv6地址不属于白名单网段,则执行S12中的确定IPv6的出口是否超载及IPv6访问请求报文的目的IPv6地址是否属于设定网段。
还可以提供设置白名单网段的功能,对于用户不希望进行IPv6到IPv4转换的IPv6网段,用户可以配置在白名单网段中,从而实现灵活的个性化设置,提升用户体验。
基于同一发明构思,本发明实施例提供一种报文转发装置,应用于双栈网络设备中,该装置的结构如图2所示,包括:
确定模块21,用于接收终端发送的IPv6访问请求报文后,确定IPv6的出口是否超载及IPv6访问请求报文的目的IPv6地址是否属于设定网段;
查找模块22,用于若确定IPv6的出口超载或者IPv6访问请求报文的目的IPv6地址属于设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找IPv6访问请求报文携带的域名,并在源媒体访问控制MAC地址、IPv4地址与IPv6地址的第二映射关系中查找IPv6访问请求报文的源MC地址;
生成模块23,用于若在第一映射关系中查找到IPv6访问请求报文携带的域名、并在第二映射关系中查找到IPv6访问请求报文的源MAC地址,则根据IPv6访问请求报文、查找到的IPv6访问请求报文携带的域名对应的IPv4地址和IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文;
发送模块24,用于发送第一IPv4访问请求报文。
该方案中,在确定IPv6的出口超载或者IPv6访问请求报文的目的IPv6地址属于设定网段后,根据IPv6访问请求报文、第一映射关系和第二映射关系重新生成对应的IPv4访问请求报文,对于双栈终端来说,可以使用IPv4地址继续访问域名对应的服务器,从而降低IPv6出口的负载,而对于单栈终端来说,可以继续使用Ipv6地址继续访问,因此,相对于现有技术方案,避免IPv6出口超载,保证用户的上网体验。
具体的,生成模块23,用于根据IPv6访问请求报文、查找到的IPv6访问请求报文携带的域名对应的IPv4地址和IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文,具体用于:
将IPv6访问请求报文的版本标识替换为IPv4的版本标识、将IPv6访问请求报文的目的IPv6地址替换为IPv6访问请求报文携带的域名对应的IPv4地址、并将IPv6访问请求报文的源IPv6地址替换为IPv6访问请求报文的源MAC对应的IPv4地址,得到第一IPv4访问请求报文。
一种可选的实施方式,如图3所示,在图2的基础上还包括第一保存模块25,其中:
第一保存模块25,用于若在第一映射关系中查找到IPv6访问请求报文携带的域名、而在第二映射关系中未查找到IPv6访问请求报文的源MAC地址,则在第二映射关系中对应保存IPv6访问请求报文的源MAC地址和源IPv6地址;
发送模块24,还用于向终端发送IPv6重定向报文,IPv6重定向报文携带从第一映射关系中查找到的IPv6访问请求报文携带的域名对应的IPv4地址,以使终端根据IPv6访问请求报文携带的域名对应的IPv4地址确定是否重新发送第二IPv4访问请求报文;
第一保存模块25,还用于若在设定周期到期前接收第二IPv4访问请求报文后,在第二映射关系中对应保存第二IPv4访问请求报文的源MAC地址和源IPv4地址;
发送模块24,还用于发送第二IPv4访问请求报文。
可选的,发送模块24,还用于:
若在设定周期到期后未接收到第二IPv4访问请求报文,则转发IPv6访问请求报文。
一种可选的实施方式,如图4所示,在图2的基础上还包括第二保存模块26,其中:
查找模块22,还用于接收DNS服务器发送的DNS应答报文后,在第一映射关系中查找DNS应答报文携带的域名;
确定模块21,还用于若在第一映射关系中查找到DNS应答报文携带的域名,则确定是否对应保存DNS应答报文携带的域名对应的IPv4地址或IPv6地址;
第二保存模块26,用于若确定未对应保存DNS应答报文携带的域名对应的IPv4地址或IPv6地址,则在第一映射关系中对应保存DNS应答报文携带的域名对应的IPv4地址或IPv6地址。
可选的,确定模块21,还用于:
在确定IPv6的出口是否超载及IPv6访问请求报文的目的IPv6地址是否属于设定网段之前,确定IPv6访问请求报文的源IPv6地址是否属于白名单网段;
若确定IPv6访问请求报文的源IPv6地址属于白名单网段,则发送IPv6访问请求报文;若确定IPv6访问请求报文的源IPv6地址不属于白名单网段,则执行确定IPv6的出口是否超载及IPv6访问请求报文的目的IPv6地址是否属于设定网段的步骤。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种报文转发方法,应用于双栈网络设备中,其特征在于,包括:
接收终端发送的互联网协议第6版IPv6访问请求报文后,确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段;
若确定所述IPv6的出口超载或者所述IPv6访问请求报文的目的IPv6地址属于所述设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找所述IPv6访问请求报文携带的域名,并在源媒体访问控制MAC地址、IPv4地址与IPv6地址的第二映射关系中查找所述IPv6访问请求报文的源MAC 地址;
若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、并在所述第二映射关系中查找到所述IPv6访问请求报文的源MAC地址,则根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文;
发送所述第一IPv4访问请求报文。
2.如权利要求1所述的方法,其特征在于,根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文,具体包括:
将所述IPv6访问请求报文的版本标识替换为IPv4的版本标识、将所述IPv6访问请求报文的目的IPv6地址替换为所述IPv6访问请求报文携带的域名对应的IPv4地址、并将所述IPv6访问请求报文的源IPv6地址替换为所述IPv6访问请求报文的源MAC对应的IPv4地址,得到第一IPv4访问请求报文。
3.如权利要求1所述的方法,其特征在于,还包括:
若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、而在所述第二映射关系中未查找到所述IPv6访问请求报文的源MAC地址,则在所述第二映射关系中对应保存所述IPv6访问请求报文的源MAC地址和源IPv6 地址;
向所述终端发送IPv6重定向报文,所述IPv6重定向报文携带从所述第一映射关系中查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址,以使所述终端根据所述IPv6访问请求报文携带的域名对应的IPv4地址确定是否重新发送第二IPv4访问请求报文;
若在设定周期到期前接收所述第二IPv4访问请求报文后,在所述第二映射关系中对应保存所述第二IPv4访问请求报文的源MAC地址和源IPv4地址;
发送所述第二IPv4访问请求报文。
4.如权利要求3所述的方法,其特征在于,还包括:
若在所述设定周期到期后未接收到所述第二IPv4访问请求报文,则转发所述IPv6访问请求报文。
5.如权利要求1所述的方法,其特征在于,还包括:
接收域名系统DNS服务器发送的DNS应答报文后,在所述第一映射关系中查找所述DNS应答报文携带的域名;
若在所述第一映射关系中查找到所述DNS应答报文携带的域名,则确定是否对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址;
若确定未对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址,则在所述第一映射关系中对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址。
6.如权利要求1-5任一所述的方法,其特征在于,确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段之前,还包括:
确定所述IPv6访问请求报文的源IPv6地址是否属于白名单网段;
若确定所述IPv6访问请求报文的源IPv6地址属于所述白名单网段,则发送所述IPv6访问请求报文;若确定IPv6访问请求报文的源IPv6地址不属于所述白名单网段,则执行所述确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段的步骤。
7.一种报文转发装置,应用于双栈网络设备中,其特征在于,包括:
确定模块,用于接收终端发送的IPv6访问请求报文后,确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段;
查找模块,用于若确定所述IPv6的出口超载或者所述IPv6访问请求报文的目的IPv6地址属于所述设定网段,则在域名、IPv4地址与IPv6地址的第一映射关系中查找所述IPv6访问请求报文携带的域名,并在源媒体访问控制MAC地址、IPv4地址与IPv6地址的第二映射关系中查找所述IPv6访问请求报文的源MC地址;
生成模块,用于若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、并在所述第二映射关系中查找到所述IPv6访问请求报文的源MAC地址,则根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文;
发送模块,用于发送所述第一IPv4访问请求报文。
8.如权利要求7所述的装置,其特征在于,所述生成模块,用于根据所述IPv6访问请求报文、查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址和所述IPv6访问请求报文的源MAC地址对应的IPv4地址重新生成第一IPv4访问请求报文,具体用于:
将所述IPv6访问请求报文的版本标识替换为IPv4的版本标识、将所述IPv6访问请求报文的目的IPv6地址替换为所述IPv6访问请求报文携带的域名对应的IPv4地址、并将所述IPv6访问请求报文的源IPv6地址替换为所述IPv6访问请求报文的源MAC对应的IPv4地址,得到第一IPv4访问请求报文。
9.如权利要求7所述的装置,其特征在于,还包括第一保存模块,其中:
所述第一保存模块,用于若在所述第一映射关系中查找到所述IPv6访问请求报文携带的域名、而在所述第二映射关系中未查找到所述IPv6访问请求报文的源MAC地址,则在所述第二映射关系中对应保存所述IPv6访问请求报文的源MAC地址和源IPv6地址;
所述发送模块,还用于向所述终端发送IPv6重定向报文,所述IPv6重定向报文携带从所述第一映射关系中查找到的所述IPv6访问请求报文携带的域名对应的IPv4地址,以使所述终端根据所述IPv6访问请求报文携带的域名对应的IPv4地址确定是否重新发送第二IPv4访问请求报文;
所述第一保存模块,还用于若在设定周期到期前接收所述第二IPv4访问请求报文后,在所述第二映射关系中对应保存所述第二IPv4访问请求报文的源MAC地址和源IPv4地址;
所述发送模块,还用于发送所述第二IPv4访问请求报文。
10.如权利要求9所述的装置,其特征在于,所述发送模块,还用于:
若在所述设定周期到期后未接收到所述第二IPv4访问请求报文,则转发所述IPv6访问请求报文。
11.如权利要求7所述的装置,其特征在于,还包括第二保存模块,其中:
所述查找模块,还用于接收域名系统DNS服务器发送的DNS应答报文后,在所述第一映射关系中查找所述DNS应答报文携带的域名;
所述确定模块,还用于若在所述第一映射关系中查找到所述DNS应答报文携带的域名,则确定是否对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址;
所述第二保存模块,用于若确定未对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址,则在所述第一映射关系中对应保存所述DNS应答报文携带的域名对应的IPv4地址或IPv6地址。
12.如权利要求7-11任一所述的装置,其特征在于,所述确定模块,还用于:
在确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段之前,确定所述IPv6访问请求报文的源IPv6地址是否属于白名单网段;
若确定所述IPv6访问请求报文的源IPv6地址属于所述白名单网段,则发送所述IPv6访问请求报文;若确定IPv6访问请求报文的源IPv6地址不属于所述白名单网段,则执行所述确定IPv6的出口是否超载及所述IPv6访问请求报文的目的IPv6地址是否属于设定网段的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910907157.5A CN110535983B (zh) | 2019-09-24 | 2019-09-24 | 报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910907157.5A CN110535983B (zh) | 2019-09-24 | 2019-09-24 | 报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535983A CN110535983A (zh) | 2019-12-03 |
CN110535983B true CN110535983B (zh) | 2022-08-16 |
Family
ID=68669992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910907157.5A Active CN110535983B (zh) | 2019-09-24 | 2019-09-24 | 报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535983B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103109517A (zh) * | 2012-09-28 | 2013-05-15 | 华为技术有限公司 | 一种双栈终端访问服务器的方法、终端和系统 |
CN103685281A (zh) * | 2013-12-18 | 2014-03-26 | 中国联合网络通信集团有限公司 | 一种网络地址协议的切换方法和设备 |
CN104780231A (zh) * | 2014-01-10 | 2015-07-15 | 中国电信股份有限公司 | 双栈应用访问方法和装置 |
CN105681249A (zh) * | 2014-11-17 | 2016-06-15 | 中国移动通信集团公司 | 一种网络访问方法和网络转换设备 |
CN108243261A (zh) * | 2016-12-23 | 2018-07-03 | 华为技术有限公司 | 一种双栈终端的接入控制方法及接入设备 |
CN110086689A (zh) * | 2019-04-22 | 2019-08-02 | 杭州迪普科技股份有限公司 | 一种双栈bfd检测方法以及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869065B (zh) * | 2014-02-26 | 2020-04-21 | 中兴通讯股份有限公司 | 数据报文处理方法及装置 |
-
2019
- 2019-09-24 CN CN201910907157.5A patent/CN110535983B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103109517A (zh) * | 2012-09-28 | 2013-05-15 | 华为技术有限公司 | 一种双栈终端访问服务器的方法、终端和系统 |
CN103685281A (zh) * | 2013-12-18 | 2014-03-26 | 中国联合网络通信集团有限公司 | 一种网络地址协议的切换方法和设备 |
CN104780231A (zh) * | 2014-01-10 | 2015-07-15 | 中国电信股份有限公司 | 双栈应用访问方法和装置 |
CN105681249A (zh) * | 2014-11-17 | 2016-06-15 | 中国移动通信集团公司 | 一种网络访问方法和网络转换设备 |
CN108243261A (zh) * | 2016-12-23 | 2018-07-03 | 华为技术有限公司 | 一种双栈终端的接入控制方法及接入设备 |
CN110086689A (zh) * | 2019-04-22 | 2019-08-02 | 杭州迪普科技股份有限公司 | 一种双栈bfd检测方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110535983A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107241186B (zh) | 网络设备和用于网络通信的方法 | |
US11711293B2 (en) | Per-provider origin pull | |
CN109040243B (zh) | 一种报文处理方法及装置 | |
CN106790340B (zh) | 一种链路调度方法及装置 | |
CN110944068B (zh) | 从重复网络地址自动恢复的方法、网络设备及其存储介质 | |
US20160269232A1 (en) | Network management apparatus and network management method | |
WO2015106453A1 (zh) | 处理业务的方法和网络设备 | |
CN111193756B (zh) | 一种vxlan隧道负载均衡方法及相关设备 | |
CN111431871A (zh) | Tcp半透明代理的处理方法和装置 | |
US7564848B2 (en) | Method for the establishing of connections in a communication system | |
CN102857547B (zh) | 分布式缓存的方法及设备 | |
CN110601989A (zh) | 一种网络流量均衡方法及装置 | |
CN113364660B (zh) | Lvs负载均衡中的数据包处理方法及装置 | |
CN112968965A (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
CN110535983B (zh) | 报文转发方法及装置 | |
US20190373044A1 (en) | Loading a Web Page in a Telecommunication Network Using an Access Point Server | |
CN110601993B (zh) | 多出口的负载均衡方法及装置 | |
CN115695523A (zh) | 一种数据传输控制方法、装置、电子设备及存储介质 | |
CN111585909A (zh) | Tcp报文的负载均衡方法及装置 | |
CN111866046A (zh) | 一种实现集群的方法及相关设备 | |
CN105765903A (zh) | 一种拓扑发现方法及设备 | |
CN114268630B (zh) | 基于静态arp表项实现随机负载均衡访问方法、装置及设备 | |
CN112543191B (zh) | 一种负载均衡方法及装置 | |
CN115150363B (zh) | Ip地址更新方法、网关设备、网关下挂设备和存储介质 | |
CN114079637B (zh) | 基于移动边缘计算的业务处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |