WO2015003379A1 - 一种数据通信方法、设备和系统 - Google Patents

一种数据通信方法、设备和系统 Download PDF

Info

Publication number
WO2015003379A1
WO2015003379A1 PCT/CN2013/079268 CN2013079268W WO2015003379A1 WO 2015003379 A1 WO2015003379 A1 WO 2015003379A1 CN 2013079268 W CN2013079268 W CN 2013079268W WO 2015003379 A1 WO2015003379 A1 WO 2015003379A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
ipv6
ipv4
payload
acl
Prior art date
Application number
PCT/CN2013/079268
Other languages
English (en)
French (fr)
Inventor
王振华
陆晓萍
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2013/079268 priority Critical patent/WO2015003379A1/zh
Priority to CN201380001238.XA priority patent/CN104509046B/zh
Publication of WO2015003379A1 publication Critical patent/WO2015003379A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • 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]

Definitions

  • the present invention relates to the field of data communication technologies, and in particular, to a data communication method, device, and system.
  • IPv4 Internet Protocol version 4
  • IPv6 Internet Protocol version 6
  • NAT IPv6
  • Address Translation, Network Address Translation 64 technology enables the coexistence and data interaction between IPv6 networks and IPv4 networks.
  • the NAT64 technology can translate the source address or the destination address between the IPv6 address and the IPv4 address. This allows IPv6 packets to be transmitted over the IPv4 network.
  • a network device is set between the IPv6 device and the IPv4 device, and the IPv6 device and the IPv4 device respectively perform traffic selection (TS) negotiation with the network device, and the network device and the IPv6 device.
  • An IPSec tunnel is established between the network device and the IPv4 device.
  • an IPv6 device sends an IPv6 packet, the packet is encrypted.
  • the packet is transmitted to the network device through the IPSec tunnel between the IPv6 client and the network device.
  • the packet is decrypted as a plaintext IPv6 packet.
  • the packet is translated into an IPv6 packet by the NAT64, and then the translated IPv4 packet is encrypted.
  • the packet is transmitted to the IPv4 device through the IPSec tunnel between the IPv4 device and the network device.
  • the packet needs to be decrypted into plaintext at the network device, it is encrypted and then passed through the network device.
  • the tunnel between IPv4 devices is sent to the IPv4 device, so there is a security risk.
  • an embodiment of the present invention provides a data communication method, device, and system. It is used to directly perform TS negotiation between an IPv6 device and an IPv4 device, so that an IPSec tunnel can be established between the IPv6 device and the IPv4 device according to the negotiated TS payload, thereby improving the security of the packet during transmission.
  • an embodiment of the present invention provides a data communication method, including:
  • the IPv4 device receives the first negotiation packet, where the first negotiation packet carries the traffic of the IPv6 device to select the TS payload;
  • the IPv4 device parses the first negotiation packet to obtain an IP address in the TS payload, where the IP address includes an IPv6 address in an access control list ACL of the IPv6 device, or includes an ACL of the IPv6 device.
  • the IPv4 device establishes a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload.
  • the obtaining, by the IPv4 device, the negotiated TS payload according to the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device if:
  • the IPv4 address is an IPv6 address, and the IPv4 device obtains an IPv4 address from an IP address in the TS payload;
  • the IPv4 device uses the intersection of the acquired IPv4 address and the IPv4 address in the ACL of the IPv4 device as the negotiated TS payload.
  • the acquiring, by the IPv4 device, the negotiated TS payload according to the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device if:
  • the IPv4 address is an IPv6 address, and the IPv4 device constructs an IPv6 address according to the IPv4 address in the ACL of the IPv4 device;
  • the IPv4 device uses the intersection of the IP address in the TS payload and the constructed IPv6 address as the negotiated TS payload.
  • the first possible implementation of the first aspect, the second possible implementation of the first aspect, or the third possible implementation of the first aspect, the fourth possibility in the first aspect in the implementation, it also includes:
  • the IPv4 device transmits the packet to the IPv6 device through the tunnel in a transmission mode.
  • an embodiment of the present invention provides a data communication method, including:
  • the IPv6 device receives the second negotiation packet, where the second negotiation packet carries the TS payload of the IPv4 device.
  • the IPv6 device parses the second negotiation packet to obtain an IP address in the TS payload, where the IP address includes an IPv4 address in an ACL of the IPv4 device, or includes an ACL according to the IPv4 device. IPv6 address constructed by an IPv4 address;
  • the IPv6 device obtains the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device, where the IPv6 address in the ACL of the IPv6 device includes an IPv4 address;
  • the IPv6 device establishes a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the obtaining, by the IPv6 device, the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device includes:
  • the IP address in the IPv4 address is an IPv6 address, and the IPv6 device constructs an IPv6 address according to the IP address in the TS payload;
  • the IPv6 device takes the intersection of the constructed IPv6 address and the IPv6 address in the ACL of the IPv6 device as the negotiated TS payload.
  • the obtaining, by the IPv6 device, the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device includes:
  • the IPv6 address is an IPv4 address, and the IPv6 device obtains an IPv4 address from an IPv6 address in an ACL of the IPv6 device;
  • the IPv6 device makes an intersection of an IP address in the TS payload and an acquired IPv4 address For the negotiated TS load.
  • the acquiring, by the IPv6 device, the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device if: The IP address in the IPv6 address is an IPv6 device, and the IPv6 device uses the intersection of the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device as the negotiated TS payload.
  • the first possible implementation of the second aspect, the second possible implementation of the second aspect, or the third possible implementation of the second aspect, the fourth possibility in the second aspect in the implementation, it also includes:
  • the IPv6 device uses the transmission mode to transmit packets through the tunnel and the IPv4 device.
  • an embodiment of the present invention provides an IPv4 device, including:
  • a receiving module configured to receive a first negotiation packet, where the first negotiation packet carries a TS payload of the IPv6 device;
  • a parsing module configured to parse the first negotiation packet to obtain an IP address in the TS payload, where the IP address includes an IPv6 address in an ACL of the IPv6 device, or includes an ACL in the IPv6 device An IPv4 address carried in the IPv6 address, where the IPv6 address in the ACL of the IPv6 device includes an IPv4 address;
  • a negotiation module configured to obtain a negotiated TS payload according to an IP address in the TS payload and an IPv4 address in an ACL of the IPv4 device;
  • a establishing module configured to establish a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload.
  • the negotiation module includes:
  • Obtaining a submodule configured to obtain an IPv4 address from an IP address in the TS payload if the IP address in the TS payload is an IPv6 address;
  • the first negotiation sub-module is configured to use the intersection of the IPv4 address obtained by the obtaining sub-module and the IPv4 address in the ACL of the IPv4 device as the negotiated TS payload.
  • the negotiation module includes:
  • Constructing a submodule configured to: if the IP address in the TS payload is an IPv6 address, according to the The IPv4 address in the ACL of the IPv4 device constructs an IPv6 address.
  • a second negotiation submodule configured to use an intersection of an IP address in the TS payload and an IPv6 address constructed by the configuration submodule as a negotiated TS payload.
  • the negotiation module is configured to: if an IP address in the TS payload is an IPv4 address, use an IP address in the TS payload and an ACL of the IPv4 device The intersection of the IPv4 addresses in the negotiation is the TS payload.
  • the first possible implementation of the third aspect, the second possible implementation of the third aspect, or the third possible implementation of the third aspect, the fourth possibility in the third aspect in the implementation, it also includes:
  • a transmission module configured to perform packet transmission with the IPv6 device by using the tunnel in a transmission mode.
  • an IPv6 device including:
  • a receiving module configured to receive a second negotiation packet, where the second negotiation packet carries a TS payload of the IPv4 device;
  • a parsing module configured to parse the second negotiation packet to obtain an IP address in the TS payload, where the IP address includes an IPv4 address in an ACL of the IPv4 device, or includes an ACL according to the IPv4 device
  • the IPv6 address constructed by the IPv4 address
  • the negotiation module is configured to obtain the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device, where the IPv6 address in the ACL of the IPv6 device includes an IPv4 address;
  • a establishing module configured to establish a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the negotiation module includes:
  • Constructing a submodule configured to: if the IP address in the TS payload is an IPv4 address, construct an IPv6 address according to the IP address in the TS payload;
  • the first negotiation submodule is configured to use, as a negotiated TS payload, an intersection of an IPv6 address constructed by the constructing submodule and an IPv6 address in an ACL of the IPv6 device.
  • the negotiation module includes:
  • IPv4 address Obtaining a submodule, if the IP address in the TS payload is an IPv4 address, from the IPv6 Obtain an IPv4 address from the IPv6 address in the ACL of the device.
  • a second negotiation submodule configured to use, as a negotiated TS payload, an intersection of an IP address in the TS payload and an IPv4 address obtained by the acquiring submodule.
  • the negotiation module is configured to: if the IP address in the TS payload is an IPv6 address, the IP address in the TS payload and the ACL of the IPv6 device The intersection of the IPv6 addresses in the negotiation is the TS payload.
  • the method further includes: And a transmission module, configured to perform packet transmission with the IPv4 device by using the tunnel in a transmission mode.
  • an embodiment of the present invention provides an IPv4 device, including:
  • a communication interface for communicating with an ip v 6 device
  • Parsing the first negotiation text to obtain an IP address in the TS payload where the IP address includes an IPv6 address in an access control list ACL of the IPv6 device, or an IPv6 address in an ACL including the IPv6 device.
  • An IPv4 address where the IPv6 address in the ACL of the IPv6 device includes an IPv4 address;
  • the processor is configured to:
  • IPv6 address If the IP address in the TS payload is an IPv6 address, obtain an IPv4 address from the IP address in the TS payload;
  • the intersection of the obtained IPv4 address and the IPv4 address in the ACL of the IPv4 device is used as the negotiated TS payload.
  • the processor is configured to:
  • IPv6 address If the IP address in the TS payload is an IPv6 address, according to the ACL of the IPv4 device The IPv4 address in the construct an IPv6 address;
  • the intersection of the IP address in the TS payload and the constructed IPv6 address is taken as the negotiated TS payload.
  • the processor is used to:
  • the IP address in the TS payload is an IPv4 address
  • the intersection of the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device is used as the negotiated TS payload.
  • the processor is configured to:
  • the packet is transmitted to the IPv6 device through the tunnel in a transmission mode.
  • an embodiment of the present invention provides an IPv6 device, including:
  • IPv6 address Parsing the second negotiation packet to obtain an IP address in the TS payload, where the IP address includes an IPv4 address in an ACL of the IPv4 device, or includes an IPv4 address according to an ACL in the IPv4 device. IPv6 address;
  • the processor is configured to:
  • IPv4 address construct an IPv6 address according to the IP address in the TS payload
  • the intersection of the constructed IPv6 address and the IPv6 address in the ACL of the IPv6 device is taken as the negotiated TS payload.
  • the processor is configured to:
  • IP address in the TS payload is an IPv4 address
  • IPv6 address from the ACL of the IPv6 device Obtain an IPv4 address in the IPv6 address
  • the intersection of the IP address in the TS payload and the acquired IPv4 address is taken as the negotiated TS payload.
  • the processor is configured to:
  • the IP address in the TS payload is an IPv6 address
  • the intersection of the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device is used as the negotiated TS payload.
  • the processor is configured to:
  • the packet is transmitted to the IPv4 device through the tunnel by using a transmission mode.
  • the embodiment of the present invention provides a data communication system, including any one of the foregoing IPv6 devices, any one of the foregoing IPv4 devices, and a network device, where
  • the network device is configured to perform network address translation on the first negotiation packet sent by the IPv6 device, and perform network address translation on the second negotiation packet sent by the IPv4 device.
  • an embodiment of the present invention provides a non-transitory machine readable medium for storing computer instructions for performing the above method.
  • an IPv6 address in an ACL of an IPv6 device includes an IPv4 address.
  • the IPv6 device When an IPv6 device initiates a TS negotiation with an IPv4 device, the IPv6 device carries the TS payload of the IPv6 device in the first negotiation packet.
  • the IP address in the TS payload includes the IPv6 address in the ACL of the IPv6 device, or the IPv4 address obtained from the IPv6 address in the ACL of the IPv6 device.
  • the IPv4 device can obtain the negotiated TS payload according to the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device, and establish a tunnel between the IPv4 device and the IPv6 device.
  • the IPv6 device and the IPv4 device can transmit the encrypted packet through the tunnel, which improves the security of the packet during transmission.
  • FIG. 1 is a schematic diagram of an application scenario of a data communication method according to an embodiment of the present invention
  • 2 is a flowchart of a data communication method according to an embodiment of the present invention
  • FIG. 3 is a flowchart of another data communication method according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a negotiation packet according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of another data communication method according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of another data communication method according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of another data communication method according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of another data communication method according to an embodiment of the present invention.
  • FIG. 9 is a flowchart of another data communication method according to an embodiment of the present invention.
  • FIG. 10 is a flowchart of another data communication method according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of a physical structure of an IPv4 client according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of a physical structure of an IPv6 client according to an embodiment of the present invention.
  • FIG. 13 is a structural diagram of an IPv4 device according to an embodiment of the present invention.
  • FIG. 14 is a structural diagram of another IPv4 device according to an embodiment of the present invention.
  • FIG. 15 is a structural diagram of a negotiation module in another IPv4 device according to an embodiment of the present invention.
  • FIG. 16 is a structural diagram of an IPv6 device according to an embodiment of the present invention.
  • FIG. 17 is a structural diagram of another IPv6 device according to an embodiment of the present invention.
  • FIG. 18 is a structural diagram of a negotiation module in another IPv6 device according to an embodiment of the present invention.
  • FIG. 19 is a structural diagram of a data communication system according to an embodiment of the present invention. detailed description
  • FIG. 1 is a schematic diagram of an application scenario of a data communication method according to an embodiment of the present invention. As shown in FIG. 1 , the method can be applied to a scenario in which an IPv6 gateway device and an IPv4 gateway device exchange visits.
  • the application scenario includes an IPv6 gateway device 101 supporting an IPv6 network protocol, an IPv4 gateway device 102 supporting an IPv4 network protocol, and a routing device 103 as an intermediate device.
  • the IPv6 network may include one or more terminals that only support the IPv6 network.
  • the IPv4 network may include one or more terminals that only support the IPv4 protocol. This embodiment does not implement the topology of the IPv6 network and the IPv4 network. Be specifically limited.
  • IPv6 gateway device 101 and the IPv4 device 102 communicate with each other through the routing device 103, in order to ensure data security, communication can be performed through the IPSec tunnel, so that TS negotiation between the IPv6 device 101 and the IPv4 device 102 is required, so that An IPSec tunnel between the IPv6 gateway device 101 and the IPv4 gateway device 102 can be established based on the negotiated TS payload.
  • Payload refers to the basic necessary data carried in a message or other transmission unit.
  • the TS payload specifies the address range when the packet is encrypted.
  • the address range is also recorded in the ACL of the local device.
  • TS negotiation refers to the negotiation process of which network traffic needs to be IPSec encrypted when communicating at both ends.
  • the IP address in the TS payload includes TSi and TSr, where TSi specifies the traffic source address from the initiator, and TSr specifies the traffic destination address of the responder.
  • the range of addresses delineated by the two parties may be different. Therefore, the result of TS negotiation, that is, the negotiated TS payload is to establish the intersection of the common TSi and TSr address ranges, and establish an IPSec tunnel based on this.
  • the negotiation message in the embodiment of the present invention may be a third message or a fourth message verified by IKE (Internet Key Exchange).
  • the IPv6 gateway device 101 only supports the IPv6 protocol, and can perform IPSec encryption on the network traffic that hits its ACL (Access Control List).
  • the IPv4 gateway device 102 only supports the IPv4 protocol and can perform IPSec encryption on network traffic that hits its ACL.
  • the routing device 103 supports the dual-stack, that is, supports both the IPv6 protocol and the IPv4 protocol, and can perform NAT64 or NAT46 conversion on the packet.
  • the NAT 64 is to convert the IPv6 packet into an IPv4 packet, specifically, the IPv6 packet header.
  • the IPv6 address is translated into the corresponding IPv4 address to obtain the IPv4 packet, and the NAT 46 is to convert the IPv4 packet into the IPv6 packet, specifically, the IPv4 address in the IPv6 packet header is converted into the corresponding IPv6 address, and the IPv4 packet is obtained. Text.
  • IPv6 gateway device and the IPv4 gateway device shown in FIG. 1 are only an example.
  • the data communication method shown in the embodiment of the present invention can be applied not only to network devices such as routing devices and firewalls, but also to network devices.
  • the terminal device wherein the terminal device may include: a mobile phone, a computer, and the like.
  • Network devices and terminal devices are not limited here, as long as they can support the IPSec protocol.
  • a device capable of supporting the IPv6 protocol is referred to as an IPv6 device
  • IPv4 device a device capable of supporting the IPv4 protocol.
  • the gateway device in the present invention and the terminal device in the IPv4 network are collectively referred to as an IPv4 device.
  • the routing shown in Figure 1 The device 103 is also only an example of a network device.
  • the network device may also include a switching device, etc., as long as the network device has an IPv6 address and an IPv4 address mutual conversion function and a message forwarding function.
  • the present invention will be described in detail with respect to a data communication method. For the specific process of the data communication method in this embodiment, refer to FIG. 2, which may be described from the IPv4 device side in FIG. 1, and the method includes the following steps:
  • the IPv4 device receives the first negotiation packet.
  • the IPv6 device is the initiator of the TS negotiation
  • the IPv4 device is the responder.
  • the first negotiation packet is sent by the IPv6 device and forwarded by the network device after the network address is translated.
  • the first negotiation packet carries the TS payload of the IPv6 device.
  • the IPv4 device parses the first negotiation packet to obtain an IP address in the TS payload.
  • TS negotiation can only be performed between the initiator and the responder of the IPv4 device or the IPv6 device, because the TS payload of the IPv4 device is an IPv4 address, and therefore, between the initiator's IPv4 address and the responder's IPv4 address. It is feasible to take the intersection. Similarly, the TS payload of the IPv6 device is an IPv6 address. Therefore, it is also feasible to take the intersection between the initiator's IPv6 address and the responder's IPv6 address.
  • the two parties cannot perform TS negotiation.
  • a special IP address is designed, which can be used for TS negotiation between an IPv6 device and an IPv4 device.
  • the IP address in the TS payload carried by the first negotiation packet includes an IPv6 address in the ACL of the IPv6 device, or an IPv4 address obtained from an IPv6 address in the ACL of the IPv6 device, where The IPv6 address in the ACL of the IPv6 device includes an IPv4 address.
  • the IPv6 address in the ACL of the IPv6 device is a special form of an IPv6 address, and is a legal IPv4 address in the preset position of the IPv6 address, and other parts of the IPv6 address are in the implementation. In the example, it is called the remaining address.
  • the remaining addresses only serve as masks, prefixes, or suffixes.
  • the IPv6 address is a 32-bit address
  • the IPv4 address is a 32-bit address. Therefore, in the embodiment of the present invention, the IPv6 address is divided into four segments, each segment being a 32-bit address.
  • the address configures the 32-bit address of any segment of the IPv6 address as a valid IPv4 address, and the remaining address is used as a mask, prefix, or suffix.
  • the last 32 bits of the IPv6 address in the ACL of the IPv6 device can be configured as a legal IPv4 address.
  • the first negotiation packet sent by the IPv6 device may directly carry the IPv6 address in the ACL of the IPv6 device, or may only carry the IPv4 address obtained from the IPv6 address in the ACL of the IPv6 device.
  • the IPv4 device obtains the negotiated TS payload according to the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device.
  • the IP address in the TS payload carried by the first negotiation packet is an IPv6 address in the ACL of the IPv6 device, or an IPv4 address obtained from an IPv6 address in the ACL of the IPv6 device, and thus, according to the TS payload.
  • a valid IPv4 address or an IPv6 address can be obtained from the IP address.
  • the IPv4 device can perform TS negotiation based on the IP address and the IP address in the ACL of the IPv4 device to obtain the negotiated TS payload. 204.
  • the IPv4 device establishes a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload. In this embodiment, after successfully obtaining the negotiated TS payload, the IPv4 device establishes an IPSec tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload.
  • the IPv6 address in the ACL of the IPv6 device includes an IPv4 address.
  • the IPv6 device When an IPv6 device initiates a TS negotiation with an IPv4 device, the IPv6 device carries the traffic selection TS payload of the IPv6 device in the first negotiation packet sent.
  • the IP address in the TS payload includes the IPv6 address in the ACL of the IPv6 device or the IPv4 address obtained from the IPv6 address in the ACL of the IPv6 device.
  • the IPv4 device can obtain the negotiated TS payload according to the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device, and establish a tunnel between the IPv4 device and the IPv6 device.
  • FIG. 3 is a flowchart of another data communication method according to an embodiment of the present invention. Referring to FIG. 3, the method includes the following steps:
  • the IPv4 device receives the first negotiation packet.
  • the IPv6 device is the initiator of the TS negotiation, and the IPv4 device is the responder.
  • the first negotiation packet is sent by the IPv6 device and forwarded by the network device after the network address translation.
  • the first negotiation packet carries the TS payload of the IPv6 device.
  • the TS payload of the IPv6 device includes the traffic source address TSi and the traffic destination address TSR of the IPv6 device.
  • the negotiation packet mainly includes the packet header and the TS payload.
  • the format of the negotiation packet is:
  • the IP Header indicates the source and destination addresses of the negotiation packet
  • TS_IP_ADDR_RANGE indicates the type and address range of the TS payload.
  • TS_IP_ADDR_RANGE includes the traffic source address TSi_IP_ADDR_RANGE and the traffic destination address TSr_IP_ADDR_RANGE.
  • TSi and TSr can be a single address or multiple addresses.
  • the TS payload type in the negotiation packet sent by the IPv6 device when the TS negotiation is initiated is TS_IPV6_ADDR_RANGE
  • the TS payload type in the negotiation packet sent by the IPv4 device when the TS negotiation is initiated is TS_IP V4_ADDR_RANGE
  • TS_IPV6_ADDR_RANGE The type of TS payload contains only IPv6 addresses and can only be used for TS negotiation between IPv6 devices.
  • the TS_IPV4_ADDR_RANGE type TS payload contains only IPv4 addresses and can only be used for TS negotiation between IPv4 devices.
  • a new TS load type is defined
  • TS_IPV64_ADDR_RANGE includes the traffic source address TSi_IPV64_ADDR_RANGE and the traffic destination address TSr_IPV64_ADDR_RANGE.
  • the TS_IPV64_ADDR_RANGE type TS payload can be used for TS negotiation between IPv6 devices and IPv4 devices.
  • the first negotiation packet received by the IPv4 device is an IPv4 packet
  • the first negotiation packet initially sent by the IPv6 client is an IPv6 packet.
  • the network device performs network address translation, specifically NAT64 conversion, to obtain the first negotiation packet in the form of an IPv4 packet.
  • the NAT64 technology translates the source and destination addresses of an IPv6 packet from an IPv6 address to an IPv4 address, so that IPv6 packets can be transmitted over the IPv4 network.
  • the NAT46 technology translates the source and destination addresses in the IPv4 header from the IPv4 address to the IPv6 address, so that IPv4 packets can be transmitted over the IPv6 network.
  • the IPv4 device parses the first negotiation packet to obtain an IP address in the TS payload, where the IP address in the TS payload is an IPv6 address. Specifically, the IP address in the TS payload is an IPv6 address in an access control list ACL of the IPv6 device.
  • the IPv6 address in the ACL of the IPv6 device is a special type of IPv6 address, and the IPv6 address in the ACL of the IPv6 device includes an IPv4 address.
  • the IPv6 address in the ACL of the IPv6 device is a legal IPv4 address, and the other part of the IPv6 address is referred to as a remaining address in this embodiment.
  • the remaining addresses only serve as masks, prefixes, or suffixes.
  • an IPv6 address is 128 bits and an IPv4 address is 32 bits
  • the last 32 bits of the IPv6 address in the ACL of the IPv6 device can be set to only one legal IPv4 address, and the first 96 bits.
  • the bit is the remaining address, and the remaining address of the 96 bits is used as a mask.
  • the first negotiation packet includes an IPv6 header IPv6 header and a TS payload
  • the TS payload includes TSi_IPV64_ADDR_RANGE and TSr_IPV64_ADDR_RANGE, where TSi_IPV64_ADDR_RANGE and TSr_IPV64_ADDR_RANGE both contain 128-bit IPv6 addresses, and the first 96 bits of the address are masks. The last 32 bits are a valid IPv4 address.
  • TSi_IPV64_ADDR_RANGE is specifically 3011::1.1.1.0, 3011::1.1.1.0 is a 128-bit IPv6 address, the first 96 bits 3011:: is the mask, and the last 32 bits 1.1.1.0 is the IPv4 address.
  • the IPv4 device obtains an IPv4 address from an IP address in the TS payload.
  • the IP address is an IPv6 address in the ACL of the IPv6 device, and the IPv6 address in the ACL of the IPv6 device includes an IPv4 address, so the IPv4 device can
  • the IPv4 address is obtained from the IP address in the TS payload carried in the first negotiation packet.
  • the TSi_IPV64_ADDR_RANGE is specifically 3011::1.1.1.0, and the IPv4 device obtains the IPv4 address 1.1.1.0 from the last 32 bits of the address.
  • the IPv4 device uses the intersection of the obtained IPv4 address and the IPv4 address in the ACL of the IPv4 device as the negotiated TS payload.
  • the IPv4 address obtained by the IPv4 device is obtained by the intersection of the obtained IPv4 address and the IPv4 address of the ACL of the IPv4 device.
  • the IPv4 address obtained by the intersection is directly used as the negotiated TS. Load.
  • the TSi_IPV4_ADDR_RANGE in the ACL of the IPv4 device is specifically 1.1.1.0-1.1.1.255, it is obtained from the first negotiation packet.
  • the IPv4 address 1.1.1.0 can be taken as an intersection with 1.1.1.0-1.1.1.255 to get the address: 1.1.1.0, so that the address 1.1.1.0 can be used as the negotiated TS payload.
  • the negotiated TS payload indicates that the IPv4 device needs to protect traffic with a TSi of 1.1.1.0.
  • the negotiated TS payload indicates that the IPv6 device needs to protect the traffic with the TSi of 3011::1.1.1.0.
  • the IPv4 device establishes a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload. Specifically, the IPv4 device may send the first response packet to the network device after obtaining the negotiated TS payload, where the first response packet carries the negotiated TS payload, indicating that the TS payload negotiation is successful, so that the IPv4 device and the IPv6 device are The IPSec tunnel between the establishment is successful.
  • the first response "3" is used to notify the IPv6 device to negotiate the TS payload.
  • the result obtained by taking the intersection in step 304 is an IPv4 address, and the IPv6 device cannot directly use the IPv4 address as the negotiated TS payload. It should be converted to an IPv6 address.
  • the IPv4 address of the negotiated TS payload can be constructed by the IPv4 device according to the IPv4 address obtained by the intersection and the remaining address of the IPv6 address in the ACL of the IPv6 device, and the construct will be constructed.
  • the negotiated TS payload in the form of an IPv6 address is written in the first response packet.
  • the conversion mode needs to notify the IPv4 device of the remaining address of the IPv6 address in the ACL of the IPv6 device in advance.
  • the present invention does not specifically limit the notification manner.
  • the IPv4 device can directly carry the negotiated TS payload in the form of the IPv4 address in the first response packet to the IPv6 device. After receiving the first response packet, the IPv6 device directly reads the first response. The IPv4 address obtained by the intersection is obtained in the packet, and the negotiated TS payload in the form of an IPv6 address is constructed according to the remaining address.
  • the IPv4 device uses the transmission mode to transmit packets through the tunnel and the IPv6 device.
  • the IPv4 device After the IPv4 device establishes a tunnel between the IPv4 device and the IPv6 device based on the negotiated TS payload, the IPv6 device and the IPv4 device use the transmission mode to transmit packets.
  • a message can be expressed as:
  • the IP header includes a source IP address and a destination IP address
  • the data includes the payload of the packet, and the payload may be packet data.
  • IPv6 text form is:
  • IPv4 Text form is: IPv4 Header Data
  • the encryption mode in the IPSec tunnel mode is to encrypt the entire packet.
  • the IPSec tunnel is used to encrypt the entire packet, including the packet header, and then use the IPSec tunnel.
  • the packet format of the IP addresses of the two ends can be as follows:
  • TunneUP Header refers to the IP address of both ends of the IPSec tunnel.
  • IPSec refers to the key of the IPSec tunnel.
  • the encryption mode in the transmission mode is to perform IPSec encryption only on the payload in the packet (that is, the Data part shown in the above figure), without encrypting the packet header, and the header of the packet remains unchanged.
  • the encrypted message can be expressed as:
  • IP header refers to the IP address of the original packet
  • IPSec refers to the key of the IPSec tunnel.
  • the IPv6 device 101 and the IPv4 device 102 respectively perform TS negotiation with the network device 103, and then an IPSec tunnel is established between the network device 103 and the IPv6 device 101. This embodiment is called an IPSec6 tunnel.
  • Another IPSec tunnel is established between the device 103 and the IPv4 device 102.
  • This embodiment is called an IPSec4 tunnel.
  • the IPv6 device 101 is used to access the IPv4 device 102 as an example to describe the tunnel mode and the transmission mode.
  • IPv6 device 101 when the IPv6 device 101 sends a message to the IPv4 device 102 in tunnel mode:
  • the format of the IPv6 packet to be sent by the IPv6 device 101 is as follows:
  • the IPv6 device 101 performs IPSec encryption and encapsulation on the IPv6 packet.
  • the format of the encapsulated packet is
  • the encapsulated packet arrives at the network device 103 through the IPSec6 tunnel, and the network device 103 decrypts and decapsulates the packet.
  • the format of the decrypted packet is:
  • IPv6 Header Data The network device 103 performs NAT64 conversion on the decrypted packet, and the converted packet format is:
  • the network device 103 performs IPSec encryption on the converted message through the key negotiated by the IPSec4 tunnel between the network device 103 and the IPv4 device 102, and encrypts the IP address pair of the IPSec4 tunnel between the network device 103 and the IPv4 device 102.
  • the encapsulated packet is encapsulated.
  • the format of the encrypted and encapsulated IPv4 packet is:
  • the encapsulated text then reaches the IPv4 device 102 through the IPSec4 tunnel.
  • the IPv4 device 102 decrypts the received packet.
  • the decrypted packet format is:
  • the IPv6 device first encrypts the IPSec6 tunnel with the key of the IPSec6 tunnel.
  • the encrypted packet format is:
  • the encrypted packet reaches the network device 103 through the IPSec6 tunnel, and the network device 103 decrypts the packet.
  • the format of the decrypted packet is:
  • the network device 103 performs NAT64 conversion on the decrypted packet, and the converted packet format is
  • the network device 103 performs IPSec encryption on the converted packet of the IPSec4 tunnel between the network device 103 and the IPv4 device 102.
  • the format of the encrypted packet is:
  • the network device 103 sends the encrypted packet to the IPv4 device through the IPSec4 tunnel, and the IPv4 device decrypts the received packet.
  • the decrypted packet format is:
  • two IPSecs are established between an IPv6 device and an IPv4 device. After the tunnel, the packet transmission is possible in either the tunnel mode or the transmission mode. However, in the process of using the two IPSec tunnels for packet transmission, the network device 103 decrypts the encrypted packet and obtains the report. The plaintext of the text, so there are security risks.
  • only one IPSec tunnel is established between the IPv4 device 102 and the IPv6 device 101, and the transmission mode is used for the transmission of the IPSec tunnel through the established IPSec tunnel.
  • the IPv6 device 101 is accessed by the IPv6 device 101. For example, the message transmission method in the embodiment of the present invention will be described.
  • IPv6 device 101 transmits a message to the IPv4 device 102 using the transmission mode:
  • the IPv6 device uses the IPSec tunnel key established between the IPv6 device 101 and the IPv4 device 102 to encrypt the IPSec packets.
  • the format of the encrypted packets is:
  • the encrypted packet arrives at the network device 103 through the IPSec tunnel, and the network device 103 performs NAT64 conversion on the packet.
  • the format of the converted packet is:
  • the packet is sent to the IPv4 device 102 through the IPSec tunnel.
  • the IPv4 device 102 decrypts the received packet by using the key of the IPSec tunnel established between the IPv6 device 101 and the IPv4 device 102.
  • the format of the decrypted packet is:
  • IPv4 Header Data In the embodiment of the present invention, since only one IPSec tunnel is established between the IPv4 device 102 and the IPv6 device 101, and the tunnel mode encrypts the entire packet including the IP address, if the tunnel mode is adopted, The packet is transmitted between the IPv6 device 101 and the IPv4 device 102.
  • the IPv6 device accesses the IPv4 device as an example.
  • the packet decrypted on the IPV4 device 102 side is an IPv6 packet with an IPv6 address, so that the IPV4 device is used. 102 is not recognized. Therefore, in the embodiment of the present invention, when the established tunnel is used for text transmission, the tunnel mode cannot be used for transmission.
  • the following takes an IPv6 device to access an IPv4 device as an example.
  • the IPv6 device 101 transmits a message to the IPv4 device 102 in a tunnel mode
  • the IPv6 device transmits a message to the IPv4 device 102 in a tunnel mode
  • the IPv6 packet is encrypted by IPSec.
  • the format of the encrypted packet is: Tunnel_IPv6 Header IPSec IPv6 Header Data
  • the encrypted packet then passes through the IPSec tunnel to the network device 103.
  • the network device 103 performs NAT64 conversion on the packet.
  • the format of the converted packet is:
  • the translated packet is sent to the IPv4 device through the IPSec tunnel.
  • the IPv4 device decrypts the packet.
  • the format of the packet after decryption is:
  • FIG. 5 is a flowchart of another data communication method according to an embodiment of the present invention. Referring to FIG. 5, the method includes the following steps:
  • the IPv4 device receives the first negotiation packet.
  • step 301 of the previous embodiment For details about this step, refer to related records in step 301 of the previous embodiment, and details are not described here.
  • the IPv4 device parses the first negotiation packet to obtain an IP address in the TS payload, where the IP address in the TS payload is an IPv6 address.
  • IPv6 address For details of this step, refer to related records in step 302 in the embodiment shown in Figure 3, and details are not described herein.
  • the IPv4 device constructs an IPv6 address according to the IPv4 address in the ACL of the IPv4 device.
  • the IPv6 device sets the IP address in the TS payload to be an IPv6 address. Therefore, the IP address in the TS payload is an IPv6 address in the ACL of the IPv6 device.
  • the IPv4 device can construct an IPv6 address according to the IPv4 address in the ACL of the IPv4 device.
  • the IPv4 device can construct an IPv6 address according to the first 96 bits of the commonly used IPv6 address and the IPv4 address in the ACL of the IPv4 device, or can be based on the IPv4 address in the ACL of the IPv6 device and the IPv4 in the ACL of the IPv4 device. Address to construct an IPv6 address.
  • the first 96-bit address of a commonly used IPv6 address can be, for example: 3011::.
  • the IPv4 address is the same as the IPv4 address.
  • the IPv4 address in the ACL of the device is used to construct the IPv6 address.
  • the IPv4 address of the IPv6 address in the ACL of the IPv6 device needs to be notified to the IPv4 device in advance.
  • the present invention does not specifically limit the notification manner.
  • ⁇ ⁇ 6 TSi_IPV6_ADDR_RANGE device's ACL is 3011 :: 1.1.1.0
  • the remaining address 3011 :: 96 is a front, if the ACL of the device 1.1.1.0-1.1.1.255 TSi_IPV4_ADDR_RANGE IPv4, the IPv4 device According to the remaining address 3011::
  • the constructed IPv6 address is 3011::1.1 ⁇ 0-3011::1.1.1.255.
  • the IPv4 device uses the intersection of the IP address in the TS payload and the constructed IPv6 address as the negotiated TS payload.
  • the IPv4 device crosses the IP address in the TS payload and the constructed IPv6 address to obtain an IPv6 address.
  • the IPv4 device can take the TSi_IPV6_ADDR_RANGE: 3011::1.1.1.0 in the TS payload and the constructed IPv6 address 3011::1.1.1.0-3011::1.1.1.255 to the address 3011::1.1.1.0 as the negotiation.
  • TS load For an IPv4 device, the negotiated TS payload indicates that the IPv4 device needs to protect traffic with a TSi of 1.1.1.0.
  • the negotiated TS payload indicates that the IPv6 device needs to protect the traffic with a TSi of 3011::1.1.1.0.
  • the IPv4 device establishes a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload. Specifically, the IPv4 device sends the first response packet to the network device, where the first response packet carries the negotiated TS payload, indicating that the TS payload negotiation is successful, and the IPSec tunnel between the IPv4 device and the IPv6 device is successfully established.
  • the first response "3" is used to notify the IPv6 device of the negotiated TS payload.
  • the result of taking the intersection in 504 is the IPv6 address, and the IPv6 device directly uses the IPv6 address as the negotiated TS payload.
  • the IPv4 device performs packet transmission by using the tunnel and the IPv6 device.
  • the IPv4 device uses the transmission mode to transmit packets through the tunnel and the IPv6 device.
  • the IPv6 device uses the transmission mode to transmit packets through the tunnel and the IPv6 device.
  • the TS payload carried in the first negotiation packet sent by the IPv6 device includes an IPv6 address in the ACL of the IPv6 device.
  • the IPv4 device constructs an IPv6 address according to the IPv4 address in the ACL of the IPv4 device.
  • IPv4 device will IP address in TS payload The intersection with the constructed IPv6 address is used as the negotiated TS payload, and a tunnel between the IPv4 device and the IPv6 device is established according to the negotiated TS payload.
  • the IPv4 device and the IPv6 device can directly transmit the encrypted packet through the established tunnel, which improves the security of the packet during transmission.
  • FIG. 6 is a flowchart of another data communication method according to an embodiment of the present invention. Referring to FIG. 6, the method includes the following steps:
  • the IPv4 device receives the first negotiation packet.
  • step 501 For details of this step, refer to the related description in step 501 in the embodiment shown in FIG. 5, and details are not described herein.
  • the IPv4 device parses the first negotiation packet to obtain an IP address in the TS payload, where the IP address in the TS payload is an IPv4 address.
  • the IPv6 address in the ACL of the IPv6 device includes a valid IPv4 address. Therefore, when the first negotiation packet is sent, the IPv6 device can obtain the IPv6 address in the ACL.
  • the IPv4 address is written into the first negotiation packet as the TS payload of the IPv6 device.
  • the TSi_IPV64_ADDR_RANGE in the ACL of an IPv6 device is specifically
  • the IPv4 device uses the intersection of the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device as the negotiated TS payload.
  • the IPv4 device uses the intersection of the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device as the negotiated TS payload. For example, if the TS payload of the first negotiation packet is L1.1.0 and the TSi_IPV4_ADDR_RANGE of the IPv4 device is 1.1.1.0-1.1.1.255, the address of 1.1.1.0 and 1.1.1.0-1.1.1.255 can be taken as the j address: 1.1.1.0, take the address as ten business ⁇ J TS payload.
  • the negotiated TS payload indicates that the IPv4 device needs to protect traffic with a TSi of 1.1.1.0.
  • the negotiated TS payload indicates that the IPv6 device needs to protect traffic with a TSi of 3011::1.1.1.0.
  • the IPv4 device establishes a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload. Specifically, the IPv4 device may send the first response packet to the network device. The first response packet carries the negotiated TS payload, indicating that the TS payload negotiation is successful, between the IPv4 device and the IPv6 device. The IPSec tunnel was established successfully.
  • the first response packet is used to notify the IPv6 device of the TS payload negotiated.
  • the result obtained by taking the intersection in step 603 is an IPv4 address, and the IPv4 device can directly write the IPv4 address as the negotiated TS payload into the first response message, or convert the IPv4 address into an IPv6 address and then write the first response report. Text.
  • the conversion mode can be written by the IPv4 device according to the IPv4 address and expression obtained by taking the intersection, and written into the first response.
  • the IPv4 device performs packet transmission by using the tunnel and the IPv6 device.
  • the IPv4 device can transmit the packet through the tunnel and the IPv6 device in the transmission mode.
  • the IPv6 device can transmit the packet through the tunnel and the IPv6 device in the transmission mode.
  • the TS payload carried in the first negotiation packet sent by the IPv6 device is an IPv4 address obtained from an IPv6 address in the ACL of the IPv6 device.
  • the IPv4 device obtains the negotiated TS payload according to the IPv4 address in the TS payload and the IPv4 address in the ACL of the IPv4 device, and establishes a tunnel between the IPv4 device and the IPv6 device.
  • the tunnel is transmitted between the IPv6 client device and the IPv4 device by using the established tunnel, which improves the security of packet transmission.
  • the present invention will be described in detail with reference to a data communication method. For the specific flow of the data communication method in this embodiment, refer to FIG. 7. The method is described from the IPv6 device side shown in FIG. 1, and the method includes the following steps:
  • the IPv6 device receives the second negotiation packet.
  • the IPv4 device is the initiator of the TS negotiation
  • the IPv6 device is the responder.
  • the second negotiation packet is sent by the IPv4 device and forwarded by the network device after the network address is translated.
  • the second negotiation packet carries the TS payload of the IPv4 device.
  • the IPv6 device parses the second negotiation packet to obtain an IP address in the TS payload.
  • the IP address in the TS payload carried by the second negotiation packet includes an IPv4 address in the ACL of the IPv4 device, or an IPv6 address configured according to the IPv4 address in the ACL of the IPv4 device, where IPv6
  • the IPv6 address in the ACL of the device contains an IPv4 address.
  • the IPv6 address in the ACL of the IPv6 device is a special form of an IPv6 address, and is a legal IPv4 address in the preset position of the IPv6 address, and other parts of the IPv6 address are in the implementation. In the example, it is called the remaining address. The remaining addresses only serve as masks, prefixes, or suffixes.
  • the IPv6 address is a 32-bit address
  • the IPv4 address is a 32-bit address. Therefore, in the embodiment of the present invention, the IPv6 address is divided into four segments, each segment being a 32-bit address, according to the IPv4 address.
  • the 32-bit address of any segment of the IPv6 address is configured as a legal IPv4 address, and the remaining address is used as a mask, prefix, or suffix.
  • the last 32 bits of the IPv6 address in the ACL of the IPv6 device can be configured as a legal IPv4 address.
  • the second negotiation packet sent by the IPv4 device may directly carry the IPv4 address in the ACL of the IPv4 device, and may also carry the IPv6 address constructed according to the IPv4 address in the ACL of the IPv4 device.
  • the IPv6 device obtains the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device.
  • the IP address in the TS payload carried by the second negotiation packet is an IPv4 address in the ACL of the IPv4 device, or an IPv6 address constructed according to the IPv4 address in the ACL of the IPv4 device, and thus, according to the TS payload.
  • a valid IPv4 address or an IPv6 address can be obtained from the IP address.
  • the IPv6 device can perform TS negotiation based on the IP address and the IP address in the ACL of the IPv6 device to obtain the negotiated TS payload. 704.
  • the IPv6 device establishes a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload. In this embodiment, after successfully obtaining the negotiated TS payload, the IPv6 device establishes an IPSec tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the IPv6 address in the ACL of the IPv6 device includes an IPv4 address.
  • the IPv6 device When the IPv4 device initiates the TS negotiation for the IPv6 device, the IPv6 device carries the traffic selection TS payload of the IPv4 device in the second negotiation packet that is sent.
  • the IP address in the TS payload includes an IPv4 address in an ACL of the IPv4 device, or an IPv6 address constructed according to an IPv4 address in an ACL of the IPv4 device.
  • the IPv6 device can obtain the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device, and establish a tunnel between the IPv6 device and the IPv4 device accordingly.
  • FIG. 8 is a flowchart of another data communication method according to an embodiment of the present invention. Referring to FIG. 8, the method includes the following steps:
  • the IPv6 device receives the second negotiation packet.
  • the IPv4 device is the initiator of the TS negotiation
  • the IPv6 device is the responder.
  • the second negotiation packet is sent by the IPv4 device, and is forwarded by the network device after the network address is translated.
  • the second negotiation packet carries the TS payload of the IPv4 device.
  • the TS payload of the IPv4 device includes the traffic source address TSi and the traffic destination address TSr of the IPv4 device.
  • TS_IPV64_ADDR_RANGE includes the traffic source address TSi_IPV64_ADDR_RANGE and the traffic destination address TSr_IPV64_ADDR_RANGE.
  • the TS payload of the TS_IPV64_ADDR_RANGE type can be used for TS negotiation between an IPv4 device and an IPv6 device.
  • the IPv6 device parses the second negotiation packet to obtain an IP address in the TS payload, where the IP address in the TS payload is an IPv4 address.
  • the IP address in the TS payload may be an IPv4 address in an ACL of the IPv4 device.
  • the IPv6 device constructs an IPv6 address according to the IP address in the TS payload.
  • the IP address in the TS payload is an IPv4 address in the ACL of the IPv4 device. Therefore, the IPv6 device constructs an IPv6 address based on the IP address in the TS payload. Specifically, the IPv6 address in the ACL of the IPv6 device includes the IPv4 address and the remaining address. Therefore, the IPv6 device can carry the TS payload carried by the second negotiation packet according to the remaining address in the IP address of the IPv6 device.
  • the IPv4 address in the construct is constructed as a valid IPv6 address.
  • the remaining address is the first 96 bits 3011::.
  • the TS payload of the second negotiation packet is TSI_IPV4_ADDR_RANGE, it is specifically 1.1.1.0-1.1.1.255.
  • the IPv6 address constructed by the IPv6 device based on the remaining address 3011:: and the IPv4 address in the TS payload is 1.1.1.0-1.1.1.255. 3011::1.1.1.0-3011::1.1.1.255 ⁇
  • the IPv6 device uses the intersection of the constructed IPv6 address and the IPv6 address in the ACL of the IPv6 device as the negotiated TS payload.
  • the IPv6 address of the IPv6 address and the IPv6 address of the IPv6 device of the IPv6 device are obtained as an IPv6 address.
  • the IPv6 address obtained by the intersection is directly used as the negotiated TS. Load.
  • the TSi_IPV6_ADDR_RANGE address 3011::1.1.1.0 in the ACL of the IPv6 device can be compared with the constructed address 3011::1.1.1.0-3011::1.1.1.255 to get the address 3011::1.1.1.0 as the negotiated TS. Load.
  • the negotiated TS payload indicates that the IPv4 device needs to protect traffic with a TSi of 1.1.1.0.
  • the negotiated TS payload indicates that the IPv6 device needs to protect traffic with a TSi of 3011::1.1.1.0.
  • the IPv6 device establishes a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload. Specifically, the IPv6 device may send the second response packet to the network device. The second response packet carries the negotiated TS payload, indicating that the TS payload negotiation is successful, and the IPSec tunnel between the IPv4 device and the IPv6 device is successfully established.
  • the result of the intersection in step 804 is an IPv6 address
  • the IPv6 device can remove the remaining address in the negotiated IPv6 address, obtain an IPv4 address, and write the obtained IPv4 address into the second response packet.
  • the negotiated TS payload in the form of an IPv6 address can be directly written into the second response packet by the IPv6 device, and the negotiated TS payload in the form of an IPv4 address is obtained from the negotiated TS payload by the IPv4 device.
  • the IPv6 device uses the transmission mode to transmit the packet through the tunnel and the IPv4 device. After an IPv6 device establishes a tunnel between an IPv6 device and an IPv4 device based on the negotiated TS payload,
  • the transmission mode is adopted between the IPv6 device and the IPv4 device for packet transmission.
  • this step refer to the related description of step 306 in the embodiment shown in FIG. 3, and details are not described herein again.
  • the TS payload carried in the second negotiation packet sent by the IPv4 device includes
  • FIG. 9 is another data communication method according to an embodiment of the present invention. Referring to FIG. 9, the method includes the following steps:
  • the IPv6 device receives the second negotiation packet.
  • step 801 of the embodiment shown in FIG. 8 For details of this step, refer to related records in step 801 of the embodiment shown in FIG. 8, and details are not described herein again.
  • the IPv6 device parses the second negotiation packet to obtain an IP address in the TS payload, where the IP address in the TS payload is an IPv4 address.
  • the IP address in the TS payload is an IPv4 address, which may be an IPv4 address in an ACL of the IPv4 device.
  • the IPv6 device obtains an IPv4 address from an IPv6 address in the ACL of the IPv6 device.
  • the IPv6 address of the ACL of the IPv6 device includes the IPv4 address and the remaining address. Therefore, the IPv6 device can obtain the IPv4 address from the IPv6 address in the ACL of the IPv6 device.
  • the TSi_IPV64_ADDR_RANGE is specifically 3011::1.1.1.0, and the IPv6 device obtains the IPv4 address 1.1.1.0.
  • the IPv6 device uses the intersection of the IP address in the TS payload and the obtained IPv4 address as the TS payload of the negotiation.
  • the result of the intersection of the IPv4 address in the TS payload of the IPv6 device and the acquired IPv4 address is an IPv4 address.
  • the IPv6 device obtains the IPv4 address 1.1.1.0 from the IPv6 address 3011::1.1.1.0 in the ACL of the IPv6 device.
  • the address 1.1.1.0 obtained by taking the intersection of the TSI_IPV4_ADDR_RANGE address 1.1.1.0-1.1.1.255 in the TS payload as the negotiated TS payload.
  • the negotiated TS payload indicates that the IPv4 device needs to protect traffic with a TSi of 1.1.1.0.
  • the negotiated TS payload indicates that the IPv6 device needs to protect the traffic with a TSi of 3011::1.1.1.0.
  • the IPv6 device establishes a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the IPv6 device can send a second response message to the network device. Wherein the second response message carries The negotiated TS payload indicates that the TS payload negotiation is successful, and the IPSec tunnel between the IPv6 device and the IPv4 device is successfully established.
  • the result obtained by the IPv4 device taking the intersection in step 904 is an IPv4 address, and the IPv4 device directly uses the IPv4 address as the negotiated TS payload.
  • the IPv6 device uses the transmission mode to transmit the packet through the tunnel and the IPv4 device. For details of this step, refer to related records in step 806 of the previous embodiment, and details are not described herein.
  • the TS payload carried in the second negotiation packet sent by the IPv4 device includes an IPv4 address in the ACL of the IPv4 device.
  • the IPv6 device obtains the IPv4 address from the IPv6 address in the ACL of the IPv6 device.
  • the IPv6 device uses the intersection of the IPv4 address obtained from the IPv6 address and the IPv4 address in the first negotiation packet as the negotiated TS payload, and establishes a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the IPv6 device and the IPv4 device can directly transmit the encrypted packet through a tunnel established by the two parties, which improves the security of the packet during transmission.
  • FIG. 10 is a flowchart of another data communication method according to an embodiment of the present invention. Referring to FIG. 10, the method includes the following steps:
  • the IPv6 device receives the second negotiation packet.
  • step 801 of the embodiment shown in FIG. 8 For details of this step, refer to related records in step 801 of the embodiment shown in FIG. 8, and details are not described herein again.
  • the IPv6 device parses the second negotiation packet to obtain an IP address in the TS payload, where the IP address in the TS payload is an IPv6 address.
  • the IPv6 address in the TS payload is an IPv6 address constructed according to an IPv4 address in an ACL of the IPv4 device.
  • the IPv4 device can construct an IPv6 address according to the IPv6 address in the ACL of the IPv6 address of the IPv6 address, or the remaining IPv6 address in the ACL of the IPv6 device.
  • the IPv4 address in the ACL of the IPv4 device is used to construct an IPv6 address.
  • the IPv4 device can write the constructed IPv6 address to the second negotiation file as the TS payload of the IPv4 device.
  • the IPv6 device uses the intersection of the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device as the negotiated TS payload. For example, if the TSi_IPV6_ADDR_RANGE in the ACL of the IPv6 device is specifically 3011::1.1.1.0, the remaining address is the first 96 bits 3011::, if the TSi_IPV4_ADDR_RANGE of the IPv4 device is specifically 1.1.1.0-1.1.1.255, the IPv4 device According to the remaining address 3011:: The constructed IPv6 address is 3011::1.1.1.0-3011::1.1.1.255, then the TSi_IPV6_ADDR_RANGE address 3011::1.1.1.0 in the ACL of the IPv6 device can be compared with the address 3011 in the TS payload: :1.1.1.0-3011::1.1.1.255 takes the address of the intersection 3011::1.1.1.0 as the negotiated TS payload.
  • the negotiated TS payload indicates that the IPv4 device needs to protect traffic with a TSi of 1.1.1.0.
  • the negotiated TS payload indicates that the IPv6 device needs to protect the traffic with the TSi of 3011::1.1.1.0.
  • the IPv6 device establishes a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the IPv6 device can send a second response message to the network device.
  • the second response packet carries the negotiated TS payload, indicating that the TS payload negotiation is successful, and the IPSec tunnel between the IPv6 device and the IPv4 device is successfully established.
  • the second response "3" is used to notify the IPv4 device to negotiate the TS payload.
  • the result obtained by taking the intersection in step 1003 is an IPv6 address, and the IPv6 device can write the IPv6 address obtained by the intersection into the second response.
  • the packet can also obtain the IPv4 address in the negotiated TS payload, and write the obtained IPv4 address into the second response message.
  • the IPv6 device uses the transmission mode to perform transmission of the message to the IPv4 device through the tunnel.
  • the second negotiation packet sent by the IPv4 device carries the traffic selection TS payload of the IPv4 device.
  • the IP address in the TS payload The IPv4 device is an IPv6 address constructed by the IPv4 device according to the IPv4 address in the ACL of the IPv4 device.
  • the IPv6 device can obtain the negotiated TS payload according to the IPv6 address in the TS payload and the IPv6 address in the ACL of the IPv6 device, and can establish a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • FIG. 11 is a schematic diagram of a physical structure of an IPv4 device according to an embodiment of the present invention, as shown in FIG.
  • the IPv4 device includes:
  • the processor 1101, the communication interface 1102, and the memory 1103 perform communication with each other via the communication bus 1104.
  • the communication interface 1102 is configured to communicate with a network element, such as a network device or an IPv6 device.
  • the processor 1101 is configured to execute the program 1105. Specifically, the related steps in the method embodiments shown in FIG. 2, FIG. 3, FIG. 5, and FIG. 6 may be performed.
  • program 1105 can include program code, the program code including computer operating instructions.
  • the processor 1101 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • CPU central processing unit
  • ASIC Application Specific Integrated Circuit
  • the memory 1103 is used to store the program 1105.
  • the memory 1103 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory. It can be understood that the memory 320 can be a non-transitory machine readable medium that can store program code, such as a ROM, a RAM, a magnetic disk, a hard disk, an optical disk, or a non-volatile memory.
  • FIG. 12 is a schematic diagram of a physical structure of an IPv6 device according to an embodiment of the present invention. As shown in FIG. 12, the IPv6 device includes:
  • the processor 1201, the communication interface 1202, and the memory 1203 complete communication with each other via the communication bus 1204.
  • the communication interface 1202 is configured to communicate with a network element, such as a network device or an IPv4 device.
  • the processor 1201 is configured to execute the program 1205, and specifically, the method shown in the foregoing FIG. 7 to FIG. 11 may be executed. Related steps in the method embodiment.
  • program 1205 can include program code, the program code including computer operating instructions.
  • the processor 1201 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • CPU central processing unit
  • ASIC Application Specific Integrated Circuit
  • the memory 1203 is configured to store the program 1205.
  • Memory 1203 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk memory. It is to be understood that the memory 320 can be a non-transitory machine readable medium that can store program code, such as ROM, RAM, diskette, hard disk, optical disk, or non-volatile memory.
  • FIG. 13 is a schematic structural diagram of an IPv4 device according to an embodiment of the present invention.
  • Figure 13 including:
  • the receiving module 1301 is configured to receive the first negotiation packet.
  • the IPv6 device is the initiator of the TS negotiation, and the IPv4 device is the responder.
  • the first negotiation packet is sent by the IPv6 device and forwarded by the network device after performing network address translation.
  • the first negotiation packet carries the TS payload of the IPv6 device.
  • the TS payload of the IPv6 device includes
  • the traffic source address of the IPv6 device TSi and the destination address of the traffic TSr are identical to the IPv6 device TSi and the destination address of the traffic TSr.
  • a new TS payload type is defined
  • TS_IPV64_ADDR_RANGE includes the traffic source address TSi_IPV64_ADDR_RANGE and the traffic destination address TSr_IPV64_ADDR_RANGE.
  • the TS_IPV64_ADDR_RANGE type TS payload can be used for TS negotiation between IPv6 devices and IPv4 devices.
  • the parsing module 1302 is configured to parse the first negotiation packet to obtain an IP address in the TS payload.
  • the IP address in the TS payload carried by the first negotiation packet includes the IPv6.
  • the IPv6 address in the ACL of the IPv6 device is a special form of an IPv6 address, and is a legal IPv4 address in the preset position of the IPv6 address, and other parts of the IPv6 address are in the implementation. In the example, it is called the remaining address.
  • the remaining addresses only serve as masks, prefixes or suffixes.
  • the IPv6 address is a 32-bit address
  • the IPv4 address is a 32-bit address. Therefore, in the embodiment of the present invention, the IPv6 address is divided into four segments, each segment being a 32-bit address, according to the IPv4 address.
  • the 32-bit address of any segment of the IPv6 address is configured as a legal IPv4 address, and the remaining address is used as a mask, prefix, or suffix.
  • the first negotiation packet sent by the IPv6 device may directly carry the IPv6 address in the ACL of the IPv6 device, or may only carry the IPv4 address obtained from the IPv6 address in the ACL of the IPv6 device.
  • the negotiation module 1303 is configured to obtain the negotiated TS payload according to the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device.
  • the IP address in the TS payload carried by the first negotiation packet is an IPv6 address in the ACL of the IPv6 device, or an IPv4 address obtained from an IPv6 address in the ACL of the IPv6 device, and thus, according to the TS payload A valid IPv4 address or an IPv6 address can be obtained from the IP address in the IP address.
  • the negotiation module 1303 of the IPv4 device can perform TS negotiation according to the IP address and the IPv4 address in the ACL of the IPv4 device to obtain the negotiated TS payload.
  • the establishing module 1304 is configured to establish a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload.
  • the establishing module 1304 establishes an IPSec tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload.
  • the IPv6 address in the ACL of the IPv6 device includes an IPv4 address.
  • the IPv6 device initiates the TS negotiation for the IPv4 device, the IPv6 device carries the traffic selection TS payload of the IPv6 device in the first negotiation packet sent.
  • the IP address in the TS payload includes the IPv6 address in the ACL of the IPv6 device, or the IPv4 address obtained from the IPv6 address in the ACL of the IPv6 device. address.
  • the negotiation module 1303 of the IPv4 device can obtain the negotiated TS payload according to the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device, and the establishing module 1304 establishes a tunnel between the IPv4 device and the IPv6 device accordingly.
  • the IPv6 device and the IPv4 device can directly transmit the encrypted packet through the tunnel, which improves the security of the packet during transmission.
  • FIG. 14 is a schematic structural diagram of another IPv4 device according to an embodiment of the present invention. Referring to FIG. 14, the method includes:
  • the negotiation module 1403 includes: an acquisition submodule 14031 and a first negotiation submodule 14032.
  • the receiving module 1401 is configured to receive the first negotiation packet.
  • the parsing module 1402 is configured to parse the first negotiation packet to obtain an IP address in the TS payload.
  • the IP address in the TS payload of the IPv6 device is an IPv6 address in the ACL of the IPv6 device.
  • the negotiation module 1403 is configured to use an IP address in the TS payload and an ACL in the IPv4 device.
  • the IPv4 address gets the negotiated TS payload.
  • the negotiation module 1403 may include an obtaining submodule 14031 and a first negotiating submodule 14032. among them:
  • the obtaining submodule 14031 is configured to obtain an IPv4 address from an IP address in the TS payload.
  • the IP address in the TS payload of the first negotiation message is an IPv6 address, which may be an IPv6 address in the access control list ACL of the IPv6 device.
  • the IPv6 address in the ACL of the IPv6 device includes an IPv4 address. Therefore, the acquisition sub-module 14031 can obtain an IPv4 address from an IP address in the TS payload.
  • the first negotiation sub-module 14032 is configured to use the intersection of the acquired IPv4 address and the IPv4 address in the ACL of the IPv4 device as the negotiated TS payload.
  • the negotiation module 1403 may further include a constructing submodule 14033 and a second negotiating submodule 14034. among them:
  • the constructing sub-module 14033 is configured to construct an IPv6 address according to an IPv4 address in an ACL of the IPv4 device.
  • the second negotiation sub-module 14034 is configured to use the intersection of the IP address in the TS payload and the constructed IPv6 address as the negotiated TS payload.
  • the negotiation module 1403 may be specifically configured to use the intersection of the IP address in the TS payload and the IPv4 address in the ACL of the IPv4 device as the negotiated TS payload. .
  • the establishing module 1404 is configured to establish a tunnel between the IPv4 device and the IPv6 device according to the negotiated TS payload.
  • the IPv4 device can send the first response packet to the IPv6 device through the network device.
  • the first response packet carries the negotiated TS payload, indicating that the TS payload negotiation is successful, and the IPSec tunnel between the IPv4 device and the IPv6 device is successfully established.
  • the transmission module 1405 is configured to perform packet transmission with the IPv6 device by using the tunnel in a transmission mode.
  • the IPv4 device After the IPv4 device establishes a tunnel between the IPv4 device and the IPv6 device based on the negotiated TS payload, the IPv6 device and the IPv4 device can transmit packets through the established tunnel in the transmission mode. Improve the security of message transmission.
  • FIG. 16 is a schematic structural diagram of an IPv6 device according to an embodiment of the present invention.
  • the IPv6 device includes:
  • the receiving module 1701 is configured to receive the second negotiation packet.
  • the IPv4 device is the initiator of the TS negotiation
  • the IPv6 device is the responder.
  • the second negotiation packet is sent by the IPv4 device and forwarded by the network device after performing network address translation.
  • the second negotiation packet carries the TS payload of the IPv4 device.
  • the TS payload of the IPv4 device includes the traffic source address TSi and the traffic destination address TSr of the IPv4 device.
  • a new TS payload type TS_IPV64_ADDR_RANGE is defined, and the TS_IPV64_ADDR_RANGE includes a traffic source address TSi_IPV64_ADDR_RANGE and a traffic destination address TSR_IPV64_ADDR_RANGE.
  • the TS_IPV64_ADDR_RANGE type TS payload can be used for TS negotiation between an IPv4 device and an IPv6 device. .
  • the parsing module 1702 is configured to parse the second negotiation packet to obtain an IP address in the TS payload.
  • the IP address in the TS payload carried by the second negotiation packet includes the IPv4.
  • the IPv6 address in the ACL of the IPv6 device includes the IPv4 address.
  • the IPv6 address in the ACL of the IPv6 device is a special form of an IPv6 address, and is a legal IPv4 address in the preset position of the IPv6 address, and other parts of the IPv6 address are in the implementation. In the example, it is called the remaining address.
  • the remaining addresses only serve as masks, prefixes or suffixes.
  • the IPv6 address is a 32-bit address
  • the IPv4 address is a 32-bit address. Therefore, in the embodiment of the present invention, the IPv6 address is divided into four segments, each segment being a 32-bit address, according to the IPv4 address.
  • the 32-bit address of any segment of the IPv6 address is configured as a legal IPv4 address, and the remaining address is used as a mask, prefix, or suffix. For example, you can configure the last 32 bits of an IPv6 address in an ACL of an IPv6 device as a valid IPv4 address.
  • the second negotiation packet sent by the IPv4 device may directly carry the IPv4 address in the ACL of the IPv4 device, and may also carry the IPv6 address constructed according to the IPv4 address in the ACL of the IPv4 device.
  • the negotiation module 1703 is configured to obtain the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device.
  • the IP address in the TS payload carried by the second negotiation packet is an IPv4 address in the ACL of the IPv4 device, or an IPv6 address constructed according to the IPv4 address in the ACL of the IPv4 device, and thus, from the TS payload.
  • An IP address can obtain a valid IPv4 address or an IPv6 address.
  • the IPv6 device can perform TS negotiation based on the IP address and the IPv4 address in the ACL of the IPv6 device to obtain the negotiated TS payload.
  • the establishing module 1704 is configured to establish a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the establishing module 1704 establishes an IPSec tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the IPv6 address in the ACL of the IPv6 device includes the IPv4 address.
  • the IPv6 device When the IPv4 device initiates the TS negotiation of the IPv6 device, the IPv6 device carries the traffic selection of the IPv4 device in the second negotiation packet sent by the IPv6 device. TS load.
  • the IP address in the TS payload includes the IPv4 address in the ACL of the IPv4 device, or includes the IPv6 constructed according to the IPv4 address in the ACL of the IPv4 device. address.
  • the negotiation module 1703 of the IPv6 device can obtain the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device, and the establishing module 1704 establishes a tunnel between the IPv6 device and the IPv4 device accordingly.
  • the IPv6 device and the IPv4 device can directly transmit the encrypted packet through the tunnel, which improves the security of the packet during transmission.
  • FIG. 17 is a schematic structural diagram of another IPv6 device according to an embodiment of the present invention. Referring to FIG. 17, the IPv6 device includes:
  • the receiving module 1801, the parsing module 1802, the negotiating module 1803, the establishing module 1804, and the transmitting module 1805 among them:
  • the receiving module 1801 is configured to receive the second negotiation packet.
  • the parsing module 1802 is configured to parse the second negotiation packet to obtain an IP address in the TS payload.
  • the IP address in the TS payload is an IPv4 address in an ACL of the IPv4 device.
  • the negotiation module 1803 is configured to obtain the negotiated TS payload according to the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device.
  • the negotiation module 1803 may include a constructing submodule 18031 and a first negotiating submodule 18032. among them:
  • the constructing submodule 18031 is configured to construct an IPv6 address according to the IP address in the TS payload.
  • the IP address in the TS payload is an IPv4 address in the access control list ACL of the IPv4 device, and the IPv6 address in the ACL of the IPv6 device includes an IPv4 address and a remaining address. Therefore, the IPv6 device can construct the IPv4 address in the TS payload carried by the second negotiation packet as an IPv6 address IPv6 device according to the remaining address.
  • the first negotiation sub-module 18032 is configured to use the intersection of the constructed IPv6 address and the IPv6 address in the ACL of the IPv6 device as the negotiated TS payload.
  • the negotiation module 1803 may include: an obtaining submodule 18033 and a second negotiating submodule 18034.
  • the obtaining sub-module 18033 is configured to obtain an IPv4 address from an IPv6 address in an ACL of the IPv6 device.
  • the IPv4 device if the IP address in the TS payload is an IPv4 address in the ACL of the IPv4 device. And the IPv6 address in the ACL of the IPv6 device includes an IPv4 address and the remaining The address, therefore, the acquisition sub-module 18033 IPv6 device can obtain the IPv4 address from the IPv6 address in the ACL of the IPv6 device.
  • the second negotiation sub-module 18034 is configured to use the intersection of the IP address in the TS payload and the acquired IPv4 address as the negotiated TS payload.
  • the negotiation module 1803 may be specifically configured to use the intersection of the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device as the negotiated TS payload. .
  • the IP address in the TS payload of the IPv4 device is an IPv6 address constructed according to the IPv4 address in the ACL of the IPv4 device. Therefore, the IPv6 device can use the intersection of the IP address in the TS payload and the IPv6 address in the ACL of the IPv6 device as the negotiated TS payload.
  • the establishing module 1804 is configured to establish a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload.
  • the IPv6 device can send the second response packet to the IPv4 device through the network device.
  • the second response packet carries the negotiated TS payload, indicating that the TS payload negotiation is successful, and the IPSec tunnel between the IPv4 device and the IPv6 device is successfully established.
  • the transmission module 1805 is configured to perform packet transmission with the IPv4 device by using the tunnel in a transmission mode. After the IPv6 device establishment sub-module 1804 establishes a tunnel between the IPv6 device and the IPv4 device according to the negotiated TS payload, the IPv6 device and the IPv4 device can transmit packets through the established tunnel in the transmission mode.
  • the message transmission method improves the security of message transmission.
  • FIG. 19 is a schematic structural diagram of a data communication system according to an embodiment of the present invention.
  • the data communication system in this embodiment includes: an IPv6 device 2101, an IPv4 device 2102, and a network device 2103.
  • the IPv6 device 2101 and the IPv4 device 2102 are respectively connected to the network device 2103.
  • the TS6 device and the IPv4 device 2102 can perform TS negotiation, obtain the negotiated TS payload, and establish an IPSec tunnel between the two according to the negotiated TS payload.
  • the network device 2103 is configured to perform network address translation on the first negotiation packet and the second response packet sent by the IPv6 device 2101, and is configured to send the second negotiation packet sent by the IPv4 device 2102 and the first Respond to "3 ⁇ 4 text for network address translation.
  • the IPv6 address in the ACL of the IPv6 device includes an IPv4 address. Both IPv4 devices and IPv6 devices can initiate TS-neutral IPv6 devices to the peer.
  • the sent negotiation packet carries a special TS payload.
  • the IP address in the TS payload can be either an IPv4 address or an IPv6 address.
  • the client device that receives the negotiation packet can obtain the negotiated TS payload according to the IP address in the TS payload carried in the negotiation packet and the IP address in the local ACL, and establish an IPv6 device and the IPv4 device according to the negotiated TS payload. Tunnel.
  • the IPv6 device and the IPv4 device can transmit encrypted packets through the established tunnel to improve the security of the packets during transmission.
  • first negotiation packet and the second negotiation packet in the embodiment of the present invention are only for distinguishing between the negotiation packet received by the IPv4 device and the negotiation packet received by the IPv6 device.
  • the first response packet and the second response packet in the embodiment of the present invention are only used to describe clearly distinguishing between the response packet sent by the IPv4 device and the response packet sent by the IPv6 device, and do not do other Limited.
  • the disclosed apparatus and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the modules is only a logical function division.
  • there may be another division manner for example, multiple modules or components may be combined or Can be integrated into another device, or some features can be ignored, or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some communication interface, device or module, and may be in electrical, mechanical or other form.
  • the modules described as separate components may or may not be physically separate.
  • the components displayed as modules may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
  • each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
  • each module may exist physically separately, or two or more modules may be integrated into one module.
  • the above embodiments are only used to illustrate the technical solutions of the present invention, and are not limited thereto.

