2 BACKGROUND
Changing the current Internet architecture is a quite
hot topic, and it has been that for some years
already. The topic has been discussed in various
papers, including the New Arch paper (Braden,
2000) and the Plutarch paper (Crowcroft, 2003).
There are many issues with the current architecture
that have helped to recognize the need for a change.
Maybe the most recognized issues include the lack
of support for security by the IP protocol, address
space depletion, the heavy load on routers and the
overloading of the IP address to serve as both
identifier and locator. Additionally, mobile hosts are
becoming more common which adds demand for an
always better mobility solution.
To some of the aforementioned problems there
are already working solutions; users who want
security can utilize one of the many available
security solutions e.g. IPsec, PGP, SSH or TLS. The
utilization of the IPv4 address space has been
improved with the help of Classless Inter-Domain
Routing (CIDR). Also mobility is possible in the
current Internet. Routers are heavily burdened
because the size of the IPv4 address does not allow
for much address aggregation. IPv6, with its four
times bigger address size compared to IPv4, will
improve the possibility for address aggregation.
However, there is still no widely deployed method
that provides an identifier-locator split.
2.1 Why do we need a change
So what is the big deal with using the IP address
both as an identifier and a locator? The problem can
be spotted by examining how the IP address behaves
when a host is changing its topological position in a
network, while remembering what qualities are
necessary for an identifier and a locator respectively.
Consider a host with the IP address IP
A
. The locator
of the host, i.e. the information used to route packets
to the host, is the IP address IP
A
. The same
information is used to identify the host. If the host
moves to another topological position the host has to
change its address to the new address IP
A
'. When a
host now wants to send packets to this host the new
IP address, IP
A
', is used to route the packets to the
host. This means that the locator has changed to
match the current location of the host, which is
exactly how a locator should function. However,
since the IP address serves as both an identifier and
a locator the host has now been assigned a new
identifier. This change is not welcome since having
an identifier that can change frequently makes the
identifier useless except for the short timeframe that
it stays constant. A true identifier should stay
constant, if not forever, at least for a very long time,
in the range of years.
Because the notion of an identifier is used in the
Internet, it should also fill the requirements set for
an identifier. Namely that it is constant and uniquely
identifies a host regardless of where in the network
the host is located. This makes the IP address an
unfit candidate for an identifier. What is needed is
another coexistent address space, actually an
``identifier space'', from which hosts are assigned an
identity. Another possibility could be something
along the lines of what was suggested in the GSE
proposal (Crawford, 1999); part of the IP address is
used for identifying the host while the rest is used as
a locator for the host. In this case the identifier part
has to stay constant when the host moves in the
network and updates the locator part to match the
current location of the host.
2.2 The HIP solution
The Host Identity Protocol is one of the new designs
that, amongst other things, target the identifier-
locator split. In addition, HIP also provides security,
mobility and multi-homing. All the features
provided by HIP are based on the solution for the
identifier-locator split.
HIP separates the identifier from the locator by
introducing a new name space for identifiers. The
entities in that set are called Host Identities (HI) and
are of variable length. A HI is the public key of an
asymmetric key-pair, which is used to provide
security in HIP. Because the HIs are of variable
length it is difficult to use them as such in HIP, so
instead a 128-bit hash over the HI, called a Host
Identity Tag (HIT), is used. When operating in an
IPv4 network a 32-bit hash over the HI, a Local
Scope Identifier (LSI), is used. Because of its length,
the LSI cannot be considered to be globally unique.
When a HIP enabled host sends a packet to another
HIP enabled host the packet is sent to a HIT, or an
LSI respectively, but the packet is transported using
the locator i.e. the IP address.
The use of HITs and LSIs is made possible by
introducing a new layer to the IP-stack. The HIP-
layer finds its place between the internetworking
layer and the transport layer, and is sometimes
referred to as layer 3,5. At the layers above the HIP-
HOST IDENTITY PROTOCOL PROXY
223