2011 IEEE International Symposium on Network Computing and Applications
IPv4+6
Yongmao ReQ, Hualin Qian, Yuepeng E, Jun Li, Jingguo Ge
Computer Network Information Center, Chinese Academy of Sciences
Beijing, China
{renyongmao, eyp, jlee, gejingguo}@cstnet.cn, hlqian@cnic.cn
Zone) RIB size growth problem today can potentially be
exacerbated by IPv6’s much larger address space [1].
Abstract— The routing scalability and IP address exhaustion are
two significant issues the current Internet faces. The
“locator/identifier (Loc/ID) split” has become a well recognized
design principle for future Internet architectures that make
Internet routing more scalable. In this paper, a novel Loc/ID split
routing and addressing architecture called IPv4+6 is proposed. It
not only solves the routing scalability problem but also expands
the IP address space. It is easy to deploy, which only needs to
make simple changes on DNS and gateway router.
Keywords-Routing
Scalability;
Address
Locator/identifier split; Architecture; Protocol
I.
In this paper, we propose a novel Loc/ID split routing and
addressing architecture called IPv4+6. As far as we know, it is
the first time to consider the routing scalability issue and the
address space exhaustion issue together. The IPv4+6
architecture not only solves the routing scalability problem, but
also makes full use of existing both IPv4 and IPv6 address
space, which effectively solves the IPv4 address space
exhaustion problem. It is easy to deploy, which only needs to
make some simple changes on DNS and gateway router.
exhaustion;
This paper is organized as follows. Firstly, Sect. II
describes IPv4+6 architecture in detail. And, Sect. III and Sect.
IV present its performance and deployment. Then, in Sect. V,
the related work and their comparison with IPv4+6 are
introduced. Finally, Sect. VI concludes this work.
INTRODUCTION
The current Internet routing and addressing architecture
combines two functions: Routing Locators (RLOCs), which
define “where” a device is, and Endpoint Identifiers (EIDs),
which define “who” the device is, in a single numbering space,
namely the IP address. At the Internet Architecture Board
(IAB)’s October 2006 Routing and Addressing Workshop,
participants concluded that the so-called “locator/identifier
overload” of the IP address semantics is one of the causes of
the routing scalability problem and a “split” seems necessary to
scale the routing system [1]. This IAB workshop renewed
interest in the design of a scalable routing and addressing
architecture for the Internet. Since then, the “locator/identifier
(Loc/ID) split” has become a well recognized design principle
for future Internet architecture. Several meaningful Loc/ID
split architectures have been proposed, such as Six/One [2],
LISP [3], ILNP [4], HIP [5], etc.
II.
The basic idea of IPv4+6 is as follows. The whole Internet
is divided into two parts: the backbone network and the user
networks. In the backbone network, IPv4 address is used as
RLOC for routing. In the user networks, ideally, IPv6 address
is used as EID, and, considering the compatibility, IPv4
address can be used as EID too.
The following sections will give the details.
A. Network Model
Figure 1 shows the simplified IPv4+6 network model,
including one backbone network and two user networks. The
two IPv4 addresses of two edge ports of the backbone network
are denoted by Loc-A and Loc-B respectively. Two gateways
RMT-A and RMT-B are installed for the two user networks.
The host IP addresses of user networks are denoted by EID-A
and EID-B respectively. Some basic concepts are explained as
follows.
1) EID. One EID (Endpoint Identifier) represents the
identifier of one host in user network. It is globally unique.
For compatibility with existing network and avoiding change,
it is named by IP address. And, because of the large address
space of IPv6, IPv6 address is recommended for EID.
Considering the current network status, IPv4 address can be
used as EID too.
2) RLOC. The Routing Locator (RLOC) represents the
location of user network. Specifically, one RLOC represents
one access point of user network in the backbone network.
It is well known that the exhaustion of the IPv4 address
space is one of the greatest challenges the current Internet faces.
As an expedient measure, the Network Address Translators
(NAT) [6] has been introduced. Unfortunately, NAT generally
breaks any upper-layer protocol that embeds the IP address
inside the protocol, such as FTP [7].
IPv6 [8] has much larger address space than IPv4, and has
been recognized to be an effective solution to the exhaustion of
the IPv4 address space. In 1994, the IETF selected IPv6 as the
next generation of the Internet Protocol. IPv6 has already been
practically deployed in some countries like China. IPv6 has
huge address space, but its design does not consider the Loc/ID
split issue. Due to the increased IPv6 address size over IPv4, a
full immediate transition to IPv6 is estimated to lead to the RIB
(Routing Information Base) and FIB (Forwarding Information
Base) sizes increasing by a factor of about four. In the absence
of a scalable routing strategy, the rapid DFZ (Default Free
This work was supported in part by the National Development and
Reform Commission of China under Grant No. [2010]1634 and the Scientific
Research Fund for the winner of President Award of Chinese Academy of
Sciences.
978-0-7695-4489-2/11 $26.00 © 2011 IEEE
DOI 10.1109/NCA.2011.53
THE IPV4+6 ARCHITECTURE
306
can be one or more B records corresponding to one or more
links from user network to upper ISPs (multi-homing).
That means, if one user network has multiple ISPs, namely it
has multiple up link access points in the backbone network, it
can has corresponding multiple RLOCs. This function
provides the convenience for multi-homing. In the backbone
network, RLOC is used for routing. RLOC is named by IPv4
address, so the current backbone network does not need to
make any change.
The hosts in the user network configure their recursive
domain name servers (resolvers) pointing to the RMT gateway
of this user network. When a user host wants to initiate
communication, it firstly needs to look up the correspondent
host’s domain name. The RMT is responsible for recursively
resolving and returning result to user host. A key characteristic
is: when RMT returning resolved result to user host, it detains
record B. There is no difference between the resolved result
gotten by user host and the current Internet. Thus, any device in
user network does not know the existing of RMT and does not
know what changes in DNS system as well. This characteristic
guarantees that user network does not need to make any change
in the new architecture and also provides base for mobile and
multi-homing connection of user network.
Backbone Network
IPv4
Loc-A
Loc-B
RMT-A
RMT-B
User Network A
IPv6
Host AˈEID-A
User Network B
IPv6
The RMT gateway executes mapping function. It saves the
resolved destination record A6 and B into a mapping table
(mapping database). RMT is responsible for dynamic
generation, lookup and update of this mapping table, forming a
mapping system.
Host BˈEID-B
Figure 1. IPv4+6 Network Model
C. Encapsulation
When passing through RMT, the original data packet sent
out from user network will be encapsulated with an outer IPv4
packet header, whose destination address is the RLOC address
contained in the correspondent’s B record saved in mapping
system and source address is the RLOC address of this local
user network. Both of the two RLOC addresses lie in the IPv4
address space. In order to let RMT judge this encapsulation
header more easily, the protocol type field is set to a wellknown number assigned by IANA, called IPv4+6 tag.
3) RMT gateway. A special gateway device is set up at the
joining point between the backbone network and each user
network. It mainly has three functions: (1) domain name
resolver (namely the recursive server in DNS system); (2)
Loc/ID mapping system; (3) encapsulation and decapsulation.
For convenience, it is called RMT gateway, which is the
acronym for the three functions: Resolver, Mapping, and
Tunneling.
4) Map-and-encap. There are two basic approaches to
implement the Loc/ID split: map-and-encap and address
rewriting. IPv4+6 adopts the map-and-encap scheme. When a
source sends a packet to the EID of a destination outside of the
source user network, the packet traverses the user network to a
RMT gateway router. The RMT gateway maps the destination
EID to a RLOC that corresponds to an access point of the
destination user network, and encapsulates the packet by using
the RLOC addresses as the source and destination address in
the encapsulation header.
D. Communication Process
Suppose host A in user network A initiates communication
with host B in user network B, the communication process is
illustrated as figure 2.
User network A
Host A
DNS root &
top-level server
RMT-A
Query host B addr
User network B
Backbone network
Authoritative
server in UN-B
RMT-B
Host B
Query host B addr
Ask Authoritative
Server in UN-B
B. Loc/ID Mapping System
IPv4+6 adopts the existing DNS system to realize the
Loc/ID mapping mainly by adding a new record in DNS.
Query host B addr
Host B’s addr is EID-B with Loc -B
Host B’s addr
Mapping
is EID-B
In zone file of DNS, except current record A6, a kind of
new resource record (supposed to be called record B) is added.
As the same as record A6, the record B also belongs to IP
address type. The Record A6 denotes the ID of communication
device in user network (namely EID in Fig.1). In order to keep
EID routable in user network and do not change any current
protocol of user network, IP address is used as EID. So, record
A6 is the current record A6 of DNS. Record B denotes
corresponding Loc IP address of backbone network. While
resolving domain name, the authority server returns record A6
and B to the recursive server. In one DNS registration, there
EID-A->EID-B
Mapping if needed
Encapsulating
Loc-A -> Loc-B [EID-A -> EID-B]
Decapsulating
EID-A->EID-B
EID-B-> EID-A
Time
Loc-B -> Loc-A [EID-B -> EID-A]
Encapsulating
Decapsulating
EID-B-> EID-A
Figure 2.
307
Communication time sequence of IPv4+6
1) Host A looks up host B’s domain name through RMT-A.
a) looking up the mapping database, and gets the EID-B’s
corresponding Loc-B.
Compared with the current Internet, it is very easy for the user
networks to change access point or change the uplink ISP
(Internet Service Provider). It only needs to change the DNS
registering information without needing to change IP address.
5) Mobility. Because the EID is globally unique, after
migration, it only needs to change DNS information, and does
not need to allocate a new EID number.
6) Security. Because the user host does not know the
Locator information, it does not know the router address. Thus,
the DoS attacks to routers in backbone network will be
reduces greatly.
b) using Loc-B and Loc-A as the encapsulation header’s
destination address and source address respectively and makes
tunnel encapsulation. The encapsulated data packet is delivered
to the edge router of the backbone network.
It is easy to deploy a pure IPv4+6 network. It only needs to
modify the gateway of user networks to realize the RMT
functions and add a B record in DNS.
2) The recursive server RMT-A gets host B’s A6 record
value EID-B and B record value Loc-B. It returns EID-B to
host A, and saves Loc-B and EID-B into the mapping database.
3) Host A sends a normal IP packet, whose destination
address is EID-B and source address is EID-A.
4) RMT-A receives the original data packet, and makes the
following operations:
IV.
5) The backbone network delivers the data packet to RMTB by using the Loc-B and Loc-A in the encapsulation header
For current Internet, during the process of transition to
IPv4+6, the IPv4+6 networks should be able to communicate
with non-IPv4+6 networks. There are two types of
communications discussed as follows.
6) RMT-B receives the data packet, and makes the
following operations:
IPv4+6 initiates communication to non-IPv4+6. When user
host EID-A in IPv4+6 network initiates communication, the
first step is starting DNS name resolution through RMT
gateway. If the RMT gateway finds there is no B record in the
domain name record of the correspondent EID-B, it uses
NULL value to indicate the RLOC of EID-B and saves into the
mapping database. For data packets received from user host,
the RMT gateway looks up the mapping database, if it finds the
correspondent’s RLOC is NULL, it makes no encapsulation
and only needs to forward the original data packet.
a) saving the parameters like EID-A and Loc-A into the
mapping database and its local cache.
b) decapsulating the encapsulation header, and delivering
the original data packet to host B by EID-B in the original
packet header.
For the data packets returning from host B to host A,
exchange the source address and destination address of the
received data packets, namely use EID-A and EID-B as
destination address and source address respectively to assemble
data packet. The other process is the same with the above.
Non-IPv4+6 initiates communication to IPv4+6. Suppose
host EID-B in non-IPv4+6 network initiates communication to
host EID-A in IPv4+6 network. Host EID-B has no RMT
gateway to deal with B record, so it only uses A6 record to
send packets and ignores the B record. When the RMT
gateway in IPv4+6 network receives this packet, it should
judge whether the communication is initiated from IPv4+6 or
non-IPv4+6. The simplest method is to analyze the packet
header of the first arrived packet (If there is no corresponding
mapping entry, it means that this is a new communication
initiated by the correspondent). If the protocol type field of IP
header does not have a IPv4+6 tag, the RMT gateway sets LocB to NULL, and the other process is the same as described in
the above paragraph.
For communication in the same user network, since no
routing forward is needed, no any change is needed. So, it is
not discussed any more.
III.
DEPLOYMENT AND TRANSITION
DISCUSSION
Compared with the current Internet architecture, IPv4+6
has the following advantages:
1) Scalability. For the current Internet, one user network
may have multiple address prefixes, PI (Provider Independent)
addresses, and temporarily moved IP addresses. IPv4+6 adopts
one locator address to represent one user network, which will
reduce the routing table size of backbone network immensely.
2) Enlarged address space. IPv4+6 enlarges the current
Internet IPv4 address space to both IPv4 and IPv6 two address
space. For the current Internet, the backbone network and user
networks share the same address space. IPv4+6 splits the
backbone network and user network. The IPv4 address space
is very large for backbone network, and IPv6 address space is
also very large for user network.
3) Easy deployment. It only needs to modify the gateway
router and add a record in DNS.
4) Multi-homing. After splitting ID and Locator, the user
host does not know and in fact does not need to know the
information of Locator accessing into the backbone network.
Thus, IPv4+6 network can co-exist with the current
network. But, when the IPv4+6 network communicates with
non-IPv4+6 network, the EID should be routable. So, the EID
prefixes needs to be announced to DFZ, which will havoc one
of the primary goals of IPv4+6 – to reduce global routing
system state. This is similar with LISP. So, for solutions to
reduce such impact, like LISP’s proxy xTR and LISP-NAT,
proxy RMT gateways or IPv4+6-NAT may be used. The
communication between IPv4+6 network and non-IPv4+6
network needs further exploration.
308
V.
RELATED WORK
used for public address realm and the other for private address
realm. The public address selects the address realm, while the
private address selects the node inside the realm. Because
during the whole communication process, two groups of IPv4
addresses are used, all the terminal hosts also need to be
modified except changing the gateway. Compared with
IPv4+4, DIPSA and IPv4+6 can keep the hosts unchanged
while extending the address space.
As for IPv6, it only enlarges address space and has no
consideration on Loc/ID split. It still has not solved the related
issues like routing scalability, mobility and multi-homing.
Moreover, if the whole Internet uses IPv6, the routing
scalability issue will become much heavier than IPv4. As for
the transition solutions from IPv4 to IPv6, they only consider
how to transit from IPv4 to IPv6, and their ultimate purpose is
realizing the complete deployment of IPv6. Compared with
IPv6 and the transition solutions, IPv4+6 not only enlarges
address space, but also realizes Loc/ID split. Its ideal
deployment is the backbone network uses IPv4 and the user
networks use IPv6.
Here, the IPv4+6 architecture is compared with other
related architectures which are aimed to solve the routing
scalability issue or IPv4 address exhaustion issue.
The Locator Identifier Separation Protocol (LISP) [3] is a
kind of noted Loc/ID split architecture. IPv4+6 is different
from LISP. First, IPv4+6 not only realizes the Loc/ID split but
also enlarges the IP address space. Second, it uses DNS-based
mapping system, which is simpler and more efficient than
LISP’s mapping system LISP-ALT (LISP-AlternativeTopology) [9]. LISP-ALT uses BGP to find a particular EIDto-RLOC mapping, EID prefixes should be routable in the
ALT logical topology, which brings in new scalability issue
just like the original routing scalability issue. In LISP, the
mapping lookup is started by intermediate node (gateway
router). In this case, packets are already on the way when the
RLOC information needs to be added. When the mapping
information is not yet available at this node, the subsequent
packets will be cumulated or dropped. This is a special
challenge. In IPv4+6, its hierarchical DNS-based mapping
system is simple and scalable. And, the mapping lookup is
initiated by the end host at the meantime when it initiates DNS
lookup. So, it does not have the packet drop issue.
As mentioned in Sec. I, NAT is a kind of coping mechanism
for address exhaustion problem. Although NATs have already
been widely used, it still has a number of practical drawbacks.
For example, NATs prevent IP level end-to-end security,
reduce robustness, break a number of application level
protocols, complicate the network and inhibit some novel uses
of the Internet (e.g., such as peer-to-peer networking).[10]
And, there is single direction communication issue. The host
out of the NAT network can not initiate connection to the host
with a private IP address in the NAT network. For instance, a
host in NAT network can not be used as a server.
The Dual IP Address Spaces Architecture (DIPSA) [11]
also aims at the scalability issue and address exhaustion issue.
It separates the backbone network and user network. The
backbone network has a whole IPv4 address space, and each
user network has a whole IPv4 address space independently.
DIPSA realizes the Loc/ID split and enlarges the IP address
space immensely. Compared with LISP, in DIPSA network,
EID is not globally unique, but only unique in local user
network, which enlarges address space. Moreover, DIPSA
uses DNS based mapping system, which is simpler and more
efficient than LISP. Compared with NAT, DIPSA can use the
combination of RLOC+EID to uniquely identify a host. But
since the EID is only unique in local user network, like the
private address in NAT network, applications which have EID
information at the application layer still can not be used unless
modifying the EID into RLOC+EID. Compared with NAT and
DIPSA, in IPv4+6, EID is globally unique, there is no such
problem.
IPv4+4 [10] architecture aims to extend IPv4 address space.
It builds on the existence of NAT and private address realms.
It uses two groups of IPv4 addresses at the same time. One is
VI.
CONCLUSION
In this paper, we defined IPv4+6, a new architecture aimed
to realize Loc/ID split and enlarge IP address space. IPv4+6
separates the Internet into backbone network and user
networks. The backbone network uses IPv4 address space and
the user networks use IPv6 address space. Encapsulation is
used as the main tool to maintain backward compatibility with
current network. And, the DNS based mapping system is
simple and efficient. IPv4+6 makes full use of existing
network status and makes changes as few as possible. It is
easy to deploy, which only needs to make simple changes on
DNS and gateway router. IPv4+6 is still work in progress, and
its transition and implementation needs further exploration.
REFERENCES
[1]
D. Meyer, L. Zhang, K. Fall, “Report from the IAB Workshop on
Routing and Addressing,” RFC 4984, September 2007.
[2] C. Vogt, “Six/One: A solution for routing and addressing in IPv6,”
Internet draft: draft-vogt-rrg-six-one-02, 2007.
[3] D. Meyer, “The locator identity separation protocol (LISP),” The
Internet Protocol Journal, 2008,11(1):2336
[4] Randall Atkinson,Saleem Bhatti,Stephen Hailes. “ILNP: mobility, multihoming, localised addressing and security through naming,”
Telecommun Syst (2009) 42: 273–291
[5] Andrei Gurtov and Miika Komu, “Host Identity Protocol:
Identifier/Locator Split for Host Mobility and Multihoming,” The
Internet Protocol Journal, Vol.12,No.1, pp.27-32,2009
[6] Srisuresh, P. and M. Holdrege, “IP Network Address Translator (NAT)
Terminology and Considerations,” Internet RFC2663, August 1999.
[7] M. Holdrege, P. Srisuresh, “Protocol Complications with the IP Network
Address Translator,” Internet RFC 3027, January 2001
[8] S. Deering, R. Hinden, “Internet Protocol, Version 6 (IPv6)
Specification,” Internet RFC 2460, December 1998.
[9] V. Fuller., et al., "LISP Alternative Topology (LISP+ALT)," draft-ietflisp-alt-05.txt, 2010
[10] Z. Turanyi, A. Valko. "IPv4+4",In the Proceedings of the 10 th IEEE
International Conference on Network Protocols (ICNP’02), 2002
[11] QIAN Hua-Lin, E Yue-Peng, GE Jing-Guo, REN Yong-Mao, and You
Jun-Ling. “Dual IP Address Spaces Architecture,” accepted by the
Journal of Software. (In Chinese with English abstract)
309