Landscapes

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

Abstract

本发明实施例公开了一种数据通信方法、设备和系统。该方法包括:IPv4设备接收携带有IPv6设备的TS载荷的第一协商报文;获取TS载荷中的IP地址,所述IP地址包括IPv6设备的ACL中的IPv6地址,或包括从IPv6设备的ACL中的IPv6地址中获取的IPv4地址,IPv6设备的ACL中的IPv6地址中包含有IPv4地址;根据所述TS载荷中的IP地址和IPv4设备的ACL中的IPv4地址获取协商的TS载荷;并依此建立IPv4设备与IPv6设备之间的隧道。本发明实施例中,能够在IPv6设备与IPv4设备之间建立一条IPSec隧道,IPv6设备与IPv4设备通过建立的隧道传输经加密后的报文,提高了报文在传输过程中的安全性。

Description

一种数据通信方法、 设备和系统 技术领域
本发明涉及数据通信技术领域,尤其涉及一种数据通信方法、设备和系统。
背景技术
IPv4 ( Internet Protocol version 4 , 网际协议版本 4 ) 网给是当前数据通 信的主干网, IPv4网络在向 IPv6 ( Internet Protocol version 6 , 网际十办议版本 6 ) 网络迁移的过程中, 使用 NAT ( Network Address Translation, 网络地 址转换) 64技术实现 IPv6网络与 IPv4网络的共存以及数据交互。 NAT64 技术能够将源地址或者目的地址进行 IPv6地址形式与 IPv4地址形式之间 的转换, 从而使得 IPv6报文能够通过 IPv4 网络进行传输, 以实现 IPv6 设备与 IPv4设备之间的互访。
另一方面,为了保证安全性,端对端的才艮文使用 IPSec( Internet Protocol Security , 网际协议安全性)协议进行加密和认证。 但是, 最初的 NAT64 技术没有考虑 IPSec的兼容问题。
目前,为了保证 NAT64技术与 IPSec技术的兼容,在 IPv6设备与 IPv4 设备之间设置网络设备, IPv6设备、 IPv4设备分别与网络设备进行流量选 择( Traffic Selector, TS )协商,在网络设备与 IPv6设备之间建立一条 IPSec 隧道, 在网络设备与 IPv4设备之间建立另一条 IPSec隧道。 IPv6设备发 送 IPv6报文时,需先对报文加密,通过 IPv6客户端与网络设备之间的 IPSec 隧道将报文传输给网络设备, 报文在网络设备处解密后为明文的 IPv6报 文, 并对报文做 NAT64转换, 转换为 IPv4报文, 然后再将转换后的 IPv4 报文加密,通过 IPv4设备与网络设备之间的 IPSec隧道将报文传输给 IPv4 设备。
由于报文在网络设备处需先解密为明文, 再加密后通过网络设备与
IPv4设备之间的隧道发送给 IPv4设备, 因此存在安全隐患。 发明内容
为了解决上述问题,本发明实施例提供了一种数据通信方法、设备和系统, 用于 IPv6设备与 IPv4设备之间直接进行 TS协商, 从而能够根据协商的 TS 载荷在 IPv6设备与 IPv4设备之间建立 IPSec隧道, 提高了报文在传输过程中 的安全性。
第一方面, 本发明实施例提供一种数据通信方法, 包括:
IPv4设备接收第一协商报文, 所述第一协商报文中携带有 IPv6设备的流 量选择 TS载荷;
所述 IPv4设备解析所述第一协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv6设备的访问控制列表 ACL中的 IPv6地址, 或包括 所述 IPv6设备的 ACL中的 IPv6地址中携带的 IPv4地址, 其中, 所述 IPv6 设备的 ACL中的 IPv6地址中包含有 IPv4地址;
所述 IPv4设备根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中 的 IPv4地址获取协商的 TS载荷;
所述 IPv4设备根据所述协商的 TS载荷建立所述 IPv4设备与所述 IPv6设 备之间的隧道。
在第一方面的第一种可能的实现方式中,所述 IPv4设备根据所述 TS载荷 中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获取协商的 TS载荷包括: 若所述 TS载荷中的 IP地址为 IPv6地址, 则所述 IPv4设备从所述 TS载 荷中的 IP地址中获取 IPv4地址;
所述 IPv4设备将所获取的 IPv4地址和所述 IPv4设备的 ACL中的 IPv4 地址的交集作为协商的 TS载荷。
在第一方面的第二种可能的实现方式中,所述 IPv4设备根据所述 TS载荷 中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获取协商的 TS载荷包括: 若所述 TS载荷中的 IP地址为 IPv6地址,则所述 IPv4设备 ^据所述 IPv4 设备的 ACL中的 IPv4地址构造 IPv6地址;
所述 IPv4设备将所述 TS载荷中的 IP地址和所构造的 IPv6地址的交集作 为协商的 TS载荷。
在第一方面的第三种可能的实现方式中,所述 IPv4设备根据所述 TS载荷 中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获取协商的 TS载荷包括: 若所述 TS载荷中的 IP地址为 IPv4地址, 则所述 IPv4设备将所述 TS载 荷中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址的交集作为协商的 TS 载荷。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可 能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能 的实现方式中, 还包括:
所述 IPv4设备采用传输模式通过所述隧道与所述 IPv6设备进行报文的传 输。
第二方面, 本发明实施例提供了一种数据通信方法, 包括:
IPv6设备接收第二协商报文,所述第二协商报文中携带有 IPv4设备的 TS 载荷;
所述 IPv6设备解析所述第二协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv4设备的 ACL中的 IPv4地址, 或包括根据所述 IPv4 设备的 ACL中的 IPv4地址构造的 IPv6地址;
所述 IPv6设备根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中 的 IPv6地址获取协商的 TS载荷, 其中, 所述 IPv6设备的 ACL中的 IPv6地 址中包含有 IPv4地址;
所述 IPv6设备根据所述协商的 TS载荷建立所述 IPv6设备与所述 IPv4设 备之间的隧道。
在第二方面的第一种可能的实现方式中,所述 IPv6设备根据所述 TS载荷 中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载荷包括: 若所述 TS载荷中的 IP地址为 IPv4地址, 则所述 IPv6设备根据所述 TS 载荷中的 IP地址构造 IPv6地址;
所述 IPv6设备将所构造的 IPv6地址和所述 IPv6设备的 ACL中的 IPv6 地址的交集作为协商的 TS载荷。
在第二方面的第二种可能的实现方式中,所述 IPv6设备根据所述 TS载荷 中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载荷包括: 若所述 TS载荷中的 IP地址为 IPv4地址, 则所述 IPv6设备从所述 IPv6 设备的 ACL中的 IPv6地址中获取 IPv4地址;
所述 IPv6设备将所述 TS载荷中的 IP地址和所获取的 IPv4地址的交集作 为协商的 TS载荷。
在第二方面的第三种可能的实现方式中,所述 IPv6设备根据所述 TS载荷 中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载荷包括: 若所述 TS载荷中的 IP地址为 IPv6地址, 则所述 IPv6设备将所述 TS载 荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址的交集作为协商的 TS 载荷。
结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可 能的实现方式或第二方面的第三种可能的实现方式,在第二方面的第四种可能 的实现方式中, 还包括:
所述 IPv6设备采用传输模式通过所述隧道与所述 IPv4设备进行报文的传 输。
第三方面, 本发明实施例提供了一种 IPv4设备, 包括:
接收模块, 用于接收第一协商报文, 所述第一协商报文中携带有 IPv6设 备的 TS载荷;
解析模块, 用于解析所述第一协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv6设备的 ACL中的 IPv6地址,或包括所述 IPv6设备 的 ACL中的 IPv6地址中携带的 IPv4地址, 其中, 所述 IPv6设备的 ACL中 的 IPv6地址中包含有 IPv4地址;
协商模块,用于根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中 的 IPv4地址获取协商的 TS载荷;
建立模块, 用于根据所述协商的 TS载荷建立所述 IPv4设备与所述 IPv6 设备之间的隧道。
在第三方面的第一种可能的实现方式中, 所述协商模块包括:
获取子模块, 用于若所述 TS载荷中的 IP地址为 IPv6地址, 则从所述 TS 载荷中的 IP地址中获取 IPv4地址;
第一协商子模块, 用于将所述获取子模块所获取的 IPv4地址和所述 IPv4 设备的 ACL中的 IPv4地址的交集作为协商的 TS载荷。
在第三方面的第二种可能的实现方式中, 所述协商模块包括:
构造子模块, 用于若所述 TS载荷中的 IP地址为 IPv6地址, 则根据所述 IPv4设备的 ACL中的 IPv4地址构造 IPv6地址;
第二协商子模块,用于将所述 TS载荷中的 IP地址和所述构造子模块所构 造的 IPv6地址的交集作为协商的 TS载荷。
在第三方面的第三种可能的实现方式中, 所述协商模块用于若所述 TS载 荷中的 IP地址为 IPv4地址, 则将所述 TS载荷中的 IP地址和所述 IPv4设备 的 ACL中的 IPv4地址的交集作为协商的 TS载荷。
结合第三方面、第三方面的第一种可能的实现方式、第三方面的第二种可 能的实现方式或第三方面的第三种可能的实现方式,在第三方面的第四种可能 的实现方式中, 还包括:
传输模块, 用于采用传输模式通过所述隧道与所述 IPv6设备进行报文的 传输。
第四方面, 本发明实施例提供了一种 IPv6设备, 包括:
接收模块, 用于接收第二协商报文, 所述第二协商报文中携带有 IPv4设 备的 TS载荷;
解析模块, 用于解析所述第二协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv4设备的 ACL中的 IPv4地址, 或包括根据所述 IPv4 设备的 ACL中的 IPv4地址构造的 IPv6地址;
协商模块,用于根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中 的 IPv6地址获取协商的 TS载荷, 其中, 所述 IPv6设备的 ACL中的 IPv6地 址中包含有 IPv4地址;
建立模块, 用于根据所述协商的 TS载荷建立所述 IPv6设备与所述 IPv4 设备之间的隧道。
在第四方面的第一种可能的实现方式中, 所述协商模块包括:
构造子模块, 用于若所述 TS载荷中的 IP地址为 IPv4地址, 则根据所述 TS载荷中的 IP地址构造 IPv6地址;
第一协商子模块, 用于将所述构造子模块所构造的 IPv6地址和所述 IPv6 设备的 ACL中的 IPv6地址的交集作为协商的 TS载荷。
在第四方面的第二种可能的实现方式中, 所述协商模块包括:
获取子模块,用于若所述 TS载荷中的 IP地址为 IPv4地址,则从所述 IPv6 设备的 ACL中的 IPv6地址中获取 IPv4地址;
第二协商子模块,用于将所述 TS载荷中的 IP地址和所述获取子模块所获 取的 IPv4地址的交集作为协商的 TS载荷。
在第四方面的第三种可能的实现方式中, 所述协商模块用于若所述 TS载 荷中的 IP地址为 IPv6地址, 则将所述 TS载荷中的 IP地址和所述 IPv6设备 的 ACL中的 IPv6地址的交集作为协商的 TS载荷。
结合第四方面、第四方面的第一种可能的实现方式、第二种可能的实现方 式或第三种可能的实现方式,在第四方面的第四种可能的实现方式中,还包括: 传输模块, 用于采用传输模式通过所述隧道与所述 IPv4设备进行报文的 传输。
第五方面, 本发明实施例提供了一种 IPv4设备, 包括:
通信接口, 用于与 ipv6设备进行通信;
处理器, 用于:
接收第一协商报文,所述第一协商报文是由网络设备进行网络地址转换后 发送的, 所述第一协商报文中携带有 IPv6设备的流量选择 TS载荷;
解析所述第一协商 文以获取所述 TS载荷中的 IP地址, 所述 IP地址包 括所述 IPv6设备的访问控制列表 ACL中的 IPv6地址, 或包括所述 IPv6设备 的 ACL中的 IPv6地址中携带的 IPv4地址, 其中, 所述 IPv6设备的 ACL中 的 IPv6地址中包含有 IPv4地址;
根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获 取协商的 TS载荷;
根据所述协商的 TS载荷建立所述 IPv4设备与所述 IPv6设备之间的隧道。 在第五方面的第一种可能的实现方式中, 所述处理器用于:
若所述 TS载荷中的 IP地址为 IPv6地址, 则从所述 TS载荷中的 IP地址 中获取 IPv4地址;
将所获取的 IPv4地址和所述 IPv4设备的 ACL中的 IPv4地址的交集作为 协商的 TS载荷。
在第五方面的第二种可能的实现方式中, 所述处理器用于:
若所述 TS载荷中的 IP地址为 IPv6地址, 则根据所述 IPv4设备的 ACL 中的 IPv4地址构造 IPv6地址;
将所述 TS载荷中的 IP地址和所构造的 IPv6地址的交集作为协商的 TS 载荷。
在第五方面的第三种可能的实现方式中, 所述处理器用于:
若所述 TS载荷中的 IP地址为 IPv4地址, 则将所述 TS载荷中的 IP地址 和所述 IPv4设备的 ACL中的 IPv4地址的交集作为协商的 TS载荷。
结合第五方面、第五方面的第一种可能的实现方式、第五方面的第二种可 能的实现方式或第五方面的第三种可能的实现方式,在第五方面的第四种可能 的实现方式中, 所述处理器用于:
采用传输模式通过所述隧道与所述 IPv6设备进行报文的传输。
第六方面, 本发明实施例提供了一种 IPv6设备, 包括:
通信接口, 用于与 ιρν4设备进行通信;
处理器, 用于:
接收第二协商报文,所述第二协商报文是由网络设备进行网络地址转换后 发送的, 所述第二协商报文中携带有 IPv4设备的 TS载荷;
解析所述第二协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包 括所述 IPv4设备的 ACL中的 IPv4地址, 或包括根据所述 IPv4设备的 ACL 中的 IPv4地址构造的 IPv6地址;
根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获 取协商的 TS载荷,其中,所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4 地址;
根据所述协商的 TS载荷建立所述 IPv6设备与所述 IPv4设备之间的隧道。 在第六方面的第一种可能的实现方式中, 所述处理器用于:
若所述 TS载荷中的 IP地址为 IPv4地址, 则 ^据所述 TS载荷中的 IP地 址构造 IPv6地址;
将所构造的 IPv6地址和所述 IPv6设备的 ACL中的 IPv6地址的交集作为 协商的 TS载荷。
在第六方面的第二种可能的实现方式中, 所述处理器用于:
若所述 TS载荷中的 IP地址为 IPv4地址, 则从所述 IPv6设备的 ACL中 的 IPv6地址中获取 IPv4地址;
将所述 TS载荷中的 IP地址和所获取的 IPv4地址的交集作为协商的 TS 载荷。
在第六方面的第三种可能的实现方式中, 所述处理器用于:
若所述 TS载荷中的 IP地址为 IPv6地址, 则将所述 TS载荷中的 IP地址 和所述 IPv6设备的 ACL中的 IPv6地址的交集作为协商的 TS载荷。
结合第六方面、第六方面的第一种可能的实现方式、第六方面的第二种可 能的实现方式或第三种可能的实现方式,在第六方面的第四种可能的实现方式 中, 所述处理器用于:
采用传输模式通过所述隧道与所述 IPv4设备进行报文的传输。
第七方面, 本发明实施例提供了一种数据通信系统, 包括上述任意一种 IPv6设备、 上述任意一种 IPv4设备和网络设备, 其中,
所述网络设备, 用于将所述 IPv6设备发送的第一协商报文进行网络地址 转换, 还用于将所述 IPv4设备发送的第二协商报文进行网络地址转换。
第八方面, 本发明实施例提供了一种非短暂性的机器可读介质, 用于存储 可执行上述方法的计算机指令。
本发明实施例中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 当 IPv6设备发起对 IPv4设备的 TS协商时, IPv6设备在发送的第一协商报文 中携带有 IPv6设备的 TS载荷。 TS载荷中的 IP地址包括 IPv6设备的 ACL中 的 IPv6地址, 或包括从 IPv6设备的 ACL中的 IPv6地址中获取的 IPv4地址。 通过上述操作, IPv4设备能够根据所述 TS载荷中的 IP地址和 IPv4设备的 ACL 中的 IPv4地址获取协商的 TS载荷,并依此建立 IPv4设备与 IPv6设备之间的 隧道。 IPv6设备与 IPv4设备可以通过该隧道传输经加密后的报文, 提高了报 文在传输过程中的安全性。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作筒单的介绍。 图 1为为本发明实施例的一种数据通信方法的应用场景图; 图 2为本发明实施例的一种数据通信方法流程图;
图 3为本发明实施例的另一种数据通信方法流程图;
图 4为本发明实施例的协商报文示意图;
图 5为本发明实施例的另一种数据通信方法流程图;
图 6为本发明实施例的另一种数据通信方法流程图;
图 7为本发明实施例的另一种数据通信方法流程图;
图 8为本发明实施例的另一种数据通信方法流程图;
图 9为本发明实施例的另一种数据通信方法流程图;
图 10为本发明实施例的另一种数据通信方法流程图;
图 11为本发明实施例的一种 IPv4客户端物理结构示意图;
图 12为本发明实施例的一种 IPv6客户端物理结构示意图;
图 13为本发明实施例的一种 IPv4设备结构图;
图 14为本发明实施例的另一种 IPv4设备结构图;
图 15为本发明实施例的另一种 IPv4设备中协商模块的结构图;
图 16为本发明实施例的一种 IPv6设备结构图;
图 17为本发明实施例的另一种 IPv6设备结构图;
图 18为本发明实施例的另一种 IPv6设备中协商模块的结构图;
图 19为本发明实施例的一种数据通信系统结构图。 具体实施方式
下面将结合本发明中的说明书附图,对发明中的技术方案进行清楚、 完整 地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实 施例。
图 1 为本发明实施例所示的一种数据通信方法的一种应用场景, 如图 1 所示, 该方法可以应用于 IPv6网关设备与 IPv4网关设备互访的场景。 请参见 图 1 , 该应用场景中包括支持 IPv6网络协议的 IPv6网关设备 101、 支持 IPv4 网络协议的 IPv4网关设备 102和作为中间设备的路由设备 103。 IPv6网络中 可以包括一个或多个仅支持 IPv6协议的终端, IPv4网络中可以包括一个或多 个仅支持 IPv4协议的终端, 本实施例不对 IPv6网络和 IPv4网络的拓朴结构 作具体限定。 当 IPv6网关设备 101和 IPv4网关设备 102通过路由设备 103进 行互访时, 为了保证数据的安全性, 可以通过 IPSec隧道进行通信, 从而需要 在 IPv6设备 101和 IPv4设备 102之间进行 TS协商, 以便能够根据协商的 TS 载荷建立 IPv6网关设备 101和 IPv4网关设备 102之间的 IPSec隧道。
载荷(Payload )指的是在一条报文或者其它传输单元中运载的基本必要 数据。 TS载荷具体描述了加密报文时的地址范围, 该地址范围也记载于本端 设备的 ACL 中。 TS 协商指的是两端设备针对通信时哪些网络流量需要进行 IPSec加密的协商过程。 TS载荷中的 IP地址包括 TSi和 TSr, 其中, TSi具体 给出了来自发起方的流量源地址, TSr具体给出了响应方的流量目的地址。 双 方所划定的地址范围可能是不同的, 因此 TS协商的结果, 即协商的 TS载荷 就是建立双方共同的 TSi和 TSr地址范围的交集, 并在此基础上建立 IPSec隧 道。 本发明实施例所述的协商报文, 具体可以为 IKE ( Internet Key Exchange, 因特网密钥交换)验证的第三条消息或第四条消息。
在图 1所示的应用场景中, IPv6网关设备 101只支持 IPv6协议, 能够对 命中其 ACL( Access Control List,访问控制列表)的网络流量进行 IPSec加密。 IPv4网关设备 102只支持 IPv4协议,能够对命中其 ACL的网络流量进行 IPSec 加密。 路由设备 103支持双栈, 即同时支持 IPv6协议和 IPv4协议, 能够对报 文进行 NAT64或 NAT46转换, 其中, NAT 64是指将 IPv6报文转换为 IPv4 报文,具体是将 IPv6报文头中的 IPv6地址转换为对应的 IPv4地址,得到 IPv4 报文, NAT 46是指将 IPv4报文转换为 IPv6报文, 具体是将 IPv6报文头中的 IPv4地址转换为对应的 IPv6地址, 得到 IPv4报文。
需要说明的是, 图 1中所示的 IPv6网关设备与 IPv4网关设备仅仅是一种 示例, 本发明实施例所示的数据通信方法不仅可以应用在路由设备、 防火墙等 网络设备,还可以应用于终端设备,其中终端设备可以包括: 手机、计算机等。 在此不对网络设备和终端设备做限定, 只要能够支持 IPSec协议的设备均可。 为了描述方便,本发明实施例中,将能够支持 IPv6协议的设备称为 IPv6设备, 将能够支持 IPv4协议的设备称为 IPv4设备。 例如, 如图 1所示, 本发明实施 网关设备以及 IPv4网络中的终端设备统称为 IPv4设备。 图 1中所示的路由设 备 103也仅仅只是网络设备的一种示例, 网络设备还可以包括交换设备等, 只 要具有 IPv6地址和 IPv4地址相互转换功能以及报文转发功能的网络设备即 可。 本发明将对一种数据通信方法进行详细说明。本实施例所述的数据通信方 法具体流程请参见图 2, 该方法可以从图 1 中的 IPv4设备侧来描述, 该方法 包括下述步骤:
201、 IPv4设备接收第一协商报文。
请结合图 1 , 在本实施例中, IPv6设备为 TS协商的发起方, IPv4设备为 响应方。 其中, 第一协商报文是由 IPv6设备发送, 并由网络设备进行网络地 址转换后转发的。 第一协商报文中携带有 IPv6设备的 TS载荷。
202、 IPv4设备解析第一协商报文以获取该 TS载荷中的 IP地址。
目前, TS协商只能在同为 IPv4设备或 IPv6设备的发起方和响应方之间 进行, 因为 IPv4设备的 TS载荷为 IPv4地址, 因此, 在发起方的 IPv4地址与 响应方的 IPv4地址之间取交集是可行的, 同理, IPv6设备的 TS载荷为 IPv6 地址, 因此, 在发起方的 IPv6地址与响应方的 IPv6地址之间取交集也是可行 的。 但是, 如果双方中一方为 IPv4设备, 而另一方为 IPv6设备, 则 IPv4设 备的 TS载荷中的 IPv4地址无法与 IPv6设备的 TS载荷中的 IPv6地址取交集, 因此双方无法进行 TS协商。
在本发明实施例中,设计了一种特殊的 IP地址,能够用于 IPv6设备与 IPv4 设备之间进行 TS协商。 在本实施例中, 第一协商报文所携带的 TS载荷中的 IP地址包括该 IPv6设备的 ACL中的 IPv6地址,或包括从该 IPv6设备的 ACL 中的 IPv6地址中获取的 IPv4地址, 其中, 所述 IPv6设备的 ACL中的 IPv6 地址中包含有 IPv4地址。
在本实施例中, IPv6设备的 ACL中的 IPv6地址是一种特殊形式的 IPv6 地址, 在该 IPv6地址的预设位置上为一合法的 IPv4地址, 而该 IPv6地址的 其它部分, 在本实施例中称为剩余地址。 剩余地址仅起到掩码、 前缀或后缀的 作用。 具体的, 由于 IPv6地址为一个 128位的地址, IPv4地址为一个 32位的 地址, 因此, 在本发明实施例中, 将 IPv6地址分为 4段, 每一段为一个 32位 的地址, 根据 IPv4对地址的的要求, 将 IPv6地址中任意一段的 32位地址配 置为一个合法的 IPv4地址, 剩余地址作为掩码、 前缀或后缀。 例如, 可以将 IPv6设备的 ACL中的 IPv6地址的后 32位配置为合法的 IPv4地址的形式。
在本发明实施例中, IPv6设备发出的第一协商报文中,可以直接携带 IPv6 设备的 ACL中的 IPv6地址, 也可以只携带从该 IPv6设备的 ACL中的 IPv6 地址中获取的 IPv4地址。
203、 IPv4设备根据该 TS载荷中的 IP地址和 IPv4设备的 ACL中的 IPv4 地址获取协商的 TS载荷。
由于第一协商报文所携带的 TS载荷中的 IP地址为该 IPv6设备的 ACL中 的 IPv6地址,或者为从该 IPv6设备的 ACL中的 IPv6地址中获取的 IPv4地址, 因而,根据 TS载荷中的 IP地址中均可以获得一个合法的 IPv4地址或 IPv6地 址, IPv4设备就能够根据这个 IP地址和 IPv4设备的 ACL中的 IP地址进行 TS协商, 以获取协商的 TS载荷。 204, IPv4设备根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间的隧道。 在本实施例中, IPv4设备在成功获取协商的 TS 载荷后, 根据该协商的 TS载荷建立 IPv4设备与 IPv6设备之间的 IPSec隧道。
在本实施例中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 当 IPv6设备发起对 IPv4设备的 TS协商时, IPv6设备在发送的第一协商报文中 携带有 IPv6设备的流量选择 TS载荷。 TS载荷中的 IP地址包括 IPv6设备的 ACL中的 IPv6地址,或包括从 IPv6设备的 ACL中的 IPv6地址中获取的 IPv4 地址。 通过上述操作, IPv4设备能够根据所述 TS载荷中的 IP地址和 IPv4设 备的 ACL中的 IPv4地址获取协商的 TS载荷, 并依此建立 IPv4设备与 IPv6 设备之间的一条隧道。 IPv6设备与 IPv4设备可以通过双方建立的一条隧道直 接传输经加密后的报文, 提高了报文在传输过程中的安全性。 图 3为本发明实施例的另一种数据通信方法流程图, 请参见图 3, 该方法 包括步骤:
301、 IPv4设备接收第一协商报文。 请结合图 1 , 在本实施例中, IPv6设备为 TS协商的发起方, IPv4设备为 响应方。 其中, 第一协商报文是由 IPv6设备发送并由网络设备进行网络地址 转换后转发的。 第一协商报文中携带有 IPv6设备的 TS载荷。 其中, IPv6设 备的 TS载荷包括 IPv6设备的流量源地址 TSi和流量目的地址 TSr。
协商报文主要包括报文头和 TS载荷, 协商报文的形式为:
IP Header TS IP ADDR RANGE
其中, IP Header指示协商报文的源和目的地址, TS_IP_ADDR_RANGE 指示 TS 载荷的类型和地址范围。 TS_IP_ADDR_RANGE 包括流量源地址 TSi_IP_ADDR_RANGE和流量目的地址 TSr_IP_ADDR_RANGE两部分, TSi 和 TSr可以为单个地址或多个地址。在现有技术中, 由 IPv6设备发起 TS协商 时所发送的协商报文中的 TS载荷类型为 TS_IPV6_ADDR_RANGE, 由 IPv4 设备发起 TS 协商时所发送的协商报文中 的 TS 载荷类型为 TS_IP V4_ADDR_RANGE , TS_IPV6_ADDR_RANGE类型的 TS载荷中仅包含 IPv6地址, 只能用于 IPv6设备之间的 TS协商, TS_IPV4_ADDR_RANGE类 型的 TS载荷中仅包含 IPv4地址, 只能用于 IPv4设备之间的 TS协商。
在 本 发 明 实 施 例 中 , 定 义 一 种 新 的 TS 载 荷 类 型
TS_IPV64_ADDR_RANGE , TS_IPV64_ADDR_RANGE 包括流量源地址 TSi_IPV64_ADDR_RANGE和流量目的地址 TSr_IPV64_ADDR_RANGE两部 分, TS_IPV64_ADDR_RANGE类型的 TS载荷能够用于 IPv6设备与 IPv4设 备之间的 TS协商。
在步骤 301中, IPv4设备接收的第一协商报文为 IPv4报文, 而 IPv6客户 端初始发送的第一协商报文为 IPv6报文。 IPv6报文形式的第一协商报文到达 网络设备处时,由网络设备进行网络地址转换,具体为 NAT64转换,得到 IPv4 报文形式的第一协商报文。 NAT64技术将 IPv6报文头中的源和目的地址由 IPv6地址转换为 IPv4地址, 使得 IPv6报文能够通过 IPv4网络进行传输。 同 理, NAT46技术将 IPv4报文头中的源和目的地址由 IPv4地址转换为 IPv6地 址, 使得 IPv4报文能够通过 IPv6网络进行传输。
302、 IPv4设备解析第一协商报文以获取该 TS载荷中的 IP地址, 其中, 所述 TS载荷中的 IP地址为 IPv6地址。 具体的, 所述 TS载荷中的 IP地址为所述 IPv6设备的访问控制列表 ACL 中的 IPv6地址。
在本发明实施例中, IPv6设备的 ACL中的 IPv6地址是一种特殊形式的 IPv6地址, 在 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 IPv6设备 具体的在本发明实施例中, IPv6设备的 ACL中的 IPv6地址的预设位置上为一 合法的 IPv4地址, 而该 IPv6地址的其它部分, 在本实施例中称为剩余地址。 剩余地址仅起到掩码、 前缀或后缀的作用。 例如, 一个 IPv6地址为 128位, 一个 IPv4地址为 32位,则在本实施例中,可以设定 IPv6设备的 ACL中的 IPv6 地址的后 32位只能为一合法的 IPv4地址, 而前 96位为剩余地址, 该 96位的 剩余地址用作掩码。
请参见图 4, 第一协商报文包括 IPv6报文头 IPv6 Header和 TS载荷, TS 载荷包括 TSi_IPV64_ADDR_RANGE和 TSr_IPV64_ADDR_RANGE, 其中, TSi_IPV64_ADDR_RANGE和 TSr_IPV64_ADDR_RANGE均包含 128位的 IPv6地址, 且地址的前 96位为掩码, 后 32位为一合法的 IPv4地址。 例如, TSi_IPV64_ADDR_RANGE具体为 3011::1.1.1.0, 3011::1.1.1.0为一个 128位 的 IPv6地址, 前 96位 3011::为掩码, 后 32位 1.1.1.0为 IPv4地址。
303、 IPv4设备从所述 TS载荷中的 IP地址中获取 IPv4地址。
由于在本发明实施例中, 所述 IP地址为所述 IPv6设备的访问控制列表 ACL中的 IPv6地址, 且所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4 地址, 因此, IPv4设备可以从第一协商报文所携带的 TS载荷中的 IP地址中 获取 IPv4地址。
例如,第一协商报文所携带的 TS载荷中 TSi_IPV64_ADDR_RANGE具体 为 3011::1.1.1.0, IPv4设备从该地址的后 32位获取 IPv4地址 1.1.1.0。
304、 IPv4设备将所获取的 IPv4地址和 IPv4设备的 ACL中的 IPv4地址 的交集作为协商的 TS载荷。
在本实施例中, IPv4设备对所获取的 IPv4地址和 IPv4设备的 ACL中的 IPv4地址取交集得到的结果为 IPv4地址, 对于 IPv4设备来说, 直接将取交集 得到的 IPv4 地址作为协商的 TS 载荷。 例如, 若 IPv4 设备的 ACL 中 TSi_IPV4_ADDR_RANGE具体为 1.1.1.0-1.1.1.255 , 则从第一协商报文中获取 的 IPv4地址 1.1.1.0能够与 1.1.1.0-1.1.1.255取交集得到地址: 1.1.1.0, 从而可 以将地址 1.1.1.0作为协商的 TS载荷。对于 IPv4设备来说, 该协商的 TS载荷 表明所述 IPv4设备需要保护 TSi为 1.1.1.0的流量。对于 IPv6设备来说, 该协 商的 TS载荷表明所述 IPv6设备需要保护 TSi为 3011::1.1.1.0的流量。
305、 IPv4设备根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间的隧道。 具体的, IPv4设备在获得协商的 TS载荷后可以向网络设备发送第一响应 报文, 其中, 第一响应报文携带有该协商的 TS载荷, 表明 TS载荷协商成功, 从而 IPv4设备与 IPv6设备之间的 IPSec隧道建立成功。
在本实施例中, 第一响应"¾文用于通知 IPv6设备协商的 TS载荷。在步骤 304中取交集得到的结果为 IPv4地址, IPv6设备不能直接将该 IPv4地址作为 协商的 TS载荷, 而应该转换为 IPv6地址。 具体的, 一种情形下, 可以由 IPv4 设备根据取交集得到的 IPv4地址和 IPv6设备的 ACL中的 IPv6地址的剩余地 址构造协商的 TS载荷的 IPv6地址形式, 并将构造的 IPv6地址形式的协商的 TS载荷写入第一响应报文中, 这种转换方式需要事先将 IPv6设备的 ACL中 的 IPv6地址的剩余地址通知 IPv4设备, 本发明不对通知方式作具体限定。 在 另一种情况下, IPv4设备可以直接将 IPv4地址形式的协商的 TS载荷携带在 第一响应报文中发给 IPv6设备, IPv6设备在接收到第一响应报文后, 直接读 取第一响应报文中取交集得到的 IPv4地址, 再根据剩余地址构造 IPv6地址形 式的协商的 TS载荷。 306、 IPv4设备采用传输模式通过所述隧道与 IPv6设备 进行报文的传输。
IPv4设备根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间的隧道后, IPv6设备与 IPv4设备之间采用传输模式进行报文传输。
通常, 一个报文可以表示为:
IP Header Data
其中, IP Header中包含有源 IP地址和目的 IP地址, Data中包含有该才艮 文的有效负载, 该有效负载可以为报文数据。
例如, IPv6 艮文形式为:
IPv6 Header Data
IPv4 文形式为: IPv4 Header Data
IPSec技术中报文传输的方式主要有两种: 隧道模式和传输模式。 IPSec 隧道模式下的加密方式是对整个报文进行加密, 具体的, 先使用 IPSec隧道的 密钥对包括报文头在内的整个报文进行 IPSec加密,再将加密后的报文用 IPSec 隧道两端的 IP地址进行封装封装后的报文格式可以为:
Figure imgf000017_0001
以上的 TunneUP Header是指 IPSec隧道两端的 IP地址, IPSec指代 IPSec隧道的密钥。
传输模式下的加密方式是只对报文中的有效负载(即上述图示的 Data部 分)进行 IPSec加密, 而不会对报文头进行加密, 且报文头保持不变。 在传專 ί 模式下, 加密后的报文可以表示为:
IP Header IPSec Data
其中, IP Header指的是原报文的 IP地址, IPSec指 IPSec隧道的密钥。 结合图 1 , 现有技术中, IPv6设备 101和 IPv4设备 102分别与网络设 备 103进行 TS协商, 然后该网络设备 103与 IPv6设备 101之间建立一条 IPSec隧道, 本实施例称为 IPSec6隧道, 网络设备 103与 IPv4设备 102 之间建立另一条 IPSec隧道, 本实施例称为 IPSec4隧道。 以下, 以 IPv6 设备 101访问 IPv4设备 102为例, 对隧道模式和传输模式进行说明。
在一种情形下, 当 IPv6设备 101 以隧道模式向 IPv4设备 102发送报文 时:
IPv6设备 101要发送的 IPv6报文格式如下:
IPv6 Header Data
IPv6设备 101首先对 IPv6报文进行 IPSec加密和封装, 封装后的报文格 式为
Figure imgf000017_0002
封装后的报文通过 IPSec6隧道到达网络设备 103,网络设备 103对该报文 进行解密和解封装, 解密后的报文格式为:
IPv6 Header Data 网络设备 103再将解密后的报文进行 NAT64转换,转换后的报文格式为:
IPv4 Header Data
网络设备 103将转换后的报文通过通过网络设备 103与 IPv4设备 102之 间的 IPSec4隧道协商的密钥进行 IPSec加密, 并采用网络设备 103与 IPv4设 备 102之间的 IPSec4隧道的 IP地址对加密后的报文进行封装, 经加密和封装 后的 IPv4报文格式为:
Figure imgf000018_0001
然后封装后的 文通过 IPSec4隧道到达 IPv4设备 102, IPv4设备 102对 接收的报文进行解密, 解密后的报文格式:
IPv4 Header Data
在另一种情形下, 当 IPv6设备 101以传输模式向 IPv4设备 102发送报 文时:
IPv6设备首先将发送的 文采用 IPSec6隧道的密钥进行 IPSec加密, 加 密后的报文格式:
IPv6 Header IPSec Data
经加密后的报文通过 IPSec6隧道到达网络设备 103,网络设备 103对报文 进行解密, 解密后的报文格式为:
IPv6 Header Data
网络设备 103对解密后的报文进行 NAT64转换, 转换后的报文格式为
IPv4 Header Data
网络设备 103再通过网络设备 103与 IPv4设备 102之间的 IPSec4隧道 的密钥对转换后的报文进行 IPSec加密, 加密后的报文格式为:
IPv4 Header IPSec Data
网络设备 103将加密后的报文通过 IPSec4隧道发送到 IPv4设备, IPv4设 备对接收的报文进行解密, 解密后的报文格式:
IPv4 Header Data
同理, IPv4设备向 IPv6设备发送 文的过程为上述过程的逆过程, 这里 赘述。
从以上两个过程可以看出, 在 IPv6设备与 IPv4设备之间建立两条 IPSec 隧道后, 无论采用隧道模式还是传输模式进行报文传输都是可以的, 然而在上 述采用两条 IPSec隧道进行报文传输的过程中, 网络设备 103会对加密后的报 文进行解密, 获得报文的明文, 因此存在安全隐患。
在本发明实施例中, 在 IPv4设备 102与 IPv6设备 101之间只需建立一条 IPSec隧道, 并通过建立的 IPSec隧道采用传输模式进行 "¾文传输。 下面将以 IPv6设备 101访问 IPv4设备 102为例对本发明实施例中的报文传输方法 进行说明。
在一种情形下, 当 IPv6设备 101采用传输模式向 IPv4设备 102发送报 文时:
IPv6设备采用 IPv6设备 101和 IPv4设备 102之间建立的 IPSec隧道的密 钥对发送的 IPv6报文进行 IPSec加密, 加密后的报文格式为:
IPv6 Header IPSec Data
然后加密后的报文通过 IPSec隧道到达网络设备 103 , 网络设备 103对报 文进行 NAT64转换, 转换后的报文格式为:
IPv4 Header IPSec Data
然后报文通过 IPSec隧道到达 IPv4设备 102, IPv4设备 102采用 IPv6设 备 101和 IPv4设备 102之间建立的 IPSec隧道的密钥对接收的报文进行解密, 解密后的报文格式为:
IPv4 Header Data 在本发明实施例中, 由于建立 IPv4设备 102与 IPv6设备 101之间只建立 一条 IPSec隧道, 而隧道模式是对包括 IP地址在内的整个报文进行加密, 因 此, 如果采用隧道模式在 IPv6设备 101和 IPv4设备 102之间进行报文传输的 话, 以 IPv6设备访问 IPv4设备为例, 在 IPV4设备 102侧解密后的报文就 会是带有 IPv6地址的 IPv6报文, 使得 IPV4设备 102无法识别。 因此, 在本 发明实施例中, 当采用建立的隧道进行 文传输时, 并不能采用隧道模式进行 才艮文传输。 下面将以 IPv6设备访问 IPv4设备为例具体进行说明。
当 IPv6设备 101采用隧道模式向 IPv4设备 102传输报文时, IPv6设备
101将 IPv6报文进行 IPSec加密, 加密后的报文格式为: Tunnel_IPv6 Header IPSec IPv6 Header Data 然后加密后的报文通过 IPSec隧道到达网络设备 103 , 网络设备 103对报 文进行 NAT64转换, 转换后的报文格式为:
Figure imgf000020_0001
转换后的报文通过 IPSec隧道到达 IPv4设备, IPv4设备进行解密, 解密 后的报文格式为:
IPv6 Header Data
由于 IPv4设备 102不能处理带有 IPv6报文头的报文, 因此在本发明实施 例中, 由于在 IPv4设备 102与 IPv6设备 101之间只建立了一条 IPSec隧道, 不能采用隧道模式进行报文传输。 图 5为本发明实施例的另一种数据通信方法的流程图, 请参见图 5, 该方 法包括步骤:
501、 IPv4设备接收第一协商报文。
本步骤具体内容请参见上一实施例步骤 301 中的相关记载, 这里不再赘 述。
502、 IPv4设备解析第一协商报文以获取该 TS载荷中的 IP地址, 其中, 所述 TS载荷中的 IP地址为 IPv6地址。 本步骤具体内容请参见图 3所示实施 例中步骤 302中的相关记载, 这里不再赘述。
503、 IPv4设备根据 IPv4设备的 ACL中的 IPv4地址构造 IPv6地址。 在本实施例中, IPv6设备设定 TS载荷中的 IP地址为 IPv6地址形式, 因 此, TS载荷中的 IP地址为 IPv6设备的 ACL中的 IPv6地址。为了获得协商的 TS载荷, 在本发明实施例中, IPv4设备可以根据 IPv4设备的 ACL中的 IPv4 地址构造 IPv6地址。 具体的, IPv4设备可以根据常用的 IPv6地址的前 96位 与 IPv4设备的 ACL中的 IPv4地址构造 IPv6地址,或者可以根据 IPv6设备的 ACL中的 IPv6地址的剩余地址与 IPv4设备的 ACL中的 IPv4地址来构造 IPv6 地址。 常用的 IPv6地址的前 96位地址例如可以为: 3011::。
如果 IPv4设备根据 IPv6设备的 ACL中的 IPv6地址的剩余地址与 IPv4 设备的 ACL中的 IPv4地址来构造 IPv6地址,则在构造之前,需要事先将 IPv6 设备的 ACL中的 IPv6地址的剩余地址通知 IPv4设备, 本发明不对通知方式 作具体限定。 例如, ιρν6 设备的 ACL 中的 TSi_IPV6_ADDR_RANGE 为 3011::1.1.1.0 , 则其剩余地址为前 96 位 3011:: , 若 IPv4 设备的 ACL 中 TSi_IPV4_ADDR_RANGE为 1.1.1.0-1.1.1.255,则 IPv4设备根据剩余地址 3011:: 所构造的 IPv6地址为 3011::1.1丄0-3011::1.1.1.255。
504、 IPv4设备将该 TS载荷中的 IP地址和所构造的 IPv6地址的交集作为 协商的 TS载荷。
在本实施例中, IPv4设备将 TS载荷中的 IP地址和所构造的 IPv6地址取 交集得到的结果为 IPv6 地址。 例如 IPv4 设备可以将 TS 载荷中的 TSi_IPV6_ADDR_RANGE : 3011 ::1.1.1.0 与 所 构 造 的 IPv6 地 址 3011::1.1.1.0-3011::1.1.1.255取交集得地址 3011::1.1.1.0,作为协商的 TS载荷。 对于 IPv4设备来说, 该协商的 TS载荷表明所述 IPv4设备需要保护 TSi为 1.1.1.0的流量。 对于 IPv6设备来说, 该协商的 TS载荷表明所述 IPv6设备需 要保护 TSi为 3011::1.1.1.0的流量。
505、 IPv4设备根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间的隧道。 具体的, IPv4设备向网络设备发送第一响应报文, 其中, 第一响应报文 携带有该协商的 TS载荷, 表明 TS载荷协商成功, IPv4设备与 IPv6设备之间 的 IPSec隧道建立成功。
在本实施例中, 第一响应"¾文用于通知 IPv6设备协商的 TS载荷。在步骤
504中取交集得到的结果为 IPv6地址, IPv6设备直接将该 IPv6地址作为协商 的 TS载荷。
506、 IPv4设备通过所述隧道与 IPv6设备进行报文的传输。
具体的, IPv4设备采用传输模式通过所述隧道与 IPv6设备进行报文的传 输。本步骤具体内容请参见图 3所示实施例中步骤 306的相关记载, 这里不再 赘述。
在本实施例中, 在 IPv6设备发送的第一协商报文中携带的 TS载荷包括 IPv6设备的 ACL中的 IPv6地址。 IPv4设备接收到第一协商报文后,根据 IPv4 设备的 ACL中的 IPv4地址构造 IPv6地址。 IPv4设备将 TS载荷中的 IP地址 和所构造的 IPv6地址的交集作为协商的 TS载荷, 并根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间的隧道。 IPv4设备与 IPv6设备可以通过建立的隧道 直接传输经加密后的报文, 提高了报文在传输过程中的安全性。 图 6为本发明实施例的另一种数据通信方法流程图, 请参见图 6, 该方法 包括步骤:
601、 IPv4设备接收第一协商报文。
本步骤具体内容请参见图 5所示实施例中步骤 501中的相关记载,这里不 再赘述。
602、 IPv4设备解析第一协商报文以获取该 TS载荷中的 IP地址, 其中, 所述 TS载荷中的 IP地址为 IPv4地址。
在本发明实施例中, 由于所述 IPv6设备的 ACL中的 IPv6地址中包含有 合法的 IPv4地址, 因此, IPv6设备在发送第一协商报文时, 可以将从其 ACL 中的 IPv6地址中获取的 IPv4地址写入第一协商报文,作为 IPv6设备的 TS载 荷。 例如, IPv6 设备的 ACL 中的 TSi_IPV64_ADDR_RANGE 具体为
3011::1.1.1.0, 从中获取后 32位的 IPv4地址 1.1.1.0作为第一协商报文的 TS 载荷。
603、 IPv4设备将 TS载荷中的 IP地址和 IPv4设备的 ACL中的 IPv4地址 的交集作为协商的 TS载荷。
具体的, IPv4设备将 TS载荷中的 IP地址和 IPv4设备的 ACL中的 IPv4 地址的交集作为协商的 TS载荷。 例如, 若第一协商报文的 TS载荷 L1.1.0, IPv4设备的 ACL中 TSi_IPV4_ADDR_RANGE为 1.1.1.0- 1.1.1.255 , 则可以将 1.1.1.0与 1.1.1.0-1.1.1.255取交集得 j地址: 1.1.1.0, 夺该地址作为十办商^ J TS 载荷。对于 IPv4设备来说,该协商的 TS载荷表明所述 IPv4设备需要保护 TSi 为 1.1.1.0的流量。 对于 IPv6设备来说, 该协商的 TS载荷表明所述 IPv6设备 需要保护 TSi为 3011::1.1.1.0的流量。
604、 IPv4设备根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间的隧道。 具体的, IPv4设备可以向网络设备发送第一响应报文。 其中, 第一响应报文 携带有该协商的 TS载荷, 表明 TS载荷协商成功, IPv4设备与 IPv6设备之间 的 IPSec隧道建立成功。
在本实施例中, 第一响应报文用于通知 IPv6设备协商的 TS载荷。在步骤 603中取交集得到的结果为 IPv4地址, IPv4设备可以直接将该 IPv4地址作为 协商的 TS载荷写入第一响应 文, 也可以将该 IPv4地址转换为 IPv6地址后 写入第一响应报文。 转换方式可以由 IPv4设备根据取交集得到的 IPv4地址和 式, 并写入第一响应 4艮文中。
605、 IPv4设备通过所述隧道与 IPv6设备进行报文的传输。
具体的, IPv4设备可以采用传输模式通过所述隧道与 IPv6设备进行报文 的传输。本步骤具体内容请参见图 3所示实施例中步骤 306的相关记载, 这里 不再赘述。
在本实施例中, 在 IPv6设备发送的第一协商报文中携带的 TS载荷为从 IPv6设备的 ACL中的 IPv6地址中获取的 IPv4地址。 IPv4设备根据所述 TS 载荷中的 IPv4地址和 IPv4设备的 ACL中的 IPv4地址获取协商的 TS载荷, 并依此建立 IPv4设备与 IPv6设备之间的隧道。 并且, 由于本发明实施例中, 通过建立的隧道采用传输模式在 IPv6客户设备和 IPv4设备之间进行报文传 输, 提高了报文传输的安全性。 本发明将对一种数据通信方法进行详细说明,本实施例所述的数据通信方 法具体流程请参见图 7, 该方法从图 1所述的 IPv6设备侧进行描述, 该方法 包括如下步骤:
701、 IPv6设备接收第二协商报文。
请结合图 1 , 在本实施例中, IPv4设备为 TS协商的发起方, IPv6设备为 响应方。 其中, 第二协商报文是由 IPv4设备发送并由网络设备进行网络地址 转换后转发的。 第二协商报文中携带有 IPv4设备的 TS载荷。
702、 IPv6设备解析第二协商报文以获取该 TS载荷中的 IP地址。
在本实施例中, 第二协商报文所携带的 TS载荷中的 IP地址包括该 IPv4 设备的 ACL中的 IPv4地址, 或包括根据 IPv4设备的 ACL中的 IPv4地址构 造的 IPv6地址, 其中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 在本实施例中, IPv6设备的 ACL中的 IPv6地址是一种特殊形式的 IPv6 地址, 在该 IPv6地址的预设位置上为一合法的 IPv4地址, 而该 IPv6地址的 其它部分, 在本实施例中称为剩余地址。 剩余地址仅起到掩码、 前缀或后缀的 作用。 具体的, 由于 IPv6地址为一个 128位的地址, IPv4地址为一个 32位的 地址, 因此, 在本发明实施例中, 将 IPv6地址分为 4段, 每一段为一个 32位 的地址, 根据 IPv4对地址的的要求, 将 IPv6地址中任意一段的 32位地址配 置为一个合法的 IPv4地址, 剩余地址作为掩码、 前缀或后缀。 例如, 可以将 IPv6设备的 ACL中的 IPv6地址的后 32位配置为合法的 IPv4地址的形式。
在本发明实施例中, IPv4设备发出的第二协商报文中,可以直接携带 IPv4 设备的 ACL中的 IPv4地址, 也可以携带根据该 IPv4设备的 ACL中的 IPv4 地址构造的 IPv6地址。
703、 IPv6设备根据该 TS载荷中的 IP地址和 IPv6设备的 ACL中的 IPv6 地址获取协商的 TS载荷。
由于第二协商报文所携带的 TS载荷中的 IP地址为该 IPv4设备的 ACL中 的 IPv4地址,或者为根据该 IPv4设备的 ACL中的 IPv4地址构造的 IPv6地址, 因而, ^据 TS载荷中的 IP地址中均可以获得一个合法的 IPv4地址或 IPv6地 址, IPv6设备就能够根据这个 IP地址和 IPv6设备的 ACL中的 IP地址进行 TS协商, 以获取协商的 TS载荷。 704、IPv6设备根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧道。 在本实施例中, IPv6设备在成功获取协商的 TS 载荷后, 根据该协商的 TS载荷建立 IPv6设备与 IPv4设备之间的 IPSec隧道。
在本实施例中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 当 IPv4设备发起对 IPv6设备的 TS协商时, IPv6设备在发送的第二协商报文中 携带有 IPv4设备的流量选择 TS载荷。 TS载荷中的 IP地址包括 IPv4设备的 ACL中的 IPv4地址,或包括根据 IPv4设备的 ACL中的 IPv4地址所构造的 IPv6 地址。 通过上述操作, IPv6设备能够根据所述 TS载荷中的 IP地址和 IPv6设 备的 ACL中的 IPv6地址获取协商的 TS载荷, 并依此建立 IPv6设备与 IPv4 设备之间的隧道。 IPv6设备与 IPv4设备可以通过该隧道直接传输经加密后的 报文, 提高了报文在传输过程中的安全性。 图 8本发明实施例的另一种数据通信方法流程图, 请参见图 8, 该方法包 括步骤:
801、 IPv6设备接收第二协商报文。
请结合图 1 , 在本实施例中, IPv4设备为 TS协商的发起方, IPv6设备为 响应方。 其中, 第二协商报文是由 IPv4设备发送的, 并由网络设备进行网络 地址转换后转发的。 第二协商报文中携带有 IPv4设备的 TS载荷。 其中, IPv4 设备的 TS载荷包括 IPv4设备的流量源地址 TSi和流量目的地址 TSr。 关于协 商报文的描述可以参见图 3实施例中的相关描述。
在 本 发 明 实 施 例 中 , 定 义 一 种 新 的 TS 载 荷 类 型 TS_IPV64_ADDR_RANGE。 TS_IPV64_ADDR_RANGE 包括流量源地址 TSi_IPV64_ADDR_RANGE和流量目的地址 TSr_IPV64_ADDR_RANGE两部 分。 TS_IPV64_ADDR_RANGE类型的 TS载荷能够用于 IPv4设备与 IPv6设 备之间的 TS协商。
802、 IPv6设备解析第二协商报文以获取 TS载荷中的 IP地址, 其中, 所 述 TS载荷中的 IP地址为 IPv4地址。
在本发明实施例中, TS载荷中的 IP地址可以为 IPv4设备的 ACL中的 IPv4 地址。
803、 IPv6设备根据所述 TS载荷中的 IP地址构造 IPv6地址。
在本实施例中, 由于 TS载荷中的 IP地址为 IPv4设备的 ACL中的 IPv4 地址。 因此, IPv6设备根据所述 TS载荷中的 IP地址中构造 IPv6地址。 具体 的,由于所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址和剩余地址, 因此, IPv6设备可以根据 IPv6端设备的 IP地址中的剩余地址将第二协商报文 所携带的 TS载荷中的 IPv4地址构造为合法的 IPv6地址。
例如, IPv6 设备的 ACL 中的 TSi_IPV6_ADDR_RANGE 具体为 3011::1.1.1.0, 则其剩余地址为前 96位 3011:: , 若第二协商报文的 TS载荷中 TSi_IPV4_ADDR_RANGE具体为 1.1.1.0-1.1.1.255,则 IPv6设备根据剩余地址 3011::和 TS 载荷中的 IPv4 地址 1.1.1.0-1.1.1.255 所构造的 IPv6 地址为 3011::1.1.1.0-3011::1.1.1.255ο
804、 IPv6设备将所构造的 IPv6地址和 IPv6设备的 ACL中的 IPv6地址 的交集作为协商的 TS载荷。
在本实施例中, IPv6设备对所构造的 IPv6地址和 IPv6设备的 ACL中的 IPv6地址取交集得到的结果为 IPv6地址, 对于 IPv6设备来说, 直接将取交集 得到的 IPv6 地址作为协商的 TS 载荷。 例如, IPv6 设备的 ACL 中的 TSi_IPV6_ADDR_RANGE 地址 3011 ::1.1.1.0 能够与 所构造的地址 3011::1.1.1.0-3011::1.1.1.255取交集得到地址 3011::1.1.1.0, 作为协商的 TS载 荷。 对于 IPv4设备来说, 该协商的 TS载荷表明所述 IPv4设备需要保护 TSi 为 1.1.1.0的流量。 对于 IPv6设备来说, 该协商的 TS载荷表明所述 IPv6设备 需要保护 TSi为 3011::1.1.1.0的流量。
805、 IPv6设备根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧道。 具体的, IPv6设备可以向网络设备发送第二响应报文。 其中, 第二响应 报文携带有协商的 TS载荷, 表明 TS载荷协商成功, IPv4设备与 IPv6设备之 间的 IPSec隧道建立成功。
在本实施例中, 在步骤 804中取交集得到的结果为 IPv6地址, IPv6设备 可以将协商的 IPv6地址中的剩余地址去除, 获取 IPv4地址, 并将获取的 IPv4 地址写入第二响应报文中。 还可由 IPv6设备将 IPv6地址形式的协商的 TS载 荷直接写入第二响应报文, 再由 IPv4设备从协商的 TS载荷中获取 IPv4地址 形式的协商的 TS载荷。
806、 IPv6设备采用传输模式通过所述隧道与 IPv4设备进行报文的传输。 IPv6设备根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧道后,
IPv6设备与 IPv4设备之间采用传输模式进行报文传输。 本步骤可以参见图 3 所示实施例中步骤 306的相关记载, 这里不再赘述。
在本实施例中, 在 IPv4设备发送的第二协商报文中携带的 TS载荷包括
IPv4设备的 ACL中的 IPv4地址。 IPv6设备接收到第二协商报文后,根据 IPv6 设备的 ACL中的 IPv6地址将第二协商 文中的 IPv4地址构造为 IPv6地址。 IPv6设备构造的 IPv6地址与 ACL中的 IPv6地址的交集作为协商的 TS载荷, 并根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧道。 IPv6设备与 IPv4 设备可以通过建立的隧道直接传输经加密后的报文,提高了报文在传输过程中 的安全性。 图 9为本发明实施例的另一种数据通信方法, 请参见图 9, 该方法包括步 骤:
901、 IPv6设备接收第二协商报文。
本步骤具体内容请参见图 8所示实施例步骤 801中的相关记载,这里不再 赘述。
902、 IPv6设备解析第二协商报文以获取 TS载荷中的 IP地址, 其中, 所 述 TS载荷中的 IP地址为 IPv4地址。
具体的, 所述 TS载荷中的 IP地址为 IPv4地址可以为 IPv4设备的 ACL 中的 IPv4地址。
903、 IPv6设备从所述 IPv6设备的 ACL中的 IPv6地址中获取 IPv4地址。 由于所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址和剩余地址, 因此, IPv6设备可以从所述 IPv6设备的 ACL中的 IPv6地址中获取 IPv4地址。 例如, IPv6设备的 ACL中 TSi_IPV64_ADDR_RANGE具体为 3011::1.1.1.0, IPv6设备从中获取 IPv4地址 1.1.1.0。
904、 IPv6设备将 TS载荷中的 IP地址和所获取的 IPv4地址的交集作为协 商的 TS载荷。
在本实施例中, IPv6设备 TS载荷中的 IPv4地址和所获取的 IPv4地址取 交集得到的结果为 IPv4 地址。 例如, 若第二协商报文所携带的 TS 载荷中 TSi_IPV4_ADDR_RANGE具体为 1.1.1.0- 1.1.1.255 , 则 IPv6设备从 IPv6设备 的 ACL中的 IPv6地址 3011::1.1.1.0 中获取 IPv4地址 1.1.1.0与 TS载荷中 TSi_IPV4_ADDR_RANGE地址 1.1.1.0-1.1.1.255取交集得到的地址 1.1.1.0,作 为协商的 TS载荷。对于 IPv4设备来说,该协商的 TS载荷表明所述 IPv4设备 需要保护 TSi为 1.1.1.0的流量。 对于 IPv6设备来说, 该协商的 TS载荷表明 所述 IPv6设备需要保护 TSi为 3011::1.1.1.0的流量。
905、 IPv6设备根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧道。 IPv6设备可以向网络设备发送第二响应报文。 其中, 第二响应报文携带 有该协商的 TS载荷,表明 TS载荷协商成功, IPv6设备与 IPv4设备之间的 IPSec 隧道建立成功。 在本实施例中, IPv4设备在步骤 904 中取交集得到的结果为 IPv4地址, IPv4设备直接将该 IPv4地址作为协商的 TS载荷。
906、 IPv6设备采用传输模式通过所述隧道与 IPv4设备进行报文的传输。 本步骤具体内容请参见上一实施例步骤 806 中的相关记载, 这里不再赘 述。
在本实施例中, 在 IPv4设备发送的第二协商报文中携带的 TS载荷包括 IPv4设备的 ACL中的 IPv4地址。 IPv6设备接收到第二协商报文后, 从 IPv6 设备的 ACL中的 IPv6地址中获取 IPv4地址。 IPv6设备将从 IPv6地址中获取 的 IPv4地址与第一协商报文中的 IPv4地址的交集作为协商的 TS载荷, 并根 据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧道。 IPv6设备与 IPv4设 备可以通过双方建立的一条隧道直接传输经加密后的报文,提高了报文在传输 过程中的安全性。 图 10为本发明实施例另一种数据通信方法流程图, 请参见图 10, 包括步 骤:
1001、 IPv6设备接收第二协商报文。
本步骤具体内容请参见图 8所示实施例步骤 801中的相关记载,这里不再 赘述。
1002、 IPv6设备解析第二协商报文以获取 TS载荷中的 IP地址, 其中, 所述 TS载荷中的 IP地址为 IPv6地址。
本发明实施例中, TS载荷中的 IPv6地址为根据 IPv4设备的 ACL中的 IPv4 地址构造的 IPv6地址。 具体的, IPv4设备在发送第二协商报文时, 可以根据 常用的 IPv6地址的前 96位与 IPv4设备的 ACL中的 IPv4地址构造 IPv6地址, 或者可以根据 IPv6设备的 ACL中的 IPv6地址的剩余地址与 IPv4设备的 ACL 中的 IPv4地址来构造 IPv6地址。 IPv4设备可以将构造的 IPv6地址写入第二 协商 文, 作为 IPv4设备的 TS载荷。
1003、 IPv6设备将 TS载荷中的 IP地址和 IPv6设备的 ACL中的 IPv6地 址的交集作为协商的 TS载荷。 例如, IPv6 设备的 ACL 中的 TSi_IPV6_ADDR_RANGE 具体为 3011::1.1.1.0 , 则其剩余地址为前 96 位 3011:: , 若 IPv4 设备的 ACL 中 TSi_IPV4_ADDR_RANGE具体为 1.1.1.0-1.1.1.255 ,则 IPv4设备根据剩余地址 3011::所构造的 IPv6地址为 3011::1.1.1.0-3011::1.1.1.255, 则 IPv6设备的 ACL 中的 TSi_IPV6_ADDR_RANGE地址 3011::1.1.1.0 能够与 TS 载荷中的地址 3011::1.1.1.0-3011::1.1.1.255取交集得地址 3011::1.1.1.0,作为协商的 TS载荷。 对于 IPv4设备来说, 该协商的 TS载荷表明所述 IPv4设备需要保护 TSi为 1.1.1.0的流量。 对于 IPv6设备来说, 该协商的 TS载荷表明所述 IPv6设备需 要保护 TSi为 3011::1.1.1.0的流量。
1004、 IPv6设备根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧 道。 IPv6设备可以向网络设备发送第二响应报文。 其中, 第二响应报文携带 有协商的 TS载荷,表明 TS载荷协商成功, IPv6设备与 IPv4设备之间的 IPSec 隧道建立成功。
在本实施例中, 第二响应"¾文用于通知 IPv4设备协商的 TS载荷。在步骤 1003 中取交集得到的结果为 IPv6地址, IPv6设备可以将取交集得到的 IPv6 地址写入第二响应报文,也可以获取协商的 TS载荷中的 IPv4地址,并把获取 的 IPv4地址写入第二响应 文中。
本步骤具体内容请参见上一实施例步骤 905 中的相关记载, 这里不再赘 述。
1005、 IPv6设备采用传输模式通过所述隧道与 IPv4设备进行>¾文的传输。 在本实施例中, 在 IPv4设备发送的第二协商报文中携带有 IPv4设备的流 量选择 TS载荷。 TS载荷中的 IP地址 IPv4设备为 IPv4设备根据 IPv4设备的 ACL中的 IPv4地址构造的 IPv6地址。 IPv6设备能够根据所述 TS载荷中的 IPv6 地址和 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载荷,并能够根据协商 的 TS载荷在 IPv6设备与 IPv4设备之间建立隧道。 IPv6设备与 IPv4设备可以 通过建立的隧道采用传输模式在 IPv6客户设备和 IPv4设备之间进行报文传 输, 提高了报文传输的安全性。 图 11为本发明实施例提供的 IPv4设备的物理结构示意图,如图 11所示, 所述 IPv4设备包括:
处理器 (processor)llOl , 通信接口(Communications Interface) 1102, 存储器 (memory) 1103 , 通信总线 1104。
处理器 1101、 通信接口 1102以及存储器 1103通过通信总线 1104完成相 互间的通信。
通信接口 1102, 用于与网元通信, 比如网络设备或 IPv6设备等。
处理器 1101 , 用于执行程序 1105 , 具体可以执行上述图 2、 图 3、 图 5、 图 6所示的方法实施例中的相关步骤。
具体地, 程序 1105可以包括程序代码, 所述程序代码包括计算机操作指 令。
处理器 1101 可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ),或者是被配置成实施本发明实施例的 一个或多个集成电路。
存储器 1103 , 用于存放程序 1105。 存储器 1103可能包含高速 RAM存储 器, 也可能还包括非易失性存储器(non-volatile memory ), 例如至少一个磁盘 存储器。 可以理解的是, 存储器 320可以为 ROM、 RAM, 磁碟、 硬盘、 光盘 或者非易失性存储器等各种可以存储程序代码的非短暂性的 ( non-transitory ) 机器可读介质。
程序 1105中各功能模块的具体实现可以参见下述图 13至 16所述实施例 中的相应模块, 在此不再赘述。 图 12为本发明实施例提供的 IPv6设备的物理结构示意图,如图 12所示, 所述 IPv6设备包括:
处理器 (processor) 1201 , 通信接口(Communications Interface) 1202, 存储器 (memory) 1203 , 通信总线 1204。
处理器 1201、 通信接口 1202以及存储器 1203通过通信总线 1204完成相 互间的通信。
通信接口 1202 , 用于与网元通信, 比如网络设备或 IPv4设备等。
处理器 1201 , 用于执行程序 1205 , 具体可以执行上述图 7至 11所示的方 法实施例中的相关步骤。
具体地, 程序 1205可以包括程序代码, 所述程序代码包括计算机操作指 令。
处理器 1201 可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ),或者是被配置成实施本发明实施例的 一个或多个集成电路。
存储器 1203, 用于存放程序 1205。 存储器 1203可能包含高速 RAM存储 器, 也可能还包括非易失性存储器(non-volatile memory ), 例如至少一个磁盘 存储器。 可以理解的是, 存储器 320可以为 ROM、 RAM, 磁碟、 硬盘、 光盘 或者非易失性存储器等各种可以存储程序代码的非短暂性的 (non-transitory ) 机器可读介质。
程序 1205中各功能模块的具体实现可以参见下述图 17至 20所述实施例 中的相应模块, 在此不再赘述。 图 13为本发明实施例的一种 IPv4设备结构示意图。 IPv4设备具体结构请 参见图 13, 包括:
接收模块 1301、 解析模块 1302、 协商模块 1303和建立模块 1304。
接收模块 1301 , 用于接收第一协商报文。
在本实施例中, IPv6设备为 TS协商的发起方, IPv4设备为响应方。其中, 第一协商报文是由 IPv6设备发送,并由网络设备进行网络地址转换后转发的。 第一协商报文中携带有 IPv6设备的 TS载荷。 其中, IPv6设备的 TS载荷包括
IPv6设备的流量源地址 TSi和流量目的地址 TSr。
在 本发 明 实 施例 中 , 定 义 了 一种新 的 TS 载荷 类 型
TS_IPV64_ADDR_RANGE , TS_IPV64_ADDR_RANGE 包括流量源地址 TSi_IPV64_ADDR_RANGE和流量目的地址 TSr_IPV64_ADDR_RANGE两部 分, TS_IPV64_ADDR_RANGE类型的 TS载荷能够用于 IPv6设备与 IPv4设 备之间的 TS协商。 解析模块 1302, 用于解析第一协商报文以获取 TS载荷中 的 IP地址。
在本实施例中, 第一协商报文所携带的 TS载荷中的 IP地址包括该 IPv6 设备的 ACL中的 IPv6地址, 或包括从该 IPv6设备的 ACL中的 IPv6地址中 获取的 IPv4地址, 其中, 所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4 地址。
在本实施例中, IPv6设备的 ACL中的 IPv6地址是一种特殊形式的 IPv6 地址, 在该 IPv6地址的预设位置上为一合法的 IPv4地址, 而该 IPv6地址的 其它部分, 在本实施例中称为剩余地址。 剩余地址仅起到掩码、 前缀或后缀的 作用。 具体的, 由于 IPv6地址为一个 128位的地址, IPv4地址为一个 32位的 地址, 因此, 在本发明实施例中, 将 IPv6地址分为 4段, 每一段为一个 32位 的地址, 根据 IPv4对地址的的要求, 将 IPv6地址中任意一段的 32位地址配 置为一个合法的 IPv4地址, 剩余地址作为掩码、 前缀或后缀。 例如, 可以将 IPv6设备的 ACL中的 IPv6地址的后 32位配置为合法的 IPv4地址的形式。在 本发明实施例中, IPv6设备发出的第一协商报文中, 可以直接携带 IPv6设备 的 ACL中的 IPv6地址, 也可以只携带从该 IPv6设备的 ACL中的 IPv6地址 中获取的 IPv4地址。
协商模块 1303, 用于根据所述 TS载荷中的 IP地址和 IPv4设备的 ACL 中的 IPv4地址获取协商的 TS载荷。
由于第一协商报文所携带的 TS载荷中的 IP地址为该 IPv6设备的 ACL中 的 IPv6地址,或者为从该 IPv6设备的 ACL中的 IPv6地址中获取的 IPv4地址, 因而, ^据 TS载荷中的 IP地址中均可以获得一个合法的 IPv4地址或 IPv6地 址, IPv4设备的协商模块 1303就能够根据这个 IP地址和 IPv4设备的 ACL中 的 IPv4地址进行 TS协商, 以获取协商的 TS载荷。
建立模块 1304, 用于根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间 的隧道。
在本实施例中, IPv4设备在成功获取协商的 TS载荷后, 建立模块 1304 根据该协商的 TS载荷建立 IPv4设备与 IPv6设备之间的 IPSec隧道。
在本实施例中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 当 IPv6设备发起对 IPv4设备的 TS协商时, IPv6设备在发送的第一协商报文中 携带有 IPv6设备的流量选择 TS载荷。 TS载荷中的 IP地址包括 IPv6设备的 ACL中的 IPv6地址,或包括从 IPv6设备的 ACL中的 IPv6地址中获取的 IPv4 地址。 IPv4设备的协商模块 1303能够根据所述 TS载荷中的 IP地址和 IPv4 设备的 ACL中的 IPv4地址获取协商的 TS载荷,并由建立模块 1304依此建立 IPv4设备与 IPv6设备之间的隧道。 IPv6设备与 IPv4设备可以通过该隧道直接 传输经加密后的报文, 提高了报文在传输过程中的安全性。 图 14为本发明实施例所示的另一种 IPv4设备的结构示意图, 请参见图 14, 包括:
接收模块 1401、 解析模块 1402、 协商模块 1403和建立模块 1404以及传 输模块 1405。
协商模块 1403包括: 获取子模块 14031和第一协商子模块 14032。
接收模块 1401 , 用于接收第一协商报文。
解析模块 1402, 用于解析第一协商报文以获取 TS载荷中的 IP地址。 在本发明实施例中, IPv6设备 TS载荷中的 IP地址为 IPv6设备的 ACL 中的 IPv6地址。
协商模块 1403 , 用于根据 TS载荷中的 IP地址和 IPv4设备的 ACL中的
IPv4地址获取协商的 TS载荷。 在本发明实施例中, 协商模块 1403可以包括 获取子模块 14031和第一协商子模块 14032。 其中:
获取子模块 14031 , 用于从所述 TS载荷中的 IP地址中获取 IPv4地址。 由于第一协商 文的 TS载荷中的 IP地址为 IPv6地址, 具体可以为所述 IPv6设备的访问控制列表 ACL中的 IPv6地址。且所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 因此, 获取子模块 14031可以从 TS载荷中的 IP地址中获取 IPv4地址。
第一协商子模块 14032,用于将所获取的 IPv4地址和 IPv4设备的 ACL中 的 IPv4地址的交集作为协商的 TS载荷。
在另一种情形下, 若第一协商报文的 TS载荷中的 IP地址为 IPv6地址, 则请参见图 15, 协商模块 1403还可以包括构造子模块 14033和第二协商子模 块 14034。 其中:
构造子模块 14033, 用于根据 IPv4设备的 ACL中的 IPv4地址构造 IPv6 地址。 第二协商子模块 14034, 用于将 TS载荷中的 IP地址和所构造的 IPv6地 址的交集作为协商的 TS载荷。
在又一种情形下,若所述 TS载荷中的 IP地址为 IPv4地址,协商模块 1403 具体可以用于将 TS载荷中的 IP地址和 IPv4设备的 ACL中的 IPv4地址的交 集作为协商的 TS载荷。
建立模块 1404, 用于根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间 的隧道。
具体的, IPv4设备可以通过网络设备向 IPv6设备发送第一响应报文。 其 中, 第一响应报文携带有该协商的 TS载荷, 表明 TS载荷协商成功, IPv4设 备与 IPv6设备之间的 IPSec隧道建立成功。
传输模块 1405, 用于采用传输模式通过所述隧道与所述 IPv6设备进行报 文的传输。
IPv4设备根据协商的 TS载荷建立 IPv4设备与 IPv6设备之间的隧道后, IPv6设备与 IPv4设备之间可以通过建立的隧道采用传输模式进行报文传输。 提高了报文传输的安全性。
图 16为本发明实施例所示的一种 IPv6设备结构示意图, IPv6设备请参见 图 16, 该 IPv6设备包括:
接收模块 1701、 解析模块 1702、 协商模块 1703、 建立模块 1704。 其中, 接收模块 1701 , 用于接收第二协商报文。
在本实施例中, IPv4设备为 TS协商的发起方, IPv6设备为响应方。其中, 第二协商报文是由 IPv4设备发送,并由网络设备进行网络地址转换后转发的。 第二协商报文中携带有 IPv4设备的 TS载荷。 其中, IPv4设备的 TS载荷包括 IPv4设备的流量源地址 TSi和流量目的地址 TSr。 在本发明实施例中, 定义了 一种新的 TS载荷类型 TS_IPV64_ADDR_RANGE, TS_IPV64_ADDR_RANGE 包括 流量 源 地址 TSi_IPV64_ADDR_RANGE 和 流量 目 的 地 址 TSr_IPV64_ADDR_RANGE两部分, TS_IPV64_ADDR_RANGE类型的 TS载 荷能够用于 IPv4设备与 IPv6设备之间的 TS协商。
解析模块 1702, 用于解析第二协商报文以获取 TS载荷中的 IP地址。 在本实施例中, 第二协商报文所携带的 TS载荷中的 IP地址包括该 IPv4 设备的 ACL中的 IPv4地址, 或包括根据 IPv4设备的 ACL中的 IPv4地址构 造的 IPv6地址, 其中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。
在本实施例中, IPv6设备的 ACL中的 IPv6地址是一种特殊形式的 IPv6 地址, 在该 IPv6地址的预设位置上为一合法的 IPv4地址, 而该 IPv6地址的 其它部分, 在本实施例中称为剩余地址。 剩余地址仅起到掩码、 前缀或后缀的 作用。 具体的, 由于 IPv6地址为一个 128位的地址, IPv4地址为一个 32位的 地址, 因此, 在本发明实施例中, 将 IPv6地址分为 4段, 每一段为一个 32位 的地址, 根据 IPv4对地址的的要求, 将 IPv6地址中任意一段的 32位地址配 置为一个合法的 IPv4地址, 剩余地址作为掩码、 前缀或后缀。 例如, 可以将 IPv6设备的 ACL中的 IPv6地址的后 32位配置为合法的 IPv4地址的形式。
在本发明实施例中, IPv4设备发出的第二协商报文中,可以直接携带 IPv4 设备的 ACL中的 IPv4地址, 也可以携带根据该 IPv4设备的 ACL中的 IPv4 地址构造的 IPv6地址。
协商模块 1703 , 用于根据 TS载荷中的 IP地址和 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载荷。
由于第二协商报文所携带的 TS载荷中的 IP地址为该 IPv4设备的 ACL中 的 IPv4地址,或者为根据该 IPv4设备的 ACL中的 IPv4地址构造的 IPv6地址, 因而,从 TS载荷中的 IP地址中均可以获得一个合法的 IPv4地址或 IPv6地址, IPv6设备就能够根据这个 IP地址和 IPv6设备的 ACL中的 IPv4地址进行 TS 协商, 以获取协商的 TS载荷。
建立模块 1704, 用于根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间 的隧道。
在本实施例中, IPv6设备的协商模块 1703在成功获取协商的 TS载荷后, 建立模块 1704根据该协商的 TS载荷建立 IPv6设备与 IPv4设备之间的 IPSec 隧道。
在本实施例中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址, 当 IPv4设备发起对 IPv6设备的 TS协商时, IPv6设备在发送的第二协商报文中 携带有 IPv4设备的流量选择 TS载荷。 TS载荷中的 IP地址包括 IPv4设备的 ACL中的 IPv4地址,或包括根据 IPv4设备的 ACL中的 IPv4地址所构造的 IPv6 地址。 IPv6设备的协商模块 1703能够根据所述 TS载荷中的 IP地址和 IPv6 设备的 ACL中的 IPv6地址获取协商的 TS载荷,并由建立模块 1704依此建立 IPv6设备与 IPv4设备之间的隧道。 IPv6设备与 IPv4设备可以通过该隧道直接 传输经加密后的报文, 提高了报文在传输过程中的安全性。 图 17为本发明实施例所示的另一种 IPv6设备的结构示意图, 请参见图 17, 该 IPv6设备包括:
接收模块 1801、 解析模块 1802、 协商模块 1803、 建立模块 1804以及传 输模块 1805。 其中:
接收模块 1801 , 用于接收第二协商报文。
解析模块 1802, 用于解析第二协商报文以获取 TS载荷中的 IP地址。 在本发明实施例中, TS载荷中的 IP地址为 IPv4设备的 ACL中的 IPv4 地址。
协商模块 1803 , 用于根据 TS载荷中的 IP地址和 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载荷。 本发明实施例中, 协商模块 1803可以包括构 造子模块 18031和第一协商子模块 18032。 其中:
构造子模块 18031 , 用于根据所述 TS载荷中的 IP地址构造 IPv6地址。 在本实施例中, 由于 TS载荷中的所述 IP地址为所述 IPv4设备的访问控 制列表 ACL中的 IPv4地址, 且所述 IPv6设备的 ACL中的 IPv6地址中包含 有 IPv4地址和剩余地址, 因此, IPv6设备可以根据剩余地址将第二协商 4艮文 所携带的 TS载荷中的 IPv4地址构造为 IPv6地址 IPv6设备。
第一协商子模块 18032,用于将所构造的 IPv6地址和 IPv6设备的 ACL中 的 IPv6地址的交集作为协商的 TS载荷。
在另一种情形下,请参见图 18,若所述 TS载荷中的 IP地址为 IPv4地址, 则协商模块 1803可以包括: 获取子模块 18033和第二协商子模块 18034。
获取子模块 18033, 用于从所述 IPv6设备的 ACL中的 IPv6地址中获取 IPv4地址。
在本实施例中, IPv4设备若 TS载荷中的 IP地址为 IPv4设备的 ACL中的 IPv4地址。且所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址和剩余 地址,因此,获取子模块 18033IPv6设备可以从所述 IPv6设备的 ACL中的 IPv6 地址中获取 IPv4地址。
第二协商子模块 18034, 用于将 TS载荷中的 IP地址和所获取的 IPv4地 址的交集作为协商的 TS载荷。
在又一种情况下,若所述 TS载荷中的 IP地址为 IPv6地址,协商模块 1803 具体可以用于将 TS载荷中的 IP地址和 IPv6设备的 ACL中的 IPv6地址的交 集作为协商的 TS载荷。
在本实施例中, IPv4设备 TS载荷中的 IP地址为根据 IPv4设备的 ACL 中的 IPv4地址构造的 IPv6地址。 因此, IPv6设备可以将 TS载荷中的 IP地址 和 IPv6设备的 ACL中的 IPv6地址的交集作为协商的 TS载荷。
建立模块 1804, 用于根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间 的隧道。
具体的, IPv6设备可以通过网络设备向 IPv4设备发送第二响应报文。 其 中, 第二响应报文携带有该协商的 TS载荷, 表明 TS载荷协商成功, IPv4设 备与 IPv6设备之间的 IPSec隧道建立成功。
传输模块 1805, 用于采用传输模式通过所述隧道与所述 IPv4设备进行报 文的传输。 IPv6设备的建立子模块 1804根据协商的 TS载荷建立 IPv6设备与 IPv4设备之间的隧道后, IPv6设备与 IPv4设备之间可以通过建立的隧道采用 传输模式进行报文传输。 通过这种报文传输方式提高了报文传输的安全性。
图 19本发明实施例所示的一种数据通信系统结构示意图。 请参见图 19, 本实施例所述的数据通信系统包括: IPv6设备 2101、 IPv4设备 2102和网络设 备 2103。
其中, IPv6设备 2101、 IPv4设备 2102分别与网络设备 2103通信连接。 IPv6设备 2101与 IPv4设备 2102之间能够进行 TS协商,得到协商的 TS载荷, 并根据所述协商的 TS载荷建立二者之间的 IPSec隧道。
IPv6设备 2101 , 可以参见前述实施例的描述 IPv6设备, 这里不再赘述。 IPv4设备 2102, 可以参见前述实施例的描述 IPv4设备, 这里不再赘述。 网络设备 2103, 用于将 IPv6设备 2101发送的第一协商报文和第二响应 报文进行网络地址转换,还用于将 IPv4设备 2102发送的第二协商报文和第一 响应 "¾文进行网络地址转换。
在本实施例中, IPv6设备的 ACL中的 IPv6地址中包含有 IPv4地址。 IPv4 设备和 IPv6设备都能够发起对对端的 TS协商 IPv6设备。 在发送的协商报文 中携带有特殊的 TS载荷, TS载荷中的 IP地址可以为 IPv4地址,也可以为 IPv6 地址。接收协商报文的客户端设备能够根据协商报文中携带的 TS载荷中的 IP 地址和本端的 ACL中的 IP地址获取协商的 TS载荷, 并根据协商的 TS载荷 建立 IPv6设备与 IPv4设备之间的隧道。 IPv6设备与 IPv4设备可以通过建立 的隧道传输经加密后的报文, 提高报文在传输过程中的安全性。
需要说明的是,本发明实施例中的第一协商报文和第二协商报文只是为了 描述清楚对 IPv4设备接收的协商报文与 IPv6设备接收的协商报文的一种区 分, 并不是对协商报文的发送时序的一种限定。 同样的, 本发明实施例中的第 一响应报文和第二响应报文也只是为了描述清楚对 IPv4设备发送的响应报文 与 IPv6设备发送的响应报文的一种区分, 并不做其他的限定。
所属领域的技术人员可以清楚地了解到, 为描述的方便和筒洁, 上述描述 的设备和模块的具体工作过程, 可以参考前述方法实施例中的对应过程描述, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的设备和方法, 可 以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性的, 例 如, 所述模块的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外的划 分方式, 例如多个模块或组件可以结合或者可以集成到另一个设备中, 或一些 特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦 合或通信连接可以是通过一些通信接口, 装置或模块的间接耦合或通信连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为 模块显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者 也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全 部, 模块来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能模块可以集成在一个处理模块中, 也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块 中。 最后应说明的是, 以上各实施例仅用以说明本发明的技术方案, 而非对其 限制。

