In this paper we explore various network layer concepts that pertain to
the design of mobile networking systems. We show that mobility is
essentially an {\em address translation} problem and is best resolved at
the network layer. We have identified the fundamental services that must
be supported at the network layer to carry out the task of address
translation. Using these service primitives as building blocks, we propose
a network layer architecture which enables smooth integration of mobile
end systems within the existing Internet. The architecture is modularized
into well-defined logical components. In this paper our objective is not
to propose {\em a specific scheme} for supporting mobility, rather it is
to highlight and analyze the essential aspects of supporting mobile
end-systems, as well as to better understand the trade-off between various
design alternatives.
(Also cross-referenced as UMIACS-TR-95-117