WO0131888A1

Method and system for dual-network address utilization by virtual tunneling

Abstract

A method and system for dual network address utilization. The methods and system described herein may help the transition from Internet Protocol version-4 ("IPv4") networks to Internet Protocol version-6 ("IPv6") networks. Dual address allocation on IPv4 (50) and/or IPv6 (88) network addresses is provided via a dual protocol stack. Network devices may communicate with legacy IPv4 networks while using IPv6 network addresses on an IPv6 network for local communications. IPv6 (122) over IPv4 (120) remote virtual tunnels are used to allow network devices using IPv6 network addresses on a local IPv6 network to communicate with remote IPv6 networks over IPv4 public networks (e.g., the Internet). IPv4 (130) over IPv6 (128) local virtual tunnels may be used to allow network devices to using IPv4 network addresses on a local IPv6 network to communicate with remote IPv4 public networks. The IPv4 addresses allocated include IPv4 addresses that may be allocated and used for Distributed Network Address Translation ("DNAT") and/or the Realm Specific Internet Protocol ("RSIP"). The method and system can be used with virtually any set of networks that requires transitions between X-bit and Y-bit network addresses and dual network address utilization.

WO0131888A1, drawing sheet 1
Sheet 1 of 7

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

24 claims: 3 independent, 21 dependent

  1. 1
    WE CLAIM:1. A method for dual network address utilization, comprising the steps of: receiving an data packet in a dual protocol stack on a first network device on a local first network for a second network device on a remote second network, wherein the local first network uses X-bit network addresses, the remote second network uses X-bit network addresses and the local first network is connected to the remote second network by a third network that uses Y-bit network addresses;determining from the dual protocol stack whether the data packet will use an X-bit network address, and if so, selecting a first portion of the dual protocol stack including networking protocols using X-bit network addresses, adding a header with an X-bit network addresses to the data packet, transmitting the data packet to a local virtual tunnel gateway on the local first network using the X-bit network addresses, wherein the local virtual tunnel gateway adds a remote virtual tunnel header with Y-bit network addresses and transmits the data packet to the second network device on the remote second network over a remote virtual tunnel via the third network that uses Y-bit network addresses;determining from the dual protocol stack whether the data packet will use an X-bit network addresses, and if not, selecting a second portion of the dual protocol stack including networking protocols using Y-bit network addresses, adding a header with a Y-bit addresses to the data packet, adding a local virtual tunnel header with X-bit network addresses to the data packet, transmitting the data packet to the virtual tunnel gateway over a local virtual tunnel using the X-bit network addresses in the virtual tunnel header, removing the X-bit tunnel header on the local virtual tunnel gateway, and transmitting the data packet from the local virtual tunnel gateway on the local first network to the second network device on the remote second network over the third network using the Y-bit network addresses in the data packet.
  2. 14
    A dual network address utilization system, comprising in combination:a dual protocol stack, wherein the dual protocol stack includes a first portion for networking protocols using X-bit network addresses and a second portion for networking protocols using Y-bit network addresses;a plurality of network devices including the dual protocol stack;a local network using X-bit network addresses;a remote network using X-bit network addresses;an intermediate network using Y-bit network addresses;a virtual tunnel gateway for adding a remote tunnel header for a remote virtual tunnel for a data packet with a header including X-bit network addresses sent from a local network device on a local network using X-bit network addresses across an intermediate network using Y-bit network addresses to a remote network device on a remote network using X-bit network addresses for removing a local tunnel header including X-bit network addresses for a data packet with a header including Y-bit network addresses, and for transmitting the data packet with the header including Y- bit network address across the intermediate network using Y-bit network addresses.
  3. 19
    A method for dual network address utilization, comprising the steps of:receiving an data packet in a dual Internet Protocol stack on a first network device on a local Internet Protocol network for a second network device on a remote Internet Protocol network, wherein the local Internet Protocol network uses 128-bit Internet Protocol version-6 addresses, the remote second network uses 128-bit Internet Protocol Network addresses and the local Internet Protocol network is connected to the remote Internet Protocol network by a third Internet Protocol network that uses 32-bit Internet Protocol addresses;determining from the dual Internet Protocol stack whether the data packet will use a 128-bit Internet Protocol version-6 address, and if so, selecting a first portion of the dual Internet Protocol stack using 128-bit Internet Protocol version-6 addresses, adding a header to the data packet including a 128-bit Internet Protocol version-6 network addresses, transmitting the data packet to a local virtual tunnel gateway on the local Internet Protocol network using the header with 128-bit Internet Protocol version-6 network addresses, wherein the local virtual tunnel gateway adds a remote virtual tunnel header including 32-bit Internet Protocol version-4 network addresses and transmits the data packet to the second network device on the remote Internet Protocol network over a remote virtual tunnel via the third Internet Protocol network that uses 32-bit Internet Protocol version-4 addresses;determining from the dual Internet Protocol stack whether the data packet will use a 128-bit Internet Protocol version-6 address, and if not, selecting a second portion of the dual Internet Protocol stack using 32-bit Internet Protocol version-4 addresses, adding a header to the data packet including 32-bit Internet Protocol version-4 network addresses, adding a virtual tunnel header to the data packet including 128-bit Internet Protocol version-6 network addresses, transmitting the data packet in a local virtual tunnel to the local virtual tunnel gateway using the 128-bit Internet Protocol addresses version-6 in the virtual tunnel header, removing the virtual tunnel header with the 128-bit Internet Protocol addresses version-6 on the local virtual tunnel gateway, and transmitting the data packet from the local virtual tunnel gateway on the local Internet Protocol network to the second network device on the remote Internet Protocol network over the third Internet Protocol network using the 32-bit Internet Protocol version-4 addresses in the data packet.