Claims

权利要求
1、 一种数据通信方法, 其特征在于, 包括:
IPv4设备接收第一协商报文, 所述第一协商报文中携带有 IPv6设备的流 量选择 TS载荷;
所述 IPv4设备解析所述第一协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv6设备的访问控制列表 ACL中的 IPv6地址, 或包括 所述 IPv6设备的 ACL中的 IPv6地址中携带的 IPv4地址, 其中, 所述 IPv6 设备的 ACL中的 IPv6地址中包含有 IPv4地址;
所述 IPv4设备根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中 的 IPv4地址获取协商的 TS载荷;
所述 IPv4设备根据所述协商的 TS载荷建立所述 IPv4设备与所述 IPv6设 备之间的隧道。
2、 根据权利要求 1 所述的方法, 其特征在于, 所述 IPv4设备根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获取协商的 TS载 荷包括:
若所述 TS载荷中的 IP地址为 IPv6地址, 则所述 IPv4设备从所述 TS载 荷中的 IP地址中获取 IPv4地址;
所述 IPv4设备将所获取的 IPv4地址和所述 IPv4设备的 ACL中的 IPv4 地址的交集作为协商的 TS载荷。
3、 根据权利要求 1 所述的方法, 其特征在于, 所述 IPv4设备根据所述
TS载荷中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获取协商的 TS载 荷包括:
若所述 TS载荷中的 IP地址为 IPv6地址,则所述 IPv4设备 ^据所述 IPv4 设备的 ACL中的 IPv4地址构造 IPv6地址;
所述 IPv4设备将所述 TS载荷中的 IP地址和所构造的 IPv6地址的交集作 为协商的 TS载荷。
4、 根据权利要求 1 所述的方法, 其特征在于, 所述 IPv4设备根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获取协商的 TS载 荷包括: 若所述 TS载荷中的 IP地址为 IPv4地址, 则所述 IPv4设备将所述 TS载 荷中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址的交集作为协商的 TS 载荷。
5、 根据权利要求 1至 4任意一项所述的方法, 其特征在于, 还包括: 所述 IPv4设备采用传输模式通过所述隧道与所述 IPv6设备进行报文的传 输。
6、 一种数据通信方法, 其特征在于, 包括:
IPv6设备接收第二协商报文,所述第二协商报文中携带有 IPv4设备的 TS 载荷;
所述 IPv6设备解析所述第二协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv4设备的 ACL中的 IPv4地址, 或包括根据所述 IPv4 设备的 ACL中的 IPv4地址构造的 IPv6地址;
所述 IPv6设备根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中 的 IPv6地址获取协商的 TS载荷, 其中, 所述 IPv6设备的 ACL中的 IPv6地 址中包含有 IPv4地址;
所述 IPv6设备根据所述协商的 TS载荷建立所述 IPv6设备与所述 IPv4设 备之间的隧道。
7、 根据权利要求 6所述的方法, 其特征在于, 所述 IPv6设备根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载 荷包括:
若所述 TS载荷中的 IP地址为 IPv4地址, 则所述 IPv6设备根据所述 TS 载荷中的 IP地址构造 IPv6地址;
所述 IPv6设备将所构造的 IPv6地址和所述 IPv6设备的 ACL中的 IPv6 地址的交集作为协商的 TS载荷。
8、 根据权利要求 6所述的方法, 其特征在于, 所述 IPv6设备根据所述
TS载荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载 荷包括:
若所述 TS载荷中的 IP地址为 IPv4地址, 则所述 IPv6设备从所述 IPv6 设备的 ACL中的 IPv6地址中获取 IPv4地址; 所述 IPv6设备将所述 TS载荷中的 IP地址和所获取的 IPv4地址的交集作 为协商的 TS载荷。
9、 根据权利要求 6所述的方法, 其特征在于, 所述 IPv6设备根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获取协商的 TS载 荷包括:
若所述 TS载荷中的 IP地址为 IPv6地址, 则所述 IPv6设备将所述 TS载 荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址的交集作为协商的 TS 载荷。
10、 根据权利要求 6至 9任一项所述的方法, 其特征在于, 还包括: 所述 IPv6设备采用传输模式通过所述隧道与所述 IPv4设备进行报文的传 输。
11、 一种 IPv4设备, 其特征在于, 包括:
接收模块, 用于接收第一协商报文, 所述第一协商报文中携带有 IPv6设 备的 TS载荷;
解析模块, 用于解析所述第一协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv6设备的 ACL中的 IPv6地址, 或包括从所述 IPv6 设备的 ACL中的 IPv6地址中携带的 IPv4地址, 其中, 所述 IPv6设备的 ACL 中的 IPv6地址中包含有 IPv4地址;
协商模块,用于根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中 的 IPv4地址获取协商的 TS载荷;
建立模块, 用于根据所述协商的 TS载荷建立所述 IPv4设备与所述 IPv6 设备之间的隧道。
12、 根据权利要求 11所述的设备, 其特征在于, 所述协商模块包括: 获取子模块, 用于若所述 TS载荷中的 IP地址为 IPv6地址, 则从所述 TS 载荷中的 IP地址中获取 IPv4地址;
第一协商子模块, 用于将所述获取子模块所获取的 IPv4地址和所述 IPv4 设备的 ACL中的 IPv4地址的交集作为协商的 TS载荷。
13、 根据权利要求 11所述的设备, 其特征在于, 所述协商模块包括: 构造子模块, 用于若所述 TS载荷中的 IP地址为 IPv6地址, 则根据所述 IPv4设备的 ACL中的 IPv4地址构造 IPv6地址;
第二协商子模块,用于将所述 TS载荷中的 IP地址和所述构造子模块所构 造的 IPv6地址的交集作为协商的 TS载荷。
14、 根据权利要求 11所述的设备, 其特征在于, 若所述 TS载荷中的 IP 地址为 IPv4地址, 所述协商模块用于将所述 TS载荷中的 IP地址和所述 IPv4 设备的 ACL中的 IPv4地址的交集作为协商的 TS载荷。
15、 根据权利要求 11至 14任一项所述的设备, 其特征在于, 还包括: 传输模块, 用于采用传输模式通过所述隧道与所述 IPv6设备进行报文的 传输。
16、 一种 IPv6设备, 其特征在于, 包括:
接收模块, 用于接收第二协商报文, 所述第二协商报文中携带有 IPv4设 备的 TS载荷;
解析模块, 用于解析所述第二协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包括所述 IPv4设备的 ACL中的 IPv4地址, 或包括根据所述 IPv4 设备的 ACL中的 IPv4地址构造的 IPv6地址;
协商模块,用于根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中 的 IPv6地址获取协商的 TS载荷, 其中, 所述 IPv6设备的 ACL中的 IPv6地 址中包含有 IPv4地址;
建立模块, 用于根据所述协商的 TS载荷建立所述 IPv6设备与所述 IPv4 设备之间的隧道。
17、 根据权利要求 16所述的设备, 其特征在于, 所述协商模块包括: 构造子模块, 用于若所述 TS载荷中的 IP地址为 IPv4地址, 则根据所述
TS载荷中的 IP地址构造 IPv6地址;
第一协商子模块, 用于将所述构造子模块所构造的 IPv6地址和所述 IPv6 设备的 ACL中的 IPv6地址的交集作为协商的 TS载荷。
18、 根据权利要求 16所述的设备, 其特征在于, 所述协商模块包括: 获取子模块,用于若所述 TS载荷中的 IP地址为 IPv4地址,则从所述 IPv6 设备的 ACL中的 IPv6地址中获取 IPv4地址;
第二协商子模块,用于将所述 TS载荷中的 IP地址和所述获取子模块所获 取的 IPv4地址的交集作为协商的 TS载荷。
19、 根据权利要求 16所述的设备, 其特征在于, 所述协商模块包括: 第三协商子模块, 用于若所述 TS载荷中的 IP地址为 IPv6地址, 则将所 述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址的交集作为协 商的 TS载荷。
20、 根据权利要求 16至 19任一项所述的设备, 其特征在于, 还包括: 传输模块, 用于采用传输模式通过所述隧道与所述 IPv4设备进行报文的 传输。
21、 一种 IPv4设备, 其特征在于, 包括:
通信接口, 用于与 IPv6设备进行通信;
处理器, 用于:
接收第一协商报文, 所述第一协商报文中携带有 IPv6设备的流量选择 TS 载荷;
解析所述第一协商 文以获取所述 TS载荷中的 IP地址, 所述 IP地址包 括所述 IPv6设备的访问控制列表 ACL中的 IPv6地址, 或包括从所述 IPv6设 备的 ACL中的 IPv6地址中携带的 IPv4地址, 其中, 所述 IPv6设备的 ACL 中的 IPv6地址中包含有 IPv4地址;
根据所述 TS载荷中的 IP地址和所述 IPv4设备的 ACL中的 IPv4地址获 取协商的 TS载荷;
根据所述协商的 TS载荷建立所述 IPv4设备与所述 IPv6设备之间的隧道。
22、 根据权利要求 21所述的设备, 其特征在于, 所述处理器用于实现: 若所述 TS载荷中的 IP地址为 IPv6地址, 则从所述 TS载荷中的 IP地址 中获取 IPv4地址;
将所获取的 IPv4地址和所述 IPv4设备的 ACL中的 IPv4地址的交集作为 协商的 TS载荷。
23、 根据权利要求 21所述的设备, 其特征在于, 所述处理器用于实现: 若所述 TS载荷中的 IP地址为 IPv6地址, 则根据所述 IPv4设备的 ACL 中的 IPv4地址构造 IPv6地址;
将所述 TS载荷中的 IP地址和所构造的 IPv6地址的交集作为协商的 TS 载荷。
24、 根据权利要求 21所述的设备, 其特征在于, 所述处理器用于实现: 若所述 TS载荷中的 IP地址为 IPv4地址, 则将所述 TS载荷中的 IP地址 和所述 IPv4设备的 ACL中的 IPv4地址的交集作为协商的 TS载荷。
25、 根据权利要求 21至 24任一项所述的设备, 其特征在于, 所述处理器 用于实现:
采用传输模式通过所述隧道与所述 IPv6设备进行"¾文的传输。
26、 一种 IPv6设备, 其特征在于, 包括
通信接口, 用于与 ιρν4设备进行通信;
处理器, 用于:
接收第二协商报文, 所述第二协商报文中携带有 IPv4设备的 TS载荷; 解析所述第二协商报文以获取所述 TS载荷中的 IP地址, 所述 IP地址包 括所述 IPv4设备的 ACL中的 IPv4地址, 或包括根据所述 IPv4设备的 ACL 中的 IPv4地址构造的 IPv6地址;
根据所述 TS载荷中的 IP地址和所述 IPv6设备的 ACL中的 IPv6地址获 取协商的 TS载荷,其中,所述 IPv6设备的 ACL中的 IPv6地址中包含有 IPv4 地址;
根据所述协商的 TS载荷建立所述 IPv6设备与所述 IPv4设备之间的隧道。
27、 根据权利要求 26所述的设备, 其特征在于, 所述处理器用于: 若所述 TS载荷中的 IP地址为 IPv4地址, 则 ^据所述 TS载荷中的 IP地 址构造 IPv6地址;
将所构造的 IPv6地址和所述 IPv6设备的 ACL中的 IPv6地址的交集作为 协商的 TS载荷。
28、 根据权利要求 26所述的设备, 其特征在于, 所述处理器用于: 若所述 TS载荷中的 IP地址为 IPv4地址, 则从所述 IPv6设备的 ACL中 的 IPv6地址中获取 IPv4地址;
将所述 TS载荷中的 IP地址和所获取的 IPv4地址的交集作为协商的 TS 载荷。
29、 根据权利要求 26所述的设备, 其特征在于, 所述处理器用于: 若所述 TS载荷中的 IP地址为 IPv6地址, 则将所述 TS载荷中的 IP地址 和所述 IPv6设备的 ACL中的 IPv6地址的交集作为协商的 TS载荷。
30、 根据权利要求 26至 29任一项所述的设备, 其特征在于, 所述处理器 用于:
采用传输模式通过所述隧道与所述 IPv4设备进行>¾文的传输。
PCT/CN2013/079268 2013-07-12 2013-07-12 一种数据通信方法、设备和系统 WO2015003379A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2013/079268 WO2015003379A1 (zh) 2013-07-12 2013-07-12 一种数据通信方法、设备和系统
CN201380001238.XA CN104509046B (zh) 2013-07-12 2013-07-12 一种数据通信方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/079268 WO2015003379A1 (zh) 2013-07-12 2013-07-12 一种数据通信方法、设备和系统

