CN109981820A - 一种报文转发方法及装置 - Google Patents

一种报文转发方法及装置 Download PDF

Info

Publication number
CN109981820A
CN109981820A CN201910253122.4A CN201910253122A CN109981820A CN 109981820 A CN109981820 A CN 109981820A CN 201910253122 A CN201910253122 A CN 201910253122A CN 109981820 A CN109981820 A CN 109981820A
Authority
CN
China
Prior art keywords
ipv4
ipv6
message
source address
address
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.)
Granted
Application number
CN201910253122.4A
Other languages
English (en)
Other versions
CN109981820B (zh
Inventor
岳炳词
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201910253122.4A priority Critical patent/CN109981820B/zh
Publication of CN109981820A publication Critical patent/CN109981820A/zh
Application granted granted Critical
Publication of CN109981820B publication Critical patent/CN109981820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种报文转发方法及装置,预先配置的IPSec协议类型为IPv4,IPv6网络设备在转发报文至NAT设备前,可以根据第一IPv6源地址和目的地址,对应生成IPv4源地址和目的地址,并根据IPv4源地址和目的地址,将第一IPv6报文转换为第一IPv4报文,再根据查找到的第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装第一IPv6源地址和目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第一IPv6源地址和目的地址进行NAT转换即可,无需对加密的第一IPv4报文进行解密,可以基于NAT转换后的IPv4源地址和目的地址,将加密的第一IPv4报文转发到对端IPv4网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。

Description

一种报文转发方法及装置
技术领域
本发明涉及网络技术领域,特别是涉及一种报文转发方法及装置。
背景技术
随着网络规模的飞速扩大,IPv4(Internet Protocol version 4,网际协议版本4)由于地址空间少、安全性低等因素,已经不能够满足网络发展的需求。IPv6(InternetProtocol version 6,网际协议版本6)作为IPv4的升级版本,提供了巨大的地址空间,大大丰富了地址资源。但是,鉴于IPv4属于相当成熟的技术,应用普及广泛,且IPv6技术及相关设备不完备,IPv6网络不可能立刻完全取代IPv4网络,因此,在很长一段时间内,会存在IPv4网络和IPv6网络共存的情况。
NAT(Network Address Translation,网络地址转换)技术能够将源地址或目的地址进行IPv6地址形式与IPv4地址形式之间的转换,使得IPv6网络设备与IPv4网络设备之间能够实现互访。另一方面,为了保证安全性,端对端的报文使用IPSec(Internet ProtocolSecurity,互联网安全协议)进行加密和认证。
为了使得NAT技术与IPSec技术兼容,在IPv6网络设备与IPv4网络设备之间设置有NAT设备,在NAT设备与IPv6网络设备之间建立一条IPSec隧道,在NAT设备与IPv4网络设备之间建立另一条IPSec隧道。IPv6网络设备发送IPv6报文时,需要对报文加密,通过IPv6网络设备与NAT设备之间的IPSec隧道将报文转发给NAT设备,报文在NAT设备解密为明文的IPv6报文,并对报文做NAT转换,转换为IPv4报文,然后再将转换后的IPv4报文加密,通过IPv4网络设备与NAT设备之间的IPSec隧道将报文转发给IPv4网络设备。
由于报文在NAT设备需先解密为明文,再加密后通过NAT设备与IPv4网络设备之间的IPSec隧道转发给IPv4网络设备,因此存在安全隐患。
发明内容
本发明实施例的目的在于提供一种报文转发方法及装置,以提高报文在转发过程中的安全性。具体技术方案如下:
第一方面,本发明实施例提供了一种报文转发方法,应用于IPv6网络设备,所述方法包括:
接收IPv6客户端发送的第一IPv6报文;
判断所述第一IPv6报文携带的属性信息是否匹配互联网安全协议IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型;
若所述第一IPv6报文携带的属性信息匹配所述IPSec关联的第一IPv6访问控制列表,且所述IPSec协议类型为IPv4,则根据所述第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址;
根据所述IPv4源地址及IPv4目的地址,查找所述IPv4源地址及IPv4目的地址对应的第一网际安全联盟IPSec SA;
若查找到所述第一IPSec SA,则根据所述IPv4源地址及IPv4目的地址,将所述第一IPv6报文转换为第一IPv4报文;
根据所述第一IPSec SA,对所述第一IPv4报文进行加密,并在加密后的所述第一IPv4报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
将所述封装报文通过IPSec隧道发送至网络地址转换NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv4报文通过所述IPSec隧道转发至对端IPv4网络设备。
第二方面,本发明实施例提供了一种报文转发方法,应用于IPv4网络设备,所述方法包括:
接收IPv4客户端发送的第二IPv4报文;
判断所述第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型;
若所述第二IPv4报文携带的属性信息匹配所述IPSec关联的第一IPv4访问控制列表,且所述IPSec协议类型为IPv6,则根据所述第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址;
根据所述IPv6源地址及IPv6目的地址,查找所述IPv6源地址及IPv6目的地址对应的第二IPSec SA;
若查找到所述第二IPSec SA,则根据所述IPv6源地址及IPv6目的地址,将所述第二IPv4报文转换为第二IPv6报文;
根据所述第二IPSec SA,对所述第二IPv6报文进行加密,并在加密后的所述第二IPv6报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
将所述封装报文通过IPSec隧道发送至NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv6报文通过所述IPSec隧道转发至对端IPv6网络设备。
第三方面,本发明实施例提供了一种报文转发装置,应用于IPv6网络设备,所述装置包括:
接收模块,用于接收IPv6客户端发送的第一IPv6报文;
判断模块,用于判断所述第一IPv6报文携带的属性信息是否匹配互联网安全协议IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型;
生成模块,用于若所述判断模块的判断结果为所述第一IPv6报文携带的属性信息匹配所述IPSec关联的第一IPv6访问控制列表,且所述IPSec协议类型为IPv4,则根据所述第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址;
查找模块,用于根据所述IPv4源地址及IPv4目的地址,查找所述IPv4源地址及IPv4目的地址对应的第一网际安全联盟IPSec SA;
转换模块,用于若所述查找模块查找到所述第一IPSec SA,则根据所述IPv4源地址及IPv4目的地址,将所述第一IPv6报文转换为第一IPv4报文;
封装模块,用于根据所述第一IPSec SA,对所述第一IPv4报文进行加密,并在加密后的所述第一IPv4报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
转发模块,用于将所述封装报文通过IPSec隧道发送至网络地址转换NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv4报文通过所述IPSec隧道转发至对端IPv4网络设备。
第四方面,本发明实施例提供了一种报文转发装置,应用于IPv4网络设备,所述装置包括:
接收模块,用于接收IPv4客户端发送的第二IPv4报文;
判断模块,用于判断所述第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型;
生成模块,用于若所述判断模块的判断结果为所述第二IPv4报文携带的属性信息匹配所述IPSec关联的第一IPv4访问控制列表,且所述IPSec协议类型为IPv6,则根据所述第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址;
查找模块,用于根据所述IPv6源地址及IPv6目的地址,查找所述IPv6源地址及IPv6目的地址对应的第二IPSec SA;
转换模块,用于若所述查找模块查找到所述第二IPSec SA,则根据所述IPv6源地址及IPv6目的地址,将所述第二IPv4报文转换为第二IPv6报文;
封装模块,用于根据所述第二IPSec SA,对所述第二IPv6报文进行加密,并在加密后的所述第二IPv6报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
转发模块,用于将所述封装报文通过IPSec隧道发送至NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv6报文通过所述IPSec隧道转发至对端IPv6网络设备。
第五方面,本发明实施例提供了一种IPv6网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:执行本发明实施例第一方面所提供的方法。
第六方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时,实现本发明实施例第一方面所提供的方法。
第七方面,本发明实施例提供了一种IPv4网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:执行本发明实施例第二方面所提供的方法。
第八方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时,实现本发明实施例第二方面所提供的方法。
本发明实施例提供的一种报文转发方法及装置,IPv6网络设备接收IPv6客户端发送的第一IPv6报文,判断第一IPv6报文携带的属性信息是否匹配IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型,若第一IPv6报文携带的属性信息匹配IPSec关联的第一IPv6访问控制列表,且IPSec协议类型为IPv4,则根据第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址,根据IPv4源地址及IPv4目的地址,查找IPv4源地址及IPv4目的地址对应的第一IPSec SA,若查找到第一IPSec SA,则根据IPv4源地址及IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,根据第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装报文头,得到封装报文,将封装报文通过IPSec隧道发送至NAT设备,以使得NAT设备将封装报文转换成IPv4报文,并将转换后的IPv4报文通过IPSec隧道转发至对端IPv4网络设备。由于预先配置的IPSec协议类型为IPv4,则IPv6网络设备在转发报文至NAT设备前,可以根据第一IPv6源地址和第一IPv6目的地址,对应生成IPv4源地址和IPv4目的地址,并根据IPv4源地址和IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,再根据查找到的第一IPSecSA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装第一IPv6源地址和第一IPv6目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第一IPv6源地址和第一IPv6目的地址进行NAT转换即可,无需对加密的第一IPv4报文进行解密,可以基于NAT转换后的IPv4源地址和IPv4目的地址,将加密的第一IPv4报文转发到对端IPv4网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的应用场景示意图;
图2为本发明实施例的应用于IPv6网络设备的报文转发方法的流程示意图;
图3为本发明实施例的应用于IPv4网络设备的报文转发方法的流程示意图;
图4为本发明实施例的建立IPSec隧道的流程示意图;
图5为本发明实施例的报文转发的交互示意图;
图6为本发明实施例的应用于IPv6网络设备的报文转发装置的结构示意图;
图7为本发明实施例的应用于IPv4网络设备的报文转发装置的结构示意图;
图8为本发明实施例的IPv6网络设备的结构示意图;
图9为本发明实施例的IPv4网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高报文在转发过程中的安全性,本发明实施例提供了一种报文转发方法、装置、IPv6网络设备、IPv4网络设备及机器可读存储介质。下面,首先对本发明实施例所提供的报文转发方法进行介绍。
图1为本发明实施例所提供的报文转发方法的一种应用场景,如图1所示,该方法可以应用于IPv6网络设备与IPv4网络设备互访的场景。参见图1,该应用场景中包括支持IPv6网络协议的IPv6网络设备101、支持IPv4网络协议的IPv4网络设备102和作为中间设备的NAT设备103。IPv6网络中可以包括一个或多个支持IPv6网络协议的IPv6客户端,IPv4网络中可以包括一个或多个支持IPv4网络协议的IPv4客户端,本发明实施例不对IPv6网络和IPv4网络的拓扑结构作具体限定。当IPv6网络设备101和IPv4网络设备102通过NAT设备103进行互访时,为了保证数据的安全性,需要在IPv6网络设备101和IPv4网络设备102之间建立IPSec隧道,使IPv6客户端与IPv4客户端直接进行通信,两者之间通信的报文通过IPv6网络设备与IPv4网络设备之间建立的IPSec隧道进行加密传输,不需要NAT设备先解密再加密,避免了安全隐患。
在图1所示的应用场景中,IPv6网络设备101和IPv4网络设备102既支持IPv4类型的IPSec,也支持IPv6类型的IPSec;NAT设备103同时支持IPv6网络协议和IPv4网络协议。IPv6网络设备101能够对命中其ACL(Access Control List,访问控制列表)的报文进行IPSec加密;IPv4网络设备102能够对命中其ACL的报文进行IPSec加密;NAT设备103能够对报文进行NAT64或NAT46转换,其中,NAT64是指将IPv6报文转换为IPv4报文,具体是将IPv6报文头中的IPv6地址转换为对应的IPv4地址,得到IPv4报文,NAT46是指将IPv4报文转换为IPv6报文,具体是将IPv4报文头中的IPv4地址转换为对应的IPv6地址,得到IPv6报文。
IPv6网络设备和IPv4网络设备可以为网关设备、路由设备、防火墙等,还可以为手机、计算机等终端设备。这里不做具体的限定。
如图2所示,为本发明实施例所提供的一种报文转发方法,应用于IPv6网络设备,具体可以包括如下步骤。
S201,接收IPv6客户端发送的第一IPv6报文。
结合图1,左侧的IPv6客户端支持IPv6网络协议,则在向右侧的IPv4客户端发送报文时,首先向IPv6网络设备发送第一IPv6报文。第一IPv6报文中除了包括需要转发的数据信息(也称为载荷)以外,还至少包含有IPv6源地址、IPv6目的地址、源端口号、目的端口号、协议等属性信息。
S202,判断第一IPv6报文携带的属性信息是否匹配IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型。
IPv6访问控制列表中配置了报文的属性信息,而与IPSec相关联的第一IPv6访问控制列表中所配置的属性信息是需要进行加密防护、通过IPSec隧道进行传输的报文的属性信息。
在接收到第一IPv6报文后,首先需要判断第一IPv6报文携带的属性信息是否匹配IPSec关联的第一IPv6访问控制列表。
具体的判断过程可以为:
如果第一IPv6访问控制列表配置的是IPv6源地址,则第一IPv6访问控制列表中配置有第一IPv6报文携带的第一IPv6源地址,可判定匹配成功;
如果第一IPv6访问控制列表配置的是IPv6目的地址,则第一IPv6访问控制列表中配置有第一IPv6报文携带的第一IPv6目的地址,可判定匹配成功;
如果第一IPv6访问控制列表配置的是IPv6源地址和IPv6目的地址,则第一IPv6访问控制列表中配置有第一IPv6报文携带的第一IPv6源地址和第一IPv6目的地址,可判定匹配成功;
再例如第一IPv6访问控制列表中还可以配置的是源端口号、目的端口号等等,只要配置的有第一IPv6报文携带的相应属性信息,则可判定匹配成功。
IPSec是一种开放标准的框架结构,通过使用加密的安全服务以确保在IP网络上进行保密而安全的通讯,IPSec是IETF(Internet Engineering Task Force,网际工程任务组)的IPSec小组建立的一组IP安全协议集。IPSec定义了在网络层使用的安全服务,其功能包括数据加密、对网络单元的访问控制、数据源地址验证、数据完整性检查和防止重复攻击。
用户在进行网络配置时,可以预先配置IPSec协议类型,IPSec协议类型决定了IPv6网络设备与IPv4网络设备之间进行交互的方式,如果IPSec协议类型是IPv4,则IPv6网络设备和IPv4网络设备设置的IKE(Internet Key Exchange,网际密钥交换)策略、IPSec策略都为IPv4IPSec的策略,遵守IPSec相关RFC(Request For Comments,请求注解)协议,IPv6网络设备和IPv4网络设备之间交互的实质为IPv4报文;如果IPSec协议类型是IPv6,则IPv6网络设备和IPv4网络设备设置的IKE策略、IPSec策略都为IPv6IPSec的策略,遵守IPSec相关RFC协议,IPv6网络设备和IPv4网络设备之间交互的实质为IPv6报文。
S203,若第一IPv6报文携带的属性信息匹配IPSec关联的第一IPv6访问控制列表,且IPSec协议类型为IPv4,则根据第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址。
对于IPv6网络设备而言,如果第一IPv6报文携带的属性信息能够匹配第一IPv6访问控制列表,则说明第一IPv6报文是IPSec感兴趣报文,需要加密传输至IPv4客户端;并且,如果通过识别用户配置,能够确定IPSec协议类型为IPv4,则说明IPv6网络设备和IPv4网络设备设置的IKE策略、IPSec策略都为IPv4IPSec的策略,IPv6网络设备和IPv4网络设备之间交互的实质为IPv4报文,则IPv6设备需要根据IPv6源地址和IPv6目的地址,对应地生成IPv4源地址和IPv4目的地址。
可选的,生成IPv4源地址和IPv4目的地址的方式,具体可以为:
根据第一IPv6源地址及第一IPv6目的地址,分别将第一IPv6源地址及第一IPv6目的地址的预设位前缀去除,对应得到IPv4源地址及IPv4目的地址。
在本发明实施例中,对于IPv6地址,设置如下规则:需要IPSec加密保护的IPv6报文的IPv6源地址、IPv6目的地址,有着共同的预设位前缀,为前缀地址,后面剩下位为IPv4地址,例如,前缀地址为96位,后面的32位为IPv4地址。因此,可以针对IPv6源地址及IPv6目的地址,将前96位删除,则对应得到IPv4源地址及IPv4目的地址。
在另一个实施例中,在IPv6网络设备上,也可以记录一个IPv6地址与IPv4地址的映射表,该映射表可以是用户根据实际网络配置情况设置,这样,也可以是基于第一IPv6源地址和第一IPv6目的地址,去映射表中查找对应的IPv4源地址和IPv4目的地址。
S204,根据IPv4源地址及IPv4目的地址,查找IPv4源地址及IPv4目的地址对应的第一IPSec SA。
在生成IPv4源地址及IPv4目的地址后,可以根据IPv4源地址及IPv4目的地址,去查找IPv4源地址及IPv4目的地址对应的第一IPSec SA,IPSec SA(IPSec SecurityAssociation,IPSec安全联盟)用于记录每条IPSec隧道的策略和策略参数,是IPSec的基础,是通信双方建立的一种协定,决定了用来保护数据包的协议、封装模式、密钥以及密钥有效期等。IPv6网络设备和IPv4网络设备在建立IPSec隧道时,会协商IPSec SA,包括IPv6网络设备向IPv4网络设备发送数据时的第一IPSec SA和IPv4网络设备向IPv6网络设备发送数据时的第二IPSec SA。由于IPv6网络设备向IPv4网络设备发送数据时,会将第一IPv6源地址和第一IPv6目的地址对应转换成第一IPv4源地址和第一IPv4目的地址,因此,IPv4源地址及IPv4目的地址与第一IPSec SA对应。同时,IPv6源地址及IPv6目的地址与第二IPSec SA对应。
IPv4网络设备和IPv6网络设备均会将IPSec SA存储在网络设备本地,在IPv6网络设备生成IPv4源地址和IPv4目的地址后,可以基于IPv4源地址和IPv4目的地址,到存储的IPSec SA中查找IPv4源地址及IPv4目的地址对应的第一IPSec SA。如果可以查找到第一IPSec SA,则可以利用第一IPSec SA对报文进行加密传输。如果未查找到第一IPSec SA,则说明IPv6网络设备和IPv4网络设备之间还未建立IPSec隧道,则可以按照下述方式建立IPSec隧道。
可选的,建立IPSec隧道的方式,具体可以包括:
第一步,构建IKE协议报文,其中,IKE协议报文的源地址为IPv4目的地址、目的地址为IPv4源地址。
第二步,在IKE协议报文的头部封装报文头,得到IPv6封装报文,其中,报文头的源地址为第一IPv6源地址、目的地址为第一IPv6目的地址。
第三步,发送IPv6封装报文至NAT设备,以使NAT设备将IPv6封装报文转换成IPv4报文,并将转换后的IPv4报文转发至对端IPv4网络设备,进行第一阶段协商,此阶段生成IKE SA。其中,NAT设备将IPv6封装报文转换成IPv4报文的过程可以参阅后续步骤S207的说明。
在进行第一阶段协商的过程中,IPv4网络设备响应协商时,可以回复IPv4报文,由NAT设备进行报文转换,转换为IPv6报文,发送到IPv6网络设备,IPv6网络设备解析IPv6报文并去IPv6报文头后,获得IPv4报文,通过在IPv4报文携带的IPv4源地址和IPv4目的地址前添加预设位前缀,将对端IPv4网络设备发送的IPv4报文携带的IPv4源地址和IPv4目的地址转换为IPv6源地址和IPv6目的地址。
第四步,查找与第一IPv6访问控制列表对应的IPv4访问控制列表的信息,并将IPv4访问控制列表的信息发送至对端IPv4网络设备,进行第二阶段协商,此阶段协商生成IPSec SA,即第一IPSec SA。在这里,主要是以将感兴趣报文的IPv4访问控制列表的信息以标识的形式发送给IPv4网络设备,在进行第二阶段的协商初始阶段,由IPv4网络设备将收到的IPv4访问控制列表的信息与本地的IPv4访问控制列表进行匹配。其中,进行第二阶段协商的过程可以依据传统方式进行,本申请不再说明。
第五步,建立与对端IPv4网络设备的IPSec隧道,并存储IPSec隧道对应的第一IPSec SA。
IPv6网络设备与IPv4网络设备之间建立IPSec隧道,需要通过第一阶段和第二阶段协商,可以通过在IPv6网络设备设置IPSec协议类型为IPv4,确定协商出的IPSec SA应当与IPv4版本地址对应。
在IPv6网络设备,用户可以设置IPSec隧道的源地址、目的地址。其中,源地址有两个版本的地址:IPv4地址和IPv6地址。在进行两个网络设备的通信过程中,本端IPv6网络设备与对端IPv4网络设备具有本端源地址对应对端目的地址、本端目的地址对应对端源地址的对应关系,例如IPv4地址为IPv4网络设备设置的目的地址IPv4_PeerAddr、IPv6地址为IPv6网络设备的用户设置的源地址IPv6_SouAddr。在NAT设备,IPv4_PeerAddr和IPv6_SouAddr为一对静态NAT映射地址。目的地址有两个版本的地址:IPv4地址和IPv6地址。例如IPv4地址为IPv4网络设备设置的源地址IPv4_SouAddr、IPv6地址为IPv6网络设备的用户设置的目的地址IPv6_PeerAddr。在NAT设备,IPv4_SouAddr和IPv6_PeerAddr为一对静态NAT映射地址。
在第一阶段是进行IKE SA的协商。在IPv6网络设备,协商的源地址为IPv4_PeerAddr、目的地址为IPv4_SouAddr,IKE协议报文构造完成后,外面封装IPv6报文头,封装的源地址为IPv6_SouAddr、目的地址为IPv6_PeerAddr,封装的报文发至NAT设备后,NAT设备通过IPv6地址至IPv4地址的映射,将报文转换为IPv4报文,源地址为IPv4_PeerAddr、目的地址为IPv4_SouAddr,然后发送到IPv4网络设备。而在IPv4网络设备,与传统的IPv4网络设备的协商方式相同,协商的源地址为IPv4_SouAddr、目的地址为IPv4_PeerAddr,发送到NAT设备,NAT设备将报文转换为IPv6报文,源地址为IPv6_SouAddr、目的地址为IPv6_PeerAddr,将转换后的报文发送到IPv6网络设备。基于此交互过程实现IPv6网络设备与IPv4网络设备之间的第一阶段协商。在第一阶段协商中,第五条消息和/或第六条消息中,IPv6网络设备发给IPv4网络设备IKE ID的源地址为IPv4_PeerAddr。
在第二阶段,进行IPSec SA协商。在IPv6网络设备,对哪些报文进行IPSec加密,通过IPSec关联的ACL来描述,匹配ACL策略的报文才进行加密防护。为实现对请求报文、响应报文都进行加密,要保证IPv4网络设备、IPv6网络设备的ACL对称。如在IPv4网络设备的ACL规则中,某地址为源地址,则在IPv6网络设备对应的规则中,该地址为目的地址。在IPv6网络设备,用户可以同时设置IPv6 ACL和IPv4 ACL。IPv4 ACL和IPv6 ACL有一一对应关系。如:在IPv4 ACL中,规则为:source x1.x2.x3.x4 destination y1.y2.y3.y4,则对应的IPv6 ACL规则为:source SPrefix_96:x1.x2.x3.x4 destination SPrefix_96:y1.y2.y3.y4,其中,SPrefix_96:x1.x2.x3.x4表示在IPv4地址x1.x2.x3.x4前添加96位前缀生成IPv6地址。在协商的第二阶段,IPv6网络设备把需要加密的业务报文传递给对端,由于其IPSec类型为IPv4,因此,需要将IPv4 ACL信息传递到对端IPv4网络设备,协商出一致的IPSec加密流规则。具体的,可以在第二阶段协商中,第一条消息和/或第二条消息中,IPv6网络设备把IPv4 ACL信息以ID的形式发给对端IPv4网络设备,作为对端IPv4网络设备的保护数据流规则描述。
S205,若查找到第一IPSec SA,则根据IPv4源地址及IPv4目的地址,将第一IPv6报文转换为第一IPv4报文。
在进行报文的加密传输时,首先需要根据IPv4源地址及IPv4目的地址,将IPv6报文转换为IPv4报文。具体的,将第一IPv6报文转换为第一IPv4报文的方式,可以为:保留报文的数据信息(载荷),将报文头的源地址替换为IPv4源地址、目的地址替换为IPv4目的地址、源端口号和目的端口号等信息也都替换为IPv4对应的信息。
S206,根据第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装报文头,得到封装报文,其中,报文头的源地址为第一IPv6源地址、目的地址为第一IPv6目的地址。
在转换得到第一IPv4报文后,可以利用第一IPSec SA对第一IPv4报文进行加密,由于IPv6网络设备与NAT设备之间需要传输IPv6报文,则对加密后的第一IPv4报文进行封装,将第一IPv6源地址和第一IPv6目的地址封装在加密后的第一IPv4报文的报文头,得到封装报文,该封装报文即为一个IPv6报文。
S207,将封装报文通过IPSec隧道发送至NAT设备,以使NAT设备将封装报文转换成IPv4报文,并将转换后的IPv4报文通过IPSec隧道转发至对端IPv4网络设备。
按照上述的设置,封装报文在通过IPSec隧道发送到NAT设备后,NAT设备可以识别封装报文的报文头,NAT设备配置有IPv6地址与IPv4地址的映射表,则可以将报文头的IPv6源地址和IPv6目的地址替换为映射表中对应的IPv4源地址和IPv4目的地址,即可将封装报文转换成IPv4报文,NAT设备与IPv4网络设备之间可以直接通过IPSec隧道转发转换后的IPv4报文,无需再将报文解密为明文,提高了报文转发的安全性。
在本发明实施例中,由于IPSec协议类型为IPv4,则IPv4网络设备接收IPv4客户端发送的IPv4报文并转发至NAT设备的过程与传统的方式相同,在收到IPv4报文后,根据IPv4报文的IPv4源地址和IPv4目的地址,查询IPv4访问控制列表,若查找到匹配的表项,则找到IPv4源地址和IPv4目的地址对应的IPSec SA,对IPv4报文进行加密,然后将IPv4源地址和IPv4目的地址封装到加密报文的报文头,封装后报文的源地址为IPv4_SouAddr、目的地址为IPv4_PeerAddr,将报文转发至NAT设备,NAT设备对报文进行NAT转换,转换为IPv6报文,转发到IPv6网络设备。
相应的,IPv6网络设备在收到NAT设备转发的报文后,可以执行如下步骤:
第一步,若接收到NAT设备转发的报文,则根据报文携带的第三IPv6源地址及第三IPv6目的地址,查找第三IPv6源地址及第三IPv6目的地址对应的第三IPSec SA。
第二步,根据第三IPSec SA,对报文进行解密,得到相应的第三IPv4报文。
第三步,分别在第三IPv4报文携带的IPv4源地址及IPv4目的地址前添加预设位前缀,得到第三IPv6报文。
第四步,根据第三IPv6报文携带的IPv6源地址及IPv6目的地址,将第三IPv6报文转发至IPv6客户端。
IPv6网络设备在收到NAT设备转发来的报文后,由于NAT设备转发来的是IPv6报文,则可以查找IPv6源地址及IPv6目的地址对应的第三IPSec SA对报文进行解密,解密得到的是第三IPv4报文,对应的是IPv4源地址和IPv4目的地址,则可以在IPv4源地址和IPv4目的地址前添加预设位前缀,例如添加前缀SPrefix_96变成IPv6源地址和IPv6目的地址,使用这两个IPv6地址将报文转为第三IPv6报文发至IPv6客户端。
应用本发明实施例,IPv6网络设备接收IPv6客户端发送的第一IPv6报文,判断第一IPv6报文携带的属性信息是否匹配IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型,若第一IPv6报文携带的属性信息匹配IPSec关联的第一IPv6访问控制列表,且IPSec协议类型为IPv4,则根据第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址,根据IPv4源地址及IPv4目的地址,查找IPv4源地址及IPv4目的地址对应的第一IPSec SA,若查找到第一IPSec SA,则根据IPv4源地址及IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,根据第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装报文头,得到封装报文,将封装报文通过IPSec隧道发送至NAT设备,以使得NAT设备将封装报文转换成IPv4报文,并将转换后的IPv4报文通过IPSec隧道转发至对端IPv4网络设备。由于预先配置的IPSec协议类型为IPv4,则IPv6网络设备在转发报文至NAT设备前,可以根据第一IPv6源地址和第一IPv6目的地址,对应生成IPv4源地址和IPv4目的地址,并根据IPv4源地址和IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,再根据查找到的第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装第一IPv6源地址和第一IPv6目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第一IPv6源地址和第一IPv6目的地址进行NAT转换即可,无需对加密的第一IPv4报文进行解密,可以基于NAT转换后的IPv4源地址和IPv4目的地址,将加密的第一IPv4报文转发到对端IPv4网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
如图3所示,为本发明实施例所提供的一种报文转发方法,应用于IPv4网络设备,具体可以包括如下步骤。
S301,接收IPv4客户端发送的第二IPv4报文。
与图2所示实施例相对应,图1右侧的IPv4客户端支持IPv4网络协议,则在向左侧的IPv6客户端发送报文时,首先向IPv4网络设备发送第二IPv4报文。第二IPv4报文中除了包括需要转发的数据信息(也称为载荷)以外,还至少包含有IPv4源地址、IPv4目的地址、源端口号、目的端口号、协议等属性信息。
S302,判断第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型。
IPv4访问控制列表中记录了允许访问的报文的属性信息,而与IPSec相关联的第一IPv4访问控制列表中所记录的属性信息是需要进行加密防护、通过IPSec隧道进行传输的报文的属性信息。
在接收到第二IPv4报文后,首先需要判断第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表。
具体的判断过程可以为:
如果第一IPv4访问控制列表配置的是IPv4源地址,则第一IPv4访问控制列表中配置有第二IPv4报文携带的第二IPv4源地址,可判定匹配成功;
如果第一IPv4访问控制列表配置的是IPv4目的地址,则第一IPv4访问控制列表中配置有第二IPv4报文携带的第二IPv4目的地址,可判定匹配成功;
如果第一IPv4访问控制列表配置的是IPv4源地址和IPv4目的地址,则第一IPv4访问控制列表中配置有第二IPv4报文携带的第二IPv4源地址和第二IPv4目的地址,可判定匹配成功;
再例如第一IPv4访问控制列表中还可以配置的是源端口号、目的端口号等等,只要配置的有第二IPv4报文携带的相应属性信息,则可判定匹配成功。
S303,若第二IPv4报文携带的属性信息匹配IPSec关联的第一IPv4访问控制列表,且IPSec协议类型为IPv6,则根据第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址。
对于IPv4网络设备而言,如果第二IPv4报文携带的属性信息能够匹配第一IPv4访问控制列表,则说明第二IPv4报文是IPSec感兴趣报文,需要加密传输至IPv6客户端;并且,如果通过识别用户配置,能够确定IPSec协议类型为IPv6,则说明IPv6网络设备和IPv4网络设备设置的IKE策略、IPSec策略都为IPv6IPSec的策略,IPv6网络设备和IPv4网络设备之间交互的实质为IPv6报文,则IPv6设备需要根据IPv4源地址和IPv4目的地址,对应地生成IPv6源地址和IPv6目的地址。
可选的,生成IPv6源地址和IPv6目的地址的方式,具体可以为:
根据第二IPv4源地址及第二IPv4目的地址,分别在第二IPv4源地址及第二IPv4目的地址前添加预设位前缀,对应得到IPv6源地址及IPv6目的地址。
在本发明实施例中,对于IPv6地址,设置如下规则:需要IPSec加密保护的IPv6报文的IPv6源地址、IPv6目的地址,有着共同的预设位前缀,为前缀地址,后面剩下位为IPv4地址,例如,前缀地址为96位,后面的32位为IPv4地址。因此,可以针对IPv4源地址及IPv4目的地址,在地址前添加96位前缀,则对应得到IPv6源地址及IPv6目的地址。
在另一个实施例中,在IPv4网络设备上,也可以记录一个IPv6地址与IPv4地址的映射表,该映射表可以是用户根据实际网络配置情况设置,这样,也可以是基于第二IPv4源地址和第二IPv4目的地址,去映射表中查找对应的IPv6源地址和IPv6目的地址。
S304,根据IPv6源地址及IPv6目的地址,查找IPv6源地址及IPv6目的地址对应的第二IPSec SA。
在生成IPv6源地址及IPv6目的地址后,可以根据IPv6源地址及IPv6目的地址,去查找IPv6源地址及IPv6目的地址对应的第二IPSec SA,如果可以查找到第二IPSec SA,则可以利用第二IPSec SA对报文进行加密传输。如果未查找到第二IPSec SA,则说明IPv6网络设备和IPv4网络设备之间还未建立IPSec隧道,则可以按照下述方式建立IPSec隧道。
可选的,建立IPSec隧道的方式,具体可以包括:
第一步,构建IKE协议报文,其中,IKE协议报文的源地址为IPv6目的地址、目的地址为IPv6源地址。
第二步,在IKE协议报文的头部封装报文头,得到IPv4封装报文,其中,报文头的源地址为第二IPv4源地址、目的地址为第二IPv4目的地址。
第三步,发送IPv4封装报文至NAT设备,以使NAT设备将IPv4封装报文转换成IPv6报文,并将转换后的IPv6报文转发至对端IPv6网络设备,进行第一阶段协商,此阶段生成IKE SA。其中NAT设备将IPv4封装报文转换成IPv6报文的过程可以参阅后续步骤S307的说明。
在进行第一阶段协商的过程中,IPv6网络设备响应协商时,可以回复IPv6报文,由NAT设备进行报文转换,转换为IPv4报文,发送到IPv4网络设备,IPv4网络设备解析IPv4报文并去IPv4报文头后,获得IPv6报文,通过去除IPv6报文携带的IPv6源地址和IPv6目的地址前的预设位前缀,将对端IPv6网络设备发送的IPv6报文携带的IPv6源地址和IPv6目的地址转换为IPv4源地址和IPv4目的地址。
第四步,查找与第一IPv4访问控制列表对应的IPv6访问控制列表的信息,并将IPv6访问控制列表的信息发送至对端IPv6网络设备,进行第二阶段协商,此阶段协商生成IPSec SA,即第二IPSec SA。在这里,主要是以将感兴趣报文的IPv6访问控制列表的信息以标识的形式发送给IPv6网络设备,由IPv6网络设备将收到的IPv6访问控制列表的信息与本地的IPv6访问控制列表进行匹配,开始进行第二阶段的协商。
第五步,建立与对端IPv6网络设备的IPSec隧道,并存储IPSec隧道对应的第二IPSec SA。
IPv6网络设备与IPv4网络设备之间建立IPSec隧道,需要通过第一阶段和第二阶段协商,用户可以通过在IPv4网络设备设置IPSec协议类型为IPv6,确定协商出的IPSec SA应当与IPv6版本地址对应。
在IPv4网络设备,用户可以设置IPSec隧道的源地址、目的地址。其中,源地址有两个版本地址:IPv4地址和IPv6地址。在进行两个网络设备的通信过程中,本端IPv6网络设备与对端IPv4网络设备具有本端源地址对应对端目的地址、本端目的地址对应对端源地址的对应关系,例如IPv6地址为IPv6网络设备设置的目的地址IPv6_PeerAddr、IPv4地址为IPv4网络设备的用户设置的源地址IPv4_SouAddr。在NAT设备,IPv6_PeerAddr和IPv4_SouAddr为一对静态NAT映射地址。目的地址有两个版本的地址:IPv4地址和IPv6地址。例如IPv6地址为IPv6网络设备设置的源地址IPv6_SouAddr、IPv4地址为IPv4网络设备的用户设置的目的地址IPv4_PeerAddr。在NAT设备,IPv6_SouAddr和IPv4_PeerAddr为一对静态NAT映射地址。
在第一阶段是进行IKE SA的协商。在IPv4网络设备,协商的源地址为IPv6_PeerAddr、目的地址为IPv6_SouAddr,IKE协议报文构造完成后,外面封装IPv4报文头,封装的源地址为IPv4_SouAddr、目的地址为IPv4_PeerAddr,封装的报文发至NAT设备后,NAT设备通过IPv4地址至IPv6地址的映射,将报文转换为IPv6报文,源地址为IPv6_PeerAddr、目的地址为IPv6_SouAddr,然后发送到IPv6网络设备。而在IPv6网络设备,与传统的IPv6网络设备的协商方式相同,协商的源地址为IPv6_SouAddr、目的地址为IPv6_PeerAddr,发送到NAT设备,NAT设备将报文转换为IPv4报文,源地址为IPv4_SouAddr、目的地址为IPv4_PeerAddr,将转换后的报文发送到IPv4网络设备。基于此交互过程实现IPv4网络设备与IPv6网络设备之间的第一阶段协商。在第一阶段协商中,第五条消息和/或第六条消息中,IPv4网络设备发给IPv6网络设备IKE ID的源地址为IPv6_PeerAddr。
在第二阶段,进行IPSec SA协商。在IPv4网络设备,对那些报文进行IPSec加密,通过IPSec关联的ACL来描述,匹配ACL策略的报文才进行加密防护。为实现对请求报文、响应报文都进行加密,要保证IPv4网络设备、IPv6网络设备的ACL对称。如在IPv4网络设备的ACL规则中,某地址为源地址,则在IPv6网络设备对应的规则中,该地址为目的地址。在IPv4网络设备,用户可以同时设置IPv6 ACL和IPv4 ACL。IPv4 ACL和IPv6 ACL有一一对应关系。如:在IPv4 ACL中,规则为:source x1.x2.x3.x4 destination y1.y2.y3.y4,则对应的IPv6 ACL规则为:source SPrefix_96:x1.x2.x3.x4 destination SPrefix_96:y1.y2.y3.y4。在协商的第二阶段,IPv4网络设备把需要加密的业务报文传递给对端,由于其IPSec类型为IPv6,因此,需要将IPv6 ACL信息传递到对端IPv6网络设备,协商出一致的IPSec加密流规则。具体的,可以在第二阶段协商中,第一条消息和/或第二条消息中,IPv4网络设备把IPv6 ACL信息以ID的形式发给对端IPv6网络设备,作为对端IPv6网络设备入方向的保护数据流规则描述。
S305,若查找到第二IPSec SA,则根据IPv6源地址及IPv6目的地址,将第二IPv4报文转换为第二IPv6报文。
在进行报文的加密传输时,首先需要根据IPv6源地址及IPv6目的地址,将IPv4报文转换为IPv6报文。具体的,将第二IPv4报文转换为第二IPv6报文的方式,可以为:保留报文的数据信息(载荷),将报文头的源地址替换为IPv6源地址、目的地址替换为IPv6目的地址、源端口号和目的端口号等信息也都替换为IPv6对应的信息。
S306,根据第二IPSec SA,对第二IPv6报文进行加密,并在加密后的第二IPv6报文的头部封装报文头,得到封装报文,其中,报文头的源地址为第二IPv4源地址、目的地址为第二IPv4目的地址。
在转换得到第二IPv6报文后,可以利用第二IPSec SA对第一IPv6报文进行加密,由于IPv4网络设备与NAT设备之间需要传输IPv4报文,则对加密后的第二IPv6报文进行封装,将第二IPv4源地址和第二IPv4目的地址封装在加密后的第二IPv6报文的报文头,得到封装报文,该封装报文即为一个IPv4报文。
S307,将封装报文通过IPSec隧道发送至NAT设备,以使NAT设备将封装报文转换成IPv6报文,并将转换后的IPv6报文通过IPSec隧道转发至对端IPv6网络设备。
按照上述的设置,封装报文在通过IPSec隧道发送到NAT设备后,NAT设备可以识别封装报文的报文头,NAT设备配置有IPv4地址与IPv6地址的映射表,则可以将报文头的IPv4源地址和IPv4目的地址替换为映射表中对应的IPv6源地址和IPv6目的地址,即可将封装报文转换成IPv6报文,NAT设备与IPv6网络设备之间可以直接通过IPSec隧道转发转换后的IPv6报文,无需再将报文解密为明文,提高了报文转发的安全性。
在本发明实施例中,由于IPSec协议类型为IPv6,则IPv6网络设备接收IPv6客户端发送的IPv6报文并转发至NAT设备的过程与传统的方式相同,在收到IPv6报文后,根据IPv6报文的IPv6源地址和IPv6目的地址,查询IPv6访问控制列表,若查找到匹配的表项,则找到IPv6源地址和IPv6目的地址对应的IPSec SA,对IPv6报文进行加密,然后将IPv6源地址和IPv6目的地址封装到加密报文的报文头,封装后报文的源地址为IPv6_SouAddr、目的地址为IPv6_PeerAddr,将报文转发至NAT设备,NAT设备对报文进行NAT转换,转换为IPv4报文,转发到IPv4网络设备。
相应的,IPv4网络设备在收到NAT设备转发的报文后,可以执行如下步骤:
第一步,若接收到NAT设备转发的报文,则根据报文携带的第四IPv4源地址及第四IPv4目的地址,查找第四IPv4源地址及第四IPv4目的地址对应的第四IPSec SA。
第二步,根据第四IPSec SA,对报文进行解密,得到相应的第四IPv6报文。
第三步,分别将第四IPv6报文携带的IPv6源地址及IPv6目的地址的预设位前缀去除,得到第四IPv4报文。
第四步,根据第四IPv4报文携带的IPv4源地址及IPv4目的地址,将第四IPv4报文转发至IPv4客户端。
IPv4网络设备在收到NAT设备转发来的报文后,由于NAT设备转发来的是IPv4报文,则可以查找IPv4源地址及IPv4目的地址对应的第四IPSec SA对报文进行解密,解密得到的是第四IPv6报文,对应的是IPv6源地址和IPv6目的地址,则可以将IPv6源地址和IPv6目的地址的预设位前缀去除,例如去除前缀SPrefix_96变成IPv4源地址和IPv4目的地址,使用这两个IPv4地址将报文转为第四IPv4报文发至IPv4客户端。
应用本发明实施例,IPv4网络设备接收IPv4客户端发送的第二IPv4报文,判断第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型,若第二IPv4报文携带的属性信息匹配IPSec关联的第一IPv4访问控制列表,且IPSec协议类型为IPv6,则根据第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址,根据IPv6源地址及IPv6目的地址,查找IPv6源地址及IPv6目的地址对应的第二IPSec SA,若查找到第二IPSec SA,则根据IPv6源地址及IPv6目的地址,将第二IPv4报文转换为第二IPv6报文,根据第二IPSec SA,对第二IPv6报文进行加密,并在加密后的第二IPv6报文的头部封装报文头,得到封装报文,将封装报文通过IPSec隧道发送至NAT设备,以使得NAT设备将封装报文转换成IPv6报文,并将转换后的IPv6报文通过IPSec隧道转发至对端IPv6网络设备。由于预先配置的IPSec协议类型为IPv6,则IPv4网络设备在转发报文至NAT设备前,可以根据第二IPv4源地址和第二IPv4目的地址,对应生成IPv6源地址和IPv6目的地址,并根据IPv6源地址和IPv6目的地址,将第二IPv4报文转换为第二IPv6报文,再根据查找到的第二IPSec SA,对第二IPv6报文进行加密,并在加密后的第二IPv6报文的头部封装第二IPv4源地址和第二IPv4目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第二IPv4源地址和第二IPv4目的地址进行NAT转换即可,无需对加密的第二IPv6报文进行解密,可以基于NAT转换后的IPv6源地址和IPv6目的地址,将加密的第二IPv6报文转发到对端IPv6网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
为了便于理解,下面以采用IPv4协商为例,对IPSec隧道建立到报文转发的整个流量进行介绍,如图4所示,建立IPSec隧道的方式,主要包括如下步骤。
用户分别在IPv4网络设备、IPv6网络设备和NAT设备上进行以下配置:
在IPv4网络设备,配置IPSec源地址为IPv4_SouAddr,目的地址为IPv4_PeerAddr;在IPv6网络设备,配置IPSec IPv6源地址为IPv6_SouAddr、目的地址为IPv6_PeerAddr,配置IPSec IPv4源地址为IPv4_PeerAddr、目的地址为IPv4_SouAddr。
在NAT设备,配置静态NAT转换:IPv4_SouAddr与IPv6_PeerAddr为一转换对,IPv4_PeerAddr与IPv6_SouAddr为一转换对。
配置IPv6地址96位前缀为SPrefix_96,在IPv4网络设备,配置的安全保护的ACL为IPv4_Sec_ACL,规则策略为:source x1.x2.x3.x4 destination y1.y2.y3.y4,则在IPv6网络设备,配置对应的ACL规则IPv6_Sec_ACL:source SPrefix_96:y1.y2.y3.y4destination SPrefix_96:x1.x2.x3.x4。
在IPv6网络设备,对应IPv6 ACL规则,配置有IPv4 ACL规则,如在上面的IPv6 ACL规则,对应的IPv4 ACL规则为source y1.y2.y3.y4 destination x1.x2.x3.x4。
在IPSec关联的ACL上,地址有一一对应的关系,对IPv4地址x1.x2.x3.x4,对应于IPv6网络设备的IPv6地址为SPrefix_96:x1.x2.x3.x4,在IPv4规则中为源地址,则在IPv6ACL规则中为目的地址,规则中的其他信息,也是一端的源地址和另一端的目的地址相对应。
在IPv6网络设备,配置IPSec协议类型为IPv4,表示IPv4网络设备运行IPv4 IKE,所设置的IKE、IPSec规则为IPv4规则,IKE源地址为IPv4_PeerAddr、目的地址为IPv4_SouAddr。IKE协议报文构建成功后,封装为IPv6报文发送到NAT设备,封装的源地址为IPv6_SouAddr、目的地址为IPv6_PeerAddr,NAT设备转换为IPv4报文后发送到IPv4网络设备。
在第一阶段协商中,第五条、第六条消息中,IPv6网络设备发给IPv4网络设备IKEID的源地址为IPv4_PeerAddr。
进行第二阶段协商,在第一条、第二条消息中,IPv6网络把IPSec_ACL的信息作为ID发送到IPv4网络设备,作为IPv4网络设备入方向的保护数据流规则描述,IPv4网络设备把IPv4_Sec_ACL的信息作为ID发送到IPv6网络设备,作为IPv6网络设备的入方向保护数据流规则描述。
在IPSec SA成功建立后,开始进行IPSec加密。
IPv6客户端与IPv4客户端之间进行报文IPSec加密转发的流程如图5所示,可以包括如下步骤。
第一步,IPv6客户端将待转发的IPv6报文转发至IPv6网络设备。
第二步,IPv6网络设备判断IPv6报文携带的属性信息是否匹配IPSec关联的IPv6ACL,并确定预先设置的IPSec协议类型;若匹配,且IPSec协议类型为IPv4,则根据IPv6报文携带的IPv6源地址和目的地址,对应生成IPv4源地址及目的地址;根据IPv4源地址及目的地址,从本地缓存的IPSec SA中查找IPv4源地址及目的地址对应的IPSec SA;若查找到IPSec SA,则IPv6网络设备根据IPv4源地址及目的地址,将IPv6报文转换为IPv4报文;根据IPSec SA,对IPv4报文进行加密,并在加密后的IPv4报文的头部封装包括IPv6源地址和目的地址的报文头,得到封装报文。
第三步,IPv6网络设备将封装报文通过IPSec隧道发送至NAT设备。
第四步,NAT设备将封装报文转换成IPv4报文。
第五步,NAT设备将转换后的IPv4报文通过IPSec隧道转发至IPv4网络设备。
第六步,IPv4网络设备对转换后的IPv4报文进行解密。
第七步,IPv4网络设备将解密后的报文转发至IPv4客户端。
第八步,IPv4网络设备接收到IPv4客户端反馈的响应报文。
第九步,IPv4网络设备判断响应报文携带的属性信息是否匹配IPSec关联的IPv4ACL;若匹配,则根据响应报文携带的IPv4源地址和目的地址,从本地缓存的IPSec SA中查找IPv4源地址及目的地址对应的IPSec SA,对响应报文进行加密封装。
第十步,IPv4网络设备将封装后的报文通过IPSec隧道发送到NAT设备。
第十一步,NAT设备将封装后的报文转换成IPv6报文。
第十二步,NAT设备将转换后的IPv6报文通过IPSec隧道转发至IPv6网络设备。
第十三步,IPv6网络设备获取IPv6报文携带的IPv6源地址和目的地址对应的IPSec SA,对IPv6报文进行解密,解密出IPv4报文;分别在IPv4报文携带的IPv4源地址及IPv4目的地址前添加预设位前缀,得到IPv6报文。
第十四步,发送该IPv6报文至IPv6客户端。
相应于上述方法实施例,本发明实施例还提供了一种报文转发装置,应用于IPv6网络设备,如图6所示,该装置可以包括:
接收模块610,用于接收IPv6客户端发送的第一IPv6报文;
判断模块620,用于判断所述第一IPv6报文携带的属性信息是否匹配互联网安全协议IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型;
生成模块630,用于若所述判断模块620的判断结果为所述第一IPv6报文携带的属性信息匹配所述IPSec关联的第一IPv6访问控制列表,且所述IPSec协议类型为IPv4,则根据所述第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址;
查找模块640,用于根据所述IPv4源地址及IPv4目的地址,查找所述IPv4源地址及IPv4目的地址对应的第一网际安全联盟IPSec SA;
转换模块650,用于若所述查找模块640查找到所述第一IPSec SA,则根据所述IPv4源地址及IPv4目的地址,将所述第一IPv6报文转换为第一IPv4报文;
封装模块660,用于根据所述第一IPSec SA,对所述第一IPv4报文进行加密,并在加密后的所述第一IPv4报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
转发模块670,用于将所述封装报文通过IPSec隧道发送至网络地址转换NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv4报文通过所述IPSec隧道转发至对端IPv4网络设备。
可选的,所述生成模块630,具体可以用于:
根据所述第一IPv6源地址及第一IPv6目的地址,分别将所述第一IPv6源地址及第一IPv6目的地址的预设位前缀去除,对应得到IPv4源地址及IPv4目的地址。
可选的,所述装置还可以包括:
构建模块,用于构建网络密钥交换IKE协议报文,所述IKE协议报文的源地址为所述IPv4目的地址、目的地址为所述IPv4源地址;在所述IKE协议报文的头部封装报文头,得到IPv6封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
第一协商模块,用于发送所述IPv6封装报文至所述NAT设备,以使所述NAT设备将所述IPv6封装报文转换成IPv4报文,并将转换后的IPv4报文转发至所述对端IPv4网络设备,进行第一阶段协商;
第二协商模块,用于查找与所述第一IPv6访问控制列表对应的IPv4访问控制列表的信息,并将所述IPv4访问控制列表的信息发送至所述对端IPv4网络设备,进行第二阶段协商;
建立模块,用于建立与所述对端IPv4网络设备的所述IPSec隧道,并存储所述IPSec隧道对应的第一IPSec SA。
可选的,所述查找模块640,还可以用于若接收到所述NAT设备转发的报文,则根据所述报文携带的第三IPv6源地址及第三IPv6目的地址,查找所述第三IPv6源地址及第三IPv6目的地址对应的第三IPSec SA;
所述装置还可以包括:
解密模块,用于根据所述第三IPSec SA,对所述报文进行解密,得到相应的第三IPv4报文;
添加模块,用于分别在所述第三IPv4报文携带的IPv4源地址及IPv4目的地址前添加预设位前缀,得到第三IPv6报文;
所述转发模块670,还可以用于根据所述第三IPv6报文携带的IPv6源地址及IPv6目的地址,将所述第三IPv6报文转发至IPv6客户端。
应用本发明实施例,IPv6网络设备接收IPv6客户端发送的第一IPv6报文,判断第一IPv6报文携带的属性信息是否匹配IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型,若第一IPv6报文携带的属性信息匹配IPSec关联的第一IPv6访问控制列表,且IPSec协议类型为IPv4,则根据第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址,根据IPv4源地址及IPv4目的地址,查找IPv4源地址及IPv4目的地址对应的第一IPSec SA,若查找到第一IPSec SA,则根据IPv4源地址及IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,根据第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装报文头,得到封装报文,将封装报文通过IPSec隧道发送至NAT设备,以使得NAT设备将封装报文转换成IPv4报文,并将转换后的IPv4报文通过IPSec隧道转发至对端IPv4网络设备。由于预先配置的IPSec协议类型为IPv4,则IPv6网络设备在转发报文至NAT设备前,可以根据第一IPv6源地址和第一IPv6目的地址,对应生成IPv4源地址和IPv4目的地址,并根据IPv4源地址和IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,再根据查找到的第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装第一IPv6源地址和第一IPv6目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第一IPv6源地址和第一IPv6目的地址进行NAT转换即可,无需对加密的第一IPv4报文进行解密,可以基于NAT转换后的IPv4源地址和IPv4目的地址,将加密的第一IPv4报文转发到对端IPv4网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
本发明实施例还提供了一种报文转发装置,应用于IPv4网络设备,如图7所示,该装置可以包括:
接收模块710,用于接收IPv4客户端发送的第二IPv4报文;
判断模块720,用于判断所述第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型;
生成模块730,用于若所述判断模块的判断结果为所述第二IPv4报文携带的属性信息匹配所述IPSec关联的第一IPv4访问控制列表,且所述IPSec协议类型为IPv6,则根据所述第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址;
查找模块740,用于根据所述IPv6源地址及IPv6目的地址,查找所述IPv6源地址及IPv6目的地址对应的第二IPSec SA;
转换模块750,用于若所述查找模块查找到所述第二IPSec SA,则根据所述IPv6源地址及IPv6目的地址,将所述第二IPv4报文转换为第二IPv6报文;
封装模块760,用于根据所述第二IPSec SA,对所述第二IPv6报文进行加密,并在加密后的所述第二IPv6报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
转发模块770,用于将所述封装报文通过IPSec隧道发送至NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv6报文通过所述IPSec隧道转发至对端IPv6网络设备。
可选的,所述生成模块730,具体可以用于:
根据所述第二IPv4源地址及第二IPv4目的地址,分别在所述第二IPv4源地址及第二IPv4目的地址前添加预设位前缀,对应得到IPv6源地址及IPv6目的地址。
可选的,所述装置还可以包括:
构建模块,用于构建IKE协议报文,所述IKE协议报文的源地址为所述IPv6目的地址、目的地址为所述IPv6源地址;在所述IKE协议报文的头部封装报文头,得到IPv4封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
第一协商模块,用于发送所述IPv4封装报文至所述NAT设备,以使所述NAT设备将所述IPv4封装报文转换成IPv6报文,将转换后的IPv6报文转发至所述对端IPv6网络设备,进行第一阶段协商;
第二协商模块,用于查找与所述第一IPv4访问控制列表对应的IPv6访问控制列表的信息,并将所述IPv6访问控制列表的信息发送至所述对端IPv6网络设备,进行第二阶段协商;
建立模块,用于建立与所述对端IPv6网络设备的所述IPSec隧道,并存储所述IPSec隧道对应的第二IPSec SA。
可选的,所述查找模块740,还可以用于若接收到所述NAT设备转发的报文,则根据所述报文携带的第四IPv4源地址及第四IPv4目的地址,查找所述第四IPv4源地址及第四IPv4目的地址对应的IPSec SA;
所述装置还可以包括:
解密模块,用于根据所述第四IPSec SA,对所述报文进行解密,得到相应的第四IPv6报文;
删除模块,用于分别将所述第四IPv6报文携带的IPv6源地址及IPv6目的地址的预设位前缀去除,得到第四IPv4报文;
所述转发模块770,还可以用于根据所述第四IPv4报文携带的IPv4源地址及IPv4目的地址,将所述第四IPv4报文转发至IPv4客户端。
应用本发明实施例,IPv4网络设备接收IPv4客户端发送的第二IPv4报文,判断第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型,若第二IPv4报文携带的属性信息匹配IPSec关联的第一IPv4访问控制列表,且IPSec协议类型为IPv6,则根据第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址,根据IPv6源地址及IPv6目的地址,查找IPv6源地址及IPv6目的地址对应的第二IPSec SA,若查找到第二IPSec SA,则根据IPv6源地址及IPv6目的地址,将第二IPv4报文转换为第二IPv6报文,根据第二IPSec SA,对第二IPv6报文进行加密,并在加密后的第二IPv6报文的头部封装报文头,得到封装报文,将封装报文通过IPSec隧道发送至NAT设备,以使得NAT设备将封装报文转换成IPv6报文,并将转换后的IPv6报文通过IPSec隧道转发至对端IPv6网络设备。由于预先配置的IPSec协议类型为IPv6,则IPv4网络设备在转发报文至NAT设备前,可以根据第二IPv4源地址和第二IPv4目的地址,对应生成IPv6源地址和IPv6目的地址,并根据IPv6源地址和IPv6目的地址,将第二IPv4报文转换为第二IPv6报文,再根据查找到的第二IPSec SA,对第二IPv6报文进行加密,并在加密后的第二IPv6报文的头部封装第二IPv4源地址和第二IPv4目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第二IPv4源地址和第二IPv4目的地址进行NAT转换即可,无需对加密的第二IPv6报文进行解密,可以基于NAT转换后的IPv6源地址和IPv6目的地址,将加密的第二IPv6报文转发到对端IPv6网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
本发明实施例还提供了一种IPv6网络设备,如图8所示,包括处理器801和机器可读存储介质802,所述机器可读存储介质802存储有能够被所述处理器801执行的机器可执行指令,所述处理器801被所述机器可执行指令促使:执行本发明实施例所提供的应用于IPv6网络设备的报文转发方法的步骤。
本发明实施例中,处理器801通过读取机器可读存储介质802中存储的机器可执行指令,被机器可执行指令促使能够实现:由于预先配置的IPSec协议类型为IPv4,则IPv6网络设备在转发报文至NAT设备前,可以根据第一IPv6源地址和第一IPv6目的地址,对应生成IPv4源地址和IPv4目的地址,并根据IPv4源地址和IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,再根据查找到的第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装第一IPv6源地址和第一IPv6目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第一IPv6源地址和第一IPv6目的地址进行NAT转换即可,无需对加密的第一IPv4报文进行解密,可以基于NAT转换后的IPv4源地址和IPv4目的地址,将加密的第一IPv4报文转发到对端IPv4网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
本发明实施例还提供了一种IPv4网络设备,如图9所示,包括处理器901和机器可读存储介质902,所述机器可读存储介质902存储有能够被所述处理器901执行的机器可执行指令,所述处理器901被所述机器可执行指令促使:执行本发明实施例所提供的应用于IPv4网络设备的报文转发方法的步骤。
本发明实施例中,处理器901通过读取机器可读存储介质902中存储的机器可执行指令,被机器可执行指令促使能够实现:由于预先配置的IPSec协议类型为IPv6,则IPv4网络设备在转发报文至NAT设备前,可以根据第二IPv4源地址和第二IPv4目的地址,对应生成IPv6源地址和IPv6目的地址,并根据IPv6源地址和IPv6目的地址,将第二IPv4报文转换为第二IPv6报文,再根据查找到的第二IPSec SA,对第二IPv6报文进行加密,并在加密后的第二IPv6报文的头部封装第二IPv4源地址和第二IPv4目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第二IPv4源地址和第二IPv4目的地址进行NAT转换即可,无需对加密的第二IPv6报文进行解密,可以基于NAT转换后的IPv6源地址和IPv6目的地址,将加密的第二IPv6报文转发到对端IPv6网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外,本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时,实现本发明实施例所提供的应用于IPv6网络设备的报文转发方法的步骤。
本实施例中,机器可读存储介质中存储的可执行指令在运行时能够实现:由于预先配置的IPSec协议类型为IPv4,则IPv6网络设备在转发报文至NAT设备前,可以根据第一IPv6源地址和第一IPv6目的地址,对应生成IPv4源地址和IPv4目的地址,并根据IPv4源地址和IPv4目的地址,将第一IPv6报文转换为第一IPv4报文,再根据查找到的第一IPSec SA,对第一IPv4报文进行加密,并在加密后的第一IPv4报文的头部封装第一IPv6源地址和第一IPv6目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第一IPv6源地址和第一IPv6目的地址进行NAT转换即可,无需对加密的第一IPv4报文进行解密,可以基于NAT转换后的IPv4源地址和IPv4目的地址,将加密的第一IPv4报文转发到对端IPv4网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时,实现本发明实施例所提供的应用于IPv4网络设备的报文转发方法的步骤。
本实施例中,机器可读存储介质中存储的可执行指令在运行时能够实现:由于预先配置的IPSec协议类型为IPv6,则IPv4网络设备在转发报文至NAT设备前,可以根据第二IPv4源地址和第二IPv4目的地址,对应生成IPv6源地址和IPv6目的地址,并根据IPv6源地址和IPv6目的地址,将第二IPv4报文转换为第二IPv6报文,再根据查找到的第二IPSec SA,对第二IPv6报文进行加密,并在加密后的第二IPv6报文的头部封装第二IPv4源地址和第二IPv4目的地址,这样NAT设备在收到封装报文后,直接对报文头部的第二IPv4源地址和第二IPv4目的地址进行NAT转换即可,无需对加密的第二IPv6报文进行解密,可以基于NAT转换后的IPv6源地址和IPv6目的地址,将加密的第二IPv6报文转发到对端IPv6网络设备,报文转发的过程中并不会解密到明文,从而提高了报文在转发过程中的安全性。
对于IPv6网络设备、IPv4网络设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、IPv6网络设备、IPv4网络设备以及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种报文转发方法,其特征在于,应用于IPv6网络设备,所述方法包括:
接收IPv6客户端发送的第一IPv6报文;
判断所述第一IPv6报文携带的属性信息是否匹配互联网安全协议IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型;
若所述第一IPv6报文携带的属性信息匹配所述IPSec关联的第一IPv6访问控制列表,且所述IPSec协议类型为IPv4,则根据所述第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址;
根据所述IPv4源地址及IPv4目的地址,查找所述IPv4源地址及IPv4目的地址对应的第一网际安全联盟IPSec SA;
若查找到所述第一IPSec SA,则根据所述IPv4源地址及IPv4目的地址,将所述第一IPv6报文转换为第一IPv4报文;
根据所述第一IPSec SA,对所述第一IPv4报文进行加密,并在加密后的所述第一IPv4报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
将所述封装报文通过IPSec隧道发送至网络地址转换NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv4报文通过所述IPSec隧道转发至对端IPv4网络设备。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址,包括:
根据所述第一IPv6源地址及第一IPv6目的地址,分别将所述第一IPv6源地址及第一IPv6目的地址的预设位前缀去除,对应得到IPv4源地址及IPv4目的地址。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建网络密钥交换IKE协议报文,所述IKE协议报文的源地址为所述IPv4目的地址、目的地址为所述IPv4源地址;
在所述IKE协议报文的头部封装报文头,得到IPv6封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
发送所述IPv6封装报文至所述NAT设备,以使所述NAT设备将所述IPv6封装报文转换成IPv4报文,并将转换后的IPv4报文转发至所述对端IPv4网络设备,进行第一阶段协商;
查找与所述第一IPv6访问控制列表对应的IPv4访问控制列表的信息,并将所述IPv4访问控制列表的信息发送至所述对端IPv4网络设备,进行第二阶段协商;
建立与所述对端IPv4网络设备的所述IPSec隧道,并存储所述IPSec隧道对应的第一IPSec SA。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
若接收到所述NAT设备转发的报文,则根据所述报文携带的第三IPv6源地址及第三IPv6目的地址,查找所述第三IPv6源地址及第三IPv6目的地址对应的第三IPSec SA;
根据所述第三IPSec SA,对所述报文进行解密,得到相应的第三IPv4报文;
分别在所述第三IPv4报文携带的IPv4源地址及IPv4目的地址前添加预设位前缀,得到第三IPv6报文;
根据所述第三IPv6报文携带的IPv6源地址及IPv6目的地址,将所述第三IPv6报文转发至IPv6客户端。
5.一种报文转发方法,其特征在于,应用于IPv4网络设备,所述方法包括:
接收IPv4客户端发送的第二IPv4报文;
判断所述第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型;
若所述第二IPv4报文携带的属性信息匹配所述IPSec关联的第一IPv4访问控制列表,且所述IPSec协议类型为IPv6,则根据所述第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址;
根据所述IPv6源地址及IPv6目的地址,查找所述IPv6源地址及IPv6目的地址对应的第二IPSec SA;
若查找到所述第二IPSec SA,则根据所述IPv6源地址及IPv6目的地址,将所述第二IPv4报文转换为第二IPv6报文;
根据所述第二IPSec SA,对所述第二IPv6报文进行加密,并在加密后的所述第二IPv6报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
将所述封装报文通过IPSec隧道发送至NAT设备,以使所述NAT设备将所述封装报文转换成IPv6报文,并将转换后的IPv6报文通过所述IPSec隧道转发至对端IPv6网络设备。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址,包括:
根据所述第二IPv4源地址及第二IPv4目的地址,分别在所述第二IPv4源地址及第二IPv4目的地址前添加预设位前缀,对应得到IPv6源地址及IPv6目的地址。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
构建IKE协议报文,所述IKE协议报文的源地址为所述IPv6目的地址、目的地址为所述IPv6源地址;
在所述IKE协议报文的头部封装报文头,得到IPv4封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
发送所述IPv4封装报文至所述NAT设备,以使所述NAT设备将所述IPv4封装报文转换成IPv6报文,将转换后的IPv6报文转发至所述对端IPv6网络设备,进行第一阶段协商;
查找与所述第一IPv4访问控制列表对应的IPv6访问控制列表的信息,并将所述IPv6访问控制列表的信息发送至所述对端IPv6网络设备,进行第二阶段协商;
建立与所述对端IPv6网络设备的所述IPSec隧道,并存储所述IPSec隧道对应的第二IPSec SA。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述方法还包括:
若接收到所述NAT设备转发的报文,则根据所述报文携带的第四IPv4源地址及第四IPv4目的地址,查找所述第四IPv4源地址及第四IPv4目的地址对应的第四IPSec SA;
根据所述第四IPSec SA,对所述报文进行解密,得到相应的第四IPv6报文;
分别将所述第四IPv6报文携带的IPv6源地址及IPv6目的地址的预设位前缀去除,得到第四IPv4报文;
根据所述第四IPv4报文携带的IPv4源地址及IPv4目的地址,将所述第四IPv4报文转发至IPv4客户端。
9.一种报文转发装置,其特征在于,应用于IPv6网络设备,所述装置包括:
接收模块,用于接收IPv6客户端发送的第一IPv6报文;
判断模块,用于判断所述第一IPv6报文携带的属性信息是否匹配互联网安全协议IPSec关联的第一IPv6访问控制列表,并确定预先配置的IPSec协议类型;
生成模块,用于若所述判断模块的判断结果为所述第一IPv6报文携带的属性信息匹配所述IPSec关联的第一IPv6访问控制列表,且所述IPSec协议类型为IPv4,则根据所述第一IPv6报文携带的第一IPv6源地址及第一IPv6目的地址,对应生成IPv4源地址及IPv4目的地址;
查找模块,用于根据所述IPv4源地址及IPv4目的地址,查找所述IPv4源地址及IPv4目的地址对应的第一网际安全联盟IPSec SA;
转换模块,用于若所述查找模块查找到所述第一IPSec SA,则根据所述IPv4源地址及IPv4目的地址,将所述第一IPv6报文转换为第一IPv4报文;
封装模块,用于根据所述第一IPSec SA,对所述第一IPv4报文进行加密,并在加密后的所述第一IPv4报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
转发模块,用于将所述封装报文通过IPSec隧道发送至网络地址转换NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv4报文通过所述IPSec隧道转发至对端IPv4网络设备。
10.根据权利要求9所述的装置,其特征在于,所述生成模块,具体用于:
根据所述第一IPv6源地址及第一IPv6目的地址,分别将所述第一IPv6源地址及第一IPv6目的地址的预设位前缀去除,对应得到IPv4源地址及IPv4目的地址。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
构建模块,用于构建网络密钥交换IKE协议报文,所述IKE协议报文的源地址为所述IPv4目的地址、目的地址为所述IPv4源地址;在所述IKE协议报文的头部封装报文头,得到IPv6封装报文,所述报文头的源地址为所述第一IPv6源地址、目的地址为所述第一IPv6目的地址;
第一协商模块,用于发送所述IPv6封装报文至所述NAT设备,以使所述NAT设备将所述IPv6封装报文转换成IPv4报文,并将转换后的IPv4报文转发至所述对端IPv4网络设备,进行第一阶段协商;
第二协商模块,用于查找与所述第一IPv6访问控制列表对应的IPv4访问控制列表的信息,并将所述IPv4访问控制列表的信息发送至所述对端IPv4网络设备,进行第二阶段协商;
建立模块,用于建立与所述对端IPv4网络设备的所述IPSec隧道,并存储所述IPSec隧道对应的第一IPSec SA。
12.根据权利要求9-11任一项所述的装置,其特征在于,
所述查找模块,还用于若接收到所述NAT设备转发的报文,则根据所述报文携带的第三IPv6源地址及第三IPv6目的地址,查找所述第三IPv6源地址及第三IPv6目的地址对应的第三IPSec SA;
所述装置还包括:
解密模块,用于根据所述第三IPSec SA,对所述报文进行解密,得到相应的第三IPv4报文;
添加模块,用于分别在所述第三IPv4报文携带的IPv4源地址及IPv4目的地址前添加预设位前缀,得到第三IPv6报文;
所述转发模块,还用于根据所述第三IPv6报文携带的IPv6源地址及IPv6目的地址,将所述第三IPv6报文转发至IPv6客户端。
13.一种报文转发装置,其特征在于,应用于IPv4网络设备,所述装置包括:
接收模块,用于接收IPv4客户端发送的第二IPv4报文;
判断模块,用于判断所述第二IPv4报文携带的属性信息是否匹配IPSec关联的第一IPv4访问控制列表,并确定预先配置的IPSec协议类型;
生成模块,用于若所述判断模块的判断结果为所述第二IPv4报文携带的属性信息匹配所述IPSec关联的第一IPv4访问控制列表,且所述IPSec协议类型为IPv6,则根据所述第二IPv4报文携带的第二IPv4源地址及第二IPv4目的地址,对应生成IPv6源地址及IPv6目的地址;
查找模块,用于根据所述IPv6源地址及IPv6目的地址,查找所述IPv6源地址及IPv6目的地址对应的第二IPSec SA;
转换模块,用于若所述查找模块查找到所述第二IPSec SA,则根据所述IPv6源地址及IPv6目的地址,将所述第二IPv4报文转换为第二IPv6报文;
封装模块,用于根据所述第二IPSec SA,对所述第二IPv6报文进行加密,并在加密后的所述第二IPv6报文的头部封装报文头,得到封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
转发模块,用于将所述封装报文通过IPSec隧道发送至NAT设备,以使所述NAT设备将所述封装报文转换成IPv4报文,并将转换后的IPv6报文通过所述IPSec隧道转发至对端IPv6网络设备。
14.根据权利要求13所述的装置,其特征在于,所述生成模块,具体用于:
根据所述第二IPv4源地址及第二IPv4目的地址,分别在所述第二IPv4源地址及第二IPv4目的地址前添加预设位前缀,对应得到IPv6源地址及IPv6目的地址。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
构建模块,用于构建IKE协议报文,所述IKE协议报文的源地址为所述IPv6目的地址、目的地址为所述IPv6源地址;在所述IKE协议报文的头部封装报文头,得到IPv4封装报文,所述报文头的源地址为所述第二IPv4源地址、目的地址为所述第二IPv4目的地址;
第一协商模块,用于发送所述IPv4封装报文至所述NAT设备,以使所述NAT设备将所述IPv4封装报文转换成IPv6报文,将转换后的IPv6报文转发至所述对端IPv6网络设备,进行第一阶段协商;
第二协商模块,用于查找与所述第一IPv4访问控制列表对应的IPv6访问控制列表的信息,并将所述IPv6访问控制列表的信息发送至所述对端IPv6网络设备,进行第二阶段协商;
建立模块,用于建立与所述对端IPv6网络设备的所述IPSec隧道,并存储所述IPSec隧道对应的第二IPSec SA。
16.根据权利要求13-15任一项所述的装置,其特征在于,
所述查找模块,还用于若接收到所述NAT设备转发的报文,则根据所述报文携带的第四IPv4源地址及第四IPv4目的地址,查找所述第四IPv4源地址及第四IPv4目的地址对应的IPSec SA;
所述装置还包括:
解密模块,用于根据所述第四IPSec SA,对所述报文进行解密,得到相应的第四IPv6报文;
删除模块,用于分别将所述第四IPv6报文携带的IPv6源地址及IPv6目的地址的预设位前缀去除,得到第四IPv4报文;
所述转发模块,还用于根据所述第四IPv4报文携带的IPv4源地址及IPv4目的地址,将所述第四IPv4报文转发至IPv4客户端。
CN201910253122.4A 2019-03-29 2019-03-29 一种报文转发方法及装置 Active CN109981820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910253122.4A CN109981820B (zh) 2019-03-29 2019-03-29 一种报文转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910253122.4A CN109981820B (zh) 2019-03-29 2019-03-29 一种报文转发方法及装置

Publications (2)

Publication Number Publication Date
CN109981820A true CN109981820A (zh) 2019-07-05
CN109981820B CN109981820B (zh) 2022-04-22

Family

ID=67081932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910253122.4A Active CN109981820B (zh) 2019-03-29 2019-03-29 一种报文转发方法及装置

Country Status (1)

Country Link
CN (1) CN109981820B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112242977A (zh) * 2019-07-18 2021-01-19 深圳市文鼎创数据科技有限公司 一种数据传输方法及数据传输系统
CN113242181A (zh) * 2021-01-18 2021-08-10 网络通信与安全紫金山实验室 基于ESP封装和压缩IP在overlay层实现源路由的报文及发送方法
CN113422843A (zh) * 2021-06-21 2021-09-21 浪潮云信息技术股份公司 一种实现nat64的方法
CN115242552A (zh) * 2022-09-21 2022-10-25 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341127A (ja) * 2004-05-26 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> ネットワーク間セキュア通信方法、パケットセキュア処理装置、その処理方法、プログラム、その記録媒体、アドレス変換装置
CN101420423A (zh) * 2007-10-26 2009-04-29 株式会社日立制作所 网络系统
CN103051636A (zh) * 2012-12-31 2013-04-17 华为技术有限公司 一种数据报文的传输方法和设备
CN108989342A (zh) * 2018-08-23 2018-12-11 新华三信息安全技术有限公司 一种数据传输的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341127A (ja) * 2004-05-26 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> ネットワーク間セキュア通信方法、パケットセキュア処理装置、その処理方法、プログラム、その記録媒体、アドレス変換装置
CN101420423A (zh) * 2007-10-26 2009-04-29 株式会社日立制作所 网络系统
US20090113203A1 (en) * 2007-10-26 2009-04-30 Hitachi Ltd. Network System
CN103051636A (zh) * 2012-12-31 2013-04-17 华为技术有限公司 一种数据报文的传输方法和设备
CN108989342A (zh) * 2018-08-23 2018-12-11 新华三信息安全技术有限公司 一种数据传输的方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112242977A (zh) * 2019-07-18 2021-01-19 深圳市文鼎创数据科技有限公司 一种数据传输方法及数据传输系统
CN113242181A (zh) * 2021-01-18 2021-08-10 网络通信与安全紫金山实验室 基于ESP封装和压缩IP在overlay层实现源路由的报文及发送方法
CN113422843A (zh) * 2021-06-21 2021-09-21 浪潮云信息技术股份公司 一种实现nat64的方法
CN115242552A (zh) * 2022-09-21 2022-10-25 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置
CN115242552B (zh) * 2022-09-21 2022-12-13 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置

Also Published As

Publication number Publication date
CN109981820B (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
CN107018134B (zh) 一种配电终端安全接入平台及其实现方法
CN103188351B (zh) IPv6环境下IPSec VPN通信业务处理方法与系统
CN109981820A (zh) 一种报文转发方法及装置
JP3688830B2 (ja) パケット転送方法及びパケット処理装置
KR100679882B1 (ko) 사설 네트워크와 로밍 모바일 단말 사이의 통신
CN103907330B (zh) 在网络环境中用于重定向的防火墙发现的系统和方法
US20070177550A1 (en) Method for providing virtual private network services to mobile node in IPv6 network and gateway using the same
CN106209838B (zh) Ssl vpn的ip接入方法及装置
JP2006121510A (ja) 暗号化通信システム
Datta et al. {spine}: Surveillance protection in the network elements
CN105516062B (zh) 一种实现L2TP over IPsec接入的方法
CN109921898A (zh) IPv6无状态地址生成方法及装置
US20140301396A1 (en) Method for constructing virtual private network, method for packet forwarding, and gateway apparatus using the methods
KR20080063222A (ko) 데이터 스트림 보안 방법
CN106209401B (zh) 一种传输方法及装置
CN103227742B (zh) 一种IPSec隧道快速处理报文的方法
CN116527405B (zh) 一种srv6报文加密传输方法、装置及电子设备
Arkko et al. Limitations of IPsec policy mechanisms
JP4933286B2 (ja) 暗号化パケット通信システム
WO2021185314A1 (zh) 数据处理方法及装置
CN112470438B (zh) 用于发现中间功能和选择两个通信装置之间的路径的方法
JP7391496B2 (ja) パケット通信システム
CN112787940A (zh) 一种多级vpn加密传输方法、系统、设备及存储介质
AU2010245117A1 (en) Method and apparatus for secure packet transmission
KR20070059902A (ko) IPv6 네트워크에서 이동노드에게 VPN 서비스를제공하는 방법 및 이를 위한 게이트웨이

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