%!PS-Adobe-3.0
%%BoundingBox: (atend)
%%Pages: (atend)
%%PageOrder: (atend)
%%DocumentFonts: (atend)
%%Creator: Frame 4.0
%%DocumentData: Clean7Bit
%%EndComments
%%BeginProlog
%
% Frame ps_prolog 4.0, for use with Frame 4.0 products
% This ps_prolog file is Copyright (c) 1986-1993 Frame Technology
% Corporation. All rights reserved. This ps_prolog file may be
% freely copied and distributed in conjunction with documents created
% using FrameMaker, FrameBuilder and FrameViewer as long as this
% copyright notice is preserved.
%
% Frame products normally print colors as their true color on a color printer
% or as shades of gray, based on luminance, on a black-and white printer. The
% following flag, if set to True, forces all non-white colors to print as pure
% black. This has no effect on bitmap images.
/FMPrintAllColorsAsBlack false def
%
% Frame products can either set their own line screens or use a printer's
% default settings. Three flags below control this separately for no
% separations, spot separations and process separations. If a flag
% is true, then the default printer settings will not be changed. If it is
% false, Frame products will use their own settings from a table based on
% the printer's resolution.
/FMUseDefaultNoSeparationScreen true def
/FMUseDefaultSpotSeparationScreen true def
/FMUseDefaultProcessSeparationScreen false def
%
% For any given PostScript printer resolution, Frame products have two sets of
% screen angles and frequencies for printing process separations, which are
% recomended by Adobe. The following variable chooses the higher frequencies
% when set to true or the lower frequencies when set to false. This is only
% effective if the appropriate FMUseDefault...SeparationScreen flag is false.
/FMUseHighFrequencyScreens true def
%
% PostScript Level 2 printers contain an "Accurate Screens" feature which can
% improve process separation rendering at the expense of compute time. This
% flag is ignored by PostScript Level 1 printers.
/FMUseAcccurateScreens true def
%
% The following PostScript procedure defines the spot function that Frame
% products will use for process separations. You may un-comment-out one of
% the alternative functions below, or use your own.
%
% Dot function
/FMSpotFunction {abs exch abs 2 copy add 1 gt
{1 sub dup mul exch 1 sub dup mul add 1 sub }
{dup mul exch dup mul add 1 exch sub }ifelse } def
%
% Line function
% /FMSpotFunction { pop } def
%
% Elipse function
% /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add
% sqrt 1 exch sub } def
%
%
/FMversion (4.0) def
/FMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def
/FMPColor
FMLevel1 {
false
/colorimage where {pop pop true} if
} {
true
} ifelse
def
/FrameDict 400 dict def
systemdict /errordict known not {/errordict 10 dict def
errordict /rangecheck {stop} put} if
% The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk
FrameDict /tmprangecheck errordict /rangecheck get put
errordict /rangecheck {FrameDict /bug true put} put
FrameDict /bug false put
mark
% Some PS machines read past the CR, so keep the following 3 lines together!
currentfile 5 string readline
00
0000000000
cleartomark
errordict /rangecheck FrameDict /tmprangecheck get put
FrameDict /bug get {
/readline {
/gstring exch def
/gfile exch def
/gindex 0 def
{
gfile read pop
dup 10 eq {exit} if
dup 13 eq {exit} if
gstring exch gindex exch put
/gindex gindex 1 add def
} loop
pop
gstring 0 gindex getinterval true
} bind def
} if
/FMshowpage /showpage load def
/FMquit /quit load def
/FMFAILURE {
dup = flush
FMshowpage
/Helvetica findfont 12 scalefont setfont
72 200 moveto
show FMshowpage
FMquit
} def
/FMVERSION {
FMversion ne {
(Frame product version does not match ps_prolog!) FMFAILURE
} if
} def
/FMBADEPSF {
(PostScript Lang. Ref. Man., 2nd Ed., H.2.4 says EPS must not call X )
dup dup (X) search pop exch pop exch pop length
4 -1 roll
putinterval
FMFAILURE
} def
/FMLOCAL {
FrameDict begin
0 def
end
} def
/concatprocs
{
/proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx
}def
FrameDict begin
/FMnone 0 def
/FMcyan 1 def
/FMmagenta 2 def
/FMyellow 3 def
/FMblack 4 def
/FMcustom 5 def
/FrameNegative false def
/FrameSepIs FMnone def
/FrameSepBlack 0 def
/FrameSepYellow 0 def
/FrameSepMagenta 0 def
/FrameSepCyan 0 def
/FrameSepRed 1 def
/FrameSepGreen 1 def
/FrameSepBlue 1 def
/FrameCurGray 1 def
/FrameCurPat null def
/FrameCurColors [ 0 0 0 1 0 0 0 ] def
/FrameColorEpsilon .001 def
/eqepsilon {
sub dup 0 lt {neg} if
FrameColorEpsilon le
} bind def
/FrameCmpColorsCMYK {
2 copy 0 get exch 0 get eqepsilon {
2 copy 1 get exch 1 get eqepsilon {
2 copy 2 get exch 2 get eqepsilon {
3 get exch 3 get eqepsilon
} {pop pop false} ifelse
}{pop pop false} ifelse
} {pop pop false} ifelse
} bind def
/FrameCmpColorsRGB {
2 copy 4 get exch 0 get eqepsilon {
2 copy 5 get exch 1 get eqepsilon {
6 get exch 2 get eqepsilon
}{pop pop false} ifelse
} {pop pop false} ifelse
} bind def
/RGBtoCMYK {
1 exch sub
3 1 roll
1 exch sub
3 1 roll
1 exch sub
3 1 roll
3 copy
2 copy
le { pop } { exch pop } ifelse
2 copy
le { pop } { exch pop } ifelse
dup dup dup
6 1 roll
4 1 roll
7 1 roll
sub
6 1 roll
sub
5 1 roll
sub
4 1 roll
} bind def
/CMYKtoRGB {
dup dup 4 -1 roll add
5 1 roll 3 -1 roll add
4 1 roll add
1 exch sub dup 0 lt {pop 0} if 3 1 roll
1 exch sub dup 0 lt {pop 0} if exch
1 exch sub dup 0 lt {pop 0} if exch
} bind def
/FrameSepInit {
1.0 RealSetgray
} bind def
/FrameSetSepColor {
/FrameSepBlue exch def
/FrameSepGreen exch def
/FrameSepRed exch def
/FrameSepBlack exch def
/FrameSepYellow exch def
/FrameSepMagenta exch def
/FrameSepCyan exch def
/FrameSepIs FMcustom def
setCurrentScreen
} bind def
/FrameSetCyan {
/FrameSepBlue 1.0 def
/FrameSepGreen 1.0 def
/FrameSepRed 0.0 def
/FrameSepBlack 0.0 def
/FrameSepYellow 0.0 def
/FrameSepMagenta 0.0 def
/FrameSepCyan 1.0 def
/FrameSepIs FMcyan def
setCurrentScreen
} bind def
/FrameSetMagenta {
/FrameSepBlue 1.0 def
/FrameSepGreen 0.0 def
/FrameSepRed 1.0 def
/FrameSepBlack 0.0 def
/FrameSepYellow 0.0 def
/FrameSepMagenta 1.0 def
/FrameSepCyan 0.0 def
/FrameSepIs FMmagenta def
setCurrentScreen
} bind def
/FrameSetYellow {
/FrameSepBlue 0.0 def
/FrameSepGreen 1.0 def
/FrameSepRed 1.0 def
/FrameSepBlack 0.0 def
/FrameSepYellow 1.0 def
/FrameSepMagenta 0.0 def
/FrameSepCyan 0.0 def
/FrameSepIs FMyellow def
setCurrentScreen
} bind def
/FrameSetBlack {
/FrameSepBlue 0.0 def
/FrameSepGreen 0.0 def
/FrameSepRed 0.0 def
/FrameSepBlack 1.0 def
/FrameSepYellow 0.0 def
/FrameSepMagenta 0.0 def
/FrameSepCyan 0.0 def
/FrameSepIs FMblack def
setCurrentScreen
} bind def
/FrameNoSep {
/FrameSepIs FMnone def
setCurrentScreen
} bind def
/FrameSetSepColors {
FrameDict begin
[ exch 1 add 1 roll ]
/FrameSepColors
exch def end
} bind def
/FrameColorInSepListCMYK {
FrameSepColors {
exch dup 3 -1 roll
FrameCmpColorsCMYK
{ pop true exit } if
} forall
dup true ne {pop false} if
} bind def
/FrameColorInSepListRGB {
FrameSepColors {
exch dup 3 -1 roll
FrameCmpColorsRGB
{ pop true exit } if
} forall
dup true ne {pop false} if
} bind def
/RealSetgray /setgray load def
/RealSetrgbcolor /setrgbcolor load def
/RealSethsbcolor /sethsbcolor load def
end
/setgray {
FrameDict begin
FrameSepIs FMnone eq
{ RealSetgray }
{
FrameSepIs FMblack eq
{ RealSetgray }
{ FrameSepIs FMcustom eq
FrameSepRed 0 eq and
FrameSepGreen 0 eq and
FrameSepBlue 0 eq and {
RealSetgray
} {
1 RealSetgray pop
} ifelse
} ifelse
} ifelse
end
} bind def
/setrgbcolor {
FrameDict begin
FrameSepIs FMnone eq
{ RealSetrgbcolor }
{
3 copy [ 4 1 roll ]
FrameColorInSepListRGB
{
FrameSepBlue eq exch
FrameSepGreen eq and exch
FrameSepRed eq and
{ 0 } { 1 } ifelse
}
{
FMPColor {
RealSetrgbcolor
currentcmykcolor
} {
RGBtoCMYK
} ifelse
FrameSepIs FMblack eq
{1.0 exch sub 4 1 roll pop pop pop} {
FrameSepIs FMyellow eq
{pop 1.0 exch sub 3 1 roll pop pop} {
FrameSepIs FMmagenta eq
{pop pop 1.0 exch sub exch pop } {
FrameSepIs FMcyan eq
{pop pop pop 1.0 exch sub }
{pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
} ifelse
RealSetgray
}
ifelse
end
} bind def
/sethsbcolor {
FrameDict begin
FrameSepIs FMnone eq
{ RealSethsbcolor }
{
RealSethsbcolor
currentrgbcolor
setrgbcolor
}
ifelse
end
} bind def
FrameDict begin
/setcmykcolor where {
pop /RealSetcmykcolor /setcmykcolor load def
} {
/RealSetcmykcolor {
4 1 roll
3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat
setrgbcolor pop
} bind def
} ifelse
userdict /setcmykcolor {
FrameDict begin
FrameSepIs FMnone eq
{ RealSetcmykcolor }
{
4 copy [ 5 1 roll ]
FrameColorInSepListCMYK
{
FrameSepBlack eq exch
FrameSepYellow eq and exch
FrameSepMagenta eq and exch
FrameSepCyan eq and
{ 0 } { 1 } ifelse
}
{
FrameSepIs FMblack eq
{1.0 exch sub 4 1 roll pop pop pop} {
FrameSepIs FMyellow eq
{pop 1.0 exch sub 3 1 roll pop pop} {
FrameSepIs FMmagenta eq
{pop pop 1.0 exch sub exch pop } {
FrameSepIs FMcyan eq
{pop pop pop 1.0 exch sub }
{pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
} ifelse
RealSetgray
}
ifelse
end
} bind put
FMLevel1 not {
/patProcDict 5 dict dup begin
<0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke
4 -4 moveto 12 4 lineto stroke
-4 4 moveto 4 12 lineto stroke} bind def
<0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke
-4 4 moveto 4 -4 lineto stroke
4 12 moveto 12 4 lineto stroke} bind def
<8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
-1 -1 moveto 9 9 lineto stroke } bind def
<03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke
4 -4 moveto 12 4 lineto stroke
-4 4 moveto 4 12 lineto stroke} bind def
<8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
-4 4 moveto 4 -4 lineto stroke
4 12 moveto 12 4 lineto stroke} bind def
end def
/patDict 15 dict dup begin
/PatternType 1 def
/PaintType 2 def
/TilingType 3 def
/BBox [ 0 0 8 8 ] def
/XStep 8 def
/YStep 8 def
/PaintProc {
begin
patProcDict bstring known {
patProcDict bstring get exec
} {
8 8 true [1 0 0 -1 0 8] bstring imagemask
} ifelse
end
} bind def
end def
} if
/combineColor {
FrameSepIs FMnone eq
{
graymode FMLevel1 or not {
[/Pattern [/DeviceCMYK]] setcolorspace
FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor
} {
FrameCurColors 3 get 1.0 ge {
FrameCurGray RealSetgray
} {
FMPColor graymode and {
0 1 3 {
FrameCurColors exch get
1 FrameCurGray sub mul
} for
RealSetcmykcolor
} {
4 1 6 {
FrameCurColors exch get
graymode {
1 exch sub 1 FrameCurGray sub mul 1 exch sub
} {
1.0 lt {FrameCurGray} {1} ifelse
} ifelse
} for
RealSetrgbcolor
} ifelse
} ifelse
} ifelse
} {
FrameCurColors 0 4 getinterval aload
FrameColorInSepListCMYK {
FrameSepBlack eq exch
FrameSepYellow eq and exch
FrameSepMagenta eq and exch
FrameSepCyan eq and
FrameSepIs FMcustom eq and
{ FrameCurGray } { 1 } ifelse
} {
FrameSepIs FMblack eq
{FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} {
FrameSepIs FMyellow eq
{pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} {
FrameSepIs FMmagenta eq
{pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } {
FrameSepIs FMcyan eq
{pop pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub }
{pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
} ifelse
graymode FMLevel1 or not {
[/Pattern [/DeviceGray]] setcolorspace
FrameCurPat setcolor
} {
graymode not FMLevel1 and {
dup 1 lt {pop FrameCurGray} if
} if
RealSetgray
} ifelse
} ifelse
} bind def
/savematrix {
orgmatrix currentmatrix pop
} bind def
/restorematrix {
orgmatrix setmatrix
} bind def
/dmatrix matrix def
/dpi 72 0 dmatrix defaultmatrix dtransform
dup mul exch dup mul add sqrt def
/freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def
/CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def
/YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def
/KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def
/CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def
/MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def
/YLowTDot [ true true false true true false false false ] def
/CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def
/YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def
/KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def
/CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def
/MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def
/YHighTDot [ false false true false false true true false ] def
/PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def
/screenIndex {
0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for
} bind def
/getCyanScreen {
FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse
screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
} bind def
/getMagentaScreen {
FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse
screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
} bind def
/getYellowScreen {
FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse
screenIndex dup 3 1 roll get 3 1 roll get { 3 div
{2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat
FMSpotFunction } } {/FMSpotFunction load } ifelse
0.0 exch
} bind def
/getBlackScreen {
FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse
screenIndex get 45.0 /FMSpotFunction load
} bind def
/getSpotScreen {
getBlackScreen
} bind def
/getCompositeScreen {
getBlackScreen
} bind def
/FMSetScreen
FMLevel1 { /setscreen load
}{ {
8 dict begin
/HalftoneType 1 def
/SpotFunction exch def
/Angle exch def
/Frequency exch def
/AccurateScreens FMUseAcccurateScreens def
currentdict end sethalftone
} bind } ifelse
def
/setDefaultScreen {
FMPColor {
orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer
}
{
orgxfer cvx settransfer
} ifelse
orgfreq organgle orgproc cvx setscreen
} bind def
/setCurrentScreen {
FrameSepIs FMnone eq {
FMUseDefaultNoSeparationScreen {
setDefaultScreen
} {
getCompositeScreen FMSetScreen
} ifelse
} {
FrameSepIs FMcustom eq {
FMUseDefaultSpotSeparationScreen {
setDefaultScreen
} {
getSpotScreen FMSetScreen
} ifelse
} {
FMUseDefaultProcessSeparationScreen {
setDefaultScreen
} {
FrameSepIs FMcyan eq {
getCyanScreen FMSetScreen
} {
FrameSepIs FMmagenta eq {
getMagentaScreen FMSetScreen
} {
FrameSepIs FMyellow eq {
getYellowScreen FMSetScreen
} {
getBlackScreen FMSetScreen
} ifelse
} ifelse
} ifelse
} ifelse
} ifelse
} ifelse
} bind def
end
/gstring FMLOCAL
/gfile FMLOCAL
/gindex FMLOCAL
/orgrxfer FMLOCAL
/orggxfer FMLOCAL
/orgbxfer FMLOCAL
/orgxfer FMLOCAL
/orgproc FMLOCAL
/orgrproc FMLOCAL
/orggproc FMLOCAL
/orgbproc FMLOCAL
/organgle FMLOCAL
/orgrangle FMLOCAL
/orggangle FMLOCAL
/orgbangle FMLOCAL
/orgfreq FMLOCAL
/orgrfreq FMLOCAL
/orggfreq FMLOCAL
/orgbfreq FMLOCAL
/yscale FMLOCAL
/xscale FMLOCAL
/edown FMLOCAL
/manualfeed FMLOCAL
/paperheight FMLOCAL
/paperwidth FMLOCAL
/FMDOCUMENT {
array /FMfonts exch def
/#copies exch def
FrameDict begin
0 ne /manualfeed exch def
/paperheight exch def
/paperwidth exch def
0 ne /FrameNegative exch def
0 ne /edown exch def
/yscale exch def
/xscale exch def
FMLevel1 {
manualfeed {setmanualfeed} if
/FMdicttop countdictstack 1 add def
/FMoptop count def
setpapername
manualfeed {true} {papersize} ifelse
{manualpapersize} {false} ifelse
{desperatepapersize} {false} ifelse
{ (Can't select requested paper size for Frame print job!) FMFAILURE } if
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
}
{{1 dict dup /PageSize [paperwidth paperheight]put setpagedevice}stopped
{ (Can't select requested paper size for Frame print job!) FMFAILURE } if
{1 dict dup /ManualFeed manualfeed put setpagedevice } stopped pop }
ifelse
FMPColor {
currentcolorscreen
cvlit /orgproc exch def
/organgle exch def
/orgfreq exch def
cvlit /orgbproc exch def
/orgbangle exch def
/orgbfreq exch def
cvlit /orggproc exch def
/orggangle exch def
/orggfreq exch def
cvlit /orgrproc exch def
/orgrangle exch def
/orgrfreq exch def
currentcolortransfer
FrameNegative {
1 1 4 {
pop { 1 exch sub } concatprocs 4 1 roll
} for
4 copy
setcolortransfer
} if
cvlit /orgxfer exch def
cvlit /orgbxfer exch def
cvlit /orggxfer exch def
cvlit /orgrxfer exch def
} {
currentscreen
cvlit /orgproc exch def
/organgle exch def
/orgfreq exch def
currenttransfer
FrameNegative {
{ 1 exch sub } concatprocs
dup settransfer
} if
cvlit /orgxfer exch def
} ifelse
end
} def
/pagesave FMLOCAL
/orgmatrix FMLOCAL
/landscape FMLOCAL
/pwid FMLOCAL
/FMBEGINPAGE {
FrameDict begin
/pagesave save def
3.86 setmiterlimit
/landscape exch 0 ne def
landscape {
90 rotate 0 exch dup /pwid exch def neg translate pop
}{
pop /pwid exch def
} ifelse
edown { [-1 0 0 1 pwid 0] concat } if
0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto
0 paperheight lineto 0 0 lineto 1 setgray fill
xscale yscale scale
/orgmatrix matrix def
gsave
} def
/FMENDPAGE {
grestore
pagesave restore
end
showpage
} def
/FMFONTDEFINE {
FrameDict begin
findfont
ReEncode
1 index exch
definefont
FMfonts 3 1 roll
put
end
} def
/FMFILLS {
FrameDict begin dup
array /fillvals exch def
dict /patCache exch def
end
} def
/FMFILL {
FrameDict begin
fillvals 3 1 roll put
end
} def
/FMNORMALIZEGRAPHICS {
newpath
0.0 0.0 moveto
1 setlinewidth
0 setlinecap
0 0 0 sethsbcolor
0 setgray
} bind def
/fx FMLOCAL
/fy FMLOCAL
/fh FMLOCAL
/fw FMLOCAL
/llx FMLOCAL
/lly FMLOCAL
/urx FMLOCAL
/ury FMLOCAL
/FMBEGINEPSF {
end
/FMEPSF save def
/showpage {} def
% See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714.
% "...the following operators MUST NOT be used in an EPS file:" (emphasis ours)
/banddevice {(banddevice) FMBADEPSF} def
/clear {(clear) FMBADEPSF} def
/cleardictstack {(cleardictstack) FMBADEPSF} def
/copypage {(copypage) FMBADEPSF} def
/erasepage {(erasepage) FMBADEPSF} def
/exitserver {(exitserver) FMBADEPSF} def
/framedevice {(framedevice) FMBADEPSF} def
/grestoreall {(grestoreall) FMBADEPSF} def
/initclip {(initclip) FMBADEPSF} def
/initgraphics {(initgraphics) FMBADEPSF} def
/initmatrix {(initmatrix) FMBADEPSF} def
/quit {(quit) FMBADEPSF} def
/renderbands {(renderbands) FMBADEPSF} def
/setglobal {(setglobal) FMBADEPSF} def
/setpagedevice {(setpagedevice) FMBADEPSF} def
/setshared {(setshared) FMBADEPSF} def
/startjob {(startjob) FMBADEPSF} def
/lettertray {(lettertray) FMBADEPSF} def
/letter {(letter) FMBADEPSF} def
/lettersmall {(lettersmall) FMBADEPSF} def
/11x17tray {(11x17tray) FMBADEPSF} def
/11x17 {(11x17) FMBADEPSF} def
/ledgertray {(ledgertray) FMBADEPSF} def
/ledger {(ledger) FMBADEPSF} def
/legaltray {(legaltray) FMBADEPSF} def
/legal {(legal) FMBADEPSF} def
/statementtray {(statementtray) FMBADEPSF} def
/statement {(statement) FMBADEPSF} def
/executivetray {(executivetray) FMBADEPSF} def
/executive {(executive) FMBADEPSF} def
/a3tray {(a3tray) FMBADEPSF} def
/a3 {(a3) FMBADEPSF} def
/a4tray {(a4tray) FMBADEPSF} def
/a4 {(a4) FMBADEPSF} def
/a4small {(a4small) FMBADEPSF} def
/b4tray {(b4tray) FMBADEPSF} def
/b4 {(b4) FMBADEPSF} def
/b5tray {(b5tray) FMBADEPSF} def
/b5 {(b5) FMBADEPSF} def
FMNORMALIZEGRAPHICS
[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
fx fw 2 div add fy fh 2 div add translate
rotate
fw 2 div neg fh 2 div neg translate
fw urx llx sub div fh ury lly sub div scale
llx neg lly neg translate
/FMdicttop countdictstack 1 add def
/FMoptop count def
} bind def
/FMENDEPSF {
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
FMEPSF restore
FrameDict begin
} bind def
FrameDict begin
/setmanualfeed {
%%BeginFeature *ManualFeed True
statusdict /manualfeed true put
%%EndFeature
} bind def
/max {2 copy lt {exch} if pop} bind def
/min {2 copy gt {exch} if pop} bind def
/inch {72 mul} def
/pagedimen {
paperheight sub abs 16 lt exch
paperwidth sub abs 16 lt and
{/papername exch def} {pop} ifelse
} bind def
/papersizedict FMLOCAL
/setpapername {
/papersizedict 14 dict def
papersizedict begin
/papername /unknown def
/Letter 8.5 inch 11.0 inch pagedimen
/LetterSmall 7.68 inch 10.16 inch pagedimen
/Tabloid 11.0 inch 17.0 inch pagedimen
/Ledger 17.0 inch 11.0 inch pagedimen
/Legal 8.5 inch 14.0 inch pagedimen
/Statement 5.5 inch 8.5 inch pagedimen
/Executive 7.5 inch 10.0 inch pagedimen
/A3 11.69 inch 16.5 inch pagedimen
/A4 8.26 inch 11.69 inch pagedimen
/A4Small 7.47 inch 10.85 inch pagedimen
/B4 10.125 inch 14.33 inch pagedimen
/B5 7.16 inch 10.125 inch pagedimen
end
} bind def
/papersize {
papersizedict begin
/Letter {lettertray letter} def
/LetterSmall {lettertray lettersmall} def
/Tabloid {11x17tray 11x17} def
/Ledger {ledgertray ledger} def
/Legal {legaltray legal} def
/Statement {statementtray statement} def
/Executive {executivetray executive} def
/A3 {a3tray a3} def
/A4 {a4tray a4} def
/A4Small {a4tray a4small} def
/B4 {b4tray b4} def
/B5 {b5tray b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
statusdict begin stopped end
} bind def
/manualpapersize {
papersizedict begin
/Letter {letter} def
/LetterSmall {lettersmall} def
/Tabloid {11x17} def
/Ledger {ledger} def
/Legal {legal} def
/Statement {statement} def
/Executive {executive} def
/A3 {a3} def
/A4 {a4} def
/A4Small {a4small} def
/B4 {b4} def
/B5 {b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
stopped
} bind def
/desperatepapersize {
statusdict /setpageparams known
{
paperwidth paperheight 0 1
statusdict begin
{setpageparams} stopped
end
} {true} ifelse
} bind def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
/ReEncode {
dup
length
dict begin
{
1 index /FID ne
{def}
{pop pop} ifelse
} forall
0 eq {/Encoding DiacriticEncoding def} if
currentdict
end
} bind def
FMPColor
{
/BEGINBITMAPCOLOR {
BITMAPCOLOR} def
/BEGINBITMAPCOLORc {
BITMAPCOLORc} def
/BEGINBITMAPTRUECOLOR {
BITMAPTRUECOLOR } def
/BEGINBITMAPTRUECOLORc {
BITMAPTRUECOLORc } def
}
{
/BEGINBITMAPCOLOR {
BITMAPGRAY} def
/BEGINBITMAPCOLORc {
BITMAPGRAYc} def
/BEGINBITMAPTRUECOLOR {
BITMAPTRUEGRAY } def
/BEGINBITMAPTRUECOLORc {
BITMAPTRUEGRAYc } def
}
ifelse
/K {
FMPrintAllColorsAsBlack {
dup 1 eq 2 index 1 eq and 3 index 1 eq and not
{7 {pop} repeat 0 0 0 1 0 0 0} if
} if
FrameCurColors astore
pop combineColor
} bind def
/graymode true def
/bwidth FMLOCAL
/bpside FMLOCAL
/bstring FMLOCAL
/onbits FMLOCAL
/offbits FMLOCAL
/xindex FMLOCAL
/yindex FMLOCAL
/x FMLOCAL
/y FMLOCAL
/setPatternMode {
FMLevel1 {
/bwidth exch def
/bpside exch def
/bstring exch def
/onbits 0 def /offbits 0 def
freq sangle landscape {90 add} if
{/y exch def
/x exch def
/xindex x 1 add 2 div bpside mul cvi def
/yindex y 1 add 2 div bpside mul cvi def
bstring yindex bwidth mul xindex 8 idiv add get
1 7 xindex 8 mod sub bitshift and 0 ne FrameNegative {not} if
{/onbits onbits 1 add def 1}
{/offbits offbits 1 add def 0}
ifelse
}
setscreen
offbits offbits onbits add div FrameNegative {1.0 exch sub} if
/FrameCurGray exch def
} {
pop pop
dup patCache exch known {
patCache exch get
} {
dup
patDict /bstring 3 -1 roll put
patDict
9 PatFreq screenIndex get div dup matrix scale
makepattern
dup
patCache 4 -1 roll 3 -1 roll put
} ifelse
/FrameCurGray 0 def
/FrameCurPat exch def
} ifelse
/graymode false def
combineColor
} bind def
/setGrayScaleMode {
graymode not {
/graymode true def
FMLevel1 {
setCurrentScreen
} if
} if
/FrameCurGray exch def
combineColor
} bind def
/normalize {
transform round exch round exch itransform
} bind def
/dnormalize {
dtransform round exch round exch idtransform
} bind def
/lnormalize {
0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
} bind def
/H {
lnormalize setlinewidth
} bind def
/Z {
setlinecap
} bind def
/PFill {
graymode FMLevel1 or not {
gsave 1 setgray eofill grestore
} if
} bind def
/PStroke {
graymode FMLevel1 or not {
gsave 1 setgray stroke grestore
} if
stroke
} bind def
/fillvals FMLOCAL
/X {
fillvals exch get
dup type /stringtype eq
{8 1 setPatternMode}
{setGrayScaleMode}
ifelse
} bind def
/V {
PFill gsave eofill grestore
} bind def
/Vclip {
clip
} bind def
/Vstrk {
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/N {
PStroke
} bind def
/Nclip {
strokepath clip newpath
} bind def
/Nstrk {
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
/n FMLOCAL
/L {
/n exch def
newpath
normalize
moveto
2 1 n {pop normalize lineto} for
} bind def
/Y {
L
closepath
} bind def
/x1 FMLOCAL
/x2 FMLOCAL
/y1 FMLOCAL
/y2 FMLOCAL
/R {
/y2 exch def
/x2 exch def
/y1 exch def
/x1 exch def
x1 y1
x2 y1
x2 y2
x1 y2
4 Y
} bind def
/rad FMLOCAL
/rarc
{rad
arcto
} bind def
/RR {
/rad exch def
normalize
/y2 exch def
/x2 exch def
normalize
/y1 exch def
/x1 exch def
mark
newpath
{
x1 y1 rad add moveto
x1 y2 x2 y2 rarc
x2 y2 x2 y1 rarc
x2 y1 x1 y1 rarc
x1 y1 x1 y2 rarc
closepath
} stopped {x1 y1 x2 y2 R} if
cleartomark
} bind def
/RRR {
/rad exch def
normalize /y4 exch def /x4 exch def
normalize /y3 exch def /x3 exch def
normalize /y2 exch def /x2 exch def
normalize /y1 exch def /x1 exch def
newpath
normalize moveto
mark
{
x2 y2 x3 y3 rarc
x3 y3 x4 y4 rarc
x4 y4 x1 y1 rarc
x1 y1 x2 y2 rarc
closepath
} stopped
{x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if
cleartomark
} bind def
/C {
grestore
gsave
R
clip
setCurrentScreen
} bind def
/CP {
grestore
gsave
Y
clip
setCurrentScreen
} bind def
/FMpointsize FMLOCAL
/F {
FMfonts exch get
FMpointsize scalefont
setfont
} bind def
/Q {
/FMpointsize exch def
F
} bind def
/T {
moveto show
} bind def
/RF {
rotate
0 ne {-1 1 scale} if
} bind def
/TF {
gsave
moveto
RF
show
grestore
} bind def
/P {
moveto
0 32 3 2 roll widthshow
} bind def
/PF {
gsave
moveto
RF
0 32 3 2 roll widthshow
grestore
} bind def
/S {
moveto
0 exch ashow
} bind def
/SF {
gsave
moveto
RF
0 exch ashow
grestore
} bind def
/B {
moveto
0 32 4 2 roll 0 exch awidthshow
} bind def
/BF {
gsave
moveto
RF
0 32 4 2 roll 0 exch awidthshow
grestore
} bind def
/G {
gsave
newpath
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
PFill fill
grestore
} bind def
/Gstrk {
savematrix
newpath
2 index 2 div add exch 3 index 2 div sub exch
normalize 2 index 2 div sub exch 3 index 2 div add exch
translate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/Gclip {
newpath
savematrix
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
clip newpath
restorematrix
} bind def
/GG {
gsave
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
PFill
fill
grestore
} bind def
/GGclip {
savematrix
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
clip newpath
restorematrix
} bind def
/GGstrk {
savematrix
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
restorematrix
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/A {
gsave
savematrix
newpath
2 index 2 div add exch 3 index 2 div sub exch
normalize 2 index 2 div sub exch 3 index 2 div add exch
translate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
PStroke
grestore
} bind def
/Aclip {
newpath
savematrix
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
strokepath clip newpath
restorematrix
} bind def
/Astrk {
Gstrk
} bind def
/AA {
gsave
savematrix
newpath
3 index 2 div add exch 4 index 2 div sub exch
normalize 3 index 2 div sub exch 4 index 2 div add exch
translate
rotate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
PStroke
grestore
} bind def
/AAclip {
savematrix
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
strokepath clip newpath
restorematrix
} bind def
/AAstrk {
GGstrk
} bind def
/x FMLOCAL
/y FMLOCAL
/w FMLOCAL
/h FMLOCAL
/xx FMLOCAL
/yy FMLOCAL
/ww FMLOCAL
/hh FMLOCAL
/FMsaveobject FMLOCAL
/FMoptop FMLOCAL
/FMdicttop FMLOCAL
/BEGINPRINTCODE {
/FMdicttop countdictstack 1 add def
/FMoptop count 7 sub def
/FMsaveobject save def
userdict begin
/showpage {} def
FMNORMALIZEGRAPHICS
3 index neg 3 index neg translate
} bind def
/ENDPRINTCODE {
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
FMsaveobject restore
} bind def
/gn {
0
{ 46 mul
cf read pop
32 sub
dup 46 lt {exit} if
46 sub add
} loop
add
} bind def
/str FMLOCAL
/cfs {
/str sl string def
0 1 sl 1 sub {str exch val put} for
str def
} bind def
/ic [
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0
{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
] def
/sl FMLOCAL
/val FMLOCAL
/ws FMLOCAL
/im FMLOCAL
/bs FMLOCAL
/cs FMLOCAL
/len FMLOCAL
/pos FMLOCAL
/ms {
/sl exch def
/val 255 def
/ws cfs
/im cfs
/val 0 def
/bs cfs
/cs cfs
} bind def
400 ms
/ip {
is
0
cf cs readline pop
{ ic exch get exec
add
} forall
pop
} bind def
/rip {
bis ris copy pop
is
0
cf cs readline pop
{ ic exch get exec
add
} forall
pop pop
ris gis copy pop
dup is exch
cf cs readline pop
{ ic exch get exec
add
} forall
pop pop
gis bis copy pop
dup add is exch
cf cs readline pop
{ ic exch get exec
add
} forall
pop
} bind def
/wh {
/len exch def
/pos exch def
ws 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/bl {
/len exch def
/pos exch def
bs 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/s1 1 string def
/fl {
/len exch def
/pos exch def
/val cf s1 readhexstring pop 0 get def
pos 1 pos len add 1 sub {im exch val put} for
pos len
} bind def
/hx {
3 copy getinterval
cf exch readhexstring pop pop
} bind def
/h FMLOCAL
/w FMLOCAL
/d FMLOCAL
/lb FMLOCAL
/bitmapsave FMLOCAL
/is FMLOCAL
/cf FMLOCAL
/wbytes {
dup dup
24 eq { pop pop 3 mul }
{ 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse
} bind def
/BEGINBITMAPBWc {
1 {} COMMONBITMAPc
} bind def
/BEGINBITMAPGRAYc {
8 {} COMMONBITMAPc
} bind def
/BEGINBITMAP2BITc {
2 {} COMMONBITMAPc
} bind def
/COMMONBITMAPc {
/r exch def
/d exch def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
r
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} image
bitmapsave restore
grestore
} bind def
/BEGINBITMAPBW {
1 {} COMMONBITMAP
} bind def
/BEGINBITMAPGRAY {
8 {} COMMONBITMAP
} bind def
/BEGINBITMAP2BIT {
2 {} COMMONBITMAP
} bind def
/COMMONBITMAP {
/r exch def
/d exch def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
r
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} image
bitmapsave restore
grestore
} bind def
/ngrayt 256 array def
/nredt 256 array def
/nbluet 256 array def
/ngreent 256 array def
/gryt FMLOCAL
/blut FMLOCAL
/grnt FMLOCAL
/redt FMLOCAL
/indx FMLOCAL
/cynu FMLOCAL
/magu FMLOCAL
/yelu FMLOCAL
/k FMLOCAL
/u FMLOCAL
FMLevel1 {
/colorsetup {
currentcolortransfer
/gryt exch def
/blut exch def
/grnt exch def
/redt exch def
0 1 255 {
/indx exch def
/cynu 1 red indx get 255 div sub def
/magu 1 green indx get 255 div sub def
/yelu 1 blue indx get 255 div sub def
/k cynu magu min yelu min def
/u k currentundercolorremoval exec def
% /u 0 def
nredt indx 1 0 cynu u sub max sub redt exec put
ngreent indx 1 0 magu u sub max sub grnt exec put
nbluet indx 1 0 yelu u sub max sub blut exec put
ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
} for
{255 mul cvi nredt exch get}
{255 mul cvi ngreent exch get}
{255 mul cvi nbluet exch get}
{255 mul cvi ngrayt exch get}
setcolortransfer
{pop 0} setundercolorremoval
{} setblackgeneration
} bind def
}
{
/colorSetup2 {
[ /Indexed /DeviceRGB 255
{dup red exch get 255 div
exch dup green exch get 255 div
exch blue exch get 255 div}
] setcolorspace
} bind def
} ifelse
/tran FMLOCAL
/fakecolorsetup {
/tran 256 string def
0 1 255 {/indx exch def
tran indx
red indx get 77 mul
green indx get 151 mul
blue indx get 28 mul
add add 256 idiv put} for
currenttransfer
{255 mul cvi tran exch get 255.0 div}
exch concatprocs settransfer
} bind def
/BITMAPCOLOR {
/d 8 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
FMLevel1 {
colorsetup
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} {is} {is} true 3 colorimage
} {
colorSetup2
/is w d wbytes string def
/cf currentfile def
7 dict dup begin
/ImageType 1 def
/Width w def
/Height h def
/ImageMatrix [w 0 0 h neg 0 h] def
/DataSource {cf is readhexstring pop} bind def
/BitsPerComponent d def
/Decode [0 255] def
end image
} ifelse
bitmapsave restore
grestore
} bind def
/BITMAPCOLORc {
/d 8 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
FMLevel1 {
colorsetup
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} {is} {is} true 3 colorimage
} {
colorSetup2
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
7 dict dup begin
/ImageType 1 def
/Width w def
/Height h def
/ImageMatrix [w 0 0 h neg 0 h] def
/DataSource {ip} bind def
/BitsPerComponent d def
/Decode [0 255] def
end image
} ifelse
bitmapsave restore
grestore
} bind def
/BITMAPTRUECOLORc {
/d 24 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
/is im 0 lb getinterval def
/ris im 0 w getinterval def
/gis im w w getinterval def
/bis im w 2 mul w getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{w rip pop ris} {gis} {bis} true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPTRUECOLOR {
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
/is w string def
/gis w string def
/bis w string def
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ cf is readhexstring pop }
{ cf gis readhexstring pop }
{ cf bis readhexstring pop }
true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPTRUEGRAYc {
/d 24 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
/is im 0 lb getinterval def
/ris im 0 w getinterval def
/gis im w w getinterval def
/bis im w 2 mul w getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{w rip pop ris gis bis w gray} image
bitmapsave restore
grestore
} bind def
/ww FMLOCAL
/r FMLOCAL
/g FMLOCAL
/b FMLOCAL
/i FMLOCAL
/gray {
/ww exch def
/b exch def
/g exch def
/r exch def
0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
b i get .114 mul add add r i 3 -1 roll floor cvi put } for
r
} bind def
/BITMAPTRUEGRAY {
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
/is w string def
/gis w string def
/bis w string def
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ cf is readhexstring pop
cf gis readhexstring pop
cf bis readhexstring pop w gray} image
bitmapsave restore
grestore
} bind def
/BITMAPGRAY {
8 {fakecolorsetup} COMMONBITMAP
} bind def
/BITMAPGRAYc {
8 {fakecolorsetup} COMMONBITMAPc
} bind def
/ENDBITMAP {
} bind def
end
/ALDsave FMLOCAL
/ALDmatrix matrix def ALDmatrix currentmatrix pop
/StartALD {
/ALDsave save def
savematrix
ALDmatrix setmatrix
} bind def
/InALD {
restorematrix
} bind def
/DoneALD {
ALDsave restore
} bind def
/I { setdash } bind def
/J { [] 0 setdash } bind def
%%EndProlog
%%BeginSetup
(4.0) FMVERSION
1 1 0 0 612 792 0 1 12 FMDOCUMENT
0 0 /Times-Roman FMFONTDEFINE
1 0 /Times-Bold FMFONTDEFINE
2 0 /Times-Italic FMFONTDEFINE
3 1 /Symbol FMFONTDEFINE
4 0 /Courier FMFONTDEFINE
32 FMFILLS
0 0 FMFILL
1 0.1 FMFILL
2 0.3 FMFILL
3 0.5 FMFILL
4 0.7 FMFILL
5 0.9 FMFILL
6 0.97 FMFILL
7 1 FMFILL
8 <0f1e3c78f0e1c387> FMFILL
9 <0f87c3e1f0783c1e> FMFILL
10 FMFILL
11 FMFILL
12 <8142241818244281> FMFILL
13 <03060c183060c081> FMFILL
14 <8040201008040201> FMFILL
16 1 FMFILL
17 0.9 FMFILL
18 0.7 FMFILL
19 0.5 FMFILL
20 0.3 FMFILL
21 0.1 FMFILL
22 0.03 FMFILL
23 0 FMFILL
24 FMFILL
25 FMFILL
26 <3333333333333333> FMFILL
27 <0000ffff0000ffff> FMFILL
28 <7ebddbe7e7dbbd7e> FMFILL
29 FMFILL
30 <7fbfdfeff7fbfdfe> FMFILL
%%EndSetup
%%Page: "1" 1
%%BeginPaperSize: Letter
%%EndPaperSize
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
J
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(1) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
1 14 Q
(Supporting Mobility in MosquitoNet) 196.51 692.67 T
0 12 Q
(Mary G. Baker) 155.93 666 T
(, Xinhua Zhao, Stuart Cheshire, Jonathan Stone) 227.76 666 T
2 F
(Stanfor) 259.06 650 T
(d University) 293.95 650 T
1 F
( Abstract) 156.17 604 T
0 10 Q
2.14 (The goal of the MosquitoNet project is to provide) 72 583.33 P
4.09 (continuous Internet connectivity to mobile hosts.) 72 571.33 P
1.44 (Mobile hosts must be able to take advantage of the) 72 559.33 P
1.61 (best network connectivity available in any location,) 72 547.33 P
1.61 (whether wired or wireless. W) 72 535.33 P
1.61 (e have implemented a) 195.68 535.33 P
2.2 (mobile IP system that supports seamless switching) 72 523.33 P
6.28 (between dif) 72 511.33 P
6.28 (ferent networks and communication) 125.03 511.33 P
0.47 (devices. In contrast to previous approaches to mobile) 72 499.33 P
1.69 (IP) 72 487.33 P
1.69 (, we believe mobile hosts should not assume any) 79.78 487.33 P
-0.1 (explicit mobility support from the networks they visit,) 72 475.33 P
1.16 (aside from basic Internet connectivity) 72 463.33 P
1.16 (. This decision) 227.07 463.33 P
-0.13 (places extra responsibilities on the mobile hosts them-) 72 451.33 P
3.03 (selves. In this paper) 72 439.33 P
3.03 (, we describe the design and) 160.11 439.33 P
1.1 (implications of such a system. Measurements of our) 72 427.33 P
2.12 (implementation show that the inherent overhead to) 72 415.33 P
1.47 (switch networks \050below 10ms\051 is insigni\336cant com-) 72 403.33 P
0.44 (pared to the time required to bring up a new commu-) 72 391.33 P
(nication device.) 72 379.33 T
1 12 Q
(1. Intr) 72 348 T
(oduction) 104.45 348 T
0 10 Q
-0.16 (W) 72 327.33 P
-0.16 (e envision that ubiquitous network connectivity will) 80.64 327.33 P
-0.11 (someday be a reality) 72 315.33 P
-0.11 (. In the future, the Internet will be) 153.51 315.33 P
-0.16 (a collection of dif) 72 303.33 P
-0.16 (ferent services, both wired and wire-) 142.17 303.33 P
4.99 (less, often with overlapping areas of coverage.) 72 291.33 P
0.13 (Through the combination of these services, especially) 72 279.33 P
1.97 (with the rapid growth of wireless networks, it will) 72 267.33 P
0.08 (almost always be possible for a mobile host to remain) 72 255.33 P
2.67 (connected to the Internet, or at least to reconnect) 72 243.33 P
(when so desired.) 72 231.33 T
-0.19 (Based on our vision of this future global internetwork,) 72 211.33 P
1.85 (the MosquitoNet project has been working on sup-) 72 199.33 P
-0.18 (porting continuous \050or seemingly continuous\051 connec-) 72 187.33 P
2.27 (tivity) 72 175.33 P
2.27 (. By continuous connectivity) 92.47 175.33 P
2.27 (, we mean that a) 213.64 175.33 P
0.2 (mobile host can send and receive packets whenever it) 72 163.33 P
1.26 (wishes, though the available quality of network ser-) 72 151.33 P
(vice may vary widely) 72 139.33 T
(.) 157.72 139.33 T
0.54 (W) 72 119.33 P
0.54 (e believe continuous connectivity is not only feasi-) 80.64 119.33 P
0.77 (ble but also crucial to make the most out of portable) 72 107.33 P
1.52 (computers. More personal computer users are using) 72 95.33 P
0.78 (their computers mainly for communication. It is also) 72 83.33 P
2.71 (clear that consumers want continuous connectivity) 324 605.33 P
-0.05 (available to them, as shown by the recent introduction) 324 593.33 P
0.19 (of two-way pagers and \322500 number\323 phone numbers) 324 581.33 P
0.19 (that allow consumers to receive telephone calls wher-) 324 569.33 P
0.17 (ever they go, without informing callers of any change) 324 557.33 P
(in phone number) 324 545.33 T
(.) 391.22 545.33 T
1.28 (While the physical infrastructure for ubiquitous net-) 324 525.33 P
0.63 (work connectivity will be available, there are several) 324 513.33 P
1.53 (problems mobile hosts must overcome to make full) 324 501.33 P
0.21 (use of it. This paper addresses two of these problems.) 324 489.33 P
1.04 (The \336rst is that mobile hosts must be able to switch) 324 477.33 P
6.08 (seamlessly between dif) 324 465.33 P
6.08 (ferent types of network) 428.74 465.33 P
0.85 (devices, and the second is that mobile hosts must be) 324 453.33 P
0.39 (able to visit foreign networks that do not provide any) 324 441.33 P
(support for mobility) 324 429.33 T
(.) 403.91 429.33 T
0.18 (W) 324 409.33 P
0.18 (e must be able to switch seamlessly between dif) 332.64 409.33 P
0.18 (fer-) 525.57 409.33 P
1.94 (ent network devices to take advantage of whatever) 324 397.33 P
0.82 (connectivity is available. For example, we may need) 324 385.33 P
2.84 (to switch from an Ethernet connection to a radio) 324 373.33 P
0.33 (modem as we leave our of) 324 361.33 P
0.33 (\336ces, taking our computers) 430.7 361.33 P
0.71 (with us. If we arrive at a site where there is a higher) 324 349.33 P
0.51 (speed connection, we may want to switch once again) 324 337.33 P
0.47 (to take advantage of it, even if the wireless service is) 324 325.33 P
(still available.) 324 313.33 T
0.46 (When switching between these networks, it is impor-) 324 293.33 P
2.44 (tant to maintain all current network conversations.) 324 281.33 P
-0.13 (Restarting all applications every time we change loca-) 324 269.33 P
-0.01 (tions is unacceptably annoying. This is especially true) 324 257.33 P
0.55 (for applications that run for extended periods of time) 324 245.33 P
1.55 (and build up nontrivial state, such as remote logins) 324 233.33 P
1.38 (with active processes. As another example, we may) 324 221.33 P
0.64 (have selected a long thread of postings from a news-) 324 209.33 P
0.73 (group and wish to read them after we move to a dif-) 324 197.33 P
1.62 (ferent location. W) 324 185.33 P
1.62 (e do not want to restart the news) 398.93 185.33 P
-0.14 (reader and mark the thread again. If we do not support) 324 173.33 P
0.5 (this seamless switching between networks, we would) 324 161.33 P
2.77 (need to rewrite all these applications to save and) 324 149.33 P
2.01 (restore their own states. In MosquitoNet, we make) 324 137.33 P
2.92 (this seamless switching possible without requiring) 324 125.33 P
-0.08 (changes to existing applications on mobile hosts or on) 324 113.33 P
(the hosts corresponding with them.) 324 101.33 T
72 738 540 756 R
7 X
V
0 X
(This paper appears in the Proceedings of the 1996 USENIX T) 72 749.33 T
(echnical Conference, San Diego, CA, January 1996.) 319.03 749.33 T
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "1" 1
%%Page: "2" 2
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(2) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
1.38 (The second problem we address is how to maintain) 72 713.33 P
1.56 (connectivity when visiting foreign networks that do) 72 701.33 P
0.62 (not explicitly support mobility for visitors. A foreign) 72 689.33 P
2.89 (network is one operated by authorities other than) 72 677.33 P
1.81 (those operating a mobile host\325) 72 665.33 P
1.81 (s home network. For) 199.8 665.33 P
1.58 (the foreseeable future, the global network will con-) 72 653.33 P
0.59 (tinue to be a functioning anarchy) 72 641.33 P
0.59 (, i.e., a collection of) 206.21 641.33 P
0.37 (services under dif) 72 629.33 P
0.37 (ferent authorities. For many or) 143.66 629.33 P
0.37 (gani-) 267.45 629.33 P
2.92 (zations, there is little motivation to expend much) 72 617.33 P
0.44 (ef) 72 605.33 P
0.44 (fort solely on the behalf of mobile visitors. For this) 79.59 605.33 P
0.79 (reason, our mobile hosts do not require any mobility) 72 593.33 P
0.02 (support from the networks they visit. It is this issue of) 72 581.33 P
3.87 (mobility support in foreign networks that distin-) 72 569.33 P
-0.01 (guishes the emphasis of our work from previous work) 72 557.33 P
(on providing host mobility) 72 545.33 T
(.) 178.31 545.33 T
2.41 (Even if future networks adopt a standard mobility) 72 525.33 P
0.7 (protocol, our system provides mobility in the current) 72 513.33 P
0.24 (network. It took ten years for IP multicast to reach its) 72 501.33 P
0.7 (current stage of deployment. W) 72 489.33 P
0.7 (e do not want to wait) 200.35 489.33 P
0.75 (another ten years for mobile IP support that assumes) 72 477.33 P
0.06 (the existence of \322agents\323 operating on a mobile host\325) 72 465.33 P
0.06 (s) 284.11 465.33 P
0.14 (behalf in every network it visits. MosquitoNet mobile) 72 453.33 P
0.33 (hosts do not require such changes or additions to net-) 72 441.33 P
(work infrastructures outside their home domain.) 72 429.33 T
1.96 (T) 72 409.33 P
1.96 (o solve these problems and gain more experience) 77.41 409.33 P
1.11 (with mobility) 72 397.33 P
1.11 (, we have designed and implemented a) 126.64 397.33 P
0.13 (system that requires support only in the home domain) 72 385.33 P
-0.2 (of the mobile host and on the mobile host itself. While) 72 373.33 P
1.2 (our approach simpli\336es the system in some ways, it) 72 361.33 P
2.57 (raises design issues for the mobile host\325) 72 349.33 P
2.57 (s network) 246.27 349.33 P
0.7 (software. Our software must now support the mobile) 72 337.33 P
-0.08 (host\325) 72 325.33 P
-0.08 (s interactions with foreign networks as well as its) 91.45 325.33 P
4.31 (interactions with its home network. Determining) 72 313.33 P
0.75 (where we can or should keep mobility transparent to) 72 301.33 P
1.06 (the mobile host\325) 72 289.33 P
1.06 (s networking software is more com-) 138.57 289.33 P
0.95 (plex in our system than in systems with foreign net-) 72 277.33 P
(work support.) 72 265.33 T
2.13 (This paper presents our protocol, our resolution of) 72 245.33 P
2.12 (these design issues, and our system\325) 72 233.33 P
2.12 (s performance.) 226.46 233.33 P
4.48 (Our measurements show that switching between) 72 221.33 P
0.54 (available networks causes little disruption to applica-) 72 209.33 P
1.07 (tions running on mobile hosts or on the hosts corre-) 72 197.33 P
(sponding with them.) 72 185.33 T
2.15 (The next section describes the dif) 72 165.33 P
2.15 (ferences between) 216.72 165.33 P
-0.04 (our approach and the previous related work. Section 3) 72 153.18 P
0.58 (presents our mobile IP system design and implemen-) 72 141.18 P
0.87 (tation. Section 4 provides some performance evalua-) 72 129.03 P
0.55 (tion of the system. Section 5 describes what we have) 72 116.87 P
3.64 (learned as a result of implementing this system,) 72 104.87 P
-0.1 (including the advantages and disadvantages of operat-) 72 92.87 P
0.54 (ing without agents in foreign networks, and transpar-) 72 80.87 P
0.46 (ency issues for mobile IP implementations. Section 6) 324 713.18 P
0.58 (describes some future work for our project. The \336nal) 324 701.18 P
0.12 (sections give some concluding remarks, together with) 324 689.18 P
(release information for our software.) 324 677.18 T
1 12 Q
(2. Comparison with Pr) 324 645.85 T
(evious W) 440.45 645.85 T
(ork) 486.79 645.85 T
0 10 Q
4.34 (Several systems have been proposed \050and some) 324 625.18 P
0.66 (implemented\051 that provide host mobility in the Inter-) 324 613.18 P
0.3 (net. Existing Internet routing protocols are used in all) 324 601.18 P
0.61 (these systems. As illustrated in Figure 1, the systems) 324 589.03 P
4.3 (share several components with our approach. A) 324 577.03 P
2 F
3.29 (mobile host) 324 565.03 P
0 F
3.29 (\050MH\051 is a host that can be reached) 379.48 565.03 P
0.87 (through a constant) 324 553.03 P
2 F
0.87 (home IP addr) 402.99 553.03 P
0.87 (ess) 459.35 553.03 P
0 F
0.87 ( regardless of its) 471.57 553.03 P
0.51 (current location. A correspondent host \050CH\051 is a host) 324 541.03 P
-0.25 (that communicates with a mobile host. The correspon-) 324 529.03 P
0.78 (dent host could itself be mobile. Another component) 324 517.03 P
0.98 (in common is a stationary host, called a) 324 505.03 P
2 F
0.98 (home agent) 492.64 505.03 P
0 F
0.39 (\050HA\051. The home agent takes packets from correspon-) 324 493.03 P
3.04 (dent hosts addressed to a mobile host\325) 324 481.03 P
3.04 (s home IP) 493.92 481.03 P
1.1 (address and forwards them to the mobile host\325) 324 469.03 P
1.1 (s cur-) 516.41 469.03 P
0.88 (rent point-of-attachment. This point-of-attachment in) 324 457.03 P
1.93 (a foreign network is often called the mobile host\325) 324 445.03 P
1.93 (s) 536.11 445.03 P
2 F
1.55 (car) 324 433.03 P
1.55 (e-of addr) 336.96 433.03 P
1.55 (ess) 375.08 433.03 P
0 F
1.55 (. The home agent typically forwards) 387.3 433.03 P
1.69 (packets to the mobile host by) 324 421.03 P
2 F
1.69 (tunneling) 453.57 421.03 P
0 F
1.69 ( them. This) 491.35 421.03 P
324 72 540 720 C
324 72 540 411.98 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
396 186.98 513 227.48 18 RR
7 X
0 0 0 1 0 0 0 K
V
0.5 H
2 Z
0 X
N
324 74.48 540 178.48 R
7 X
V
1 9 Q
0 X
0.18 (Figur) 337.74 172.48 P
0.18 (e 1. Basic mobile host scenario:) 359.08 172.48 P
0 F
0.18 (The top half) 481.9 172.48 P
7.17 (of the \336gure shows a correspondent host) 337.74 163.48 P
0.19 (communicating with a mobile host that is still on its) 337.74 154.48 P
0.41 (home network. The bottom half of the \336gure shows) 337.74 145.48 P
-0.14 (the path packets take when the mobile host moves to) 337.74 136.48 P
-0.2 (a foreign network. The correspondent host continues) 337.74 127.48 P
3.68 (sending packets to the mobile host\325) 337.74 118.48 P
3.68 (s home IP) 482.89 118.48 P
0.54 (address. An agent in that network \050the home agent\051) 337.74 109.48 P
0.76 (takes responsibility for forwarding these packets to) 337.74 100.48 P
3.68 (the mobile host\325) 337.74 91.48 P
3.68 (s new location on the foreign) 403.11 91.48 P
(network.) 337.74 82.48 T
468 377.12 504 395.12 R
7 X
V
0 X
N
0 10 Q
(CH) 477 382.52 T
333 294.98 454.5 339.98 R
7 X
V
0 X
(HA = Home Agent) 333 333.32 T
(MH = Mobile Host) 333 318.32 T
(CH = Correspondent Host) 333 303.32 T
J
J
333 348.98 450 389.48 18 RR
7 X
V
0 X
N
387 353.48 423 371.48 R
7 X
V
0 X
N
(MH) 396 358.88 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(Home network) 351 378.15 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
432.81 379.13 423 371.48 427.27 383.17 430.04 381.15 4 Y
V
90 147.52 45 18 468 371.48 A
337.5 236.48 454.5 276.98 18 RR
7 X
V
0 X
N
391.5 240.98 427.5 258.98 R
7 X
V
0 X
N
(HA) 400.5 246.38 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(Home network) 355.5 265.65 T
472.5 272.48 508.5 290.48 R
7 X
V
0 X
N
(CH) 481.5 277.88 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
435.97 268.13 427.5 258.99 429.84 271.23 432.91 269.68 4 Y
V
90 151.62 45 22.5 472.5 258.98 A
436.5 204.98 472.5 222.98 R
7 X
V
0 X
N
(MH) 445.5 210.38 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(Foreign network) 410.62 193.66 T
429.76 228.41 436.5 218.48 425.52 223.33 427.64 225.87 4 Y
V
409.5 240.98 427.64 225.87 2 L
N
324 294.98 535.5 294.98 2 L
1 H
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
324 72 540 720 C
0 0 612 792 C
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "2" 2
%%Page: "3" 3
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(3) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0.59 (means the home agent encapsulates each packet with) 72 713.33 P
-0.17 (an extra IP header that directs the packet to the mobile) 72 701.33 P
2.77 (host\325) 72 689.33 P
2.77 (s current care-of address. Once received, this) 91.45 689.33 P
1.26 (packet must be) 72 677.33 P
2 F
1.26 (decapsulated) 138.27 677.33 P
0 F
1.26 ( to strip of) 191.04 677.33 P
1.26 (f the outside) 236.04 677.33 P
-0.08 (header before delivery to an application on the mobile) 72 665.33 P
-0.01 (host. In this way the application receives a packet that) 72 653.33 P
0.7 (looks like a normal packet it would receive while on) 72 641.33 P
(its home network.) 72 629.33 T
0.82 (The main point that distinguishes our approach from) 72 609.33 P
-0.08 (these other systems is how much support is demanded) 72 597.33 P
0.23 (from the foreign networks a mobile host visits. Previ-) 72 585.33 P
1.08 (ous work usually assumes the existence of a) 72 573.33 P
2 F
1.08 (for) 259.48 573.33 P
1.08 (eign) 270.78 573.33 P
-0.24 (agent) 72 561.33 P
0 F
-0.24 ( \050F) 94.22 561.33 P
-0.24 (A\051 in each network the mobile host visits. The) 104.63 561.33 P
1.47 (foreign agent serves as a temporary point-of-attach-) 72 549.33 P
1.13 (ment for any mobile hosts visiting its network. This) 72 537.33 P
3.12 (means that the mobile host\325) 72 525.33 P
3.12 (s home agent tunnels) 194.48 525.33 P
0.47 (packets to the foreign agent, which then decapsulates) 72 513.33 P
1.79 (them and hands the original packets directly to the) 72 501.33 P
0.19 (mobile host on its network. The IP address of the for-) 72 489.33 P
-0.01 (eign agent becomes the care-of address for the mobile) 72 477.33 P
(host.) 72 465.33 T
-0.19 (In contrast, our approach only requires of the host net-) 72 445.33 P
2.58 (work its ability to provide a dynamically-assigned) 72 433.33 P
3.13 (temporary IP care-of address for the mobile host) 72 421.33 P
0.39 (itself. This IP address could be assigned by hand, but) 72 409.33 P
1.84 (this functionality is more easily provided automati-) 72 397.33 P
-0.22 (cally by DHCP [4] or other link-level address negotia-) 72 385.18 P
1.28 (tions such as those used by PPP and SLIP services.) 72 373.18 P
1.24 (W) 72 361.18 P
1.24 (ithout a foreign agent, networking software in the) 81.04 361.18 P
3.09 (mobile host decapsulates the tunneled packets. In) 72 349.18 P
0.95 (ef) 72 337.18 P
0.95 (fect, we have collocated a simple foreign agent on) 79.59 337.18 P
1.58 (the mobile host itself. The dif) 72 325.18 P
1.58 (ference in the assign-) 198.02 325.18 P
2.33 (ment of care-of addresses between our design and) 72 313.18 P
0.2 (designs that use foreign agents is further illustrated in) 72 301.18 P
1.22 (Figure 2. W) 72 289.03 P
1.22 (e describe the advantages and disadvan-) 121.68 289.03 P
-0.12 (tages of leaving out the foreign agent in more detail in) 72 277.03 P
(Section 5.1.) 72 264.87 T
0.34 (Below we compare some previous mobile IP systems) 72 244.87 P
(to our work.) 72 232.87 T
0.27 (The Columbia system [6] takes the so-called \324embed-) 72 212.72 P
0.47 (ded network\325 approach. The approach requires a spe-) 72 200.72 P
1.43 (cial kind of router) 72 188.72 P
1.43 (, called a Mobile Support Router) 147.81 188.72 P
1.43 (.) 285.5 188.72 P
0.26 (The Mobile Support Routers work closely together to) 72 176.72 P
0.82 (make the partitioned physical networks \050called cells\051) 72 164.72 P
1.47 (appear as a single subnet. While it is optimized for) 72 152.72 P
-0.06 (localized mobility) 72 140.72 P
-0.06 (, it is hard to scale beyond the scope) 143.79 140.72 P
(of a single or) 72 128.72 T
(ganization such as a university) 124.31 128.72 T
(.) 246.42 128.72 T
1.06 (The IMHP \050Internet Mobile Host Protocol\051 [13] and) 72 108.57 P
0.65 (the Harvard system [2] are roughly the same, though) 72 96.41 P
0.61 (they were developed independently) 72 84.41 P
0.61 (. The strong point) 215.07 84.41 P
0.08 (of the proposals is that they can provide host mobility) 324 263.33 P
1.77 (over a wide area and conver) 324 251.33 P
1.77 (ge to an optimal route) 445.14 251.33 P
1.73 (ef) 324 239.33 P
1.73 (\336ciently) 331.59 239.33 P
1.73 (. But to obtain optimal routing, the MH\325) 363.72 239.33 P
1.73 (s) 536.11 239.33 P
1.03 (previous F) 324 227.33 P
1.03 (A, its CHs, and the routers along the way) 366.79 227.33 P
1.45 (\050called cache agents\051 are used to cache the location) 324 215.33 P
0.96 (binding for the MH. The problem with this is that it) 324 203.33 P
0.68 (requires adding this extra support to many entities in) 324 191.33 P
(the Internet.) 324 179.33 T
0.27 (VIP [16] places even more requirements on the exist-) 324 159.18 P
1.47 (ing infrastructure of the Internet. Its key point is to) 324 147.18 P
1.65 (separate logical identi\336ers from physical identi\336ers.) 324 135.18 P
1.93 (The network layer is divided into two sublayers: a) 324 123.18 P
2.49 (V) 324 111.18 P
2.49 (irtual Network Sublayer and a Physical Network) 330.62 111.18 P
-0.25 (Sublayer) 324 99.18 P
-0.25 (. The virtual to physical mapping information) 359 99.18 P
2.8 (of migrating hosts is cached in Address Mapping) 324 87.18 P
324 72 540 720 C
324 270 538.62 720 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
436.5 648 558 711 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(HA = Home Agent) 436.5 704.33 T
(MH = Mobile Host) 436.5 689.33 T
(F) 436.5 674.33 T
(A = Foreign Agent) 441.32 674.33 T
(R) 436.5 659.33 T
(T = Router) 442.57 659.33 T
J
J
395.3 615.95 476.3 615.95 2 L
3 H
2 Z
N
333 675 405 675 2 L
N
404.3 633.95 440.3 651.95 R
7 X
V
0.5 H
0 X
N
422.3 633.95 422.3 615.95 2 L
1 H
N
(R) 413.3 639.35 T
(T) 419.37 639.35 T
351 693 387 711 R
7 X
V
0.5 H
0 X
N
369 693 369 675 2 L
1 H
N
(HA) 360 698.4 T
431.3 579.95 467.3 597.95 R
7 X
V
0.5 H
0 X
N
(MH) 440.3 585.35 T
449.3 615.95 449.3 597.95 2 L
1 H
N
417.96 664.52 415.29 651.95 410.89 664.02 414.42 664.27 4 Y
V
0.5 H
14.25 90 28.3 50.05 387 651.95 A
419.9 593.61 431.46 590.46 419.98 587.01 419.94 590.31 4 Y
V
404.3 642.95 M
383.25 645.54 359.78 625.89 372.67 604.62 D
382.83 587.87 402.76 589.52 419.95 590.3 D
N
331.5 526.5 403.5 526.5 2 L
3 H
N
403.5 486.05 439.5 504.05 R
7 X
V
0.5 H
0 X
N
421.5 486.05 421.5 468.05 2 L
1 H
N
(R) 412.5 491.45 T
(T) 418.57 491.45 T
349.5 544.5 385.5 562.5 R
7 X
V
0.5 H
0 X
N
367.5 544.5 367.5 526.5 2 L
1 H
N
(HA) 358.5 549.9 T
430.5 432.05 466.5 450.05 R
7 X
V
0.5 H
0 X
N
(MH) 439.5 437.45 T
448.5 468.05 448.5 450.05 2 L
1 H
N
423.87 516.45 421.5 504.05 416.94 515.83 420.41 516.14 4 Y
V
0.5 H
14.15 90 36 49.45 385.5 504.05 A
472.5 486.05 508.5 504.05 R
7 X
V
0 X
N
(F) 481.5 491.45 T
(A) 486.32 491.45 T
481.5 486.05 481.5 468.05 2 L
1 H
N
460.96 498.36 472.5 495.05 460.96 491.74 460.96 495.05 4 Y
V
439.5 495.05 460.96 495.05 2 L
0.5 H
N
478.52 439.48 466.5 441.05 477.53 446.09 478.03 442.78 4 Y
V
285.93 360 42 45 466.5 486.05 A
407.5 468.05 488.5 468.05 2 L
3 H
N
319.5 274.5 535.5 423 R
7 X
V
1 9 Q
0 X
0.53 (Figur) 333.24 417 P
0.53 (e 2. Car) 354.58 417 P
0.53 (e-of addr) 385.73 417 P
0.53 (esses:) 421.35 417 P
0 F
0.53 (The top of the \336gure) 445.62 417 P
1.5 (shows the home agent forwarding a packet to the) 333.24 408 P
1.1 (mobile host on a network without a foreign agent.) 333.24 399 P
0.9 (The destination address, or care-of address, for the) 333.24 390 P
2.38 (packet is a temporary IP address on the foreign) 333.24 381 P
0.6 (network. The router contains a map entry from this) 333.24 372 P
1.69 (IP address to the hardware address of the mobile) 333.24 363 P
1.28 (host\325) 333.24 354 P
1.28 (s interface. The bottom of the \336gure shows a) 350.75 354 P
0.14 (home agent forwarding a packet to a mobile host on) 333.24 345 P
0.31 (a foreign network with a foreign agent. In this case,) 333.24 336 P
-0.08 (the mobile host\325) 333.24 327 P
-0.08 (s care-of address is the IP address of) 391.09 327 P
0.06 (the foreign agent. The router hands the packet to the) 333.24 318 P
1.1 (foreign agent, which then delivers it to the mobile) 333.24 309 P
0.75 (host. In this case, the foreign agent contains a map) 333.24 300 P
0.25 (entry that translates from the mobile host\325) 333.24 291 P
0.25 (s home IP) 485.24 291 P
(address to its hardware address.) 333.24 282 T
319.5 571.5 535.5 571.5 2 L
1 H
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
324 72 540 720 C
0 0 612 792 C
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "3" 3
%%Page: "4" 4
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(4) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2.59 (T) 72 713.33 P
2.59 (ables on source hosts or intermediate routers for) 77.41 713.33 P
0.31 (address resolution. Entries in these tables are updated) 72 701.33 P
0.23 (\050created or invalidated\051 by control packets. This tech-) 72 689.33 P
2.94 (nique can be applied to other identi\336ers, such as) 72 677.33 P
0.54 (group identi\336ers for multicast communications, mak-) 72 665.33 P
0.65 (ing this a general mechanism. But this approach also) 72 653.33 P
-0.22 (has the problem of requiring many changes to existing) 72 641.33 P
(routers.) 72 629.33 T
2.38 (The current draft of the IETF Mobile IP W) 72 609.33 P
2.38 (orking) 261.89 609.33 P
1.38 (Group [10] is similar to the IMHP and the Harvard) 72 597.18 P
1.48 (system, but it dif) 72 585.18 P
1.48 (fers from them in that it treats the) 143.49 585.18 P
1.97 (support for optimal routing as an extension. In the) 72 573.18 P
1.42 (proposal, the home agent has primary responsibility) 72 561.18 P
3.09 (for processing and coordinating mobility services,) 72 549.18 P
0.82 (while the foreign agent only has a passive and mini-) 72 537.18 P
0.42 (mal role. Although a full foreign agent is expected to) 72 525.18 P
-0.19 (do more, the protocol only requires it to relay registra-) 72 513.18 P
1.65 (tion requests \050change-of-location noti\336cations\051 from) 72 501.18 P
2.14 (the mobile host to its home agent and decapsulate) 72 489.18 P
0.72 (packets for delivery to the mobile host. The protocol) 72 477.18 P
0.15 (does not require any extra code on systems other than) 72 465.18 P
(the mobile hosts, home agents and foreign agents.) 72 453.18 T
1.89 (W) 72 433.18 P
1.89 (e chose to base our implementation on the IETF) 80.64 433.18 P
0.77 (speci\336cation, because it entails the fewest unrealistic) 72 421.18 P
2.49 (expectations about the amount of support required) 72 409.18 P
0.11 (from other hosts and routers in the Internet. However) 72 397.18 P
0.11 (,) 285.5 397.18 P
1.38 (we have reduced these expectations even further by) 72 385.18 P
1.62 (leaving the foreign agent out of our basic protocol.) 72 373.18 P
0.55 (While the most recent draft of the IETF speci\336cation) 72 361.18 P
0.13 (suggests that the mobile host could use a dynamically) 72 349.18 P
0.33 (acquired IP address instead of the foreign agent as its) 72 337.18 P
0.86 (care-of address, it does not discuss the design impli-) 72 325.18 P
1.69 (cations of this approach, and it still encourages the) 72 313.18 P
(use of full foreign agents.) 72 301.18 T
0.27 (Several of the above systems include security mecha-) 72 281.18 P
0.33 (nisms. W) 72 269.18 P
0.33 (e believe that strong security is as necessary) 109.31 269.18 P
-0.16 (for mobile IP as it is for all networking software, but a) 72 257.18 P
0.47 (full discussion of mobile IP security issues is beyond) 72 245.18 P
0.38 (the scope of this paper) 72 233.18 P
0.38 (. W) 162.94 233.18 P
0.38 (e do not yet implement any) 176.96 233.18 P
2.53 (special security measures in our system. Although) 72 221.18 P
0.19 (many people worry that mobile computing poses spe-) 72 209.18 P
0.17 (cial security risks, the majority of the perceived prob-) 72 197.18 P
0.82 (lems are existing problems of the entire Internet that) 72 185.18 P
1.79 (are simply brought into much sharper focus by the) 72 173.18 P
(advent of mobile hosts.) 72 161.18 T
1 12 Q
(3. MosquitoNet Mobile IP Design) 72 129.85 T
0 10 Q
1.01 (In this section we describe the current design of our) 72 109.18 P
0.51 (mobile IP system. W) 72 97.18 P
0.51 (e start by describing the roles of) 156.62 97.18 P
0.54 (the mobile host, home agent and correspondent hosts) 72 85.18 P
1.17 (and how they implement our basic mobile IP proto-) 324 713.33 P
1.09 (col. W) 324 701.33 P
1.09 (e then list possible optimizations to this basic) 350.95 701.33 P
3.24 (protocol, including a simple one we have imple-) 324 689.33 P
0.21 (mented. Finally) 324 677.33 P
0.21 (, we describe the structure of our soft-) 386.34 677.33 P
1.74 (ware. The software must correctly handle the basic) 324 665.33 P
1.06 (protocol without precluding the use of the optimiza-) 324 653.33 P
0.68 (tions. W) 324 641.33 P
0.68 (e have implemented this design in the Linux) 357.77 641.33 P
(operating system, version 1.2.13.) 324 629.33 T
1 12 Q
(3.1 System Components) 324 601 T
0 10 Q
-0.15 (Of the three basic entities in our mobile IP system, the) 324 580.33 P
2.25 (mobile host, home agent, and correspondent hosts,) 324 568.33 P
0.13 (only the mobile host and home agent require mobility) 324 556.33 P
2.53 (support. The mobile hosts require somewhat more) 324 544.33 P
1.45 (support in our system than in implementations with) 324 532.33 P
0.11 (foreign agents, since our mobile hosts must be able to) 324 520.33 P
-0.05 (encapsulate and decapsulate packets on their own. W) 324 508.33 P
-0.05 (e) 535.56 508.33 P
2.82 (consider this reasonable, because we have control) 324 496.33 P
(over the software on mobile hosts.) 324 484.33 T
0.21 (The mobile host must be able to receive packets from) 324 464.33 P
2.37 (correspondent hosts wherever it moves. T) 324 452.33 P
2.37 (o remain) 502.36 452.33 P
-0.07 (reachable, it must receive packets addressed to it at its) 324 440.33 P
2.33 (home network. When at home, it directly receives) 324 428.33 P
0.17 (these packets. When it leaves and connects to another) 324 416.33 P
1.75 (network, these packets must be forwarded to it. T) 324 404.33 P
1.75 (o) 535 404.33 P
1.55 (accomplish this, the mobile host needs to acquire a) 324 392.33 P
1.3 (temporary care-of IP address from the new network) 324 380.33 P
0.04 (\050perhaps dynamically via DHCP\051. Since our approach) 324 368.33 P
1.45 (does not assume the existence of a separate foreign) 324 356.33 P
-0.2 (agent in the new network, the mobile host serves as its) 324 344.33 P
-0.01 (own foreign agent and sends a registration message to) 324 332.33 P
0.24 (its home agent to notify it of the new care-of address.) 324 320.33 P
0.1 (At this point the home agent is prepared to tunnel any) 324 308.33 P
-0.21 (packets it receives from a mobile host\325) 324 296.33 P
-0.21 (s correspondent) 477.17 296.33 P
0.86 (hosts to the mobile host\325) 324 284.33 P
0.86 (s current care-of address, as) 425.23 284.33 P
(previously illustrated in Figure 1.) 324 272.18 T
0.49 (The mobile host must also be able to send packets as) 324 252.18 P
0.16 (well as receive them. At home, it sends packets in the) 324 240.18 P
0.55 (normal fashion. While away from home, in our basic) 324 228.18 P
1.26 (protocol, outgoing packets from the mobile host are) 324 216.18 P
1.8 (also tunneled through the home agent to the corre-) 324 204.18 P
0.7 (spondent hosts. W) 324 192.18 P
0.7 (ith no foreign agent on the foreign) 398.61 192.18 P
0.54 (network, the mobile host must encapsulate these out-) 324 180.18 P
0.9 (going packets itself. W) 324 168.18 P
0.9 (e can sometimes optimize the) 418.1 168.18 P
-0.15 (route for outgoing packets by sending them directly to) 324 156.18 P
(the correspondent hosts, as described in Section 3.2.) 324 144.03 T
1.35 (The basic role of a home agent is two-fold. It must) 324 124.03 P
2.57 (decapsulate packets sent from the mobile host for) 324 112.03 P
0.46 (delivery to correspondent hosts, and it must encapsu-) 324 100.03 P
0.9 (late packets sent from correspondent hosts for deliv-) 324 88.03 P
6.2 (ery to the mobile host\325) 324 76.03 P
6.2 (s care-of address. T) 438.8 76.03 P
6.2 (o) 535 76.03 P
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "4" 4
%%Page: "5" 5
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(5) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0.23 (encapsulate packets sent to the mobile host, the home) 72 713.33 P
0.15 (agent must be able to intercept them when they arrive) 72 701.33 P
0.98 (in the home network. T) 72 689.33 P
0.98 (o intercept these packets, the) 168.82 689.33 P
1.07 (home agent must function as the ARP proxy for the) 72 677.33 P
2.16 (mobile host upon receiving its registration request.) 72 665.33 P
1.82 (This is done by adding an ARP entry in the home) 72 653.33 P
1.21 (agent\325) 72 641.33 P
1.21 (s own ARP cache. The home agent must then) 96.44 641.33 P
1.31 (broadcast a gratuitous ARP on behalf of the mobile) 72 629.33 P
0.88 (host to void any stale ARP cache entries on hosts in) 72 617.33 P
0.05 (the same subnet as the mobile host\325) 72 605.33 P
0.05 (s home. The home) 213.97 605.33 P
0.95 (agent also adds an entry to its route table specifying) 72 593.33 P
0.27 (that all packets for the mobile host\325) 72 581.33 P
0.27 (s home IP address) 214.71 581.33 P
0.11 (must be encapsulated. It adds a) 72 569.33 P
2 F
0.11 (mobility binding) 199.6 569.33 P
0 F
0.11 ( to an) 265.55 569.33 P
3.36 (internal table to record the mobile host\325) 72 557.33 P
3.36 (s care-of) 249.94 557.33 P
0.69 (address and other information such as the lifetime of) 72 545.33 P
(the registration and any authentication information.) 72 533.33 T
1.89 (When the mobile host returns home, it de-registers) 72 513.33 P
0.65 (with the home agent, which then removes the mobil-) 72 501.33 P
-0.25 (ity binding and the special route table entry) 72 489.33 P
-0.25 (. The home) 243.22 489.33 P
0.68 (agent should also stop functioning as the ARP proxy) 72 477.33 P
(for the mobile host.) 72 465.33 T
1 12 Q
(3.2 Routing Optimizations) 72 437 T
0 10 Q
0.64 (Our basic mobile IP protocol uses a simple model of) 72 416.33 P
1.28 (mobile networking in which outgoing and incoming) 72 404.33 P
1.42 (packets are delivered indirectly via the home agent,) 72 392.33 P
2.21 (using an encapsulating tunnel, to make the mobile) 72 380.33 P
1.63 (host appear as if it were still on its home network.) 72 368.33 P
0.09 (While this basic protocol is simple and always works,) 72 356.33 P
0.21 (the extra path through the home agent adds latency to) 72 344.33 P
-0.16 (packet delivery) 72 332.33 P
-0.16 (. This section lists some desirable rout-) 132.56 332.33 P
4.15 (ing optimizations for outgoing packets from the) 72 320.33 P
0.11 (mobile host, showing how they can be performed in a) 72 308.33 P
1.45 (system without foreign agents. \050W) 72 296.33 P
1.45 (e do not consider) 215.05 296.33 P
0.21 (routing optimizations for the reverse path) 72 284.33 P
3 F
0.21 (-) 241.55 284.33 P
0 F
0.21 ( from cor-) 247.04 284.33 P
0.09 (respondents to the mobile host) 72 272.33 P
3 F
0.09 (-) 197.18 272.33 P
0 F
0.09 ( as they are necessar-) 202.67 272.33 P
1.4 (ily more dif) 72 260.33 P
1.4 (\336cult and we have not yet implemented) 121.84 260.33 P
1.5 (any of them. These optimizations require the corre-) 72 248.33 P
0.88 (spondent host to be able to locate the mobile host at) 72 236.33 P
(its care-of address.\051) 72 224.33 T
-0.11 (Optimizations for packets originating from the mobile) 72 204.33 P
0.64 (host can be evaluated based on at least three criteria:) 72 192.33 P
3.72 (First, does the optimization improve the route a) 72 180.33 P
2.53 (packet takes, or does it eliminate the overhead of) 72 168.33 P
0.54 (encapsulation? \050Encapsulation adds 20 bytes or more) 72 156.33 P
1.74 (to the packet length and requires extra processing.\051) 72 144.33 P
2.07 (Second, does the optimization require some under-) 72 132.33 P
3.5 (standing of mobility on the correspondent hosts?) 72 120.33 P
0.35 (Some correspondent hosts may be mobile themselves) 72 108.33 P
2.81 (or may run mobile-aware software. W) 72 96.33 P
2.81 (e call these) 237.96 96.33 P
2 F
3.06 (smart) 72 84.33 P
3.06 (corr) 100.34 84.33 P
3.06 (espondent hosts) 117.19 84.33 P
0 F
3.06 (, and we\325d like to take) 183.85 84.33 P
0.44 (advantage of them when possible. A third criterion is) 324 713.33 P
0.39 (whether routers or \336rewalls are likely to object to the) 324 701.33 P
(way a packet is addressed or sent.) 324 689.33 T
-0.16 (T) 324 669.33 P
-0.16 (o improve both the path packets take as well as elim-) 329.41 669.33 P
0.55 (inate encapsulation overhead, a mobile host can send) 324 657.33 P
0.54 (packets directly to its correspondent host. This forms) 324 645.33 P
1.79 (a) 324 633.18 P
2 F
1.79 (triangle r) 332.73 633.18 P
1.79 (oute) 372.2 633.18 P
0 F
1.79 (, as illustrated in Figure 3. For this) 389.42 633.18 P
1 (simple optimization, we set the source IP address of) 324 621.18 P
0.45 (the packets from the mobile host to the mobile host\325) 324 609.18 P
0.45 (s) 536.11 609.18 P
4.4 (home IP address rather than its current care-of) 324 597.18 P
2.07 (address. In this way) 324 585.18 P
2.07 (, the mobile host can move as) 408.99 585.18 P
1.93 (many times as it desires without the correspondent) 324 573.18 P
-0.08 (host noticing. As far as the correspondent host knows,) 324 561.18 P
0.96 (the mobile host is always at its home address. If the) 324 549.18 P
2.57 (source address were allowed to re\337ect the current) 324 537.18 P
0.71 (care-of address, then packets with a changed address) 324 525.18 P
0.89 (would not be recognized as coming from the mobile) 324 513.18 P
-0.11 (host without modi\336cations to the correspondent host\325) 324 501.18 P
-0.11 (s) 536.11 501.18 P
(software.) 324 489.18 T
0.39 (The problem with this optimization is that it does not) 324 258.33 P
-0.01 (work with some security-conscious routers that forbid) 324 246.33 P
1.8 (transit traf) 324 234.33 P
1.8 (\336c. T) 367 234.33 P
1.8 (ransit traf) 389.57 234.33 P
1.8 (\336c is traf) 429.79 234.33 P
1.8 (\336c with a source) 468.77 234.33 P
0.4 (address not local to the network, as is the case with a) 324 222.33 P
1.93 (packet using the mobile host\325) 324 210.33 P
1.93 (s home IP address as) 448.95 210.33 P
0.12 (source address. If the foreign network has been set up) 324 198.33 P
0.32 (to forbid transit traf) 324 186.33 P
0.32 (\336c, then the routers will drop out-) 403.38 186.33 P
1.31 (going packets from a mobile host using the triangle) 324 174.33 P
0.38 (route optimization. This problem does not occur with) 324 162.33 P
0.72 (the unoptimized route, which is why we have imple-) 324 150.33 P
-0.09 (mented both options. If we \336nd that we cannot use the) 324 138.33 P
0.38 (optimization, through failed attempts to \322ping\323 a cor-) 324 126.33 P
-0.07 (respondent host, then we can revert to using the unop-) 324 114.33 P
3.2 (timized route. W) 324 102.33 P
3.2 (e can cache this information for) 397.09 102.33 P
1.61 (further use in the Mobile Policy T) 324 90.33 P
1.61 (able described in) 469.03 90.33 P
(Section 3.3.) 324 78.18 T
324 72 540 720 C
324 275 540 485.85 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
391.5 377.85 508.5 418.35 18 RR
7 X
0 0 0 1 0 0 0 K
V
0.5 H
2 Z
0 X
N
324 283.35 540 364.35 R
7 X
V
1 9 Q
0 X
0.29 (Figur) 337.74 358.35 P
0.29 (e 3. T) 359.08 358.35 P
0.29 (riangle r) 380.25 358.35 P
0.29 (oute optimization:) 413.63 358.35 P
0 F
0.29 (This \336gure) 486.71 358.35 P
0.75 (shows a simple route optimization called a triangle) 337.74 349.35 P
1.57 (route. The optimization allows the mobile host to) 337.74 340.35 P
2.47 (send a packet to the correspondent host without) 337.74 331.35 P
1.66 (tunneling it through the home agent. This path is) 337.74 322.35 P
0.23 (shown with a dotted line. The path for packets from) 337.74 313.35 P
1.32 (the correspondent host to the mobile host remains) 337.74 304.35 P
(unoptimized and passes through the home agent.) 337.74 295.35 T
333 436.35 450 476.85 18 RR
7 X
V
0 X
N
391.5 445.14 427.5 458.85 R
7 X
V
0 X
N
0 10 Q
(HA) 400.5 448.7 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(Home network) 351 464.36 T
468 455.36 504 473.36 R
7 X
V
0 X
N
(CH) 477 460.76 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
436.5 395.85 472.5 413.85 R
7 X
V
0 X
N
(MH) 445.5 401.25 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(Foreign network) 419.62 384.53 T
439.5 443.2 427.5 442.99 437.57 449.52 438.53 446.36 4 Y
V
468 455.36 438.53 446.36 2 L
N
449.08 424.56 454.5 413.85 444.23 420.06 446.66 422.31 4 Y
V
427.5 442.99 446.66 422.31 2 L
N
J
461.28 445.41 468 455.36 467.57 443.36 464.43 444.39 4 Y
V
J
454.5 413.85 464.43 444.39 2 L
J
454.5 413.85 455.66 417.41 2 L
N
[9.005 7.804] 9.005 I
455.66 417.41 463.27 440.82 2 L
N
J
463.27 440.82 464.43 444.39 2 L
N
0 0 0 1 0 0 0 K
J
0 0 0 1 0 0 0 K
324 72 540 720 C
0 0 612 792 C
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "5" 5
%%Page: "6" 6
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(6) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
1.1 (A variant of the triangle route optimization, suitable) 72 713.33 P
2.34 (for use on networks that forbid transit traf) 72 701.33 P
2.34 (\336c, still) 255.65 701.33 P
-0.15 (sends the packet directly to the correspondent host but) 72 689.33 P
0.74 (encapsulates the packet using the mobile host\325) 72 677.33 P
0.74 (s local) 261.43 677.33 P
4.12 (source IP address. Now the packet will not be) 72 665.33 P
1.46 (dropped by the \336lters in the local router) 72 653.33 P
1.46 (, because it) 240.38 653.33 P
2.05 (has a valid local source address. This optimization) 72 641.33 P
0.26 (eliminates the sub-optimal routing for outgoing pack-) 72 629.33 P
0.37 (ets but not the encapsulation overhead. It is appropri-) 72 617.33 P
1.1 (ate when the mobile host knows that the destination) 72 605.33 P
0.48 (host has transparent IP-in-IP decapsulation capability) 72 593.33 P
(such as is found in recent Linux development kernels.) 72 581.33 T
0.43 (Finally) 72 561.33 P
0.43 (, there are times when a mobile host wishes to) 99.69 561.33 P
0.3 (talk directly with other hosts, without any attempts to) 72 549.33 P
2.38 (hide its current physical location. This is the case) 72 537.33 P
0.12 (when answering foreign-network management probes) 72 525.33 P
2.52 (\050such as ICMP ping and SNMP\051. This could also) 72 513.33 P
1.22 (occur if the mobile host contacts correspondents for) 72 501.33 P
-0.01 (short periods knowing it will not accumulate any con-) 72 489.33 P
0.13 (nection state with them. For example, the mobile host) 72 477.33 P
1.11 (may request a web page directly from a web server) 72 465.33 P
1.11 (.) 285.5 465.33 P
0.21 (The web server simply responds and does not need to) 72 453.33 P
-0.2 (track the mobile host further) 72 441.33 P
-0.2 (. If the mobile host moves) 184.54 441.33 P
1.21 (before receiving the response, the user can retry the) 72 429.33 P
0.06 (operation. For this optimization the mobile host sends) 72 417.33 P
2.35 (packets directly to the correspondent host, without) 72 405.33 P
4.52 (encapsulation and without setting the source IP) 72 393.33 P
0.76 (address to its home IP address. This is the most ef) 72 381.33 P
0.76 (\336-) 279.11 381.33 P
0.26 (cient mechanism, but it provides no mobility support.) 72 369.33 P
0.19 (Unless the correspondent host has extra mobility sup-) 72 357.33 P
-0.01 (port itself, it will not be able to continue communicat-) 72 345.33 P
(ing with the mobile host if it moves again.) 72 333.33 T
0.94 (Given these optimizations, a mobile host must make) 72 313.33 P
0.15 (three decisions about how to send a packet: 1\051 wheth-) 72 301.33 P
1.38 (er to send a packet directly or tunnel it through the) 72 289.33 P
0.14 (home agent, 2\051 if sending the packet directly) 72 277.33 P
0.14 (, whether) 250.65 277.33 P
1.19 (to encapsulate it, and 3\051 whether to use its home IP) 72 265.33 P
0.95 (address or local address as the source address of the) 72 253.33 P
1.42 (packet. While we only implement the triangle route) 72 241.33 P
1.26 (optimization, it is important that our software struc-) 72 229.33 P
5.31 (ture not preclude these other optimizations, as) 72 217.33 P
(described in the following section.) 72 205.33 T
1 12 Q
(3.3 Softwar) 72 177 T
(e on the Mobile Host) 133.44 177 T
0 10 Q
0.48 (Practicality dictates that we write our mobile IP code) 72 156.33 P
0.04 (in such a way as to minimize the impact on the rest of) 72 144.33 P
3.12 (the existing Linux kernel code. In fact, our only) 72 132.33 P
2.15 (changes to the kernel network software are to add) 72 120.33 P
0.39 (mobility support to IP by 1\051 altering the route lookup) 72 108.33 P
0.27 (function) 72 96.33 P
4 F
0.65 (ip_rt_route\050\051) 108.1 96.33 P
0 F
0.27 (, 2\051 adding a Mobile Pol-) 186.1 96.33 P
0.36 (icy T) 72 84.33 P
0.36 (able, and 3\051 adding a virtual link-level interface,) 92.49 84.33 P
0.18 (called VIF) 324 713.33 P
0.18 (, to encapsulate packets. In this way we are) 365.86 713.33 P
0.93 (able to implement both our basic protocol, allow for) 324 701.33 P
1.2 (the previously described optimizations, and function) 324 689.33 P
(without foreign agents.) 324 677.33 T
1.48 (Figure 4 illustrates the or) 324 657.18 P
1.48 (ganization of our software) 430.3 657.18 P
0.36 (when sending out a packet from the mobile host. The) 324 645.18 P
0.37 (transport level protocols deliver a packet to IP) 324 633.18 P
0.37 (, which) 510.19 633.18 P
0.66 (we have extended for mobility support; our modi\336ed) 324 621.18 P
4 F
-0.52 (ip_rt_route\050\051) 324 609.18 P
0 F
-0.22 (uses its Mobile Policy table com-) 407.48 609.18 P
-0.15 (bined with the usual routing table lookup to determine) 324 597.18 P
-0.07 (how the packet should be treated. The source and des-) 324 585.18 P
2.73 (tination addresses of the packet are parameters to) 324 573.18 P
2.7 (these table and function lookups. As a result, the) 324 561.18 P
(packet may be treated as one of two basic types:) 324 549.18 T
(\245) 324 531.18 T
-0.41 (Outside the scope of mobile IP - Some applications) 337.74 531.18 P
0.01 (and services set the source address of a packet to a) 337.74 519.18 P
-0.07 (speci\336c outgoing network interface, and we do not) 337.74 507.18 P
2.79 (interfere with their intentions. For instance, an) 337.74 495.18 P
1.13 (application may use the local-loopback interface,) 337.74 483.18 P
-0.33 (and there is no reason to send such packets through) 337.74 471.18 P
1.01 (the home agent. Other mobile-aware applications) 337.74 459.18 P
0.05 (will have their own reasons for specifying particu-) 337.74 447.18 P
0.26 (lar network interfaces. If the source address of the) 337.74 435.18 P
1.86 (packet is already set, IP sends it directly to the) 337.74 423.18 P
1.91 (appropriate interface, as would be done without) 337.74 411.18 P
(mobile IP) 337.74 399.18 T
(.) 375.8 399.18 T
(\245) 324 382.18 T
0.47 (Requiring mobile IP - If the source address of the) 337.74 382.18 P
-0.44 (packet is unspeci\336ed, then we must assume that the) 337.74 370.18 P
1.08 (application that generated it is not mobile-aware.) 337.74 358.18 P
-0.42 (In this case we set its source address to the home IP) 337.74 346.18 P
3.27 (address. If the application has already set the) 337.74 334.18 P
1.92 (source address to the home IP address, this too) 337.74 322.18 P
(means the packet is subject to mobile IP) 337.74 310.18 T
(.) 497.45 310.18 T
-0.04 (If we decide the packet should use mobile IP) 324 290.18 P
-0.04 (, our next) 502.02 290.18 P
0.46 (decision is whether we should use any optimizations.) 324 278.18 P
2.01 (The decision is based upon the destination address) 324 266.18 P
0.53 (and information stored in the Mobile Policy T) 324 254.18 P
0.53 (able. If) 511.15 254.18 P
0.27 (we determine a correspondent host has extra mobility) 324 242.18 P
0.09 (support or that a route optimization is appropriate, we) 324 230.18 P
2.39 (cache that information in the table. In our current) 324 218.18 P
0.17 (implementation, though, the only choices are whether) 324 206.18 P
3.29 (to use the triangle route or to tunnel the packet) 324 194.18 P
1.01 (through the home agent. Also, we do not yet update) 324 182.18 P
2.03 (the table dynamically) 324 170.18 P
2.03 (. Using the triangle route, we) 413.5 170.18 P
0.47 (send the packet directly out the appropriate interface.) 324 158.18 P
0.24 (If the packet requires encapsulation, we send it to our) 324 146.18 P
(new virtual interface, VIF) 324 134.18 T
(, for encapsulation.) 427.06 134.18 T
-0.13 (Upon receiving a packet, VIF adds the extra IP header) 324 114.18 P
4.89 (and sets the appropriate source and destination) 324 102.18 P
2.05 (address in the outer \050encapsulating\051 header) 324 90.18 P
2.05 (. It then) 505.06 90.18 P
0.33 (hands the packet back to IP for delivery to the appro-) 324 78.18 P
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "6" 6
%%Page: "7" 7
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(7) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0.58 (priate physical interface. IP again looks at the packet) 72 326.33 P
3.7 (addresses and makes its decisions, as above. T) 72 314.33 P
3.7 (o) 283 314.33 P
0.1 (ensure the packet doesn\325) 72 302.33 P
0.1 (t get encapsulated again, VIF) 170.69 302.33 P
0.96 (must set the source address in the outer \050encapsulat-) 72 290.33 P
2.11 (ing\051 header to a speci\336c physical interface. In this) 72 278.33 P
1.97 (sense, we can consider IP-within-IP \050IPIP\051 to have) 72 266.33 P
0.73 (delivered a new packet to IP) 72 254.33 P
0.73 (, which treats the packet) 188.14 254.33 P
(based on the same set of rules as before.) 72 242.33 T
1.91 (T) 72 222.33 P
1.91 (o keep the implementation simple, we have sepa-) 77.41 222.33 P
2.34 (rated out routing decisions and mobility decisions.) 72 210.33 P
0.82 (This allows us to leave the routing tables unchanged) 72 198.33 P
0.44 (and merely add our Mobile Policy T) 72 186.33 P
0.44 (able for IP\325) 219.47 186.33 P
0.44 (s use.) 265.34 186.33 P
1.42 (In this way) 72 174.33 P
1.42 (, we are able to make these policy deci-) 118.63 174.33 P
0.21 (sions by altering only a single kernel routine: the ker-) 72 162.33 P
2.21 (nel\325) 72 150.33 P
2.21 (s IP route lookup function,) 87 150.33 P
4 F
5.31 (ip_rt_route\050\051) 207.5 150.33 P
0 F
2.21 (.) 285.5 150.33 P
4.57 (This function returns, for any given destination) 72 138.33 P
2.21 (address, both the recommended interface to use to) 72 126.33 P
1.84 (reach that destination and the recommended source) 72 114.33 P
0.08 (address to use. By overriding this routine, we are able) 72 102.33 P
2.49 (to give appropriate responses to IP) 72 90.33 P
2.49 (, TCP) 221.92 90.33 P
2.49 (, and any) 246.64 90.33 P
5.19 (other current or future software that may call) 72 78.33 P
72 72 288 720 C
72 333 288 720 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
[4.049 10.123] 2.025 I
4 H
2 Z
1 X
0 0 0 1 0 0 0 K
270 360 36 85.5 243 622 A
[3.8 9.501] 1.9 I
90 180 27 40.5 216 631 A
J
186 570 186 502 2 L
J
186 570 186 568 2 L
N
[3.879 9.697] 3.879 I
186 568 186 504 2 L
N
J
186 504 186 502 2 L
N
[4.368 10.921] 2.184 I
0 90 27 49.5 252 622 A
J
91.04 703.87 216 550 2 L
J
91.04 703.87 92.3 702.31 2 L
N
[4.046 10.115] 4.046 I
92.3 702.31 214.74 551.55 2 L
N
J
214.74 551.55 216 550 2 L
N
J
81 658 126 685 R
7 X
V
0.5 H
0 X
N
1 10 Q
(TCP) 93 667.96 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
144 658 189 685 R
7 X
V
0 X
N
(UDP) 153 667 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
207 658 252 685 R
5 X
V
0 X
N
(IPIP) 216 667 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
90 570 257 631 R
7 X
V
0 X
N
153 631 153 570 2 L
N
0 18 Q
(IP) 108 593.81 T
0 10 Q
(New Route Lookup) 159.1 618.99 T
(Mobile) 161.79 599.81 T
(Policy) 161.79 587.81 T
(T) 161.79 575.81 T
(able) 167.2 575.81 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(Route) 215.79 598.99 T
(T) 215.79 586.99 T
(able) 221.2 586.99 T
158.1 572 200.1 611.99 R
N
212.43 580.99 249.27 608.99 R
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
81 523 108 550 R
7 X
V
0 X
N
1 F
(lo) 91.8 532 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
171 523 198 550 R
7 X
V
0 X
N
(eth) 176.4 532 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
126 523 153 550 R
7 X
V
0 X
N
(strip) 130.5 532 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
216 523 243 550 R
5 X
V
0 X
N
(vif) 223.56 532 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
94.62 699.61 90.34 711.38 2 L
3 H
N
94.25 699.48 80.97 704.86 2 L
N
89.89 704.55 85.6 716.32 2 L
N
89.51 704.42 76.24 709.8 2 L
N
192.66 501.19 180 501.19 186.33 486 3 Y
1 X
V
1 H
0 X
N
72 338.5 288 479 R
7 X
V
1 9 Q
0 X
0.24 (Figur) 85.75 473 P
0.24 (e 4. Outgoing packet on a mobile host:) 107.08 473 P
0 F
0.24 (This) 258.25 473 P
0.54 (\336gure shows the link, network, and transport layers) 85.75 464 P
0.53 (of our protocols. The bottom \050link\051 layer shows the) 85.75 455 P
1.01 (device interfaces, with vif being a virtual interface) 85.75 446 P
8.63 (that accepts packets requiring IP-within-IP) 85.75 437 P
0.13 (encapsulation. This layer also includes the loopback) 85.75 428 P
1.48 (interface \050lo\051, the ethernet interface \050eth\051, and our) 85.75 419 P
1.63 (wireless radio interface \050strip\051. The network layer) 85.75 410 P
2.06 (uses the IP protocol. Besides TCP and UDP) 85.75 401 P
2.06 (, we) 257.19 401 P
3.46 (have added the IP-within-IP processing module) 85.75 392 P
3 (\050IPIP\051 to the transport layer) 85.75 383 P
3 (. The shaded boxes) 196.25 383 P
4.26 (indicate that vif and IP-within-IP are actually) 85.75 374 P
-0.1 (implemented as one module for ef) 85.75 365 P
-0.1 (\336ciency) 208.3 365 P
-0.1 (. The wide) 236.21 365 P
0.31 (dashed line shows the path an outgoing TCP packet) 85.75 356 P
(might take in the basic mobile IP protocol.) 85.75 347 T
72 72 288 720 C
0 0 612 792 C
4 10 Q
0 X
0 0 0 1 0 0 0 K
1.32 (ip_rt_route\050\051) 324 713.33 P
0 F
0.55 (. If a policy decision indicates the) 402 713.33 P
0.52 (packet should have the home IP address as its source) 324 701.33 P
0.38 (address, we merely return this address from the func-) 324 689.33 P
0.3 (tion call. If a policy decision indicates that we should) 324 677.33 P
1.8 (encapsulate the packet, we return the encapsulating) 324 665.33 P
5.04 (interface as the recommended interface to use.) 324 653.33 P
1.1 (Linux\325) 324 641.33 P
1.1 (s existing) 350.67 641.33 P
4 F
2.64 (ip_rt_route\050\051) 393.43 641.33 P
0 F
1.1 ( routine uses the) 471.43 641.33 P
1.85 (kernel\325) 324 629.33 P
1.85 (s routing tables to determine its answer; our) 351.77 629.33 P
3.15 (enhanced routine additionally consults the Mobile) 324 617.33 P
0.47 (Policy table and uses information from both tables to) 324 605.33 P
(determine its response.) 324 593.33 T
-0.22 (So far we have described the mechanism for sending a) 324 573.33 P
-0.18 (packet, but the mobile host must also process received) 324 561.33 P
-0.17 (packets. This is simpler than sending packets; because) 324 549.33 P
1.1 (there are no policy or routing decisions to make, all) 324 537.33 P
2.58 (necessary information for processing the packet is) 324 525.33 P
-0.13 (contained in its headers. The packet arrives at a physi-) 324 513.33 P
0.4 (cal interface and is delivered to IP) 324 501.33 P
0.4 (. If the packet is an) 461.91 501.33 P
1.1 (IP-within-IP packet, it will be decapsulated and will) 324 489.33 P
(take the reverse of the dotted path shown in Figure 4.) 324 477.18 T
1 12 Q
(3.4 Softwar) 324 448.85 T
(e on the Home Agent) 385.44 448.85 T
0 10 Q
0.39 (The home agent shares with the mobile host the need) 324 428.18 P
3.96 (for a virtual interface for encapsulation. This is) 324 416.18 P
2.86 (because the home agent must encapsulate packets) 324 404.18 P
1.38 (destined for the mobile host and tunnel them to the) 324 392.18 P
-0.25 (mobile host\325) 324 380.18 P
-0.25 (s current care-of address. For each mobile) 373.48 380.18 P
1.38 (host away from home that has registered its current) 324 368.18 P
1.35 (location with the home agent, there is an entry in a) 324 356.18 P
1.93 (mobility binding list on the home agent that keeps) 324 344.18 P
0.05 (track of information about the mobile host, such as its) 324 332.18 P
0.06 (care-of address and the lifetime of its current registra-) 324 320.18 P
0.02 (tion. The home agent also adds an entry in the routing) 324 308.18 P
1.73 (table to indicate that all subsequent packets for the) 324 296.18 P
0.06 (mobile host\325) 324 284.18 P
0.06 (s home IP address should be sent through) 373.79 284.18 P
1.15 (the VIF) 324 272.18 P
1.15 (. When the packets are sent to the VIF) 355.18 272.18 P
1.15 (, they) 516.63 272.18 P
1.78 (get encapsulated within another IP packet and then) 324 260.18 P
(tunneled to the mobile host\325) 324 248.18 T
(s current care-of address.) 435.67 248.18 T
2.77 (Another function of the home agent is to receive) 324 228.18 P
1.62 (encapsulated packets from the mobile host and for-) 324 216.18 P
3.88 (ward them to the correspondent host. This only) 324 204.18 P
-0.06 (involves decapsulation and IP forwarding. The decap-) 324 192.18 P
1.87 (sulation software is the same as that in the mobile) 324 180.18 P
2.4 (host, and we simply turn on IP forwarding in the) 324 168.18 P
1.22 (Linux kernel. In fact, more recent development ver-) 324 156.18 P
2.03 (sions of the Linux kernel \0501.3 and later\051 include a) 324 144.18 P
0.9 (decapsulation module. In these versions, we will not) 324 132.18 P
(need to include our own.) 324 120.18 T
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "7" 7
%%Page: "8" 8
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(8) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
1 12 Q
(4. Performance) 72 712 T
0 10 Q
0.9 (This section describes our test-bed and contains per-) 72 691.33 P
3.07 (formance data on the cost of a hand-of) 72 679.33 P
3.07 (f when a) 247.43 679.33 P
-0.03 (mobile host switches between dif) 72 667.33 P
-0.03 (ferent networks. Our) 205.03 667.33 P
0.03 (test-bed contains both wired and wireless networks so) 72 655.33 P
0.71 (that we can test switching between dif) 72 643.33 P
0.71 (ferent types of) 228.82 643.33 P
-0.25 (device interfaces. The goal is that our wireless devices) 72 631.33 P
1.47 (will provide a constantly available network connec-) 72 619.33 P
2.25 (tion, while the wired devices will provide a faster) 72 607.33 P
(connection where available.) 72 595.33 T
1.47 (Our mobile hosts are Gateway 2000 Handbook486s) 72 575.33 P
1 (running Linux [8]. The Handbooks are 40 Mhz sub-) 72 563.18 P
0.96 (notebooks that weigh less than three pounds and are) 72 551.18 P
1.74 (thus very comfortable to carry around. Each Hand-) 72 539.18 P
-0.23 (book has a PCMCIA card slot that we use for Ethernet) 72 527.18 P
4.01 (connectivity with a Linksys Ethernet card. Each) 72 515.18 P
2.1 (Handbook also has a 1) 72 503.18 P
2.1 (15.2 Kbit/second serial port) 170.59 503.18 P
(that we use to connect to our wireless devices.) 72 491.18 T
2.77 (Our wireless devices are Metricom radio modems) 72 471.18 P
0.03 ([14]. While these devices are commonly used to emu-) 72 459.03 P
1.61 (late a Hayes modem for point-to-point connections,) 72 447.03 P
2.6 (Metricom also provides a connectionless datagram) 72 435.03 P
0.2 (mode, called \322Starmode,\323 that enables a radio to send) 72 423.03 P
1.75 (packets to any number of other radios individually) 72 411.03 P
1.75 (.) 285.5 411.03 P
1.06 (W) 72 399.03 P
1.06 (e have written a Linux driver \050STRIP\051 that allows) 80.64 399.03 P
-0.17 (us to run IP over the radios\325 Starmode. In theory) 72 387.03 P
-0.17 (, Met-) 263.73 387.03 P
1.14 (ricom radios can send 100 Kbits/second through the) 72 375.03 P
0.71 (air) 72 363.03 P
0.71 (, but in practice 30-40 Kbits/second is the best we) 82.15 363.03 P
(achieve [3].) 72 350.87 T
1.1 (W) 72 330.87 P
1.1 (e use a Pentium 90 as the router to the home net-) 80.64 330.87 P
-0.11 (work of our mobile hosts. It is also usually used as the) 72 318.87 P
-0.1 (home agent for the mobile hosts. However) 72 306.87 P
-0.1 (, our imple-) 241.26 306.87 P
0.58 (mentation does not require the home agent to be col-) 72 294.87 P
1.88 (located with the router; rather) 72 282.87 P
1.88 (, we only require the) 197.99 282.87 P
1.23 (home agent to be one of the hosts on the same net-) 72 270.87 P
(work.) 72 258.87 T
0.11 (Figure 5 shows the setup of our test environment. Net) 72 238.72 P
1.21 (36.135 is a wired \050Ethernet\051 subnet for our research) 72 226.72 P
1.69 (group, serving as the home network for the mobile) 72 214.72 P
0.06 (hosts. Net 36.8 is a wired \050Ethernet\051 subnet belonging) 72 202.72 P
1.28 (to the Computer Science Department and connected) 72 190.72 P
0.05 (to the Internet. Net 36.134 is a wireless subnet for our) 72 178.72 P
0.63 (Metricom radio devices. The results we report below) 72 166.72 P
0.89 (are for a correspondent host located on net 36.8, but) 72 154.72 P
1.38 (we received similar results for a correspondent host) 72 142.72 P
(located on a campus network outside the department.) 72 130.72 T
2.41 (W) 72 110.72 P
2.41 (e performed two types of experiments. The \336rst) 80.64 110.72 P
0.03 (measures the disruption to the system when switching) 72 98.72 P
-0.01 (the care-of IP address of the mobile host to another IP) 72 86.72 P
1.38 (address on the same wired subnet. W) 324 355.98 P
1.38 (e measure this) 480.04 355.98 P
2 (disruption in terms of lost packets due to software) 324 343.98 P
0.1 (overhead and address registration. Switching between) 324 331.98 P
2 (addresses on the same subnet is not something we) 324 319.98 P
0.69 (usually do in practice, but it is a measurement of the) 324 307.98 P
1.7 (minimal essential software overhead of our system.) 324 295.98 P
2.81 (For these tests, a correspondent host continuously) 324 283.98 P
-0.06 (sends a UDP packet to the mobile host every 10 milli-) 324 271.98 P
0.48 (seconds, and the mobile host echoes the packet back.) 324 259.98 P
-0.01 (W) 324 247.98 P
-0.01 (e then measure the number of packets that were lost) 332.64 247.98 P
0.47 (during the interval in which the mobile host switches) 324 235.98 P
1.1 (addresses. This interval occurs between the time the) 324 223.98 P
1.32 (mobile host can no longer accept packets at the old) 324 211.98 P
0.27 (care-of address and the time it registers the new care-) 324 199.98 P
0.61 (of address with its home agent. Packets in \337ight dur-) 324 187.98 P
-0.21 (ing this time will be lost by arriving at the old address.) 324 175.98 P
0.29 (No matter how small this interval is, it is always pos-) 324 163.98 P
1.69 (sible for some packet in \337ight to arrive during this) 324 151.98 P
0.41 (time; however) 324 139.98 P
0.41 (, the lar) 381.5 139.98 P
0.41 (ger the interval, the more pack-) 412.42 139.98 P
(ets we lose.) 324 127.98 T
1.34 (Out of the twenty iterations of this experiment, six-) 324 107.98 P
1.16 (teen tests showed no packet loss, and the other four) 324 95.98 P
2.73 (tests lost one packet each. This indicates that the) 324 83.98 P
324 72 540 720 C
324 362.64 540 720 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
436.64 615.86 474.62 639 R
6 X
0 0 0 1 0 0 0 K
V
1 H
0 Z
0 X
N
0 10 Q
(MH) 445.88 623.17 T
0 0 0 1 0 0 0 K
J
0 0 0 1 0 0 0 K
J
448.05 645.5 445.72 633.43 441.3 644.9 444.67 645.2 4 Y
V
[6.724 6.724] 3.362 I
2 Z
12.29 90 45.58 55.29 400.13 633.43 A
J
362.71 660 445.71 671 R
7 X
V
0 X
(W) 365.55 662.19 T
(ired Subnet 36.8) 374.59 662.19 T
362.15 677.15 400.13 700.29 R
0 Z
N
427.38 487.61 465.36 510.75 R
6 X
V
0 X
N
(MH) 436.61 494.92 T
J
369.38 618.59 411.53 636.59 R
N
447.4 707.39 M
444.52 712.59 435.25 714.59 432.36 707.39 D
430.42 702.53 442.05 700.2 437.8 699.07 D
434.69 698.24 434.01 692.11 437.5 689.66 D
442.32 686.27 450.66 693.83 452.5 691.72 D
457.78 685.65 465.1 684.89 470.5 691.72 D
470.96 692.3 473.07 688.41 475.3 687.78 D
480.71 686.24 490.05 689.37 489.84 696.73 D
489.66 702.59 475.66 699.82 482.5 700.41 D
489.3 701.01 490.47 709.44 487.06 714.28 D
483.82 718.88 477.72 715.21 475.79 711.77 D
472.91 706.67 474.11 712.91 473.53 713.97 D
471.1 718.48 464.99 718.79 461.2 715.38 D
460.45 714.71 458.35 708.98 456.8 714.28 D
455.97 717.14 450.88 719.02 447.59 715.53 D
445.77 713.6 442.73 709.61 446.2 707.39 D
2 Z
N
(HA) 383.35 623.92 T
J
(Home Network 36.135) 0 -270 334.53 553.44 TF
533.57 655.57 365.35 654.59 2 L
4 H
N
342.86 710.57 342.86 543.43 2 L
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
383.45 636.59 383.45 654.59 2 L
1 H
N
369.38 627.59 344.29 627.59 2 L
N
462.64 656.02 462.64 686.92 2 L
N
7 X
90 450 62.27 15.86 413.58 547.72 G
0 X
90 450 62.27 15.86 413.58 547.72 A
(W) 364.45 543.24 T
(ireless Subnet 36.134) 373.49 543.24 T
384.11 489.18 414.36 517.18 14 RR
7 X
V
0.5 H
0 X
N
389.86 494.18 408.36 512.18 9 RR
7 X
V
0 X
N
396.36 500.18 401.36 506.18 2.5 RR
7 X
V
0 X
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
399.02 502.45 399.02 532.16 2 L
1 H
N
324 370.22 540 481.29 R
7 X
V
1 9 Q
0 X
5.54 (Figur) 337.74 475.29 P
5.54 (e 5. MosquitoNet test-bed:) 359.08 475.29 P
0 F
5.54 (The home) 484.47 475.29 P
0.31 (network for the mobile host \050MH\051 is net 36.135. As) 337.74 466.29 P
0.66 (shown by the dashed arrows, the mobile host visits) 337.74 457.29 P
2.75 (either network 36.8, which it accesses using its) 337.74 448.29 P
0.79 (Ethernet interface, or net 36.134, which it accesses) 337.74 439.29 P
4.22 (using its wireless interface. The cloud is our) 337.74 430.29 P
0.86 (artistically-challenged method for denoting the rest) 337.74 421.29 P
0.41 (of the Internet. The correspondent host \050CH\051 in this) 337.74 412.29 P
0.48 (example is on net 36.8 or elsewhere in the Internet.) 337.74 403.29 P
0.59 (In this \336gure the home agent \050HA\051 is collocated on) 337.74 394.29 P
2.43 (the router connecting our networks, but it could) 337.74 385.29 P
(instead be on some other host in the home network.) 337.74 376.29 T
383.5 579.5 413.75 607.5 14 RR
7 X
V
0.5 H
0 X
N
389.25 584.5 407.75 602.5 9 RR
7 X
V
0 X
N
395.75 590.5 400.75 596.5 2.5 RR
7 X
V
0 X
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 10 Q
(MH) 371.39 684.46 T
J
361.71 688.43 342.86 688.43 2 L
1 H
N
455.63 639 455.72 654.59 2 L
N
J
471.08 495.33 458.92 495.61 469.38 501.81 470.23 498.57 4 Y
V
[6.957 6.957] 3.478 I
284.67 360 44.65 90.68 458.93 586.28 A
[6.85 6.85] 3.425 I
0 90 102.01 107.57 401.56 586.29 A
J
399.29 584.57 399.29 618.59 2 L
N
399.29 584.57 399.29 563.1 2 L
N
399.02 502.45 427.14 502.45 2 L
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(CH) 507.67 701.75 T
J
498.44 694.43 536.42 717.57 R
0 Z
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
(CH) 502.1 673.75 T
J
492.87 666.43 530.85 689.57 R
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
488.57 712 498.57 712 2 L
2 Z
N
511.43 666.29 511.43 656.29 2 L
N
(wireless) 417.93 597.1 T
(link) 417.93 587.1 T
(wireless) 346.5 506.18 T
(link) 364.5 497.17 T
324 72 540 720 C
0 0 612 792 C
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "8" 8
%%Page: "9" 9
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(9) 303.5 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0.58 (interval during which packets can be lost is under 10) 72 713.33 P
0.32 (ms. W) 72 701.33 P
0.32 (e could not run the tests with a smaller interval) 97.63 701.33 P
1.11 (due to the accuracy available from our current mea-) 72 689.33 P
(surement tools.) 72 677.33 T
0.17 (The second experiment measures the disruption when) 72 657.33 P
1.73 (switching between two types of devices, both from) 72 645.33 P
0.27 (wired to wireless and from wireless to wired. W) 72 633.33 P
0.27 (e fur-) 265.8 633.33 P
2.48 (ther subdivide this latter experiment to distinguish) 72 621.33 P
2.29 (between) 72 609.33 P
2 F
2.29 (cold switching) 110.11 609.33 P
0 F
2.29 ( and) 170.45 609.33 P
2 F
2.29 (hot switching) 194.47 609.33 P
0 F
2.29 (. In cold) 250.38 609.33 P
0.23 (switching, we shut down one interface before starting) 72 597.33 P
0.57 (up the other) 72 585.33 P
0.57 (. The mobile host deletes the route to the) 120.37 585.33 P
1.62 (\336rst interface, brings the interface down, brings the) 72 573.33 P
0.89 (new interface up, adds its route, and \336nally registers) 72 561.33 P
0.79 (the new IP address with its home agent. Bringing an) 72 549.33 P
0.66 (interface up or down usually just involves con\336gura-) 72 537.33 P
1.27 (tion in software, but some devices may also require) 72 525.33 P
2.17 (hardware interaction. In hot switching, both of the) 72 513.33 P
-0.22 (interfaces are available and we just switch from one to) 72 501.33 P
1.41 (the other) 72 489.33 P
1.41 (. The mobile host merely changes its route) 108.13 489.33 P
-0.13 (and registers the new address with its home agent. For) 72 477.33 P
-0.08 (these tests the correspondent host sends a UDP packet) 72 465.33 P
0.42 (every 250 milliseconds. W) 72 453.33 P
0.42 (e chose the 250ms interval) 179.67 453.33 P
72 72 288 720 C
72 72 288 444.49 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
100.5 333.35 172.5 423.35 R
0.5 H
2 Z
3 X
0 0 0 1 0 0 0 K
N
100.5 351.56 172.5 351.56 2 L
N
100.5 369.35 172.5 369.35 2 L
N
100.5 342.35 172.5 342.35 2 L
N
100.5 387.35 172.5 387.35 2 L
N
100.5 405.35 172.5 405.35 2 L
N
100.5 360.35 172.5 360.35 2 L
N
100.5 378.35 172.5 378.35 2 L
N
100.5 396.35 172.5 396.35 2 L
N
100.5 414.35 172.5 414.35 2 L
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 10 Q
0 X
(packets lost) 105 311.67 T
(ether) 100.5 299.96 T
3 F
(\256) 122.99 299.96 T
0 F
( radio) 132.86 299.96 T
72 70.99 292.5 138.49 R
7 X
V
1 9 Q
0 X
1.66 (Figur) 85.75 132.49 P
1.66 (e 6. Device switching overhead:) 107.08 132.49 P
0 F
1.66 (This \336gure) 237.84 132.49 P
1.92 (shows the results from our experiments measuring) 85.75 123.49 P
1.18 (packet loss when the mobile host switches between) 85.75 114.49 P
5.09 (dif) 85.75 105.49 P
5.09 (ferent network interfaces. W) 95.58 105.49 P
5.09 (e repeated each) 213.1 105.49 P
1.16 (experiment ten times. The height of the bars shows) 85.75 96.49 P
-0.19 (the number of iterations in which the given number of) 85.75 87.49 P
(packets were lost.) 85.75 78.49 T
105 334.17 109.5 351.56 R
1 X
V
0 X
N
118.5 333.35 123 378.35 R
1 X
V
0 X
N
132 333.35 136.5 351.56 R
1 X
V
0 X
N
0 10 Q
(2) 132 322.46 T
0 12 Q
(4) 159 322.46 T
0 10 Q
(0) 103.5 322.46 T
159 333.35 163.5 349.35 R
1 X
V
0 X
N
(1) 118.5 322.46 T
(3) 145.5 322.46 T
(4) 94.5 365.67 T
(8) 94.5 403.46 T
(10) 88.5 419.67 T
(6) 94.5 383.67 T
(2) 94.5 349.46 T
(0) 94.5 329.67 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
198 333.35 270 423.35 R
3 X
N
198 351.56 270 351.56 2 L
N
198 369.35 270 369.35 2 L
N
198 342.35 270 342.35 2 L
N
198 387.35 270 387.35 2 L
N
198 405.35 270 405.35 2 L
N
198 360.35 270 360.35 2 L
N
198 378.35 270 378.35 2 L
N
198 396.35 270 396.35 2 L
N
198 414.35 270 414.35 2 L
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 X
(packets lost) 202.5 311.67 T
(radio) 198 299.96 T
3 F
(\256) 221.05 299.96 T
0 F
( ether) 230.92 299.96 T
202.5 334.17 207 396.35 R
1 X
V
0 X
N
216 333.35 220.5 360.35 R
1 X
V
0 X
N
(2) 229.5 322.46 T
(4) 256.5 322.46 T
(0) 201 322.46 T
(1) 216 322.46 T
(3) 243 322.46 T
(4) 192 365.67 T
(8) 192 403.46 T
(10) 186 419.67 T
(6) 192 383.67 T
(2) 192 349.46 T
(0) 192 329.67 T
(number of trials) 0 -270 86.18 333.35 TF
(cold switching) 144 429.09 T
100.5 184.21 172.5 274.21 R
3 X
N
100.5 202.42 172.5 202.42 2 L
N
100.5 220.21 172.5 220.21 2 L
N
100.5 193.21 172.5 193.21 2 L
N
100.5 238.21 172.5 238.21 2 L
N
100.5 256.21 172.5 256.21 2 L
N
100.5 211.21 172.5 211.21 2 L
N
100.5 229.21 172.5 229.21 2 L
N
100.5 247.21 172.5 247.21 2 L
N
100.5 265.21 172.5 265.21 2 L
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 X
(packets lost) 105 162.53 T
(ether) 100.5 150.82 T
3 F
(\256) 122.99 150.82 T
0 F
( radio) 132.86 150.82 T
105 184.21 109.5 265.21 R
1 X
V
0 X
N
118.5 184.21 123 193.21 R
1 X
V
0 X
N
(2) 132 173.32 T
(4) 159 173.32 T
(0) 103.5 173.32 T
(1) 118.5 173.32 T
(3) 145.5 173.32 T
(4) 94.5 216.53 T
(8) 94.5 254.32 T
(10) 88.5 270.53 T
(6) 94.5 234.53 T
(2) 94.5 200.32 T
(0) 94.5 180.53 T
198 184.21 270 274.21 R
3 X
N
198 202.42 270 202.42 2 L
N
198 220.21 270 220.21 2 L
N
198 193.21 270 193.21 2 L
N
198 238.21 270 238.21 2 L
N
198 256.21 270 256.21 2 L
N
198 211.21 270 211.21 2 L
N
198 229.21 270 229.21 2 L
N
198 247.21 270 247.21 2 L
N
198 265.21 270 265.21 2 L
N
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 X
(packets lost) 202.5 162.53 T
(radio) 198 150.82 T
3 F
(\256) 221.05 150.82 T
0 F
( ether) 230.92 150.82 T
202.5 184.21 207 274.21 R
1 X
V
0 X
N
(2) 229.5 173.32 T
(4) 256.5 173.32 T
(0) 201 173.32 T
(1) 216 173.32 T
(3) 243 173.32 T
(4) 192 216.53 T
(8) 192 254.32 T
(10) 186 270.53 T
(6) 192 234.53 T
(2) 192 200.32 T
(0) 192 180.53 T
(number of trials) 0 -270 86.18 184.21 TF
(hot switching) 144.71 281.1 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 72 288 720 C
0 0 612 792 C
0 10 Q
0 X
0 0 0 1 0 0 0 K
0.98 (because the round-trip time between the home agent) 324 713.33 P
2.42 (and the mobile host through the radio interface is) 324 701.33 P
1.08 (200~250ms. Figure 6 shows our results for this sec-) 324 689.18 P
-0.01 (ond set of experiments, after running each experiment) 324 677.18 P
(10 times.) 324 665.18 T
6.63 (When doing cold switching between dif) 324 645.18 P
6.63 (ferent) 516.68 645.18 P
0.86 (devices, the period of time during which packets are) 324 633.18 P
1.59 (lost is generally less than 1.25 seconds. The longer) 324 621.18 P
0.67 (time interval is due to bringing up the new interface.) 324 609.18 P
0.74 (This seems acceptable when compared with the time) 324 597.18 P
4.32 (spent physically switching between two devices.) 324 585.18 P
0.72 (When doing hot switching, we usually see no packet) 324 573.18 P
0.58 (loss. \050The only lost packet we observed was dropped) 324 561.18 P
0.88 (by the radio itself and was not a result of the device) 324 549.18 P
-0.04 (switch.\051 This is what we would expect, since no pack-) 324 537.18 P
(ets should be lost if both interfaces are available.) 324 525.18 T
0.64 (The results for hot switching show that being able to) 324 505.18 P
0.85 (bring up one interface before turning of) 324 493.18 P
0.85 (f the other is) 487.19 493.18 P
2.72 (advantageous. Whether this is possible in practice) 324 481.18 P
0.48 (depends on whether the user or the network monitor-) 324 469.18 P
-0.16 (ing software on the mobile host have any warning that) 324 457.18 P
0.23 (connectivity is about to change. W) 324 445.18 P
0.23 (ith suf) 463.62 445.18 P
0.23 (\336cient warn-) 488.95 445.18 P
-0.01 (ing, for instance, the user or the mobile host can bring) 324 433.18 P
0.34 (up a newly available wireless interface before the old) 324 421.18 P
(interface is disabled.) 324 409.18 T
0.02 (W) 324 389.18 P
0.02 (e have also collected data to break down the time in) 332.64 389.18 P
-0.01 (each step of the mobile host\325) 324 377.18 P
-0.01 (s switch to a new address) 438.67 377.18 P
0.23 (and its registration with the home agent, as illustrated) 324 365.18 P
0.93 (in Figure 7. The measurement is performed with the) 324 353.03 P
0.39 (mobile host registering a new IP address on the same) 324 341.03 P
1.35 (Ethernet subnet. The data re\337ects the average of 10) 324 329.03 P
1.19 (tests. The total time from start to end, including the) 324 317.03 P
1.52 (time used to con\336gure the interface and change the) 324 305.03 P
2.77 (routing table, is 7.39ms. The latency between the) 324 293.03 P
324 72 540 720 C
324 72 540 279 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
321.5 75.33 542 151 R
7 X
0 0 0 1 0 0 0 K
V
1 9 Q
0 X
0.99 (Figur) 335.24 145 P
0.99 (e 7. Registration time-line:) 356.58 145 P
0 F
0.99 (The graph shows) 464.78 145 P
0.95 (the time the mobile host spends on each step of the) 335.24 136 P
0.72 (registration process. The total time from start to end) 335.24 127 P
1.36 (of the address switch includes the time used in the) 335.24 118 P
-0.14 (pre-registration process \050con\336guring the interface and) 335.24 109 P
2.26 (changing the route table\051 and the post-registration) 335.24 100 P
0.12 (process. The data re\337ects the average of 10 tests with) 335.24 91 P
(standard deviations in parentheses.) 335.24 82 T
J
J
453.31 254.7 450 243.17 446.69 254.7 450 254.7 4 Y
V
450 265.5 450 254.7 2 L
1 H
2 Z
N
453.31 232.03 450 220.5 446.69 232.03 450 232.03 4 Y
V
450 243.17 450 232.03 2 L
N
489.31 209.53 486 198 482.69 209.53 486 209.53 4 Y
V
486 220.5 486 209.53 2 L
N
453.31 182.53 450 171 446.69 182.53 450 182.53 4 Y
V
450 198 450 182.53 2 L
N
453.31 169.03 450 157.5 446.69 169.03 450 169.03 4 Y
V
450 171 450 169.03 2 L
N
450 157.5 360 157.5 2 L
0.5 H
N
360 265.5 360 157.5 2 L
N
450 243.17 402 243.17 2 L
N
450 171 402 171 2 L
N
J
468 277.37 468 159.37 2 L
J
468 277.37 468 273.62 2 L
N
[7.931 6.873] 7.931 I
468 273.62 468 163.12 2 L
N
J
468 163.12 468 159.37 2 L
N
1 10 Q
(home agent) 481.5 267.8 T
0 F
(request received) 472.5 222.67 T
(reply sent) 473.84 191.17 T
(1.48ms \050.03\051) 488.5 209.17 T
J
486 220.5 450 220.5 2 L
N
486 198 450 198 2 L
N
(start) 338.28 263.17 T
(end) 342 159.67 T
337.33 209.37 404.67 224.7 R
7 X
V
0 X
(7.39ms \050.04\051) 344.33 215.48 T
402 243.17 402 170.74 2 L
N
1 F
(mobile host) 373.5 267.8 T
0 F
(send request) 396 245.17 T
393.33 200.04 446 215.37 R
7 X
V
0 X
(4.79ms \050.03\051) 397.33 206.04 T
373.5 171.83 441 180 R
7 X
V
0 X
(receive reply) 394.25 173.18 T
360 265.5 450 265.5 2 L
N
324 72 540 720 C
0 0 612 792 C
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "9" 9
%%Page: "10" 10
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(10) 301 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2.41 (mobile host sending out a registration request and) 72 713.33 P
3.68 (receiving the reply is 4.79ms. The average time) 72 701.33 P
2.77 (between the home agent receiving the registration) 72 689.33 P
0.64 (request and sending out its reply is 1.48ms. The data) 72 677.33 P
1.38 (shows that the software overhead in the registration) 72 665.33 P
-0.09 (process is small, and the home agent should be able to) 72 653.33 P
2.16 (deal with a lar) 72 641.33 P
2.16 (ge number of mobile hosts simulta-) 135.24 641.33 P
(neously) 72 629.33 T
(.) 102.46 629.33 T
1 12 Q
(5. Designing for Mobility) 72 598 T
0 10 Q
-0.07 (Over the course of this project, we\325ve dealt with some) 72 577.33 P
2.61 (issues in the design of a mobile network that we) 72 565.33 P
0.27 (believe are likely to arise in other implementations of) 72 553.33 P
3.09 (mobility) 72 541.33 P
3.09 (, especially those that do not use foreign) 105.25 541.33 P
-0.16 (agents. In this section we examine two of these issues.) 72 529.33 P
1.34 (W) 72 517.33 P
1.34 (e \336rst list the general rami\336cations of leaving out) 80.64 517.33 P
1.1 (foreign agents. Next, we examine in more detail the) 72 505.33 P
1.03 (degree to which we can hide mobility from network) 72 493.33 P
0.15 (software running on the mobile host in the absence of) 72 481.33 P
1.32 (foreign agents. While complete transparency sounds) 72 469.33 P
(ideal, it is not entirely practical.) 72 457.33 T
1 12 Q
(5.1 Leaving out the For) 72 429 T
(eign Agent) 194.45 429 T
0 10 Q
0.76 (Our decision to leave out foreign agents in our basic) 72 408.33 P
-0.05 (mobile IP protocol has both advantages and disadvan-) 72 396.33 P
-0.01 (tages. Most of the advantages are related to the result-) 72 384.33 P
1.74 (ing reduced dependence on the foreign network. In) 72 372.33 P
3.84 (return, though, we must acquire a temporary IP) 72 360.33 P
0.3 (address in the foreign network, since we cannot use a) 72 348.33 P
1.9 (foreign agent\325) 72 336.33 P
1.9 (s address as our care-of address. The) 129.72 336.33 P
0.02 (disadvantages of our decision are related to our use of) 72 324.33 P
(this temporary IP address.) 72 312.33 T
(Advantages:) 72 292.33 T
(+) 72 274.33 T
1.4 (Main advantage: Our mobile hosts can visit net-) 85.75 274.33 P
(works that do not have a foreign agent.) 85.75 262.33 T
(+) 72 245.33 T
1.19 (Fault tolerance: The foreign agent is no longer a) 85.75 245.33 P
0.14 (single point of failure for our mobile hosts\325 ability) 85.75 233.33 P
-0.32 (to continue communicating with the outside world.) 85.75 221.33 P
0.12 (While we may be able to \336x or restart failed home) 85.75 209.33 P
0.11 (agents, we probably do not have such control over) 85.75 197.33 P
(resources in a foreign network.) 85.75 185.33 T
(+) 72 168.33 T
-0.37 (Scaling issues: W) 85.75 168.33 P
-0.37 (e do not need a foreign agent run-) 155.32 168.33 P
0.21 (ning in every network. W) 85.75 156.33 P
0.21 (e only need home agents) 188.28 156.33 P
(running in those networks with mobile clients.) 85.75 144.33 T
(+) 72 127.33 T
0.84 (Simpler protocol: Leaving out a full implementa-) 85.75 127.33 P
0.28 (tion of a foreign agent simpli\336es the essential part) 85.75 115.33 P
1.61 (of the protocol. However) 85.75 103.33 P
1.61 (, we must implement a) 190.72 103.33 P
0.16 (subset of the foreign agent on the mobile hosts for) 337.74 713.33 P
3.51 (decapsulating packets and registering with the) 337.74 701.33 P
(home agent.) 337.74 689.33 T
(+) 324 672.33 T
-0.17 (Compatibility with IPv6: Although mobility speci-) 337.74 672.33 P
3.9 (\336cations for IPv6 have not been \336nalized, it) 337.74 660.33 P
1.88 (appears our approach is likely to be compatible) 337.74 648.33 P
0.03 (with this protocol. There will be a lar) 337.74 636.33 P
0.03 (ge IP address) 486.62 636.33 P
1.44 (space, resulting in less resistance to handing out) 337.74 624.33 P
-0.19 (temporary addresses. Also, it appears there may be) 337.74 612.33 P
3.53 (support for bindings in routers between static) 337.74 600.33 P
1.13 (addresses and care-of addresses, further reducing) 337.74 588.33 P
(the role of a foreign agent [12].) 337.74 576.18 T
(Disadvantages:) 324 556.18 T
(\321) 324 538.18 T
3.43 (Main disadvantage: The mobile host needs to) 337.74 538.18 P
0.5 (acquire a temporary IP address in the foreign net-) 337.74 526.18 P
-0.46 (work. There may be networks that refuse to do this.) 337.74 514.18 P
0.85 (\050These same networks may also refuse to expend) 337.74 502.18 P
0.98 (any other resources on visitors, including foreign) 337.74 490.18 P
(agents.\051) 337.74 478.18 T
(\321) 324 461.18 T
1.27 (Security: If packets for a mobile host arrive at a) 337.74 461.18 P
-0.1 (foreign network the mobile host has just left, those) 337.74 449.18 P
0.13 (packets might be erroneously delivered to a newly) 337.74 437.18 P
0.56 (arrived host that has been assigned the same tem-) 337.74 425.18 P
2.47 (porary address the recently departed host used.) 337.74 413.18 P
0.84 (This kind of accidental eavesdropping should not) 337.74 401.18 P
1.22 (happen in practice because a well-written DHCP) 337.74 389.18 P
4.73 (server would avoid reassigning the same IP) 337.74 377.18 P
(address for as long as possible.) 337.74 365.18 T
4.74 (Anyone concerned about deliberate malicious) 337.74 350.18 P
-0.04 (eavesdropping should be using end-to-end encryp-) 337.74 338.18 P
1.03 (tion rather than worrying about address reassign-) 337.74 326.18 P
5.89 (ment problems. Packets on an Ethernet or) 337.74 314.18 P
1.96 (elsewhere on the public Internet can already be) 337.74 302.18 P
0.04 (easily read by a packet-snif) 337.74 290.18 P
0.04 (\336ng program. The only) 447.12 290.18 P
2.35 (security problem that is truly unique to mobile) 337.74 278.18 P
1.4 (hosts is the registration of the temporary care-of) 337.74 266.18 P
0.01 (address with the home agent and with smart corre-) 337.74 254.18 P
4.23 (spondent hosts. These registrations should be) 337.74 242.18 P
0.44 (authenticated with S-key) 337.74 230.18 P
0.44 (, Kerberos, PGP) 437.41 230.18 P
0.44 (, or some) 502.17 230.18 P
1.29 (other similar strong authentication mechanism to) 337.74 218.18 P
3.63 (protect against denial-of-service attacks in the) 337.74 206.18 P
(form of malicious fraudulent registrations.) 337.74 194.18 T
(\321) 324 177.18 T
0.2 (Packet loss: Foreign agents may somewhat reduce) 337.74 177.18 P
0.08 (packet loss. When a mobile host leaves a network,) 337.74 165.18 P
1.27 (it must inform its home agent of its new care-of) 337.74 153.18 P
0.19 (address. However) 337.74 141.18 P
0.19 (, any packets already sent by the) 409.17 141.18 P
0.37 (home agent before it receives the new registration) 337.74 129.18 P
0.78 (will arrive at the old network and will be lost. If,) 337.74 117.18 P
3.96 (however) 337.74 105.18 P
3.96 (, a foreign agent in the old network) 371.77 105.18 P
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "10" 10
%%Page: "11" 11
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(1) 301.18 51.68 T
(1) 305.82 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2.05 (receives the new registration before the packets) 85.75 713.33 P
1.92 (arrive, it can forward the packets to the mobile) 85.75 701.33 P
(host\325) 85.75 689.33 T
(s new care-of address.) 105.19 689.33 T
2.51 (The important question, though, is whether the) 85.75 674.33 P
1.22 (bene\336t is worth the cost. An important lesson of) 85.75 662.33 P
1.89 (the Internet is that while it is relatively easy to) 85.75 650.33 P
-0.41 (deliver almost all packets, attempting absolute reli-) 85.75 638.33 P
0.28 (ability makes the cost of the system grow towards) 85.75 626.33 P
0.05 (in\336nity) 85.75 614.33 P
0.05 (. Many of the components that make up the) 114 614.33 P
0.77 (Internet exercise the option to drop packets occa-) 85.75 602.33 P
-0.48 (sionally when the cost of doing otherwise would be) 85.75 590.33 P
2.79 (unreasonable. Internet protocols do not naively) 85.75 578.33 P
-0.39 (assume perfect delivery) 85.75 566.33 P
-0.39 (, but instead use end-to-end) 179.29 566.33 P
-0.03 (mechanisms to achieve a level of reliability appro-) 85.75 554.33 P
0.17 (priate to their particular needs [15]. Unless further) 85.75 542.18 P
-0.27 (experience with our system dictates that our poten-) 85.75 530.18 P
0.95 (tially higher packet loss is a severe handicap, we) 85.75 518.18 P
(will stick to our simple implementation.) 85.75 506.18 T
(\321) 72 489.18 T
1.72 (More complex mobile host: The lack of foreign) 85.75 489.18 P
2.42 (agents somewhat complicates the design of the) 85.75 477.18 P
2.86 (mobile host. This is because our mobile hosts) 85.75 465.18 P
0.37 (ef) 85.75 453.18 P
0.37 (fectively contain a simpli\336ed foreign agent. The) 93.33 453.18 P
3.62 (result is that some networking software on a) 85.75 441.18 P
1.26 (mobile host must be aware of its actual physical) 85.75 429.18 P
3.62 (network connectivity and must handle routing) 85.75 417.18 P
2.14 (operations and changes to the physical network) 85.75 405.18 P
1.63 (interfaces. This gives us increased \337exibility for) 85.75 393.18 P
0.66 (routing optimizations but presents a new problem) 85.75 381.18 P
-0.35 (for our design: we must understand where mobility) 85.75 369.18 P
1.19 (can be transparent to the software and where we) 85.75 357.18 P
-0.2 (should expose the physical network. However) 85.75 345.18 P
-0.2 (, this) 268.75 345.18 P
2.42 (minor increase in complexity is an engineering) 85.75 333.18 P
3.35 (challenge that is solvable, whereas convincing) 85.75 321.18 P
-0.03 (every independent authority on the Internet to pro-) 85.75 309.18 P
1.88 (vide foreign agent services would be a political) 85.75 297.18 P
(task without end.) 85.75 285.18 T
1.59 (Other issues we\325ve found that appear to be distinc-) 72 265.18 P
0.03 (tions between a foreign agent implementation and our) 72 253.18 P
1.14 (protocol do not seem signi\336cant. For instance, route) 72 241.18 P
0.35 (optimizations handled by foreign agents are also pos-) 72 229.18 P
1.79 (sible in our scheme when handled by mobile hosts) 72 217.18 P
(and home agents, as shown previously) 72 205.18 T
(.) 225.22 205.18 T
0.62 (Despite our desire to make our basic protocol simple) 72 185.18 P
1.42 (and self-contained, there is nothing that prevents us) 72 173.18 P
3.48 (from implementing or using foreign agents. If it) 72 161.18 P
1.98 (becomes appropriate, we can provide extensions to) 72 149.18 P
1.53 (our system to implement foreign agents for visiting) 72 137.18 P
2.81 (mobile hosts that require them. Likewise, we can) 72 125.18 P
0.58 (extend our protocol on mobile hosts so they can take) 72 113.18 P
0.96 (advantage of any foreign agents that happen to exist) 72 101.18 P
(in networks they visit.) 72 89.18 T
1 12 Q
(5.2 Design Alternatives) 324 712 T
0 10 Q
0.78 (One of the most dif) 324 691.33 P
0.78 (\336cult issues we\325ve tackled in our) 404.72 691.33 P
4.15 (implementation of mobile IP is how transparent) 324 679.33 P
3.32 (mobility should be to users and software on the) 324 667.33 P
0.55 (mobile host itself. What we\325ve learned through itera-) 324 655.33 P
0.13 (tive designs is that complete transparency is not \337exi-) 324 643.33 P
0.65 (ble enough and is not entirely practical. Our solution) 324 631.33 P
1.87 (is to allow the routing tables to expose the mobile) 324 619.33 P
0.9 (host\325) 324 607.33 P
0.9 (s physical connectivity to its current network to) 343.45 607.33 P
0.75 (any software or services that require this. Otherwise,) 324 595.33 P
0.14 (we ensure that all applications on the mobile host and) 324 583.33 P
2.12 (correspondent hosts need not know anything about) 324 571.33 P
(mobility) 324 559.33 T
(.) 357.25 559.33 T
2.25 (If mobility were entirely transparent to the mobile) 324 539.33 P
0.4 (host, all of its software would have the view that it is) 324 527.33 P
2.45 (always attached to its home network. This sounds) 324 515.33 P
-0.1 (ideal but turns out to have unpleasant implications. T) 324 503.33 P
-0.1 (o) 535 503.33 P
2.67 (hide fully whether the mobile host is at home or) 324 491.33 P
0.09 (abroad, its routing table should always show only one) 324 479.33 P
1.58 (unchanging interface bound to its home IP address.) 324 467.33 P
-0.04 (Even while at home this interface could not be associ-) 324 455.33 P
0.72 (ated with any physical network, such as the Ethernet) 324 443.33 P
0.51 (device, since away from home the mobile host might) 324 431.33 P
0.7 (switch to some other device for communication. The) 324 419.33 P
0.13 (home IP address would thus be permanently bound to) 324 407.33 P
1.82 (a virtual interface. The virtual interface would per-) 324 395.33 P
-0.05 (form encapsulation while away from home and would) 324 383.33 P
(be similar to our VIF) 324 371.33 T
(.) 407.64 371.33 T
-0.23 (The main problem with this approach is that the actual) 324 351.33 P
1.28 (understanding of the physical interfaces would need) 324 339.33 P
0.21 (to be hidden within VIF) 324 327.33 P
0.21 (. This has at least three impli-) 420.15 327.33 P
1.65 (cations. First, VIF would need to construct its own) 324 315.33 P
0.75 (real routing table showing the state of these physical) 324 303.33 P
1.24 (interfaces. Any routing optimizations would need to) 324 291.33 P
3.2 (be handled entirely within VIF) 324 279.33 P
3.2 (, and this requires) 459.31 279.33 P
3.41 (exposing information in the socket data structure) 324 267.33 P
2.49 (within the interface since this information is ordi-) 324 255.33 P
-0.1 (narily accessed before the packet is passed to an inter-) 324 243.33 P
0.89 (face. Second, applications would not be able to bind) 324 231.33 P
3.66 (source addresses to particular physical interfaces,) 324 219.33 P
0.73 (because they would not be able to see the interfaces.) 324 207.33 P
0.79 (For this same reason, applications would not be able) 324 195.33 P
0.51 (to use two dif) 324 183.33 P
0.51 (ferent network services at once, even if) 380.06 183.33 P
0.5 (they wished to take advantage of their dif) 324 171.33 P
0.5 (ferent char-) 493.14 171.33 P
2.61 (acteristics for dif) 324 159.33 P
2.61 (ferent purposes. Third, we would) 396.8 159.33 P
-0.01 (need to handle ICMP routing redirects dif) 324 147.33 P
-0.01 (ferently) 490.97 147.33 P
-0.01 (. If a) 521.42 147.33 P
0.54 (mobile host communicates with a correspondent host) 324 135.33 P
2.21 (on the network it is visiting, the mobile host may) 324 123.33 P
1.93 (receive routing redirects for the correspondent host) 324 111.33 P
(that would ordinarily override any default route.) 324 99.33 T
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "11" 11
%%Page: "12" 12
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(12) 301 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0.73 (Our experience indicates that an implementation that) 72 713.33 P
2.29 (gives up some transparency is appropriate. This is) 72 701.33 P
3.12 (because a mobile host visiting a foreign network) 72 689.33 P
1.69 (really has two distinct roles to play) 72 677.33 P
1.69 (. The \336rst is its) 221.5 677.33 P
2 F
0.72 (home) 72 665.33 P
0 F
0.72 ( role, in which it appears virtually connected to) 93.66 665.33 P
0.82 (its home network and sends packets using mobile IP) 72 653.33 P
2.07 (features to provide transparency) 72 641.33 P
2.07 (. Packets sent by a) 206.13 641.33 P
1.93 (MH in its home role should be sent with a source) 72 629.33 P
1.74 (address of the MH\325) 72 617.33 P
1.74 (s permanent home address, per-) 154.14 617.33 P
(haps with encapsulation through the virtual interface.) 72 605.33 T
2.09 (The second role is the mobile host\325) 72 585.33 P
2.09 (s) 224.52 585.33 P
2 F
2.09 (local) 232.99 585.33 P
0 F
2.09 ( role, in) 252.99 585.33 P
-0.16 (which it participates as a host connected to the foreign) 72 573.33 P
5.12 (network. Examples of this second role include) 72 561.33 P
0.12 (answering foreign-network management probes \050such) 72 549.33 P
1.48 (as ICMP ping and SNMP\051, and the lease-refresh of) 72 537.33 P
1.88 (the DHCP-assigned temporary care-of address. The) 72 525.33 P
1.03 (mobile host might also join multicast groups via the) 72 513.33 P
-0.15 (foreign network, rather than via the home network. Or) 72 501.33 P
-0.05 (it might correspond directly with another host entirely) 72 489.33 P
2.11 (ignoring mobile IP) 72 477.33 P
2.11 (. This is especially useful if the) 150.66 477.33 P
(home agent is not reachable or has crashed.) 72 465.33 T
1.58 (Our belief is that a mobile IP implementation must) 72 445.33 P
1.18 (support both roles. Foreign networks are unlikely to) 72 433.33 P
1.24 (let visiting mobile hosts connect if the mobile hosts) 72 421.33 P
1.57 (do not respond to local network management tools.) 72 409.33 P
0.27 (Applications that wish to take advantage of particular) 72 397.33 P
-0.25 (network interfaces, or that use more than one interface) 72 385.33 P
0.38 (at a time, are necessarily mobile-aware. In this sense,) 72 373.33 P
1.72 (the packets they send are a part of a mobile host\325) 72 361.33 P
1.72 (s) 284.11 361.33 P
0.46 (local role. Our solution provides \337exibility by expos-) 72 349.33 P
1.58 (ing the mobile host\325) 72 337.33 P
1.58 (s local role through the routing) 156.48 337.33 P
3.28 (tables while ensuring that all applications on the) 72 325.33 P
1.22 (mobile host and correspondent hosts need not know) 72 313.33 P
(about the local role.) 72 301.33 T
0.98 (Part of the need for the mobile host to play its local) 72 281.33 P
0.38 (role is a result of our decision to leave foreign agents) 72 269.33 P
0.57 (out of our basic protocol. When a mobile host uses a) 72 257.33 P
1.48 (distinct foreign agent, the foreign agent is a default) 72 245.33 P
-0.23 (router for the mobile host and is essentially the mobile) 72 233.33 P
0.7 (host\325) 72 221.33 P
0.7 (s only connection to the network. Because there) 91.45 221.33 P
1.26 (are two separate routing tables) 72 209.33 P
3 F
1.26 (-) 203.01 209.33 P
0 F
1.26 ( one on the mobile) 208.5 209.33 P
1.59 (host, which always points to the foreign agent, and) 72 197.33 P
2.21 (one on the foreign agent, containing true topology) 72 185.33 P
1.66 (information) 72 173.33 P
3 F
1.66 (-) 123.38 173.33 P
0 F
1.66 ( the con\337ict between mobility routing) 128.87 173.33 P
2.13 (and \322real\323 routing disappears, and a simple imple-) 72 161.33 P
(mentation using a VIF is suf) 72 149.33 T
(\336cient but less \337exible.) 185.43 149.33 T
1 12 Q
(6.) 72 118 T
(Futur) 84 118 T
(e W) 113.78 118 T
(ork) 133.45 118 T
0 10 Q
1.45 (Although we believe our work shows we can make) 72 97.33 P
0.27 (changes in network interfaces and routing transparent) 72 85.33 P
2.2 (to higher) 324 713.33 P
2.2 (-level software, we may not wish to hide) 361.83 713.33 P
0.27 (changes in the underlying network performance char-) 324 701.33 P
1.49 (acteristics. Bandwidth, latency) 324 689.33 P
1.49 (, bit error rates, secu-) 449.08 689.33 P
0.08 (rity) 324 677.33 P
0.08 (, and cost can all dif) 337.24 677.33 P
0.08 (fer signi\336cantly from one type) 418.02 677.33 P
0.45 (of network to another) 324 665.33 P
0.45 (. W) 411.18 665.33 P
0.45 (e believe it may be advanta-) 425.27 665.33 P
2.06 (geous to inform upper) 324 653.33 P
2.06 (-layer network protocols and) 418.58 653.33 P
0.2 (some applications of these changes so they can adjust) 324 641.33 P
0.11 (their behaviors accordingly) 324 629.33 P
0.11 (. Part of our future work is) 432.98 629.33 P
0.35 (to investigate what common functionalities should be) 324 617.33 P
0.7 (built into the kernel to cope with these varying qual-) 324 605.33 P
1.66 (ity-of-service parameters, and what application pro-) 324 593.33 P
5.04 (gramming interface best enables applications to) 324 581.33 P
0.9 (specify their interests and receive noti\336cation of any) 324 569.33 P
1.24 (relevant network changes. Developing a clean inter-) 324 557.33 P
(face for this is a major goal of our further work.) 324 545.33 T
0.74 (As for further work on mobile IP) 324 525.33 P
0.74 (, we plan to experi-) 459.55 525.33 P
0.34 (ment with techniques for determining when to switch) 324 513.33 P
2.11 (between networks, and we plan to test some addi-) 324 501.33 P
(tional routing optimizations described in this paper) 324 489.33 T
(.) 527.33 489.33 T
1 12 Q
(7. Conclusions) 324 458 T
0 10 Q
2.54 (W) 324 437.33 P
2.54 (e have implemented a self-contained mechanism) 332.64 437.33 P
2.28 (that enables hosts to switch between dif) 324 425.33 P
2.28 (ferent net-) 496.35 425.33 P
0.36 (works and network devices without losing connectiv-) 324 413.33 P
2.74 (ity) 324 401.33 P
2.74 (. Our system does not assume the existence of) 333.91 401.33 P
0.62 (separate foreign agents, allowing our mobile hosts to) 324 389.33 P
0.45 (visit networks that do not support any mobile IP pro-) 324 377.33 P
0.93 (tocols. This enables host mobility over a wide range) 324 365.33 P
2.42 (of networks controlled by dif) 324 353.33 P
2.42 (ferent authorities and) 450.17 353.33 P
-0.24 (brings us closer to our goal of ubiquitous connectivity) 324 341.33 P
-0.24 (.) 537.5 341.33 P
1.75 (The performance of our implementation shows that) 324 329.33 P
0.2 (we can switch between devices and IP addresses with) 324 317.33 P
(minimal disruption to the higher levels of software.) 324 305.33 T
1 12 Q
(8. Sour) 324 274 T
(ce Code A) 360.46 274 T
(vailability) 411.55 274 T
0 10 Q
1.03 (The software for mobile hosts and home agents will) 324 253.33 P
0.12 (be freely available via the Internet. Please use the fol-) 324 241.33 P
1.52 (lowing URL for details of our project and software) 324 229.33 P
2.96 (release:) 324 217.33 P
4 F
7.1 (http://plastique.stanford.edu/) 360 217.33 P
0.56 (mosquito.html) 324 205.33 P
0 F
0.23 (. W) 402 205.33 P
0.23 (e also hope to release our code) 415.87 205.33 P
0.11 (for DHCP and an extended version of DNS on Linux.) 324 193.33 P
0.23 (A) 324 181.33 P
0.23 (vailability of any of this code will also be posted on) 330.48 181.33 P
(our web site.) 324 169.33 T
1 12 Q
(9. Acknowledgments) 324 138 T
0 10 Q
0.86 (W) 324 117.33 P
0.86 (e gratefully acknowledge our many discussions on) 332.64 117.33 P
0.46 (mobile computing with Bart Miller) 324 105.33 P
0.46 (. His thoughts and) 465.84 105.33 P
2.58 (advice were enormously useful. W) 324 93.33 P
2.58 (e also bene\336ted) 472.64 93.33 P
2.07 (greatly from discussions with Steve Deering, Mike) 324 81.33 P
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "12" 12
%%Page: "13" 13
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 0 0 0 1 1 1]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
8 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
72 49.5 540 58.5 R
7 X
0 0 0 1 0 0 0 K
V
0 10 Q
0 X
(13) 301 51.68 T
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2.48 (Spreitzer) 72 713.33 P
2.48 (, Marvin Theimer) 107.7 713.33 P
2.48 (, and Lixia Zhang. John) 183.08 713.33 P
4.26 (Chapin, Stacey Doerr) 72 701.33 P
4.26 (, Bart Miller) 166.49 701.33 P
4.26 (, Elliot Poger) 224.32 701.33 P
4.26 (,) 285.5 701.33 P
1.31 (Mema Roussopoulos, Diane T) 72 689.33 P
1.31 (ang, and Marvin The-) 196.88 689.33 P
3.96 (imer provided their thoughtful comments on the) 72 677.33 P
2.88 (paper) 72 665.33 P
2.88 (. W) 93.66 665.33 P
2.88 (e thank Metricom for their generosity in) 110.18 665.33 P
-0.05 (loaning us radios and answering many technical ques-) 72 653.33 P
0.87 (tions. W) 72 641.33 P
0.87 (e thank Xerox P) 105.96 641.33 P
0.87 (ARC for providing \336nancial) 172.35 641.33 P
2.32 (support for Xinhua. This work has also been sup-) 72 629.33 P
-0.2 (ported by Stanford\325) 72 617.33 P
-0.2 (s T) 149.37 617.33 P
-0.2 (elecom Center and an NSF Fac-) 160.97 617.33 P
(ulty Career A) 72 605.33 T
(ward \050contract CCR-9501799\051.) 125.51 605.33 T
1 12 Q
(10. Refer) 72 574 T
(ences) 118.43 574 T
0 10 Q
(1.) 72 553.33 T
1.69 (Mary Baker) 93.6 553.33 P
1.69 (, \322Changing Communication Envi-) 142.93 553.33 P
1.51 (ronments in MosquitoNet.\323) 93.6 541.33 P
2 F
1.51 (Pr) 210.36 541.33 P
1.51 (oceedings of the) 219.99 541.33 P
0.61 (IEEE W) 93.6 529.33 P
0.61 (orkshop on Mobile and Computing Sys-) 125.78 529.33 P
-0.25 (tems and Applications,) 93.6 517.33 P
0 F
-0.25 ( December 1994.) 184.49 517.33 P
(2.) 72 501.33 T
-0.22 (T) 93.6 501.33 P
-0.22 (revor Blackwell et al., \322Secure Short-Cut Rout-) 99.36 501.33 P
0.12 (ing for Mobile IP) 93.6 489.33 P
0.12 (.\323) 162.56 489.33 P
2 F
0.12 (1994 Summer USENIX,) 172.11 489.33 P
0 F
0.12 (June) 269.67 489.33 P
(1994.) 93.6 477.33 T
(3.) 72 461.33 T
1.41 (Stuart Cheshire and Mary Baker) 93.6 461.33 P
1.41 (, \322Experiences) 228.28 461.33 P
0.36 (with a W) 93.6 449.33 P
0.36 (ireless Network in MosquitoNet.\323) 130.57 449.33 P
2 F
0.36 (Pr) 270.04 449.33 P
0.36 (o-) 279.67 449.33 P
0.17 (ceedings of the IEEE Hot Inter) 93.6 437.33 P
0.17 (connects III Sym-) 217.68 437.33 P
4.18 (posium on High Performance Inter) 93.6 425.33 P
4.18 (connects) 250.51 425.33 P
0 F
4.18 (,) 285.5 425.33 P
1.21 (August 1995. A version of this paper will also) 93.6 413.33 P
-0.25 (appear in) 93.6 401.33 P
2 F
-0.25 (IEEE Micr) 132.53 401.33 P
-0.25 (o) 175.51 401.33 P
0 F
-0.25 (.) 180.51 401.33 P
(4.) 72 385.33 T
0.49 (R. Droms, \322Dynamic Host Con\336guration Proto-) 93.6 385.33 P
-0.25 (col.\323) 93.6 373.33 P
2 F
-0.25 (RFC 1541) 115.01 373.33 P
0 F
-0.25 (, October 1993.) 156.15 373.33 P
(5.) 72 357.33 T
-0.23 (Joe Hung, Bart Miller and Mary Baker) 93.6 357.33 P
-0.23 (, CS 244B) 247.06 357.33 P
2.14 (Course Project, Stanford University Computer) 93.6 345.33 P
-0.25 (Science Department, Spring 1995.) 93.6 333.33 P
(6.) 72 317.33 T
0.55 (John Ioannidis and Gerald Q. Maguire Jr) 93.6 317.33 P
0.55 (., \322The) 259.96 317.33 P
-0.47 (Design and Implementation of a Mobile Internet-) 93.6 305.33 P
2.63 (working Architecture.\323) 93.6 293.33 P
2 F
2.63 (1993 W) 194.12 293.33 P
2.63 (inter USENIX,) 227.04 293.33 P
0 F
-0.25 (Jan. 1993.) 93.6 281.33 P
(7.) 72 265.33 T
0.78 (David B. Johnson, and Charles Perkins, \322Route) 93.6 265.33 P
2.06 (Optimization in Mobile IP) 93.6 253.33 P
2.06 (.\323) 204.52 253.33 P
2 F
2.06 (Network W) 216.03 253.33 P
2.06 (orking) 261.89 253.33 P
-0.01 (Gr) 93.6 241.33 P
-0.01 (oup, Internet Draft \050work in pr) 104.34 241.33 P
-0.01 (ogr) 227.27 241.33 P
-0.01 (ess\051,) 240.79 241.33 P
0 F
-0.01 ( July 7,) 258.84 241.33 P
(1995.) 93.6 229.33 T
(8.) 72 213.33 T
2.91 (The Linux Journal, P) 93.6 213.33 P
2.91 (.O. Box 85867, Seattle,) 185.66 213.33 P
2.37 (W) 93.6 201.33 P
2.37 (ashington, 98145. Editor Phil Hughes, pub-) 102.24 201.33 P
-0.25 (lisher Robert F) 93.6 189.33 P
-0.25 (. Y) 152.3 189.33 P
-0.25 (oung, 1 \0501\051, March 1994.) 163.27 189.33 P
(9.) 72 173.33 T
0.09 (P) 93.6 173.33 P
0.09 (. Mockapetris, \322Domain Names - Concepts and) 98.05 173.33 P
-0.25 (Facilities.\323) 93.6 161.33 P
2 F
-0.25 (RFC 1034) 139.46 161.33 P
0 F
-0.25 (, November 1987.) 180.6 161.33 P
(10.) 72 145.33 T
-0.52 (C. Perkins, \322IP Mobility Support.\323) 93.6 145.33 P
2 F
-0.52 (Internet Engi-) 232.14 145.33 P
3.4 (neering T) 93.6 133.33 P
3.4 (ask For) 134.7 133.33 P
3.4 (ce, Internet Draft \050work in) 168.56 133.33 P
-0.25 (pr) 93.6 121.33 P
-0.25 (ogr) 102.12 121.33 P
-0.25 (ess\051,) 115.64 121.33 P
0 F
-0.25 ( July 8, 1995.) 133.69 121.33 P
(1) 72 105.33 T
(1.) 76.63 105.33 T
3.19 (Charles E. Perkins and T) 93.6 105.33 P
3.19 (angirala Jagannadh,) 205.39 105.33 P
1.77 (\322DHCP for Mobile Networking with TCP/IP) 93.6 93.33 P
1.77 (.\323) 281.06 93.33 P
2 F
-0.25 (IEEE ISCC\32595) 93.6 81.33 P
0 F
-0.25 (, Alexandria, June 1995.) 152.51 81.33 P
(12.) 324 713.33 T
0.13 (Charles Perkins, and David B. Johnson, \322Mobil-) 345.6 713.33 P
-0.34 (ity Support in IPv6.\323) 345.6 701.33 P
2 F
-0.34 (IPv6 W) 430.1 701.33 P
-0.34 (orking Gr) 458.55 701.33 P
-0.34 (oup,) 497.57 701.33 P
-0.34 (Inter-) 517.23 701.33 P
-0.25 (net Draft \050work in pr) 345.6 689.33 P
-0.25 (ogr) 428.12 689.33 P
-0.25 (ess\051) 441.64 689.33 P
0 F
-0.25 (, July 8, 1995.) 457.19 689.33 P
(13.) 324 673.33 T
-0.36 (Charles E. Perkins, Andrew Myles, and David B.) 345.6 673.33 P
2.77 (Johnson, \322The Internet Mobile Host Protocol) 345.6 661.33 P
-0.25 (\050IMHP\051.\323) 345.6 649.33 P
2 F
-0.25 (Pr) 386.45 649.33 P
-0.25 (oceedings of INET\325 94,) 396.08 649.33 P
0 F
-0.25 ( June 1994.) 488.1 649.33 P
(14.) 324 633.33 T
3.72 (M. Pettus, \322Unlicensed Radio Using Spread) 345.6 633.33 P
3.37 (Spectrum: A T) 345.6 621.33 P
3.37 (echnical Overview) 411.08 621.33 P
3.37 (.\323 A) 489.05 621.33 P
3.37 (vailable) 508.34 621.33 P
-0.25 (from Metricom, Inc., Sept. 27, 1993.) 345.6 609.33 P
(15.) 324 593.33 T
0.12 (J. H. Saltzer) 345.6 593.33 P
0.12 (, D. P) 394.32 593.33 P
0.12 (. Reed, and D. D. Clark, \322End-) 416.24 593.33 P
3.92 (to-End ar) 345.6 581.33 P
3.92 (guments in System Design.\323) 386.83 581.33 P
2 F
3.92 (ACM) 518.89 581.33 P
5.38 (T) 345.6 569.33 P
5.38 (ransactions on Computer Systems) 350.61 569.33 P
0 F
5.38 (, 2 \0504\051,) 502.58 569.33 P
-0.25 (November 1984.) 345.6 557.33 P
(16.) 324 541.33 T
1.31 (Fumio T) 345.6 541.33 P
1.31 (eraoka, Keisuke Uehara, Hideki Suna-) 380.94 541.33 P
-0.28 (hara, and Jun Murai, \322VIP: A Protocol Providing) 345.6 529.33 P
2.06 (Host Mobility) 345.6 517.33 P
2.06 (.\323) 403.41 517.33 P
2 F
2.06 (Communications of the ACM,) 414.92 517.33 P
0 F
-0.25 (Aug. 1994.) 345.6 505.33 P
(17.) 324 489.33 T
0.81 (Mark W) 345.6 489.33 P
0.81 (eiser) 379.21 489.33 P
0.81 (, \322The Computer for the 21st Cen-) 397.69 489.33 P
-0.25 (tury) 345.6 477.33 P
-0.25 (.\323) 361.06 477.33 P
2 F
-0.25 (Scienti\336c American) 370.25 477.33 P
0 F
-0.25 (, September 1991.) 448.04 477.33 P
1 12 Q
(1) 324 446 T
(1. Biographical Information) 329.34 446 T
1 10 Q
1.03 (Mary Baker) 324 423.33 P
0 F
1.03 ( is an assistant professor in the Depart-) 377.52 423.33 P
0.92 (ments of Computer Science and Electrical Engineer-) 324 411.33 P
4.12 (ing at Stanford University) 324 399.33 P
4.12 (. Her interests include) 439.88 399.33 P
1.15 (operating systems, distributed systems, and software) 324 387.33 P
1.58 (fault tolerance. She received her Ph.D. in computer) 324 375.33 P
(science in 1994 from U. C. Berkeley) 324 363.33 T
(.) 469.99 363.33 T
1 F
0.33 (Xinhua Zhao) 324 343.33 P
0 F
0.33 ( is a Ph.D. candidate in the Department) 380.74 343.33 P
3.66 (of Computer Science at Stanford University) 324 331.33 P
3.66 (. His) 517.45 331.33 P
0.17 (interests include operating systems and computer net-) 324 319.33 P
-0.1 (works. Before coming to Stanford, he was a student at) 324 307.33 P
(the University of Science and T) 324 295.33 T
(echnology in China.) 450.22 295.33 T
1 F
0.99 (Stuart Cheshir) 324 275.33 P
0.99 (e) 388.42 275.33 P
0 F
0.99 ( is a Ph.D. candidate in the Depart-) 392.86 275.33 P
-0.08 (ment of Computer Science at Stanford University) 324 263.33 P
-0.08 (. His) 521.19 263.33 P
3.54 (interests include networks and operating systems.) 324 251.33 P
0.59 (Cheshire received his \336rst class honours degree from) 324 239.33 P
(Sidney Sussex College, Cambridge in 1989.) 324 227.33 T
1 F
1.17 (Jonathan Stone) 324 207.33 P
0 F
1.17 ( is a Ph.D. candidate in the Depart-) 391.57 207.33 P
-0.08 (ment of Computer Science at Stanford University) 324 195.33 P
-0.08 (. His) 521.19 195.33 P
0.26 (interests include networking, distributed systems, and) 324 183.33 P
0.62 (operating systems. He received an M.S. with distinc-) 324 171.33 P
0.97 (tion in computer science in 1991 from V) 324 159.33 P
0.97 (ictoria Uni-) 492.65 159.33 P
(versity of W) 324 147.33 T
(ellington, New Zealand.) 373.19 147.33 T
(The authors\325 email addresses are) 324 127.33 T
({mgbaker) 324 115.33 T
(,cheshire,jonathan,zhao}@cs.stanford.edu.) 363.39 115.33 T
(Their postal address is Computer Science Depart-) 324 95.33 T
(ment, Stanford University) 324 83.33 T
(, Stanford, CA 94305.) 427.51 83.33 T
0 0 0 1 0 0 0 K
FMENDPAGE
%%EndPage: "13" 13
%%Trailer
%%BoundingBox: 0 0 612 792
%%PageOrder: Ascend
%%Pages: 13
%%DocumentFonts: Times-Roman
%%+ Times-Bold
%%+ Times-Italic
%%+ Symbol
%%+ Courier
%%EOF