Publications (1)

Publication Number Publication Date
WO2015003379A1 true WO2015003379A1 (zh) 2015-01-15

Family

ID=52279325

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/079268 WO2015003379A1 (zh) 2013-07-12 2013-07-12 一种数据通信方法、设备和系统

Country Status (2)

Country Link
CN (1) CN104509046B (zh)
WO (1) WO2015003379A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785534A (zh) * 2022-01-06 2022-07-22 新华三技术有限公司 通信方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074038B (zh) * 2022-11-29 2023-08-22 杭州海兴电力科技股份有限公司 一种用于IPv6数据安全传输的网关系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585376A (zh) * 2003-08-20 2005-02-23 华为技术有限公司 一种地址转换方法及实现该方法的混合地址转换路由器
CN101094155A (zh) * 2007-08-02 2007-12-26 杭州华三通信技术有限公司 建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备
CN101667971A (zh) * 2009-10-13 2010-03-10 中兴通讯股份有限公司 发送、接收报文的方法、装置和系统
CN102546382A (zh) * 2010-12-08 2012-07-04 中国电信股份有限公司 IPv4overIPv6隧道中实现组播的方法和系统
CN102948121A (zh) * 2010-06-17 2013-02-27 微软公司 用于ipv4应用的4-到-6网络堆栈

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564542A (zh) * 2004-04-20 2005-01-12 清华大学 在IPv6网络上实现IPv4网络互联的隧道建立方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585376A (zh) * 2003-08-20 2005-02-23 华为技术有限公司 一种地址转换方法及实现该方法的混合地址转换路由器
CN101094155A (zh) * 2007-08-02 2007-12-26 杭州华三通信技术有限公司 建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备
CN101667971A (zh) * 2009-10-13 2010-03-10 中兴通讯股份有限公司 发送、接收报文的方法、装置和系统
CN102948121A (zh) * 2010-06-17 2013-02-27 微软公司 用于ipv4应用的4-到-6网络堆栈
CN102546382A (zh) * 2010-12-08 2012-07-04 中国电信股份有限公司 IPv4overIPv6隧道中实现组播的方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785534A (zh) * 2022-01-06 2022-07-22 新华三技术有限公司 通信方法及装置
CN114785534B (zh) * 2022-01-06 2023-10-27 新华三技术有限公司 通信方法及装置

Also Published As

Publication number Publication date
CN104509046B (zh) 2017-12-29
CN104509046A (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
JP4527721B2 (ja) トンネリングを用いたリモートlanのコネクティビティを改善するための装置及び方法
EP3096497B1 (en) Method, apparatus, and network system for terminal to traverse private network to communicate with server in ims core network
US7869446B2 (en) Optimized dynamic multipoint virtual private network over IPv6 network
JP5216014B2 (ja) 通信ネットワークにおける暗号キー管理
US9231918B2 (en) Use of virtual network interfaces and a websocket based transport mechanism to realize secure node-to-site and site-to-site virtual private network solutions
CN108769292B (zh) 报文数据处理方法及装置
US8179890B2 (en) Mobile IP over VPN communication protocol
JP4407452B2 (ja) サーバ、vpnクライアント、vpnシステム、及びソフトウェア
WO2019007209A1 (zh) 一种多路径数据传输处理方法及网络设备
WO2014040411A1 (zh) 一种数据报文处理方法、系统及设备
WO2011140843A1 (zh) 一种报文转发的方法、装置及系统
CN107306198B (zh) 报文转发方法、设备和系统
KR20140099598A (ko) 모바일 vpn 서비스를 제공하는 방법
WO2011032447A1 (zh) 新网与互联网互通的实现方法、系统及通信端
JP7395455B2 (ja) 転送装置、鍵管理サーバ装置、通信システム、転送方法及びプログラム
US20230156468A1 (en) Secure Communication Method, Related Apparatus, and System
JP2011176395A (ja) IPsec通信方法およびIPsec通信システム
US9419891B2 (en) Virtual private network communication system, routing device and method thereof
JP5002830B2 (ja) 通信モジュール、通信方法、通信プログラム、通信端末、および通信制御装置
WO2006081776A1 (fr) Méthode de communication et dispositif de protocole de liaison local différent
WO2015003379A1 (zh) 一种数据通信方法、设备和系统
JP2010283762A (ja) 通信経路設定装置、通信経路設定方法、プログラム、及び記憶媒体
WO2014067065A1 (zh) 实现隧道处理的方法、装置和系统
JP2008236275A (ja) 通信システム、パケット転送処理装置及びそれらに用いる通信セッション制御方法
JP2008199497A (ja) ゲートウェイ装置および認証処理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13888977

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13888977

Country of ref document: EP

Kind code of ref document: A1