%! % The following defines procedures assumed and used by program "dvi2ps" % % $Header: tex.ps,v 1.20 88/08/30 04:48:29 van Exp $ % % Original By: Neal Holtz, Carleton University, Ottawa, Canada % % % June, 1985 % Seriously hacked by Van Jacobson, LBL % /TeXDict 200 dict def % define a working dictionary TeXDict begin /bdef {bind def} def /Mtrx 6 array def %%%%%%%%%%%%%%%%%%%%% Page setup (user) options %%%%%%%%%%%%%%%%%%%%%%%% % dvi2ps will output coordinates in the TeX system ([0,0] 1" down and in % from top left, with y +ive downward). The default PostScript system % is [0,0] at bottom left, y +ive up. The Many Matrix Machinations in % the following code are an attempt to reconcile that. The intent is to % specify the scaling as 1 and have only translations in the matrix to % properly position the text. Caution: the default device matrices are % *not* the same in all PostScript devices; that should not matter in most % of the code below (except for lanscape mode -- in that, rotations of % -90 degrees resulted in the the rotation matrix [ e 1 ] % [ 1 e ] % where the "e"s were almost exactly but not quite unlike zeros. % % The order we expect to get things from dvi2ps is: % @start (sets default origin at 1" in, 1" down) % (the next can appear in an order) % @letter,@note,@legal (optional: re-init device with appro. matrix) % @landscape (optional: rotate image 90 deg) % @draft (optional: set up for draft printing) % @manualfeed (optional) % n @copies (optional) % r @startdoc (required: sets scaling for supplied resolution, % must be last) % % @start - -- start everything /@start { 72 720 translate } bdef % r @startdoc - /@startdoc { 72 exch div dup neg scale % set scaling to 1 pixel % move coor. system to nearest pixel boundary 0 0 transform round exch round exch itransform translate Mtrx currentmatrix pop /@TeXSave save def } def /@letter { /letter where {pop letter initmatrix}if } def % note mode is like letter, except it uses less VM /@note { /note where {pop note initmatrix}if } def /@legal { /legal where {pop legal initmatrix}if 0 216 translate % move up 3 more inches } def /@landscape { initmatrix 90 rotate 72 -72 translate } def /@manualfeed { statusdict /manualfeed true put } def % n @copies - set number of copies /@copies { /#copies exch def } def %%%%%%%%%%%%%%%%%%%% Procedure Defintions %%%%%%%%%%%%%%%%%%%%%%%%%% % scale id @newfont - initialize a new font dictionary /@newfont { /newname exch def newname 7 dict def % allocate new font dictionary newname load begin /FontType 3 def dup neg matrix scale /FontMatrix exch def /FontBBox [0 0 1 1] def /BitMaps 128 array def /BuildChar {CharBuilder} def /Encoding 128 array def 0 1 127 {Encoding exch /.undef put} for end newname newname load definefont pop } bdef % the following is the only character builder we need. it looks up the % char data in the BitMaps array, and paints the character if possible. % char data -- a bitmap descriptor -- is an array of length 6, of % which the various slots are: /ch-image {ch-data 0 get} bdef % the hex string image /ch-width {ch-data 1 get} bdef % the number of pixels across /ch-height {ch-data 2 get} bdef % the number of pixels tall /ch-xoff {ch-data 3 get} bdef % number of pixels below origin /ch-yoff {ch-data 4 get} bdef % number of pixels to left of origin /ch-tfmw {ch-data 5 get} bdef % spacing to next character % fontdict ch Charbuilder - -- image one character /CharBuilder { /ch-code exch def % save the char code /font-dict exch def % and the font dict. /ch-data font-dict /BitMaps get ch-code get def % get the bitmap ch-data null eq not { ch-tfmw 0 ch-xoff neg ch-yoff neg ch-width ch-xoff sub ch-height ch-yoff sub setcachedevice ch-width ch-height true [1 0 0 1 ch-xoff ch-yoff] {ch-image} imagemask } if } bdef % fontdict @sf - -- make that the current font /@sf { setfont } bdef % in the following, the font-cacheing mechanism requires that % a name unique in the particular font be generated % char-data ch @dc - -- define a new character bitmap in current font /@dc { /ch-code exch def dup 0 get length 2 lt { pop [ <00> 1 1 0 0 8.00 ] } % replace <> with null if /ch-data exch def currentfont /BitMaps get ch-code ch-data put % generate a unique name simply from the character code currentfont /Encoding get ch-code dup ( ) cvs cvn put } bdef /@DRAFTF { gsave initmatrix newpath /Helvetica-Bold findfont setfont (Draft) dup stringwidth pop 8.875 exch div dup 72 mul dup scale 52.3 rotate 2.5 exch div -.35 translate 0.95 setgray 0 0 moveto show grestore } bdef /@DRAFTM { gsave initmatrix newpath /Helvetica-Bold findfont 72 scalefont setfont 0.95 setgray 576 702 moveto (Draft) stringwidth exch neg exch neg rmoveto (Draft) show grestore } bdef % n @bop0 - -- begin the char def section of a new page /@bop0 { pop } bdef % n @bop1 - -- begin a brand new page /@bop1 { pop Mtrx setmatrix /SaveImage save def } bdef /@draft { /@bop1 { 1 le {@DRAFTF} {@DRAFTM} ifelse Mtrx setmatrix /SaveImage save def } bdef } bdef % - @eop - -- end a page /@eop { showpage SaveImage restore } bdef % - @end - -- done the whole shebang /@end { end } bdef % x y p - -- move to position /p { moveto } bdef % x r - -- move right /r { 0 rmoveto } bdef % string s - -- show the string /s { show } bdef % x string m - -- move right then show string /m { exch 0 rmoveto show } bdef % ch c - -- show the character (code given) /c { c-string dup 0 4 -1 roll put show } bdef /c-string ( ) def % dx dy ru - -- set a rule (rectangle) /ru { /dy exch neg def % because dy is height up from bottom /dx exch def /x currentpoint /y exch def def % remember current point newpath x y moveto dx 0 rlineto 0 dy rlineto dx neg 0 rlineto closepath fill x y moveto } bdef /@MacSetUp { userdict /md known % if md is defined { userdict /md get type /dicttype eq % and if it is a dictionary {/mdc userdict maxlength 200 add dict def md mdc copy begin % then redefine some stu /letter {} def /note {} def /legal {} def /od{ppr dup 0 0 put 1 0 put txpose 1 0 mtx defaultmatrix dtransform exch atan/pa exch def newpath clippath mark {transform{itransform moveto}} {transform{itransform lineto}} { 6 -2 roll transform 6 -2 roll transform 6 -2 roll transform { itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto } } {{closepath}} pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if }def /txpose{ pxs pys scale ppr aload pop por { noflips { pop exch neg exch translate pop 1 -1 scale }if xflip yflip and { pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and { pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and { ppr 1 get neg ppr 0 get neg translate }if } { noflips { translate pop pop 270 rotate 1 -1 scale }if xflip yflip and { translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and { translate pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and { translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate }if }ifelse scaleby96 { ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy translate .96 dup scale neg exch neg exch translate }if }def /cp {pop pop showpage pm restore}def end }if } if } bdef %! % All software, documentation, and related files in this distribution of % psfig/tex are Copyright (c) 1987 Trevor J. Darrell % % Permission is granted for use and non-profit distribution of psfig/tex % providing that this notice be clearly maintained, but the right to % distribute any portion of psfig/tex for profit or as part of any commercial % product is specifically reserved for the author. % % % psfigTeX PostScript Prolog % $Header: tex.ps,v 1.20 88/08/30 04:48:29 van Exp $ % /psf$TeXscale { 65536 div } def gsave initgraphics /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def grestore % x y bb-llx bb-lly bb-urx bb-ury startFig - /startTexFig { /psf$SavedState save def userdict maxlength 200 add dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /psf$ury exch psf$TeXscale def /psf$urx exch psf$TeXscale def /psf$lly exch psf$TeXscale def /psf$llx exch psf$TeXscale def /psf$y exch psf$TeXscale def /psf$x exch psf$TeXscale def currentpoint /psf$cy exch def /psf$cx exch def /psf$sx psf$x psf$urx psf$llx sub div def % scaling for x /psf$sy psf$y psf$ury psf$lly sub div def % scaling for y psf$sx psf$sy scale % scale by (sx,sy) psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def /erasepage { initgraphics } def /copypage { initgraphics } def @MacSetUp } bdef % - doclip - /doclip { llx lly urx ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto } bdef % - endTexFig - /endTexFig { end psf$SavedState restore } def %%%% Additions by LA Carr to reencode Adobe fonts as TeX fonts (almost) %%%% Based on routine in LaserWriter Cookbook /ReEncodeForTeX { /newfontname exch def /basefontname exch def /TeXstr 30 string def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall basefontdict /MathFontName known not { /TeXvec basefontname TeXstr cvs (Courier) search { pop pop pop TeXcourvec } { pop TeXnormalvec } ifelse def TeXvec aload pop TeXvec length 2 idiv { newfont /Encoding get 3 1 roll put } repeat } if newfontname newfont definefont pop } bdef /TeXnormalvec [ 8#014 /fi 8#015 /fl 8#020 /dotlessi 8#022 /grave 8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AE 8#036 /OE 8#037 /Oslash 8#042 /quotedblright 8#074 /exclamdown 8#076 /questiondown 8#134 /quotedblleft 8#136 /circumflex 8#137 /dotaccent 8#173 /endash 8#174 /emdash 8#175 /hungarumlat 8#176 /tilde 8#177 /dieresis ] def /TeXcourvec [ 8#016 /exclamdown 8#017 /questiondown 8#020 /dotlessi 8#022 /grave 8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AE 8#036 /OE 8#037 /Oslash 8#074 /less 8#076 /greater 8#134 /backslash 8#136 /circumflex 8#137 /underscore 8#173 /braceleft 8#174 /bar 8#175 /braceright 8#177 /dieresis ] def /TeXPSmakefont { % defines a routine for generating PS fonts, fudged! /TeXsize exch def findfont [ TeXsize 0 0 TeXsize neg 0 0 ] makefont } bdef % fontname basefontname angle ObliqueFont - % Create a General Oblique font /ObliqueFont { /ObliqueAngle exch def /ObliqueBaseName exch def /ObliqueFontName exch def /ObliqueTransform [1 0 ObliqueAngle sin ObliqueAngle cos div 1 0 0] def /basefontdict ObliqueBaseName findfont ObliqueTransform makefont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName ObliqueFontName put ObliqueFontName newfont definefont pop } bdef % Palatino-ItalicUnslanted? You must be joking! % fontname basename SmallCapsFont - Create a General SmallCaps font /SmallCapsFont { /SmallCapsBaseName exch def /SmallCapsFontName exch def /basefontdict SmallCapsBaseName findfont def /newfont basefontdict maxlength 10 add dict def newfont begin /FontName SmallCapsFontName def /FontBaseDict basefontdict 1000 scalefont def /FontSCDict FontBaseDict .8 scalefont def /FontType 3 def /BuildChar {SmallCapChar} def /FontMatrix dup basefontdict exch get def /FontBBox dup basefontdict exch get def /Encoding dup basefontdict exch get def end SmallCapsFontName newfont definefont pop } bdef % fontdict ch SmallCapChar - % It shouldn't be so damn hard to do this (make one font out % of two others) but I tried several dozen variations on this % theme until I found something that worked. -- vj /SmallCapChar { /achar (A) def achar exch 0 exch put begin achar 0 get dup 97 ge exch 122 le and { % handle 'a' through 'z' specially achar 0 achar 0 get 32 sub put FontSCDict } { FontBaseDict } ifelse setfont achar stringwidth FontBBox setcachedevice newpath 0 0 moveto achar show end } bdef /MathEncodingVec [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon1 /Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon /zeta /nu /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /omega /epsilon /theta1 /omega1 /rho /sigma /phi1 /arrowleft /arrowleft /arrowright /arrowright /suchthat /congruent /proportional /angle /zero /one /two /three /four /five /six /seven /eight /nine /period /comma /less /slash /greater /asteriskmath /partialdiff /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 /registerserif /copyrightserif /trademarkserif /logicalor /logicaland /section /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 /dotlessi /j /weierstrass /macron /breve ] def % the following gives the character codes of the above characters % in their font. I.e., this is the character we have to hand "show" % to image the characters above. /MathCharVec [ 71 68 81 76 88 80 83 161 70 89 87 97 98 103 100 101 122 110 113 105 107 108 109 110 120 112 114 115 116 117 102 99 121 119 101 74 118 114 115 106 172 172 174 174 39 64 181 208 48 49 50 51 52 53 54 55 56 57 46 44 60 47 62 42 182 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 210 211 212 218 217 167 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 245 106 195 197 198 ] def % this array tells which font dictionary holds each character above % (0 = basefont, 1 = symbol (maybe slanted), 2 = symbol (unslanted)). /MathDictVec [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 ] def % fontname basename symbolname symbolbase angle MathOblique - % Create a "math" font with the symbol font characters slanted % by "angle" /MathOblique { 3 copy ObliqueFont pop pop MathFont } bdef % fontname basename symbolname MathFont - Create a math italic font % % We build this font out of the base font & the symbol font % using an encoding vec as close as we can get to cmmi10 with % standard postscript characters. An array parallel to the % encoding vector tells which font dictionary to use for a % particular character. /MathFont { /MathSymName exch def /MathBaseName exch def /MathFontName exch def /basefontdict MathBaseName findfont def /newfont basefontdict maxlength 10 add dict def newfont begin /FontName MathFontName def /FontDictArray [ basefontdict 1000 scalefont MathSymName findfont 950 scalefont /Symbol findfont 950 scalefont ] def /FontType 3 def /BuildChar {MathFontChar} def /FontMatrix dup basefontdict exch get def /FontBBox dup basefontdict exch get def % the encoding vector is a copy of the original font's % encoding, modified "appropriately". /Encoding dup basefontdict exch get dup length array copy def /WhichFont MathDictVec def /WhichChar MathCharVec def MathEncodingVec Encoding copy pop /achar (A) def end MathFontName newfont definefont pop } bdef % fontdict ch MathFontChar - % (there's some serious magic going on here: see note on % SmallCapChar above -- vj). /MathFontChar { exch begin achar exch 0 exch put FontDictArray WhichFont achar 0 get get get setfont achar dup 0 get WhichChar exch get 0 exch put achar stringwidth FontBBox setcachedevice newpath 0 0 moveto achar show end } bdef /@flushfonts { @TeXSave restore /@TeXSave save def} bdef end % revert to previous dictionary TeXDict begin @start %%Title: spec.dvi %%Creator: dvi2ps %%EndProlog 300 @startdoc 1 @bop0 /Times-Roman /t-rom.300 ReEncodeForTeX /t-rom.300 /t-rom.300 41.666629 TeXPSmakefont def /Times-Bold /t-bol.510 ReEncodeForTeX /t-bol.510 /t-bol.510 70.833212 TeXPSmakefont def /Times-Bold /t-bol.420 ReEncodeForTeX /t-bol.420 /t-bol.420 58.333229 TeXPSmakefont def /Times-Bold /t-bol.300 ReEncodeForTeX /t-bol.300 /t-bol.300 41.666629 TeXPSmakefont def 1 /cmmi10.300 @newfont cmmi10.300 @sf [<60F0F060> 8 4 -4 0 11.531] 58 @dc 1 @bop1 t-rom.300 @sf 0 247 p (Network)s 10 r 87 c -2(orking)m 9(Group)m 1392(J.)m 10(Moy)m 0 297 p (Request)s 10(for)m 11(Comments:)m 14(1583)m 1218(Proteon,)m 10(Inc.)m 0 347 p (Obsoletes:)s 14(1247)m 1449(March)m 11(1994)m 0 397 p (Category:)s 14(Standards)m 10 r 84 c (rack)s t-bol.510 @sf 734 503 p (OSPF)s 18 r 86 c -6(ersion)m 17 r 50 c t-bol.420 @sf 0 729 p (Status)s 15(of)m 14(this)m 15(Memo)m t-rom.300 @sf 0 835 p (This)s 10(document)m 11(speci\014es)m 10(an)m 11(Internet)m 10(standards)m 10(track)m 11(protocol)m 10(for)m 11(the)m 10(Internet)m 11(community)m -2 r 44 c 9(and)m 11(requests)m 10(discussion)m 11(and)m 0 885 p (suggestions)s 10(for)m 11(improvements.)m 14(Please)m 10(refer)m 11(to)m 10(the)m 10(current)m 11(edition)m 10(of)m 11(the)m 10(\\Internet)m 10(Of)m (\014cial)s 10(Protocol)m 11(Standards")m 10(\(STD)m 0 935 p (1\))s 10(for)m 11(the)m 10(standardization)m 11(state)m 10(and)m 10(status)m 11(of)m 10(this)m 11(protocol.)m 14(Distribution)m 10(of)m 10(this)m 11(memo)m 10(is)m 11(unlimited.)m t-bol.420 @sf 0 1087 p (Abstract)s t-rom.300 @sf 0 1193 p (This)s 10(memo)m 11(documents)m 10(version)m 10 r 50 c 11(of)m 10(the)m 10(OSPF)m 11(protocol.)m 14(OSPF)m 10(is)m 10 r 97 c 11(link-state)m 10(routing)m 10(protocol.)m 14(It)m 11(is)m 10(designed)m 10(to)m 11(be)m 10(run)m 0 1242 p (internal)s 10(to)m 11 r 97 c 10(single)m 11(Autonomous)m 10(System.)m 14(Each)m 10(OSPF)m 11(router)m 10(maintains)m 11(an)m 10(identical)m 10(database)m 11(describing)m 10(the)m 0 1292 p (Autonomous)s 10(System')m -1 r 115 c 9(topology)m -2 r 46 c 13(From)m 10(this)m 10(database,)m 10 r 97 c 10(routing)m 9(table)m 10(is)m 10(calculated)m 10(by)m 10(constructing)m 10 r 97 c 10(shortest-path)m 10(tree.)m 0 1355 p (OSPF)s 10(recalculates)m 11(routes)m 10(quickly)m 11(in)m 10(the)m 10(face)m 11(of)m 10(topological)m 11(changes,)m 10(utilizing)m 11 r 97 c 10(minimum)m 10(of)m 11(routing)m 10(protocol)m 11(traf)m (\014c.)s 0 1405 p (OSPF)s 10(provides)m 11(support)m 10(for)m 11(equal-cost)m 10(multipath.)m 14(Separate)m 10(routes)m 11(can)m 10(be)m 11(calculated)m 10(for)m 10(each)m 11(IP)m 10 r 84 c -2(ype)m 10(of)m 10(Service.)m 14(An)m 0 1455 p (area)s 10(routing)m 11(capability)m 10(is)m 11(provided,)m 10(enabling)m 10(an)m 11(additional)m 10(level)m 11(of)m 10(routing)m 11(protection)m 10(and)m 10 r 97 c 11(reduction)m 10(in)m 11(routing)m 0 1505 p (protocol)s 10(traf)m (\014c.)s 14(In)m 10(addition,)m 10(all)m 11(OSPF)m 10(routing)m 11(protocol)m 10(exchanges)m 10(are)m 11(authenticated.)m 0 1568 p (OSPF)s 10 r 86 c -3(ersion)m 9 r 50 c 11(was)m 10(originally)m 10(documented)m 11(in)m 10(RFC)m 11(1247.)m 14(The)m 10(dif)m (ferences)s 10(between)m 10(RFC)m 11(1247)m 10(and)m 10(this)m 11(memo)m 10(are)m 0 1618 p (explained)s 10(in)m 11(Appendix)m 10(E.)m 14(The)m 11(dif)m (ferences)s 9(consist)m 11(of)m 10(bug)m 10(\014xes)m 11(and)m 10(clari\014cations,)m 11(and)m 10(are)m 11(backward-compatible)m 10(in)m 0 1668 p (nature.)s 14(Implementations)m 10(of)m 11(RFC)m 10(1247)m 11(and)m 10(of)m 10(this)m 11(memo)m 10(will)m 11(interoperate.)m 0 1731 p (Please)s 10(send)m 11(comments)m 10(to)m 11(ospf@gated.cornell.edu.)m t-bol.420 @sf 0 1882 p (Contents)s t-bol.300 @sf 0 1988 p 49 c 42(Intr)m (oduction)s 1639 r 49 c t-rom.300 @sf 62 2052 p (1.1)s 44(Protocol)m 11(overview)m cmmi10.300 @sf 29 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 67 r 49 c 62 2115 p (1.2)s 44(De\014nitions)m 11(of)m 10(commonly)m 10(used)m 11(terms)m cmmi10.300 @sf 18 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 67 r 50 c 62 2178 p (1.3)s 44(Brief)m 11(history)m 10(of)m 10(link-state)m 11(routing)m 10(technology)m cmmi10.300 @sf 40 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 67 r 51 c 62 2241 p (1.4)s 44(Or)m (ganization)s 10(of)m 10(this)m 11(document)m cmmi10.300 @sf 23 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 67 r 51 c t-bol.300 @sf 0 2346 p 50 c 42(The)m 10 r 84 c -3(opological)m 10(Database)m 1407 r 51 c t-rom.300 @sf 62 2409 p (2.1)s 44(The)m 11(shortest-path)m 10(tree)m cmmi10.300 @sf 38 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 67 r 54 c 62 2472 p (2.2)s 44(Use)m 11(of)m 10(external)m 10(routing)m 11(information)m cmmi10.300 @sf 34 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 67 r 54 c 62 2535 p (2.3)s 44(Equal-cost)m 11(multipath)m cmmi10.300 @sf 20 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 48 r 49 c -1 r 49 c 62 2599 p (2.4)s 44 r 84 c (OS-based)s 10(routing)m cmmi10.300 @sf 19 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 48 r 49 c 49 c @eop 2 @bop0 2 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p 51 c 42(Splitting)m 10(the)m 10(AS)m 11(into)m 10(Ar)m (eas)s 1369(12)m t-rom.300 @sf 62 263 p (3.1)s 44(The)m 11(backbone)m 10(of)m 10(the)m 11(Autonomous)m 10(System)m cmmi10.300 @sf 24 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(12)m 62 330 p (3.2)s 44(Inter)m (-area)s 10(routing)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(12)m 62 398 p (3.3)s 44(Classi\014cation)m 11(of)m 10(routers)m cmmi10.300 @sf 35 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(13)m 62 466 p (3.4)s 44 r 65 c 11(sample)m 10(area)m 10(con\014guration)m cmmi10.300 @sf 27 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(13)m 62 534 p (3.5)s 44(IP)m 11(subnetting)m 10(support)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(17)m 62 601 p (3.6)s 44(Supporting)m 11(stub)m 10(areas)m cmmi10.300 @sf 40 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(18)m 62 669 p (3.7)s 44(Partitions)m 11(of)m 10(areas)m cmmi10.300 @sf 36 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(19)m t-bol.300 @sf 0 778 p 52 c 42(Functional)m 10(Summary)m 1467(20)m t-rom.300 @sf 62 846 p (4.1)s 44(Inter)m (-area)s 10(routing)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(20)m 62 914 p (4.2)s 44(AS)m 11(external)m 10(routes)m cmmi10.300 @sf 26 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(20)m 62 981 p (4.3)s 44(Routing)m 11(protocol)m 10(packets)m cmmi10.300 @sf 14 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(21)m 62 1049 p (4.4)s 44(Basic)m 11(implementation)m 10(requirements)m cmmi10.300 @sf 34 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(21)m 62 1117 p (4.5)s 44(Optional)m 11(OSPF)m 10(capabilities)m cmmi10.300 @sf 42 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(23)m t-bol.300 @sf 0 1226 p 53 c 42(Pr)m (otocol)s 9(Data)m 11(Structur)m (es)s 1402(23)m 0 1335 p 54 c 42(The)m 10(Ar)m (ea)s 10(Data)m 10(Structur)m 101 c 1401(24)m 0 1445 p 55 c 42(Bringing)m 10(Up)m 10(Adjacencies)m 1402(27)m t-rom.300 @sf 62 1512 p (7.1)s 44(The)m 11(Hello)m 10(Protocol)m cmmi10.300 @sf 17 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(27)m 62 1580 p (7.2)s 44(The)m 11(Synchronization)m 10(of)m 10(Databases)m cmmi10.300 @sf 22 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(27)m 62 1648 p (7.3)s 44(The)m 11(Designated)m 10(Router)m cmmi10.300 @sf 14 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(28)m 62 1715 p (7.4)s 44(The)m 11(Backup)m 10(Designated)m 10(Router)m cmmi10.300 @sf 39 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(28)m 62 1783 p (7.5)s 44(The)m 11(graph)m 10(of)m 10(adjacencies)m cmmi10.300 @sf 16 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(29)m t-bol.300 @sf 0 1892 p 56 c 42(Pr)m (otocol)s 9(Packet)m 11(Pr)m (ocessing)s 1365(29)m t-rom.300 @sf 62 1960 p (8.1)s 44(Sending)m 11(protocol)m 10(packets)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(31)m 62 2028 p (8.2)s 44(Receiving)m 11(protocol)m 10(packets)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(32)m t-bol.300 @sf 0 2137 p 57 c 42(The)m 10(Interface)m 10(Data)m 11(Structur)m 101 c 1326(33)m t-rom.300 @sf 62 2205 p (9.1)s 44(Interface)m 11(states)m cmmi10.300 @sf 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(35)m 62 2273 p (9.2)s 44(Events)m 11(causing)m 10(interface)m 10(state)m 11(changes)m cmmi10.300 @sf 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(36)m 62 2340 p (9.3)s 44(The)m 11(Interface)m 10(state)m 10(machine)m cmmi10.300 @sf 37 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(37)m 62 2408 p (9.4)s 44(Electing)m 11(the)m 10(Designated)m 10(Router)m cmmi10.300 @sf 41 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(38)m 62 2476 p (9.5)s 44(Sending)m 11(Hello)m 10(packets)m cmmi10.300 @sf 26 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(40)m 158 2543 p (9.5.1)s 50(Sending)m 11(Hello)m 10(packets)m 11(on)m 10(non-broadcast)m 10(networks)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(40)m 0 2723 p (Moy)s 1729([Page)m 10(ii])m @eop 3 @bop0 3 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (10)s 21(The)m 10(Neighbor)m 11(Data)m 10(Structur)m 101 c 1322(41)m t-rom.300 @sf 62 263 p (10.1)s 23(Neighbor)m 11(states)m cmmi10.300 @sf 11 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(42)m 62 330 p (10.2)s 23(Events)m 11(causing)m 10(neighbor)m 11(state)m 10(changes)m cmmi10.300 @sf 18 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(44)m 62 398 p (10.3)s 23(The)m 11(Neighbor)m 10(state)m 11(machine)m cmmi10.300 @sf 26 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(45)m 62 466 p (10.4)s 23(Whether)m 11(to)m 10(become)m 11(adjacent)m cmmi10.300 @sf 22 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(49)m 62 534 p (10.5)s 23(Receiving)m 11(Hello)m 10(Packets)m cmmi10.300 @sf 24 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(49)m 62 601 p (10.6)s 23(Receiving)m 11(Database)m 10(Description)m 11(Packets)m cmmi10.300 @sf 17 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(50)m 62 669 p (10.7)s 23(Receiving)m 11(Link)m 10(State)m 11(Request)m 10(Packets)m cmmi10.300 @sf 25 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(52)m 62 737 p (10.8)s 23(Sending)m 11(Database)m 10(Description)m 11(Packets)m cmmi10.300 @sf 17 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(52)m 62 804 p (10.9)s 23(Sending)m 11(Link)m 10(State)m 11(Request)m 10(Packets)m cmmi10.300 @sf 25 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(53)m 62 872 p (10.10)s 3(An)m 10(Example)m cmmi10.300 @sf 30 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(53)m t-bol.300 @sf 0 981 p 49 c -1 r 49 c 22(The)m 10(Routing)m 11 r 84 c -3(able)m 9(Structur)m 101 c 1333(55)m t-rom.300 @sf 62 1049 p 49 c (1.1)s 23(Routing)m 11(table)m 10(lookup)m cmmi10.300 @sf 17 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(57)m 62 1117 p 49 c (1.2)s 23(Sample)m 11(routing)m 10(table,)m 11(without)m 10(areas)m cmmi10.300 @sf 36 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(58)m 62 1184 p 49 c (1.3)s 23(Sample)m 11(routing)m 10(table,)m 11(with)m 10(areas)m cmmi10.300 @sf 24 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(58)m t-bol.300 @sf 0 1294 p (12)s 21(Link)m 10(State)m 11(Advertisements)m 1371(60)m t-rom.300 @sf 62 1361 p (12.1)s 23(The)m 11(Link)m 10(State)m 11(Advertisement)m 10(Header)m cmmi10.300 @sf 25 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(60)m 158 1429 p (12.1.1)s 29(LS)m 11(age)m cmmi10.300 @sf 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(60)m 158 1497 p (12.1.2)s 29(Options)m cmmi10.300 @sf 39 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(61)m 158 1564 p (12.1.3)s 29(LS)m 11(type)m cmmi10.300 @sf 40 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(61)m 158 1632 p (12.1.4)s 29(Link)m 11(State)m 10(ID)m cmmi10.300 @sf 41 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(61)m 158 1700 p (12.1.5)s 29(Advertising)m 11(Router)m cmmi10.300 @sf 11 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(62)m 158 1767 p (12.1.6)s 29(LS)m 11(sequence)m 10(number)m cmmi10.300 @sf 15 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(63)m 158 1835 p (12.1.7)s 29(LS)m 11(checksum)m cmmi10.300 @sf 42 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(63)m 62 1903 p (12.2)s 23(The)m 11(link)m 10(state)m 11(database)m cmmi10.300 @sf 20 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(63)m 62 1971 p (12.3)s 23(Representation)m 11(of)m 10 r 84 c (OS)s cmmi10.300 @sf 17 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(64)m 62 2038 p (12.4)s 23(Originating)m 11(link)m 10(state)m 11(advertisements)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(64)m 158 2106 p (12.4.1)s 29(Router)m 11(links)m cmmi10.300 @sf 30 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(68)m 158 2174 p (12.4.2)s 29(Network)m 11(links)m cmmi10.300 @sf 30 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(71)m 158 2241 p (12.4.3)s 29(Summary)m 11(links)m cmmi10.300 @sf 14 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(72)m 158 2309 p (12.4.4)s 29(Originating)m 11(summary)m 10(links)m 11(into)m 10(stub)m 11(areas)m cmmi10.300 @sf 19 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(74)m 158 2377 p (12.4.5)s 29(AS)m 11(external)m 10(links)m cmmi10.300 @sf 11 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(74)m 0 2723 p (Moy)s 1717([Page)m 11(iii])m @eop 4 @bop0 4 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (13)s 21(The)m 10(Flooding)m 11(Pr)m (ocedur)s -1 r 101 c 1414(76)m t-rom.300 @sf 62 262 p (13.1)s 23(Determining)m 11(which)m 10(link)m 11(state)m 10(is)m 10(newer)m cmmi10.300 @sf 24 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(77)m 62 328 p (13.2)s 23(Installing)m 11(link)m 10(state)m 11(advertisements)m 10(in)m 10(the)m 11(database)m cmmi10.300 @sf 15 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(78)m 62 395 p (13.3)s 23(Next)m 11(step)m 10(in)m 11(the)m 10(\015ooding)m 10(procedure)m cmmi10.300 @sf 38 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(78)m 62 461 p (13.4)s 23(Receiving)m 11(self-originated)m 10(link)m 11(state)m cmmi10.300 @sf 42 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(80)m 62 528 p (13.5)s 23(Sending)m 11(Link)m 10(State)m 11(Acknowledgment)m 10(packets)m cmmi10.300 @sf 27 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(80)m 62 594 p (13.6)s 23(Retransmitting)m 11(link)m 10(state)m 11(advertisements)m cmmi10.300 @sf 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(82)m 62 661 p (13.7)s 23(Receiving)m 11(link)m 10(state)m 11(acknowledgments)m cmmi10.300 @sf 17 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(82)m t-bol.300 @sf 0 769 p (14)s 21(Aging)m 10(The)m 11(Link)m 10(State)m 10(Database)m 1288(83)m t-rom.300 @sf 62 835 p (14.1)s 23(Premature)m 11(aging)m 10(of)m 11(advertisements)m cmmi10.300 @sf 15 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(83)m t-bol.300 @sf 0 944 p (15)s 21 r 86 c -1(irtual)m 10(Links)m 1605(84)m 0 1052 p (16)s 21(Calculation)m 10(Of)m 11(The)m 10(Routing)m 10 r 84 c -2(able)m 1239(85)m t-rom.300 @sf 62 1118 p (16.1)s 23(Calculating)m 11(the)m 10(shortest-path)m 11(tree)m 10(for)m 10(an)m 11(area)m cmmi10.300 @sf 15 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(86)m 158 1185 p (16.1.1)s 29(The)m 11(next)m 10(hop)m 11(calculation)m cmmi10.300 @sf 16 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(89)m 62 1251 p (16.2)s 23(Calculating)m 11(the)m 10(inter)m (-area)s 10(routes)m cmmi10.300 @sf 27 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(89)m 62 1318 p (16.3)s 23(Examining)m 11(transit)m 10(areas')m 11(summary)m 10(links)m cmmi10.300 @sf 27 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(90)m 62 1384 p (16.4)s 23(Calculating)m 11(AS)m 10(external)m 11(routes)m cmmi10.300 @sf 17 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(92)m 62 1451 p (16.5)s 23(Incremental)m 11(updates)m 10 r 124 c 11(summary)m 10(link)m 10(advertisements)m cmmi10.300 @sf 28 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(93)m 62 1517 p (16.6)s 23(Incremental)m 11(updates)m 10 r 124 c 11(AS)m 10(external)m 10(link)m 11(advertisements)m cmmi10.300 @sf 17 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 46(93)m 62 1584 p (16.7)s 23(Events)m 11(generated)m 10(as)m 11 r 97 c 10(result)m 10(of)m 11(routing)m 10(table)m 11(changes)m cmmi10.300 @sf 10 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 46(93)m 62 1650 p (16.8)s 23(Equal-cost)m 11(multipath)m cmmi10.300 @sf 20 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(94)m 62 1717 p (16.9)s 23(Building)m 11(the)m 10(non-zero-T)m (OS)s 10(portion)m 10(of)m 11(the)m 10(routing)m 11(table)m cmmi10.300 @sf 32 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(94)m t-bol.300 @sf 62 1825 p (Refer)s (ences)s 1652(96)m 0 1933 p 65 c 32(OSPF)m 11(data)m 10(formats)m 1501(97)m t-rom.300 @sf 62 2000 p (A.1)s 35(Encapsulation)m 10(of)m 11(OSPF)m 10(packets)m cmmi10.300 @sf 36 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 47(97)m 62 2066 p (A.2)s 35(The)m 10(Options)m 11(\014eld)m cmmi10.300 @sf 12 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(98)m 62 2133 p (A.3)s 35(OSPF)m 10(Packet)m 11(Formats)m cmmi10.300 @sf 33 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 46(99)m 158 2199 p (A.3.1)s 41(The)m 10(OSPF)m 11(packet)m 10(header)m cmmi10.300 @sf 14 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 26(100)m 158 2266 p (A.3.2)s 41(The)m 10(Hello)m 11(packet)m cmmi10.300 @sf 13 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 26(101)m 158 2332 p (A.3.3)s 41(The)m 10(Database)m 11(Description)m 10(packet)m cmmi10.300 @sf 39 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 26(102)m 158 2399 p (A.3.4)s 41(The)m 10(Link)m 11(State)m 10(Request)m 11(packet)m cmmi10.300 @sf 14 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 26(103)m 158 2465 p (A.3.5)s 41(The)m 10(Link)m 11(State)m 10(Update)m 11(packet)m cmmi10.300 @sf 28 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 25(104)m 158 2532 p (A.3.6)s 41(The)m 10(Link)m 11(State)m 10(Acknowledgment)m 11(packet)m cmmi10.300 @sf 14 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(105)m 62 2599 p (A.4)s 35(Link)m 10(state)m 11(advertisement)m 10(formats)m cmmi10.300 @sf 15 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(106)m 0 2723 p (Moy)s 1720([Page)m 10(iv])m @eop 5 @bop0 5 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 158 195 p (A.4.1)s 41(The)m 10(Link)m 11(State)m 10(Advertisement)m 11(header)m cmmi10.300 @sf 30 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(107)m 158 263 p (A.4.2)s 41(Router)m 10(links)m 11(advertisements)m cmmi10.300 @sf 28 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 25(108)m 158 330 p (A.4.3)s 41(Network)m 10(links)m 11(advertisements)m cmmi10.300 @sf 28 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 27 r 49 c (10)s 158 398 p (A.4.4)s 41(Summary)m 10(link)m 11(advertisements)m cmmi10.300 @sf 28 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 29 r 49 c -1 r 49 c -1 r 49 c 158 466 p (A.4.5)s 41(AS)m 10(external)m 11(link)m 10(advertisements)m cmmi10.300 @sf 25 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 27 r 49 c (13)s t-bol.300 @sf 0 575 p 66 c 35(Ar)m (chitectural)s 9(Constants)m 1399 r 49 c -1(15)m 0 685 p 67 c 32(Con\014gurable)m 11(Constants)m 1405 r 49 c -2(16)m t-rom.300 @sf 62 752 p (C.1)s 37(Global)m 11(parameters)m cmmi10.300 @sf 29 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 27 r 49 c -1(16)m 62 820 p (C.2)s 37(Area)m 11(parameters)m cmmi10.300 @sf 30 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 27 r 49 c -1(16)m 62 888 p (C.3)s 37(Router)m 11(interface)m 10(parameters)m cmmi10.300 @sf 35 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 27 r 49 c -1(17)m 62 955 p (C.4)s 37 r 86 c -1(irtual)m 9(link)m 11(parameters)m cmmi10.300 @sf 17 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 27 r 49 c -1(18)m 62 1023 p (C.5)s 37(Non-broadcast,)m 11(multi-access)m 10(network)m 11(parameters)m cmmi10.300 @sf 38 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 27 r 49 c (18)s 62 1091 p (C.6)s 37(Host)m 11(route)m 10(parameters)m cmmi10.300 @sf 33 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 27 r 49 c (19)s t-bol.300 @sf 0 1200 p 68 c 32(Authentication)m 1559(120)m t-rom.300 @sf 62 1268 p (D.1)s 35(AuT)m -2(ype)m 9 r 48 c 11 r 123 c 10(No)m 11(authentication)m cmmi10.300 @sf 26 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(120)m 62 1335 p (D.2)s 35(AuT)m -2(ype)m 9 r 49 c 11 r 123 c 10(Simple)m 11(password)m cmmi10.300 @sf 37 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(120)m t-bol.300 @sf 0 1445 p 69 c 35(Differ)m (ences)s 9(fr)m (om)s 10(RFC)m 10(1247)m 1338(121)m t-rom.300 @sf 62 1512 p (E.1)s 40 r 65 c 10(\014x)m 10(for)m 11 r 97 c 10(problem)m 11(with)m 10(OSPF)m 11 r 86 c -2(irtual)m 9(links)m cmmi10.300 @sf 23 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(121)m 62 1580 p (E.2)s 40(Supporting)m 10(supernetting)m 10(and)m 11(subnet)m 10 r 48 c cmmi10.300 @sf 37 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(121)m 62 1648 p (E.3)s 40(Obsoleting)m 10(LSIn\014nity)m 10(in)m 11(router)m 10(links)m 11(advertisements)m cmmi10.300 @sf 16 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(122)m 62 1715 p (E.4)s 40 r 84 c (OS)s 9(encoding)m 11(updated)m cmmi10.300 @sf 17 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 26(122)m 62 1783 p (E.5)s 40(Summarizing)m 10(routes)m 10(into)m 11(transit)m 10(areas)m cmmi10.300 @sf 37 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c t-rom.300 @sf 25(122)m 62 1851 p (E.6)s 40(Summarizing)m 10(routes)m 10(into)m 11(stub)m 10(areas)m cmmi10.300 @sf 39 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 25(123)m 62 1918 p (E.7)s 40(Flushing)m 10(anomalous)m 10(network)m 11(links)m 10(advertisements)m cmmi10.300 @sf 18 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 25(123)m 62 1986 p (E.8)s 40(Required)m 10(Statistics)m 10(appendix)m 11(deleted)m cmmi10.300 @sf 19 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c t-rom.300 @sf 25(123)m 62 2054 p (E.9)s 40(Other)m 10(changes)m cmmi10.300 @sf 32 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c t-rom.300 @sf 26(123)m t-bol.300 @sf 0 2163 p 70 c 37(An)m 10(algorithm)m 11(for)m 10(assigning)m 11(Link)m 10(State)m 11(IDs)m 1077(125)m 62 2273 p (Security)s 11(Considerations)m 1398(127)m 62 2382 p (Author)s 1 r 39 c 115 c 9(Addr)m (ess)s 1510(127)m t-rom.300 @sf 0 2723 p (Moy)s 1731([Page)m 11(v])m @eop 1 @bop0 /Times-Bold /t-bol.360 ReEncodeForTeX /t-bol.360 /t-bol.360 49.999929 TeXPSmakefont def /Courier /c-med.300 ReEncodeForTeX /c-med.300 /c-med.300 41.666629 TeXPSmakefont def 1 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 49 c 58(Intr)m (oduction)s t-rom.300 @sf 0 298 p (This)s 10(document)m 11(is)m 10 r 97 c 11(speci\014cation)m 10(of)m 10(the)m 11(Open)m 10(Shortest)m 11(Path)m 10(First)m 11(\(OSPF\))m 10(TCP/IP)m 10(internet)m 11(routing)m 10(protocol.)m 14(OSPF)m 11(is)m 0 348 p (classi\014ed)s 10(as)m 11(an)m 10(Interior)m 11(Gateway)m 10(Protocol)m 10(\(IGP\).)m 11(This)m 10(means)m 11(that)m 10(it)m 11(distributes)m 10(routing)m 10(information)m 11(between)m 10(routers)m 0 398 p (belonging)s 10(to)m 11 r 97 c 10(single)m 11(Autonomous)m 10(System.)m 14(The)m 10(OSPF)m 11(protocol)m 10(is)m 11(based)m 10(on)m 10(link-state)m 11(or)m 10(SPF)m 11(technology)m -2 r 46 c 13(This)m 10(is)m 11 r 97 c 0 448 p (departure)s 10(from)m 11(the)m 10(Bellman-Ford)m 11(base)m 10(used)m 10(by)m 11(traditional)m 10(TCP/IP)m 11(internet)m 10(routing)m 11(protocols.)m 0 508 p (The)s 10(OSPF)m 11(protocol)m 10(was)m 11(developed)m 10(by)m 10(the)m 11(OSPF)m 10(working)m 11(group)m 10(of)m 11(the)m 10(Internet)m 10(Engineering)m 11 r 84 c -2(ask)m 9(Force.)m 14(It)m 11(has)m 10(been)m 0 558 p (designed)s 10(expressly)m 11(for)m 10(the)m 11(TCP/IP)m 10(internet)m 10(environment,)m 11(including)m 10(explicit)m 11(support)m 10(for)m 11(IP)m 10(subnetting,)m 10 r 84 c (OS-based)s 0 608 p (routing)s 10(and)m 11(the)m 10(tagging)m 11(of)m 10(externally-derived)m 10(routing)m 11(information.)m 14(OSPF)m 10(also)m 11(provides)m 10(for)m 10(the)m 11(authentication)m 10(of)m 0 657 p (routing)s 10(updates,)m 11(and)m 10(utilizes)m 11(IP)m 10(multicast)m 10(when)m 11(sending/receiving)m 10(the)m 11(updates.)m 14(In)m 10(addition,)m 10(much)m 11(work)m 10(has)m 11(been)m 10(done)m 0 707 p (to)s 10(produce)m 11 r 97 c 10(protocol)m 11(that)m 10(responds)m 10(quickly)m 11(to)m 10(topology)m 11(changes,)m 10(yet)m 11(involves)m 10(small)m 10(amounts)m 11(of)m 10(routing)m 11(protocol)m 0 757 p (traf)s (\014c.)s 0 817 p (The)s 10(author)m 11(would)m 10(like)m 11(to)m 10(thank)m 10(Fred)m 11(Baker)m -1 r 44 c 10(Jef)m (frey)s 9(Bur)m (gan,)s 10(Rob)m 10(Coltun,)m 11(Dino)m 10(Farinacci,)m 11 r 86 c -2(ince)m 10(Fuller)m -1 r 44 c 9(Phanindra)m 0 867 p (Jujjavarapu,)s 10(Milo)m 11(Medin,)m 10(Kannan)m 11 r 86 c -4(aradhan)m 9(and)m 11(the)m 10(rest)m 11(of)m 10(the)m 11(OSPF)m 10(working)m 10(group)m 11(for)m 10(the)m 11(ideas)m 10(and)m 10(support)m 11(they)m 0 917 p (have)s 10(given)m 11(to)m 10(this)m 11(project.)m t-bol.360 @sf 0 1043 p (1.1)s 50(Pr)m (otocol)s 12(overview)m t-rom.300 @sf 0 1131 p (OSPF)s 10(routes)m 11(IP)m 10(packets)m 11(based)m 10(solely)m 10(on)m 11(the)m 10(destination)m 11(IP)m 10(address)m 11(and)m 10(IP)m 10 r 84 c -2(ype)m 10(of)m 10(Service)m 11(found)m 10(in)m 11(the)m 10(IP)m 10(packet)m 0 1181 p (header)s -1 r 46 c 13(IP)m 10(packets)m 10(are)m 11(routed)m 10(\\as)m 11(is")m 10 r 123 c 11(they)m 10(are)m 10(not)m 11(encapsulated)m 10(in)m 11(any)m 10(further)m 10(protocol)m 11(headers)m 10(as)m 11(they)m 10(transit)m 11(the)m 0 1231 p (Autonomous)s 10(System.)m 14(OSPF)m 11(is)m 10 r 97 c 11(dynamic)m 10(routing)m 10(protocol.)m 14(It)m 11(quickly)m 10(detects)m 11(topological)m 10(changes)m 10(in)m 11(the)m 10(AS)m 11(\(such)m 10(as)m 0 1280 p (router)s 10(interface)m 11(failures\))m 10(and)m 11(calculates)m 10(new)m 10(loop-free)m 11(routes)m 10(after)m 11 r 97 c 10(period)m 11(of)m 10(conver)m (gence.)s 13(This)m 11(period)m 10(of)m 0 1330 p (conver)s (gence)s 10(is)m 10(short)m 10(and)m 11(involves)m 10 r 97 c 11(minimum)m 10(of)m 11(routing)m 10(traf)m (\014c.)s 0 1390 p (In)s 10 r 97 c 11(link-state)m 10(routing)m 11(protocol,)m 10(each)m 10(router)m 11(maintains)m 10 r 97 c 11(database)m 10(describing)m 11(the)m 10(Autonomous)m 10(System')m -1 r 115 c 10(topology)m -2 r 46 c 0 1440 p (Each)s 10(participating)m 11(router)m 10(has)m 11(an)m 10(identical)m 10(database.)m 14(Each)m 11(individual)m 10(piece)m 11(of)m 10(this)m 10(database)m 11(is)m 10 r 97 c 11(particular)m 10(router)m 2 r 39 c -2 r 115 c 0 1490 p (local)s 10(state)m 11(\(e.g.,)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(usable)m 11(interfaces)m 10(and)m 11(reachable)m 10(neighbors\).)m 14(The)m 10(router)m 11(distributes)m 10(its)m 11(local)m 10(state)m 0 1540 p (throughout)s 10(the)m 11(Autonomous)m 10(System)m 11(by)m 10(\015ooding.)m 0 1600 p (All)s 10(routers)m 11(run)m 10(the)m 11(exact)m 10(same)m 10(algorithm,)m 11(in)m 10(parallel.)m 14(From)m 11(the)m 10(topological)m 10(database,)m 11(each)m 10(router)m 11(constructs)m 10 r 97 c 11(tree)m 10(of)m 0 1650 p (shortest)s 10(paths)m 11(with)m 10(itself)m 11(as)m 10(root.)m 14(This)m 10(shortest-path)m 11(tree)m 10(gives)m 11(the)m 10(route)m 10(to)m 11(each)m 10(destination)m 11(in)m 10(the)m 11(Autonomous)m 0 1700 p (System.)s 14(Externally)m 10(derived)m 11(routing)m 10(information)m 11(appears)m 10(on)m 10(the)m 11(tree)m 10(as)m 11(leaves.)m 0 1760 p (OSPF)s 10(calculates)m 11(separate)m 10(routes)m 11(for)m 10(each)m 10 r 84 c -1(ype)m 9(of)m 10(Service)m 11(\(T)m (OS\).)s 9(When)m 11(several)m 10(equal-cost)m 11(routes)m 10(to)m 11 r 97 c 10(destination)m 0 1810 p (exist,)s 10(traf)m (\014c)s 10(is)m 10(distributed)m 11(equally)m 10(among)m 11(them.)m 14(The)m 10(cost)m 10(of)m 11 r 97 c 10(route)m 11(is)m 10(described)m 11(by)m 10 r 97 c 10(single)m 11(dimensionless)m 10(metric.)m 0 1870 p (OSPF)s 10(allows)m 11(sets)m 10(of)m 11(networks)m 10(to)m 10(be)m 11(grouped)m 10(together)m -1 r 46 c 13(Such)m 10 r 97 c 11(grouping)m 10(is)m 11(called)m 10(an)m 10(area.)m 14(The)m 11(topology)m 10(of)m 11(an)m 10(area)m 10(is)m 0 1920 p (hidden)s 10(from)m 11(the)m 10(rest)m 11(of)m 10(the)m 10(Autonomous)m 11(System.)m 14(This)m 10(information)m 11(hiding)m 10(enables)m 10 r 97 c 11(signi\014cant)m 10(reduction)m 11(in)m 10(routing)m 0 1970 p (traf)s (\014c.)s 13(Also,)m 11(routing)m 10(within)m 10(the)m 11(area)m 10(is)m 11(determined)m 10(only)m 10(by)m 11(the)m 10(area')m -1 r 115 c 9(own)m 11(topology)m -2 r 44 c 10(lending)m 10(the)m 10(area)m 11(protection)m 10(from)m 0 2019 p (bad)s 10(routing)m 11(data.)m 14(An)m 10(area)m 11(is)m 10 r 97 c 10(generalization)m 11(of)m 10(an)m 11(IP)m 10(subnetted)m 10(network.)m 0 2080 p (OSPF)s 10(enables)m 11(the)m 10(\015exible)m 11(con\014guration)m 10(of)m 10(IP)m 11(subnets.)m 14(Each)m 10(route)m 11(distributed)m 10(by)m 10(OSPF)m 11(has)m 10 r 97 c 11(destination)m 10(and)m 11(mask.)m 0 2129 p 84 c -2(wo)m 9(dif)m (ferent)s 10(subnets)m 11(of)m 10(the)m 10(same)m 11(IP)m 10(network)m 11(number)m 10(may)m 10(have)m 11(dif)m (ferent)s 10(sizes)m 10(\(i.e.,)m 10(dif)m (ferent)s 10(masks\).)m 14(This)m 10(is)m 0 2179 p (commonly)s 10(referred)m 11(to)m 10(as)m 11(variable)m 10(length)m 10(subnetting.)m 14 r 65 c 11(packet)m 10(is)m 11(routed)m 10(to)m 10(the)m 11(best)m 10(\(i.e.,)m 11(longest)m 10(or)m 11(most)m 10(speci\014c\))m 0 2229 p (match.)s 14(Host)m 10(routes)m 11(are)m 10(considered)m 11(to)m 10(be)m 10(subnets)m 11(whose)m 10(masks)m 11(are)m 10(\\all)m 10(ones")m 11 r 40 c c-med.300 @sf (0xffffffff)s t-rom.300 @sf (\).)s 0 2289 p (All)s 10(OSPF)m 11(protocol)m 10(exchanges)m 11(are)m 10(authenticated.)m 14(This)m 10(means)m 11(that)m 10(only)m 11(trusted)m 10(routers)m 10(can)m 11(participate)m 10(in)m 11(the)m 0 2339 p (Autonomous)s 10(System')m -1 r 115 c 10(routing.)m 13 r 65 c 11(variety)m 10(of)m 11(authentication)m 10(schemes)m 11(can)m 10(be)m 10(used;)m 11 r 97 c 10(single)m 11(authentication)m 10(scheme)m 10(is)m 0 2389 p (con\014gured)s 10(for)m 11(each)m 10(area.)m 14(This)m 11(enables)m 10(some)m 10(areas)m 11(to)m 10(use)m 11(much)m 10(stricter)m 10(authentication)m 11(than)m 10(others.)m 0 2449 p (Externally)s 10(derived)m 11(routing)m 10(data)m 11(\(e.g.,)m 10(routes)m 10(learned)m 11(from)m 10(the)m 11(Exterior)m 10(Gateway)m 11(Protocol)m 10(\(EGP\)\))m 10(is)m 11(passed)m 0 2499 p (transparently)s 10(throughout)m 11(the)m 10(Autonomous)m 11(System.)m 14(This)m 10(externally)m 10(derived)m 11(data)m 10(is)m 11(kept)m 10(separate)m 10(from)m 11(the)m 10(OSPF)m 0 2549 p (protocol')s -1 r 115 c 9(link)m 11(state)m 10(data.)m 14(Each)m 10(external)m 11(route)m 10(can)m 11(also)m 10(be)m 10(tagged)m 11(by)m 10(the)m 11(advertising)m 10(router)m -1 r 44 c 10(enabling)m 10(the)m 11(passing)m 10(of)m 0 2599 p (additional)s 10(information)m 11(between)m 10(routers)m 11(on)m 10(the)m 10(boundaries)m 11(of)m 10(the)m 11(Autonomous)m 10(System.)m 0 2723 p (Moy)s 1731([Page)m 11(1])m @eop 2 @bop0 2 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (1.2)s 50(De\014nitions)m 12(of)m 13(commonly)m 12(used)m 13(terms)m t-rom.300 @sf 0 284 p (This)s 10(section)m 11(provides)m 10(de\014nitions)m 11(for)m 10(terms)m 10(that)m 11(have)m 10 r 97 c 11(speci\014c)m 10(meaning)m 11(to)m 10(the)m 10(OSPF)m 11(protocol)m 10(and)m 11(that)m 10(are)m 10(used)m 0 334 p (throughout)s 10(the)m 11(text.)m 14(The)m 10(reader)m 11(unfamiliar)m 10(with)m 10(the)m 11(Internet)m 10(Protocol)m 11(Suite)m 10(is)m 10(referred)m 11(to)m 10([RS-85-153])m 11(for)m 10(an)m 0 384 p (introduction)s 10(to)m 11(IP)m -4 r 46 c t-bol.300 @sf 0 470 p (Router)s t-rom.300 @sf 21 r 65 c 10(level)m 11(three)m 10(Internet)m 10(Protocol)m 11(packet)m 10(switch.)m 14(Formerly)m 11(called)m 10 r 97 c 10(gateway)m 11(in)m 10(much)m 11(of)m 10(the)m 10(IP)m 11(literature.)m t-bol.300 @sf 0 547 p (Autonomous)s 10(System)m t-rom.300 @sf 21 r 65 c 11(group)m 10(of)m 10(routers)m 11(exchanging)m 10(routing)m 11(information)m 10(via)m 11 r 97 c 10(common)m 10(routing)m 11(protocol.)m 104 596 p (Abbreviated)s 10(as)m 11(AS.)m t-bol.300 @sf 0 673 p (Interior)s 10(Gateway)m 11(Pr)m (otocol)s t-rom.300 @sf 20(The)m 10(routing)m 11(protocol)m 10(spoken)m 11(by)m 10(the)m 10(routers)m 11(belonging)m 10(to)m 11(an)m 10(Autonomous)m 10(system.)m 104 723 p (Abbreviated)s 10(as)m 11(IGP)m -4 r 46 c 9(Each)m 11(Autonomous)m 10(System)m 11(has)m 10 r 97 c 10(single)m 11(IGP)m -4 r 46 c 10(Separate)m 10(Autonomous)m 11(Systems)m 10(may)m 10(be)m 104 773 p (running)s 10(dif)m (ferent)s 10(IGPs.)m t-bol.300 @sf 0 849 p (Router)s 10(ID)m t-rom.300 @sf 21 r 65 c 11(32-bit)m 10(number)m 10(assigned)m 11(to)m 10(each)m 10(router)m 11(running)m 10(the)m 10(OSPF)m 11(protocol.)m 13(This)m 11(number)m 10(uniquely)m 10(identi\014es)m 11(the)m 104 899 p (router)s 10(within)m 11(an)m 10(Autonomous)m 10(System.)m t-bol.300 @sf 0 976 p (Network)s t-rom.300 @sf 21(In)m 10(this)m 11(memo,)m 10(an)m 10(IP)m 11(network/subnet/supernet.)m 14(It)m 10(is)m 11(possible)m 10(for)m 10(one)m 11(physical)m 10(network)m 11(to)m 10(be)m 10(assigned)m 104 1026 p (multiple)s 10(IP)m 11(network/subnet)m 10(numbers.)m 14 r 87 c -2 r 101 c 9(consider)m 10(these)m 11(to)m 10(be)m 11(separate)m 10(networks.)m 14(Point-to-point)m 10(physical)m 104 1075 p (networks)s 10(are)m 11(an)m 10(exception)m 10 r 45 c 11(they)m 10(are)m 11(considered)m 10 r 97 c 11(single)m 10(network)m 10(no)m 11(matter)m 10(how)m 11(many)m 10(\(if)m 10(any)m 11(at)m 10(all\))m 11(IP)m 104 1125 p (network/subnet)s 10(numbers)m 11(are)m 10(assigned)m 10(to)m 11(them.)m t-bol.300 @sf 0 1202 p (Network)s 10(mask)m t-rom.300 @sf 21 r 65 c 11(32-bit)m 10(number)m 10(indicating)m 11(the)m 10(range)m 11(of)m 10(IP)m 11(addresses)m 10(residing)m 10(on)m 11 r 97 c 10(single)m 11(IP)m 104 1252 p (network/subnet/supernet.)s 14(This)m 10(speci\014cation)m 10(displays)m 11(network)m 10(masks)m 11(as)m 10(hexadecimal)m 11(numbers.)m 13(For)m 11(example,)m 104 1301 p (the)s 10(network)m 11(mask)m 10(for)m 10 r 97 c 11(class)m 10 r 67 c 11(IP)m 10(network)m 11(is)m 10(displayed)m 10(as)m c-med.300 @sf 11(0xffffff00)m t-rom.300 @sf 46 c 14(Such)m 10 r 97 c 10(mask)m 11(is)m 10(often)m 11(displayed)m 104 1351 p (elsewhere)s 10(in)m 11(the)m 10(literature)m 10(as)m c-med.300 @sf 11(255.255.255.0)m t-rom.300 @sf 46 c t-bol.300 @sf 0 1428 p (Multi-access)s 10(networks)m t-rom.300 @sf 21(Those)m 11(physical)m 10(networks)m 10(that)m 11(support)m 10(the)m 11(attachment)m 10(of)m 11(multiple)m 10(\(more)m 10(than)m 11(two\))m 10(routers.)m 104 1478 p (Each)s 10(pair)m 11(of)m 10(routers)m 10(on)m 11(such)m 10 r 97 c 11(network)m 10(is)m 11(assumed)m 10(to)m 10(be)m 11(able)m 10(to)m 11(communicate)m 10(directly)m 10(\(e.g.,)m 11(multi-drop)m 104 1528 p (networks)s 10(are)m 11(excluded\).)m t-bol.300 @sf 0 1604 p (Interface)s t-rom.300 @sf 21(The)m 10(connection)m 11(between)m 10 r 97 c 10(router)m 11(and)m 10(one)m 11(of)m 10(its)m 11(attached)m 10(networks.)m 14(An)m 10(interface)m 11(has)m 10(state)m 10(information)m 104 1654 p (associated)s 10(with)m 11(it,)m 10(which)m 10(is)m 11(obtained)m 10(from)m 11(the)m 10(underlying)m 11(lower)m 10(level)m 10(protocols)m 11(and)m 10(the)m 11(routing)m 10(protocol)m 10(itself.)m 104 1704 p (An)s 10(interface)m 11(to)m 10 r 97 c 10(network)m 11(has)m 10(associated)m 11(with)m 10(it)m 11 r 97 c 10(single)m 10(IP)m 11(address)m 10(and)m 11(mask)m 10(\(unless)m 10(the)m 11(network)m 10(is)m 11(an)m 104 1754 p (unnumbered)s 10(point-to-point)m 11(network\).)m 13(An)m 11(interface)m 10(is)m 11(sometimes)m 10(also)m 11(referred)m 10(to)m 10(as)m 11 r 97 c 10(link.)m t-bol.300 @sf 0 1830 p (Neighboring)s 10 r 114 c (outers)s t-rom.300 @sf 20 r 84 c -1(wo)m 9(routers)m 10(that)m 11(have)m 10(interfaces)m 11(to)m 10 r 97 c 10(common)m 11(network.)m 14(On)m 10(multi-access)m 11(networks,)m 10(neighbors)m 104 1880 p (are)s 10(dynamically)m 11(discovered)m 10(by)m 10(OSPF')m -1 r 115 c 10(Hello)m 10(Protocol.)m t-bol.300 @sf 0 1957 p (Adjacency)s t-rom.300 @sf 21 r 65 c 10(relationship)m 11(formed)m 10(between)m 10(selected)m 11(neighboring)m 10(routers)m 11(for)m 10(the)m 11(purpose)m 10(of)m 10(exchanging)m 11(routing)m 104 2007 p (information.)s 14(Not)m 10(every)m 10(pair)m 11(of)m 10(neighboring)m 11(routers)m 10(become)m 11(adjacent.)m t-bol.300 @sf 0 2083 p (Link)s 10(state)m 11(advertisement)m t-rom.300 @sf 21(Describes)m 10(the)m 10(local)m 11(state)m 10(of)m 11 r 97 c 10(router)m 11(or)m 10(network.)m 14(This)m 10(includes)m 11(the)m 10(state)m 10(of)m 11(the)m 10(router)m 2 r 39 c -1 r 115 c 104 2133 p (interfaces)s 10(and)m 11(adjacencies.)m 13(Each)m 11(link)m 10(state)m 11(advertisement)m 10(is)m 11(\015ooded)m 10(throughout)m 10(the)m 11(routing)m 10(domain.)m 14(The)m 104 2183 p (collected)s 10(link)m 11(state)m 10(advertisements)m 10(of)m 11(all)m 10(routers)m 11(and)m 10(networks)m 11(forms)m 10(the)m 10(protocol')m -1 r 115 c 9(topological)m 11(database.)m t-bol.300 @sf 0 2259 p (Hello)s 10(Pr)m (otocol)s t-rom.300 @sf 20(The)m 11(part)m 10(of)m 11(the)m 10(OSPF)m 11(protocol)m 10(used)m 10(to)m 11(establish)m 10(and)m 11(maintain)m 10(neighbor)m 10(relationships.)m 14(On)m 104 2309 p (multi-access)s 10(networks)m 11(the)m 10(Hello)m 10(Protocol)m 11(can)m 10(also)m 11(dynamically)m 10(discover)m 11(neighboring)m 10(routers.)m t-bol.300 @sf 0 2386 p (Designated)s 10(Router)m t-rom.300 @sf 21(Each)m 11(multi-access)m 10(network)m 10(that)m 11(has)m 10(at)m 11(least)m 10(two)m 11(attached)m 10(routers)m 10(has)m 11 r 97 c 10(Designated)m 11(Router)m -2 r 46 c 13(The)m 104 2436 p (Designated)s 10(Router)m 11(generates)m 10 r 97 c 10(link)m 11(state)m 10(advertisement)m 11(for)m 10(the)m 11(multi-access)m 10(network)m 10(and)m 11(has)m 10(other)m 11(special)m 104 2485 p (responsibilities)s 10(in)m 11(the)m 10(running)m 10(of)m 11(the)m 10(protocol.)m 14(The)m 11(Designated)m 10(Router)m 10(is)m 11(elected)m 10(by)m 11(the)m 10(Hello)m 10(Protocol.)m 104 2549 p (The)s 10(Designated)m 11(Router)m 10(concept)m 10(enables)m 11 r 97 c 10(reduction)m 11(in)m 10(the)m 11(number)m 10(of)m 10(adjacencies)m 11(required)m 10(on)m 11 r 97 c 10(multi-access)m 104 2599 p (network.)s 14(This)m 10(in)m 10(turn)m 11(reduces)m 10(the)m 11(amount)m 10(of)m 11(routing)m 10(protocol)m 10(traf)m (\014c)s 10(and)m 10(the)m 11(size)m 10(of)m 11(the)m 10(topological)m 11(database.)m 0 2723 p (Moy)s 1731([Page)m 11(2])m @eop 3 @bop0 3 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (Lower)s -1(-level)m 10(pr)m (otocols)s t-rom.300 @sf 20(The)m 10(underlying)m 10(network)m 10(access)m 11(protocols)m 10(that)m 10(provide)m 10(services)m 10(to)m 10(the)m 11(Internet)m 10(Protocol)m 10(and)m 10(in)m 104 245 p (turn)s 10(the)m 11(OSPF)m 10(protocol.)m 14(Examples)m 10(of)m 11(these)m 10(are)m 11(the)m 10(X.25)m 10(packet)m 11(and)m 10(frame)m 11(levels)m 10(for)m 10(X.25)m 11(PDNs,)m 10(and)m 11(the)m 104 295 p (ethernet)s 10(data)m 11(link)m 10(layer)m 10(for)m 11(ethernets.)m t-bol.360 @sf 0 428 p (1.3)s 50(Brief)m 12(history)m 13(of)m 12(link-state)m 13 r 114 c (outing)s 12(technology)m t-rom.300 @sf 0 521 p (OSPF)s 10(is)m 11 r 97 c 10(link-state)m 11(routing)m 10(protocol.)m 14(Such)m 10(protocols)m 11(are)m 10(also)m 11(referred)m 10(to)m 10(in)m 11(the)m 10(literature)m 11(as)m 10(SPF-based)m 11(or)m 0 571 p (distributed-database)s 10(protocols.)m 14(This)m 11(section)m 10(gives)m 11 r 97 c 10(brief)m 10(description)m 11(of)m 10(the)m 11(developments)m 10(in)m 10(link-state)m 11(technology)m 0 621 p (that)s 10(have)m 11(in\015uenced)m 10(the)m 11(OSPF)m 10(protocol.)m 0 686 p (The)s 10(\014rst)m 10(link-state)m 10(routing)m 10(protocol)m 10(was)m 10(developed)m 10(for)m 10(use)m 10(in)m 10(the)m 10(ARP)m -3(ANET)m 9(packet)m 10(switching)m 10(network.)m 14(This)m 10(protocol)m 0 736 p (is)s 10(described)m 11(in)m 10([McQuillan].)m 14(It)m 11(has)m 10(formed)m 10(the)m 11(starting)m 10(point)m 11(for)m 10(all)m 10(other)m 11(link-state)m 10(protocols.)m 14(The)m 11(homogeneous)m 0 786 p (Arpanet)s 10(environment,)m 11(i.e.,)m 10(single-vendor)m 11(packet)m 10(switches)m 10(connected)m 11(by)m 10(synchronous)m 11(serial)m 10(lines,)m 11(simpli\014ed)m 10(the)m 0 836 p (design)s 10(and)m 11(implementation)m 10(of)m 11(the)m 10(original)m 10(protocol.)m 0 901 p (Modi\014cations)s 10(to)m 11(this)m 10(protocol)m 11(were)m 10(proposed)m 10(in)m 11([Perlman].)m 14(These)m 10(modi\014cations)m 11(dealt)m 10(with)m 10(increasing)m 11(the)m 10(fault)m 0 951 p (tolerance)s 10(of)m 11(the)m 10(routing)m 11(protocol)m 10(through,)m 10(among)m 11(other)m 10(things,)m 11(adding)m 10 r 97 c 11(checksum)m 10(to)m 10(the)m 11(link)m 10(state)m 11(advertisements)m 0 1001 p (\(thereby)s 10(detecting)m 11(database)m 10(corruption\).)m 14(The)m 11(paper)m 10(also)m 10(included)m 11(means)m 10(for)m 11(reducing)m 10(the)m 10(routing)m 11(traf)m (\014c)s 10(overhead)m 10(in)m 10 r 97 c 0 1051 p (link-state)s 10(protocol.)m 14(This)m 11(was)m 10(accomplished)m 10(by)m 11(introducing)m 10(mechanisms)m 10(which)m 11(enabled)m 10(the)m 10(interval)m 11(between)m 10(link)m 10(state)m 0 1100 p (advertisement)s 10(originations)m 11(to)m 10(be)m 11(increased)m 10(by)m 10(an)m 11(order)m 10(of)m 11(magnitude.)m 0 1166 p 65 c 10(link-state)m 11(algorithm)m 10(has)m 11(also)m 10(been)m 10(proposed)m 11(for)m 10(use)m 11(as)m 10(an)m 11(ISO)m 10(IS-IS)m 10(routing)m 11(protocol.)m 14(This)m 10(protocol)m 11(is)m 10(described)m 10(in)m 0 1216 p ([DEC].)s 10(The)m 11(protocol)m 10(includes)m 11(methods)m 10(for)m 10(data)m 11(and)m 10(routing)m 11(traf)m (\014c)s 9(reduction)m 11(when)m 10(operating)m 11(over)m 10(broadcast)m 0 1265 p (networks.)s 14(This)m 10(is)m 11(accomplished)m 10(by)m 11(election)m 10(of)m 10 r 97 c 11(Designated)m 10(Router)m 11(for)m 10(each)m 10(broadcast)m 11(network,)m 10(which)m 11(then)m 0 1315 p (originates)s 10 r 97 c 11(link)m 10(state)m 11(advertisement)m 10(for)m 10(the)m 11(network.)m 0 1381 p (The)s 10(OSPF)m 11(subcommittee)m 10(of)m 11(the)m 10(IETF)m 10(has)m 11(extended)m 10(this)m 11(work)m 10(in)m 11(developing)m 10(the)m 10(OSPF)m 11(protocol.)m 14(The)m 10(Designated)m 0 1430 p (Router)s 10(concept)m 11(has)m 10(been)m 11(greatly)m 10(enhanced)m 10(to)m 11(further)m 10(reduce)m 11(the)m 10(amount)m 11(of)m 10(routing)m 10(traf)m (\014c)s 10(required.)m 14(Multicast)m 0 1480 p (capabilities)s 10(are)m 11(utilized)m 10(for)m 11(additional)m 10(routing)m 10(bandwidth)m 11(reduction.)m 14(An)m 10(area)m 11(routing)m 10(scheme)m 10(has)m 11(been)m 10(developed)m 0 1530 p (enabling)s 10(information)m 11(hiding/protection/reduction.)m 14(Finally)m -2 r 44 c 9(the)m 11(algorithm)m 10(has)m 11(been)m 10(modi\014ed)m 11(for)m 10(ef)m (\014cient)s 10(operation)m 10(in)m 0 1580 p (the)s 10(TCP/IP)m 11(internets.)m t-bol.360 @sf 0 1713 p (1.4)s 50(Organization)m 12(of)m 13(this)m 12(document)m t-rom.300 @sf 0 1806 p (The)s 10(\014rst)m 11(three)m 10(sections)m 11(of)m 10(this)m 10(speci\014cation)m 11(give)m 10 r 97 c 11(general)m 10(overview)m 11(of)m 10(the)m 10(protocol')m -1 r 115 c 10(capabilities)m 10(and)m 10(functions.)m 0 1856 p (Sections)s 10(4-16)m 11(explain)m 10(the)m 11(protocol')m -2 r 115 c 10(mechanisms)m 10(in)m 11(detail.)m 14(Packet)m 10(formats,)m 10(protocol)m 11(constants)m 10(and)m 11(con\014guration)m 0 1906 p (items)s 10(are)m 11(speci\014ed)m 10(in)m 11(the)m 10(appendices.)m 0 1971 p (Labels)s 10(such)m 11(as)m 10(HelloInterval)m 11(encountered)m 10(in)m 10(the)m 11(text)m 10(refer)m 11(to)m 10(protocol)m 11(constants.)m 13(They)m 11(may)m 10(or)m 11(may)m 10(not)m 11(be)m 0 2021 p (con\014gurable.)s 14(The)m 10(architectural)m 11(constants)m 10(are)m 11(explained)m 10(in)m 10(Appendix)m 11(B.)m 10(The)m 11(con\014gurable)m 10(constants)m 10(are)m 11(explained)m 10(in)m 0 2071 p (Appendix)s 10(C.)m 0 2136 p (The)s 10(detailed)m 11(speci\014cation)m 10(of)m 11(the)m 10(protocol)m 10(is)m 11(presented)m 10(in)m 11(terms)m 10(of)m 11(data)m 10(structures.)m 14(This)m 10(is)m 11(done)m 10(in)m 11(order)m 10(to)m 10(make)m 11(the)m 0 2186 p (explanation)s 10(more)m 11(precise.)m 14(Implementations)m 10(of)m 11(the)m 10(protocol)m 10(are)m 11(required)m 10(to)m 11(support)m 10(the)m 10(functionality)m 11(described,)m 10(but)m 0 2236 p (need)s 10(not)m 11(use)m 10(the)m 11(precise)m 10(data)m 10(structures)m 11(that)m 10(appear)m 11(in)m 10(this)m 11(memo.)m t-bol.420 @sf 0 2391 p 50 c 58(The)m 15 r 84 c -4(opological)m 13(Database)m t-rom.300 @sf 0 2499 p (The)s 10(Autonomous)m 11(System')m -1 r 115 c 9(topological)m 10(database)m 11(describes)m 10 r 97 c 11(directed)m 10(graph.)m 14(The)m 10(vertices)m 11(of)m 10(the)m 11(graph)m 10(consist)m 10(of)m 0 2549 p (routers)s 10(and)m 11(networks.)m 14 r 65 c 10(graph)m 11(edge)m 10(connects)m 10(two)m 11(routers)m 10(when)m 11(they)m 10(are)m 10(attached)m 11(via)m 10 r 97 c 11(physical)m 10(point-to-point)m 0 2599 p (network.)s 14(An)m 10(edge)m 11(connecting)m 10 r 97 c 11(router)m 10(to)m 10 r 97 c 11(network)m 10(indicates)m 11(that)m 10(the)m 10(router)m 11(has)m 10(an)m 11(interface)m 10(on)m 11(the)m 10(network.)m 0 2723 p (Moy)s 1731([Page)m 11(3])m @eop 4 @bop0 /Times-Italic /t-ita.300 ReEncodeForTeX /t-ita.300 /t-ita.300 41.666629 TeXPSmakefont def 4 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (The)s 10(vertices)m 11(of)m 10(the)m 11(graph)m 10(can)m 10(be)m 11(further)m 10(typed)m 11(according)m 10(to)m 11(function.)m 13(Only)m 11(some)m 10(of)m 11(these)m 10(types)m 11(carry)m 10(transit)m 10(data)m 0 245 p (traf)s (\014c;)s 10(that)m 10(is,)m 10(traf)m (\014c)s 10(that)m 11(is)m 10(neither)m 10(locally)m 11(originated)m 10(nor)m 11(locally)m 10(destined.)m 14 r 86 c -4(ertices)m 10(that)m 10(can)m 11(carry)m 10(transit)m 10(traf)m (\014c)s 10(are)m 0 295 p (indicated)s 10(on)m 11(the)m 10(graph)m 11(by)m 10(having)m 10(both)m 11(incoming)m 10(and)m 11(outgoing)m 10(edges.)m 627 400 p 696 2 ru 626 449 p 2 50 ru t-ita.300 @sf 652 434 p 86 c -4(ertex)m 10(type)m 860 449 p 2 50 ru 895 434 p 86 c -4(ertex)m 10(name)m 1133 449 p 2 50 ru 1159 434 p 84 c -1(ransit?)m 1322 449 p 2 50 ru 627 451 p 696 2 ru 626 501 p 2 50 ru t-rom.300 @sf 734 486 p 49 c 860 501 p 2 50 ru 941 486 p (Router)s 1133 501 p 2 50 ru 1201 486 p (yes)s 1322 501 p 2 50 ru 626 551 p 2 50 ru 734 536 p 50 c 860 551 p 2 50 ru 925 536 p (Network)s 1133 551 p 2 50 ru 1201 536 p (yes)s 1322 551 p 2 50 ru 626 601 p 2 50 ru 734 586 p 51 c 860 601 p 2 50 ru 886 586 p (Stub)s 10(network)m 1133 601 p 2 50 ru 1208 586 p (no)s 1322 601 p 2 50 ru 627 602 p 696 2 ru 739 739 p 84 c -2(able)m 10(1:)m 14(OSPF)m 10(vertex)m 10(types.)m 0 847 p (OSPF)s 10(supports)m 11(the)m 10(following)m 11(types)m 10(of)m 10(physical)m 11(networks:)m t-bol.300 @sf 0 944 p (Point-to-point)s 10(networks)m t-rom.300 @sf 21 r 65 c 11(network)m 10(that)m 10(joins)m 11 r 97 c 10(single)m 11(pair)m 10(of)m 11(routers.)m 13 r 65 c 11(56Kb)m 10(serial)m 11(line)m 10(is)m 10(an)m 11(example)m 10(of)m 11 r 97 c 104 993 p (point-to-point)s 10(network.)m t-bol.300 @sf 0 1075 p (Br)s (oadcast)s 10(networks)m t-rom.300 @sf 20(Networks)m 11(supporting)m 10(many)m 11(\(more)m 10(than)m 11(two\))m 10(attached)m 10(routers,)m 11(together)m 10(with)m 11(the)m 10(capability)m 10(to)m 104 1125 p (address)s 10 r 97 c 10(single)m 10(physical)m 10(message)m 10(to)m 10(all)m 10(of)m 10(the)m 10(attached)m 10(routers)m 9(\(broadcast\).)m 14(Neighboring)m 10(routers)m 10(are)m 10(discovered)m 104 1175 p (dynamically)s 10(on)m 11(these)m 10(nets)m 10(using)m 11(OSPF')m -1 r 115 c 9(Hello)m 10(Protocol.)m 14(The)m 11(Hello)m 10(Protocol)m 11(itself)m 10(takes)m 10(advantage)m 11(of)m 10(the)m 104 1225 p (broadcast)s 10(capability)m -2 r 46 c 13(The)m 11(protocol)m 10(makes)m 11(further)m 10(use)m 10(of)m 11(multicast)m 10(capabilities,)m 11(if)m 10(they)m 11(exist.)m 13(An)m 11(ethernet)m 10(is)m 11(an)m 104 1274 p (example)s 10(of)m 11 r 97 c 10(broadcast)m 10(network.)m t-bol.300 @sf 0 1356 p (Non-br)s (oadcast)s 10(networks)m t-rom.300 @sf 20(Networks)m 11(supporting)m 10(many)m 11(\(more)m 10(than)m 11(two\))m 10(attached)m 10(routers,)m 11(but)m 10(having)m 11(no)m 10(broadcast)m 104 1406 p (capability)s -2 r 46 c 13(Neighboring)m 10(routers)m 11(are)m 10(also)m 11(discovered)m 10(on)m 10(these)m 11(nets)m 10(using)m 11(OSPF')m -2 r 115 c 10(Hello)m 10(Protocol.)m 14(However)m -1 r 44 c 10(due)m 104 1456 p (to)s 10(the)m 11(lack)m 10(of)m 10(broadcast)m 11(capability)m -2 r 44 c 10(some)m 10(con\014guration)m 10(information)m 11(is)m 10(necessary)m 11(for)m 10(the)m 10(correct)m 11(operation)m 10(of)m 11(the)m 104 1506 p (Hello)s 10(Protocol.)m 14(On)m 10(these)m 11(networks,)m 10(OSPF)m 11(protocol)m 10(packets)m 11(that)m 10(are)m 10(normally)m 11(multicast)m 10(need)m 11(to)m 10(be)m 10(sent)m 11(to)m 10(each)m 104 1555 p (neighboring)s 10(router)m 44 c 9(in)m 10(turn.)m 14(An)m 11(X.25)m 10(Public)m 10(Data)m 11(Network)m 10(\(PDN\))m 11(is)m 10(an)m 11(example)m 10(of)m 10 r 97 c 11(non-broadcast)m 10(network.)m 0 1652 p (The)s 10(neighborhood)m 11(of)m 10(each)m 11(network)m 10(node)m 10(in)m 11(the)m 10(graph)m 11(depends)m 10(on)m 11(whether)m 10(the)m 10(network)m 11(has)m 10(multi-access)m 11(capabilities)m 0 1702 p (\(either)s 10(broadcast)m 11(or)m 10(non-broadcast\))m 11(and,)m 10(if)m 10(so,)m 11(the)m 10(number)m 11(of)m 10(routers)m 11(having)m 10(an)m 10(interface)m 11(to)m 10(the)m 11(network.)m 14(The)m 10(three)m 0 1752 p (cases)s 10(are)m 11(depicted)m 10(in)m 11(Figure)m 10(1.)m 14(Rectangles)m 10(indicate)m 11(routers.)m 14(Circles)m 10(and)m 11(oblongs)m 10(indicate)m 10(multi-access)m 11(networks.)m 0 1802 p (Router)s 10(names)m 11(are)m 10(pre\014xed)m 11(with)m 10(the)m 10(letters)m 11 r 82 c -2 r 84 c 10(and)m 10(network)m 11(names)m 10(with)m 10(the)m 11(letter)m 10(N.)m 11(Router)m 10(interface)m 11(names)m 10(are)m 0 1852 p (pre\014xed)s 10(by)m 11(the)m 10(letter)m 11(I.)m 10(Lines)m 10(between)m 11(routers)m 10(indicate)m 11(point-to-point)m 10(networks.)m 14(The)m 10(left)m 11(side)m 10(of)m 11(the)m 10(\014gure)m 11(shows)m 10 r 97 c 0 1901 p (network)s 10(with)m 11(its)m 10(connected)m 11(routers,)m 10(with)m 10(the)m 11(resulting)m 10(graph)m 11(shown)m 10(on)m 11(the)m 10(right.)m 0 1968 p 84 c -2(wo)m 9(routers)m 11(joined)m 10(by)m 11 r 97 c 10(point-to-point)m 11(network)m 10(are)m 10(represented)m 11(in)m 10(the)m 11(directed)m 10(graph)m 10(as)m 11(being)m 10(directly)m 11(connected)m 10(by)m 11 r 97 c 0 2018 p (pair)s 10(of)m 10(edges,)m 10(one)m 11(in)m 10(each)m 10(direction.)m 14(Interfaces)m 10(to)m 10(physical)m 10(point-to-point)m 10(networks)m 10(need)m 11(not)m 10(be)m 10(assigned)m 10(IP)m 10(addresses.)m 0 2067 p (Such)s 10 r 97 c 11(point-to-point)m 10(network)m 11(is)m 10(called)m 10(unnumbered.)m 14(The)m 11(graphical)m 10(representation)m 11(of)m 10(point-to-point)m 10(networks)m 11(is)m 0 2117 p (designed)s 10(so)m 10(that)m 10(unnumbered)m 10(networks)m 9(can)m 10(be)m 10(supported)m 10(naturally)m -2 r 46 c 13(When)m 10(interface)m 10(addresses)m 10(exist,)m 10(they)m 10(are)m 10(modelled)m 0 2167 p (as)s 10(stub)m 11(routes.)m 14(Note)m 10(that)m 11(each)m 10(router)m 10(would)m 11(then)m 10(have)m 11 r 97 c 10(stub)m 10(connection)m 11(to)m 10(the)m 11(other)m 10(router)m 2 r 39 c -2 r 115 c 10(interface)m 10(address)m 11(\(see)m 0 2217 p (Figure)s 10(1\).)m 0 2283 p (When)s 10(multiple)m 11(routers)m 10(are)m 11(attached)m 10(to)m 10 r 97 c 11(multi-access)m 10(network,)m 11(the)m 10(directed)m 11(graph)m 10(shows)m 10(all)m 11(routers)m 10(bidirectionally)m 0 2333 p (connected)s 10(to)m 11(the)m 10(network)m 11(vertex)m 10(\(again,)m 10(see)m 11(Figure)m 10(1\).)m 14(If)m 11(only)m 10 r 97 c 10(single)m 11(router)m 10(is)m 11(attached)m 10(to)m 11 r 97 c 10(multi-access)m 10(network,)m 0 2383 p (the)s 10(network)m 11(will)m 10(appear)m 11(in)m 10(the)m 10(directed)m 11(graph)m 10(as)m 11 r 97 c 10(stub)m 11(connection.)m 0 2449 p (Each)s 10(network)m 11(\(stub)m 10(or)m 11(transit\))m 10(in)m 10(the)m 11(graph)m 10(has)m 11(an)m 10(IP)m 11(address)m 10(and)m 10(associated)m 11(network)m 10(mask.)m 14(The)m 11(mask)m 10(indicates)m 10(the)m 0 2499 p (number)s 10(of)m 11(nodes)m 10(on)m 10(the)m 11(network.)m 14(Hosts)m 10(attached)m 10(directly)m 11(to)m 10(routers)m 11(\(referred)m 10(to)m 10(as)m 11(host)m 10(routes\))m 10(appear)m 11(on)m 10(the)m 11(graph)m 10(as)m 0 2549 p (stub)s 10(networks.)m 14(The)m 11(network)m 10(mask)m 11(for)m 10 r 97 c 10(host)m 11(route)m 10(is)m 11(always)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 44 c 10(which)m 11(indicates)m 10(the)m 11(presence)m 10(of)m 11 r 97 c 10(single)m 0 2599 p (node.)s 0 2723 p (Moy)s 1731([Page)m 11(4])m @eop 5 @bop0 5 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 5394104 7367557 34469642 47954903 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure1.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:21:13 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 82 112 524 729 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 460.711 335.666 moveto 467.000 341.000 lineto 458.941 339.252 lineto stroke newpath 436.973 401.833 67.840 -118.119 -63.729 arc stroke newpath 409.993 351.563 moveto 405.000 345.000 lineto 412.494 348.441 lineto stroke newpath 436.396 305.813 50.212 49.509 128.701 arc stroke newpath 476.142 354.624 moveto 473.000 347.000 lineto 479.361 352.248 lineto stroke newpath 435.957 374.347 46.044 38.484 -36.437 arcn stroke newpath 467.480 394.543 moveto 471.000 402.000 lineto 464.385 397.077 lineto stroke newpath 505.200 374.000 44.200 -140.692 140.692 arcn stroke newpath 483.197 349.441 moveto 477.000 344.000 lineto 485.028 345.884 lineto stroke newpath 510.009 279.899 72.101 64.543 117.246 arc stroke newpath 534.793 336.606 moveto 540.000 343.000 lineto 532.397 339.808 lineto stroke newpath 506.810 387.354 55.397 -125.045 -53.193 arc stroke newpath 479.431 331.838 moveto 473.000 337.000 lineto 476.245 329.419 lineto stroke newpath 441.675 313.213 39.333 -41.793 37.212 arc stroke newpath 461.985 292.641 moveto 468.000 287.000 lineto 465.347 294.808 lineto stroke newpath 505.147 310.943 44.195 140.592 -147.196 arc stroke newpath 408.390 92.212 moveto 402.000 87.000 lineto 410.091 88.592 lineto stroke newpath 464.723 -46.487 147.489 66.726 115.168 arc stroke newpath 517.041 83.300 moveto 523.000 89.000 lineto 515.060 86.775 lineto stroke newpath 458.706 201.760 129.802 -115.904 -60.309 arc stroke newpath 248.132 343.500 30.872 -67.392 67.392 arc stroke newpath 124.342 344.500 32.377 -114.336 114.336 arcn stroke newpath 259.132 619.500 30.872 -67.392 67.392 arc stroke newpath 135.342 620.500 32.377 -114.336 114.336 arcn stroke % Ellipse newpath 479 641 3 3 0 360 DrawEllipse stroke % Ellipse newpath 479 558 3 3 0 360 DrawEllipse stroke % Ellipse newpath 472 406 3 3 0 360 DrawEllipse stroke % Ellipse newpath 470 283 3 3 0 360 DrawEllipse stroke % Ellipse newpath 544 344 3 3 0 360 DrawEllipse stroke % Ellipse newpath 472 342 3 3 0 360 DrawEllipse stroke % Ellipse newpath 401 343 3 3 0 360 DrawEllipse stroke % Ellipse newpath 527 89 3 3 0 360 DrawEllipse stroke % Ellipse newpath 528 164 3 3 0 360 DrawEllipse stroke % Ellipse newpath 399 161 3 3 0 360 DrawEllipse stroke % Ellipse newpath 399 86 3 3 0 360 DrawEllipse stroke % Polyline newpath 527 93 moveto 527 160 lineto stroke newpath 529.000 152.000 moveto 527.000 160.000 lineto 525.000 152.000 lineto stroke % Polyline newpath 478 562 moveto 478 636 lineto stroke newpath 480.000 628.000 moveto 478.000 636.000 lineto 476.000 628.000 lineto stroke % Polyline newpath 398 90 moveto 398 157 lineto stroke newpath 400.000 149.000 moveto 398.000 157.000 lineto 396.000 149.000 lineto stroke % Polyline newpath 142 88 moveto 207 88 lineto stroke % Polyline newpath 208 71 moveto 248 71 lineto 248 105 lineto 208 105 lineto closepath stroke % Polyline newpath 101 71 moveto 141 71 lineto 141 105 lineto 101 105 lineto closepath stroke % Polyline newpath 111 314 moveto 259 314 lineto stroke % Polyline newpath 111 374 moveto 258 373 lineto stroke % Polyline newpath 118 248 moveto 157 248 lineto 157 281 lineto 118 281 lineto closepath stroke % Polyline newpath 219 249 moveto 258 249 lineto 258 282 lineto 219 282 lineto closepath stroke % Polyline newpath 118 414 moveto 157 414 lineto 157 447 lineto 118 447 lineto closepath stroke % Polyline newpath 217 413 moveto 256 413 lineto 256 446 lineto 217 446 lineto closepath stroke % Polyline newpath 138 282 moveto 138 314 lineto stroke % Polyline newpath 239 283 moveto 239 313 lineto stroke % Polyline newpath 139 375 moveto 139 413 lineto stroke % Polyline newpath 237 374 moveto 237 412 lineto stroke % Polyline newpath 122 590 moveto 270 590 lineto stroke % Polyline newpath 122 650 moveto 269 649 lineto stroke % Polyline newpath 180 515 moveto 219 515 lineto 219 548 lineto 180 548 lineto closepath stroke % Polyline newpath 198 549 moveto 198 589 lineto stroke /Courier findfont 12.222222 scalefont setfont 393 178 moveto 1 -1 scale (Ib) show 1 -1 scale 522 181 moveto 1 -1 scale (Ia) show 1 -1 scale 188 103 moveto 1 -1 scale (Ib) show 1 -1 scale 148 83 moveto 1 -1 scale (Ia) show 1 -1 scale 487 325 moveto 1 -1 scale (N2) show 1 -1 scale 543 91 moveto 1 -1 scale (RT2) show 1 -1 scale 362 89 moveto 1 -1 scale (RT1) show 1 -1 scale 216 87 moveto 1 -1 scale (RT2) show 1 -1 scale 107 89 moveto 1 -1 scale (RT1) show 1 -1 scale 177 343 moveto 1 -1 scale (N2) show 1 -1 scale 365 348 moveto 1 -1 scale (RT5) show 1 -1 scale 460 431 moveto 1 -1 scale (RT6) show 1 -1 scale 560 347 moveto 1 -1 scale (RT4) show 1 -1 scale 460 265 moveto 1 -1 scale (RT3) show 1 -1 scale 124 266 moveto 1 -1 scale (RT3) show 1 -1 scale 224 431 moveto 1 -1 scale (RT6) show 1 -1 scale 126 431 moveto 1 -1 scale (RT5) show 1 -1 scale 227 264 moveto 1 -1 scale (RT4) show 1 -1 scale 188 533 moveto 1 -1 scale (RT7) show 1 -1 scale 188 620 moveto 1 -1 scale (N3) show 1 -1 scale 468 545 moveto 1 -1 scale (RT7) show 1 -1 scale 470 665 moveto 1 -1 scale (N3) show 1 -1 scale 213 206 moveto 1 -1 scale (Physical point-to-point networks) show 1 -1 scale 235 486 moveto 1 -1 scale (Multi-access networks) show 1 -1 scale 228 703 moveto 1 -1 scale (Stub multi-access networks) show 1 -1 scale 206 749 moveto 1 -1 scale (Figure 1: Network map components) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1731([Page)m 11(5])m @eop 6 @bop0 6 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (Figure)s 10 r 50 c 11(shows)m 10 r 97 c 11(sample)m 10(map)m 10(of)m 11(an)m 10(Autonomous)m 11(System.)m 14(The)m 10(rectangle)m 10(labelled)m 11(H1)m 10(indicates)m 11 r 97 c 10(host,)m 11(which)m 10(has)m 10 r 97 c 0 245 p (SLIP)s 10(connection)m 11(to)m 10(Router)m 11 r 82 c -2(T12.)m 13(Router)m 10 r 82 c -1(T12)m 9(is)m 11(therefore)m 10(advertising)m 11 r 97 c 10(host)m 10(route.)m 14(Lines)m 11(between)m 10(routers)m 11(indicate)m 0 295 p (physical)s 10(point-to-point)m 11(networks.)m 14(The)m 10(only)m 11(point-to-point)m 10(network)m 10(that)m 11(has)m 10(been)m 11(assigned)m 10(interface)m 10(addresses)m 11(is)m 10(the)m 0 345 p (one)s 10(joining)m 11(Routers)m 10 r 82 c -1(T6)m 9(and)m 11 r 82 c -2(T10.)m 13(Routers)m 10 r 82 c -1(T5)m 9(and)m 11 r 82 c -2(T7)m 10(have)m 10(EGP)m 10(connections)m 11(to)m 10(other)m 11(Autonomous)m 10(Systems.)m 14 r 65 c 0 394 p (set)s 10(of)m 11(EGP-learned)m 10(routes)m 11(have)m 10(been)m 10(displayed)m 11(for)m 10(both)m 11(of)m 10(these)m 11(routers.)m 0 462 p 65 c 10(cost)m 11(is)m 10(associated)m 11(with)m 10(the)m 10(output)m 11(side)m 10(of)m 11(each)m 10(router)m 11(interface.)m 13(This)m 11(cost)m 10(is)m 11(con\014gurable)m 10(by)m 11(the)m 10(system)m 0 512 p (administrator)s -1 r 46 c 13(The)m 10(lower)m 10(the)m 11(cost,)m 10(the)m 11(more)m 10(likely)m 11(the)m 10(interface)m 10(is)m 11(to)m 10(be)m 11(used)m 10(to)m 10(forward)m 11(data)m 10(traf)m (\014c.)s 13(Costs)m 11(are)m 10(also)m 0 562 p (associated)s 10(with)m 11(the)m 10(externally)m 11(derived)m 10(routing)m 10(data)m 11(\(e.g.,)m 10(the)m 11(EGP-learned)m 10(routes\).)m 0 629 p (The)s 10(directed)m 11(graph)m 10(resulting)m 11(from)m 10(the)m 10(map)m 11(in)m 10(Figure)m 11 r 50 c 10(is)m 11(depicted)m 10(in)m 10(Figure)m 11(3.)m 14(Arcs)m 10(are)m 11(labelled)m 10(with)m 10(the)m 11(cost)m 10(of)m 11(the)m 0 679 p (corresponding)s 10(router)m 11(output)m 10(interface.)m 14(Arcs)m 11(having)m 10(no)m 10(labelled)m 11(cost)m 10(have)m 11 r 97 c 10(cost)m 10(of)m 11(0.)m 14(Note)m 10(that)m 11(arcs)m 10(leading)m 10(from)m 0 729 p (networks)s 10(to)m 11(routers)m 10(always)m 11(have)m 10(cost)m 10(0;)m 11(they)m 10(are)m 11(signi\014cant)m 10(nonetheless.)m 14(Note)m 10(also)m 11(that)m 10(the)m 11(externally)m 10(derived)m 11(routing)m 0 779 p (data)s 10(appears)m 11(on)m 10(the)m 11(graph)m 10(as)m 10(stubs.)m 0 846 p (The)s 10(topological)m 11(database)m 10(\(or)m 11(what)m 10(has)m 10(been)m 11(referred)m 10(to)m 11(above)m 10(as)m 11(the)m 10(directed)m 10(graph\))m 11(is)m 10(pieced)m 11(together)m 10(from)m 10(link)m 11(state)m 0 896 p (advertisements)s 10(generated)m 11(by)m 10(the)m 11(routers.)m 14(The)m 10(neighborhood)m 10(of)m 11(each)m 10(transit)m 11(vertex)m 10(is)m 10(represented)m 11(in)m 10 r 97 c 11(single,)m 10(separate)m 0 946 p (link)s 10(state)m 11(advertisement.)m 14(Figure)m 10 r 52 c 11(shows)m 10(graphically)m 10(the)m 11(link)m 10(state)m 11(representation)m 10(of)m 10(the)m 11(two)m 10(kinds)m 11(of)m 10(transit)m 11(vertices:)m 0 996 p (routers)s 10(and)m 10(multi-access)m 10(networks.)m 13(Router)m 10 r 82 c -1(T12)m 9(has)m 9(an)m 10(interface)m 10(to)m 10(two)m 10(broadcast)m 10(networks)m 10(and)m 9 r 97 c 10(SLIP)m 10(line)m 10(to)m 10 r 97 c 10(host.)m 0 1046 p (Network)s 10(N6)m 11(is)m 10 r 97 c 10(broadcast)m 11(network)m 10(with)m 11(three)m 10(attached)m 10(routers.)m 14(The)m 11(cost)m 10(of)m 10(all)m 11(links)m 10(from)m 10(Network)m 11(N6)m 10(to)m 10(its)m 11(attached)m 0 1096 p (routers)s 10(is)m 11(0.)m 14(Note)m 10(that)m 11(the)m 10(link)m 10(state)m 11(advertisement)m 10(for)m 11(Network)m 10(N6)m 10(is)m 11(actually)m 10(generated)m 11(by)m 10(one)m 11(of)m 10(the)m 10(attached)m 0 1145 p (routers:)s 14(the)m 10(router)m 11(that)m 10(has)m 11(been)m 10(elected)m 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network.)m t-bol.360 @sf 0 1282 p (2.1)s 50(The)m 12(shortest-path)m 13(tr)m (ee)s t-rom.300 @sf 0 1378 p (When)s 10(no)m 11(OSPF)m 10(areas)m 11(are)m 10(con\014gured,)m 10(each)m 11(router)m 10(in)m 11(the)m 10(Autonomous)m 11(System)m 10(has)m 10(an)m 11(identical)m 10(topological)m 11(database,)m 0 1427 p (leading)s 10(to)m 11(an)m 10(identical)m 11(graphical)m 10(representation.)m 14 r 65 c 10(router)m 11(generates)m 10(its)m 11(routing)m 10(table)m 10(from)m 11(this)m 10(graph)m 11(by)m 10(calculating)m 11 r 97 c 0 1477 p (tree)s 10(of)m 11(shortest)m 10(paths)m 11(with)m 10(the)m 10(router)m 11(itself)m 10(as)m 11(root.)m 14(Obviously)m -2 r 44 c 9(the)m 11(shortest-path)m 10(tree)m 11(depends)m 10(on)m 10(the)m 11(router)m 10(doing)m 11(the)m 0 1527 p (calculation.)s 14(The)m 10(shortest-path)m 11(tree)m 10(for)m 11(Router)m 10 r 82 c -2(T6)m 10(in)m 10(our)m 11(example)m 10(is)m 11(depicted)m 10(in)m 10(Figure)m 11(5.)m 0 1595 p (The)s 10(tree)m 11(gives)m 10(the)m 11(entire)m 10(route)m 10(to)m 11(any)m 10(destination)m 11(network)m 10(or)m 11(host.)m 13(However)m 44 c 9(only)m 11(the)m 10(next)m 10(hop)m 11(to)m 10(the)m 11(destination)m 10(is)m 0 1645 p (used)s 10(in)m 11(the)m 10(forwarding)m 11(process.)m 14(Note)m 10(also)m 10(that)m 11(the)m 10(best)m 11(route)m 10(to)m 10(any)m 11(router)m 10(has)m 11(also)m 10(been)m 11(calculated.)m 13(For)m 11(the)m 0 1694 p (processing)s 10(of)m 10(external)m 10(data,)m 11(we)m 10(note)m 10(the)m 10(next)m 10(hop)m 10(and)m 11(distance)m 10(to)m 10(any)m 10(router)m 10(advertising)m 10(external)m 11(routes.)m 13(The)m 11(resulting)m 0 1744 p (routing)s 10(table)m 11(for)m 10(Router)m 11 r 82 c -2(T6)m 10(is)m 10(pictured)m 10(in)m 11 r 84 c -2(able)m 9(2.)m 14(Note)m 11(that)m 10(there)m 10(is)m 11 r 97 c 10(separate)m 11(route)m 10(for)m 11(each)m 10(end)m 10(of)m 11 r 97 c 10(numbered)m 0 1794 p (serial)s 10(line)m 11(\(in)m 10(this)m 11(case,)m 10(the)m 10(serial)m 11(line)m 10(between)m 11(Routers)m 10 r 82 c -1(T6)m 9(and)m 10 r 82 c -1(T10\).)m 0 1869 p (Routes)s 10(to)m 11(networks)m 10(belonging)m 11(to)m 10(other)m 10(AS'es)m 11(\(such)m 10(as)m 11(N12\))m 10(appear)m 11(as)m 10(dashed)m 10(lines)m 11(on)m 10(the)m 11(shortest)m 10(path)m 10(tree)m 11(in)m 10(Figure)m 0 1919 p (5.)s 14(Use)m 10(of)m 11(this)m 10(externally)m 11(derived)m 10(routing)m 10(information)m 11(is)m 10(considered)m 11(in)m 10(the)m 10(next)m 11(section.)m t-bol.360 @sf 0 2056 p (2.2)s 50(Use)m 12(of)m 13(external)m 12 r 114 c (outing)s 12(information)m t-rom.300 @sf 0 2151 p (After)s 10(the)m 11(tree)m 10(is)m 11(created)m 10(the)m 10(external)m 11(routing)m 10(information)m 11(is)m 10(examined.)m 14(This)m 10(external)m 11(routing)m 10(information)m 11(may)m 0 2201 p (originate)s 10(from)m 11(another)m 10(routing)m 11(protocol)m 10(such)m 10(as)m 11(EGP)m -4 r 44 c 10(or)m 10(be)m 11(statically)m 10(con\014gured)m 10(\(static)m 11(routes\).)m 14(Default)m 10(routes)m 11(can)m 0 2251 p (also)s 10(be)m 11(included)m 10(as)m 11(part)m 10(of)m 10(the)m 11(Autonomous)m 10(System')m -1 r 115 c 9(external)m 11(routing)m 10(information.)m 0 2319 p (External)s 10(routing)m 11(information)m 10(is)m 11(\015ooded)m 10(unaltered)m 10(throughout)m 11(the)m 10(AS.)m 11(In)m 10(our)m 11(example,)m 10(all)m 10(the)m 11(routers)m 10(in)m 11(the)m 0 2368 p (Autonomous)s 10(System)m 11(know)m 10(that)m 11(Router)m 10 r 82 c -1(T7)m 9(has)m 10(two)m 11(external)m 10(routes,)m 11(with)m 10(metrics)m 10 r 50 c 11(and)m 10(9.)m 0 2436 p (OSPF)s 10(supports)m 11(two)m 10(types)m 11(of)m 10(external)m 10(metrics.)m 14 r 84 c -2(ype)m 10 r 49 c 10(external)m 11(metrics)m 10(are)m 11(equivalent)m 10(to)m 10(the)m 11(link)m 10(state)m 11(metric.)m 14 r 84 c -2(ype)m 9 r 50 c 0 2486 p (external)s 10(metrics)m 11(are)m 10(greater)m 11(than)m 10(the)m 10(cost)m 11(of)m 10(any)m 11(path)m 10(internal)m 11(to)m 10(the)m 10(AS.)m 11(Use)m 10(of)m 11 r 84 c -2(ype)m 9 r 50 c 11(external)m 10(metrics)m 10(assumes)m 11(that)m 0 2536 p (routing)s 10(between)m 11(AS'es)m 10(is)m 11(the)m 10(major)m 10(cost)m 11(of)m 10(routing)m 11 r 97 c 10(packet,)m 11(and)m 10(eliminates)m 10(the)m 11(need)m 10(for)m 11(conversion)m 10(of)m 10(external)m 11(costs)m 0 2585 p (to)s 10(internal)m 11(link)m 10(state)m 11(metrics.)m 0 2723 p (Moy)s 1731([Page)m 11(6])m @eop 7 @bop0 7 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 5394104 4407377 37364039 48086466 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure2.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:21:17 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 82 67 568 731 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 583.955 735.955 6.045 89.574 -80.047 arcn stroke newpath 514.965 736.310 6.973 106.369 -115.169 arc stroke newpath 387.045 627.000 6.127 170.607 18.565 arcn stroke newpath 386.690 558.000 6.764 -171.499 -17.586 arc stroke newpath 174.965 744.310 6.973 106.369 -115.168 arc stroke newpath 243.955 743.955 6.045 89.574 -80.047 arcn stroke newpath 175.965 443.310 6.973 106.369 -115.168 arc stroke newpath 244.955 442.955 6.045 89.574 -80.047 arcn stroke newpath 242.965 347.310 6.973 106.369 -115.168 arc stroke newpath 311.955 346.955 6.045 89.573 -80.047 arcn stroke newpath 122.045 144.000 6.127 170.607 18.565 arcn stroke newpath 121.690 75.000 6.764 -171.499 -17.586 arc stroke newpath 122.690 202.000 6.764 -171.499 -17.586 arc stroke newpath 123.045 271.000 6.127 170.607 18.565 arcn stroke % Ellipse newpath 276 175 39 39 0 360 DrawEllipse stroke % Ellipse newpath 209 590 39 39 0 360 DrawEllipse stroke % Ellipse newpath 553 590 39 39 0 360 DrawEllipse stroke % Polyline newpath 513 730 moveto 584 730 lineto stroke % Polyline newpath 513 742 moveto 584 742 lineto stroke % Polyline newpath 393 557 moveto 393 628 lineto stroke % Polyline newpath 381 557 moveto 381 628 lineto stroke % Polyline newpath 173 750 moveto 244 750 lineto stroke % Polyline newpath 173 738 moveto 244 738 lineto stroke % Polyline newpath 174 449 moveto 245 449 lineto stroke % Polyline newpath 174 437 moveto 245 437 lineto stroke % Polyline newpath 241 353 moveto 312 353 lineto stroke % Polyline newpath 241 341 moveto 312 341 lineto stroke % Polyline newpath 128 74 moveto 128 145 lineto stroke % Polyline newpath 116 74 moveto 116 145 lineto stroke % Polyline newpath 117 201 moveto 117 272 lineto stroke % Polyline newpath 129 201 moveto 129 272 lineto stroke % Polyline newpath 165 94 moveto 203 94 lineto 203 127 lineto 165 127 lineto closepath stroke % Polyline newpath 166 218 moveto 204 218 lineto 204 251 lineto 166 251 lineto closepath stroke % Polyline newpath 260 265 moveto 298 265 lineto 298 298 lineto 260 298 lineto closepath stroke % Polyline newpath 354 157 moveto 392 157 lineto 392 190 lineto 354 190 lineto closepath stroke % Polyline newpath 191 482 moveto 229 482 lineto 229 515 lineto 191 515 lineto closepath stroke % Polyline newpath 190 669 moveto 228 669 lineto 228 702 lineto 190 702 lineto closepath stroke % Polyline newpath 92 669 moveto 130 669 lineto 130 702 lineto 92 702 lineto closepath stroke % Polyline newpath 302 576 moveto 340 576 lineto 340 609 lineto 302 609 lineto closepath stroke % Polyline newpath 447 157 moveto 485 157 lineto 485 190 lineto 447 190 lineto closepath stroke % Polyline newpath 447 264 moveto 485 264 lineto 485 297 lineto 447 297 lineto closepath stroke % Polyline newpath 447 575 moveto 485 575 lineto 485 608 lineto 447 608 lineto closepath stroke % Polyline newpath 536 477 moveto 574 477 lineto 574 510 lineto 536 510 lineto closepath stroke % Polyline newpath 533 660 moveto 571 660 lineto 571 693 lineto 533 693 lineto closepath stroke % Polyline newpath 128 107 moveto 165 107 lineto stroke % Polyline newpath 204 112 moveto 246 152 lineto stroke % Polyline newpath 129 236 moveto 164 236 lineto stroke % Polyline newpath 204 236 moveto 253 208 lineto stroke % Polyline newpath 278 215 moveto 278 265 lineto stroke % Polyline newpath 278 299 moveto 278 340 lineto stroke % Polyline newpath 315 174 moveto 354 174 lineto stroke % Polyline newpath 392 175 moveto 447 175 lineto stroke % Polyline newpath 299 283 moveto 447 283 lineto stroke % Polyline newpath 466 190 moveto 467 263 lineto stroke % Polyline newpath 465 298 moveto 465 575 lineto stroke % Polyline newpath 485 176 moveto 554 176 lineto 554 476 lineto stroke % Polyline newpath 554 511 moveto 554 550 lineto stroke % Polyline newpath 485 594 moveto 513 594 lineto stroke % Polyline newpath 551 629 moveto 551 659 lineto stroke % Polyline newpath 550 694 moveto 550 730 lineto stroke % Polyline newpath 393 593 moveto 446 593 lineto stroke % Polyline newpath 340 593 moveto 380 593 lineto stroke % Polyline newpath 210 450 moveto 210 482 lineto stroke % Polyline newpath 210 516 moveto 210 550 lineto stroke % Polyline newpath 248 591 moveto 302 591 lineto stroke % Polyline newpath 209 630 moveto 209 668 lineto stroke % Polyline newpath 209 703 moveto 209 738 lineto stroke % Polyline newpath 130 688 moveto 189 688 lineto stroke [4.000000] 0 setdash % Polyline newpath 434 120 moveto 461 156 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 458 102 moveto 465 156 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 483 110 moveto 468 157 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 575 494 moveto 599 456 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 575 496 moveto 605 493 lineto stroke [] 0 setdash /Courier findfont 12.222222 scalefont setfont 448 571 moveto 1 -1 scale (Ib) show 1 -1 scale 448 310 moveto 1 -1 scale (Ia) show 1 -1 scale 188 799 moveto 1 -1 scale (Figure 2: A sample Autonomous System) show 1 -1 scale 93 113 moveto 1 -1 scale (N1) show 1 -1 scale 93 241 moveto 1 -1 scale (N2) show 1 -1 scale 173 114 moveto 1 -1 scale (RT1) show 1 -1 scale 173 241 moveto 1 -1 scale (RT2) show 1 -1 scale 268 181 moveto 1 -1 scale (N3) show 1 -1 scale 267 286 moveto 1 -1 scale (RT3) show 1 -1 scale 270 373 moveto 1 -1 scale (N4) show 1 -1 scale 361 179 moveto 1 -1 scale (RT4) show 1 -1 scale 455 179 moveto 1 -1 scale (RT5) show 1 -1 scale 454 285 moveto 1 -1 scale (RT6) show 1 -1 scale 543 500 moveto 1 -1 scale (RT7) show 1 -1 scale 545 597 moveto 1 -1 scale (N6) show 1 -1 scale 539 683 moveto 1 -1 scale (RT8) show 1 -1 scale 450 596 moveto 1 -1 scale (RT10) show 1 -1 scale 378 653 moveto 1 -1 scale (N8) show 1 -1 scale 307 599 moveto 1 -1 scale (RT11) show 1 -1 scale 202 597 moveto 1 -1 scale (N9) show 1 -1 scale 200 431 moveto 1 -1 scale (N11) show 1 -1 scale 198 505 moveto 1 -1 scale (RT9) show 1 -1 scale 194 691 moveto 1 -1 scale (RT12) show 1 -1 scale 103 692 moveto 1 -1 scale (H1) show 1 -1 scale 196 767 moveto 1 -1 scale (N10) show 1 -1 scale 146 703 moveto 1 -1 scale (SLIP) show 1 -1 scale 413 115 moveto 1 -1 scale (N12) show 1 -1 scale 440 96 moveto 1 -1 scale (N13) show 1 -1 scale 480 102 moveto 1 -1 scale (N14) show 1 -1 scale 604 462 moveto 1 -1 scale (N12) show 1 -1 scale 609 503 moveto 1 -1 scale (N15) show 1 -1 scale 542 760 moveto 1 -1 scale (N7) show 1 -1 scale 152 121 moveto 1 -1 scale (3) show 1 -1 scale 214 113 moveto 1 -1 scale (1) show 1 -1 scale 212 245 moveto 1 -1 scale (1) show 1 -1 scale 266 259 moveto 1 -1 scale (1) show 1 -1 scale 341 171 moveto 1 -1 scale (1) show 1 -1 scale 155 232 moveto 1 -1 scale (3) show 1 -1 scale 543 525 moveto 1 -1 scale (1) show 1 -1 scale 491 586 moveto 1 -1 scale (1) show 1 -1 scale 555 654 moveto 1 -1 scale (1) show 1 -1 scale 289 587 moveto 1 -1 scale (1) show 1 -1 scale 214 532 moveto 1 -1 scale (1) show 1 -1 scale 212 663 moveto 1 -1 scale (1) show 1 -1 scale 470 565 moveto 1 -1 scale (5) show 1 -1 scale 433 588 moveto 1 -1 scale (3) show 1 -1 scale 346 588 moveto 1 -1 scale (2) show 1 -1 scale 216 477 moveto 1 -1 scale (3) show 1 -1 scale 214 716 moveto 1 -1 scale (2) show 1 -1 scale 172 683 moveto 1 -1 scale (10) show 1 -1 scale 555 706 moveto 1 -1 scale (4) show 1 -1 scale 560 472 moveto 1 -1 scale (6) show 1 -1 scale 491 171 moveto 1 -1 scale (6) show 1 -1 scale 398 170 moveto 1 -1 scale (8) show 1 -1 scale 435 169 moveto 1 -1 scale (8) show 1 -1 scale 473 258 moveto 1 -1 scale (6) show 1 -1 scale 471 203 moveto 1 -1 scale (7) show 1 -1 scale 471 315 moveto 1 -1 scale (7) show 1 -1 scale 431 278 moveto 1 -1 scale (6) show 1 -1 scale 306 278 moveto 1 -1 scale (8) show 1 -1 scale 283 310 moveto 1 -1 scale (2) show 1 -1 scale 447 131 moveto 1 -1 scale (8) show 1 -1 scale 465 126 moveto 1 -1 scale (8) show 1 -1 scale 479 142 moveto 1 -1 scale (8) show 1 -1 scale 590 481 moveto 1 -1 scale (2) show 1 -1 scale 589 506 moveto 1 -1 scale (9) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1731([Page)m 11(7])m @eop 8 @bop0 8 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 3486433 4736286 34666987 47823339 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure3-4.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:21:20 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 53 72 527 727 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 129.446 350.005 moveto 136.000 345.000 lineto 132.573 352.500 lineto stroke newpath 168.346 370.817 41.386 135.160 -141.405 arc stroke newpath 145.178 391.538 moveto 139.000 397.000 lineto 141.881 389.273 lineto stroke newpath 101.435 371.199 45.572 -36.644 34.483 arc stroke newpath 251.957 409.702 moveto 246.000 404.000 lineto 253.939 406.228 lineto stroke newpath 291.350 324.539 91.491 62.920 119.714 arc stroke newpath 324.041 398.300 moveto 330.000 404.000 lineto 322.060 401.775 lineto stroke newpath 287.598 478.361 85.601 -118.312 -60.307 arc stroke newpath 543.170 405.955 moveto 541.000 398.000 lineto 546.659 403.998 lineto stroke newpath 478.377 433.137 71.807 30.888 -29.296 arcn stroke newpath 537.003 461.318 moveto 540.000 469.000 lineto 533.741 463.632 lineto stroke newpath 591.077 432.774 62.620 -146.267 144.654 arcn stroke newpath 347.417 407.604 moveto 340.000 404.000 lineto 348.240 403.689 lineto stroke newpath 358.611 315.505 90.431 45.496 101.877 arc stroke newpath 413.252 375.177 moveto 421.000 378.000 lineto 412.835 379.156 lineto stroke newpath 409.578 487.019 109.616 -130.768 -84.019 arc stroke newpath 545.453 317.873 moveto 543.000 310.000 lineto 548.869 315.793 lineto stroke newpath 478.587 349.226 75.417 35.481 -31.340 arcn stroke newpath 537.290 385.212 moveto 540.000 393.000 lineto 533.944 387.404 lineto stroke newpath 601.833 352.500 73.916 -146.776 146.776 arcn stroke newpath 431.882 385.779 moveto 426.000 380.000 lineto 433.910 382.331 lineto stroke newpath 500.623 253.091 147.223 76.096 120.456 arc stroke newpath 531.221 390.118 moveto 537.000 396.000 lineto 529.133 393.530 lineto stroke newpath 461.663 519.093 144.318 -103.897 -58.532 arc stroke newpath 457.988 158.566 moveto 453.000 152.000 lineto 460.492 155.446 lineto stroke newpath 305.906 335.350 235.062 -7.418 -51.261 arcn stroke newpath 532.326 299.016 moveto 538.000 305.000 lineto 530.178 302.391 lineto stroke newpath 640.224 144.443 190.337 178.026 122.484 arcn stroke newpath 408.683 230.073 moveto 407.000 222.000 lineto 412.284 228.331 lineto stroke newpath 190.903 326.515 240.045 11.653 -25.811 arcn stroke newpath 420.400 367.174 moveto 423.000 375.000 lineto 417.023 369.319 lineto stroke newpath 568.795 282.417 172.707 -159.524 147.584 arcn stroke newpath 419.038 214.157 moveto 411.000 216.000 lineto 417.225 210.592 lineto stroke newpath 379.453 153.950 69.610 -2.429 63.051 arc stroke newpath 438.893 152.506 moveto 447.000 151.000 lineto 440.555 156.144 lineto stroke newpath 474.196 210.507 65.427 175.184 -114.561 arc stroke newpath 260.329 223.780 moveto 253.000 220.000 lineto 261.245 219.886 lineto stroke newpath 330.689 -110.055 339.075 77.514 103.245 arc stroke newpath 397.338 215.140 moveto 404.000 220.000 lineto 395.835 218.847 lineto stroke newpath 326.743 410.533 205.600 -111.318 -67.929 arc stroke newpath 316.034 154.303 moveto 309.000 150.000 lineto 317.232 150.486 lineto stroke newpath 374.468 -58.680 218.709 70.909 107.418 arc stroke newpath 436.643 142.275 moveto 444.000 146.000 lineto 435.756 146.175 lineto stroke newpath 381.484 420.790 281.811 -105.326 -77.183 arc stroke newpath 236.170 158.114 moveto 232.000 151.000 lineto 239.027 155.315 lineto stroke newpath 184.029 198.000 67.158 14.663 -44.414 arcn stroke newpath 242.027 208.422 moveto 247.000 215.000 lineto 239.517 211.536 lineto stroke newpath 282.471 171.000 56.517 -158.188 128.874 arcn stroke newpath 239.411 153.186 moveto 233.000 148.000 lineto 241.098 149.559 lineto stroke newpath 269.328 69.857 86.174 68.436 114.933 arc stroke newpath 295.046 141.294 moveto 301.000 147.000 lineto 293.062 144.767 lineto stroke newpath 267.000 206.500 68.529 -119.745 -60.255 arc stroke newpath 219.440 141.706 moveto 227.000 145.000 lineto 218.780 145.651 lineto stroke newpath 238.550 76.045 69.915 150.003 99.509 arcn stroke newpath 188.181 111.032 moveto 180.000 110.000 lineto 187.704 107.060 lineto stroke newpath 185.356 154.590 44.910 -13.639 -96.849 arcn stroke newpath 222.791 157.393 moveto 228.000 151.000 lineto 226.412 159.092 lineto stroke newpath 172.346 124.885 61.476 83.786 25.138 arcn stroke newpath 181.388 177.018 moveto 177.000 184.000 lineto 177.587 175.775 lineto stroke newpath 225.315 199.806 50.834 -88.100 -161.885 arcn stroke newpath 235.454 400.083 moveto 239.000 402.000 lineto 235.091 401.015 lineto stroke newpath 191.000 525.278 132.293 -111.274 -68.726 arc stroke newpath 148.426 408.168 moveto 142.000 403.000 lineto 150.102 404.536 lineto stroke newpath 192.113 294.405 119.600 66.397 114.772 arc stroke newpath 144.454 412.488 moveto 141.000 405.000 lineto 147.572 409.981 lineto stroke newpath 101.951 436.398 50.106 40.591 -38.802 arcn stroke newpath 133.174 461.620 moveto 138.000 468.000 lineto 133.174 461.620 lineto stroke newpath 178.137 437.639 50.326 -141.047 142.895 arcn stroke % Ellipse newpath 139 278 3 3 0 360 DrawEllipse stroke % Ellipse newpath 539 535 3 3 0 360 DrawEllipse stroke % Ellipse newpath 540 472 3 3 0 360 DrawEllipse stroke % Ellipse newpath 335 404 3 3 0 360 DrawEllipse stroke % Ellipse newpath 540 395 3 3 0 360 DrawEllipse stroke % Ellipse newpath 541 308 3 3 0 360 DrawEllipse stroke % Ellipse newpath 367 357 3 3 0 360 DrawEllipse stroke % Ellipse newpath 357 264 3 3 0 360 DrawEllipse stroke % Ellipse newpath 424 378 3 3 0 360 DrawEllipse stroke % Ellipse newpath 407 219 3 3 0 360 DrawEllipse stroke % Ellipse newpath 449 147 3 3 0 360 DrawEllipse stroke % Ellipse newpath 248 274 3 3 0 360 DrawEllipse stroke % Ellipse newpath 248 219 3 3 0 360 DrawEllipse stroke % Ellipse newpath 304 148 3 3 0 360 DrawEllipse stroke % Ellipse newpath 230 147 3 3 0 360 DrawEllipse stroke % Ellipse newpath 176 187 3 3 0 360 DrawEllipse stroke % Ellipse newpath 115 187 3 3 0 360 DrawEllipse stroke % Ellipse newpath 175 109 3 3 0 360 DrawEllipse stroke % Ellipse newpath 117 109 3 3 0 360 DrawEllipse stroke % Ellipse newpath 243 403 3 3 0 360 DrawEllipse stroke % Ellipse newpath 138 340 3 3 0 360 DrawEllipse stroke % Ellipse newpath 138 471 3 3 0 360 DrawEllipse stroke % Ellipse newpath 139 402 3 3 0 360 DrawEllipse stroke % Ellipse newpath 136 539 3 3 0 360 DrawEllipse stroke % Ellipse newpath 72 468 3 3 0 360 DrawEllipse stroke % Ellipse newpath 115 652 3 3 0 360 DrawEllipse stroke % Ellipse newpath 179 723 3 3 0 360 DrawEllipse stroke % Ellipse newpath 182 586 3 3 0 360 DrawEllipse stroke % Ellipse newpath 181 655 3 3 0 360 DrawEllipse stroke % Ellipse newpath 395 718 3 3 0 360 DrawEllipse stroke % Ellipse newpath 395 587 3 3 0 360 DrawEllipse stroke % Ellipse newpath 396 649 3 3 0 360 DrawEllipse stroke % Ellipse newpath 500 650 3 3 0 360 DrawEllipse stroke % Polyline newpath 395 647 moveto 395 591 lineto stroke newpath 393.000 599.000 moveto 395.000 591.000 lineto 397.000 599.000 lineto stroke % Polyline newpath 180 652 moveto 182 590 lineto stroke newpath 179.743 597.931 moveto 182.000 590.000 lineto 183.741 598.060 lineto stroke % Polyline newpath 399 650 moveto 493 650 lineto stroke newpath 485.000 648.000 moveto 493.000 650.000 lineto 485.000 652.000 lineto stroke % Polyline newpath 397 653 moveto 396 714 lineto stroke newpath 398.131 706.034 moveto 396.000 714.000 lineto 394.131 705.968 lineto stroke % Polyline newpath 397 647 moveto 397 653 lineto 396 714 lineto stroke newpath 398.131 706.034 moveto 396.000 714.000 lineto 394.131 705.968 lineto stroke % Polyline newpath 397 647 moveto 397 653 lineto 396 714 lineto stroke newpath 398.131 706.034 moveto 396.000 714.000 lineto 394.131 705.968 lineto stroke % Polyline newpath 138 338 moveto 138 281 lineto stroke newpath 136.000 289.000 moveto 138.000 281.000 lineto 140.000 289.000 lineto stroke % Polyline newpath 540 476 moveto 540 532 lineto stroke newpath 542.000 524.000 moveto 540.000 532.000 lineto 538.000 524.000 lineto stroke % Polyline newpath 421 379 moveto 372 359 lineto stroke newpath 378.651 363.875 moveto 372.000 359.000 lineto 380.163 360.172 lineto stroke % Polyline newpath 405 222 moveto 360 261 lineto stroke newpath 367.355 257.272 moveto 360.000 261.000 lineto 364.736 254.249 lineto stroke % Polyline newpath 248 222 moveto 248 270 lineto stroke newpath 250.000 262.000 moveto 248.000 270.000 lineto 246.000 262.000 lineto stroke % Polyline newpath 173 187 moveto 119 187 lineto stroke newpath 127.000 189.000 moveto 119.000 187.000 lineto 127.000 185.000 lineto stroke % Polyline newpath 172 109 moveto 122 109 lineto stroke newpath 130.000 111.000 moveto 122.000 109.000 lineto 130.000 107.000 lineto stroke [4.000000] 0 setdash % Polyline newpath 543 306 moveto 567 268 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 545 308 moveto 575 305 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 469 98 moveto 454 145 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 444 90 moveto 451 144 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 420 108 moveto 447 144 lineto stroke [] 0 setdash % Polyline newpath 137 474 moveto 137 535 lineto stroke newpath 139.000 527.000 moveto 137.000 535.000 lineto 135.000 527.000 lineto stroke % Polyline newpath 135 471 moveto 75 469 lineto stroke newpath 82.929 471.265 moveto 75.000 469.000 lineto 83.062 467.268 lineto stroke % Polyline newpath 178 655 moveto 118 653 lineto stroke newpath 125.929 655.265 moveto 118.000 653.000 lineto 126.062 651.268 lineto stroke % Polyline newpath 180 658 moveto 180 719 lineto stroke newpath 182.000 711.000 moveto 180.000 719.000 lineto 178.000 711.000 lineto stroke /Courier findfont 12.222222 scalefont setfont 355 350 moveto 1 -1 scale (Ia) show 1 -1 scale 343 280 moveto 1 -1 scale (Ib) show 1 -1 scale 387 362 moveto 1 -1 scale (5) show 1 -1 scale 375 260 moveto 1 -1 scale (7) show 1 -1 scale 150 794 moveto 1 -1 scale (Figure 4: Individual link state components) show 1 -1 scale 178 532 moveto 1 -1 scale (Figure 3: The resulting directed graph) show 1 -1 scale 563 298 moveto 1 -1 scale (N15) show 1 -1 scale 560 263 moveto 1 -1 scale (N12) show 1 -1 scale 331 750 moveto 1 -1 scale (A network links advertisement) show 1 -1 scale 59 752 moveto 1 -1 scale (A router links advertisement) show 1 -1 scale 511 657 moveto 1 -1 scale (RT11) show 1 -1 scale 93 113 moveto 1 -1 scale (N1) show 1 -1 scale 92 191 moveto 1 -1 scale (N2) show 1 -1 scale 166 98 moveto 1 -1 scale (RT1) show 1 -1 scale 166 207 moveto 1 -1 scale (RT2) show 1 -1 scale 232 138 moveto 1 -1 scale (N3) show 1 -1 scale 256 209 moveto 1 -1 scale (RT3) show 1 -1 scale 241 294 moveto 1 -1 scale (N4) show 1 -1 scale 295 136 moveto 1 -1 scale (RT4) show 1 -1 scale 461 151 moveto 1 -1 scale (RT5) show 1 -1 scale 382 207 moveto 1 -1 scale (RT6) show 1 -1 scale 500 316 moveto 1 -1 scale (RT7) show 1 -1 scale 554 399 moveto 1 -1 scale (N6) show 1 -1 scale 551 477 moveto 1 -1 scale (RT8) show 1 -1 scale 433 363 moveto 1 -1 scale (RT10) show 1 -1 scale 333 424 moveto 1 -1 scale (N8) show 1 -1 scale 225 389 moveto 1 -1 scale (RT11) show 1 -1 scale 106 282 moveto 1 -1 scale (N11) show 1 -1 scale 533 558 moveto 1 -1 scale (N7) show 1 -1 scale 141 123 moveto 1 -1 scale (3) show 1 -1 scale 187 139 moveto 1 -1 scale (1) show 1 -1 scale 209 186 moveto 1 -1 scale (1) show 1 -1 scale 239 184 moveto 1 -1 scale (1) show 1 -1 scale 265 167 moveto 1 -1 scale (1) show 1 -1 scale 138 203 moveto 1 -1 scale (3) show 1 -1 scale 519 351 moveto 1 -1 scale (1) show 1 -1 scale 478 372 moveto 1 -1 scale (1) show 1 -1 scale 553 439 moveto 1 -1 scale (1) show 1 -1 scale 434 297 moveto 1 -1 scale (5) show 1 -1 scale 387 414 moveto 1 -1 scale (3) show 1 -1 scale 286 389 moveto 1 -1 scale (2) show 1 -1 scale 141 315 moveto 1 -1 scale (3) show 1 -1 scale 545 504 moveto 1 -1 scale (4) show 1 -1 scale 510 210 moveto 1 -1 scale (6) show 1 -1 scale 479 237 moveto 1 -1 scale (6) show 1 -1 scale 371 135 moveto 1 -1 scale (8) show 1 -1 scale 373 173 moveto 1 -1 scale (8) show 1 -1 scale 407 183 moveto 1 -1 scale (6) show 1 -1 scale 444 196 moveto 1 -1 scale (7) show 1 -1 scale 387 300 moveto 1 -1 scale (7) show 1 -1 scale 325 244 moveto 1 -1 scale (6) show 1 -1 scale 324 200 moveto 1 -1 scale (8) show 1 -1 scale 252 246 moveto 1 -1 scale (2) show 1 -1 scale 547 281 moveto 1 -1 scale (2) show 1 -1 scale 561 320 moveto 1 -1 scale (9) show 1 -1 scale 465 130 moveto 1 -1 scale (8) show 1 -1 scale 451 114 moveto 1 -1 scale (8) show 1 -1 scale 433 119 moveto 1 -1 scale (8) show 1 -1 scale 466 90 moveto 1 -1 scale (N14) show 1 -1 scale 426 84 moveto 1 -1 scale (N13) show 1 -1 scale 399 103 moveto 1 -1 scale (N12) show 1 -1 scale 150 374 moveto 1 -1 scale (1) show 1 -1 scale 108 345 moveto 1 -1 scale (RT9) show 1 -1 scale 109 407 moveto 1 -1 scale (N9) show 1 -1 scale 149 475 moveto 1 -1 scale (RT12) show 1 -1 scale 187 428 moveto 1 -1 scale (1) show 1 -1 scale 155 442 moveto 1 -1 scale (1) show 1 -1 scale 93 466 moveto 1 -1 scale (10) show 1 -1 scale 142 504 moveto 1 -1 scale (2) show 1 -1 scale 102 544 moveto 1 -1 scale (N10) show 1 -1 scale 63 459 moveto 1 -1 scale (H1) show 1 -1 scale 106 643 moveto 1 -1 scale (H1) show 1 -1 scale 145 728 moveto 1 -1 scale (N10) show 1 -1 scale 185 688 moveto 1 -1 scale (2) show 1 -1 scale 136 650 moveto 1 -1 scale (10) show 1 -1 scale 169 624 moveto 1 -1 scale (1) show 1 -1 scale 192 659 moveto 1 -1 scale (RT12) show 1 -1 scale 152 591 moveto 1 -1 scale (N9) show 1 -1 scale 366 654 moveto 1 -1 scale (N9) show 1 -1 scale 365 592 moveto 1 -1 scale (RT9) show 1 -1 scale 406 722 moveto 1 -1 scale (RT12) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1731([Page)m 11(8])m @eop 9 @bop0 9 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 3354869 9998827 34338078 44994723 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure5.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:21:22 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 51 152 522 684 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Ellipse newpath 66 515 3 3 0 360 DrawEllipse stroke % Ellipse newpath 130 586 3 3 0 360 DrawEllipse stroke % Ellipse newpath 133 449 3 3 0 360 DrawEllipse stroke % Ellipse newpath 132 518 3 3 0 360 DrawEllipse stroke % Ellipse newpath 132 387 3 3 0 360 DrawEllipse stroke % Ellipse newpath 237 450 3 3 0 360 DrawEllipse stroke % Ellipse newpath 111 156 3 3 0 360 DrawEllipse stroke % Ellipse newpath 169 156 3 3 0 360 DrawEllipse stroke % Ellipse newpath 109 234 3 3 0 360 DrawEllipse stroke % Ellipse newpath 170 234 3 3 0 360 DrawEllipse stroke % Ellipse newpath 224 194 3 3 0 360 DrawEllipse stroke % Ellipse newpath 298 195 3 3 0 360 DrawEllipse stroke % Ellipse newpath 242 266 3 3 0 360 DrawEllipse stroke % Ellipse newpath 242 321 3 3 0 360 DrawEllipse stroke % Ellipse newpath 443 194 3 3 0 360 DrawEllipse stroke % Ellipse newpath 401 266 3 3 0 360 DrawEllipse stroke % Ellipse newpath 418 425 3 3 0 360 DrawEllipse stroke % Ellipse newpath 351 311 3 3 0 360 DrawEllipse stroke % Ellipse newpath 361 404 3 3 0 360 DrawEllipse stroke % Ellipse newpath 535 355 3 3 0 360 DrawEllipse stroke % Ellipse newpath 534 442 3 3 0 360 DrawEllipse stroke % Ellipse newpath 329 451 3 3 0 360 DrawEllipse stroke % Ellipse newpath 534 519 3 3 0 360 DrawEllipse stroke % Ellipse newpath 533 582 3 3 0 360 DrawEllipse stroke % Ellipse newpath 133 325 3 3 0 360 DrawEllipse stroke % Polyline newpath 129 518 moveto 69 516 lineto stroke newpath 76.929 518.265 moveto 69.000 516.000 lineto 77.062 514.268 lineto stroke % Polyline newpath 131 521 moveto 131 582 lineto stroke newpath 133.000 574.000 moveto 131.000 582.000 lineto 129.000 574.000 lineto stroke [4.000000] 0 setdash % Polyline newpath 414 155 moveto 441 191 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 438 137 moveto 445 191 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 463 145 moveto 448 192 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 539 355 moveto 569 352 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 537 353 moveto 561 315 lineto stroke [] 0 setdash % Polyline newpath 166 156 moveto 116 156 lineto stroke newpath 124.000 158.000 moveto 116.000 156.000 lineto 124.000 154.000 lineto stroke % Polyline newpath 167 234 moveto 113 234 lineto stroke newpath 121.000 236.000 moveto 113.000 234.000 lineto 121.000 232.000 lineto stroke % Polyline newpath 242 269 moveto 242 317 lineto stroke newpath 244.000 309.000 moveto 242.000 317.000 lineto 240.000 309.000 lineto stroke % Polyline newpath 399 269 moveto 354 308 lineto stroke newpath 361.355 304.272 moveto 354.000 308.000 lineto 358.736 301.249 lineto stroke % Polyline newpath 415 426 moveto 366 406 lineto stroke newpath 372.651 410.875 moveto 366.000 406.000 lineto 374.163 407.171 lineto stroke % Polyline newpath 534 523 moveto 534 579 lineto stroke newpath 536.000 571.000 moveto 534.000 579.000 lineto 532.000 571.000 lineto stroke % Polyline newpath 132 385 moveto 132 328 lineto stroke newpath 130.000 336.000 moveto 132.000 328.000 lineto 134.000 336.000 lineto stroke % Polyline newpath 402 270 moveto 418 420 lineto stroke newpath 419.140 411.833 moveto 418.000 420.000 lineto 415.163 412.257 lineto stroke % Polyline newpath 402 263 moveto 441 198 lineto stroke newpath 435.169 203.831 moveto 441.000 198.000 lineto 438.599 205.889 lineto stroke % Polyline newpath 398 267 moveto 246 267 lineto stroke newpath 254.000 269.000 moveto 246.000 267.000 lineto 254.000 265.000 lineto stroke % Polyline newpath 241 263 moveto 225 198 lineto stroke newpath 224.970 206.246 moveto 225.000 198.000 lineto 228.854 205.290 lineto stroke % Polyline newpath 222 196 moveto 174 233 lineto stroke newpath 181.557 229.700 moveto 174.000 233.000 lineto 179.115 226.532 lineto stroke % Polyline newpath 222 193 moveto 172 158 lineto stroke newpath 177.407 164.226 moveto 172.000 158.000 lineto 179.701 160.949 lineto stroke % Polyline newpath 227 195 moveto 294 195 lineto stroke newpath 286.000 193.000 moveto 294.000 195.000 lineto 286.000 197.000 lineto stroke % Polyline newpath 421 425 moveto 530 441 lineto stroke newpath 522.375 437.859 moveto 530.000 441.000 lineto 521.794 441.817 lineto stroke % Polyline newpath 416 427 moveto 334 449 lineto stroke newpath 342.245 448.859 moveto 334.000 449.000 lineto 341.208 444.995 lineto stroke % Polyline newpath 534 440 moveto 535 359 lineto stroke newpath 532.901 366.975 moveto 535.000 359.000 lineto 536.901 367.024 lineto stroke % Polyline newpath 534 446 moveto 534 516 lineto stroke newpath 536.000 508.000 moveto 534.000 516.000 lineto 532.000 508.000 lineto stroke % Polyline newpath 326 451 moveto 241 451 lineto stroke newpath 249.000 453.000 moveto 241.000 451.000 lineto 249.000 449.000 lineto stroke % Polyline newpath 234 451 moveto 138 449 lineto stroke newpath 145.957 451.166 moveto 138.000 449.000 lineto 146.040 447.167 lineto stroke % Polyline newpath 133 446 moveto 132 391 lineto stroke newpath 130.146 399.035 moveto 132.000 391.000 lineto 134.145 398.962 lineto stroke % Polyline newpath 132 452 moveto 132 515 lineto stroke newpath 134.000 507.000 moveto 132.000 515.000 lineto 130.000 507.000 lineto stroke /Courier findfont 12.222222 scalefont setfont 340 407 moveto 1 -1 scale (Ia) show 1 -1 scale 340 327 moveto 1 -1 scale (Ib) show 1 -1 scale 178 705 moveto 1 -1 scale (Figure 5: The SPF tree for router RT6) show 1 -1 scale 57 506 moveto 1 -1 scale (H1) show 1 -1 scale 96 591 moveto 1 -1 scale (N10) show 1 -1 scale 136 551 moveto 1 -1 scale (2) show 1 -1 scale 87 513 moveto 1 -1 scale (10) show 1 -1 scale 143 522 moveto 1 -1 scale (RT12) show 1 -1 scale 103 454 moveto 1 -1 scale (N9) show 1 -1 scale 102 392 moveto 1 -1 scale (RT9) show 1 -1 scale 393 150 moveto 1 -1 scale (N12) show 1 -1 scale 420 131 moveto 1 -1 scale (N13) show 1 -1 scale 460 137 moveto 1 -1 scale (N14) show 1 -1 scale 427 166 moveto 1 -1 scale (8) show 1 -1 scale 445 161 moveto 1 -1 scale (8) show 1 -1 scale 459 177 moveto 1 -1 scale (8) show 1 -1 scale 555 367 moveto 1 -1 scale (9) show 1 -1 scale 541 328 moveto 1 -1 scale (2) show 1 -1 scale 246 293 moveto 1 -1 scale (2) show 1 -1 scale 398 348 moveto 1 -1 scale (7) show 1 -1 scale 411 233 moveto 1 -1 scale (6) show 1 -1 scale 539 551 moveto 1 -1 scale (4) show 1 -1 scale 135 362 moveto 1 -1 scale (3) show 1 -1 scale 374 450 moveto 1 -1 scale (3) show 1 -1 scale 478 430 moveto 1 -1 scale (1) show 1 -1 scale 132 250 moveto 1 -1 scale (3) show 1 -1 scale 233 231 moveto 1 -1 scale (1) show 1 -1 scale 135 170 moveto 1 -1 scale (3) show 1 -1 scale 527 605 moveto 1 -1 scale (N7) show 1 -1 scale 100 329 moveto 1 -1 scale (N11) show 1 -1 scale 219 436 moveto 1 -1 scale (RT11) show 1 -1 scale 327 471 moveto 1 -1 scale (N8) show 1 -1 scale 427 410 moveto 1 -1 scale (RT10) show 1 -1 scale 545 524 moveto 1 -1 scale (RT8) show 1 -1 scale 548 446 moveto 1 -1 scale (N6) show 1 -1 scale 494 363 moveto 1 -1 scale (RT7) show 1 -1 scale 376 254 moveto 1 -1 scale (RT6) show 1 -1 scale 455 198 moveto 1 -1 scale (RT5) show 1 -1 scale 289 183 moveto 1 -1 scale (RT4) show 1 -1 scale 235 341 moveto 1 -1 scale (N4) show 1 -1 scale 250 256 moveto 1 -1 scale (RT3) show 1 -1 scale 226 185 moveto 1 -1 scale (N3) show 1 -1 scale 160 254 moveto 1 -1 scale (RT2) show 1 -1 scale 160 145 moveto 1 -1 scale (RT1) show 1 -1 scale 86 238 moveto 1 -1 scale (N2) show 1 -1 scale 87 160 moveto 1 -1 scale (N1) show 1 -1 scale 554 310 moveto 1 -1 scale (N12) show 1 -1 scale 557 345 moveto 1 -1 scale (N15) show 1 -1 scale 369 307 moveto 1 -1 scale (7) show 1 -1 scale 381 409 moveto 1 -1 scale (5) show 1 -1 scale 317 279 moveto 1 -1 scale (6) show 1 -1 scale 178 464 moveto 1 -1 scale (1) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1731([Page)m 11(9])m @eop 10 @bop0 cmmi10.300 @sf [<0000038000000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F0000 003C000000F0000000F00000003C0000000F00000003C0000000F00000003C0000000F00000003 C0000000F00000003C0000000F0000000380> 32 24 -3 2 32.286] 60 @dc 10 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 650 201 p 651 2 ru 649 251 p 2 50 ru t-ita.300 @sf 675 236 p (Destination)s 893 251 p 2 50 ru 919 236 p (Next)s 10(Hop)m 1101 251 p 2 50 ru 1127 236 p (Distance)s 1299 251 p 2 50 ru 650 252 p 651 2 ru 649 302 p 2 50 ru t-rom.300 @sf 746 287 p (N1)s 893 302 p 2 50 ru 962 287 p 82 c -1(T3)m 1101 302 p 2 50 ru 1180 287 p (10)s 1299 302 p 2 50 ru 649 352 p 2 50 ru 746 337 p (N2)s 893 352 p 2 50 ru 962 337 p 82 c -1(T3)m 1101 352 p 2 50 ru 1180 337 p (10)s 1299 352 p 2 50 ru 649 402 p 2 50 ru 746 387 p (N3)s 893 402 p 2 50 ru 962 387 p 82 c -1(T3)m 1101 402 p 2 50 ru 1191 387 p 55 c 1299 402 p 2 50 ru 649 452 p 2 50 ru 746 437 p (N4)s 893 452 p 2 50 ru 962 437 p 82 c -1(T3)m 1101 452 p 2 50 ru 1191 437 p 56 c 1299 452 p 2 50 ru 649 501 p 2 50 ru 754 486 p (Ib)s 893 501 p 2 50 ru 988 486 p 42 c 1101 501 p 2 50 ru 1191 486 p 55 c 1299 501 p 2 50 ru 649 551 p 2 50 ru 756 536 p (Ia)s 893 551 p 2 50 ru 952 536 p 82 c -2(T10)m 1101 551 p 2 50 ru 1180 536 p (12)s 1299 551 p 2 50 ru 649 601 p 2 50 ru 746 586 p (N6)s 893 601 p 2 50 ru 952 586 p 82 c -2(T10)m 1101 601 p 2 50 ru 1191 586 p 56 c 1299 601 p 2 50 ru 649 651 p 2 50 ru 746 636 p (N7)s 893 651 p 2 50 ru 952 636 p 82 c -2(T10)m 1101 651 p 2 50 ru 1180 636 p (12)s 1299 651 p 2 50 ru 649 701 p 2 50 ru 746 686 p (N8)s 893 701 p 2 50 ru 952 686 p 82 c -2(T10)m 1101 701 p 2 50 ru 1180 686 p (10)s 1299 701 p 2 50 ru 649 751 p 2 50 ru 746 736 p (N9)s 893 751 p 2 50 ru 952 736 p 82 c -2(T10)m 1101 751 p 2 50 ru 1181 736 p 49 c 49 c 1299 751 p 2 50 ru 649 800 p 2 50 ru 736 785 p (N10)s 893 800 p 2 50 ru 952 785 p 82 c -2(T10)m 1101 800 p 2 50 ru 1180 785 p (13)s 1299 800 p 2 50 ru 649 850 p 2 50 ru 737 835 p (N1)s -1 r 49 c 893 850 p 2 50 ru 952 835 p 82 c -2(T10)m 1101 850 p 2 50 ru 1180 835 p (14)s 1299 850 p 2 50 ru 649 900 p 2 50 ru 746 885 p (H1)s 893 900 p 2 50 ru 952 885 p 82 c -2(T10)m 1101 900 p 2 50 ru 1180 885 p (21)s 1299 900 p 2 50 ru 649 950 p 2 50 ru 244 r 2 50 ru 208 r 2 50 ru 198 r 2 50 ru 649 1000 p 2 50 ru 736 985 p 82 c -1(T5)m 893 1000 p 2 50 ru 962 985 p 82 c -1(T5)m 1101 1000 p 2 50 ru 1191 985 p 54 c 1299 1000 p 2 50 ru 649 1049 p 2 50 ru 736 1034 p 82 c -1(T7)m 893 1049 p 2 50 ru 952 1034 p 82 c -2(T10)m 1101 1049 p 2 50 ru 1191 1034 p 56 c 1299 1049 p 2 50 ru 650 1051 p 651 2 ru 339 1188 p 84 c -2(able)m 10(2:)m 14(The)m 10(portion)m 11(of)m 10(Router)m 10 r 82 c -1(T6')m -2 r 115 c 9(routing)m 10(table)m 11(listing)m 10(local)m 11(destinations.)m 0 1318 p (As)s 10(an)m 11(example)m 10(of)m 11 r 84 c -2(ype)m 9 r 49 c 11(external)m 10(metric)m 10(processing,)m 11(suppose)m 10(that)m 11(the)m 10(routers)m 10 r 82 c -1(T7)m 9(and)m 11 r 82 c -2(T5)m 10(in)m 10(Figure)m 11 r 50 c 10(are)m 0 1368 p (advertising)s 10 r 84 c -2(ype)m 10 r 49 c 10(external)m 11(metrics.)m 14(For)m 10(each)m 10(external)m 11(route,)m 10(the)m 11(distance)m 10(from)m 11(Router)m 10 r 82 c -2(T6)m 10(is)m 10(calculated)m 11(as)m 10(the)m 11(sum)m 0 1418 p (of)s 10(the)m 10(external)m 10(route')m -2 r 115 c 9(cost)m 10(and)m 10(the)m 10(distance)m 10(from)m 10(Router)m 10 r 82 c -2(T6)m 9(to)m 10(the)m 10(advertising)m 10(router)m -2 r 46 c 13(For)m 10(every)m 10(external)m 10(destination,)m 0 1468 p (the)s 10(router)m 11(advertising)m 10(the)m 11(shortest)m 10(route)m 10(is)m 11(discovered,)m 10(and)m 11(the)m 10(next)m 11(hop)m 10(to)m 10(the)m 11(advertising)m 10(router)m 11(becomes)m 10(the)m 10(next)m 0 1517 p (hop)s 10(to)m 11(the)m 10(destination.)m 0 1583 p (Both)s 10(Router)m 11 r 82 c -2(T5)m 10(and)m 10 r 82 c -1(T7)m 9(are)m 10(advertising)m 11(an)m 10(external)m 11(route)m 10(to)m 11(destination)m 10(Network)m 10(N12.)m 14(Router)m 11 r 82 c -2(T7)m 10(is)m 10(preferred)m 0 1633 p (since)s 10(it)m 11(is)m 10(advertising)m 11(N12)m 10(at)m 10 r 97 c 11(distance)m 10(of)m 11(10)m 10(\(8+2\))m 11(to)m 10(Router)m 10 r 82 c -1(T6,)m 9(which)m 11(is)m 10(better)m 11(than)m 10(Router)m 10 r 82 c -1(T5')m -2 r 115 c 9(14)m 10(\(6+8\).)m 0 1683 p 84 c -2(able)m 9 r 51 c 11(shows)m 10(the)m 11(entries)m 10(that)m 11(are)m 10(added)m 10(to)m 11(the)m 10(routing)m 11(table)m 10(when)m 10(external)m 11(routes)m 10(are)m 11(examined:)m 650 1787 p 651 2 ru 649 1837 p 2 50 ru t-ita.300 @sf 675 1822 p (Destination)s 893 1837 p 2 50 ru 919 1822 p (Next)s 10(Hop)m 1101 1837 p 2 50 ru 1127 1822 p (Distance)s 1299 1837 p 2 50 ru 650 1839 p 651 2 ru 649 1889 p 2 50 ru t-rom.300 @sf 736 1874 p (N12)s 893 1889 p 2 50 ru 952 1874 p 82 c -2(T10)m 1101 1889 p 2 50 ru 1180 1874 p (10)s 1299 1889 p 2 50 ru 649 1938 p 2 50 ru 736 1923 p (N13)s 893 1938 p 2 50 ru 962 1923 p 82 c -1(T5)m 1101 1938 p 2 50 ru 1180 1923 p (14)s 1299 1938 p 2 50 ru 649 1988 p 2 50 ru 736 1973 p (N14)s 893 1988 p 2 50 ru 962 1973 p 82 c -1(T5)m 1101 1988 p 2 50 ru 1180 1973 p (14)s 1299 1988 p 2 50 ru 649 2038 p 2 50 ru 736 2023 p (N15)s 893 2038 p 2 50 ru 952 2023 p 82 c -2(T10)m 1101 2038 p 2 50 ru 1180 2023 p (17)s 1299 2038 p 2 50 ru 650 2040 p 651 2 ru 313 2177 p 84 c -2(able)m 9(3:)m 14(The)m 11(portion)m 10(of)m 10(Router)m 11 r 82 c -2(T6')m -2 r 115 c 9(routing)m 11(table)m 10(listing)m 11(external)m 10(destinations.)m 0 2284 p (Processing)s 10(of)m 11 r 84 c -2(ype)m 9 r 50 c 11(external)m 10(metrics)m 11(is)m 10(simpler)m -1 r 46 c 13(The)m 10(AS)m 10(boundary)m 11(router)m 10(advertising)m 11(the)m 10(smallest)m 11(external)m 10(metric)m 10(is)m 0 2333 p (chosen,)s 10(regardless)m 11(of)m 10(the)m 11(internal)m 10(distance)m 10(to)m 11(the)m 10(AS)m 11(boundary)m 10(router)m -1 r 46 c 13(Suppose)m 10(in)m 11(our)m 10(example)m 10(both)m 11(Router)m 10 r 82 c -1(T5)m 9(and)m 0 2383 p (Router)s 10 r 82 c -1(T7)m 9(were)m 11(advertising)m 10 r 84 c -2(ype)m 10 r 50 c 10(external)m 10(routes.)m 14(Then)m 11(all)m 10(traf)m (\014c)s 10(destined)m 10(for)m 11(Network)m 10(N12)m 11(would)m 10(be)m 10(forwarded)m 0 2433 p (to)s 10(Router)m 11 r 82 c -2(T7,)m 10(since)m 10 r 50 c cmmi10.300 @sf 12 r 60 c t-rom.300 @sf 11(8.)m 14(When)m 11(several)m 10(equal-cost)m 10 r 84 c -2(ype)m 10 r 50 c 10(routes)m 11(exist,)m 10(the)m 11(internal)m 10(distance)m 10(to)m 11(the)m 10(advertising)m 0 2483 p (routers)s 10(is)m 11(used)m 10(to)m 11(break)m 10(the)m 10(tie.)m 0 2549 p (Both)s 10 r 84 c -2(ype)m 10 r 49 c 10(and)m 11 r 84 c -2(ype)m 9 r 50 c 11(external)m 10(metrics)m 10(can)m 11(be)m 10(present)m 11(in)m 10(the)m 11(AS)m 10(at)m 10(the)m 11(same)m 10(time.)m 14(In)m 11(that)m 10(event,)m 10 r 84 c -2(ype)m 10 r 49 c 10(external)m 0 2599 p (metrics)s 10(always)m 11(take)m 10(precedence.)m 0 2723 p (Moy)s 1710([Page)m 11(10])m @eop 11 @bop0 11 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (This)s 10(section)m 10(has)m 10(assumed)m 10(that)m 10(packets)m 9(destined)m 10(for)m 10(external)m 10(destinations)m 10(are)m 10(always)m 10(routed)m 10(through)m 10(the)m 10(advertising)m 10(AS)m 0 245 p (boundary)s 10(router)m -1 r 46 c 13(This)m 10(is)m 10(not)m 11(always)m 10(desirable.)m 14(For)m 10(example,)m 10(suppose)m 11(in)m 10(Figure)m 10 r 50 c 10(there)m 11(is)m 10(an)m 10(additional)m 11(router)m 10(attached)m 0 295 p (to)s 10(Network)m 11(N6,)m 10(called)m 11(Router)m 10 r 82 c -1(TX.)m 9(Suppose)m 10(further)m 11(that)m 10 r 82 c -1(TX)m 9(does)m 11(not)m 10(participate)m 10(in)m 11(OSPF)m 10(routing,)m 11(but)m 10(does)m 0 345 p (exchange)s 10(EGP)m 11(information)m 10(with)m 11(the)m 10(AS)m 10(boundary)m 11(router)m 10 r 82 c -1(T7.)m 13(Then,)m 10(Router)m 11 r 82 c -2(T7)m 9(would)m 11(end)m 10(up)m 11(advertising)m 10(OSPF)m 0 394 p (external)s 10(routes)m 11(for)m 10(all)m 11(destinations)m 10(that)m 10(should)m 11(be)m 10(routed)m 11(to)m 10 r 82 c -1(TX.)m 9(An)m 10(extra)m 11(hop)m 10(will)m 11(sometimes)m 10(be)m 11(introduced)m 10(if)m 0 444 p (packets)s 10(for)m 11(these)m 10(destinations)m 11(need)m 10(always)m 10(be)m 11(routed)m 10(\014rst)m 11(to)m 10(Router)m 11 r 82 c -2(T7)m 9(\(the)m 11(advertising)m 10(router\).)m 0 512 p 84 c -2 r 111 c 9(deal)m 11(with)m 10(this)m 11(situation,)m 10(the)m 11(OSPF)m 10(protocol)m 10(allows)m 11(an)m 10(AS)m 11(boundary)m 10(router)m 10(to)m 11(specify)m 10 r 97 c 11(\\forwarding)m 10(address")m 11(in)m 10(its)m 0 562 p (external)s 10(advertisements.)m 14(In)m 11(the)m 10(above)m 11(example,)m 10(Router)m 10 r 82 c -1(T7)m 9(would)m 11(specify)m 10 r 82 c -1(TX')m -3 r 115 c 10(IP)m 10(address)m 11(as)m 10(the)m 10(\\forwarding)m 0 611 p (address")s 10(for)m 11(all)m 10(those)m 11(destinations)m 10(whose)m 10(packets)m 11(should)m 10(be)m 11(routed)m 10(directly)m 11(to)m 10 r 82 c -2(TX.)m 0 679 p (The)s 10(\\forwarding)m 11(address")m 10(has)m 11(one)m 10(other)m 10(application.)m 14(It)m 11(enables)m 10(routers)m 11(in)m 10(the)m 10(Autonomous)m 11(System')m -1 r 115 c 9(interior)m 10(to)m 0 729 p (function)s 10(as)m 11(\\route)m 10(servers".)m 14(For)m 11(example,)m 10(in)m 10(Figure)m 11 r 50 c 10(the)m 11(router)m 10 r 82 c -1(T6)m 9(could)m 10(become)m 11 r 97 c 10(route)m 11(server)m -1 r 44 c 9(gaining)m 11(external)m 0 779 p (routing)s 10(information)m 11(through)m 10 r 97 c 11(combination)m 10(of)m 10(static)m 11(con\014guration)m 10(and)m 11(external)m 10(routing)m 11(protocols.)m 13 r 82 c -1(T6)m 9(would)m 11(then)m 0 829 p (start)s 10(advertising)m 11(itself)m 10(as)m 11(an)m 10(AS)m 10(boundary)m 11(router)m -1 r 44 c 10(and)m 10(would)m 10(originate)m 11 r 97 c 10(collection)m 11(of)m 10(OSPF)m 11(external)m 10(advertisements.)m 0 878 p (In)s 10(each)m 11(external)m 10(advertisement,)m 11(Router)m 10 r 82 c -1(T6)m 9(would)m 10(specify)m 11(the)m 10(correct)m 11(Autonomous)m 10(System)m 10(exit)m 11(point)m 10(to)m 11(use)m 10(for)m 11(the)m 0 928 p (destination)s 10(through)m 11(appropriate)m 10(setting)m 11(of)m 10(the)m 10(advertisement')m -1 r 115 c 10(\\forwarding)m 10(address")m 10(\014eld.)m t-bol.360 @sf 0 1065 p (2.3)s 50(Equal-cost)m 12(multipath)m t-rom.300 @sf 0 1161 p (The)s 10(above)m 11(discussion)m 10(has)m 11(been)m 10(simpli\014ed)m 10(by)m 11(considering)m 10(only)m 11 r 97 c 10(single)m 11(route)m 10(to)m 10(any)m 11(destination.)m 14(In)m 10(reality)m -2 r 44 c 10(if)m 10(multiple)m 0 1210 p (equal-cost)s 10(routes)m 11(to)m 10 r 97 c 11(destination)m 10(exist,)m 10(they)m 11(are)m 10(all)m 11(discovered)m 10(and)m 11(used.)m 13(This)m 11(requires)m 10(no)m 11(conceptual)m 10(changes)m 11(to)m 10(the)m 0 1260 p (algorithm,)s 10(and)m 11(its)m 10(discussion)m 11(is)m 10(postponed)m 10(until)m 11(we)m 10(consider)m 11(the)m 10(tree-building)m 11(process)m 10(in)m 10(more)m 11(detail.)m 0 1328 p 87 c -1(ith)m 10(equal)m 10(cost)m 11(multipath,)m 10 r 97 c 10(router)m 11(potentially)m 10(has)m 11(several)m 10(available)m 10(next)m 11(hops)m 10(towards)m 11(any)m 10(given)m 11(destination.)m t-bol.360 @sf 0 1465 p (2.4)s 50 r 84 c (OS-based)s 12 r 114 c (outing)s t-rom.300 @sf 0 1560 p (OSPF)s 10(can)m 11(calculate)m 10 r 97 c 11(separate)m 10(set)m 10(of)m 11(routes)m 10(for)m 11(each)m 10(IP)m 11 r 84 c -2(ype)m 9(of)m 10(Service.)m 14(This)m 11(means)m 10(that,)m 11(for)m 10(any)m 10(destination,)m 11(there)m 0 1610 p (can)s 10(potentially)m 11(be)m 10(multiple)m 11(routing)m 10(table)m 10(entries,)m 11(one)m 10(for)m 11(each)m 10(IP)m 11 r 84 c (OS.)s 9(The)m 11(IP)m 10 r 84 c (OS)s 10(values)m 10(are)m 11(represented)m 10(in)m 10(OSPF)m 0 1660 p (exactly)s 10(as)m 11(they)m 10(appear)m 11(in)m 10(the)m 10(IP)m 11(packet)m 10(header)m -1 r 46 c 0 1727 p (Up)s 10(to)m 11(this)m 10(point,)m 11(all)m 10(examples)m 10(shown)m 11(have)m 10(assumed)m 11(that)m 10(routes)m 11(do)m 10(not)m 10(vary)m 11(on)m 10 r 84 c (OS.)s 10(In)m 10(order)m 11(to)m 10(dif)m (ferentiate)s 10(routes)m 0 1777 p (based)s 10(on)m 11 r 84 c (OS,)s 9(separate)m 11(interface)m 10(costs)m 11(can)m 10(be)m 11(con\014gured)m 10(for)m 10(each)m 11 r 84 c (OS.)s 9(For)m 11(example,)m 10(in)m 11(Figure)m 10 r 50 c 11(there)m 10(could)m 10(be)m 0 1827 p (multiple)s 10(costs)m 11(\(one)m 10(for)m 11(each)m 10 r 84 c (OS\))s 10(listed)m 10(for)m 11(each)m 10(interface.)m 14 r 65 c 10(cost)m 11(for)m 10 r 84 c (OS)s 10 r 48 c 10(must)m 11(always)m 10(be)m 10(speci\014ed.)m 0 1895 p (When)s 10(interface)m 10(costs)m 10(vary)m 9(based)m 10(on)m 10 r 84 c (OS,)s 9 r 97 c 10(separate)m 10(shortest)m 10(path)m 10(tree)m 9(is)m 10(calculated)m 10(for)m 10(each)m 10 r 84 c (OS)s 9(\(see)m 10(Section)m 10(2.1\).)m 13(In)m 0 1945 p (addition,)s 10(external)m 11(costs)m 10(can)m 11(vary)m 10(based)m 10(on)m 11 r 84 c (OS.)s 10(For)m 10(example,)m 10(in)m 11(Figure)m 10 r 50 c 11(Router)m 10 r 82 c -1(T7)m 9(could)m 10(advertise)m 11 r 97 c 10(separate)m 11(type)m 0 1994 p 49 c 10(external)m 11(metric)m 10(for)m 11(each)m 10 r 84 c (OS.)s 10(Then,)m 10(when)m 11(calculating)m 10(the)m 10 r 84 c (OS)s 10 r 88 c 10(distance)m 11(to)m 10(Network)m 11(N15)m 10(the)m 11(cost)m 10(of)m 10(the)m 11(shortest)m 0 2044 p 84 c (OS)s 10 r 88 c 10(path)m 10(to)m 11 r 82 c -2(T7)m 10(would)m 10(be)m 11(added)m 10(to)m 10(the)m 11 r 84 c (OS)s 10 r 88 c 10(cost)m 10(advertised)m 11(by)m 10 r 82 c -1(T7)m 9(for)m 11(Network)m 10(N15)m 10(\(see)m 11(Section)m 10(2.2\).)m 0 2112 p (All)s 10(OSPF)m 11(implementations)m 10(must)m 11(be)m 10(capable)m 10(of)m 11(calculating)m 10(routes)m 11(based)m 10(on)m 11 r 84 c (OS.)s 9(However)m 44 c 9(OSPF)m 10(routers)m 11(can)m 10(be)m 0 2162 p (con\014gured)s 10(to)m 11(route)m 10(all)m 11(packets)m 10(on)m 10(the)m 11 r 84 c (OS)s 10 r 48 c 10(path)m 10(\(see)m 11(Appendix)m 10(C\),)m 11(eliminating)m 10(the)m 10(need)m 11(to)m 10(calculate)m 11(non-zero)m 10 r 84 c (OS)s 0 2212 p (paths.)s 14(This)m 10(can)m 11(be)m 10(used)m 11(to)m 10(conserve)m 10(routing)m 11(table)m 10(space)m 11(and)m 10(processing)m 10(resources)m 11(in)m 10(the)m 11(router)m -2 r 46 c 13(These)m 11 r 84 c (OS-0-only)s 0 2261 p (routers)s 10(can)m 11(be)m 10(mixed)m 11(with)m 10(routers)m 10(that)m 11(do)m 10(route)m 11(based)m 10(on)m 11 r 84 c (OS.)s 9 r 84 c (OS-0-only)s 10(routers)m 10(will)m 11(be)m 10(avoided)m 11(as)m 10(much)m 10(as)m 0 2311 p (possible)s 10(when)m 11(forwarding)m 10(traf)m (\014c)s 10(requesting)m 10 r 97 c 11(non-zero)m 10 r 84 c (OS.)s 0 2379 p (It)s 10(may)m 10(be)m 10(the)m 10(case)m 10(that)m 10(no)m 10(path)m 10(exists)m 10(for)m 10(some)m 9(non-zero)m 10 r 84 c (OS,)s 10(even)m 10(if)m 10(the)m 9(router)m 10(is)m 10(calculating)m 10(non-zero)m 10 r 84 c (OS)s 9(paths.)m 14(In)m 0 2429 p (that)s 10(case,)m 11(packets)m 10(requesting)m 11(that)m 10(non-zero)m 10 r 84 c (OS)s 10(are)m 11(routed)m 10(along)m 10(the)m 11 r 84 c (OS)s 9 r 48 c 11(path)m 10(\(see)m 11(Section)m 10 r 49 c (1.1\).)s 0 2723 p (Moy)s 1712([Page)m 10 r 49 c (1])s @eop 12 @bop0 12 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 51 c 58(Splitting)m 15(the)m 14(AS)m 15(into)m 15(Ar)m (eas)s t-rom.300 @sf 0 302 p (OSPF)s 10(allows)m 11(collections)m 10(of)m 11(contiguous)m 10(networks)m 10(and)m 11(hosts)m 10(to)m 11(be)m 10(grouped)m 11(together)m -2 r 46 c 13(Such)m 11 r 97 c 10(group,)m 10(together)m 11(with)m 10(the)m 0 351 p (routers)s 10(having)m 11(interfaces)m 10(to)m 11(any)m 10(one)m 10(of)m 11(the)m 10(included)m 10(networks,)m 11(is)m 10(called)m 11(an)m 10(area.)m 14(Each)m 10(area)m 11(runs)m 10 r 97 c 10(separate)m 11(copy)m 10(of)m 10(the)m 0 401 p (basic)s 10(link-state)m 11(routing)m 10(algorithm.)m 14(This)m 11(means)m 10(that)m 10(each)m 11(area)m 10(has)m 11(its)m 10(own)m 10(topological)m 11(database)m 10(and)m 11(corresponding)m 0 451 p (graph,)s 10(as)m 11(explained)m 10(in)m 11(the)m 10(previous)m 10(section.)m 0 514 p (The)s 10(topology)m 11(of)m 10(an)m 11(area)m 10(is)m 10(invisible)m 11(from)m 10(the)m 11(outside)m 10(of)m 11(the)m 10(area.)m 14(Conversely)m -2 r 44 c 10(routers)m 10(internal)m 10(to)m 11 r 97 c 10(given)m 11(area)m 10(know)m 0 564 p (nothing)s 10(of)m 11(the)m 10(detailed)m 11(topology)m 10(external)m 10(to)m 11(the)m 10(area.)m 14(This)m 11(isolation)m 10(of)m 10(knowledge)m 11(enables)m 10(the)m 11(protocol)m 10(to)m 11(ef)m (fect)s 9 r 97 c 0 614 p (marked)s 10(reduction)m 11(in)m 10(routing)m 11(traf)m (\014c)s 9(as)m 11(compared)m 10(to)m 11(treating)m 10(the)m 10(entire)m 11(Autonomous)m 10(System)m 11(as)m 10 r 97 c 10(single)m 11(link-state)m 0 664 p (domain.)s 0 727 p 87 c -1(ith)m 10(the)m 10(introduction)m 11(of)m 10(areas,)m 10(it)m 11(is)m 10(no)m 11(longer)m 10(true)m 10(that)m 11(all)m 10(routers)m 11(in)m 10(the)m 11(AS)m 10(have)m 10(an)m 11(identical)m 10(topological)m 11(database.)m 14 r 65 c 0 777 p (router)s 10(actually)m 11(has)m 10 r 97 c 11(separate)m 10(topological)m 10(database)m 11(for)m 10(each)m 11(area)m 10(it)m 11(is)m 10(connected)m 10(to.)m 14(\(Routers)m 11(connected)m 10(to)m 11(multiple)m 0 827 p (areas)s 10(are)m 11(called)m 10(area)m 11(border)m 10(routers\).)m 14 r 84 c -2(wo)m 9(routers)m 11(belonging)m 10(to)m 11(the)m 10(same)m 11(area)m 10(have,)m 10(for)m 11(that)m 10(area,)m 11(identical)m 10(area)m 0 877 p (topological)s 10(databases.)m 0 940 p (Routing)s 10(in)m 11(the)m 10(Autonomous)m 11(System)m 10(takes)m 10(place)m 11(on)m 10(two)m 11(levels,)m 10(depending)m 11(on)m 10(whether)m 10(the)m 11(source)m 10(and)m 11(destination)m 10(of)m 10 r 97 c 0 990 p (packet)s 10(reside)m 11(in)m 10(the)m 11(same)m 10(area)m 10(\(intra-area)m 11(routing)m 10(is)m 11(used\))m 10(or)m 11(dif)m (ferent)s 9(areas)m 11(\(inter)m (-area)s 9(routing)m 11(is)m 10(used\).)m 14(In)m 10(intra-area)m 0 1040 p (routing,)s 10(the)m 11(packet)m 10(is)m 11(routed)m 10(solely)m 10(on)m 11(information)m 10(obtained)m 11(within)m 10(the)m 11(area;)m 10(no)m 10(routing)m 11(information)m 10(obtained)m 11(from)m 0 1090 p (outside)s 10(the)m 11(area)m 10(can)m 11(be)m 10(used.)m 14(This)m 10(protects)m 11(intra-area)m 10(routing)m 11(from)m 10(the)m 10(injection)m 11(of)m 10(bad)m 11(routing)m 10(information.)m 14 r 87 c -2 r 101 c 0 1139 p (discuss)s 10(inter)m (-area)s 10(routing)m 10(in)m 11(Section)m 10(3.2.)m t-bol.360 @sf 0 1270 p (3.1)s 50(The)m 12(backbone)m 13(of)m 12(the)m 13(Autonomous)m 12(System)m t-rom.300 @sf 0 1362 p (The)s 10(backbone)m 11(consists)m 10(of)m 11(those)m 10(networks)m 10(not)m 11(contained)m 10(in)m 11(any)m 10(area,)m 11(their)m 10(attached)m 10(routers,)m 11(and)m 10(those)m 11(routers)m 10(that)m 0 1411 p (belong)s 10(to)m 11(multiple)m 10(areas.)m 14(The)m 11(backbone)m 10(must)m 10(be)m 11(contiguous.)m 0 1475 p (It)s 10(is)m 11(possible)m 10(to)m 11(de\014ne)m 10(areas)m 10(in)m 11(such)m 10 r 97 c 11(way)m 10(that)m 11(the)m 10(backbone)m 10(is)m 11(no)m 10(longer)m 11(contiguous.)m 14(In)m 10(this)m 10(case)m 11(the)m 10(system)m 0 1525 p (administrator)s 10(must)m 11(restore)m 10(backbone)m 11(connectivity)m 10(by)m 10(con\014guring)m 11(virtual)m 10(links.)m 0 1588 p 86 c -2(irtual)m 10(links)m 10(can)m 11(be)m 10(con\014gured)m 11(between)m 10(any)m 10(two)m 11(backbone)m 10(routers)m 11(that)m 10(have)m 10(an)m 11(interface)m 10(to)m 11 r 97 c 10(common)m 11(non-backbone)m 0 1638 p (area.)s 14 r 86 c -2(irtual)m 10(links)m 10(belong)m 11(to)m 10(the)m 10(backbone.)m 14(The)m 11(protocol)m 10(treats)m 11(two)m 10(routers)m 10(joined)m 11(by)m 10 r 97 c 11(virtual)m 10(link)m 11(as)m 10(if)m 10(they)m 11(were)m 0 1688 p (connected)s 10(by)m 11(an)m 10(unnumbered)m 11(point-to-point)m 10(network.)m 14(On)m 10(the)m 11(graph)m 10(of)m 11(the)m 10(backbone,)m 10(two)m 11(such)m 10(routers)m 11(are)m 10(joined)m 11(by)m 0 1738 p (arcs)s 10(whose)m 10(costs)m 10(are)m 9(the)m 10(intra-area)m 10(distances)m 10(between)m 10(the)m 10(two)m 10(routers.)m 13(The)m 10(routing)m 10(protocol)m 10(traf)m (\014c)s 9(that)m 10(\015ows)m 10(along)m 10(the)m 0 1787 p (virtual)s 10(link)m 11(uses)m 10(intra-area)m 11(routing)m 10(only)m -2 r 46 c 0 1851 p (The)s 10(backbone)m 11(is)m 10(responsible)m 11(for)m 10(distributing)m 10(routing)m 11(information)m 10(between)m 11(areas.)m 14(The)m 10(backbone)m 10(itself)m 11(has)m 10(all)m 11(of)m 10(the)m 0 1901 p (properties)s 10(of)m 11(an)m 10(area.)m 14(The)m 11(topology)m 10(of)m 10(the)m 11(backbone)m 10(is)m 11(invisible)m 10(to)m 10(each)m 11(of)m 10(the)m 11(areas,)m 10(while)m 11(the)m 10(backbone)m 10(itself)m 11(knows)m 0 1951 p (nothing)s 10(of)m 11(the)m 10(topology)m 11(of)m 10(the)m 10(areas.)m t-bol.360 @sf 0 2081 p (3.2)s 50(Inter)m -1(-ar)m -1(ea)m 12 r 114 c (outing)s t-rom.300 @sf 0 2173 p (When)s 10(routing)m 10 r 97 c 11(packet)m 10(between)m 10(two)m 10(areas)m 10(the)m 11(backbone)m 10(is)m 10(used.)m 14(The)m 10(path)m 10(that)m 10(the)m 11(packet)m 10(will)m 10(travel)m 10(can)m 10(be)m 11(broken)m 10(up)m 0 2223 p (into)s 10(three)m 10(contiguous)m 10(pieces:)m 14(an)m 10(intra-area)m 10(path)m 10(from)m 10(the)m 10(source)m 10(to)m 10(an)m 10(area)m 10(border)m 10(router)m -1 r 44 c 9 r 97 c 10(backbone)m 10(path)m 10(between)m 10(the)m 0 2272 p (source)s 10(and)m 11(destination)m 10(areas,)m 11(and)m 10(then)m 10(another)m 11(intra-area)m 10(path)m 11(to)m 10(the)m 11(destination.)m 13(The)m 11(algorithm)m 10(\014nds)m 11(the)m 10(set)m 11(of)m 10(such)m 0 2322 p (paths)s 10(that)m 11(have)m 10(the)m 11(smallest)m 10(cost.)m 0 2386 p (Looking)s 10(at)m 11(this)m 10(another)m 11(way)m -2 r 44 c 9(inter)m (-area)s 10(routing)m 10(can)m 11(be)m 10(pictured)m 11(as)m 10(forcing)m 10 r 97 c 11(star)m 10(con\014guration)m 11(on)m 10(the)m 11(Autonomous)m 0 2435 p (System,)s 10(with)m 11(the)m 10(backbone)m 11(as)m 10(hub)m 10(and)m 11(each)m 10(of)m 11(the)m 10(areas)m 11(as)m 10(spokes.)m 0 2499 p (The)s 10(topology)m 11(of)m 10(the)m 11(backbone)m 10(dictates)m 10(the)m 11(backbone)m 10(paths)m 11(used)m 10(between)m 11(areas.)m 13(The)m 11(topology)m 10(of)m 11(the)m 10(backbone)m 11(can)m 10(be)m 0 2549 p (enhanced)s 10(by)m 11(adding)m 10(virtual)m 11(links.)m 14(This)m 10(gives)m 10(the)m 11(system)m 10(administrator)m 11(some)m 10(control)m 10(over)m 11(the)m 10(routes)m 11(taken)m 10(by)m 0 2599 p (inter)s (-area)s 10(traf)m (\014c.)s 0 2723 p (Moy)s 1710([Page)m 11(12])m @eop 13 @bop0 13 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (The)s 10(correct)m 11(area)m 10(border)m 11(router)m 10(to)m 10(use)m 11(as)m 10(the)m 11(packet)m 10(exits)m 11(the)m 10(source)m 10(area)m 11(is)m 10(chosen)m 11(in)m 10(exactly)m 10(the)m 11(same)m 10(way)m 11(routers)m 0 245 p (advertising)s 10(external)m 11(routes)m 10(are)m 11(chosen.)m 14(Each)m 10(area)m 10(border)m 11(router)m 10(in)m 11(an)m 10(area)m 10(summarizes)m 11(for)m 10(the)m 11(area)m 10(its)m 11(cost)m 10(to)m 10(all)m 0 295 p (networks)s 10(external)m 11(to)m 10(the)m 11(area.)m 14(After)m 10(the)m 10(SPF)m 11(tree)m 10(is)m 11(calculated)m 10(for)m 10(the)m 11(area,)m 10(routes)m 11(to)m 10(all)m 11(other)m 10(networks)m 10(are)m 11(calculated)m 0 345 p (by)s 10(examining)m 11(the)m 10(summaries)m 11(of)m 10(the)m 10(area)m 11(border)m 10(routers.)m t-bol.360 @sf 0 479 p (3.3)s 50(Classi\014cation)m 12(of)m 13 r 114 c (outers)s t-rom.300 @sf 0 574 p (Before)s 10(the)m 11(introduction)m 10(of)m 11(areas,)m 10(the)m 10(only)m 11(OSPF)m 10(routers)m 11(having)m 10 r 97 c 11(specialized)m 10(function)m 10(were)m 11(those)m 10(advertising)m 11(external)m 0 624 p (routing)s 10(information,)m 11(such)m 10(as)m 11(Router)m 10 r 82 c -1(T5)m 9(in)m 10(Figure)m 11(2.)m 14(When)m 10(the)m 11(AS)m 10(is)m 10(split)m 11(into)m 10(OSPF)m 11(areas,)m 10(the)m 10(routers)m 11(are)m 10(further)m 0 673 p (divided)s 10(according)m 11(to)m 10(function)m 11(into)m 10(the)m 10(following)m 11(four)m 10(overlapping)m 11(categories:)m t-bol.300 @sf 0 779 p (Internal)s 10 r 114 c (outers)s t-rom.300 @sf 20 r 65 c 11(router)m 10(with)m 11(all)m 10(directly)m 11(connected)m 10(networks)m 10(belonging)m 11(to)m 10(the)m 11(same)m 10(area.)m 14(Routers)m 10(with)m 11(only)m 104 828 p (backbone)s 9(interfaces)m 10(also)m 9(belong)m 10(to)m 10(this)m 9(category)m -2 r 46 c 13(These)m 10(routers)m 9(run)m 10 r 97 c 9(single)m 10(copy)m 9(of)m 10(the)m 9(basic)m 10(routing)m 9(algorithm.)m t-bol.300 @sf 0 910 p (Ar)s (ea)s 10(border)m 10 r 114 c (outers)s t-rom.300 @sf 20 r 65 c 11(router)m 10(that)m 10(attaches)m 11(to)m 10(multiple)m 11(areas.)m 13(Area)m 11(border)m 10(routers)m 11(run)m 10(multiple)m 11(copies)m 10(of)m 10(the)m 11(basic)m 104 960 p (algorithm,)s 10(one)m 11(copy)m 10(for)m 10(each)m 11(attached)m 10(area)m 11(and)m 10(an)m 11(additional)m 10(copy)m 10(for)m 11(the)m 10(backbone.)m 14(Area)m 10(border)m 11(routers)m 104 1010 p (condense)s 10(the)m 11(topological)m 10(information)m 10(of)m 11(their)m 10(attached)m 11(areas)m 10(for)m 11(distribution)m 10(to)m 10(the)m 11(backbone.)m 14(The)m 10(backbone)m 10(in)m 104 1060 p (turn)s 10(distributes)m 11(the)m 10(information)m 10(to)m 11(the)m 10(other)m 11(areas.)m t-bol.300 @sf 0 1142 p (Backbone)s 10 r 114 c (outers)s t-rom.300 @sf 20 r 65 c 11(router)m 10(that)m 11(has)m 10(an)m 11(interface)m 10(to)m 10(the)m 11(backbone.)m 14(This)m 10(includes)m 10(all)m 11(routers)m 10(that)m 11(interface)m 10(to)m 11(more)m 104 1191 p (than)s 10(one)m 11(area)m 10(\(i.e.,)m 10(area)m 11(border)m 10(routers\).)m 14(However)m -1 r 44 c 10(backbone)m 10(routers)m 11(do)m 10(not)m 11(have)m 10(to)m 10(be)m 11(area)m 10(border)m 11(routers.)m 104 1241 p (Routers)s 10(with)m 11(all)m 10(interfaces)m 10(connected)m 11(to)m 10(the)m 11(backbone)m 10(are)m 11(considered)m 10(to)m 10(be)m 11(internal)m 10(routers.)m t-bol.300 @sf 0 1323 p (AS)s 10(boundary)m 11 r 114 c (outers)s t-rom.300 @sf 20 r 65 c 10(router)m 11(that)m 10(exchanges)m 11(routing)m 10(information)m 10(with)m 11(routers)m 10(belonging)m 11(to)m 10(other)m 10(Autonomous)m 104 1373 p (Systems.)s 14(Such)m 10 r 97 c 10(router)m 11(has)m 10(AS)m 11(external)m 10(routes)m 11(that)m 10(are)m 10(advertised)m 11(throughout)m 10(the)m 11(Autonomous)m 10(System.)m 14(The)m 104 1423 p (path)s 10(to)m 11(each)m 10(AS)m 10(boundary)m 11(router)m 10(is)m 11(known)m 10(by)m 11(every)m 10(router)m 10(in)m 11(the)m 10(AS.)m 11(This)m 10(classi\014cation)m 10(is)m 11(completely)m 104 1472 p (independent)s 10(of)m 11(the)m 10(previous)m 10(classi\014cations:)m 14(AS)m 11(boundary)m 10(routers)m 11(may)m 10(be)m 10(internal)m 11(or)m 10(area)m 11(border)m 10(routers,)m 10(and)m 104 1522 p (may)s 10(or)m 11(may)m 10(not)m 10(participate)m 11(in)m 10(the)m 11(backbone.)m t-bol.360 @sf 0 1657 p (3.4)s 50 r 65 c 12(sample)m 13(ar)m (ea)s 12(con\014guration)m t-rom.300 @sf 0 1752 p (Figure)s 10 r 54 c 11(shows)m 10 r 97 c 11(sample)m 10(area)m 10(con\014guration.)m 14(The)m 11(\014rst)m 10(area)m 11(consists)m 10(of)m 10(networks)m 11(N1-N4,)m 10(along)m 11(with)m 10(their)m 11(attached)m 0 1801 p (routers)s 10 r 82 c -1(T1-R)m -3(T4.)m 13(The)m 11(second)m 10(area)m 11(consists)m 10(of)m 10(networks)m 11(N6-N8,)m 10(along)m 11(with)m 10(their)m 10(attached)m 11(routers)m 10 r 82 c -1(T7,)m 9 r 82 c -1(T8,)m 9 r 82 c -1(T10)m 0 1851 p (and)s 10 r 82 c -1(T1)m -2(1.)m 13(The)m 11(third)m 10(area)m 11(consists)m 10(of)m 10(networks)m 11(N9-N1)m -1 r 49 c 10(and)m 10(Host)m 10(H1,)m 11(along)m 10(with)m 11(their)m 10(attached)m 11(routers)m 10 r 82 c -2(T9,)m 10 r 82 c -2(T1)m -1 r 49 c 0 1901 p (and)s 10 r 82 c -1(T12.)m 13(The)m 10(third)m 10(area)m 10(has)m 11(been)m 10(con\014gured)m 10(so)m 11(that)m 10(networks)m 10(N9-N1)m 49 c 9(and)m 10(Host)m 10(H1)m 11(will)m 10(all)m 10(be)m 11(grouped)m 10(into)m 10 r 97 c 10(single)m 0 1951 p (route,)s 10(when)m 11(advertised)m 10(external)m 11(to)m 10(the)m 10(area)m 11(\(see)m 10(Section)m 11(3.5)m 10(for)m 11(more)m 10(details\).)m 0 2017 p (In)s 10(Figure)m 11(6,)m 10(Routers)m 11 r 82 c -2(T1,)m 10 r 82 c -2(T2,)m 9 r 82 c -1(T5,)m 9 r 82 c -1(T6,)m 9 r 82 c -1(T8,)m 9 r 82 c -1(T9)m 9(and)m 11 r 82 c -2(T12)m 9(are)m 11(internal)m 10(routers.)m 14(Routers)m 11 r 82 c -2(T3,)m 10 r 82 c -2(T4,)m 9 r 82 c -1(T7,)m 9 r 82 c -1(T10)m 0 2067 p (and)s 10 r 82 c -1(T1)m -2 r 49 c 10(are)m 10(area)m 11(border)m 10(routers.)m 14(Finally)m -2 r 44 c 10(as)m 10(before,)m 10(Routers)m 11 r 82 c -2(T5)m 10(and)m 10 r 82 c -1(T7)m 9(are)m 11(AS)m 10(boundary)m 10(routers.)m 0 2134 p (Figure)s 10 r 55 c 11(shows)m 10(the)m 11(resulting)m 10(topological)m 10(database)m 11(for)m 10(the)m 11(Area)m 10(1.)m 14(The)m 10(\014gure)m 11(completely)m 10(describes)m 11(that)m 10(area')m -1 r 115 c 0 2183 p (intra-area)s 10(routing.)m 14(It)m 11(also)m 10(shows)m 11(the)m 10(complete)m 10(view)m 11(of)m 10(the)m 11(internet)m 10(for)m 10(the)m 11(two)m 10(internal)m 11(routers)m 10 r 82 c -1(T1)m 9(and)m 10 r 82 c -1(T2.)m 13(It)m 10(is)m 11(the)m 0 2233 p (job)s 10(of)m 11(the)m 10(area)m 11(border)m 10(routers,)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4,)m 10(to)m 10(advertise)m 11(into)m 10(Area)m 10 r 49 c 11(the)m 10(distances)m 11(to)m 10(all)m 10(destinations)m 11(external)m 10(to)m 11(the)m 0 2283 p (area.)s 14(These)m 10(are)m 11(indicated)m 10(in)m 11(Figure)m 10 r 55 c 10(by)m 11(the)m 10(dashed)m 11(stub)m 10(routes.)m 14(Also,)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4)m 10(must)m 10(advertise)m 10(into)m 11(Area)m 10 r 49 c 11(the)m 0 2333 p (location)s 10(of)m 11(the)m 10(AS)m 11(boundary)m 10(routers)m 10 r 82 c -1(T5)m 9(and)m 11 r 82 c -2(T7.)m 13(Finally)m -1 r 44 c 9(external)m 10(advertisements)m 11(from)m 10 r 82 c -1(T5)m 9(and)m 11 r 82 c -2(T7)m 9(are)m 11(\015ooded)m 0 2383 p (throughout)s 10(the)m 11(entire)m 10(AS,)m 11(and)m 10(in)m 10(particular)m 11(throughout)m 10(Area)m 11(1.)m 14(These)m 10(advertisements)m 10(are)m 11(included)m 10(in)m 11(Area)m 10(1')m -1 r 115 c 0 2432 p (database,)s 10(and)m 11(yield)m 10(routes)m 11(to)m 10(networks)m 10(N12-N15.)m 0 2499 p (Routers)s 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4)m 10(must)m 10(also)m 10(summarize)m 11(Area)m 10(1')m -1 r 115 c 9(topology)m 11(for)m 10(distribution)m 11(to)m 10(the)m 11(backbone.)m 13(Their)m 11(backbone)m 0 2549 p (advertisements)s 10(are)m 11(shown)m 10(in)m 10 r 84 c -2(able)m 9(4.)m 14(These)m 10(summaries)m 11(show)m 10(which)m 10(networks)m 10(are)m 11(contained)m 10(in)m 10(Area)m 10 r 49 c 11(\(i.e.,)m 10(Networks)m 0 2599 p (N1-N4\),)s 10(and)m 11(the)m 10(distance)m 11(to)m 10(these)m 10(networks)m 11(from)m 10(the)m 11(routers)m 10 r 82 c -1(T3)m 9(and)m 10 r 82 c -1(T4)m 9(respectively)m -1 r 46 c 0 2723 p (Moy)s 1710([Page)m 11(13])m @eop 14 @bop0 14 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 4078469 4275814 37364039 48481157 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure6.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:21:23 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 62 65 568 737 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 583.955 735.955 6.045 89.574 -80.047 arcn stroke newpath 514.965 736.310 6.973 106.369 -115.169 arc stroke newpath 387.045 627.000 6.127 170.607 18.565 arcn stroke newpath 386.690 558.000 6.764 -171.499 -17.586 arc stroke newpath 174.965 744.310 6.973 106.369 -115.168 arc stroke newpath 243.955 743.955 6.045 89.574 -80.047 arcn stroke newpath 175.965 443.310 6.973 106.369 -115.168 arc stroke newpath 244.955 442.955 6.045 89.574 -80.047 arcn stroke newpath 242.965 347.310 6.973 106.369 -115.168 arc stroke newpath 311.955 346.955 6.045 89.573 -80.047 arcn stroke newpath 122.045 144.000 6.127 170.607 18.565 arcn stroke newpath 121.690 75.000 6.764 -171.499 -17.586 arc stroke newpath 122.690 202.000 6.764 -171.499 -17.586 arc stroke newpath 123.045 271.000 6.127 170.607 18.565 arcn stroke % Ellipse newpath 276 175 39 39 0 360 DrawEllipse stroke % Ellipse newpath 209 590 39 39 0 360 DrawEllipse stroke % Ellipse newpath 553 590 39 39 0 360 DrawEllipse stroke [4.000000] 0 setdash % Polyline newpath 338 508 moveto 598 508 lineto 598 777 lineto 338 777 lineto closepath stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 70 406 moveto 304 406 lineto 304 776 lineto 70 776 lineto closepath stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 73 56 moveto 356 56 lineto 356 388 lineto 73 388 lineto closepath stroke [] 0 setdash % Polyline newpath 513 730 moveto 584 730 lineto stroke % Polyline newpath 513 742 moveto 584 742 lineto stroke % Polyline newpath 393 557 moveto 393 628 lineto stroke % Polyline newpath 381 557 moveto 381 628 lineto stroke % Polyline newpath 173 750 moveto 244 750 lineto stroke % Polyline newpath 173 738 moveto 244 738 lineto stroke % Polyline newpath 174 449 moveto 245 449 lineto stroke % Polyline newpath 174 437 moveto 245 437 lineto stroke % Polyline newpath 241 353 moveto 312 353 lineto stroke % Polyline newpath 241 341 moveto 312 341 lineto stroke % Polyline newpath 128 74 moveto 128 145 lineto stroke % Polyline newpath 116 74 moveto 116 145 lineto stroke % Polyline newpath 117 201 moveto 117 272 lineto stroke % Polyline newpath 129 201 moveto 129 272 lineto stroke % Polyline newpath 165 94 moveto 203 94 lineto 203 127 lineto 165 127 lineto closepath stroke % Polyline newpath 166 218 moveto 204 218 lineto 204 251 lineto 166 251 lineto closepath stroke % Polyline newpath 354 265 moveto 392 265 lineto 392 298 lineto 354 298 lineto closepath stroke % Polyline newpath 354 157 moveto 392 157 lineto 392 190 lineto 354 190 lineto closepath stroke % Polyline newpath 191 482 moveto 229 482 lineto 229 515 lineto 191 515 lineto closepath stroke % Polyline newpath 190 669 moveto 228 669 lineto 228 702 lineto 190 702 lineto closepath stroke % Polyline newpath 92 669 moveto 130 669 lineto 130 702 lineto 92 702 lineto closepath stroke % Polyline newpath 302 576 moveto 340 576 lineto 340 609 lineto 302 609 lineto closepath stroke % Polyline newpath 447 157 moveto 485 157 lineto 485 190 lineto 447 190 lineto closepath stroke % Polyline newpath 447 264 moveto 485 264 lineto 485 297 lineto 447 297 lineto closepath stroke % Polyline newpath 447 477 moveto 485 477 lineto 485 510 lineto 447 510 lineto closepath stroke % Polyline newpath 536 477 moveto 574 477 lineto 574 510 lineto 536 510 lineto closepath stroke % Polyline newpath 533 660 moveto 571 660 lineto 571 693 lineto 533 693 lineto closepath stroke % Polyline newpath 128 107 moveto 165 107 lineto stroke % Polyline newpath 204 112 moveto 246 152 lineto stroke % Polyline newpath 129 236 moveto 164 236 lineto stroke % Polyline newpath 204 236 moveto 253 208 lineto stroke % Polyline newpath 278 215 moveto 354 265 lineto stroke % Polyline newpath 354 299 moveto 278 340 lineto stroke % Polyline newpath 315 174 moveto 354 174 lineto stroke % Polyline newpath 392 175 moveto 447 175 lineto stroke % Polyline newpath 392 283 moveto 447 283 lineto stroke % Polyline newpath 466 190 moveto 467 263 lineto stroke % Polyline newpath 465 298 moveto 465 477 lineto stroke % Polyline newpath 485 176 moveto 554 176 lineto 554 476 lineto stroke % Polyline newpath 554 511 moveto 554 550 lineto stroke % Polyline newpath 485 510 moveto 513 594 lineto stroke % Polyline newpath 551 629 moveto 551 659 lineto stroke % Polyline newpath 550 694 moveto 550 730 lineto stroke % Polyline newpath 393 593 moveto 447 510 lineto stroke % Polyline newpath 340 593 moveto 380 593 lineto stroke % Polyline newpath 210 450 moveto 210 482 lineto stroke % Polyline newpath 210 516 moveto 210 550 lineto stroke % Polyline newpath 248 591 moveto 302 591 lineto stroke % Polyline newpath 209 630 moveto 209 668 lineto stroke % Polyline newpath 209 703 moveto 209 738 lineto stroke % Polyline newpath 130 688 moveto 189 688 lineto stroke [4.000000] 0 setdash % Polyline newpath 434 120 moveto 461 156 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 458 102 moveto 465 156 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 483 110 moveto 468 157 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 575 494 moveto 599 456 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 575 496 moveto 605 493 lineto stroke [] 0 setdash /Courier findfont 12.222222 scalefont setfont 448 465 moveto 1 -1 scale (Ib) show 1 -1 scale 446 312 moveto 1 -1 scale (Ia) show 1 -1 scale 177 802 moveto 1 -1 scale (Figure 6: A sample OSPF area configuration) show 1 -1 scale 79 429 moveto 1 -1 scale (Area 3) show 1 -1 scale 377 770 moveto 1 -1 scale (Area 2) show 1 -1 scale 282 73 moveto 1 -1 scale (Area 1) show 1 -1 scale 93 113 moveto 1 -1 scale (N1) show 1 -1 scale 93 241 moveto 1 -1 scale (N2) show 1 -1 scale 173 114 moveto 1 -1 scale (RT1) show 1 -1 scale 173 241 moveto 1 -1 scale (RT2) show 1 -1 scale 268 181 moveto 1 -1 scale (N3) show 1 -1 scale 361 286 moveto 1 -1 scale (RT3) show 1 -1 scale 270 373 moveto 1 -1 scale (N4) show 1 -1 scale 361 179 moveto 1 -1 scale (RT4) show 1 -1 scale 455 179 moveto 1 -1 scale (RT5) show 1 -1 scale 454 285 moveto 1 -1 scale (RT6) show 1 -1 scale 543 500 moveto 1 -1 scale (RT7) show 1 -1 scale 545 597 moveto 1 -1 scale (N6) show 1 -1 scale 539 683 moveto 1 -1 scale (RT8) show 1 -1 scale 450 496 moveto 1 -1 scale (RT10) show 1 -1 scale 378 653 moveto 1 -1 scale (N8) show 1 -1 scale 307 599 moveto 1 -1 scale (RT11) show 1 -1 scale 202 597 moveto 1 -1 scale (N9) show 1 -1 scale 200 431 moveto 1 -1 scale (N11) show 1 -1 scale 198 505 moveto 1 -1 scale (RT9) show 1 -1 scale 194 691 moveto 1 -1 scale (RT12) show 1 -1 scale 103 692 moveto 1 -1 scale (H1) show 1 -1 scale 196 767 moveto 1 -1 scale (N10) show 1 -1 scale 146 703 moveto 1 -1 scale (SLIP) show 1 -1 scale 413 115 moveto 1 -1 scale (N12) show 1 -1 scale 440 96 moveto 1 -1 scale (N13) show 1 -1 scale 480 102 moveto 1 -1 scale (N14) show 1 -1 scale 604 462 moveto 1 -1 scale (N12) show 1 -1 scale 609 503 moveto 1 -1 scale (N15) show 1 -1 scale 542 760 moveto 1 -1 scale (N7) show 1 -1 scale 152 121 moveto 1 -1 scale (3) show 1 -1 scale 214 113 moveto 1 -1 scale (1) show 1 -1 scale 212 245 moveto 1 -1 scale (1) show 1 -1 scale 342 278 moveto 1 -1 scale (1) show 1 -1 scale 341 171 moveto 1 -1 scale (1) show 1 -1 scale 155 232 moveto 1 -1 scale (3) show 1 -1 scale 543 525 moveto 1 -1 scale (1) show 1 -1 scale 480 522 moveto 1 -1 scale (1) show 1 -1 scale 555 654 moveto 1 -1 scale (1) show 1 -1 scale 289 587 moveto 1 -1 scale (1) show 1 -1 scale 214 532 moveto 1 -1 scale (1) show 1 -1 scale 212 663 moveto 1 -1 scale (1) show 1 -1 scale 470 465 moveto 1 -1 scale (5) show 1 -1 scale 447 522 moveto 1 -1 scale (3) show 1 -1 scale 346 588 moveto 1 -1 scale (2) show 1 -1 scale 216 477 moveto 1 -1 scale (3) show 1 -1 scale 214 716 moveto 1 -1 scale (2) show 1 -1 scale 172 683 moveto 1 -1 scale (10) show 1 -1 scale 555 706 moveto 1 -1 scale (4) show 1 -1 scale 560 472 moveto 1 -1 scale (6) show 1 -1 scale 491 171 moveto 1 -1 scale (6) show 1 -1 scale 398 170 moveto 1 -1 scale (8) show 1 -1 scale 435 169 moveto 1 -1 scale (8) show 1 -1 scale 473 258 moveto 1 -1 scale (6) show 1 -1 scale 471 203 moveto 1 -1 scale (7) show 1 -1 scale 471 315 moveto 1 -1 scale (7) show 1 -1 scale 431 278 moveto 1 -1 scale (6) show 1 -1 scale 400 278 moveto 1 -1 scale (8) show 1 -1 scale 342 298 moveto 1 -1 scale (2) show 1 -1 scale 447 131 moveto 1 -1 scale (8) show 1 -1 scale 465 126 moveto 1 -1 scale (8) show 1 -1 scale 479 142 moveto 1 -1 scale (8) show 1 -1 scale 590 481 moveto 1 -1 scale (2) show 1 -1 scale 589 506 moveto 1 -1 scale (9) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1710([Page)m 11(14])m @eop 15 @bop0 15 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 682 201 p 586 2 ru 681 251 p 2 50 ru t-ita.300 @sf 707 236 p (Network)s 872 251 p 2 50 ru 898 236 p (RT3)s 11(adv)m -2 r 46 c 1070 251 p 2 50 ru 1095 236 p (RT4)s 11(adv)m -2 r 46 c 1267 251 p 2 50 ru 682 252 p 586 2 ru 681 302 p 2 50 ru t-rom.300 @sf 752 287 p (N1)s 872 302 p 2 50 ru 961 287 p 52 c 1070 302 p 2 50 ru 1159 287 p 52 c 1267 302 p 2 50 ru 681 352 p 2 50 ru 752 337 p (N2)s 872 352 p 2 50 ru 961 337 p 52 c 1070 352 p 2 50 ru 1159 337 p 52 c 1267 352 p 2 50 ru 681 402 p 2 50 ru 752 387 p (N3)s 872 402 p 2 50 ru 961 387 p 49 c 1070 402 p 2 50 ru 1159 387 p 49 c 1267 402 p 2 50 ru 681 452 p 2 50 ru 752 437 p (N4)s 872 452 p 2 50 ru 961 437 p 50 c 1070 452 p 2 50 ru 1159 437 p 51 c 1267 452 p 2 50 ru 682 453 p 586 2 ru 380 590 p 84 c -2(able)m 10(4:)m 13(Networks)m 11(advertised)m 10(to)m 11(the)m 10(backbone)m 11(by)m 10(routers)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4.)m 0 724 p (The)s 10(topological)m 11(database)m 10(for)m 10(the)m 11(backbone)m 10(is)m 11(shown)m 10(in)m 10(Figure)m 11(8.)m 14(The)m 10(set)m 10(of)m 11(routers)m 10(pictured)m 10(are)m 11(the)m 10(backbone)m 10(routers.)m 0 774 p (Router)s 10 r 82 c -2(T1)m -1 r 49 c 9(is)m 10 r 97 c 10(backbone)m 10(router)m 9(because)m 10(it)m 10(belongs)m 10(to)m 10(two)m 10(areas.)m 14(In)m 10(order)m 10(to)m 9(make)m 10(the)m 10(backbone)m 10(connected,)m 10 r 97 c 10(virtual)m 0 823 p (link)s 10(has)m 11(been)m 10(con\014gured)m 11(between)m 10(routers)m 10(R10)m 11(and)m 10(R1)m (1.)s 0 891 p (Again,)s 10(Routers)m 11 r 82 c -2(T3,)m 10 r 82 c -2(T4,)m 10 r 82 c -2(T7,)m 10 r 82 c -2(T10)m 9(and)m 11 r 82 c -2(T1)m -1 r 49 c 9(are)m 11(area)m 10(border)m 11(routers.)m 13(As)m 11(Routers)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4)m 10(did)m 10(above,)m 10(they)m 0 941 p (have)s 10(condensed)m 11(the)m 10(routing)m 10(information)m 10(of)m 11(their)m 10(attached)m 10(areas)m 11(for)m 10(distribution)m 10(via)m 10(the)m 11(backbone;)m 10(these)m 10(are)m 11(the)m 10(dashed)m 0 991 p (stubs)s 10(that)m 11(appear)m 10(in)m 11(Figure)m 10(8.)m 14(Remember)m 10(that)m 11(the)m 10(third)m 11(area)m 10(has)m 10(been)m 11(con\014gured)m 10(to)m 11(condense)m 10(Networks)m 11(N9-N1)m -1 r 49 c 9(and)m 0 1041 p (Host)s 10(H1)m 11(into)m 10 r 97 c 11(single)m 10(route.)m 14(This)m 10(yields)m 11 r 97 c 10(single)m 11(dashed)m 10(line)m 10(for)m 11(networks)m 10(N9-N1)m 49 c 9(and)m 11(Host)m 10(H1)m 10(in)m 11(Figure)m 10(8.)m 14(Routers)m 0 1090 p 82 c -2(T5)m 10(and)m 10 r 82 c -1(T7)m 9(are)m 11(AS)m 10(boundary)m 10(routers;)m 11(their)m 10(externally)m 11(derived)m 10(information)m 11(also)m 10(appears)m 10(on)m 11(the)m 10(graph)m 11(in)m 10(Figure)m 10 r 56 c 11(as)m 0 1140 p (stubs.)s 0 1208 p (The)s 10(backbone)m 11(enables)m 10(the)m 11(exchange)m 10(of)m 10(summary)m 11(information)m 10(between)m 11(area)m 10(border)m 11(routers.)m 13(Every)m 11(area)m 10(border)m 11(router)m 0 1258 p (hears)s 10(the)m 11(area)m 10(summaries)m 11(from)m 10(all)m 10(other)m 11(area)m 10(border)m 11(routers.)m 14(It)m 10(then)m 10(forms)m 11 r 97 c 10(picture)m 11(of)m 10(the)m 11(distance)m 10(to)m 10(all)m 11(networks)m 0 1308 p (outside)s 10(of)m 11(its)m 10(area)m 11(by)m 10(examining)m 10(the)m 11(collected)m 10(advertisements,)m 11(and)m 10(adding)m 11(in)m 10(the)m 10(backbone)m 11(distance)m 10(to)m 11(each)m 0 1357 p (advertising)s 10(router)m -1 r 46 c 0 1425 p (Again)s 10(using)m 10(Routers)m 10 r 82 c -1(T3)m 9(and)m 10 r 82 c -2(T4)m 9(as)m 10(an)m 10(example,)m 10(the)m 10(procedure)m 10(goes)m 10(as)m 10(follows:)m 14(They)m 10(\014rst)m 10(calculate)m 10(the)m 10(SPF)m 10(tree)m 10(for)m 0 1475 p (the)s 10(backbone.)m 14(This)m 11(gives)m 10(the)m 11(distances)m 10(to)m 10(all)m 11(other)m 10(area)m 11(border)m 10(routers.)m 14(Also)m 10(noted)m 11(are)m 10(the)m 11(distances)m 10(to)m 10(networks)m 11(\(Ia)m 0 1525 p (and)s 10(Ib\))m 11(and)m 10(AS)m 11(boundary)m 10(routers)m 10(\(R)m -1(T5)m 9(and)m 11 r 82 c -2(T7\))m 10(that)m 10(belong)m 11(to)m 10(the)m 10(backbone.)m 14(This)m 11(calculation)m 10(is)m 11(shown)m 10(in)m 10 r 84 c -2(able)m 10(5.)m 652 1631 p 647 2 ru 651 1681 p 2 50 ru t-ita.300 @sf 677 1666 p (Ar)s -1(ea)m 9(bor)m (der)s 902 1681 p 2 50 ru 928 1666 p (dist)s 10(fr)m (om)s 1100 1681 p 2 50 ru 1126 1666 p (dist)s 10(fr)m (om)s 1298 1681 p 2 50 ru 651 1730 p 2 50 ru 677 1715 p 114 c -1(outer)m 902 1730 p 2 50 ru 967 1715 p (RT3)s 1100 1730 p 2 50 ru 1165 1715 p (RT4)s 1298 1730 p 2 50 ru 652 1732 p 647 2 ru 651 1782 p 2 50 ru t-rom.300 @sf 677 1767 p (to)s 10 r 82 c -2(T3)m 902 1782 p 2 50 ru 992 1767 p 42 c 1100 1782 p 2 50 ru 1179 1767 p (21)s 1298 1782 p 2 50 ru 651 1832 p 2 50 ru 677 1817 p (to)s 10 r 82 c -2(T4)m 902 1832 p 2 50 ru 981 1817 p (22)s 1100 1832 p 2 50 ru 1189 1817 p 42 c 1298 1832 p 2 50 ru 651 1882 p 2 50 ru 677 1867 p (to)s 10 r 82 c -2(T7)m 902 1882 p 2 50 ru 981 1867 p (20)s 1100 1882 p 2 50 ru 1179 1867 p (14)s 1298 1882 p 2 50 ru 651 1931 p 2 50 ru 677 1916 p (to)s 10 r 82 c -2(T10)m 902 1931 p 2 50 ru 981 1916 p (15)s 1100 1931 p 2 50 ru 1179 1916 p (22)s 1298 1931 p 2 50 ru 651 1981 p 2 50 ru 677 1966 p (to)s 10 r 82 c -2(T1)m -1 r 49 c 902 1981 p 2 50 ru 981 1966 p (18)s 1100 1981 p 2 50 ru 1179 1966 p (25)s 1298 1981 p 2 50 ru 651 2031 p 2 50 ru 251 r 2 50 ru 198 r 2 50 ru 198 r 2 50 ru 651 2081 p 2 50 ru 677 2066 p (to)s 10(Ia)m 902 2081 p 2 50 ru 981 2066 p (20)s 1100 2081 p 2 50 ru 1179 2066 p (27)s 1298 2081 p 2 50 ru 651 2131 p 2 50 ru 677 2116 p (to)s 10(Ib)m 902 2131 p 2 50 ru 981 2116 p (15)s 1100 2131 p 2 50 ru 1179 2116 p (22)s 1298 2131 p 2 50 ru 651 2180 p 2 50 ru 251 r 2 50 ru 198 r 2 50 ru 198 r 2 50 ru 651 2230 p 2 50 ru 677 2215 p (to)s 10 r 82 c -2(T5)m 902 2230 p 2 50 ru 981 2215 p (14)s 1100 2230 p 2 50 ru 1189 2215 p 56 c 1298 2230 p 2 50 ru 651 2280 p 2 50 ru 677 2265 p (to)s 10 r 82 c -2(T7)m 902 2280 p 2 50 ru 981 2265 p (20)s 1100 2280 p 2 50 ru 1179 2265 p (14)s 1298 2280 p 2 50 ru 652 2282 p 647 2 ru 428 2419 p 84 c -2(able)m 9(5:)m 14(Backbone)m 10(distances)m 11(calculated)m 10(by)m 11(Routers)m 10 r 82 c -2(T3)m 10(and)m 10 r 82 c -1(T4.)m 0 2527 p (Next,)s 10(by)m 10(looking)m 10(at)m 10(the)m 10(area)m 10(summaries)m 9(from)m 10(these)m 10(area)m 10(border)m 10(routers,)m 10 r 82 c -1(T3)m 9(and)m 9 r 82 c -1(T4)m 9(can)m 10(determine)m 10(the)m 10(distance)m 10(to)m 9(all)m 0 2577 p (networks)s 10(outside)m 11(their)m 10(area.)m 14(These)m 11(distances)m 10(are)m 10(then)m 11(advertised)m 10(internally)m 11(to)m 10(the)m 10(area)m 11(by)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4.)m 13(The)m 0 2723 p (Moy)s 1710([Page)m 11(15])m @eop 16 @bop0 16 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 3946905 4999413 32298844 48875847 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure7-8.fig %%Creator: f2ps %%CreationDate: Sat Jul 27 20:22:49 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 60 76 491 743 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 209.388 157.018 moveto 205.000 164.000 lineto 205.587 155.775 lineto stroke newpath 253.315 179.806 50.834 -88.100 -161.885 arcn stroke newpath 250.791 137.393 moveto 256.000 131.000 lineto 254.412 139.092 lineto stroke newpath 200.346 104.885 61.476 83.786 25.138 arcn stroke newpath 216.181 91.032 moveto 208.000 90.000 lineto 215.704 87.060 lineto stroke newpath 213.356 134.590 44.910 -13.639 -96.849 arcn stroke newpath 247.440 121.706 moveto 255.000 125.000 lineto 246.780 125.651 lineto stroke newpath 266.550 56.045 69.915 150.003 99.509 arcn stroke newpath 323.046 121.294 moveto 329.000 127.000 lineto 321.062 124.767 lineto stroke newpath 295.000 186.500 68.529 -119.745 -60.255 arc stroke newpath 267.411 133.186 moveto 261.000 128.000 lineto 269.098 129.559 lineto stroke newpath 297.328 49.857 86.174 68.436 114.933 arc stroke newpath 270.027 188.422 moveto 275.000 195.000 lineto 267.517 191.536 lineto stroke newpath 310.471 151.000 56.517 -158.188 128.874 arcn stroke newpath 264.170 138.114 moveto 260.000 131.000 lineto 267.027 135.315 lineto stroke newpath 212.029 178.000 67.158 14.663 -44.414 arcn stroke newpath 342.873 694.397 moveto 351.000 693.000 lineto 344.487 698.057 lineto stroke [1 3.200000] 0 setdash newpath 223.000 402.674 317.290 99.067 66.208 arcn stroke [] 0 setdash newpath 184.039 711.163 moveto 176.000 713.000 lineto 182.229 707.596 lineto stroke [1 3.200000] 0 setdash newpath 294.153 945.832 261.096 -77.425 -116.906 arcn stroke [] 0 setdash newpath 386.989 469.566 moveto 382.000 463.000 lineto 389.492 466.446 lineto stroke newpath 234.906 646.350 235.062 -7.418 -51.261 arcn stroke newpath 461.326 610.016 moveto 467.000 616.000 lineto 459.178 613.391 lineto stroke newpath 569.224 455.443 190.337 178.026 122.484 arcn stroke newpath 337.683 541.073 moveto 336.000 533.000 lineto 341.284 539.331 lineto stroke newpath 119.903 637.515 240.045 11.653 -25.811 arcn stroke newpath 349.400 678.174 moveto 352.000 686.000 lineto 346.023 680.319 lineto stroke newpath 497.795 593.417 172.707 -159.524 147.584 arcn stroke newpath 348.038 525.157 moveto 340.000 527.000 lineto 346.225 521.592 lineto stroke newpath 308.453 464.950 69.610 -2.429 63.051 arc stroke newpath 367.893 463.506 moveto 376.000 462.000 lineto 369.555 467.144 lineto stroke newpath 403.196 521.507 65.427 175.184 -114.561 arc stroke newpath 189.329 534.780 moveto 182.000 531.000 lineto 190.245 530.886 lineto stroke newpath 259.689 200.945 339.075 77.514 103.245 arc stroke newpath 326.338 526.140 moveto 333.000 531.000 lineto 324.835 529.847 lineto stroke newpath 255.743 721.533 205.600 -111.317 -67.929 arc stroke newpath 245.035 465.303 moveto 238.000 461.000 lineto 246.232 461.486 lineto stroke newpath 303.468 252.320 218.709 70.909 107.418 arc stroke newpath 365.643 453.275 moveto 373.000 457.000 lineto 364.756 457.175 lineto stroke newpath 310.484 731.790 281.811 -105.326 -77.183 arc stroke % Ellipse newpath 145 89 3 3 0 360 DrawEllipse stroke % Ellipse newpath 203 89 3 3 0 360 DrawEllipse stroke % Ellipse newpath 143 167 3 3 0 360 DrawEllipse stroke % Ellipse newpath 204 167 3 3 0 360 DrawEllipse stroke % Ellipse newpath 258 127 3 3 0 360 DrawEllipse stroke % Ellipse newpath 332 128 3 3 0 360 DrawEllipse stroke % Ellipse newpath 276 199 3 3 0 360 DrawEllipse stroke % Ellipse newpath 276 254 3 3 0 360 DrawEllipse stroke % Ellipse newpath 128 313 3 3 0 360 DrawEllipse stroke % Ellipse newpath 491 301 3 3 0 360 DrawEllipse stroke % Ellipse newpath 470 619 3 3 0 360 DrawEllipse stroke % Ellipse newpath 296 668 3 3 0 360 DrawEllipse stroke % Ellipse newpath 286 575 3 3 0 360 DrawEllipse stroke % Ellipse newpath 353 689 3 3 0 360 DrawEllipse stroke % Ellipse newpath 336 530 3 3 0 360 DrawEllipse stroke % Ellipse newpath 378 458 3 3 0 360 DrawEllipse stroke % Ellipse newpath 177 530 3 3 0 360 DrawEllipse stroke % Ellipse newpath 233 459 3 3 0 360 DrawEllipse stroke % Ellipse newpath 172 714 3 3 0 360 DrawEllipse stroke [4.000000] 0 setdash % Polyline newpath 172 711 moveto 133 653 lineto stroke [] 0 setdash newpath 135.804 660.755 moveto 133.000 653.000 lineto 139.124 658.523 lineto stroke [4.000000] 0 setdash % Polyline newpath 171 716 moveto 101 745 lineto stroke [] 0 setdash newpath 109.156 743.786 moveto 101.000 745.000 lineto 107.625 740.090 lineto stroke [4.000000] 0 setdash % Polyline newpath 278 200 moveto 437 191 lineto stroke [] 0 setdash newpath 428.900 189.455 moveto 437.000 191.000 lineto 429.126 193.449 lineto stroke [4.000000] 0 setdash % Polyline newpath 334 127 moveto 415 91 lineto stroke [] 0 setdash newpath 406.877 92.421 moveto 415.000 91.000 lineto 408.502 96.077 lineto stroke [4.000000] 0 setdash % Polyline newpath 335 128 moveto 440 131 lineto stroke [] 0 setdash newpath 432.060 128.772 moveto 440.000 131.000 lineto 431.946 132.771 lineto stroke [4.000000] 0 setdash % Polyline newpath 333 128 moveto 423 117 lineto stroke [] 0 setdash newpath 414.816 115.985 moveto 423.000 117.000 lineto 415.302 119.956 lineto stroke % Polyline newpath 200 89 moveto 150 89 lineto stroke newpath 158.000 91.000 moveto 150.000 89.000 lineto 158.000 87.000 lineto stroke % Polyline newpath 201 167 moveto 147 167 lineto stroke newpath 155.000 169.000 moveto 147.000 167.000 lineto 155.000 165.000 lineto stroke % Polyline newpath 276 202 moveto 276 250 lineto stroke newpath 278.000 242.000 moveto 276.000 250.000 lineto 274.000 242.000 lineto stroke [4.000000] 0 setdash % Polyline newpath 278 202 moveto 368 253 lineto stroke [] 0 setdash newpath 362.026 247.316 moveto 368.000 253.000 lineto 360.054 250.796 lineto stroke [4.000000] 0 setdash % Polyline newpath 276 200 moveto 379 237 lineto stroke [] 0 setdash newpath 372.147 232.413 moveto 379.000 237.000 lineto 370.795 236.178 lineto stroke [4.000000] 0 setdash % Polyline newpath 279 199 moveto 382 224 lineto stroke [] 0 setdash newpath 374.698 220.169 moveto 382.000 224.000 lineto 373.754 224.057 lineto stroke [4.000000] 0 setdash % Polyline newpath 279 199 moveto 382 207 lineto stroke [] 0 setdash newpath 374.179 204.387 moveto 382.000 207.000 lineto 373.869 208.375 lineto stroke [4.000000] 0 setdash % Polyline newpath 279 196 moveto 399 180 lineto stroke [] 0 setdash newpath 390.806 179.075 moveto 399.000 180.000 lineto 391.335 183.040 lineto stroke [4.000000] 0 setdash % Polyline newpath 276 196 moveto 372 168 lineto stroke [] 0 setdash newpath 363.760 168.320 moveto 372.000 168.000 lineto 364.880 172.160 lineto stroke [4.000000] 0 setdash % Polyline newpath 335 129 moveto 449 146 lineto stroke [] 0 setdash newpath 441.382 142.842 moveto 449.000 146.000 lineto 440.793 146.798 lineto stroke [4.000000] 0 setdash % Polyline newpath 330 126 moveto 438 100 lineto stroke [] 0 setdash newpath 429.754 99.928 moveto 438.000 100.000 lineto 430.690 103.817 lineto stroke [4.000000] 0 setdash % Polyline newpath 331 125 moveto 417 75 lineto stroke [] 0 setdash newpath 409.079 77.292 moveto 417.000 75.000 lineto 411.089 80.750 lineto stroke [4.000000] 0 setdash % Polyline newpath 331 125 moveto 387 71 lineto stroke [] 0 setdash newpath 379.853 75.113 moveto 387.000 71.000 lineto 382.630 77.993 lineto stroke [4.000000] 0 setdash % Polyline newpath 99 274 moveto 126 310 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 123 256 moveto 130 310 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 148 264 moveto 133 311 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 493 299 moveto 517 261 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 495 301 moveto 525 298 lineto stroke [] 0 setdash % Polyline newpath 350 690 moveto 301 670 lineto stroke newpath 307.651 674.875 moveto 301.000 670.000 lineto 309.163 671.172 lineto stroke % Polyline newpath 334 533 moveto 289 572 lineto stroke newpath 296.355 568.272 moveto 289.000 572.000 lineto 293.736 565.249 lineto stroke [4.000000] 0 setdash % Polyline newpath 472 617 moveto 496 579 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 474 619 moveto 504 616 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 398 409 moveto 383 456 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 373 401 moveto 380 455 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 349 419 moveto 376 455 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 231 457 moveto 176 427 lineto stroke [] 0 setdash newpath 182.065 432.587 moveto 176.000 427.000 lineto 183.981 429.075 lineto stroke [4.000000] 0 setdash % Polyline newpath 231 459 moveto 162 442 lineto stroke [] 0 setdash newpath 169.289 445.856 moveto 162.000 442.000 lineto 170.246 441.972 lineto stroke [4.000000] 0 setdash % Polyline newpath 232 460 moveto 155 462 lineto stroke [] 0 setdash newpath 163.049 463.792 moveto 155.000 462.000 lineto 162.945 459.793 lineto stroke [4.000000] 0 setdash % Polyline newpath 232 460 moveto 150 482 lineto stroke [] 0 setdash newpath 158.245 481.859 moveto 150.000 482.000 lineto 157.208 477.995 lineto stroke [4.000000] 0 setdash % Polyline newpath 172 528 moveto 110 508 lineto stroke [] 0 setdash newpath 117.000 512.359 moveto 110.000 508.000 lineto 118.228 508.553 lineto stroke [4.000000] 0 setdash % Polyline newpath 173 531 moveto 102 526 lineto stroke [] 0 setdash newpath 109.840 528.557 moveto 102.000 526.000 lineto 110.121 524.567 lineto stroke [4.000000] 0 setdash % Polyline newpath 354 688 moveto 422 690 lineto stroke [] 0 setdash newpath 414.062 687.766 moveto 422.000 690.000 lineto 413.945 691.764 lineto stroke [4.000000] 0 setdash % Polyline newpath 354 689 moveto 414 708 lineto stroke [] 0 setdash newpath 406.977 703.678 moveto 414.000 708.000 lineto 405.769 707.491 lineto stroke [4.000000] 0 setdash % Polyline newpath 354 689 moveto 421 731 lineto stroke [] 0 setdash newpath 415.284 725.056 moveto 421.000 731.000 lineto 413.159 728.446 lineto stroke [4.000000] 0 setdash % Polyline newpath 471 622 moveto 465 684 lineto stroke [] 0 setdash newpath 467.761 676.230 moveto 465.000 684.000 lineto 463.780 675.845 lineto stroke [4.000000] 0 setdash % Polyline newpath 471 624 moveto 491 689 lineto stroke [] 0 setdash newpath 490.559 680.766 moveto 491.000 689.000 lineto 486.736 681.942 lineto stroke [4.000000] 0 setdash % Polyline newpath 470 620 moveto 512 688 lineto stroke [] 0 setdash newpath 509.498 680.143 moveto 512.000 688.000 lineto 506.095 682.245 lineto stroke [4.000000] 0 setdash % Polyline newpath 169 714 moveto 91 697 lineto stroke [] 0 setdash newpath 98.391 700.658 moveto 91.000 697.000 lineto 99.242 696.750 lineto stroke [4.000000] 0 setdash % Polyline newpath 168 714 moveto 91 723 lineto stroke [] 0 setdash newpath 99.178 724.058 moveto 91.000 723.000 lineto 98.714 720.085 lineto stroke [4.000000] 0 setdash % Polyline newpath 176 533 moveto 105 547 lineto stroke [] 0 setdash newpath 113.236 547.415 moveto 105.000 547.000 lineto 112.462 543.490 lineto stroke [4.000000] 0 setdash % Polyline newpath 177 534 moveto 109 568 lineto stroke [] 0 setdash newpath 117.050 566.211 moveto 109.000 568.000 lineto 115.261 562.633 lineto stroke /Courier findfont 12.222222 scalefont setfont 128 700 moveto 1 -1 scale (7) show 1 -1 scale 117 735 moveto 1 -1 scale (3) show 1 -1 scale 71 698 moveto 1 -1 scale (N7) show 1 -1 scale 83 750 moveto 1 -1 scale (N6) show 1 -1 scale 384 199 moveto 1 -1 scale (15) show 1 -1 scale 408 134 moveto 1 -1 scale (18) show 1 -1 scale 385 125 moveto 1 -1 scale (19) show 1 -1 scale 402 113 moveto 1 -1 scale (15) show 1 -1 scale 383 107 moveto 1 -1 scale (22) show 1 -1 scale 417 92 moveto 1 -1 scale (Ia,Ib) show 1 -1 scale 283 662 moveto 1 -1 scale (Ia) show 1 -1 scale 272 588 moveto 1 -1 scale (Ib) show 1 -1 scale 439 196 moveto 1 -1 scale (Ia,Ib) show 1 -1 scale 315 671 moveto 1 -1 scale (5) show 1 -1 scale 303 573 moveto 1 -1 scale (7) show 1 -1 scale 199 789 moveto 1 -1 scale (Figure 8: The backbone database) show 1 -1 scale 204 340 moveto 1 -1 scale (Figure 7: Area 1's Database) show 1 -1 scale 319 237 moveto 1 -1 scale (19) show 1 -1 scale 346 234 moveto 1 -1 scale (18) show 1 -1 scale 339 219 moveto 1 -1 scale (20) show 1 -1 scale 354 210 moveto 1 -1 scale (16) show 1 -1 scale 362 190 moveto 1 -1 scale (20) show 1 -1 scale 334 183 moveto 1 -1 scale (14) show 1 -1 scale 390 146 moveto 1 -1 scale (26) show 1 -1 scale 376 92 moveto 1 -1 scale (14) show 1 -1 scale 358 89 moveto 1 -1 scale (8) show 1 -1 scale 464 318 moveto 1 -1 scale (RT7) show 1 -1 scale 280 226 moveto 1 -1 scale (2) show 1 -1 scale 166 183 moveto 1 -1 scale (3) show 1 -1 scale 293 147 moveto 1 -1 scale (1) show 1 -1 scale 267 164 moveto 1 -1 scale (1) show 1 -1 scale 237 166 moveto 1 -1 scale (1) show 1 -1 scale 217 118 moveto 1 -1 scale (1) show 1 -1 scale 169 103 moveto 1 -1 scale (3) show 1 -1 scale 304 110 moveto 1 -1 scale (RT4) show 1 -1 scale 269 274 moveto 1 -1 scale (N4) show 1 -1 scale 284 177 moveto 1 -1 scale (RT3) show 1 -1 scale 260 118 moveto 1 -1 scale (N3) show 1 -1 scale 194 187 moveto 1 -1 scale (RT2) show 1 -1 scale 194 78 moveto 1 -1 scale (RT1) show 1 -1 scale 120 171 moveto 1 -1 scale (N2) show 1 -1 scale 121 93 moveto 1 -1 scale (N1) show 1 -1 scale 354 268 moveto 1 -1 scale (N9-N11,H1) show 1 -1 scale 386 245 moveto 1 -1 scale (N8) show 1 -1 scale 388 229 moveto 1 -1 scale (N7) show 1 -1 scale 387 211 moveto 1 -1 scale (N6) show 1 -1 scale 404 186 moveto 1 -1 scale (RT7) show 1 -1 scale 380 173 moveto 1 -1 scale (RT5) show 1 -1 scale 434 160 moveto 1 -1 scale (N9-N11,H1) show 1 -1 scale 446 135 moveto 1 -1 scale (N8) show 1 -1 scale 428 120 moveto 1 -1 scale (N7) show 1 -1 scale 441 107 moveto 1 -1 scale (N6) show 1 -1 scale 424 76 moveto 1 -1 scale (RT7) show 1 -1 scale 388 66 moveto 1 -1 scale (RT5) show 1 -1 scale 78 269 moveto 1 -1 scale (N12) show 1 -1 scale 105 250 moveto 1 -1 scale (N13) show 1 -1 scale 145 256 moveto 1 -1 scale (N14) show 1 -1 scale 112 285 moveto 1 -1 scale (8) show 1 -1 scale 130 280 moveto 1 -1 scale (8) show 1 -1 scale 144 296 moveto 1 -1 scale (8) show 1 -1 scale 140 317 moveto 1 -1 scale (RT5) show 1 -1 scale 513 291 moveto 1 -1 scale (N15) show 1 -1 scale 497 274 moveto 1 -1 scale (2) show 1 -1 scale 511 313 moveto 1 -1 scale (9) show 1 -1 scale 523 256 moveto 1 -1 scale (N12) show 1 -1 scale 492 609 moveto 1 -1 scale (N15) show 1 -1 scale 489 574 moveto 1 -1 scale (N12) show 1 -1 scale 185 520 moveto 1 -1 scale (RT3) show 1 -1 scale 224 447 moveto 1 -1 scale (RT4) show 1 -1 scale 390 462 moveto 1 -1 scale (RT5) show 1 -1 scale 311 518 moveto 1 -1 scale (RT6) show 1 -1 scale 429 627 moveto 1 -1 scale (RT7) show 1 -1 scale 362 674 moveto 1 -1 scale (RT10) show 1 -1 scale 163 735 moveto 1 -1 scale (RT11) show 1 -1 scale 363 608 moveto 1 -1 scale (5) show 1 -1 scale 439 521 moveto 1 -1 scale (6) show 1 -1 scale 408 548 moveto 1 -1 scale (6) show 1 -1 scale 300 446 moveto 1 -1 scale (8) show 1 -1 scale 302 484 moveto 1 -1 scale (8) show 1 -1 scale 336 494 moveto 1 -1 scale (6) show 1 -1 scale 373 507 moveto 1 -1 scale (7) show 1 -1 scale 316 611 moveto 1 -1 scale (7) show 1 -1 scale 254 555 moveto 1 -1 scale (6) show 1 -1 scale 253 511 moveto 1 -1 scale (8) show 1 -1 scale 476 592 moveto 1 -1 scale (2) show 1 -1 scale 490 631 moveto 1 -1 scale (9) show 1 -1 scale 394 441 moveto 1 -1 scale (8) show 1 -1 scale 380 425 moveto 1 -1 scale (8) show 1 -1 scale 362 430 moveto 1 -1 scale (8) show 1 -1 scale 395 401 moveto 1 -1 scale (N14) show 1 -1 scale 328 414 moveto 1 -1 scale (N12) show 1 -1 scale 357 393 moveto 1 -1 scale (N13) show 1 -1 scale 160 425 moveto 1 -1 scale (N1) show 1 -1 scale 144 446 moveto 1 -1 scale (N2) show 1 -1 scale 137 467 moveto 1 -1 scale (N3) show 1 -1 scale 131 490 moveto 1 -1 scale (N4) show 1 -1 scale 90 510 moveto 1 -1 scale (N1) show 1 -1 scale 84 530 moveto 1 -1 scale (N2) show 1 -1 scale 86 551 moveto 1 -1 scale (N3) show 1 -1 scale 90 575 moveto 1 -1 scale (N4) show 1 -1 scale 90 643 moveto 1 -1 scale (N9-N11,H1) show 1 -1 scale 67 728 moveto 1 -1 scale (N8) show 1 -1 scale 426 738 moveto 1 -1 scale (N8) show 1 -1 scale 458 697 moveto 1 -1 scale (N8) show 1 -1 scale 424 698 moveto 1 -1 scale (N6) show 1 -1 scale 417 717 moveto 1 -1 scale (N7) show 1 -1 scale 514 701 moveto 1 -1 scale (N6) show 1 -1 scale 486 705 moveto 1 -1 scale (N7) show 1 -1 scale 245 684 moveto 1 -1 scale (3) show 1 -1 scale 269 712 moveto 1 -1 scale (2) show 1 -1 scale 201 437 moveto 1 -1 scale (4) show 1 -1 scale 185 446 moveto 1 -1 scale (4) show 1 -1 scale 176 459 moveto 1 -1 scale (1) show 1 -1 scale 171 473 moveto 1 -1 scale (3) show 1 -1 scale 141 514 moveto 1 -1 scale (4) show 1 -1 scale 125 526 moveto 1 -1 scale (4) show 1 -1 scale 120 540 moveto 1 -1 scale (1) show 1 -1 scale 129 553 moveto 1 -1 scale (2) show 1 -1 scale 155 680 moveto 1 -1 scale (1) show 1 -1 scale 114 718 moveto 1 -1 scale (2) show 1 -1 scale 384 724 moveto 1 -1 scale (3) show 1 -1 scale 401 687 moveto 1 -1 scale (1) show 1 -1 scale 401 702 moveto 1 -1 scale (5) show 1 -1 scale 500 662 moveto 1 -1 scale (1) show 1 -1 scale 488 670 moveto 1 -1 scale (5) show 1 -1 scale 469 668 moveto 1 -1 scale (4) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1710([Page)m 11(16])m @eop 17 @bop0 17 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (advertisements)s 10(that)m 11(Router)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4)m 9(will)m 11(make)m 10(into)m 11(Area)m 10 r 49 c 11(are)m 10(shown)m 10(in)m 11 r 84 c -2(able)m 9(6.)m 14(Note)m 11(that)m 10 r 84 c -2(able)m 10 r 54 c 10(assumes)m 10(that)m 0 245 p (an)s 10(area)m 11(range)m 10(has)m 11(been)m 10(con\014gured)m 10(for)m 11(the)m 10(backbone)m 11(which)m 10(groups)m 11(Ia)m 10(and)m 10(Ib)m 11(into)m 10 r 97 c 11(single)m 10(advertisement.)m 655 350 p 641 2 ru 654 400 p 2 50 ru t-ita.300 @sf 681 385 p (Destination)s 900 400 p 2 50 ru 926 385 p (RT3)s 10(adv)m -2 r 46 c 1097 400 p 2 50 ru 1123 385 p (RT4)s 10(adv)m -2 r 46 c 1294 400 p 2 50 ru 655 402 p 641 2 ru 654 451 p 2 50 ru t-rom.300 @sf 739 437 p (Ia,Ib)s 900 451 p 2 50 ru 979 437 p (15)s 1097 451 p 2 50 ru 1176 437 p (22)s 1294 451 p 2 50 ru 654 501 p 2 50 ru 752 486 p (N6)s 900 501 p 2 50 ru 979 486 p (16)s 1097 501 p 2 50 ru 1176 486 p (15)s 1294 501 p 2 50 ru 654 551 p 2 50 ru 752 536 p (N7)s 900 551 p 2 50 ru 979 536 p (20)s 1097 551 p 2 50 ru 1176 536 p (19)s 1294 551 p 2 50 ru 654 601 p 2 50 ru 752 586 p (N8)s 900 601 p 2 50 ru 979 586 p (18)s 1097 601 p 2 50 ru 1176 586 p (18)s 1294 601 p 2 50 ru 654 651 p 2 50 ru 680 636 p (N9-N1)s -1(1,H1)m 900 651 p 2 50 ru 979 636 p (19)s 1097 651 p 2 50 ru 1176 636 p (26)s 1294 651 p 2 50 ru 654 701 p 2 50 ru 246 r 2 50 ru 197 r 2 50 ru 197 r 2 50 ru 654 750 p 2 50 ru 742 735 p 82 c -1(T5)m 900 750 p 2 50 ru 979 735 p (14)s 1097 750 p 2 50 ru 1186 735 p 56 c 1294 750 p 2 50 ru 654 800 p 2 50 ru 742 785 p 82 c -1(T7)m 900 800 p 2 50 ru 979 785 p (20)s 1097 800 p 2 50 ru 1176 785 p (14)s 1294 800 p 2 50 ru 655 802 p 641 2 ru 388 939 p 84 c -2(able)m 10(6:)m 14(Destinations)m 10(advertised)m 10(into)m 11(Area)m 10 r 49 c 11(by)m 10(Routers)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4.)m 0 1047 p (The)s 10(information)m 11(imported)m 10(into)m 11(Area)m 10 r 49 c 10(by)m 11(Routers)m 10 r 82 c -1(T3)m 9(and)m 11 r 82 c -2(T4)m 10(enables)m 10(an)m 10(internal)m 11(router)m -1 r 44 c 10(such)m 10(as)m 10 r 82 c -1(T1,)m 9(to)m 11(choose)m 10(an)m 0 1096 p (area)s 10(border)m 11(router)m 10(intelligently)m -1 r 46 c 12(Router)m 11 r 82 c -2(T1)m 10(would)m 10(use)m 11 r 82 c -2(T4)m 10(for)m 10(traf)m (\014c)s 10(to)m 10(Network)m 10(N6,)m 11 r 82 c -2(T3)m 10(for)m 10(traf)m (\014c)s 10(to)m 10(Network)m 0 1146 p (N10,)s 10(and)m 11(would)m 10(load)m 11(share)m 10(between)m 10(the)m 11(two)m 10(for)m 11(traf)m (\014c)s 9(to)m 11(Network)m 10(N8.)m 0 1213 p (Router)s 10 r 82 c -1(T1)m 9(can)m 11(also)m 10(determine)m 11(in)m 10(this)m 10(manner)m 11(the)m 10(shortest)m 11(path)m 10(to)m 10(the)m 11(AS)m 10(boundary)m 11(routers)m 10 r 82 c -1(T5)m 9(and)m 10 r 82 c -1(T7.)m 13(Then,)m 10(by)m 0 1263 p (looking)s 10(at)m 11 r 82 c -2(T5)m 10(and)m 10 r 82 c -1(T7')m -3 r 115 c 10(external)m 10(advertisements,)m 11(Router)m 10 r 82 c -1(T1)m 9(can)m 10(decide)m 11(between)m 10 r 82 c -1(T5)m 9(or)m 11 r 82 c -2(T7)m 9(when)m 11(sending)m 10(to)m 11 r 97 c 0 1313 p (destination)s 10(in)m 11(another)m 10(Autonomous)m 11(System)m 10(\(one)m 10(of)m 11(the)m 10(networks)m 11(N12-N15\).)m 0 1379 p (Note)s 10(that)m 11 r 97 c 10(failure)m 11(of)m 10(the)m 10(line)m 11(between)m 10(Routers)m 11 r 82 c -2(T6)m 10(and)m 10 r 82 c -1(T10)m 9(will)m 10(cause)m 11(the)m 10(backbone)m 11(to)m 10(become)m 10(disconnected.)m 0 1429 p (Con\014guring)s 10 r 97 c 11(virtual)m 10(link)m 11(between)m 10(Routers)m 10 r 82 c -1(T7)m 9(and)m 11 r 82 c -2(T10)m 10(will)m 10(give)m 11(the)m 10(backbone)m 10(more)m 11(connectivity)m 10(and)m 11(more)m 0 1479 p (resistance)s 10(to)m 11(such)m 10(failures.)m 14(Also,)m 11 r 97 c 10(virtual)m 10(link)m 11(between)m 10 r 82 c -1(T7)m 9(and)m 11 r 82 c -2(T10)m 9(would)m 11(allow)m 10 r 97 c 11(much)m 10(shorter)m 11(path)m 10(between)m 10(the)m 0 1529 p (third)s 10(area)m 11(\(containing)m 10(N9\))m 11(and)m 10(the)m 10(router)m 11 r 82 c -2(T7,)m 10(which)m 10(is)m 11(advertising)m 10 r 97 c 10(good)m 11(route)m 10(to)m 11(external)m 10(Network)m 11(N12.)m t-bol.360 @sf 0 1664 p (3.5)s 50(IP)m 12(subnetting)m 13(support)m t-rom.300 @sf 0 1759 p (OSPF)s 10(attaches)m 11(an)m 10(IP)m 11(address)m 10(mask)m 10(to)m 11(each)m 10(advertised)m 11(route.)m 14(The)m 10(mask)m 10(indicates)m 11(the)m 10(range)m 11(of)m 10(addresses)m 11(being)m 0 1808 p (described)s 10(by)m 11(the)m 10(particular)m 11(route.)m 14(For)m 10(example,)m 10 r 97 c 11(summary)m 10(advertisement)m 11(for)m 10(the)m 10(destination)m c-med.300 @sf 11(128.185.0.0)m t-rom.300 @sf 10(with)m 11 r 97 c 0 1858 p (mask)s 10(of)m c-med.300 @sf 11(0xffff0000)m t-rom.300 @sf 10(actually)m 11(is)m 10(describing)m 10 r 97 c 11(single)m 10(route)m 11(to)m 10(the)m 11(collection)m 10(of)m 10(destinations)m c-med.300 @sf 11(128.185.0.0)m 25 r 45 c 0 1908 p (128.185.255.255)s t-rom.300 @sf 46 c 14(Similarly)m -2 r 44 c 10(host)m 10(routes)m 10(are)m 11(always)m 10(advertised)m 11(with)m 10 r 97 c 11(mask)m 10(of)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 44 c 11(indicating)m 10(the)m 0 1958 p (presence)s 10(of)m 11(only)m 10 r 97 c 11(single)m 10(destination.)m 0 2025 p (Including)s 10(the)m 11(mask)m 10(with)m 11(each)m 10(advertised)m 10(destination)m 11(enables)m 10(the)m 11(implementation)m 10(of)m 11(what)m 10(is)m 10(commonly)m 11(referred)m 10(to)m 11(as)m 0 2074 p (variable-length)s 10(subnetting.)m 14(This)m 11(means)m 10(that)m 11 r 97 c 10(single)m 10(IP)m 11(class)m 10(A,)m 11(B,)m 10(or)m 10 r 67 c 11(network)m 10(number)m 11(can)m 10(be)m 11(broken)m 10(up)m 10(into)m 11(many)m 0 2124 p (subnets)s 10(of)m 11(various)m 10(sizes.)m 14(For)m 11(example,)m 10(the)m 10(network)m c-med.300 @sf 11(128.185.0.0)m t-rom.300 @sf 10(could)m 11(be)m 10(broken)m 10(up)m 11(into)m 10(62)m 11(variable-sized)m 0 2174 p (subnets:)s 14(15)m 10(subnets)m 11(of)m 10(size)m 11(4K,)m 10(15)m 10(subnets)m 11(of)m 10(size)m 11(256,)m 10(and)m 10(32)m 11(subnets)m 10(of)m 11(size)m 10(8.)m 14 r 84 c -2(able)m 10 r 55 c 10(shows)m 10(some)m 11(of)m 10(the)m 11(resulting)m 0 2224 p (network)s 10(addresses)m 11(together)m 10(with)m 11(their)m 10(masks:)m 0 2300 p (There)s 10(are)m 11(many)m 10(possible)m 11(ways)m 10(of)m 10(dividing)m 11(up)m 10 r 97 c 11(class)m 10(A,)m 11(B,)m 10(and)m 10 r 67 c 11(network)m 10(into)m 11(variable)m 10(sized)m 10(subnets.)m 14(The)m 11(precise)m 0 2349 p (procedure)s 10(for)m 11(doing)m 10(so)m 10(is)m 11(beyond)m 10(the)m 10(scope)m 11(of)m 10(this)m 10(speci\014cation.)m 14(This)m 11(speci\014cation)m 10(however)m 10(establishes)m 11(the)m 10(following)m 0 2399 p (guideline:)s 14(When)m 10(an)m 11(IP)m 10(packet)m 11(is)m 10(forwarded,)m 10(it)m 11(is)m 10(always)m 11(forwarded)m 10(to)m 10(the)m 11(network)m 10(that)m 11(is)m 10(the)m 11(best)m 10(match)m 10(for)m 11(the)m 0 2449 p (packet')s -1 r 115 c 9(destination.)m 14(Here)m 10(best)m 11(match)m 10(is)m 11(synonymous)m 10(with)m 11(the)m 10(longest)m 10(or)m 11(most)m 10(speci\014c)m 11(match.)m 13(For)m 11(example,)m 10(the)m 0 2499 p (default)s 10(route)m 11(with)m 10(destination)m 11(of)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 10(and)m 11(mask)m c-med.300 @sf 10(0x00000000)m t-rom.300 @sf 11(is)m 10(always)m 11 r 97 c 10(match)m 10(for)m 11(every)m 10(IP)m 11(destination.)m 14 r 89 c -4(et)m 0 2549 p (it)s 10(is)m 11(always)m 10(less)m 11(speci\014c)m 10(than)m 10(any)m 11(other)m 10(match.)m 14(Subnet)m 11(masks)m 10(must)m 10(be)m 11(assigned)m 10(so)m 11(that)m 10(the)m 11(best)m 10(match)m 10(for)m 11(any)m 10(IP)m 0 2599 p (destination)s 10(is)m 11(unambiguous.)m 0 2723 p (Moy)s 1710([Page)m 11(17])m @eop 18 @bop0 18 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 520 201 p 910 2 ru 519 251 p 2 50 ru t-ita.300 @sf 555 236 p (Network)s 11(addr)m -1(ess)m 869 251 p 2 50 ru 895 236 p (IP)s 10(addr)m (ess)s 9(mask)m 1193 251 p 2 50 ru 1219 236 p (Subnet)s 10(size)m 1429 251 p 2 50 ru 520 252 p 910 2 ru 519 302 p 2 50 ru c-med.300 @sf 545 287 p (128.185.16.0)s 869 302 p 2 50 ru 907 287 p (0xfffff000)s 1193 302 p 2 50 ru t-rom.300 @sf 1286 287 p (4K)s 1429 302 p 2 50 ru 519 352 p 2 50 ru c-med.300 @sf 558 337 p (128.185.1.0)s 869 352 p 2 50 ru 907 337 p (0xffffff00)s 1193 352 p 2 50 ru t-rom.300 @sf 1280 337 p (256)s 1429 352 p 2 50 ru 519 402 p 2 50 ru c-med.300 @sf 558 387 p (128.185.0.8)s 869 402 p 2 50 ru 907 387 p (0xfffffff8)s 1193 402 p 2 50 ru t-rom.300 @sf 1301 387 p 56 c 1429 402 p 2 50 ru 520 403 p 910 2 ru 678 540 p 84 c -1(able)m 9(7:)m 14(Some)m 10(sample)m 11(subnet)m 10(sizes.)m 0 674 p (The)s 10(OSPF)m 11(area)m 10(concept)m 11(is)m 10(modelled)m 10(after)m 11(an)m 10(IP)m 11(subnetted)m 10(network.)m 14(OSPF)m 10(areas)m 11(have)m 10(been)m 11(loosely)m 10(de\014ned)m 11(to)m 10(be)m 10 r 97 c 0 724 p (collection)s 10(of)m 11(networks.)m 14(In)m 10(actuality)m -2 r 44 c 10(an)m 10(OSPF)m 11(area)m 10(is)m 11(speci\014ed)m 10(to)m 10(be)m 11 r 97 c 10(list)m 11(of)m 10(address)m 10(ranges)m 11(\(see)m 10(Section)m 11(C.2)m 10(for)m 11(more)m 0 774 p (details\).)s 14(Each)m 10(address)m 9(range)m 10(is)m 10(de\014ned)m 10(as)m 10(an)m 10([address,mask])m 10(pair)m -2 r 46 c 13(Many)m 10(separate)m 10(networks)m 10(may)m 10(then)m 9(be)m 10(contained)m 10(in)m 10 r 97 c 0 823 p (single)s 10(address)m 11(range,)m 10(just)m 11(as)m 10 r 97 c 10(subnetted)m 11(network)m 10(is)m 11(composed)m 10(of)m 11(many)m 10(separate)m 10(subnets.)m 14(Area)m 11(border)m 10(routers)m 11(then)m 0 873 p (summarize)s 10(the)m 11(area)m 10(contents)m 11(\(for)m 10(distribution)m 10(to)m 11(the)m 10(backbone\))m 11(by)m 10(advertising)m 11 r 97 c 10(single)m 10(route)m 11(for)m 10(each)m 11(address)m 10(range.)m 0 923 p (The)s 10(cost)m 11(of)m 10(the)m 11(route)m 10(is)m 10(the)m 11(minimum)m 10(cost)m 11(to)m 10(any)m 11(of)m 10(the)m 10(networks)m 11(falling)m 10(in)m 11(the)m 10(speci\014ed)m 10(range.)m 0 991 p (For)s 10(example,)m 11(an)m 10(IP)m 11(subnetted)m 10(network)m 10(can)m 11(be)m 10(con\014gured)m 11(as)m 10 r 97 c 11(single)m 10(OSPF)m 10(area.)m 14(In)m 11(that)m 10(case,)m 11(the)m 10(area)m 10(would)m 11(be)m 0 1041 p (de\014ned)s 10(as)m 11 r 97 c 10(single)m 11(address)m 10(range:)m 14 r 97 c 10(class)m 11(A,)m 10(B,)m 11(or)m 10 r 67 c 10(network)m 11(number)m 10(along)m 11(with)m 10(its)m 11(natural)m 10(IP)m 10(mask.)m 14(Inside)m 11(the)m 10(area,)m 0 1090 p (any)s 10(number)m 11(of)m 10(variable)m 11(sized)m 10(subnets)m 10(could)m 11(be)m 10(de\014ned.)m 14(External)m 11(to)m 10(the)m 10(area,)m 11 r 97 c 10(single)m 11(route)m 10(for)m 11(the)m 10(entire)m 10(subnetted)m 0 1140 p (network)s 10(would)m 11(be)m 10(distributed,)m 11(hiding)m 10(even)m 10(the)m 11(fact)m 10(that)m 11(the)m 10(network)m 11(is)m 10(subnetted)m 10(at)m 11(all.)m 14(The)m 10(cost)m 11(of)m 10(this)m 10(route)m 11(is)m 10(the)m 0 1190 p (minimum)s 10(of)m 11(the)m 10(set)m 11(of)m 10(costs)m 10(to)m 11(the)m 10(component)m 11(subnets.)m t-bol.360 @sf 0 1327 p (3.6)s 50(Supporting)m 12(stub)m 13(ar)m (eas)s t-rom.300 @sf 0 1422 p (In)s 10(some)m 11(Autonomous)m 10(Systems,)m 11(the)m 10(majority)m 10(of)m 11(the)m 10(topological)m 11(database)m 10(may)m 11(consist)m 10(of)m 10(AS)m 11(external)m 10(advertisements.)m 0 1472 p (An)s 10(OSPF)m 11(AS)m 10(external)m 11(advertisement)m 10(is)m 10(usually)m 11(\015ooded)m 10(throughout)m 11(the)m 10(entire)m 11(AS.)m 13(However)m 44 c 9(OSPF)m 11(allows)m 10(certain)m 0 1522 p (areas)s 10(to)m 10(be)m 10(con\014gured)m 10(as)m 10(\\stub)m 10(areas".)m 14(AS)m 10(external)m 10(advertisements)m 10(are)m 10(not)m 10(\015ooded)m 10(into/throughout)m 10(stub)m 10(areas;)m 10(routing)m 0 1572 p (to)s 10(AS)m 11(external)m 10(destinations)m 11(in)m 10(these)m 10(areas)m 11(is)m 10(based)m 11(on)m 10 r 97 c 11(\(per)m (-area\))s 9(default)m 11(only)m -2 r 46 c 13(This)m 10(reduces)m 11(the)m 10(topological)m 10(database)m 0 1622 p (size,)s 10(and)m 11(therefore)m 10(the)m 11(memory)m 10(requirements,)m 10(for)m 11 r 97 c 10(stub)m 11(area')m -2 r 115 c 10(internal)m 10(routers.)m 0 1689 p (In)s 10(order)m 11(to)m 10(take)m 11(advantage)m 10(of)m 10(the)m 11(OSPF)m 10(stub)m 11(area)m 10(support,)m 11(default)m 10(routing)m 10(must)m 11(be)m 10(used)m 11(in)m 10(the)m 10(stub)m 11(area.)m 14(This)m 10(is)m 0 1739 p (accomplished)s 10(as)m 11(follows.)m 14(One)m 10(or)m 11(more)m 10(of)m 10(the)m 11(stub)m 10(area')m -1 r 115 c 9(area)m 11(border)m 10(routers)m 11(must)m 10(advertise)m 10 r 97 c 11(default)m 10(route)m 11(into)m 10(the)m 0 1789 p (stub)s 10(area)m 11(via)m 10(summary)m 11(link)m 10(advertisements.)m 14(These)m 10(summary)m 11(defaults)m 10(are)m 11(\015ooded)m 10(throughout)m 10(the)m 11(stub)m 10(area,)m 11(but)m 10(no)m 0 1839 p (further)s -1 r 46 c 13(\(For)m 10(this)m 10(reason)m 11(these)m 10(defaults)m 11(pertain)m 10(only)m 11(to)m 10(the)m 10(particular)m 11(stub)m 10(area\).)m 14(These)m 10(summary)m 11(default)m 10(routes)m 11(will)m 0 1889 p (match)s 10(any)m 11(destination)m 10(that)m 11(is)m 10(not)m 10(explicitly)m 11(reachable)m 10(by)m 11(an)m 10(intra-area)m 11(or)m 10(inter)m (-area)s 10(path)m 10(\(i.e.,)m 10(AS)m 11(external)m 0 1938 p (destinations\).)s 0 2006 p (An)s 10(area)m 11(can)m 10(be)m 11(con\014gured)m 10(as)m 10(stub)m 11(when)m 10(there)m 11(is)m 10 r 97 c 11(single)m 10(exit)m 10(point)m 11(from)m 10(the)m 11(area,)m 10(or)m 10(when)m 11(the)m 10(choice)m 11(of)m 10(exit)m 11(point)m 0 2056 p (need)s 10(not)m 11(be)m 10(made)m 11(on)m 10 r 97 c 10(per)m (-external-destination)s 10(basis.)m 14(For)m 10(example,)m 11(Area)m 10 r 51 c 11(in)m 10(Figure)m 10 r 54 c 11(could)m 10(be)m 11(con\014gured)m 10(as)m 11 r 97 c 10(stub)m 0 2106 p (area,)s 10(because)m 11(all)m 10(external)m 11(traf)m (\014c)s 9(must)m 11(travel)m 10(though)m 11(its)m 10(single)m 10(area)m 11(border)m 10(router)m 11 r 82 c -2(T1)m -1(1.)m 13(If)m 10(Area)m 10 r 51 c 11(were)m 10(con\014gured)m 11(as)m 10 r 97 c 0 2155 p (stub,)s 10(Router)m 11 r 82 c -2(T1)m -1 r 49 c 9(would)m 11(advertise)m 10 r 97 c 10(default)m 11(route)m 10(for)m 11(distribution)m 10(inside)m 11(Area)m 10 r 51 c 10(\(in)m 11 r 97 c 10(summary)m 11(link)m 10(advertisement\),)m 0 2205 p (instead)s 10(of)m 11(\015ooding)m 10(the)m 11(AS)m 10(external)m 10(advertisements)m 11(for)m 10(networks)m 11(N12-N15)m 10(into/throughout)m 11(the)m 10(area.)m 0 2273 p (The)s 10(OSPF)m 11(protocol)m 10(ensures)m 11(that)m 10(all)m 10(routers)m 11(belonging)m 10(to)m 11(an)m 10(area)m 11(agree)m 10(on)m 10(whether)m 11(the)m 10(area)m 11(has)m 10(been)m 10(con\014gured)m 11(as)m 10 r 97 c 0 2323 p (stub.)s 14(This)m 10(guarantees)m 11(that)m 10(no)m 11(confusion)m 10(will)m 10(arise)m 11(in)m 10(the)m 11(\015ooding)m 10(of)m 10(AS)m 11(external)m 10(advertisements.)m 0 2390 p (There)s 10(are)m 11 r 97 c 10(couple)m 11(of)m 10(restrictions)m 10(on)m 11(the)m 10(use)m 11(of)m 10(stub)m 11(areas.)m 13 r 86 c -1(irtual)m 9(links)m 11(cannot)m 10(be)m 11(con\014gured)m 10(through)m 10(stub)m 11(areas.)m 14(In)m 0 2440 p (addition,)s 10(AS)m 11(boundary)m 10(routers)m 11(cannot)m 10(be)m 10(placed)m 11(internal)m 10(to)m 11(stub)m 10(areas.)m 0 2723 p (Moy)s 1710([Page)m 11(18])m @eop 19 @bop0 /Times-Roman /t-rom.210 ReEncodeForTeX /t-rom.210 /t-rom.210 29.166583 TeXPSmakefont def /Times-Roman /t-rom.180 ReEncodeForTeX /t-rom.180 /t-rom.180 24.999965 TeXPSmakefont def /Times-Roman /t-rom.240 ReEncodeForTeX /t-rom.240 /t-rom.240 33.333265 TeXPSmakefont def 19 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (3.7)s 50(Partitions)m 12(of)m 13(ar)m (eas)s t-rom.300 @sf 0 291 p (OSPF)s 10(does)m 11(not)m 10(actively)m 11(attempt)m 10(to)m 10(repair)m 11(area)m 10(partitions.)m 14(When)m 11(an)m 10(area)m 10(becomes)m 11(partitioned,)m 10(each)m 11(component)m 10(simply)m 0 341 p (becomes)s 10 r 97 c 11(separate)m 10(area.)m 14(The)m 11(backbone)m 10(then)m 10(performs)m 11(routing)m 10(between)m 11(the)m 10(new)m 10(areas.)m 14(Some)m 11(destinations)m 10(reachable)m 0 390 p (via)s 10(intra-area)m 11(routing)m 10(before)m 11(the)m 10(partition)m 10(will)m 11(now)m 10(require)m 11(inter)m (-area)s 9(routing.)m 0 458 p (In)s 10(the)m 11(previous)m 10(section,)m 11(an)m 10(area)m 10(was)m 11(described)m 10(as)m 11 r 97 c 10(list)m 11(of)m 10(address)m 10(ranges.)m 14(Any)m 11(particular)m 10(address)m 11(range)m 10(must)m 10(still)m 11(be)m 0 508 p (completely)s 10(contained)m 11(in)m 10 r 97 c 11(single)m 10(component)m 10(of)m 11(the)m 10(area)m 11(partition.)m 14(This)m 10(has)m 10(to)m 11(do)m 10(with)m 11(the)m 10(way)m 11(the)m 10(area)m 10(contents)m 11(are)m 0 558 p (summarized)s 10(to)m 11(the)m 10(backbone.)m 14(Also,)m 11(the)m 10(backbone)m 10(itself)m 11(must)m 10(not)m 11(partition.)m 14(If)m 10(it)m 10(does,)m 11(parts)m 10(of)m 11(the)m 10(Autonomous)m 0 608 p (System)s 10(will)m 11(become)m 10(unreachable.)m 14(Backbone)m 11(partitions)m 10(can)m 10(be)m 11(repaired)m 10(by)m 11(con\014guring)m 10(virtual)m 10(links)m 11(\(see)m 10(Section)m 11(15\).)m 0 675 p (Another)s 10(way)m 11(to)m 10(think)m 11(about)m 10(area)m 10(partitions)m 11(is)m 10(to)m 11(look)m 10(at)m 11(the)m 10(Autonomous)m 10(System)m 11(graph)m 10(that)m 11(was)m 10(introduced)m 10(in)m 0 725 p (Section)s 10(2.)m 14(Area)m 10(IDs)m 11(can)m 10(be)m 10(viewed)m 11(as)m 10(colors)m 10(for)m 11(the)m 10(graph')m -1 r 115 c 9(edges.)m t-rom.210 @sf 1106 710 p 49 c t-rom.300 @sf 1136 725 p (Each)s 11(edge)m 10(of)m 10(the)m 11(graph)m 10(connects)m 10(to)m 11 r 97 c 10(network,)m 10(or)m 0 775 p (is)s 10(itself)m 11 r 97 c 10(point-to-point)m 11(network.)m 14(In)m 10(either)m 10(case,)m 11(the)m 10(edge)m 11(is)m 10(colored)m 10(with)m 11(the)m 10(network')m -1 r 115 c 9(Area)m 11(ID.)m 0 843 p 65 c 10(group)m 11(of)m 10(edges,)m 10(all)m 10(having)m 11(the)m 10(same)m 10(color)m 44 c 9(and)m 10(interconnected)m 10(by)m 11(vertices,)m 10(represents)m 10(an)m 10(area.)m 14(If)m 11(the)m 10(topology)m 10(of)m 10(the)m 0 892 p (Autonomous)s 10(System)m 11(is)m 10(intact,)m 11(the)m 10(graph)m 10(will)m 11(have)m 10(several)m 11(regions)m 10(of)m 11(color)m -1 r 44 c 9(each)m 11(color)m 10(being)m 11 r 97 c 10(distinct)m 10(Area)m 11(ID.)m 0 960 p (When)s 10(the)m 11(AS)m 10(topology)m 11(changes,)m 10(one)m 10(of)m 11(the)m 10(areas)m 11(may)m 10(become)m 11(partitioned.)m 13(The)m 11(graph)m 10(of)m 11(the)m 10(AS)m 11(will)m 10(then)m 10(have)m 0 1010 p (multiple)s 10(regions)m 11(of)m 10(the)m 11(same)m 10(color)m 10(\(Area)m 11(ID\).)m 10(The)m 11(routing)m 10(in)m 11(the)m 10(Autonomous)m 10(System)m 11(will)m 10(continue)m 11(to)m 10(function)m 10(as)m 0 1060 p (long)s 10(as)m 11(these)m 10(regions)m 11(of)m 10(same)m 10(color)m 11(are)m 10(connected)m 11(by)m 10(the)m 11(single)m 10(backbone)m 10(region.)m 0 2520 p 780 2 ru t-rom.180 @sf 45 2547 p 49 c t-rom.240 @sf 60 2559 p (The)s 9(graph')m -1 r 115 c 8(vertices)m 9(represent)m 8(either)m 9(routers,)m 9(transit)m 9(networks,)m 9(or)m 8(stub)m 9(networks.)m 13(Since)m 8(routers)m 9(may)m 9(belong)m 9(to)m 9(multiple)m 8(areas,)m 9(it)m 9(is)m 9(not)m 9(possible)m 0 2598 p (to)s 8(color)m 9(the)m 8(graph')m -1 r 115 c 7(vertices.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(19])m @eop 20 @bop0 20 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 52 c 58(Functional)m 15(Summary)m t-rom.300 @sf 0 302 p 65 c 10(separate)m 11(copy)m 10(of)m 11(OSPF')m -2 r 115 c 10(basic)m 10(routing)m 11(algorithm)m 10(runs)m 10(in)m 11(each)m 10(area.)m 14(Routers)m 11(having)m 10(interfaces)m 10(to)m 11(multiple)m 10(areas)m 11(run)m 0 351 p (multiple)s 10(copies)m 11(of)m 10(the)m 11(algorithm.)m 14 r 65 c 10(brief)m 10(summary)m 11(of)m 10(the)m 11(routing)m 10(algorithm)m 10(follows.)m 0 415 p (When)s 10 r 97 c 11(router)m 10(starts,)m 11(it)m 10(\014rst)m 10(initializes)m 11(the)m 10(routing)m 11(protocol)m 10(data)m 11(structures.)m 13(The)m 11(router)m 10(then)m 11(waits)m 10(for)m 11(indications)m 10(from)m 0 465 p (the)s 10(lower)m (-level)s 10(protocols)m 10(that)m 11(its)m 10(interfaces)m 11(are)m 10(functional.)m 0 528 p 65 c 10(router)m 11(then)m 10(uses)m 11(the)m 10(OSPF')m -1 r 115 c 9(Hello)m 11(Protocol)m 10(to)m 10(acquire)m 11(neighbors.)m 14(The)m 10(router)m 11(sends)m 10(Hello)m 10(packets)m 11(to)m 10(its)m 11(neighbors,)m 0 578 p (and)s 10(in)m 11(turn)m 10(receives)m 11(their)m 10(Hello)m 10(packets.)m 14(On)m 11(broadcast)m 10(and)m 11(point-to-point)m 10(networks,)m 10(the)m 11(router)m 10(dynamically)m 11(detects)m 10(its)m 0 628 p (neighboring)s 10(routers)m 11(by)m 10(sending)m 11(its)m 10(Hello)m 10(packets)m 11(to)m 10(the)m 11(multicast)m 10(address)m 11(AllSPFRouters.)m 13(On)m 11(non-broadcast)m 0 678 p (networks,)s 10(some)m 11(con\014guration)m 10(information)m 11(is)m 10(necessary)m 10(in)m 11(order)m 10(to)m 11(discover)m 10(neighbors.)m 14(On)m 10(all)m 11(multi-access)m 10(networks)m 0 727 p (\(broadcast)s 10(or)m 11(non-broadcast\),)m 10(the)m 11(Hello)m 10(Protocol)m 10(also)m 11(elects)m 10 r 97 c 11(Designated)m 10(router)m 11(for)m 10(the)m 10(network.)m 0 791 p (The)s 10(router)m 11(will)m 10(attempt)m 11(to)m 10(form)m 10(adjacencies)m 11(with)m 10(some)m 11(of)m 10(its)m 11(newly)m 10(acquired)m 10(neighbors.)m 14 r 84 c -2(opological)m 10(databases)m 10(are)m 0 841 p (synchronized)s 10(between)m 11(pairs)m 10(of)m 11(adjacent)m 10(routers.)m 14(On)m 10(multi-access)m 11(networks,)m 10(the)m 11(Designated)m 10(Router)m 10(determines)m 11(which)m 0 890 p (routers)s 10(should)m 11(become)m 10(adjacent.)m 0 954 p (Adjacencies)s 10(control)m 11(the)m 10(distribution)m 11(of)m 10(routing)m 10(protocol)m 11(packets.)m 14(Routing)m 10(protocol)m 11(packets)m 10(are)m 10(sent)m 11(and)m 10(received)m 11(only)m 0 1004 p (on)s 10(adjacencies.)m 14(In)m 11(particular)m -1 r 44 c 9(distribution)m 11(of)m 10(topological)m 11(database)m 10(updates)m 11(proceeds)m 10(along)m 10(adjacencies.)m 0 1067 p 65 c 10(router)m 11(periodically)m 10(advertises)m 11(its)m 10(state,)m 10(which)m 11(is)m 10(also)m 11(called)m 10(link)m 11(state.)m 13(Link)m 11(state)m 10(is)m 11(also)m 10(advertised)m 11(when)m 10 r 97 c 10(router)m 2 r 39 c -1 r 115 c 0 1117 p (state)s 10(changes.)m 14 r 65 c 11(router)m 1 r 39 c -1 r 115 c 9(adjacencies)m 11(are)m 10(re\015ected)m 11(in)m 10(the)m 10(contents)m 11(of)m 10(its)m 11(link)m 10(state)m 11(advertisements.)m 13(This)m 11(relationship)m 0 1167 p (between)s 10(adjacencies)m 11(and)m 10(link)m 11(state)m 10(allows)m 10(the)m 11(protocol)m 10(to)m 11(detect)m 10(dead)m 11(routers)m 10(in)m 10 r 97 c 11(timely)m 10(fashion.)m 0 1230 p (Link)s 10(state)m 10(advertisements)m 10(are)m 10(\015ooded)m 10(throughout)m 10(the)m 10(area.)m 13(The)m 10(\015ooding)m 10(algorithm)m 10(is)m 10(reliable,)m 10(ensuring)m 10(that)m 10(all)m 10(routers)m 0 1280 p (in)s 10(an)m 11(area)m 10(have)m 11(exactly)m 10(the)m 10(same)m 11(topological)m 10(database.)m 14(This)m 11(database)m 10(consists)m 10(of)m 11(the)m 10(collection)m 11(of)m 10(link)m 11(state)m 0 1330 p (advertisements)s 10(received)m 11(from)m 10(each)m 11(router)m 10(belonging)m 10(to)m 11(the)m 10(area.)m 14(From)m 11(this)m 10(database)m 10(each)m 11(router)m 10(calculates)m 11 r 97 c 0 1380 p (shortest-path)s 10(tree,)m 11(with)m 10(itself)m 11(as)m 10(root.)m 14(This)m 10(shortest-path)m 11(tree)m 10(in)m 11(turn)m 10(yields)m 10 r 97 c 11(routing)m 10(table)m 11(for)m 10(the)m 11(protocol.)m t-bol.360 @sf 0 1510 p (4.1)s 50(Inter)m -1(-ar)m -1(ea)m 12 r 114 c (outing)s t-rom.300 @sf 0 1602 p (The)s 10(previous)m 11(section)m 10(described)m 11(the)m 10(operation)m 10(of)m 11(the)m 10(protocol)m 11(within)m 10 r 97 c 11(single)m 10(area.)m 14(For)m 10(intra-area)m 11(routing,)m 10(no)m 11(other)m 0 1652 p (routing)s 10(information)m 10(is)m 10(pertinent.)m 14(In)m 9(order)m 10(to)m 10(be)m 10(able)m 10(to)m 10(route)m 10(to)m 10(destinations)m 10(outside)m 10(of)m 10(the)m 10(area,)m 10(the)m 10(area)m 10(border)m 10(routers)m 0 1701 p (inject)s 10(additional)m 11(routing)m 10(information)m 11(into)m 10(the)m 10(area.)m 14(This)m 11(additional)m 10(information)m 11(is)m 10 r 97 c 10(distillation)m 11(of)m 10(the)m 11(rest)m 10(of)m 11(the)m 0 1751 p (Autonomous)s 10(System')m -1 r 115 c 10(topology)m -2 r 46 c 0 1815 p (This)s 10(distillation)m 11(is)m 10(accomplished)m 11(as)m 10(follows:)m 14(Each)m 10(area)m 11(border)m 10(router)m 11(is)m 10(by)m 10(de\014nition)m 11(connected)m 10(to)m 11(the)m 10(backbone.)m 0 1865 p (Each)s 10(area)m 10(border)m 10(router)m 10(summarizes)m 10(the)m 10(topology)m 10(of)m 10(its)m 10(attached)m 10(areas)m 10(for)m 10(transmission)m 11(on)m 10(the)m 10(backbone,)m 10(and)m 10(hence)m 10(to)m 0 1914 p (all)s 10(other)m 11(area)m 10(border)m 11(routers.)m 14(An)m 10(area)m 10(border)m 11(router)m 10(then)m 11(has)m 10(complete)m 10(topological)m 11(information)m 10(concerning)m 11(the)m 0 1964 p (backbone,)s 10(and)m 11(the)m 10(area)m 11(summaries)m 10(from)m 10(each)m 11(of)m 10(the)m 11(other)m 10(area)m 11(border)m 10(routers.)m 14(From)m 10(this)m 11(information,)m 10(the)m 11(router)m 0 2014 p (calculates)s 10(paths)m 11(to)m 10(all)m 11(destinations)m 10(not)m 10(contained)m 11(in)m 10(its)m 11(attached)m 10(areas.)m 14(The)m 10(router)m 11(then)m 10(advertises)m 11(these)m 10(paths)m 11(into)m 10(its)m 0 2064 p (attached)s 10(areas.)m 14(This)m 11(enables)m 10(the)m 11(area')m -2 r 115 c 10(internal)m 10(routers)m 11(to)m 10(pick)m 10(the)m 11(best)m 10(exit)m 11(router)m 10(when)m 10(forwarding)m 11(traf)m (\014c)s 10(to)m 0 2114 p (destinations)s 10(in)m 11(other)m 10(areas.)m t-bol.360 @sf 0 2244 p (4.2)s 50(AS)m 12(external)m 13 r 114 c (outes)s t-rom.300 @sf 0 2336 p (Routers)s 10(that)m 11(have)m 10(information)m 11(regarding)m 10(other)m 10(Autonomous)m 11(Systems)m 10(can)m 11(\015ood)m 10(this)m 11(information)m 10(throughout)m 10(the)m 11(AS.)m 0 2386 p (This)s 10(external)m 11(routing)m 10(information)m 11(is)m 10(distributed)m 10(verbatim)m 11(to)m 10(every)m 11(participating)m 10(router)m -1 r 46 c 13(There)m 10(is)m 11(one)m 10(exception:)m 0 2435 p (external)s 10(routing)m 11(information)m 10(is)m 11(not)m 10(\015ooded)m 10(into)m 11(\\stub")m 10(areas)m 11(\(see)m 10(Section)m 11(3.6\).)m 0 2499 p 84 c -2 r 111 c 9(utilize)m 11(external)m 10(routing)m 11(information,)m 10(the)m 11(path)m 10(to)m 10(all)m 11(routers)m 10(advertising)m 11(external)m 10(information)m 10(must)m 11(be)m 10(known)m 0 2549 p (throughout)s 10(the)m 11(AS)m 10(\(excepting)m 11(the)m 10(stub)m 10(areas\).)m 14(For)m 11(that)m 10(reason,)m 11(the)m 10(locations)m 10(of)m 11(these)m 10(AS)m 11(boundary)m 10(routers)m 11(are)m 0 2599 p (summarized)s 10(by)m 11(the)m 10(\(non-stub\))m 11(area)m 10(border)m 10(routers.)m 0 2723 p (Moy)s 1710([Page)m 11(20])m @eop 21 @bop0 21 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (4.3)s 50(Routing)m 12(pr)m (otocol)s 12(packets)m t-rom.300 @sf 0 285 p (The)s 10(OSPF)m 11(protocol)m 10(runs)m 11(directly)m 10(over)m 10(IP)m -3 r 44 c 9(using)m 11(IP)m 10(protocol)m 11(89.)m 13(OSPF)m 11(does)m 10(not)m 11(provide)m 10(any)m 11(explicit)m 0 334 p (fragmentation/reassembly)s 10(support.)m 14(When)m 11(fragmentation)m 10(is)m 11(necessary)m -2 r 44 c 9(IP)m 11(fragmentation/reassembly)m 10(is)m 11(used.)m 13(OSPF)m 0 384 p (protocol)s 10(packets)m 11(have)m 10(been)m 11(designed)m 10(so)m 10(that)m 11(lar)m (ge)s 10(protocol)m 10(packets)m 10(can)m 11(generally)m 10(be)m 11(split)m 10(into)m 10(several)m 11(smaller)m 0 434 p (protocol)s 10(packets.)m 14(This)m 11(practice)m 10(is)m 11(recommended;)m 10(IP)m 10(fragmentation)m 11(should)m 10(be)m 11(avoided)m 10(whenever)m 10(possible.)m 0 496 p (Routing)s 10(protocol)m 11(packets)m 10(should)m 11(always)m 10(be)m 10(sent)m 11(with)m 10(the)m 11(IP)m 10 r 84 c (OS)s 10(\014eld)m 10(set)m 11(to)m 10(0.)m 14(If)m 10(at)m 11(all)m 10(possible,)m 11(routing)m 10(protocol)m 0 545 p (packets)s 10(should)m 11(be)m 10(given)m 11(preference)m 10(over)m 10(regular)m 11(IP)m 10(data)m 11(traf)m (\014c,)s 9(both)m 11(when)m 10(being)m 11(sent)m 10(and)m 10(received.)m 14(As)m 11(an)m 10(aid)m 11(to)m 0 595 p (accomplishing)s 10(this,)m 11(OSPF)m 10(protocol)m 11(packets)m 10(should)m 10(have)m 11(their)m 10(IP)m 11(precedence)m 10(\014eld)m 11(set)m 10(to)m 10(the)m 11(value)m 10(Internetwork)m 0 645 p (Control)s 10(\(see)m 11([RFC)m 10(791]\).)m 0 707 p (All)s 10(OSPF)m 10(protocol)m 10(packets)m 11(share)m 10 r 97 c 10(common)m 10(protocol)m 10(header)m 10(that)m 11(is)m 10(described)m 10(in)m 10(Appendix)m 10(A.)m 10(The)m 11(OSPF)m 10(packet)m 10(types)m 0 756 p (are)s 10(listed)m 11(below)m 10(in)m 11 r 84 c -2(able)m 9(8.)m 14(Their)m 10(formats)m 11(are)m 10(also)m 11(described)m 10(in)m 11(Appendix)m 10(A.)m 436 857 p 1078 2 ru 435 907 p 2 50 ru t-ita.300 @sf 461 892 p 84 c -2(ype)m 563 907 p 2 50 ru 589 892 p (Packet)s 10(name)m 970 907 p 2 50 ru 996 892 p (Pr)s -1(otocol)m 10(function)m 1513 907 p 2 50 ru 436 908 p 1078 2 ru 435 958 p 2 50 ru t-rom.300 @sf 490 943 p 49 c 563 958 p 2 50 ru 589 943 p (Hello)s 970 958 p 2 50 ru 996 943 p (Discover/maintain)s 10(neighbors)m 1513 958 p 2 50 ru 435 1008 p 2 50 ru 490 993 p 50 c 563 1008 p 2 50 ru 589 993 p (Database)s 10(Description)m 970 1008 p 2 50 ru 996 993 p (Summarize)s 10(database)m 11(contents)m 1513 1008 p 2 50 ru 435 1058 p 2 50 ru 490 1043 p 51 c 563 1058 p 2 50 ru 589 1043 p (Link)s 10(State)m 11(Request)m 970 1058 p 2 50 ru 996 1043 p (Database)s 10(download)m 1513 1058 p 2 50 ru 435 1108 p 2 50 ru 490 1093 p 52 c 563 1108 p 2 50 ru 589 1093 p (Link)s 10(State)m 11(Update)m 970 1108 p 2 50 ru 996 1093 p (Database)s 10(update)m 1513 1108 p 2 50 ru 435 1157 p 2 50 ru 490 1143 p 53 c 563 1157 p 2 50 ru 589 1143 p (Link)s 10(State)m 11(Ack)m 970 1157 p 2 50 ru 996 1143 p (Flooding)s 10(acknowledgment)m 1513 1157 p 2 50 ru 436 1159 p 1078 2 ru 737 1296 p 84 c -2(able)m 9(8:)m 14(OSPF)m 11(packet)m 10(types.)m 0 1399 p (OSPF')s -1 r 115 c 9(Hello)m 11(protocol)m 10(uses)m 10(Hello)m 11(packets)m 10(to)m 11(discover)m 10(and)m 10(maintain)m 11(neighbor)m 10(relationships.)m 14(The)m 11(Database)m 0 1449 p (Description)s 10(and)m 11(Link)m 10(State)m 11(Request)m 10(packets)m 10(are)m 11(used)m 10(in)m 11(the)m 10(forming)m 11(of)m 10(adjacencies.)m 14(OSPF')m -1 r 115 c 9(reliable)m 10(update)m 0 1499 p (mechanism)s 10(is)m 11(implemented)m 10(by)m 11(the)m 10(Link)m 10(State)m 11(Update)m 10(and)m 11(Link)m 10(State)m 11(Acknowledgment)m 10(packets.)m 0 1560 p (Each)s 10(Link)m 10(State)m 10(Update)m 11(packet)m 10(carries)m 10 r 97 c 10(set)m 10(of)m 10(new)m 10(link)m 11(state)m 10(advertisements)m 10(one)m 10(hop)m 10(further)m 10(away)m 10(from)m 10(their)m 11(point)m 10(of)m 0 1610 p (origination.)s 14 r 65 c 10(single)m 11(Link)m 10(State)m 11(Update)m 10(packet)m 10(may)m 11(contain)m 10(the)m 11(link)m 10(state)m 10(advertisements)m 11(of)m 10(several)m 11(routers.)m 14(Each)m 0 1660 p (advertisement)s 10(is)m 11(tagged)m 10(with)m 11(the)m 10(ID)m 10(of)m 11(the)m 10(originating)m 11(router)m 10(and)m 11 r 97 c 10(checksum)m 10(of)m 11(its)m 10(link)m 11(state)m 10(contents.)m 14(The)m 10(\014ve)m 0 1710 p (dif)s (ferent)s 10(types)m 10(of)m 10(OSPF)m 11(link)m 10(state)m 11(advertisements)m 10(are)m 11(listed)m 10(below)m 10(in)m 11 r 84 c -2(able)m 9(9.)m 0 1780 p (As)s 10(mentioned)m 11(above,)m 10(OSPF)m 11(routing)m 10(packets)m 10(\(with)m 11(the)m 10(exception)m 11(of)m 10(Hellos\))m 11(are)m 10(sent)m 10(only)m 11(over)m 10(adjacencies.)m 14(Note)m 11(that)m 0 1830 p (this)s 10(means)m 11(that)m 10(all)m 11(OSPF)m 10(protocol)m 10(packets)m 11(travel)m 10 r 97 c 11(single)m 10(IP)m 11(hop,)m 10(except)m 10(those)m 11(that)m 10(are)m 11(sent)m 10(over)m 10(virtual)m 11(adjacencies.)m 0 1880 p (The)s 10(IP)m 11(source)m 10(address)m 11(of)m 10(an)m 10(OSPF)m 11(protocol)m 10(packet)m 11(is)m 10(one)m 11(end)m 10(of)m 10 r 97 c 11(router)m 10(adjacency)m -1 r 44 c 9(and)m 10(the)m 11(IP)m 10(destination)m 11(address)m 10(is)m 0 1930 p (either)s 10(the)m 11(other)m 10(end)m 11(of)m 10(the)m 10(adjacency)m 11(or)m 10(an)m 11(IP)m 10(multicast)m 11(address.)m t-bol.360 @sf 0 2058 p (4.4)s 50(Basic)m 12(implementation)m 13 r 114 c (equir)s -1(ements)m t-rom.300 @sf 0 2147 p (An)s 10(implementation)m 11(of)m 10(OSPF)m 11(requires)m 10(the)m 10(following)m 11(pieces)m 10(of)m 11(system)m 10(support:)m t-bol.300 @sf 0 2236 p 84 c (imers)s t-rom.300 @sf 20 r 84 c -2(wo)m 10(dif)m (ferent)s 9(kind)m 11(of)m 10(timers)m 10(are)m 11(required.)m 14(The)m 10(\014rst)m 11(kind,)m 10(called)m 10(single)m 11(shot)m 10(timers,)m 11(\014re)m 10(once)m 10(and)m 11(cause)m 10 r 97 c 104 2286 p (protocol)s 10(event)m 11(to)m 10(be)m 10(processed.)m 14(The)m 11(second)m 10(kind,)m 11(called)m 10(interval)m 10(timers,)m 11(\014re)m 10(at)m 11(continuous)m 10(intervals.)m 14(These)m 10(are)m 104 2336 p (used)s 10(for)m 11(the)m 10(sending)m 10(of)m 11(packets)m 10(at)m 11(regular)m 10(intervals.)m 14 r 65 c 10(good)m 11(example)m 10(of)m 11(this)m 10(is)m 10(the)m 11(regular)m 10(broadcast)m 11(of)m 10(Hello)m 104 2386 p (packets)s 10(\(on)m 11(broadcast)m 10(networks\).)m 14(The)m 10(granularity)m 11(of)m 10(both)m 11(kinds)m 10(of)m 10(timers)m 11(is)m 10(one)m 11(second.)m 104 2449 p (Interval)s 10(timers)m 11(should)m 10(be)m 10(implemented)m 11(to)m 10(avoid)m 11(drift.)m 14(In)m 10(some)m 10(router)m 11(implementations,)m 10(packet)m 11(processing)m 10(can)m 104 2499 p (af)s (fect)s 9(timer)m 11(execution.)m 14(When)m 10(multiple)m 11(routers)m 10(are)m 10(attached)m 11(to)m 10 r 97 c 11(single)m 10(network,)m 10(all)m 11(doing)m 10(broadcasts,)m 11(this)m 10(can)m 104 2549 p (lead)s 10(to)m 11(the)m 10(synchronization)m 10(of)m 11(routing)m 10(packets)m 11(\(which)m 10(should)m 11(be)m 10(avoided\).)m 14(If)m 10(timers)m 11(cannot)m 10(be)m 10(implemented)m 11(to)m 104 2599 p (avoid)s 10(drift,)m 11(small)m 10(random)m 10(amounts)m 11(should)m 10(be)m 11(added)m 10(to/subtracted)m 11(from)m 10(the)m 10(timer)m 11(interval)m 10(at)m 11(each)m 10(\014ring.)m 0 2723 p (Moy)s 1710([Page)m 11(21])m @eop 22 @bop0 22 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 113 201 p 1725 2 ru 112 259 p 2 59 ru t-ita.300 @sf 138 236 p (LS)s 10(type)m 312 259 p 2 59 ru 337 236 p (Advertisement)s 11(name)m 737 259 p 2 59 ru 762 236 p (Advertisement)s 11(description)m 1836 259 p 2 59 ru 113 261 p 1725 2 ru 112 420 p 2 159 ru t-rom.300 @sf 138 296 p 49 c 312 420 p 2 159 ru 337 296 p (Router)s 181(links)m 337 346 p (advertisements)s 737 420 p 2 159 ru 762 296 p (Originated)s 19(by)m 18(all)m 19(routers.)m 38(This)m 18(advertisement)m 18(describes)m 19(the)m 762 346 p (collected)s 15(states)m 14(of)m 15(the)m 14(router)m 2 r 39 c -1 r 115 c 13(interfaces)m 15(to)m 14(an)m 15(area.)m 26(Flooded)m 762 396 p (throughout)s 11 r 97 c 10(single)m 11(area)m 10(only)m -2 r 46 c 1836 420 p 2 159 ru 113 421 p 1725 2 ru 112 580 p 2 159 ru 138 456 p 50 c 312 580 p 2 159 ru 337 456 p (Network)s 149(links)m 337 506 p (advertisements)s 737 580 p 2 159 ru 762 456 p (Originated)s 9(for)m 9(multi-access)m 8(networks)m 9(by)m 9(the)m 8(Designated)m 9(Router)m -1 r 46 c 762 506 p (This)s 11(advertisement)m 11(contains)m 11(the)m 11(list)m 11(of)m 11(routers)m 11(connected)m 11(to)m 11(the)m 762 556 p (network.)s 14(Flooded)m 11(throughout)m 10 r 97 c 10(single)m 11(area)m 10(only)m -1 r 46 c 1836 580 p 2 159 ru 113 581 p 1725 2 ru 112 889 p 2 308 ru 138 616 p (3,4)s 312 889 p 2 308 ru 337 616 p (Summary)s 149(link)m 337 666 p (advertisements)s 737 889 p 2 308 ru 762 616 p (Originated)s 22(by)m 23(area)m 22(border)m 22(routers,)m 25(and)m 22(\015ooded)m 22(throughout)m 762 666 p (the)s 25(advertisement')m -1 r 115 c 24(associated)m 25(area.)m 58(Each)m 25(summary)m 25(link)m 762 716 p (advertisement)s 19(describes)m 19 r 97 c 19(route)m 19(to)m 19 r 97 c 19(destination)m 19(outside)m 19(the)m 762 766 p (area,)s 19(yet)m 16(still)m 17(inside)m 17(the)m 17(AS)m 17(\(i.e.,)m 18(an)m 17(inter)m (-area)s 16(route\).)m 33 r 84 c -2(ype)m 762 815 p 51 c 29(advertisements)m 28(describe)m 29(routes)m 28(to)m 29(networks.)m 68 r 84 c -2(ype)m 28 r 52 c 762 865 p (advertisements)s 11(describe)m 10(routes)m 11(to)m 10(AS)m 10(boundary)m 11(routers.)m 1836 889 p 2 308 ru 113 891 p 1725 2 ru 112 1141 p 2 250 ru 138 926 p 53 c 312 1141 p 2 250 ru 337 926 p (AS)s 62(external)m 61(link)m 337 976 p (advertisements)s 737 1141 p 2 250 ru 762 926 p (Originated)s 18(by)m 18(AS)m 17(boundary)m 18(routers,)m 19(and)m 18(\015ooded)m 18(throughout)m 762 976 p (the)s 12(AS.)m 12(Each)m 12(AS)m 12(external)m 12(link)m 12(advertisement)m 11(describes)m 12 r 97 c 12(route)m 762 1025 p (to)s 23 r 97 c 22(destination)m 23(in)m 22(another)m 23(Autonomous)m 23(System.)m 50(Default)m 762 1075 p (routes)s 16(for)m 17(the)m 16(AS)m 16(can)m 16(also)m 16(be)m 16(described)m 16(by)m 17(AS)m 16(external)m 16(link)m 762 1125 p (advertisements.)s 1836 1141 p 2 250 ru 113 1142 p 1725 2 ru 634 1279 p 84 c -1(able)m 9(9:)m 14(OSPF)m 10(link)m 11(state)m 10(advertisements.)m t-bol.300 @sf 0 1399 p (IP)s 10(multicast)m t-rom.300 @sf 21(Certain)m 11(OSPF)m 10(packets)m 10(take)m 11(the)m 10(form)m 11(of)m 10(IP)m 11(multicast)m 10(datagrams.)m 14(Support)m 10(for)m 11(receiving)m 10(and)m 10(sending)m 11(IP)m 104 1449 p (multicast)s 10(datagrams,)m 11(along)m 10(with)m 10(the)m 11(appropriate)m 10(lower)m (-level)s 10(protocol)m 10(support,)m 11(is)m 10(required.)m 14(The)m 10(IP)m 11(multicast)m 104 1499 p (datagrams)s 10(used)m 11(by)m 10(OSPF)m 10(never)m 11(travel)m 10(more)m 11(than)m 10(one)m 11(hop.)m 13(For)m 11(this)m 10(reason,)m 11(the)m 10(ability)m 10(to)m 11(forward)m 10(IP)m 11(multicast)m 104 1549 p (datagrams)s 10(is)m 11(not)m 10(required.)m 14(For)m 10(information)m 11(on)m 10(IP)m 11(multicast,)m 10(see)m 10([RFC)m 11 r 49 c -1 r 49 c -1(12].)m t-bol.300 @sf 0 1629 p 86 c -3(ariable-length)m 10(subnet)m 10(support)m t-rom.300 @sf 21(The)m 10(router)m 2 r 39 c -2 r 115 c 10(IP)m 10(protocol)m 11(support)m 10(must)m 11(include)m 10(the)m 10(ability)m 11(to)m 10(divide)m 11 r 97 c 10(single)m 10(IP)m 11(class)m 104 1679 p (A,)s 10(B,)m 11(or)m 10 r 67 c 10(network)m 11(number)m 10(into)m 11(many)m 10(subnets)m 11(of)m 10(various)m 10(sizes.)m 14(This)m 11(is)m 10(commonly)m 10(called)m 11(variable-length)m 104 1729 p (subnetting;)s 10(see)m 11(Section)m 10(3.5)m 10(for)m 11(details.)m t-bol.300 @sf 0 1809 p (IP)s 10(supernetting)m 11(support)m t-rom.300 @sf 21(The)m 10(router)m 2 r 39 c -2 r 115 c 10(IP)m 10(protocol)m 11(support)m 10(must)m 10(include)m 11(the)m 10(ability)m 11(to)m 10(aggregate)m 10(contiguous)m 104 1859 p (collections)s 10(of)m 11(IP)m 10(class)m 10(A,)m 11(B,)m 10(and)m 11 r 67 c 10(networks)m 11(into)m 10(lar)m (ger)s 10(quantities)m 10(called)m 10(supernets.)m 14(Supernetting)m 11(has)m 10(been)m 104 1909 p (proposed)s 10(as)m 11(one)m 10(way)m 10(to)m 11(improve)m 10(the)m 11(scaling)m 10(of)m 11(IP)m 10(routing)m 10(in)m 11(the)m 10(worldwide)m 11(Internet.)m 13(For)m 11(more)m 10(information)m 11(on)m 104 1959 p (IP)s 10(supernetting,)m 11(see)m 10([RFC)m 10(1519].)m t-bol.300 @sf 0 2039 p (Lower)s -1(-level)m 10(pr)m (otocol)s 10(support)m t-rom.300 @sf 20(The)m 11(lower)m 10(level)m 11(protocols)m 10(referred)m 10(to)m 11(here)m 10(are)m 11(the)m 10(network)m 10(access)m 11(protocols,)m 10(such)m 11(as)m 104 2089 p (the)s 10(Ethernet)m 11(data)m 10(link)m 10(layer)m -1 r 46 c 13(Indications)m 10(must)m 11(be)m 10(passed)m 11(from)m 10(these)m 11(protocols)m 10(to)m 10(OSPF)m 11(as)m 10(the)m 11(network)m 10(interface)m 104 2139 p (goes)s 10(up)m 11(and)m 10(down.)m 14(For)m 10(example,)m 11(on)m 10(an)m 11(ethernet)m 10(it)m 10(would)m 11(be)m 10(valuable)m 11(to)m 10(know)m 10(when)m 11(the)m 10(ethernet)m 11(transceiver)m 104 2189 p (cable)s 10(becomes)m 11(unplugged.)m t-bol.300 @sf 0 2269 p (Non-br)s (oadcast)s 10(lower)m -1(-level)m 10(pr)m (otocol)s 9(support)m t-rom.300 @sf 21(Remember)m 10(that)m 11(non-broadcast)m 10(networks)m 11(are)m 10(multi-access)m 10(networks)m 104 2319 p (such)s 10(as)m 11 r 97 c 10(X.25)m 10(PDN.)m 11(On)m 10(these)m 11(networks,)m 10(the)m 11(Hello)m 10(Protocol)m 10(can)m 11(be)m 10(aided)m 11(by)m 10(providing)m 10(an)m 11(indication)m 10(to)m 11(OSPF)m 104 2369 p (when)s 10(an)m 11(attempt)m 10(is)m 10(made)m 11(to)m 10(send)m 11 r 97 c 10(packet)m 11(to)m 10 r 97 c 10(dead)m 11(or)m 10(non-existent)m 11(router)m -2 r 46 c 13(For)m 11(example,)m 10(on)m 10(an)m 11(X.25)m 10(PDN)m 11 r 97 c 104 2418 p (dead)s 10(neighboring)m 11(router)m 10(may)m 10(be)m 11(indicated)m 10(by)m 11(the)m 10(reception)m 11(of)m 10 r 97 c 10(X.25)m 11(clear)m 10(with)m 11(an)m 10(appropriate)m 10(cause)m 11(and)m 104 2468 p (diagnostic,)s 10(and)m 11(this)m 10(information)m 10(would)m 11(be)m 10(passed)m 11(to)m 10(OSPF)m -2 r 46 c t-bol.300 @sf 0 2549 p (List)s 10(manipulation)m 11(primitives)m t-rom.300 @sf 21(Much)m 10(of)m 10(the)m 11(OSPF)m 10(functionality)m 11(is)m 10(described)m 11(in)m 10(terms)m 10(of)m 11(its)m 10(operation)m 11(on)m 10(lists)m 10(of)m 11(link)m 104 2599 p (state)s 10(advertisements.)m 14(For)m 10(example,)m 11(the)m 10(collection)m 11(of)m 10(advertisements)m 11(that)m 10(will)m 10(be)m 11(retransmitted)m 10(to)m 11(an)m 10(adjacent)m 0 2723 p (Moy)s 1710([Page)m 11(22])m @eop 23 @bop0 23 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 104 195 p (router)s 10(until)m 11(acknowledged)m 10(are)m 10(described)m 11(as)m 10 r 97 c 11(list.)m 14(Any)m 10(particular)m 10(advertisement)m 11(may)m 10(be)m 11(on)m 10(many)m 10(such)m 11(lists.)m 14(An)m 104 245 p (OSPF)s 10(implementation)m 11(needs)m 10(to)m 10(be)m 11(able)m 10(to)m 11(manipulate)m 10(these)m 11(lists,)m 10(adding)m 10(and)m 11(deleting)m 10(constituent)m 104 295 p (advertisements)s 10(as)m 11(necessary)m -2 r 46 c t-bol.300 @sf 0 375 p 84 c -3(asking)m 10(support)m t-rom.300 @sf 20(Certain)m 11(procedures)m 10(described)m 11(in)m 10(this)m 10(speci\014cation)m 11(invoke)m 10(other)m 11(procedures.)m 14(At)m 10(times,)m 10(these)m 11(other)m 104 425 p (procedures)s 10(should)m 11(be)m 10(executed)m 10(in-line,)m 11(that)m 10(is,)m 11(before)m 10(the)m 11(current)m 10(procedure)m 10(is)m 11(\014nished.)m 14(This)m 10(is)m 10(indicated)m 11(in)m 10(the)m 104 475 p (text)s 10(by)m 11(instructions)m 10(to)m t-ita.300 @sf 10(execute)m t-rom.300 @sf 11 r 97 c 10(procedure.)m 14(At)m 11(other)m 10(times,)m 10(the)m 11(other)m 10(procedures)m 11(are)m 10(to)m 10(be)m 11(executed)m 10(only)m 11(when)m 104 525 p (the)s 10(current)m 11(procedure)m 10(has)m 10(\014nished.)m 14(This)m 11(is)m 10(indicated)m 11(by)m 10(instructions)m 10(to)m t-ita.300 @sf 11(schedule)m t-rom.300 @sf 10 r 97 c 11(task.)m t-bol.360 @sf 0 657 p (4.5)s 50(Optional)m 12(OSPF)m 13(capabilities)m t-rom.300 @sf 0 750 p (The)s 10(OSPF)m 11(protocol)m 10(de\014nes)m 11(several)m 10(optional)m 10(capabilities.)m 14 r 65 c 11(router)m 10(indicates)m 11(the)m 10(optional)m 10(capabilities)m 11(that)m 10(it)m 11(supports)m 0 800 p (in)s 10(its)m 11(OSPF)m 10(Hello)m 11(packets,)m 10(Database)m 10(Description)m 11(packets)m 10(and)m 11(in)m 10(its)m 11(link)m 10(state)m 10(advertisements.)m 14(This)m 11(enables)m 10(routers)m 0 850 p (supporting)s 10 r 97 c 11(mix)m 10(of)m 11(optional)m 10(capabilities)m 10(to)m 11(coexist)m 10(in)m 11 r 97 c 10(single)m 11(Autonomous)m 10(System.)m 0 915 p (Some)s 10(capabilities)m 11(must)m 10(be)m 11(supported)m 10(by)m 10(all)m 11(routers)m 10(attached)m 11(to)m 10 r 97 c 11(speci\014c)m 10(area.)m 14(In)m 10(this)m 11(case,)m 10 r 97 c 11(router)m 10(will)m 10(not)m 11(accept)m 10 r 97 c 0 965 p (neighbor)s 2 r 39 c -2 r 115 c 10(Hello)m 10(Packet)m 10(unless)m 11(there)m 10(is)m 11 r 97 c 10(match)m 11(in)m 10(reported)m 10(capabilities)m 11(\(i.e.,)m 10 r 97 c 11(capability)m 10(mismatch)m 10(prevents)m 11 r 97 c 0 1014 p (neighbor)s 10(relationship)m 11(from)m 10(forming\).)m 14(An)m 11(example)m 10(of)m 10(this)m 11(is)m 10(the)m 11(ExternalRoutingCapability)m 10(\(see)m 10(below\).)m 0 1079 p (Other)s 10(capabilities)m 11(can)m 10(be)m 11(negotiated)m 10(during)m 10(the)m 11(Database)m 10(Exchange)m 11(process.)m 14(This)m 10(is)m 10(accomplished)m 11(by)m 10(specifying)m 11(the)m 0 1129 p (optional)s 10(capabilities)m 11(in)m 10(Database)m 11(Description)m 10(packets.)m 14 r 65 c 10(capability)m 11(mismatch)m 10(with)m 11 r 97 c 10(neighbor)m 10(in)m 11(this)m 10(case)m 11(will)m 10(result)m 0 1179 p (in)s 10(only)m 11 r 97 c 10(subset)m 11(of)m 10(link)m 10(state)m 11(advertisements)m 10(being)m 11(exchanged)m 10(between)m 11(the)m 10(two)m 10(neighbors.)m 0 1244 p (The)s 10(routing)m 11(table)m 10(build)m 11(process)m 10(can)m 10(also)m 11(be)m 10(af)m (fected)s 10(by)m 10(the)m 11(presence/absence)m 10(of)m 11(optional)m 10(capabilities.)m 14(For)m 10(example,)m 0 1294 p (since)s 10(the)m 11(optional)m 10(capabilities)m 11(are)m 10(reported)m 10(in)m 11(link)m 10(state)m 11(advertisements,)m 10(routers)m 11(incapable)m 10(of)m 10(certain)m 11(functions)m 10(can)m 11(be)m 0 1344 p (avoided)s 10(when)m 11(building)m 10(the)m 11(shortest)m 10(path)m 10(tree.)m 14(An)m 11(example)m 10(of)m 11(this)m 10(is)m 10(the)m 11 r 84 c (OS)s 10(routing)m 10(capability)m 10(\(see)m 11(below\).)m 0 1409 p (The)s 10(current)m 11(OSPF)m 10(optional)m 11(capabilities)m 10(are)m 10(listed)m 11(below)m -2 r 46 c 13(See)m 11(Section)m 10(A.2)m 10(for)m 11(more)m 10(information.)m t-bol.300 @sf 0 1509 p (ExternalRoutingCapability)s t-rom.300 @sf 21(Entire)m 10(OSPF)m 11(areas)m 10(can)m 10(be)m 11(con\014gured)m 10(as)m 11(\\stubs")m 10(\(see)m 11(Section)m 10(3.6\).)m 14(AS)m 10(external)m 104 1558 p (advertisements)s 10(will)m 11(not)m 10(be)m 10(\015ooded)m 11(into)m 10(stub)m 11(areas.)m 14(This)m 10(capability)m 10(is)m 11(represented)m 10(by)m 11(the)m t-bol.300 @sf 10(E-bit)m t-rom.300 @sf 10(in)m 11(the)m 10(OSPF)m 104 1608 p (options)s 10(\014eld)m 11(\(see)m 10(Section)m 10(A.2\).)m 14(In)m 11(order)m 10(to)m 11(ensure)m 10(consistent)m 10(con\014guration)m 11(of)m 10(stub)m 11(areas,)m 10(all)m 10(routers)m 11(interfacing)m 104 1658 p (to)s 10(such)m 11(an)m 10(area)m 10(must)m 11(have)m 10(the)m t-bol.300 @sf 11(E-bit)m t-rom.300 @sf 10(clear)m 11(in)m 10(their)m 10(Hello)m 11(packets)m 10(\(see)m 11(Sections)m 10(9.5)m 10(and)m 11(10.5\).)m t-bol.300 @sf 0 1738 p 84 c (OS)s 10(capability)m t-rom.300 @sf 20(All)m 11(OSPF)m 10(implementations)m 11(must)m 10(be)m 11(able)m 10(to)m 10(calculate)m 11(separate)m 10(routes)m 11(based)m 10(on)m 10(IP)m 11 r 84 c -2(ype)m 9(of)m 11(Service.)m 104 1788 p (However)s -1 r 44 c 10(to)m 10(save)m 10(routing)m 11(table)m 10(space)m 11(and)m 10(processing)m 10(resources,)m 11(an)m 10(OSPF)m 11(router)m 10(can)m 11(be)m 10(con\014gured)m 10(to)m 11(ignore)m 104 1838 p 84 c (OS)s 9(when)m 11(forwarding)m 10(packets.)m 14(In)m 11(this)m 10(case,)m 10(the)m 11(router)m 10(calculates)m 11(routes)m 10(for)m 10 r 84 c (OS)s 10 r 48 c 11(only)m -2 r 46 c 13(This)m 10(capability)m 11(is)m 104 1888 p (represented)s 10(by)m 11(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(in)m 10(the)m 10(OSPF)m 11(options)m 10(\014eld)m 11(\(see)m 10(Section)m 11(A.2\).)m 13 r 84 c (OS-capable)s 10(routers)m 10(will)m 11(attempt)m 10(to)m 104 1938 p (avoid)s 10(non-T)m (OS-capable)s 10(routers)m 10(when)m 11(calculating)m 10(non-zero)m 11 r 84 c (OS)s 9(paths.)m t-bol.420 @sf 0 2092 p 53 c 58(Pr)m (otocol)s 14(Data)m 14(Structur)m (es)s t-rom.300 @sf 0 2200 p (The)s 10(OSPF)m 11(protocol)m 10(is)m 10(described)m 11(in)m 10(this)m 10(speci\014cation)m 11(in)m 10(terms)m 10(of)m 11(its)m 10(operation)m 10(on)m 11(various)m 10(protocol)m 11(data)m 10(structures.)m 14(The)m 0 2249 p (following)s 10(list)m 11(comprises)m 10(the)m 11(top-level)m 10(OSPF)m 10(data)m 11(structures.)m 14(Any)m 10(initialization)m 11(that)m 10(needs)m 10(to)m 11(be)m 10(done)m 11(is)m 10(noted.)m 14(OSPF)m 0 2299 p (areas,)s 10(interfaces)m 11(and)m 10(neighbors)m 11(also)m 10(have)m 10(associated)m 11(data)m 10(structures)m 11(that)m 10(are)m 11(described)m 10(later)m 10(in)m 11(this)m 10(speci\014cation.)m t-bol.300 @sf 0 2399 p (Router)s 10(ID)m t-rom.300 @sf 21 r 65 c 11(32-bit)m 10(number)m 10(that)m 11(uniquely)m 10(identi\014es)m 11(this)m 10(router)m 11(in)m 10(the)m 10(AS.)m 11(One)m 10(possible)m 11(implementation)m 10(strategy)m 104 2449 p (would)s 10(be)m 11(to)m 10(use)m 10(the)m 11(smallest)m 10(IP)m 11(interface)m 10(address)m 11(belonging)m 10(to)m 10(the)m 11(router)m -2 r 46 c 13(If)m 11 r 97 c 10(router)m 2 r 39 c -2 r 115 c 10(OSPF)m 10(Router)m 11(ID)m 10(is)m 104 2499 p (changed,)s 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(OSPF)m 11(software)m 10(should)m 11(be)m 10(restarted)m 10(before)m 11(the)m 10(new)m 11(Router)m 10(ID)m 10(takes)m 11(ef)m (fect.)s 13(Before)m 104 2549 p (restarting)s 10(in)m 11(order)m 10(to)m 10(change)m 11(its)m 10(Router)m 11(ID,)m 10(the)m 11(router)m 10(should)m 10(\015ush)m 11(its)m 10(self-originated)m 11(link)m 10(state)m 10(advertisements)m 104 2599 p (from)s 10(the)m 11(routing)m 10(domain)m 10(\(see)m 11(Section)m 10(14.1\),)m 11(or)m 10(they)m 11(will)m 10(persist)m 10(for)m 11(up)m 10(to)m 11(MaxAge)m 10(minutes.)m 0 2723 p (Moy)s 1710([Page)m 11(23])m @eop 24 @bop0 24 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (Ar)s (ea)s 10(structur)m (es)s t-rom.300 @sf 20(Each)m 10(one)m 11(of)m 10(the)m 10(areas)m 11(to)m 10(which)m 11(the)m 10(router)m 10(is)m 11(connected)m 10(has)m 11(its)m 10(own)m 11(data)m 10(structure.)m 14(This)m 10(data)m 104 245 p (structure)s 10(describes)m 11(the)m 10(working)m 10(of)m 11(the)m 10(basic)m 11(algorithm.)m 14(Remember)m 10(that)m 10(each)m 11(area)m 10(runs)m 11 r 97 c 10(separate)m 10(copy)m 11(of)m 10(the)m 104 295 p (basic)s 10(algorithm.)m t-bol.300 @sf 0 378 p (Backbone)s 10(\(ar)m (ea\))s 10(structur)m 101 c t-rom.300 @sf 20(The)m 11(basic)m 10(algorithm)m 10(operates)m 11(on)m 10(the)m 11(backbone)m 10(as)m 10(if)m 11(it)m 10(were)m 11(an)m 10(area.)m 14(For)m 10(this)m 11(reason)m 10(the)m 104 427 p (backbone)s 10(is)m 11(represented)m 10(as)m 10(an)m 11(area)m 10(structure.)m t-bol.300 @sf 0 510 p 86 c -1(irtual)m 10(links)m 10(con\014gur)m (ed)s t-rom.300 @sf 20(The)m 11(virtual)m 10(links)m 11(con\014gured)m 10(with)m 10(this)m 11(router)m 10(as)m 11(one)m 10(endpoint.)m 14(In)m 10(order)m 11(to)m 10(have)m 11(con\014gured)m 104 560 p (virtual)s 10(links,)m 11(the)m 10(router)m 10(itself)m 11(must)m 10(be)m 11(an)m 10(area)m 11(border)m 10(router)m -1 r 46 c 13 r 86 c -2(irtual)m 9(links)m 11(are)m 10(identi\014ed)m 11(by)m 10(the)m 11(Router)m 10(ID)m 10(of)m 11(the)m 104 610 p (other)s 10(endpoint)m 11 r 123 c 10(which)m 10(is)m 11(another)m 10(area)m 11(border)m 10(router)m -1 r 46 c 13(These)m 10(two)m 11(endpoint)m 10(routers)m 10(must)m 11(be)m 10(attached)m 11(to)m 10 r 97 c 104 660 p (common)s 10(area,)m 10(called)m 10(the)m 10(virtual)m 10(link')m -1 r 115 c 9 r 84 c -1(ransit)m 9(area.)m 14 r 86 c -1(irtual)m 9(links)m 10(are)m 10(part)m 10(of)m 10(the)m 10(backbone,)m 10(and)m 10(behave)m 10(as)m 10(if)m 10(they)m 104 709 p (were)s 10(unnumbered)m 10(point-to-point)m 10(networks)m 10(between)m 10(the)m 10(two)m 10(routers.)m 13 r 65 c 10(virtual)m 10(link)m 10(uses)m 10(the)m 10(intra-area)m 10(routing)m 10(of)m 104 759 p (its)s 10 r 84 c (ransit)s 9(area)m 11(to)m 10(forward)m 10(packets.)m 14 r 86 c -1(irtual)m 9(links)m 11(are)m 10(brought)m 10(up)m 11(and)m 10(down)m 11(through)m 10(the)m 11(building)m 10(of)m 10(the)m 104 809 p (shortest-path)s 10(trees)m 11(for)m 10(the)m 10 r 84 c (ransit)s 9(area.)m t-bol.300 @sf 0 892 p (List)s 10(of)m 11(external)m 10 r 114 c (outes)s t-rom.300 @sf 20(These)m 11(are)m 10(routes)m 11(to)m 10(destinations)m 10(external)m 11(to)m 10(the)m 11(Autonomous)m 10(System,)m 10(that)m 11(have)m 10(been)m 11(gained)m 104 942 p (either)s 10(through)m 11(direct)m 10(experience)m 10(with)m 11(another)m 10(routing)m 11(protocol)m 10(\(such)m 11(as)m 10(EGP\),)m 10(or)m 11(through)m 10(con\014guration)m 104 992 p (information,)s 10(or)m 11(through)m 10 r 97 c 10(combination)m 11(of)m 10(the)m 11(two)m 10(\(e.g.,)m 11(dynamic)m 10(external)m 10(information)m 11(to)m 10(be)m 11(advertised)m 10(by)m 104 1041 p (OSPF)s 10(with)m 11(con\014gured)m 10(metric\).)m 14(Any)m 10(router)m 10(having)m 11(these)m 10(external)m 11(routes)m 10(is)m 10(called)m 11(an)m 10(AS)m 10(boundary)m 11(router)m -1 r 46 c 12(These)m 104 1091 p (routes)s 10(are)m 11(advertised)m 10(by)m 10(the)m 11(router)m 10(into)m 11(the)m 10(OSPF)m 11(routing)m 10(domain)m 10(via)m 11(AS)m 10(external)m 11(link)m 10(advertisements.)m t-bol.300 @sf 0 1174 p (List)s 10(of)m 11(AS)m 10(external)m 11(link)m 10(advertisements)m t-rom.300 @sf 21(Part)m 10(of)m 11(the)m 10(topological)m 11(database.)m 13(These)m 11(have)m 10(originated)m 11(from)m 10(the)m 10(AS)m 104 1224 p (boundary)s 10(routers.)m 14(They)m 10(comprise)m 11(routes)m 10(to)m 11(destinations)m 10(external)m 11(to)m 10(the)m 10(Autonomous)m 11(System.)m 14(Note)m 10(that,)m 11(if)m 10(the)m 104 1274 p (router)s 10(is)m 9(itself)m 10(an)m 10(AS)m 10(boundary)m 9(router)m 44 c 8(some)m 10(of)m 10(these)m 10(AS)m 9(external)m 10(link)m 10(advertisements)m 10(have)m 9(been)m 10(self-originated.)m t-bol.300 @sf 0 1356 p (The)s 10 r 114 c (outing)s 10(table)m t-rom.300 @sf 21(Derived)m 10(from)m 11(the)m 10(topological)m 11(database.)m 13(Each)m 11(destination)m 10(that)m 11(the)m 10(router)m 10(can)m 11(forward)m 10(to)m 11(is)m 104 1406 p (represented)s 10(by)m 11 r 97 c 10(cost)m 10(and)m 11 r 97 c 10(set)m 11(of)m 10(paths.)m 14 r 65 c 10(path)m 11(is)m 10(described)m 11(by)m 10(its)m 10(type)m 11(and)m 10(next)m 11(hop.)m 14(For)m 10(more)m 10(information,)m 104 1456 p (see)s 10(Section)m 11 r 49 c -1(1.)m t-bol.300 @sf 0 1539 p 84 c (OS)s 10(capability)m t-rom.300 @sf 20(This)m 11(item)m 10(indicates)m 11(whether)m 10(the)m 11(router)m 10(will)m 10(calculate)m 11(separate)m 10(routes)m 11(based)m 10(on)m 10 r 84 c (OS.)s 14(This)m 10(is)m 10 r 97 c 104 1589 p (con\014gurable)s 10(parameter)m -1 r 46 c 13(For)m 10(more)m 11(information,)m 10(see)m 10(Sections)m 11(4.5)m 10(and)m 11(16.9.)m 0 1697 p (Figure)s 10 r 57 c 10(shows)m 11(the)m 10(collection)m 10(of)m 10(data)m 10(structures)m 10(present)m 11(in)m 10 r 97 c 10(typical)m 10(router)m -1 r 46 c 13(The)m 10(router)m 10(pictured)m 10(is)m 11 r 82 c -2(T10,)m 9(from)m 10(the)m 11(map)m 0 1747 p (in)s 10(Figure)m 11(6.)m 14(Note)m 10(that)m 11(Router)m 10 r 82 c -2(T10)m 10(has)m 10 r 97 c 11(virtual)m 10(link)m 11(con\014gured)m 10(to)m 10(Router)m 11 r 82 c -2(T1)m -1(1,)m 9(with)m 11(Area)m 10 r 50 c 10(as)m 11(the)m 10(link')m -1 r 115 c 9 r 84 c (ransit)s 0 1797 p (area.)s 14(This)m 10(is)m 11(indicated)m 10(by)m 11(the)m 10(dashed)m 10(line)m 11(in)m 10(Figure)m 11(9.)m 14(When)m 10(the)m 10(virtual)m 11(link)m 10(becomes)m 11(active,)m 10(through)m 10(the)m 11(building)m 10(of)m 0 1847 p (the)s 10(shortest)m 10(path)m 10(tree)m 10(for)m 10(Area)m 10(2,)m 11(it)m 10(becomes)m 10(an)m 10(interface)m 10(to)m 10(the)m 10(backbone)m 10(\(see)m 10(the)m 10(two)m 10(backbone)m 11(interfaces)m 10(depicted)m 10(in)m 0 1897 p (Figure)s 10(9\).)m t-bol.420 @sf 0 2054 p 54 c 58(The)m 15(Ar)m (ea)s 13(Data)m 15(Structur)m 101 c t-rom.300 @sf 0 2165 p (The)s 10(area)m 11(data)m 10(structure)m 11(contains)m 10(all)m 10(the)m 11(information)m 10(used)m 11(to)m 10(run)m 11(the)m 10(basic)m 10(routing)m 11(algorithm.)m 14(Each)m 10(area)m 11(maintains)m 10(its)m 0 2214 p (own)s 10(topological)m 11(database.)m 14 r 65 c 10(network)m 11(belongs)m 10(to)m 10 r 97 c 11(single)m 10(area,)m 11(and)m 10 r 97 c 10(router)m 11(interface)m 10(connects)m 11(to)m 10 r 97 c 11(single)m 10(area.)m 14(Each)m 0 2264 p (router)s 10(adjacency)m 11(also)m 10(belongs)m 11(to)m 10 r 97 c 10(single)m 11(area.)m 0 2332 p (The)s 10(OSPF)m 11(backbone)m 10(has)m 11(all)m 10(the)m 10(properties)m 11(of)m 10(an)m 11(area.)m 14(For)m 10(that)m 10(reason)m 11(it)m 10(is)m 11(also)m 10(represented)m 11(by)m 10(an)m 10(area)m 11(data)m 10(structure.)m 0 2382 p (Note)s 10(that)m 11(some)m 10(items)m 11(in)m 10(the)m 10(structure)m 11(apply)m 10(dif)m (ferently)s 10(to)m 10(the)m 11(backbone)m 10(than)m 11(to)m 10(non-backbone)m 10(areas.)m 0 2449 p (The)s 10(area)m 11(topological)m 10(\(or)m 11(link)m 10(state\))m 10(database)m 11(consists)m 10(of)m 11(the)m 10(collection)m 11(of)m 10(router)m 10(links,)m 11(network)m 10(links)m 11(and)m 10(summary)m 0 2499 p (link)s 10(advertisements)m 11(that)m 10(have)m 11(originated)m 10(from)m 10(the)m 11(area')m -1 r 115 c 9(routers.)m 14(This)m 10(information)m 11(is)m 10(\015ooded)m 11(throughout)m 10 r 97 c 10(single)m 11(area)m 0 2549 p (only)s -2 r 46 c 13(The)m 11(list)m 10(of)m 10(AS)m 11(external)m 10(link)m 11(advertisements)m 10(\(see)m 11(Section)m 10(5\))m 10(is)m 11(also)m 10(considered)m 11(to)m 10(be)m 10(part)m 11(of)m 10(each)m 11(area')m -2 r 115 c 0 2599 p (topological)s 10(database.)m 0 2723 p (Moy)s 1710([Page)m 11(24])m @eop 25 @bop0 25 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 783 p 30785863 18779374 65781 20392345 45652541 48415375 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure9.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:21:26 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 1 310 694 736 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Ellipse newpath 433 91 68 28 0 360 DrawEllipse stroke % Ellipse newpath 288 192 68 28 0 360 DrawEllipse stroke % Ellipse newpath 388 322 68 28 0 360 DrawEllipse stroke % Ellipse newpath 157 320 68 28 0 360 DrawEllipse stroke % Ellipse newpath 384 450 68 28 0 360 DrawEllipse stroke % Ellipse newpath 232 451 68 28 0 360 DrawEllipse stroke % Ellipse newpath 81 450 68 28 0 360 DrawEllipse stroke % Ellipse newpath 692 124 68 28 0 360 DrawEllipse stroke % Ellipse newpath 642 222 68 28 0 360 DrawEllipse stroke % Ellipse newpath 702 329 68 28 0 360 DrawEllipse stroke % Ellipse newpath 702 455 68 28 0 360 DrawEllipse stroke % Ellipse newpath 549 327 68 28 0 360 DrawEllipse stroke % Ellipse newpath 545 455 68 28 0 360 DrawEllipse stroke [4.000000] 0 setdash % Polyline newpath 356 196 moveto 518 301 lineto stroke [] 0 setdash newpath 512.375 294.971 moveto 518.000 301.000 lineto 510.199 298.327 lineto stroke % Polyline newpath 395 115 moveto 322 166 lineto stroke newpath 329.703 163.058 moveto 322.000 166.000 lineto 327.413 159.779 lineto stroke % Polyline newpath 321 216 moveto 378 293 lineto stroke newpath 374.848 285.380 moveto 378.000 293.000 lineto 371.633 287.760 lineto stroke % Polyline newpath 256 217 moveto 169 291 lineto stroke newpath 176.390 287.340 moveto 169.000 291.000 lineto 173.798 284.293 lineto stroke % Polyline newpath 387 350 moveto 387 420 lineto stroke newpath 389.000 412.000 moveto 387.000 420.000 lineto 385.000 412.000 lineto stroke % Polyline newpath 179 347 moveto 233 422 lineto stroke newpath 229.949 414.339 moveto 233.000 422.000 lineto 226.702 416.676 lineto stroke % Polyline newpath 143 348 moveto 84 422 lineto stroke newpath 90.551 416.992 moveto 84.000 422.000 lineto 87.423 414.498 lineto stroke % Polyline newpath 502 89 moveto 624 120 lineto stroke newpath 616.739 116.091 moveto 624.000 120.000 lineto 615.754 119.968 lineto stroke % Polyline newpath 498 97 moveto 598 200 lineto stroke newpath 593.862 192.867 moveto 598.000 200.000 lineto 590.992 195.653 lineto stroke % Polyline newpath 663 250 moveto 688 300 lineto stroke newpath 686.211 291.950 moveto 688.000 300.000 lineto 682.633 293.739 lineto stroke % Polyline newpath 614 249 moveto 560 299 lineto stroke newpath 567.229 295.032 moveto 560.000 299.000 lineto 564.511 292.097 lineto stroke % Polyline newpath 698 358 moveto 697 426 lineto stroke newpath 699.117 418.030 moveto 697.000 426.000 lineto 695.118 417.971 lineto stroke % Polyline newpath 543 355 moveto 543 425 lineto stroke newpath 545.000 417.000 moveto 543.000 425.000 lineto 541.000 417.000 lineto stroke /Courier findfont 12.222222 scalefont setfont 276 529 moveto 1 -1 scale (Figure 9: Router RT10's Data Structures) show 1 -1 scale 418 96 moveto 1 -1 scale (RT10) show 1 -1 scale 261 196 moveto 1 -1 scale (Area 2) show 1 -1 scale 330 328 moveto 1 -1 scale (Interface to N8) show 1 -1 scale 99 325 moveto 1 -1 scale (Interface to N6) show 1 -1 scale 32 453 moveto 1 -1 scale (Neighbor RT8) show 1 -1 scale 185 454 moveto 1 -1 scale (Neighbor RT7) show 1 -1 scale 335 455 moveto 1 -1 scale (Neighbor RT11) show 1 -1 scale 642 129 moveto 1 -1 scale (Routing Table) show 1 -1 scale 609 225 moveto 1 -1 scale (Backbone) show 1 -1 scale 656 334 moveto 1 -1 scale (Interface Ib) show 1 -1 scale 659 460 moveto 1 -1 scale (Neighbor RT6) show 1 -1 scale 500 325 moveto 1 -1 scale (Virtual Link) show 1 -1 scale 516 343 moveto 1 -1 scale (to RT11) show 1 -1 scale 495 458 moveto 1 -1 scale (Neighbor RT11) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1710([Page)m 11(25])m @eop 26 @bop0 26 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 20 r 65 c 11(32-bit)m 10(number)m 11(identifying)m 10(the)m 11(area.)m c-med.300 @sf 13(0.0.0.0)m t-rom.300 @sf 11(is)m 10(reserved)m 11(for)m 10(the)m 10(Area)m 11(ID)m 10(of)m 11(the)m 10(backbone.)m 14(If)m 10(assigning)m 104 245 p (subnetted)s 10(networks)m 11(as)m 10(separate)m 10(areas,)m 11(the)m 10(IP)m 11(network)m 10(number)m 11(could)m 10(be)m 10(used)m 11(as)m 10(the)m 11(Area)m 10(ID.)m t-bol.300 @sf 0 328 p (List)s 10(of)m 11(component)m 10(addr)m (ess)s 10(ranges)m t-rom.300 @sf 21(The)m 10(address)m 11(ranges)m 10(that)m 10(de\014ne)m 11(the)m 10(area.)m 14(Each)m 10(address)m 11(range)m 10(is)m 11(speci\014ed)m 10(by)m 11(an)m 104 378 p ([address,mask])s 10(pair)m 11(and)m 10 r 97 c 10(status)m 11(indication)m 10(of)m 11(either)m 10(Advertise)m 11(or)m 10(DoNotAdvertise)m 10(\(see)m 11(Section)m 10(12.4.3\).)m 14(Each)m 104 428 p (network)s 10(is)m 11(then)m 10(assigned)m 10(to)m 11(an)m 10(area)m 11(depending)m 10(on)m 11(the)m 10(address)m 10(range)m 11(that)m 10(it)m 11(falls)m 10(into)m 10(\(speci\014ed)m 11(address)m 10(ranges)m 104 477 p (are)s 10(not)m 10(allowed)m 10(to)m 10(overlap\).)m 14(As)m 10(an)m 10(example,)m 10(if)m 10(an)m 10(IP)m 11(subnetted)m 10(network)m 10(is)m 10(to)m 10(be)m 10(its)m 10(own)m 10(separate)m 10(OSPF)m 10(area,)m 11(the)m 104 527 p (area)s 10(is)m 11(de\014ned)m 10(to)m 10(consist)m 11(of)m 10 r 97 c 11(single)m 10(address)m 11(range)m 10 r 45 c 10(an)m 11(IP)m 10(network)m 11(number)m 10(with)m 10(its)m 11(natural)m 10(\(class)m 11(A,)m 10 r 66 c 11(or)m 10(C\))m 104 577 p (mask.)s t-bol.300 @sf 0 660 p (Associated)s 10 r 114 c (outer)s 10(interfaces)m t-rom.300 @sf 21(This)m 10(router)m 2 r 39 c -1 r 115 c 9(interfaces)m 10(connecting)m 11(to)m 10(the)m 11(area.)m 13 r 65 c 11(router)m 10(interface)m 11(belongs)m 10(to)m 11(one)m 10(and)m 104 710 p (only)s 10(one)m 10(area)m 10(\(or)m 10(the)m 10(backbone\).)m 14(For)m 10(the)m 10(backbone)m 10(structure)m 10(this)m 10(list)m 10(includes)m 10(all)m 10(the)m 10(virtual)m 10(links.)m 14 r 65 c 10(virtual)m 10(link)m 104 760 p (is)s 10(identi\014ed)m 10(by)m 10(the)m 11(Router)m 10(ID)m 10(of)m 10(its)m 10(other)m 11(endpoint;)m 10(its)m 10(cost)m 10(is)m 11(the)m 10(cost)m 10(of)m 10(the)m 10(shortest)m 11(intra-area)m 10(path)m 10(through)m 10(the)m 104 809 p 84 c -1(ransit)m 10(area)m 10(that)m 11(exists)m 10(between)m 10(the)m 11(two)m 10(routers.)m t-bol.300 @sf 0 892 p (List)s 10(of)m 11 r 114 c (outer)s 9(links)m 11(advertisements)m t-rom.300 @sf 21 r 65 c 10(router)m 11(links)m 10(advertisement)m 10(is)m 11(generated)m 10(by)m 11(each)m 10(router)m 10(in)m 11(the)m 10(area.)m 14(It)m 104 942 p (describes)s 10(the)m 11(state)m 10(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(interfaces)m 10(to)m 10(the)m 11(area.)m t-bol.300 @sf 0 1025 p (List)s 10(of)m 11(network)m 10(links)m 11(advertisements)m t-rom.300 @sf 20(One)m 11(network)m 10(links)m 11(advertisement)m 10(is)m 11(generated)m 10(for)m 10(each)m 11(transit)m 10(multi-access)m 104 1075 p (network)s 10(in)m 11(the)m 10(area.)m 14 r 65 c 10(network)m 11(links)m 10(advertisement)m 11(describes)m 10(the)m 10(set)m 11(of)m 10(routers)m 11(currently)m 10(connected)m 10(to)m 11(the)m 104 1125 p (network.)s t-bol.300 @sf 0 1208 p (List)s 10(of)m 11(summary)m 10(link)m 11(advertisements)m t-rom.300 @sf 20(Summary)m 11(link)m 10(advertisements)m 11(originate)m 10(from)m 11(the)m 10(area')m -1 r 115 c 9(area)m 10(border)m 11(routers.)m 104 1258 p (They)s 10(describe)m 11(routes)m 10(to)m 10(destinations)m 11(internal)m 10(to)m 11(the)m 10(Autonomous)m 11(System,)m 10(yet)m 10(external)m 11(to)m 10(the)m 11(area.)m t-bol.300 @sf 0 1341 p (Shortest-path)s 10(tr)m (ee)s t-rom.300 @sf 20(The)m 11(shortest-path)m 10(tree)m 11(for)m 10(the)m 11(area,)m 10(with)m 10(this)m 11(router)m 10(itself)m 11(as)m 10(root.)m 14(Derived)m 10(from)m 11(the)m 10(collected)m 104 1391 p (router)s 10(links)m 11(and)m 10(network)m 10(links)m 11(advertisements)m 10(by)m 11(the)m 10(Dijkstra)m 11(algorithm)m 10(\(see)m 10(Section)m 11(16.1\).)m t-bol.300 @sf 0 1474 p (AuT)s -2(ype)m t-rom.300 @sf 20(The)m 10(type)m 11(of)m 10(authentication)m 10(used)m 11(for)m 10(this)m 11(area.)m 13(Authentication)m 11(types)m 10(are)m 11(de\014ned)m 10(in)m 11(Appendix)m 10(D.)m 10(All)m 11(OSPF)m 104 1523 p (packet)s 10(exchanges)m 11(are)m 10(authenticated.)m 14(Dif)m (ferent)s 10(authentication)m 10(schemes)m 10(may)m 11(be)m 10(used)m 11(in)m 10(dif)m (ferent)s 10(areas.)m t-bol.300 @sf 0 1606 p 84 c -2(ransitCapability)m t-rom.300 @sf 20(Set)m 10(to)m 11(TRUE)m 10(if)m 10(and)m 11(only)m 10(if)m 11(there)m 10(are)m 10(one)m 11(or)m 10(more)m 11(active)m 10(virtual)m 11(links)m 10(using)m 10(the)m 11(area)m 10(as)m 11 r 97 c 10 r 84 c (ransit)s 104 1656 p (area.)s 14(Equivalently)m -2 r 44 c 9(this)m 11(parameter)m 10(indicates)m 11(whether)m 10(the)m 10(area)m 11(can)m 10(carry)m 11(data)m 10(traf)m (\014c)s 10(that)m 10(neither)m 11(originates)m 10(nor)m 104 1706 p (terminates)s 10(in)m 11(the)m 10(area)m 10(itself.)m 14(This)m 11(parameter)m 10(is)m 11(calculated)m 10(when)m 10(the)m 11(area')m -1 r 115 c 9(shortest-path)m 10(tree)m 11(is)m 10(built)m 11(\(see)m 104 1756 p (Section)s 10(16.1\),)m 11(and)m 10(is)m 10(used)m 11(as)m 10(an)m 11(input)m 10(to)m 11 r 97 c 10(subsequent)m 10(step)m 11(of)m 10(the)m 11(routing)m 10(table)m 10(build)m 11(process)m 10(\(see)m 11(Section)m 10(16.3\).)m t-bol.300 @sf 0 1839 p (ExternalRoutingCapability)s t-rom.300 @sf 21(Whether)m 10(AS)m 10(external)m 9(advertisements)m 10(will)m 10(be)m 10(\015ooded)m 10(into/throughout)m 10(the)m 10(area.)m 14(This)m 10(is)m 9 r 97 c 104 1889 p (con\014gurable)s 10(parameter)m -1 r 46 c 13(If)m 10(AS)m 11(external)m 10(advertisements)m 10(are)m 11(excluded)m 10(from)m 11(the)m 10(area,)m 11(the)m 10(area)m 10(is)m 11(called)m 10 r 97 c 11(\\stub".)m 104 1939 p (Internal)s 10(to)m 10(stub)m 11(areas,)m 10(routing)m 10(to)m 11(AS)m 10(external)m 10(destinations)m 11(will)m 10(be)m 10(based)m 10(solely)m 11(on)m 10 r 97 c 10(default)m 11(summary)m 10(route.)m 14(The)m 104 1988 p (backbone)s 10(cannot)m 11(be)m 10(con\014gured)m 10(as)m 11 r 97 c 10(stub)m 11(area.)m 14(Also,)m 10(virtual)m 10(links)m 11(cannot)m 10(be)m 11(con\014gured)m 10(through)m 10(stub)m 11(areas.)m 14(For)m 104 2038 p (more)s 10(information,)m 11(see)m 10(Section)m 10(3.6.)m t-bol.300 @sf 0 2121 p (StubDefaultCost)s t-rom.300 @sf 21(If)m 10(the)m 10(area)m 10(has)m 10(been)m 10(con\014gured)m 10(as)m 10 r 97 c 10(stub)m 10(area,)m 10(and)m 10(the)m 10(router)m 10(itself)m 10(is)m 10(an)m 10(area)m 10(border)m 10(router)m -1 r 44 c 9(then)m 10(the)m 104 2171 p (StubDefaultCost)s 10(indicates)m 11(the)m 10(cost)m 10(of)m 11(the)m 10(default)m 11(summary)m 10(link)m 11(that)m 10(the)m 10(router)m 11(should)m 10(advertise)m 11(into)m 10(the)m 10(area.)m 104 2221 p (There)s 10(can)m 11(be)m 10 r 97 c 10(separate)m 11(cost)m 10(con\014gured)m 11(for)m 10(each)m 11(IP)m 10 r 84 c (OS.)s 13(See)m 10(Section)m 11(12.4.3)m 10(for)m 11(more)m 10(information.)m 0 2330 p (Unless)s 10(otherwise)m 11(speci\014ed,)m 10(the)m 11(remaining)m 10(sections)m 10(of)m 11(this)m 10(document)m 11(refer)m 10(to)m 11(the)m 10(operation)m 10(of)m 11(the)m 10(protocol)m 11(in)m 10 r 97 c 10(single)m 0 2380 p (area.)s 0 2723 p (Moy)s 1710([Page)m 11(26])m @eop 27 @bop0 27 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 55 c 58(Bringing)m 15(Up)m 14(Adjacencies)m t-rom.300 @sf 0 306 p (OSPF)s 10(creates)m 10(adjacencies)m 11(between)m 10(neighboring)m 10(routers)m 10(for)m 10(the)m 10(purpose)m 11(of)m 10(exchanging)m 10(routing)m 10(information.)m 14(Not)m 10(every)m 0 356 p (two)s 10(neighboring)m 11(routers)m 10(will)m 11(become)m 10(adjacent.)m 14(This)m 10(section)m 11(covers)m 10(the)m 11(generalities)m 10(involved)m 10(in)m 11(creating)m 10(adjacencies.)m 0 405 p (For)s 10(further)m 11(details)m 10(consult)m 11(Section)m 10(10.)m t-bol.360 @sf 0 542 p (7.1)s 50(The)m 12(Hello)m 13(Pr)m (otocol)s t-rom.300 @sf 0 638 p (The)s 10(Hello)m 11(Protocol)m 10(is)m 11(responsible)m 10(for)m 10(establishing)m 11(and)m 10(maintaining)m 11(neighbor)m 10(relationships.)m 14(It)m 10(also)m 11(ensures)m 10(that)m 0 687 p (communication)s 10(between)m 11(neighbors)m 10(is)m 11(bidirectional.)m 14(Hello)m 10(packets)m 10(are)m 11(sent)m 10(periodically)m 11(out)m 10(all)m 10(router)m 11(interfaces.)m 0 737 p (Bidirectional)s 10(communication)m 11(is)m 10(indicated)m 11(when)m 10(the)m 10(router)m 11(sees)m 10(itself)m 11(listed)m 10(in)m 11(the)m 10(neighbor)m 2 r 39 c -2 r 115 c 10(Hello)m 10(Packet.)m 0 805 p (On)s 10(multi-access)m 11(networks,)m 10(the)m 11(Hello)m 10(Protocol)m 10(elects)m 11 r 97 c 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network.)m 14(Among)m 10(other)m 11(things,)m 10(the)m 0 855 p (Designated)s 10(Router)m 11(controls)m 10(what)m 11(adjacencies)m 10(will)m 10(be)m 11(formed)m 10(over)m 11(the)m 10(network)m 11(\(see)m 10(below\).)m 0 922 p (The)s 10(Hello)m 11(Protocol)m 10(works)m 11(dif)m (ferently)s 9(on)m 11(broadcast)m 10(networks,)m 11(as)m 10(compared)m 10(to)m 11(non-broadcast)m 10(networks.)m 14(On)m 11(broadcast)m 0 972 p (networks,)s 10(each)m 11(router)m 10(advertises)m 11(itself)m 10(by)m 10(periodically)m 11(multicasting)m 10(Hello)m 11(Packets.)m 14(This)m 10(allows)m 10(neighbors)m 11(to)m 10(be)m 0 1022 p (discovered)s 10(dynamically)m -1 r 46 c 13(These)m 10(Hello)m 10(Packets)m 11(contain)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(view)m 11(of)m 10(the)m 11(Designated)m 10(Router)m 2 r 39 c -2 r 115 c 10(identity)m -2 r 44 c 9(and)m 11(the)m 0 1072 p (list)s 10(of)m 11(routers)m 10(whose)m 11(Hello)m 10(Packets)m 10(have)m 11(been)m 10(seen)m 11(recently)m -2 r 46 c 0 1140 p (On)s 10(non-broadcast)m 11(networks)m 10(some)m 11(con\014guration)m 10(information)m 10(is)m 11(necessary)m 10(for)m 11(the)m 10(operation)m 11(of)m 10(the)m 10(Hello)m 11(Protocol.)m 0 1189 p (Each)s 10(router)m 11(that)m 10(may)m 11(potentially)m 10(become)m 10(Designated)m 11(Router)m 10(has)m 11 r 97 c 10(list)m 11(of)m 10(all)m 10(other)m 11(routers)m 10(attached)m 11(to)m 10(the)m 10(network.)m 14 r 65 c 0 1239 p (router)s -1 r 44 c 10(having)m 10(Designated)m 11(Router)m 10(potential,)m 10(sends)m 11(Hello)m 10(Packets)m 11(to)m 10(all)m 10(other)m 11(potential)m 10(Designated)m 11(Routers)m 10(when)m 11(its)m 0 1289 p (interface)s 10(to)m 10(the)m 10(non-broadcast)m 11(network)m 10(\014rst)m 10(becomes)m 10(operational.)m 14(This)m 10(is)m 10(an)m 10(attempt)m 10(to)m 10(\014nd)m 11(the)m 10(Designated)m 10(Router)m 10(for)m 0 1339 p (the)s 10(network.)m 14(If)m 11(the)m 10(router)m 11(itself)m 10(is)m 10(elected)m 11(Designated)m 10(Router)m 44 c 9(it)m 10(begins)m 11(sending)m 10(Hello)m 11(Packets)m 10(to)m 10(all)m 11(other)m 10(routers)m 0 1389 p (attached)s 10(to)m 11(the)m 10(network.)m 0 1456 p (After)s 10 r 97 c 11(neighbor)m 10(has)m 11(been)m 10(discovered,)m 10(bidirectional)m 11(communication)m 10(ensured,)m 11(and)m 10(\(if)m 11(on)m 10 r 97 c 10(multi-access)m 11(network\))m 10 r 97 c 0 1506 p (Designated)s 10(Router)m 11(elected,)m 10 r 97 c 11(decision)m 10(is)m 10(made)m 11(regarding)m 10(whether)m 11(or)m 10(not)m 11(an)m 10(adjacency)m 10(should)m 11(be)m 10(formed)m 11(with)m 10(the)m 0 1556 p (neighbor)s 10(\(see)m 11(Section)m 10(10.4\).)m 14(An)m 11(attempt)m 10(is)m 10(always)m 11(made)m 10(to)m 11(establish)m 10(adjacencies)m 10(over)m 11(point-to-point)m 10(networks)m 11(and)m 0 1606 p (virtual)s 10(links.)m 14(The)m 11(\014rst)m 10(step)m 11(in)m 10(bringing)m 10(up)m 11(an)m 10(adjacency)m 11(is)m 10(to)m 10(synchronize)m 11(the)m 10(neighbors')m 11(topological)m 10(databases.)m 14(This)m 0 1656 p (is)s 10(covered)m 11(in)m 10(the)m 11(next)m 10(section.)m t-bol.360 @sf 0 1792 p (7.2)s 50(The)m 12(Synchr)m (onization)s 12(of)m 13(Databases)m t-rom.300 @sf 0 1888 p (In)s 10 r 97 c 11(link-state)m 10(routing)m 11(algorithm,)m 10(it)m 10(is)m 11(very)m 10(important)m 11(for)m 10(all)m 11(routers')m 10(topological)m 10(databases)m 11(to)m 10(stay)m 11(synchronized.)m 0 1938 p (OSPF)s 10(simpli\014es)m 11(this)m 10(by)m 11(requiring)m 10(only)m 10(adjacent)m 11(routers)m 10(to)m 11(remain)m 10(synchronized.)m 14(The)m 10(synchronization)m 11(process)m 10(begins)m 0 1988 p (as)s 10(soon)m 11(as)m 10(the)m 11(routers)m 10(attempt)m 10(to)m 11(bring)m 10(up)m 11(the)m 10(adjacency)m -2 r 46 c 13(Each)m 11(router)m 10(describes)m 11(its)m 10(database)m 10(by)m 11(sending)m 10 r 97 c 11(sequence)m 10(of)m 0 2037 p (Database)s 10(Description)m 11(packets)m 10(to)m 11(its)m 10(neighbor)m -1 r 46 c 13(Each)m 10(Database)m 11(Description)m 10(Packet)m 10(describes)m 11 r 97 c 10(set)m 11(of)m 10(link)m 10(state)m 0 2087 p (advertisements)s 10(belonging)m 11(to)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(database.)m 14(When)m 11(the)m 10(neighbor)m 10(sees)m 11 r 97 c 10(link)m 11(state)m 10(advertisement)m 11(that)m 10(is)m 10(more)m 0 2137 p (recent)s 10(than)m 11(its)m 10(own)m 11(database)m 10(copy)m -2 r 44 c 10(it)m 10(makes)m 11 r 97 c 10(note)m 10(that)m 11(this)m 10(newer)m 11(advertisement)m 10(should)m 11(be)m 10(requested.)m 0 2205 p (This)s 10(sending)m 11(and)m 10(receiving)m 11(of)m 10(Database)m 10(Description)m 11(packets)m 10(is)m 11(called)m 10(the)m 11(\\Database)m 10(Exchange)m 10(Process".)m 14(During)m 11(this)m 0 2254 p (process,)s 10(the)m 11(two)m 10(routers)m 11(form)m 10 r 97 c 10(master/slave)m 11(relationship.)m 14(Each)m 10(Database)m 11(Description)m 10(Packet)m 10(has)m 11 r 97 c 10(sequence)m 11(number)m -2 r 46 c 0 2304 p (Database)s 10(Description)m 11(Packets)m 10(sent)m 11(by)m 10(the)m 10(master)m 11(\(polls\))m 10(are)m 11(acknowledged)m 10(by)m 11(the)m 10(slave)m 10(through)m 11(echoing)m 10(of)m 11(the)m 0 2354 p (sequence)s 10(number)m -1 r 46 c 13(Both)m 10(polls)m 11(and)m 10(their)m 11(responses)m 10(contain)m 11(summaries)m 10(of)m 10(link)m 11(state)m 10(data.)m 14(The)m 10(master)m 11(is)m 10(the)m 11(only)m 10(one)m 0 2404 p (allowed)s 10(to)m 11(retransmit)m 10(Database)m 11(Description)m 10(Packets.)m 14(It)m 10(does)m 11(so)m 10(only)m 11(at)m 10(\014xed)m 10(intervals,)m 11(the)m 10(length)m 11(of)m 10(which)m 11(is)m 10(the)m 0 2454 p (con\014gured)s 10(constant)m 11(RxmtInterval.)m 0 2521 p (Each)s 10(Database)m 11(Description)m 10(contains)m 11(an)m 10(indication)m 10(that)m 11(there)m 10(are)m 11(more)m 10(packets)m 11(to)m 10(follow)m 10 r 124 c 11(the)m 10(M-bit.)m 14(The)m 11(Database)m 0 2571 p (Exchange)s 10(Process)m 11(is)m 10(over)m 11(when)m 10 r 97 c 10(router)m 11(has)m 10(received)m 11(and)m 10(sent)m 11(Database)m 10(Description)m 10(Packets)m 11(with)m 10(the)m 11(M-bit)m 10(of)m (f.)s 0 2723 p (Moy)s 1710([Page)m 11(27])m @eop 28 @bop0 1 /cmsy10.300 @newfont cmsy10.300 @sf [<07E01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E0> 16 16 -2 -2 20.755] 15 @dc 28 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (During)s 10(and)m 11(after)m 10(the)m 11(Database)m 10(Exchange)m 10(Process,)m 11(each)m 10(router)m 11(has)m 10 r 97 c 11(list)m 10(of)m 10(those)m 11(link)m 10(state)m 11(advertisements)m 10(for)m 10(which)m 0 245 p (the)s 10(neighbor)m 11(has)m 10(more)m 11(up-to-date)m 10(instances.)m 14(These)m 10(advertisements)m 11(are)m 10(requested)m 11(in)m 10(Link)m 10(State)m 11(Request)m 10(Packets.)m 14(Link)m 0 295 p (State)s 10(Request)m 11(packets)m 10(that)m 11(are)m 10(not)m 10(satis\014ed)m 11(are)m 10(retransmitted)m 11(at)m 10(\014xed)m 11(intervals)m 10(of)m 10(time)m 11(RxmtInterval.)m 14(When)m 10(the)m 0 345 p (Database)s 10(Description)m 11(Process)m 10(has)m 11(completed)m 10(and)m 10(all)m 11(Link)m 10(State)m 11(Requests)m 10(have)m 11(been)m 10(satis\014ed,)m 10(the)m 11(databases)m 10(are)m 0 394 p (deemed)s 10(synchronized)m 11(and)m 10(the)m 11(routers)m 10(are)m 10(marked)m 11(fully)m 10(adjacent.)m 14(At)m 11(this)m 10(time)m 10(the)m 11(adjacency)m 10(is)m 11(fully)m 10(functional)m 11(and)m 10(is)m 0 444 p (advertised)s 10(in)m 11(the)m 10(two)m 11(routers')m 10(link)m 10(state)m 11(advertisements.)m 0 511 p (The)s 10(adjacency)m 11(is)m 10(used)m 11(by)m 10(the)m 10(\015ooding)m 11(procedure)m 10(as)m 11(soon)m 10(as)m 11(the)m 10(Database)m 10(Exchange)m 11(Process)m 10(begins.)m 14(This)m 11(simpli\014es)m 0 561 p (database)s 10(synchronization,)m 11(and)m 10(guarantees)m 11(that)m 10(it)m 10(\014nishes)m 11(in)m 10 r 97 c 11(predictable)m 10(period)m 11(of)m 10(time.)m t-bol.360 @sf 0 697 p (7.3)s 50(The)m 12(Designated)m 13(Router)m t-rom.300 @sf 0 792 p (Every)s 10(multi-access)m 11(network)m 10(has)m 11 r 97 c 10(Designated)m 10(Router)m -1 r 46 c 13(The)m 11(Designated)m 10(Router)m 10(performs)m 11(two)m 10(main)m 11(functions)m 10(for)m 10(the)m 0 842 p (routing)s 10(protocol:)m cmsy10.300 @sf 62 949 p 15 c t-rom.300 @sf 21(The)m 10(Designated)m 11(Router)m 10(originates)m 11 r 97 c 10(network)m 11(links)m 10(advertisement)m 10(on)m 11(behalf)m 10(of)m 11(the)m 10(network.)m 14(This)m 10(advertisement)m 104 998 p (lists)s 10(the)m 11(set)m 10(of)m 10(routers)m 11(\(including)m 10(the)m 11(Designated)m 10(Router)m 11(itself\))m 10(currently)m 10(attached)m 11(to)m 10(the)m 11(network.)m 13(The)m 11(Link)m 104 1048 p (State)s 10(ID)m 10(for)m 10(this)m 10(advertisement)m 10(\(see)m 10(Section)m 10(12.1.4\))m 10(is)m 10(the)m 10(IP)m 10(interface)m 9(address)m 10(of)m 10(the)m 10(Designated)m 10(Router)m -1 r 46 c 13(The)m 10(IP)m 104 1098 p (network)s 10(number)m 11(can)m 10(then)m 10(be)m 11(obtained)m 10(by)m 11(using)m 10(the)m 11(subnet/network)m 10(mask.)m cmsy10.300 @sf 62 1180 p 15 c t-rom.300 @sf 21(The)m 10(Designated)m 11(Router)m 10(becomes)m 11(adjacent)m 10(to)m 11(all)m 10(other)m 10(routers)m 11(on)m 10(the)m 11(network.)m 13(Since)m 11(the)m 10(link)m 11(state)m 10(databases)m 11(are)m 104 1230 p (synchronized)s 10(across)m 10(adjacencies)m 11(\(through)m 10(adjacency)m 10(bring-up)m 10(and)m 11(then)m 10(the)m 10(\015ooding)m 11(procedure\),)m 10(the)m 10(Designated)m 104 1280 p (Router)s 10(plays)m 11 r 97 c 10(central)m 10(part)m 11(in)m 10(the)m 11(synchronization)m 10(process.)m 0 1387 p (The)s 10(Designated)m 10(Router)m 10(is)m 10(elected)m 10(by)m 10(the)m 10(Hello)m 10(Protocol.)m 13 r 65 c 10(router)m 2 r 39 c -2 r 115 c 9(Hello)m 10(Packet)m 10(contains)m 10(its)m 10(Router)m 10(Priority)m -2 r 44 c 9(which)m 10(is)m 0 1437 p (con\014gurable)s 10(on)m 11 r 97 c 10(per)m (-interface)s 10(basis.)m 14(In)m 10(general,)m 11(when)m 10 r 97 c 10(router)m 2 r 39 c -1 r 115 c 9(interface)m 10(to)m 11 r 97 c 10(network)m 11(\014rst)m 10(becomes)m 11(functional,)m 10(it)m 0 1487 p (checks)s 10(to)m 11(see)m 10(whether)m 11(there)m 10(is)m 10(currently)m 11 r 97 c 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network.)m 14(If)m 10(there)m 11(is,)m 10(it)m 11(accepts)m 10(that)m 10(Designated)m 0 1536 p (Router)s -1 r 44 c 10(regardless)m 10(of)m 11(its)m 10(Router)m 10(Priority)m -1 r 46 c 13(\(This)m 10(makes)m 10(it)m 11(harder)m 10(to)m 11(predict)m 10(the)m 11(identity)m 10(of)m 10(the)m 11(Designated)m 10(Router)m 44 c 9(but)m 0 1586 p (ensures)s 10(that)m 11(the)m 10(Designated)m 11(Router)m 10(changes)m 10(less)m 11(often.)m 14(See)m 10(below)m -1(.\))m 12(Otherwise,)m 11(the)m 10(router)m 11(itself)m 10(becomes)m 10(Designated)m 0 1636 p (Router)s 10(if)m 11(it)m 10(has)m 11(the)m 10(highest)m 10(Router)m 11(Priority)m 10(on)m 11(the)m 10(network.)m 14 r 65 c 10(more)m 11(detailed)m 10(\(and)m 11(more)m 10(accurate\))m 11(description)m 10(of)m 0 1686 p (Designated)s 10(Router)m 11(election)m 10(is)m 11(presented)m 10(in)m 10(Section)m 11(9.4.)m 0 1753 p (The)s 10(Designated)m 10(Router)m 10(is)m 9(the)m 10(endpoint)m 10(of)m 10(many)m 10(adjacencies.)m 14(In)m 9(order)m 10(to)m 10(optimize)m 10(the)m 10(\015ooding)m 10(procedure)m 10(on)m 9(broadcast)m 0 1803 p (networks,)s 10(the)m 11(Designated)m 10(Router)m 11(multicasts)m 10(its)m 10(Link)m 11(State)m 10(Update)m 11(Packets)m 10(to)m 11(the)m 10(address)m 10(AllSPFRouters,)m 11(rather)m 10(than)m 0 1852 p (sending)s 10(separate)m 11(packets)m 10(over)m 11(each)m 10(adjacency)m -2 r 46 c 0 1919 p (Section)s 10 r 50 c 11(of)m 10(this)m 11(document)m 10(discusses)m 10(the)m 11(directed)m 10(graph)m 11(representation)m 10(of)m 11(an)m 10(area.)m 14(Router)m 10(nodes)m 11(are)m 10(labelled)m 11(with)m 0 1969 p (their)s 10(Router)m 11(ID.)m 10(Multi-access)m 11(network)m 10(nodes)m 10(are)m 11(actually)m 10(labelled)m 11(with)m 10(the)m 11(IP)m 10(address)m 10(of)m 11(their)m 10(Designated)m 11(Router)m -2 r 46 c 13(It)m 0 2019 p (follows)s 10(that)m 11(when)m 10(the)m 11(Designated)m 10(Router)m 10(changes,)m 11(it)m 10(appears)m 11(as)m 10(if)m 11(the)m 10(network)m 10(node)m 11(on)m 10(the)m 11(graph)m 10(is)m 10(replaced)m 11(by)m 10(an)m 0 2069 p (entirely)s 10(new)m 11(node.)m 14(This)m 10(will)m 11(cause)m 10(the)m 10(network)m 11(and)m 10(all)m 11(its)m 10(attached)m 10(routers)m 11(to)m 10(originate)m 11(new)m 10(link)m 11(state)m 10(advertisements.)m 0 2119 p (Until)s 10(the)m 11(topological)m 10(databases)m 11(again)m 10(conver)m (ge,)s 10(some)m 10(temporary)m 11(loss)m 10(of)m 10(connectivity)m 11(may)m 10(result.)m 14(This)m 11(may)m 10(result)m 10(in)m 0 2169 p (ICMP)s 10(unreachable)m 11(messages)m 10(being)m 11(sent)m 10(in)m 10(response)m 11(to)m 10(data)m 11(traf)m (\014c.)s 13(For)m 10(that)m 11(reason,)m 10(the)m 11(Designated)m 10(Router)m 10(should)m 0 2218 p (change)s 10(only)m 11(infrequently)m -2 r 46 c 13(Router)m 10(Priorities)m 11(should)m 10(be)m 11(con\014gured)m 10(so)m 11(that)m 10(the)m 10(most)m 11(dependable)m 10(router)m 11(on)m 10 r 97 c 10(network)m 0 2268 p (eventually)s 10(becomes)m 11(Designated)m 10(Router)m -1 r 46 c t-bol.360 @sf 0 2404 p (7.4)s 50(The)m 12(Backup)m 13(Designated)m 12(Router)m t-rom.300 @sf 0 2499 p (In)s 10(order)m 11(to)m 10(make)m 11(the)m 10(transition)m 10(to)m 11 r 97 c 10(new)m 11(Designated)m 10(Router)m 11(smoother)m -1 r 44 c 9(there)m 11(is)m 10 r 97 c 11(Backup)m 10(Designated)m 10(Router)m 11(for)m 10(each)m 0 2549 p (multi-access)s 10(network.)m 14(The)m 11(Backup)m 10(Designated)m 11(Router)m 10(is)m 10(also)m 11(adjacent)m 10(to)m 11(all)m 10(routers)m 10(on)m 11(the)m 10(network,)m 11(and)m 10(becomes)m 0 2599 p (Designated)s 10(Router)m 11(when)m 10(the)m 11(previous)m 10(Designated)m 10(Router)m 11(fails.)m 14(If)m 10(there)m 11(were)m 10(no)m 10(Backup)m 11(Designated)m 10(Router)m 44 c 9(when)m 10 r 97 c 0 2723 p (Moy)s 1710([Page)m 11(28])m @eop 29 @bop0 29 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (new)s 10(Designated)m 11(Router)m 10(became)m 11(necessary)m -2 r 44 c 9(new)m 11(adjacencies)m 10(would)m 11(have)m 10(to)m 10(be)m 11(formed)m 10(between)m 11(the)m 10(new)m 11(Designated)m 0 245 p (Router)s 10(and)m 11(all)m 10(other)m 11(routers)m 10(attached)m 10(to)m 11(the)m 10(network.)m 14(Part)m 11(of)m 10(the)m 10(adjacency)m 11(forming)m 10(process)m 11(is)m 10(the)m 11(synchronizing)m 10(of)m 0 295 p (topological)s 10(databases,)m 11(which)m 10(can)m 11(potentially)m 10(take)m 10(quite)m 11 r 97 c 10(long)m 11(time.)m 14(During)m 10(this)m 10(time,)m 11(the)m 10(network)m 11(would)m 10(not)m 11(be)m 0 345 p (available)s 10(for)m 11(transit)m 10(data)m 11(traf)m (\014c.)s 13(The)m 10(Backup)m 11(Designated)m 10(obviates)m 10(the)m 11(need)m 10(to)m 11(form)m 10(these)m 11(adjacencies,)m 10(since)m 10(they)m 0 394 p (already)s 10(exist.)m 14(This)m 11(means)m 10(the)m 11(period)m 10(of)m 10(disruption)m 11(in)m 10(transit)m 11(traf)m (\014c)s 9(lasts)m 11(only)m 10(as)m 11(long)m 10(as)m 10(it)m 11(takes)m 10(to)m 11(\015ood)m 10(the)m 10(new)m 11(link)m 0 444 p (state)s 10(advertisements)m 11(\(which)m 10(announce)m 11(the)m 10(new)m 10(Designated)m 11(Router\).)m 0 512 p (The)s 10(Backup)m 11(Designated)m 10(Router)m 11(does)m 10(not)m 10(generate)m 11 r 97 c 10(network)m 11(links)m 10(advertisement)m 11(for)m 10(the)m 10(network.)m 14(\(If)m 11(it)m 10(did,)m 11(the)m 0 562 p (transition)s 10(to)m 11 r 97 c 10(new)m 11(Designated)m 10(Router)m 10(would)m 11(be)m 10(even)m 11(faster)m -2 r 46 c 13(However)m 44 c 9(this)m 11(is)m 10 r 97 c 10(tradeof)m 102 c 10(between)m 10(database)m 11(size)m 10(and)m 0 611 p (speed)s 10(of)m 11(conver)m (gence)s 9(when)m 11(the)m 10(Designated)m 11(Router)m 10(disappears.\))m 0 679 p (The)s 10(Backup)m 11(Designated)m 10(Router)m 11(is)m 10(also)m 10(elected)m 11(by)m 10(the)m 11(Hello)m 10(Protocol.)m 14(Each)m 10(Hello)m 11(Packet)m 10(has)m 11 r 97 c 10(\014eld)m 11(that)m 10(speci\014es)m 10(the)m 0 729 p (Backup)s 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network.)m 0 797 p (In)s 10(some)m 11(steps)m 10(of)m 11(the)m 10(\015ooding)m 10(procedure,)m 11(the)m 10(Backup)m 11(Designated)m 10(Router)m 11(plays)m 10 r 97 c 10(passive)m 11(role,)m 10(letting)m 11(the)m 10(Designated)m 0 846 p (Router)s 10(do)m 11(more)m 10(of)m 11(the)m 10(work.)m 14(This)m 10(cuts)m 11(down)m 10(on)m 11(the)m 10(amount)m 10(of)m 11(local)m 10(routing)m 11(traf)m (\014c.)s 13(See)m 10(Section)m 11(13.3)m 10(for)m 11(more)m 0 896 p (information.)s t-bol.360 @sf 0 1033 p (7.5)s 50(The)m 12(graph)m 13(of)m 12(adjacencies)m t-rom.300 @sf 0 1129 p (An)s 10(adjacency)m 11(is)m 10(bound)m 11(to)m 10(the)m 10(network)m 11(that)m 10(the)m 11(two)m 10(routers)m 11(have)m 10(in)m 10(common.)m 14(If)m 11(two)m 10(routers)m 11(have)m 10(multiple)m 10(networks)m 11(in)m 0 1178 p (common,)s 10(they)m 11(may)m 10(have)m 11(multiple)m 10(adjacencies)m 10(between)m 11(them.)m 0 1246 p (One)s 10(can)m 11(picture)m 10(the)m 11(collection)m 10(of)m 10(adjacencies)m 11(on)m 10 r 97 c 11(network)m 10(as)m 11(forming)m 10(an)m 10(undirected)m 11(graph.)m 14(The)m 10(vertices)m 11(consist)m 10(of)m 0 1296 p (routers,)s 10(with)m 11(an)m 10(edge)m 11(joining)m 10(two)m 10(routers)m 11(if)m 10(they)m 11(are)m 10(adjacent.)m 14(The)m 10(graph)m 11(of)m 10(adjacencies)m 11(describes)m 10(the)m 11(\015ow)m 10(of)m 10(routing)m 0 1346 p (protocol)s 10(packets,)m 11(and)m 10(in)m 11(particular)m 10(Link)m 10(State)m 11(Update)m 10(Packets,)m 11(through)m 10(the)m 11(Autonomous)m 10(System.)m 0 1413 p 84 c -2(wo)m 9(graphs)m 11(are)m 10(possible,)m 11(depending)m 10(on)m 11(whether)m 10(the)m 10(common)m 11(network)m 10(is)m 11(multi-access.)m 14(On)m 10(physical)m 10(point-to-point)m 0 1463 p (networks)s 10(\(and)m 11(virtual)m 10(links\),)m 11(the)m 10(two)m 10(routers)m 11(joined)m 10(by)m 11(the)m 10(network)m 11(will)m 10(be)m 10(adjacent)m 11(after)m 10(their)m 11(databases)m 10(have)m 10(been)m 0 1513 p (synchronized.)s 14(On)m 10(multi-access)m 11(networks,)m 10(both)m 11(the)m 10(Designated)m 10(Router)m 11(and)m 10(the)m 11(Backup)m 10(Designated)m 10(Router)m 11(are)m 0 1563 p (adjacent)s 10(to)m 11(all)m 10(other)m 11(routers)m 10(attached)m 10(to)m 11(the)m 10(network,)m 11(and)m 10(these)m 11(account)m 10(for)m 10(all)m 11(adjacencies.)m 0 1631 p (These)s 10(graphs)m 11(are)m 10(shown)m 11(in)m 10(Figure)m 10(10.)m 14(It)m 11(is)m 10(assumed)m 11(that)m 10(Router)m 10 r 82 c -1(T7)m 9(has)m 11(become)m 10(the)m 11(Designated)m 10(Router)m -1 r 44 c 10(and)m 10(Router)m 0 1680 p 82 c -2(T3)m 10(the)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 44 c 10(for)m 10(the)m 11(network)m 10(N2.)m 14(The)m 10(Backup)m 11(Designated)m 10(Router)m 11(performs)m 10 r 97 c 11(lesser)m 10(function)m 0 1730 p (during)s 10(the)m 11(\015ooding)m 10(procedure)m 11(than)m 10(the)m 10(Designated)m 11(Router)m 10(\(see)m 11(Section)m 10(13.3\).)m 14(This)m 10(is)m 11(the)m 10(reason)m 11(for)m 10(the)m 11(dashed)m 10(lines)m 0 1780 p (connecting)s 10(the)m 11(Backup)m 10(Designated)m 11(Router)m 10 r 82 c -1(T3.)m t-bol.420 @sf 0 1938 p 56 c 58(Pr)m (otocol)s 14(Packet)m 14(Pr)m (ocessing)s t-rom.300 @sf 0 2049 p (This)s 10(section)m 11(discusses)m 10(the)m 11(general)m 10(processing)m 10(of)m 11(OSPF)m 10(routing)m 11(protocol)m 10(packets.)m 14(It)m 10(is)m 11(very)m 10(important)m 11(that)m 10(the)m 11(router)m 0 2098 p (topological)s 10(databases)m 11(remain)m 10(synchronized.)m 14(For)m 11(this)m 10(reason,)m 10(routing)m 11(protocol)m 10(packets)m 11(should)m 10(get)m 10(preferential)m 0 2148 p (treatment)s 10(over)m 11(ordinary)m 10(data)m 11(packets,)m 10(both)m 10(in)m 11(sending)m 10(and)m 11(receiving.)m 0 2216 p (Routing)s 10(protocol)m 11(packets)m 10(are)m 11(sent)m 10(along)m 10(adjacencies)m 11(only)m 10(\(with)m 11(the)m 10(exception)m 11(of)m 10(Hello)m 10(packets,)m 11(which)m 10(are)m 11(used)m 10(to)m 0 2266 p (discover)s 10(the)m 11(adjacencies\).)m 14(This)m 10(means)m 11(that)m 10(all)m 10(routing)m 11(protocol)m 10(packets)m 11(travel)m 10 r 97 c 10(single)m 11(IP)m 10(hop,)m 11(except)m 10(those)m 11(sent)m 10(over)m 0 2315 p (virtual)s 10(links.)m 0 2383 p (All)s 10(routing)m 11(protocol)m 10(packets)m 11(begin)m 10(with)m 10 r 97 c 11(standard)m 10(header)m -1 r 46 c 13(The)m 10(sections)m 11(below)m 10(give)m 11(the)m 10(details)m 10(on)m 11(how)m 10(to)m 11(\014ll)m 10(in)m 11(and)m 0 2433 p (verify)s 10(this)m 11(standard)m 10(header)m -1 r 46 c 13(Then,)m 10(for)m 11(each)m 10(packet)m 11(type,)m 10(the)m 10(section)m 11(is)m 10(listed)m 11(that)m 10(gives)m 10(more)m 11(details)m 10(on)m 11(that)m 10(particular)m 0 2483 p (packet)s 10(type')m -1 r 115 c 10(processing.)m 0 2723 p (Moy)s 1710([Page)m 11(29])m @eop 30 @bop0 30 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 2828615 6183485 33417134 47954903 startTexFig %!PS-Adobe-1.0 %%Title: figure10-11.fig %%Creator: f2ps %%CreationDate: Fri Mar 19 15:01:00 1993 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 43 94 508 729 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 428.572 557.580 moveto 436.000 554.000 lineto 431.130 560.655 lineto stroke newpath 462.633 586.000 41.633 129.770 -129.770 arc stroke newpath 444.605 560.840 moveto 440.000 554.000 lineto 447.283 557.869 lineto stroke newpath 473.961 516.301 50.740 46.326 132.014 arc stroke newpath 432.429 545.567 moveto 436.000 553.000 lineto 429.351 548.122 lineto stroke newpath 479.703 516.723 56.798 -143.577 140.305 arcn stroke newpath 503.501 546.855 moveto 509.000 553.000 lineto 501.256 550.165 lineto stroke newpath 472.716 606.507 64.649 -125.690 -55.858 arc stroke newpath 444.060 613.738 moveto 437.000 618.000 lineto 441.223 610.917 lineto stroke newpath 405.316 586.487 44.687 -46.635 44.845 arc stroke newpath 439.746 488.914 moveto 434.000 483.000 lineto 441.854 485.514 lineto stroke newpath 411.490 519.320 42.729 56.619 -58.211 arcn stroke newpath 157.422 253.854 35.422 -107.111 105.426 arcn stroke newpath 300.511 253.326 36.527 -70.007 71.668 arc stroke % Ellipse newpath 408 95 4 4 0 360 DrawEllipse stroke % Ellipse newpath 520 95 4 4 0 360 DrawEllipse stroke % Ellipse newpath 407 330 4 4 0 360 DrawEllipse stroke % Ellipse newpath 471 331 4 4 0 360 DrawEllipse stroke % Ellipse newpath 539 331 4 4 0 360 DrawEllipse stroke % Ellipse newpath 439 203 4 4 0 360 DrawEllipse stroke % Ellipse newpath 510 203 4 4 0 360 DrawEllipse stroke % Ellipse newpath 537 555 27 27 0 360 DrawEllipse stroke % Ellipse newpath 435 645 27 27 0 360 DrawEllipse stroke % Ellipse newpath 431 455 27 27 0 360 DrawEllipse stroke % Ellipse newpath 295 646 27 27 0 360 DrawEllipse stroke % Ellipse newpath 288 454 27 27 0 360 DrawEllipse stroke % Ellipse newpath 133 558 27 27 0 360 DrawEllipse stroke % Ellipse newpath 137 457 27 27 0 360 DrawEllipse stroke % Polyline newpath 317 630 moveto 365 557 lineto 435 553 lineto stroke newpath 426.899 551.460 moveto 435.000 553.000 lineto 427.127 555.453 lineto stroke % Polyline newpath 226 560 moveto 293 619 lineto stroke newpath 288.318 612.212 moveto 293.000 619.000 lineto 285.674 615.214 lineto stroke % Polyline newpath 228 558 moveto 283 482 lineto stroke newpath 276.690 487.308 moveto 283.000 482.000 lineto 279.930 489.653 lineto stroke % Polyline newpath 135 485 moveto 135 530 lineto stroke newpath 137.000 522.000 moveto 135.000 530.000 lineto 133.000 522.000 lineto stroke % Polyline newpath 201 74 moveto 169 74 lineto 169 106 lineto 201 106 lineto closepath stroke % Polyline newpath 304 75 moveto 272 75 lineto 272 107 lineto 304 107 lineto closepath stroke % Polyline newpath 202 89 moveto 271 89 lineto stroke % Polyline newpath 412 96 moveto 514 96 lineto stroke % Polyline newpath 100 241 moveto 68 241 lineto 68 273 lineto 100 273 lineto closepath stroke % Polyline newpath 284 314 moveto 252 314 lineto 252 346 lineto 284 346 lineto closepath stroke % Polyline newpath 200 313 moveto 168 313 lineto 168 345 lineto 200 345 lineto closepath stroke % Polyline newpath 282 166 moveto 250 166 lineto 250 198 lineto 282 198 lineto closepath stroke % Polyline newpath 201 166 moveto 169 166 lineto 169 198 lineto 201 198 lineto closepath stroke % Polyline newpath 147 288 moveto 311 288 lineto stroke % Polyline newpath 147 219 moveto 311 219 lineto stroke % Polyline newpath 100 255 moveto 122 255 lineto stroke % Polyline newpath 185 198 moveto 185 218 lineto stroke % Polyline newpath 265 198 moveto 265 219 lineto stroke % Polyline newpath 185 288 moveto 185 313 lineto stroke % Polyline newpath 269 289 moveto 269 314 lineto stroke % Polyline newpath 438 207 moveto 410 325 lineto stroke % Polyline newpath 444 204 moveto 505 204 lineto 505 203 lineto stroke % Polyline newpath 442 207 moveto 470 326 lineto 470 325 lineto stroke % Polyline newpath 442 206 moveto 537 325 lineto stroke [4.000000] 0 setdash % Polyline newpath 510 207 moveto 412 326 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 511 207 moveto 473 326 lineto stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 511 207 moveto 539 328 lineto stroke [] 0 setdash % Polyline newpath 157 558 moveto 228 558 lineto stroke newpath 220.000 556.000 moveto 228.000 558.000 lineto 220.000 560.000 lineto stroke /Courier findfont 12.222222 scalefont setfont 450 578 moveto 1 -1 scale (Neighbor) show 1 -1 scale 454 591 moveto 1 -1 scale (Changes) show 1 -1 scale 55 512 moveto 1 -1 scale (UnloopInd) show 1 -1 scale 168 736 moveto 1 -1 scale (* LoopInd forces Loopback state) show 1 -1 scale 181 399 moveto 1 -1 scale (Figure 10: The graph of adjacencies) show 1 -1 scale 175 92 moveto 1 -1 scale (RT1) show 1 -1 scale 278 94 moveto 1 -1 scale (RT2) show 1 -1 scale 176 185 moveto 1 -1 scale (RT3) show 1 -1 scale 256 184 moveto 1 -1 scale (RT4) show 1 -1 scale 172 331 moveto 1 -1 scale (RT5) show 1 -1 scale 259 329 moveto 1 -1 scale (RT6) show 1 -1 scale 73 259 moveto 1 -1 scale (RT7) show 1 -1 scale 396 82 moveto 1 -1 scale (RT1) show 1 -1 scale 511 82 moveto 1 -1 scale (RT2) show 1 -1 scale 499 190 moveto 1 -1 scale (RT3) show 1 -1 scale 527 354 moveto 1 -1 scale (RT4) show 1 -1 scale 395 355 moveto 1 -1 scale (RT5) show 1 -1 scale 460 354 moveto 1 -1 scale (RT6) show 1 -1 scale 428 191 moveto 1 -1 scale (RT7) show 1 -1 scale 227 107 moveto 1 -1 scale (N1) show 1 -1 scale 223 253 moveto 1 -1 scale (N2) show 1 -1 scale 173 769 moveto 1 -1 scale (Figure 11: Interface state changes) show 1 -1 scale 412 648 moveto 1 -1 scale (Backup) show 1 -1 scale 518 566 moveto 1 -1 scale (Other) show 1 -1 scale 528 550 moveto 1 -1 scale (DR) show 1 -1 scale 422 457 moveto 1 -1 scale (DR) show 1 -1 scale 282 658 moveto 1 -1 scale (ing) show 1 -1 scale 279 643 moveto 1 -1 scale (Wait-) show 1 -1 scale 121 466 moveto 1 -1 scale (Back) show 1 -1 scale 119 452 moveto 1 -1 scale (Loop-) show 1 -1 scale 277 459 moveto 1 -1 scale (P-P) show 1 -1 scale 112 559 moveto 1 -1 scale (Down) show 1 -1 scale 181 549 moveto 1 -1 scale (Up) show 1 -1 scale 340 609 moveto 1 -1 scale (Wait) show 1 -1 scale 337 624 moveto 1 -1 scale (Timer) show 1 -1 scale 162 534 moveto 1 -1 scale (Interface) show 1 -1 scale 305 571 moveto 1 -1 scale (Backup) show 1 -1 scale 312 585 moveto 1 -1 scale (Seen) show 1 -1 scale 358 509 moveto 1 -1 scale (Neighbor) show 1 -1 scale 367 522 moveto 1 -1 scale (Changes) show 1 -1 scale 358 586 moveto 1 -1 scale (Neighbor) show 1 -1 scale 367 599 moveto 1 -1 scale (Changes) show 1 -1 scale 168 719 moveto 1 -1 scale (* InterfaceDown forces Down state) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1710([Page)m 11(30])m @eop 31 @bop0 31 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (8.1)s 50(Sending)m 12(pr)m (otocol)s 12(packets)m t-rom.300 @sf 0 291 p (When)s 10 r 97 c 11(router)m 10(sends)m 11 r 97 c 10(routing)m 10(protocol)m 11(packet,)m 10(it)m 11(\014lls)m 10(in)m 11(the)m 10(\014elds)m 10(of)m 11(the)m 10(standard)m 11(OSPF)m 10(packet)m 10(header)m 11(as)m 10(follows.)m 0 341 p (For)s 10(more)m 11(details)m 10(on)m 11(the)m 10(header)m 10(format)m 11(consult)m 10(Section)m 11(A.3.1:)m t-bol.300 @sf 0 450 p 86 c -3(ersion)m 10 r 35 c t-rom.300 @sf 61(Set)m 11(to)m 10(2,)m 10(the)m 11(version)m 10(number)m 11(of)m 10(the)m 11(protocol)m 10(as)m 10(documented)m 11(in)m 10(this)m 11(speci\014cation.)m t-bol.300 @sf 0 533 p (Packet)s 10(type)m t-rom.300 @sf 21(The)m 11(type)m 10(of)m 10(OSPF)m 11(packet,)m 10(such)m 11(as)m 10(Link)m 11(state)m 10(Update)m 10(or)m 11(Hello)m 10(Packet.)m t-bol.300 @sf 0 616 p (Packet)s 10(length)m t-rom.300 @sf 21(The)m 11(length)m 10(of)m 10(the)m 11(entire)m 10(OSPF)m 11(packet)m 10(in)m 11(bytes,)m 10(including)m 10(the)m 11(standard)m 10(OSPF)m 11(packet)m 10(header)m -1 r 46 c t-bol.300 @sf 0 699 p (Router)s 10(ID)m t-rom.300 @sf 47(The)m 10(identity)m 10(of)m 11(the)m 10(router)m 11(itself)m 10(\(who)m 11(is)m 10(originating)m 10(the)m 11(packet\).)m t-bol.300 @sf 0 782 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 84(The)m 10(OSPF)m 11(area)m 10(that)m 10(the)m 11(packet)m 10(is)m 11(being)m 10(sent)m 10(into.)m t-bol.300 @sf 0 865 p (Checksum)s t-rom.300 @sf 40(The)m 11(standard)m 10(IP)m 11(16-bit)m 10(one')m -1 r 115 c 9(complement)m 11(checksum)m 10(of)m 10(the)m 11(entire)m 10(OSPF)m 11(packet,)m 10(excluding)m 11(the)m 10(64-bit)m 228 915 p (authentication)s 10(\014eld.)m 14(This)m 11(checksum)m 10(should)m 10(be)m 11(calculated)m 10(before)m 11(handing)m 10(the)m 11(packet)m 10(to)m 10(the)m 11(appropriate)m 228 965 p (authentication)s 10(procedure.)m t-bol.300 @sf 0 1048 p (AuT)s -2(ype)m 9(and)m 11(Authentication)m t-rom.300 @sf 21(Each)m 10(OSPF)m 10(packet)m 11(exchange)m 10(is)m 11(authenticated.)m 13(Authentication)m 11(types)m 10(are)m 11(assigned)m 10(by)m 228 1097 p (the)s 10(protocol)m 11(and)m 10(documented)m 11(in)m 10(Appendix)m 10(D.)m 14 r 65 c 11(dif)m (ferent)s 9(authentication)m 11(scheme)m 10(can)m 11(be)m 10(used)m 10(for)m 11(each)m 228 1147 p (OSPF)s 10(area.)m 14(The)m 11(64-bit)m 10(authentication)m 10(\014eld)m 11(is)m 10(set)m 11(by)m 10(the)m 11(appropriate)m 10(authentication)m 10(procedure)m 228 1197 p (\(determined)s 10(by)m 11(AuT)m -2(ype\).)m 13(This)m 10(procedure)m 11(should)m 10(be)m 10(the)m 11(last)m 10(called)m 11(when)m 10(forming)m 10(the)m 11(packet)m 10(to)m 11(be)m 10(sent.)m 228 1247 p (The)s 10(setting)m 11(of)m 10(the)m 11(authentication)m 10(\014eld)m 10(is)m 11(determined)m 10(by)m 11(the)m 10(packet)m 10(contents)m 11(and)m 10(the)m 11(authentication)m 10(key)m 228 1297 p (\(which)s 10(is)m 11(con\014gurable)m 10(on)m 11 r 97 c 10(per)m (-interface)s 10(basis\).)m 0 1406 p (The)s 10(IP)m 11(destination)m 10(address)m 11(for)m 10(the)m 10(packet)m 11(is)m 10(selected)m 11(as)m 10(follows.)m 14(On)m 10(physical)m 11(point-to-point)m 10(networks,)m 11(the)m 10(IP)m 0 1456 p (destination)s 10(is)m 11(always)m 10(set)m 11(to)m 10(the)m 10(address)m 11(AllSPFRouters.)m 14(On)m 10(all)m 11(other)m 10(network)m 10(types)m 11(\(including)m 10(virtual)m 11(links\),)m 10(the)m 0 1505 p (majority)s 10(of)m 11(OSPF)m 10(packets)m 11(are)m 10(sent)m 10(as)m 11(unicasts,)m 10(i.e.,)m 11(sent)m 10(directly)m 11(to)m 10(the)m 10(other)m 11(end)m 10(of)m 11(the)m 10(adjacency)m -2 r 46 c 13(In)m 11(this)m 10(case,)m 11(the)m 10(IP)m 0 1555 p (destination)s 10(is)m 10(just)m 10(the)m t-bol.300 @sf 10(Neighbor)m 10(IP)m 10(addr)m (ess)s t-rom.300 @sf 9(associated)m 10(with)m 10(the)m 10(other)m 10(end)m 10(of)m 10(the)m 10(adjacency)m 10(\(see)m 9(Section)m 10(10\).)m 14(The)m 10(only)m 0 1605 p (packets)s 10(not)m 11(sent)m 10(as)m 11(unicasts)m 10(are)m 10(on)m 11(broadcast)m 10(networks;)m 11(on)m 10(these)m 11(networks)m 10(Hello)m 10(packets)m 11(are)m 10(sent)m 11(to)m 10(the)m 10(multicast)m 0 1655 p (destination)s 10(AllSPFRouters,)m 11(the)m 10(Designated)m 11(Router)m 10(and)m 10(its)m 11(Backup)m 10(send)m 11(both)m 10(Link)m 11(State)m 10(Update)m 10(Packets)m 11(and)m 10(Link)m 0 1705 p (State)s 10(Acknowledgment)m 11(Packets)m 10(to)m 11(the)m 10(multicast)m 10(address)m 11(AllSPFRouters,)m 10(while)m 11(all)m 10(other)m 11(routers)m 10(send)m 10(both)m 11(their)m 10(Link)m 0 1754 p (State)s 10(Update)m 11(and)m 10(Link)m 11(State)m 10(Acknowledgment)m 10(Packets)m 11(to)m 10(the)m 11(multicast)m 10(address)m 11(AllDRouters.)m 0 1822 p (Retransmissions)s 10(of)m 11(Link)m 10(State)m 11(Update)m 10(packets)m 10(are)m 11(AL)m -2 r 87 c -5 r 65 c -4(YS)m 10(sent)m 10(as)m 11(unicasts.)m 0 1890 p (The)s 10(IP)m 11(source)m 10(address)m 11(should)m 10(be)m 10(set)m 11(to)m 10(the)m 11(IP)m 10(address)m 11(of)m 10(the)m 10(sending)m 11(interface.)m 14(Interfaces)m 10(to)m 11(unnumbered)m 0 1940 p (point-to-point)s 10(networks)m 11(have)m 10(no)m 11(associated)m 10(IP)m 10(address.)m 14(On)m 11(these)m 10(interfaces,)m 11(the)m 10(IP)m 10(source)m 11(should)m 10(be)m 11(set)m 10(to)m 11(any)m 10(of)m 10(the)m 0 1989 p (other)s 10(IP)m 11(addresses)m 10(belonging)m 11(to)m 10(the)m 10(router)m -1 r 46 c 13(For)m 11(this)m 10(reason,)m 10(there)m 11(must)m 10(be)m 11(at)m 10(least)m 10(one)m 11(IP)m 10(address)m 11(assigned)m 10(to)m 11(the)m 0 2039 p (router)s -1 r 46 c t-rom.210 @sf 122 2024 p 50 c t-rom.300 @sf 152 2039 p (Note)s 10(that,)m 11(for)m 10(most)m 11(purposes,)m 10(virtual)m 11(links)m 10(act)m 10(precisely)m 11(the)m 10(same)m 11(as)m 10(unnumbered)m 10(point-to-point)m 11(networks.)m 0 2089 p (However)s -1 r 44 c 10(each)m 10(virtual)m 11(link)m 10(does)m 10(have)m 11(an)m t-bol.300 @sf 10(IP)m 11(interface)m 10(addr)m (ess)s t-rom.300 @sf 10(\(discovered)m 10(during)m 11(the)m 10(routing)m 10(table)m 11(build)m 10(process\))m 0 2139 p (which)s 10(is)m 11(used)m 10(as)m 11(the)m 10(IP)m 10(source)m 11(when)m 10(sending)m 11(packets)m 10(over)m 11(the)m 10(virtual)m 10(link.)m 0 2207 p (For)s 10(more)m 11(information)m 10(on)m 11(the)m 10(format)m 10(of)m 11(speci\014c)m 10(OSPF)m 11(packet)m 10(types,)m 11(consult)m 10(the)m 10(sections)m 11(listed)m 10(in)m 11 r 84 c -2(able)m 9(10.)m 0 2242 p 780 2 ru t-rom.180 @sf 45 2270 p 50 c t-rom.240 @sf 60 2282 p (It)s 9(is)m 10(possible)m 9(for)m 10(all)m 9(of)m 10 r 97 c 9(router)m 1 r 39 c 115 c 8(interfaces)m 10(to)m 9(be)m 9(unnumbered)m 10(point-to-point)m 9(links.)m 15(In)m 9(this)m 10(case,)m 10(an)m 9(IP)m 9(address)m 10(must)m 9(be)m 10(assigned)m 9(to)m 10(the)m 9(router)m -1 r 46 c 0 2321 p (This)s 8(address)m 9(will)m 8(then)m 8(be)m 9(advertised)m 8(in)m 8(the)m 9(router)m 1 r 39 c -1 r 115 c 7(router)m 9(links)m 8(advertisement)m 8(as)m 9 r 97 c 8(host)m 8(route.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(31])m @eop 32 @bop0 32 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 467 201 p 1016 2 ru 466 251 p 2 50 ru t-ita.300 @sf 492 236 p 84 c -2(ype)m 594 251 p 2 50 ru 620 236 p (Packet)s 10(name)m 992 251 p 2 50 ru 1018 236 p (detailed)s 10(section)m 11(\(transmit\))m 1482 251 p 2 50 ru 467 252 p 1016 2 ru 466 302 p 2 50 ru t-rom.300 @sf 521 287 p 49 c 594 302 p 2 50 ru 620 287 p (Hello)s 992 302 p 2 50 ru 1018 287 p (Section)s 10(9.5)m 1482 302 p 2 50 ru 466 352 p 2 50 ru 521 337 p 50 c 594 352 p 2 50 ru 620 337 p (Database)s 10(description)m 992 352 p 2 50 ru 1018 337 p (Section)s 10(10.8)m 1482 352 p 2 50 ru 466 402 p 2 50 ru 521 387 p 51 c 594 402 p 2 50 ru 620 387 p (Link)s 10(state)m 11(request)m 992 402 p 2 50 ru 1018 387 p (Section)s 10(10.9)m 1482 402 p 2 50 ru 466 452 p 2 50 ru 521 437 p 52 c 594 452 p 2 50 ru 620 437 p (Link)s 10(state)m 11(update)m 992 452 p 2 50 ru 1018 437 p (Section)s 10(13.3)m 1482 452 p 2 50 ru 466 501 p 2 50 ru 521 486 p 53 c 594 501 p 2 50 ru 620 486 p (Link)s 10(state)m 11(ack)m 992 501 p 2 50 ru 1018 486 p (Section)s 10(13.5)m 1482 501 p 2 50 ru 467 503 p 1016 2 ru 423 640 p 84 c -2(able)m 9(10:)m 14(Sections)m 10(describing)m 11(OSPF)m 10(protocol)m 11(packet)m 10(transmission.)m t-bol.360 @sf 0 770 p (8.2)s 50(Receiving)m 12(pr)m (otocol)s 12(packets)m t-rom.300 @sf 0 864 p (Whenever)s 10 r 97 c 11(protocol)m 10(packet)m 11(is)m 10(received)m 10(by)m 11(the)m 10(router)m 11(it)m 10(is)m 11(marked)m 10(with)m 10(the)m 11(interface)m 10(it)m 11(was)m 10(received)m 10(on.)m 14(For)m 11(routers)m 0 914 p (that)s 10(have)m 11(virtual)m 10(links)m 11(con\014gured,)m 10(it)m 10(may)m 11(not)m 10(be)m 11(immediately)m 10(obvious)m 11(which)m 10(interface)m 10(to)m 11(associate)m 10(the)m 11(packet)m 10(with.)m 0 964 p (For)s 10(example,)m 11(consider)m 10(the)m 11(router)m 10 r 82 c -1(T1)m -2 r 49 c 9(depicted)m 11(in)m 10(Figure)m 11(6.)m 14(If)m 10 r 82 c -1(T1)m -2 r 49 c 9(receives)m 11(an)m 10(OSPF)m 11(protocol)m 10(packet)m 10(on)m 11(its)m 0 1014 p (interface)s 10(to)m 11(Network)m 10(N8,)m 11(it)m 10(may)m 10(want)m 11(to)m 10(associate)m 11(the)m 10(packet)m 11(with)m 10(the)m 10(interface)m 11(to)m 10(Area)m 11(2,)m 10(or)m 10(with)m 11(the)m 10(virtual)m 11(link)m 10(to)m 0 1063 p (Router)s 10 r 82 c -1(T10)m 9(\(which)m 11(is)m 10(part)m 11(of)m 10(the)m 10(backbone\).)m 14(In)m 11(the)m 10(following,)m 11(we)m 10(assume)m 10(that)m 11(the)m 10(packet)m 11(is)m 10(initially)m 10(associated)m 11(with)m 0 1113 p (the)s 10(non-virtual)m 11(link.)m t-rom.210 @sf 346 1098 p 51 c t-rom.300 @sf 0 1179 p (In)s 10(order)m 11(for)m 10(the)m 11(packet)m 10(to)m 10(be)m 11(accepted)m 10(at)m 11(the)m 10(IP)m 11(level,)m 10(it)m 10(must)m 11(pass)m 10 r 97 c 11(number)m 10(of)m 10(tests,)m 11(even)m 10(before)m 11(the)m 10(packet)m 11(is)m 10(passed)m 0 1229 p (to)s 10(OSPF)m 11(for)m 10(processing:)m cmsy10.300 @sf 62 1332 p 15 c t-rom.300 @sf 21(The)m 10(IP)m 11(checksum)m 10(must)m 11(be)m 10(correct.)m cmsy10.300 @sf 62 1414 p 15 c t-rom.300 @sf 21(The)m 10(packet')m -1 r 115 c 10(IP)m 10(destination)m 10(address)m 11(must)m 10(be)m 11(the)m 10(IP)m 10(address)m 11(of)m 10(the)m 11(receiving)m 10(interface,)m 11(or)m 10(one)m 10(of)m 11(the)m 10(IP)m 11(multicast)m 104 1463 p (addresses)s 10(AllSPFRouters)m 11(or)m 10(AllDRouters.)m cmsy10.300 @sf 62 1545 p 15 c t-rom.300 @sf 21(The)m 10(IP)m 11(protocol)m 10(speci\014ed)m 11(must)m 10(be)m 11(OSPF)m 10(\(89\).)m cmsy10.300 @sf 62 1626 p 15 c t-rom.300 @sf 21(Locally)m 10(originated)m 10(packets)m 10(should)m 10(not)m 10(be)m 10(passed)m 10(on)m 10(to)m 10(OSPF)m -2 r 46 c 9(That)m 10(is,)m 10(the)m 10(source)m 10(IP)m 10(address)m 10(should)m 10(be)m 10(examined)m 104 1676 p (to)s 10(make)m 11(sure)m 10(this)m 10(is)m 11(not)m 10 r 97 c 11(multicast)m 10(packet)m 11(that)m 10(the)m 10(router)m 11(itself)m 10(generated.)m 0 1779 p (Next,)s 10(the)m 11(OSPF)m 10(packet)m 11(header)m 10(is)m 10(veri\014ed.)m 14(The)m 11(\014elds)m 10(speci\014ed)m 11(in)m 10(the)m 10(header)m 11(must)m 10(match)m 11(those)m 10(con\014gured)m 11(for)m 10(the)m 0 1829 p (receiving)s 10(interface.)m 14(If)m 11(they)m 10(do)m 11(not,)m 10(the)m 10(packet)m 11(should)m 10(be)m 11(discarded:)m cmsy10.300 @sf 62 1932 p 15 c t-rom.300 @sf 21(The)m 10(version)m 11(number)m 10(\014eld)m 11(must)m 10(specify)m 11(protocol)m 10(version)m 10(2.)m cmsy10.300 @sf 62 2014 p 15 c t-rom.300 @sf 21(The)m 10(16-bit)m 11(one')m -1 r 115 c 9(complement)m 10(checksum)m 11(of)m 10(the)m 11(OSPF)m 10(packet')m -1 r 115 c 9(contents)m 11(must)m 10(be)m 10(veri\014ed.)m 14(Remember)m 11(that)m 10(the)m 104 2064 p (64-bit)s 10(authentication)m 11(\014eld)m 10(must)m 10(be)m 11(excluded)m 10(from)m 11(the)m 10(checksum)m 11(calculation.)m cmsy10.300 @sf 62 2145 p 15 c t-rom.300 @sf 21(The)m 10(Area)m 11(ID)m 10(found)m 11(in)m 10(the)m 11(OSPF)m 10(header)m 10(must)m 11(be)m 10(veri\014ed.)m 14(If)m 10(both)m 11(of)m 10(the)m 11(following)m 10(cases)m 11(fail,)m 10(the)m 10(packet)m 11(should)m 104 2195 p (be)s 10(discarded.)m 14(The)m 10(Area)m 11(ID)m 10(speci\014ed)m 11(in)m 10(the)m 11(header)m 10(must)m 10(either:)m 143 2276 p (1.)s t-ita.300 @sf 21(Match)m 10(the)m 11(Ar)m -1(ea)m 10(ID)m 10(of)m 10(the)m 11 r 114 c -1(eceiving)m 10(interface)m t-rom.300 @sf 46 c 14(In)m 10(this)m 10(case,)m 11(the)m 10(packet)m 11(has)m 10(been)m 10(sent)m 11(over)m 10 r 97 c 11(single)m 10(hop.)m 195 2326 p (Therefore,)s 11(the)m 10(packet')m -1 r 115 c 9(IP)m 10(source)m 11(address)m 10(must)m 11(be)m 10(on)m 11(the)m 10(same)m 10(network)m 11(as)m 10(the)m 11(receiving)m 10(interface.)m 14(This)m 195 2376 p (can)s 11(be)m 10(determined)m 10(by)m 11(comparing)m 10(the)m 11(packet')m -2 r 115 c 10(IP)m 10(source)m 11(address)m 10(to)m 10(the)m 11(interface')m -1 r 115 c 9(IP)m 10(address,)m 11(after)m 195 2426 p (masking)s 11(both)m 10(addresses)m 10(with)m 11(the)m 10(interface)m 11(mask.)m 13(This)m 11(comparison)m 10(should)m 11(not)m 10(be)m 11(performed)m 10(on)m 195 2475 p (point-to-point)s 11(networks.)m 13(On)m 11(point-to-point)m 10(networks,)m 11(the)m 10(interface)m 10(addresses)m 11(of)m 10(each)m 11(end)m 10(of)m 11(the)m 10(link)m 10(are)m 195 2525 p (assigned)s 11(independently)m -2 r 44 c 9(if)m 11(they)m 10(are)m 10(assigned)m 11(at)m 10(all.)m 0 2559 p 780 2 ru t-rom.180 @sf 45 2587 p 51 c t-rom.240 @sf 60 2599 p (Note)s 8(that)m 9(in)m 8(these)m 8(cases)m 9(both)m 8(interfaces,)m 8(the)m 9(non-virtual)m 8(and)m 8(the)m 9(virtual,)m 8(would)m 8(have)m 9(the)m 8(same)m 8(IP)m 9(address.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(32])m @eop 33 @bop0 33 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 143 195 p (2.)s t-ita.300 @sf 21(Indicate)m 10(the)m 11(backbone.)m t-rom.300 @sf 14(In)m 10(this)m 10(case,)m 11(the)m 10(packet)m 11(has)m 10(been)m 10(sent)m 11(over)m 10 r 97 c 11(virtual)m 10(link.)m 14(The)m 10(receiving)m 11(router)m 195 245 p (must)s 11(be)m 10(an)m 10(area)m 11(border)m 10(router)m 44 c 9(and)m 10(the)m 11(Router)m 10(ID)m 11(speci\014ed)m 10(in)m 10(the)m 11(packet)m 10(\(the)m 11(source)m 10(router\))m 11(must)m 10(be)m 10(the)m 195 295 p (other)s 11(end)m 10(of)m 10 r 97 c 11(con\014gured)m 10(virtual)m 11(link.)m 13(The)m 11(receiving)m 10(interface)m 11(must)m 10(also)m 11(attach)m 10(to)m 10(the)m 11(virtual)m 10(link')m -1 r 115 c 195 345 p (con\014gured)s 11 r 84 c -1(ransit)m 9(area.)m 14(If)m 11(all)m 10(of)m 11(these)m 10(checks)m 10(succeed,)m 11(the)m 10(packet)m 11(is)m 10(accepted)m 11(and)m 10(is)m 10(from)m 11(now)m 10(on)m 195 394 p (associated)s 11(with)m 10(the)m 10(virtual)m 11(link)m 10(\(and)m 11(the)m 10(backbone)m 10(area\).)m cmsy10.300 @sf 62 477 p 15 c t-rom.300 @sf 21(Packets)m 10(whose)m 11(IP)m 10(destination)m 11(is)m 10(AllDRouters)m 11(should)m 10(only)m 10(be)m 11(accepted)m 10(if)m 11(the)m 10(state)m 10(of)m 11(the)m 10(receiving)m 11(interface)m 10(is)m t-bol.300 @sf 104 527 p (DR)s t-rom.300 @sf 10(or)m t-bol.300 @sf 11(Backup)m t-rom.300 @sf 10(\(see)m 10(Section)m 11(9.1\).)m cmsy10.300 @sf 62 610 p 15 c t-rom.300 @sf 21(The)m 10(AuT)m -1(ype)m 9(speci\014ed)m 10(in)m 11(the)m 10(packet)m 11(must)m 10(match)m 10(the)m 11(AuT)m -2(ype)m 9(speci\014ed)m 11(for)m 10(the)m 11(associated)m 10(area.)m 0 719 p (Next,)s 10(the)m 11(packet)m 10(must)m 11(be)m 10(authenticated.)m 14(This)m 10(depends)m 11(on)m 10(the)m 11(AuT)m -2(ype)m 9(speci\014ed)m 11(\(see)m 10(Appendix)m 10(D\).)m 11(The)m 10(authentication)m 0 769 p (procedure)s 10(may)m 11(use)m 10(an)m 11(Authentication)m 10(key)m -2 r 44 c 10(which)m 10(can)m 11(be)m 10(con\014gured)m 10(on)m 11 r 97 c 10(per)m (-interface)s 10(basis.)m 14(If)m 10(the)m 11(authentication)m 0 819 p (fails,)s 10(the)m 11(packet)m 10(should)m 11(be)m 10(discarded.)m 0 887 p (If)s 10(the)m 11(packet)m 10(type)m 11(is)m 10(Hello,)m 10(it)m 11(should)m 10(then)m 11(be)m 10(further)m 11(processed)m 10(by)m 10(the)m 11(Hello)m 10(Protocol)m 11(\(see)m 10(Section)m 10(10.5\).)m 14(All)m 11(other)m 0 937 p (packet)s 10(types)m 11(are)m 10(sent/received)m 11(only)m 10(on)m 10(adjacencies.)m 14(This)m 11(means)m 10(that)m 11(the)m 10(packet)m 10(must)m 11(have)m 10(been)m 11(sent)m 10(by)m 11(one)m 10(of)m 10(the)m 0 986 p (router)s 2 r 39 c -2 r 115 c 10(active)m 10(neighbors.)m 14(If)m 10(the)m 11(receiving)m 10(interface)m 11(is)m 10 r 97 c 10(multi-access)m 11(network)m 10(\(either)m 11(broadcast)m 10(or)m 11(non-broadcast\))m 10(the)m 0 1036 p (sender)s 10(is)m 11(identi\014ed)m 10(by)m 11(the)m 10(IP)m 10(source)m 11(address)m 10(found)m 11(in)m 10(the)m 11(packet')m -2 r 115 c 10(IP)m 10(header)m -1 r 46 c 13(If)m 10(the)m 11(receiving)m 10(interface)m 10(is)m 11 r 97 c 0 1086 p (point-to-point)s 10(link)m 11(or)m 10 r 97 c 11(virtual)m 10(link,)m 10(the)m 11(sender)m 10(is)m 11(identi\014ed)m 10(by)m 11(the)m 10(Router)m 10(ID)m 11(\(source)m 10(router\))m 11(found)m 10(in)m 10(the)m 11(packet')m -1 r 115 c 0 1136 p (OSPF)s 10(header)m -1 r 46 c 13(The)m 10(data)m 11(structure)m 10(associated)m 11(with)m 10(the)m 11(receiving)m 10(interface)m 10(contains)m 11(the)m 10(list)m 11(of)m 10(active)m 10(neighbors.)m 14(Packets)m 0 1186 p (not)s 10(matching)m 11(any)m 10(active)m 11(neighbor)m 10(are)m 10(discarded.)m 0 1253 p (At)s 10(this)m 11(point)m 10(all)m 11(received)m 10(protocol)m 10(packets)m 11(are)m 10(associated)m 11(with)m 10(an)m 11(active)m 10(neighbor)m -1 r 46 c 13(For)m 10(the)m 10(further)m 11(input)m 10(processing)m 11(of)m 0 1303 p (speci\014c)s 10(packet)m 11(types,)m 10(consult)m 11(the)m 10(sections)m 10(listed)m 11(in)m 10 r 84 c -2(able)m 10 r 49 c -1(1.)m 477 1409 p 996 2 ru 477 1459 p 2 50 ru t-ita.300 @sf 502 1444 p 84 c -2(ype)m 604 1459 p 2 50 ru 630 1444 p (Packet)s 10(name)m 1002 1459 p 2 50 ru 1028 1444 p (detailed)s 10(section)m 11(\(r)m -1(eceive\))m 1472 1459 p 2 50 ru 477 1461 p 996 2 ru 477 1511 p 2 50 ru t-rom.300 @sf 531 1496 p 49 c 604 1511 p 2 50 ru 630 1496 p (Hello)s 1002 1511 p 2 50 ru 1028 1496 p (Section)s 10(10.5)m 1472 1511 p 2 50 ru 477 1560 p 2 50 ru 531 1545 p 50 c 604 1560 p 2 50 ru 630 1545 p (Database)s 10(description)m 1002 1560 p 2 50 ru 1028 1545 p (Section)s 10(10.6)m 1472 1560 p 2 50 ru 477 1610 p 2 50 ru 531 1595 p 51 c 604 1610 p 2 50 ru 630 1595 p (Link)s 10(state)m 11(request)m 1002 1610 p 2 50 ru 1028 1595 p (Section)s 10(10.7)m 1472 1610 p 2 50 ru 477 1660 p 2 50 ru 531 1645 p 52 c 604 1660 p 2 50 ru 630 1645 p (Link)s 10(state)m 11(update)m 1002 1660 p 2 50 ru 1028 1645 p (Section)s 10(13)m 1472 1660 p 2 50 ru 477 1710 p 2 50 ru 531 1695 p 53 c 604 1710 p 2 50 ru 630 1695 p (Link)s 10(state)m 11(ack)m 1002 1710 p 2 50 ru 1028 1695 p (Section)s 10(13.7)m 1472 1710 p 2 50 ru 477 1711 p 996 2 ru 451 1848 p 84 c -2(able)m 10 r 49 c -1(1:)m 13(Sections)m 10(describing)m 11(OSPF)m 10(protocol)m 11(packet)m 10(reception.)m t-bol.420 @sf 0 2047 p 57 c 58(The)m 15(Interface)m 14(Data)m 15(Structur)m 101 c t-rom.300 @sf 0 2158 p (An)s 10(OSPF)m 11(interface)m 10(is)m 11(the)m 10(connection)m 10(between)m 11 r 97 c 10(router)m 11(and)m 10 r 97 c 11(network.)m 13(There)m 11(is)m 10 r 97 c 11(single)m 10(OSPF)m 11(interface)m 10(structure)m 10(for)m 0 2208 p (each)s 10(attached)m 11(network;)m 10(each)m 11(interface)m 10(structure)m 10(has)m 11(at)m 10(most)m 11(one)m 10(IP)m 11(interface)m 10(address)m 10(\(see)m 11(below\).)m 14(The)m 10(support)m 11(for)m 0 2258 p (multiple)s 10(addresses)m 11(on)m 10 r 97 c 11(single)m 10(network)m 10(is)m 11 r 97 c 10(matter)m 11(for)m 10(future)m 11(consideration.)m 0 2325 p (An)s 10(OSPF)m 11(interface)m 10(can)m 11(be)m 10(considered)m 10(to)m 11(belong)m 10(to)m 11(the)m 10(area)m 11(that)m 10(contains)m 10(the)m 11(attached)m 10(network.)m 14(All)m 11(routing)m 10(protocol)m 0 2375 p (packets)s 10(originated)m 11(by)m 10(the)m 11(router)m 10(over)m 10(this)m 11(interface)m 10(are)m 11(labelled)m 10(with)m 11(the)m 10(interface')m -1 r 115 c t-bol.300 @sf 9(Ar)m (ea)s 10(ID)m t-rom.300 @sf 46 c 10(One)m 11(or)m 10(more)m 10(router)m 0 2425 p (adjacencies)s 10(may)m 11(develop)m 10(over)m 11(an)m 10(interface.)m 14 r 65 c 10(router)m 2 r 39 c -1 r 115 c 9(link)m 10(state)m 11(advertisements)m 10(re\015ect)m 11(the)m 10(state)m 11(of)m 10(its)m 10(interfaces)m 11(and)m 0 2475 p (their)s 10(associated)m 11(adjacencies.)m 0 2542 p (The)s 10(following)m 11(data)m 10(items)m 11(are)m 10(associated)m 10(with)m 11(an)m 10(interface.)m 14(Note)m 11(that)m 10 r 97 c 10(number)m 11(of)m 10(these)m 11(items)m 10(are)m 11(actually)m 0 2592 p (con\014guration)s 10(for)m 11(the)m 10(attached)m 11(network;)m 10(those)m 10(items)m 11(must)m 10(be)m 11(the)m 10(same)m 11(for)m 10(all)m 10(routers)m 11(connected)m 10(to)m 11(the)m 10(network.)m 0 2723 p (Moy)s 1710([Page)m 11(33])m @eop 34 @bop0 34 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p 84 c -2(ype)m t-rom.300 @sf 20(The)m 10(kind)m 11(of)m 10(network)m 10(to)m 11(which)m 10(the)m 11(interface)m 10(attaches.)m 14(Its)m 10(value)m 11(is)m 10(either)m 11(broadcast,)m 10(non-broadcast)m 10(yet)m 11(still)m 104 245 p (multi-access,)s 10(point-to-point)m 11(or)m 10(virtual)m 10(link.)m t-bol.300 @sf 0 328 p (State)s t-rom.300 @sf 21(The)m 10(functional)m 11(level)m 10(of)m 10(an)m 11(interface.)m 14(State)m 10(determines)m 11(whether)m 10(or)m 10(not)m 11(full)m 10(adjacencies)m 11(are)m 10(allowed)m 10(to)m 11(form)m 10(over)m 104 378 p (the)s 10(interface.)m 14(State)m 10(is)m 11(also)m 10(re\015ected)m 11(in)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(link)m 11(state)m 10(advertisements.)m t-bol.300 @sf 0 461 p (IP)s 10(interface)m 11(addr)m (ess)s t-rom.300 @sf 20(The)m 10(IP)m 11(address)m 10(associated)m 11(with)m 10(the)m 10(interface.)m 14(This)m 11(appears)m 10(as)m 10(the)m 11(IP)m 10(source)m 11(address)m 10(in)m 11(all)m 104 511 p (routing)s 10(protocol)m 11(packets)m 10(originated)m 10(over)m 11(this)m 10(interface.)m 14(Interfaces)m 11(to)m 10(unnumbered)m 10(point-to-point)m 11(networks)m 10(do)m 104 560 p (not)s 10(have)m 11(an)m 10(associated)m 10(IP)m 11(address.)m t-bol.300 @sf 0 643 p (IP)s 10(interface)m 11(mask)m t-rom.300 @sf 21(Also)m 10(referred)m 10(to)m 11(as)m 10(the)m 11(subnet)m 10(mask,)m 11(this)m 10(indicates)m 10(the)m 11(portion)m 10(of)m 11(the)m 10(IP)m 10(interface)m 11(address)m 10(that)m 104 693 p (identi\014es)s 10(the)m 11(attached)m 10(network.)m 14(Masking)m 10(the)m 11(IP)m 10(interface)m 11(address)m 10(with)m 10(the)m 11(IP)m 10(interface)m 11(mask)m 10(yields)m 10(the)m 11(IP)m 104 743 p (network)s 10(number)m 10(of)m 10(the)m 10(attached)m 10(network.)m 14(On)m 10(point-to-point)m 11(networks)m 10(and)m 10(virtual)m 10(links,)m 10(the)m 10(IP)m 10(interface)m 11(mask)m 10(is)m 104 793 p (not)s 10(de\014ned.)m 14(On)m 10(these)m 11(networks,)m 10(the)m 11(link)m 10(itself)m 11(is)m 10(not)m 10(assigned)m 11(an)m 10(IP)m 11(network)m 10(number)m -1 r 44 c 10(and)m 10(so)m 11(the)m 10(addresses)m 10(of)m 104 843 p (each)s 10(side)m 11(of)m 10(the)m 10(link)m 11(are)m 10(assigned)m 11(independently)m -2 r 44 c 9(if)m 11(they)m 10(are)m 11(assigned)m 10(at)m 10(all.)m t-bol.300 @sf 0 926 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 20(The)m 11(Area)m 10(ID)m 11(of)m 10(the)m 11(area)m 10(to)m 10(which)m 11(the)m 10(attached)m 11(network)m 10(belongs.)m 14(All)m 10(routing)m 11(protocol)m 10(packets)m 11(originating)m 104 975 p (from)s 10(the)m 11(interface)m 10(are)m 10(labelled)m 11(with)m 10(this)m 11(Area)m 10(ID.)m t-bol.300 @sf 0 1059 p (HelloInterval)s t-rom.300 @sf 21(The)m 10(length)m 11(of)m 10(time,)m 10(in)m 11(seconds,)m 10(between)m 11(the)m 10(Hello)m 11(packets)m 10(that)m 10(the)m 11(router)m 10(sends)m 11(on)m 10(the)m 10(interface.)m 104 1108 p (Advertised)s 10(in)m 11(Hello)m 10(packets)m 10(sent)m 11(out)m 10(this)m 11(interface.)m t-bol.300 @sf 0 1191 p (RouterDeadInterval)s t-rom.300 @sf 21(The)m 10(number)m 11(of)m 10(seconds)m 10(before)m 11(the)m 10(router)m 2 r 39 c -1 r 115 c 9(neighbors)m 10(will)m 11(declare)m 10(it)m 11(down,)m 10(when)m 10(they)m 11(stop)m 104 1241 p (hearing)s 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(Hello)m 11(Packets.)m 14(Advertised)m 10(in)m 10(Hello)m 11(packets)m 10(sent)m 11(out)m 10(this)m 10(interface.)m t-bol.300 @sf 0 1324 p (InfT)s -2(ransDelay)m t-rom.300 @sf 20(The)m 10(estimated)m 11(number)m 10(of)m 10(seconds)m 11(it)m 10(takes)m 11(to)m 10(transmit)m 10 r 97 c 11(Link)m 10(State)m 11(Update)m 10(Packet)m 11(over)m 10(this)m 10(interface.)m 104 1374 p (Link)s 10(state)m 11(advertisements)m 10(contained)m 10(in)m 11(the)m 10(Link)m 11(State)m 10(Update)m 11(packet)m 10(will)m 10(have)m 11(their)m 10(age)m 11(incremented)m 10(by)m 10(this)m 104 1424 p (amount)s 10(before)m 11(transmission.)m 13(This)m 11(value)m 10(should)m 11(take)m 10(into)m 11(account)m 10(transmission)m 10(and)m 11(propagation)m 10(delays;)m 11(it)m 10(must)m 104 1474 p (be)s 10(greater)m 11(than)m 10(zero.)m t-bol.300 @sf 0 1557 p (Router)s 10(Priority)m t-rom.300 @sf 21(An)m 11(8-bit)m 10(unsigned)m 10(integer)m -1 r 46 c 13(When)m 10(two)m 11(routers)m 10(attached)m 11(to)m 10 r 97 c 11(network)m 10(both)m 10(attempt)m 11(to)m 10(become)m 104 1606 p (Designated)s 10(Router)m 44 c 9(the)m 10(one)m 11(with)m 10(the)m 11(highest)m 10(Router)m 10(Priority)m 11(takes)m 10(precedence.)m 14 r 65 c 11(router)m 10(whose)m 10(Router)m 11(Priority)m 104 1656 p (is)s 10(set)m 11(to)m 10 r 48 c 10(is)m 11(ineligible)m 10(to)m 11(become)m 10(Designated)m 11(Router)m 10(on)m 10(the)m 11(attached)m 10(network.)m 14(Advertised)m 10(in)m 11(Hello)m 10(packets)m 11(sent)m 104 1706 p (out)s 10(this)m 11(interface.)m t-bol.300 @sf 0 1789 p (Hello)s 10 r 84 c (imer)s t-rom.300 @sf 20(An)m 11(interval)m 10(timer)m 11(that)m 10(causes)m 11(the)m 10(interface)m 10(to)m 11(send)m 10 r 97 c 11(Hello)m 10(packet.)m 14(This)m 10(timer)m 11(\014res)m 10(every)m 11(HelloInterval)m 104 1839 p (seconds.)s 14(Note)m 10(that)m 10(on)m 11(non-broadcast)m 10(networks)m 11 r 97 c 10(separate)m 11(Hello)m 10(packet)m 10(is)m 11(sent)m 10(to)m 11(each)m 10(quali\014ed)m 10(neighbor)m -1 r 46 c t-bol.300 @sf 0 1922 p 87 c -1(ait)m 9 r 84 c (imer)s t-rom.300 @sf 20 r 65 c 11(single)m 10(shot)m 10(timer)m 11(that)m 10(causes)m 11(the)m 10(interface)m 10(to)m 11(exit)m 10(the)m 11 r 87 c -3(aiting)m 10(state,)m 10(and)m 11(as)m 10 r 97 c 10(consequence)m 11(select)m 10 r 97 c 104 1972 p (Designated)s 10(Router)m 11(on)m 10(the)m 10(network.)m 14(The)m 11(length)m 10(of)m 11(the)m 10(timer)m 10(is)m 11(RouterDeadInterval)m 10(seconds.)m t-bol.300 @sf 0 2055 p (List)s 10(of)m 11(neighboring)m 10 r 114 c (outers)s t-rom.300 @sf 20(The)m 11(other)m 10(routers)m 11(attached)m 10(to)m 10(this)m 11(network.)m 14(On)m 10(multi-access)m 10(networks,)m 11(this)m 10(list)m 11(is)m 104 2105 p (formed)s 10(by)m 11(the)m 10(Hello)m 10(Protocol.)m 14(Adjacencies)m 11(will)m 10(be)m 11(formed)m 10(to)m 10(some)m 11(of)m 10(these)m 11(neighbors.)m 14(The)m 10(set)m 10(of)m 11(adjacent)m 104 2154 p (neighbors)s 10(can)m 11(be)m 10(determined)m 10(by)m 11(an)m 10(examination)m 11(of)m 10(all)m 11(of)m 10(the)m 10(neighbors')m 11(states.)m t-bol.300 @sf 0 2237 p (Designated)s 10(Router)m t-rom.300 @sf 21(The)m 11(Designated)m 10(Router)m 10(selected)m 11(for)m 10(the)m 11(attached)m 10(network.)m 14(The)m 10(Designated)m 11(Router)m 10(is)m 11(selected)m 10(on)m 104 2287 p (all)s 10(multi-access)m 11(networks)m 10(by)m 10(the)m 11(Hello)m 10(Protocol.)m 14 r 84 c -2(wo)m 10(pieces)m 10(of)m 10(identi\014cation)m 11(are)m 10(kept)m 11(for)m 10(the)m 11(Designated)m 104 2337 p (Router:)s 14(its)m 10(Router)m 10(ID)m 11(and)m 10(its)m 11(IP)m 10(interface)m 11(address)m 10(on)m 10(the)m 11(network.)m 14(The)m 10(Designated)m 11(Router)m 10(advertises)m 10(link)m 11(state)m 104 2387 p (for)s 10(the)m 11(network;)m 10(this)m 10(network)m 11(link)m 10(state)m 11(advertisement)m 10(is)m 11(labelled)m 10(with)m 10(the)m 11(Designated)m 10(Router)m 2 r 39 c -2 r 115 c 10(IP)m 10(address.)m 14(The)m 104 2437 p (Designated)s 10(Router)m 11(is)m 10(initialized)m 10(to)m c-med.300 @sf 11(0.0.0.0)m t-rom.300 @sf 44 c 10(which)m 11(indicates)m 10(the)m 11(lack)m 10(of)m 10 r 97 c 11(Designated)m 10(Router)m -1 r 46 c t-bol.300 @sf 0 2520 p (Backup)s 10(Designated)m 11(Router)m t-rom.300 @sf 21(The)m 10(Backup)m 10(Designated)m 11(Router)m 10(is)m 11(also)m 10(selected)m 11(on)m 10(all)m 10(multi-access)m 11(networks)m 10(by)m 11(the)m 104 2569 p (Hello)s 10(Protocol.)m 14(All)m 10(routers)m 11(on)m 10(the)m 11(attached)m 10(network)m 11(become)m 10(adjacent)m 10(to)m 11(both)m 10(the)m 11(Designated)m 10(Router)m 10(and)m 11(the)m 0 2723 p (Moy)s 1710([Page)m 11(34])m @eop 35 @bop0 35 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 104 195 p (Backup)s 10(Designated)m 11(Router)m -2 r 46 c 13(The)m 11(Backup)m 10(Designated)m 10(Router)m 11(becomes)m 10(Designated)m 11(Router)m 10(when)m 11(the)m 10(current)m 104 245 p (Designated)s 10(Router)m 11(fails.)m 13(The)m 11(Backup)m 10(Designated)m 11(Router)m 10(is)m 11(initialized)m 10(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 44 c 11(indicating)m 10(the)m 11(lack)m 10(of)m 10 r 97 c 104 295 p (Backup)s 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 378 p (Interface)s 10(output)m 11(cost\(s\))m t-rom.300 @sf 21(The)m 10(cost)m 10(of)m 11(sending)m 10 r 97 c 11(data)m 10(packet)m 11(on)m 10(the)m 10(interface,)m 11(expressed)m 10(in)m 11(the)m 10(link)m 10(state)m 11(metric.)m 14(This)m 104 428 p (is)s 10(advertised)m 11(as)m 10(the)m 10(link)m 11(cost)m 10(for)m 11(this)m 10(interface)m 11(in)m 10(the)m 10(router)m 11(links)m 10(advertisement.)m 14(There)m 10(may)m 11(be)m 10 r 97 c 11(separate)m 10(cost)m 104 477 p (for)s 10(each)m 11(IP)m 10 r 84 c -2(ype)m 10(of)m 10(Service.)m 14(The)m 10(cost)m 11(of)m 10(an)m 10(interface)m 11(must)m 10(be)m 11(greater)m 10(than)m 11(zero.)m t-bol.300 @sf 0 560 p (RxmtInterval)s t-rom.300 @sf 21(The)m 10(number)m 11(of)m 10(seconds)m 10(between)m 11(link)m 10(state)m 11(advertisement)m 10(retransmissions,)m 11(for)m 10(adjacencies)m 10(belonging)m 104 610 p (to)s 10(this)m 11(interface.)m 13(Also)m 11(used)m 10(when)m 11(retransmitting)m 10(Database)m 11(Description)m 10(and)m 10(Link)m 11(State)m 10(Request)m 11(Packets.)m t-bol.300 @sf 0 693 p (Authentication)s 10(key)m t-rom.300 @sf 21(This)m 11(con\014gured)m 10(data)m 10(allows)m 11(the)m 10(authentication)m 11(procedure)m 10(to)m 11(generate)m 10(and/or)m 10(verify)m 11(the)m 104 743 p (Authentication)s 10(\014eld)m 11(in)m 10(the)m 10(OSPF)m 11(header)m -1 r 46 c 12(The)m 11(Authentication)m 10(key)m 11(can)m 10(be)m 11(con\014gured)m 10(on)m 10 r 97 c 11(per)m (-interface)s 9(basis.)m 104 793 p (For)s 10(example,)m 11(if)m 10(the)m 10(AuT)m -1(ype)m 9(indicates)m 10(simple)m 11(password,)m 10(the)m 11(Authentication)m 10(key)m 10(would)m 11(be)m 10 r 97 c 11(64-bit)m 10(password.)m 104 843 p (This)s 10(key)m 11(would)m 10(be)m 10(inserted)m 11(directly)m 10(into)m 11(the)m 10(OSPF)m 11(header)m 10(when)m 10(originating)m 11(routing)m 10(protocol)m 11(packets,)m 10(and)m 10(there)m 104 892 p (could)s 10(be)m 11 r 97 c 10(separate)m 10(password)m 11(for)m 10(each)m 11(network.)m t-bol.360 @sf 0 1029 p (9.1)s 50(Interface)m 12(states)m t-rom.300 @sf 0 1125 p (The)s 10(various)m 11(states)m 10(that)m 11(router)m 10(interfaces)m 10(may)m 11(attain)m 10(is)m 11(documented)m 10(in)m 11(this)m 10(section.)m 14(The)m 10(states)m 11(are)m 10(listed)m 11(in)m 10(order)m 10(of)m 0 1175 p (progressing)s 10(functionality)m -1 r 46 c 13(For)m 10(example,)m 10(the)m 11(inoperative)m 10(state)m 11(is)m 10(listed)m 11(\014rst,)m 10(followed)m 10(by)m 11 r 97 c 10(list)m 11(of)m 10(intermediate)m 10(states)m 0 1224 p (before)s 10(the)m 11(\014nal,)m 10(fully)m 10(functional)m 11(state)m 10(is)m 10(achieved.)m 14(The)m 11(speci\014cation)m 10(makes)m 10(use)m 11(of)m 10(this)m 10(ordering)m 11(by)m 10(sometimes)m 10(making)m 0 1274 p (references)s 10(such)m 11(as)m 10(\\those)m 11(interfaces)m 10(in)m 10(state)m 11(greater)m 10(than)m 11(X".)m 0 1342 p (Figure)s 10 r 49 c 49 c 9(shows)m 11(the)m 10(graph)m 11(of)m 10(interface)m 10(state)m 11(changes.)m 14(The)m 10(arcs)m 11(of)m 10(the)m 10(graph)m 11(are)m 10(labelled)m 11(with)m 10(the)m 10(event)m 11(causing)m 10(the)m 0 1392 p (state)s 10(change.)m 14(These)m 11(events)m 10(are)m 11(documented)m 10(in)m 10(Section)m 11(9.2.)m 14(The)m 10(interface)m 11(state)m 10(machine)m 10(is)m 11(described)m 10(in)m 11(more)m 10(detail)m 10(in)m 0 1442 p (Section)s 10(9.3.)m t-bol.300 @sf 0 1551 p (Down)s t-rom.300 @sf 21(This)m 10(is)m 11(the)m 10(initial)m 10(interface)m 11(state.)m 14(In)m 10(this)m 11(state,)m 10(the)m 10(lower)m (-level)s 10(protocols)m 10(have)m 11(indicated)m 10(that)m 11(the)m 10(interface)m 10(is)m 104 1601 p (unusable.)s 14(No)m 10(protocol)m 10(traf)m (\014c)s 10(at)m 11(all)m 10(will)m 10(be)m 11(sent)m 10(or)m 11(received)m 10(on)m 10(such)m 11 r 97 c 10(interface.)m 14(In)m 11(this)m 10(state,)m 10(interface)m 104 1650 p (parameters)s 10(should)m 11(be)m 10(set)m 10(to)m 11(their)m 10(initial)m 11(values.)m 14(All)m 10(interface)m 10(timers)m 11(should)m 10(be)m 11(disabled,)m 10(and)m 10(there)m 11(should)m 10(be)m 11(no)m 104 1700 p (adjacencies)s 10(associated)m 11(with)m 10(the)m 10(interface.)m t-bol.300 @sf 0 1783 p (Loopback)s t-rom.300 @sf 21(In)m 10(this)m 11(state,)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 9(interface)m 11(to)m 10(the)m 10(network)m 11(is)m 10(looped)m 11(back.)m 13(The)m 11(interface)m 10(may)m 11(be)m 10(looped)m 11(back)m 10(in)m 104 1833 p (hardware)s 10(or)m 11(software.)m 13(The)m 11(interface)m 10(will)m 11(be)m 10(unavailable)m 11(for)m 10(regular)m 10(data)m 11(traf)m (\014c.)s 13(However)m -1 r 44 c 10(it)m 10(may)m 11(still)m 10(be)m 104 1883 p (desirable)s 10(to)m 11(gain)m 10(information)m 10(on)m 11(the)m 10(quality)m 11(of)m 10(this)m 11(interface,)m 10(either)m 10(through)m 11(sending)m 10(ICMP)m 11(pings)m 10(to)m 10(the)m 104 1933 p (interface)s 10(or)m 11(through)m 10(something)m 10(like)m 11 r 97 c 10(bit)m 11(error)m 10(test.)m 14(For)m 10(this)m 11(reason,)m 10(IP)m 11(packets)m 10(may)m 10(still)m 11(be)m 10(addressed)m 11(to)m 10(an)m 104 1982 p (interface)s 10(in)m 11(Loopback)m 10(state.)m 14 r 84 c -2 r 111 c 9(facilitate)m 11(this,)m 10(such)m 11(interfaces)m 10(are)m 10(advertised)m 11(in)m 10(router)m 11(links)m 10(advertisements)m 11(as)m 104 2032 p (single)s 10(host)m 11(routes,)m 10(whose)m 10(destination)m 11(is)m 10(the)m 11(IP)m 10(interface)m 11(address.)m t-rom.210 @sf 1179 2017 p 52 c t-bol.300 @sf 0 2115 p 87 c -1(aiting)m t-rom.300 @sf 19(In)m 11(this)m 10(state,)m 11(the)m 10(router)m 11(is)m 10(trying)m 10(to)m 11(determine)m 10(the)m 11(identity)m 10(of)m 10(the)m 11(\(Backup\))m 10(Designated)m 11(Router)m 10(for)m 11(the)m 104 2165 p (network.)s 14 r 84 c -2 r 111 c 9(do)m 11(this,)m 10(the)m 10(router)m 11(monitors)m 10(the)m 11(Hello)m 10(Packets)m 10(it)m 11(receives.)m 14(The)m 10(router)m 11(is)m 10(not)m 10(allowed)m 11(to)m 10(elect)m 11 r 97 c 104 2215 p (Backup)s 10(Designated)m 11(Router)m 10(nor)m 10 r 97 c 11(Designated)m 10(Router)m 11(until)m 10(it)m 11(transitions)m 10(out)m 10(of)m 11 r 87 c -3(aiting)m 10(state.)m 14(This)m 10(prevents)m 104 2265 p (unnecessary)s 10(changes)m 11(of)m 10(\(Backup\))m 10(Designated)m 11(Router)m -1 r 46 c t-bol.300 @sf 0 2348 p (Point-to-point)s t-rom.300 @sf 21(In)m 10(this)m 11(state,)m 10(the)m 10(interface)m 11(is)m 10(operational,)m 11(and)m 10(connects)m 11(either)m 10(to)m 10 r 97 c 11(physical)m 10(point-to-point)m 11(network)m 10(or)m 104 2398 p (to)s 10 r 97 c 11(virtual)m 10(link.)m 14(Upon)m 10(entering)m 11(this)m 10(state,)m 10(the)m 11(router)m 10(attempts)m 10(to)m 11(form)m 10(an)m 10(adjacency)m 11(with)m 10(the)m 11(neighboring)m 10(router)m -1 r 46 c 104 2447 p (Hello)s 10(Packets)m 11(are)m 10(sent)m 10(to)m 11(the)m 10(neighbor)m 11(every)m 10(HelloInterval)m 11(seconds.)m 0 2483 p 780 2 ru t-rom.180 @sf 45 2511 p 52 c t-rom.240 @sf 60 2522 p (Note)s 11(that)m 11(no)m 10(host)m 11(route)m 11(is)m 11(generated)m 11(for)m -1 r 44 c 11(and)m 10(no)m 11(IP)m 11(packets)m 11(can)m 11(be)m 10(addressed)m 11(to,)m 12(interfaces)m 10(to)m 11(unnumbered)m 11(point-to-point)m 11(networks.)m 18(This)m 11(is)m 0 2562 p (regardless)s 8(of)m 9(such)m 8(an)m 8(interface')m -1 r 115 c 8(state.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(35])m @eop 36 @bop0 36 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (DR)s 10(Other)m t-rom.300 @sf 21(The)m 10(interface)m 10(is)m 10(to)m 11 r 97 c 10(multi-access)m 10(network)m 10(on)m 10(which)m 10(another)m 10(router)m 10(has)m 10(been)m 10(selected)m 11(to)m 10(be)m 10(the)m 10(Designated)m 104 245 p (Router)s -2 r 46 c 13(In)m 11(this)m 10(state,)m 11(the)m 10(router)m 10(itself)m 11(has)m 10(not)m 11(been)m 10(selected)m 11(Backup)m 10(Designated)m 10(Router)m 11(either)m -2 r 46 c 13(The)m 11(router)m 10(forms)m 104 295 p (adjacencies)s 10(to)m 11(both)m 10(the)m 10(Designated)m 11(Router)m 10(and)m 11(the)m 10(Backup)m 11(Designated)m 10(Router)m 10(\(if)m 11(they)m 10(exist\).)m t-bol.300 @sf 0 378 p (Backup)s t-rom.300 @sf 21(In)m 10(this)m 11(state,)m 10(the)m 10(router)m 11(itself)m 10(is)m 11(the)m 10(Backup)m 11(Designated)m 10(Router)m 10(on)m 11(the)m 10(attached)m 11(network.)m 13(It)m 11(will)m 10(be)m 11(promoted)m 104 428 p (to)s 10(Designated)m 11(Router)m 10(when)m 10(the)m 11(present)m 10(Designated)m 11(Router)m 10(fails.)m 14(The)m 10(router)m 11(establishes)m 10(adjacencies)m 11(to)m 10(all)m 10(other)m 104 477 p (routers)s 10(attached)m 11(to)m 10(the)m 10(network.)m 14(The)m 11(Backup)m 10(Designated)m 11(Router)m 10(performs)m 10(slightly)m 11(dif)m (ferent)s 9(functions)m 11(during)m 104 527 p (the)s 10(Flooding)m 11(Procedure,)m 10(as)m 10(compared)m 11(to)m 10(the)m 11(Designated)m 10(Router)m 11(\(see)m 10(Section)m 10(13.3\).)m 14(See)m 11(Section)m 10(7.4)m 10(for)m 11(more)m 104 577 p (details)s 10(on)m 11(the)m 10(functions)m 10(performed)m 11(by)m 10(the)m 11(Backup)m 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 660 p (DR)s t-rom.300 @sf 21(In)m 10(this)m 11(state,)m 10(this)m 10(router)m 11(itself)m 10(is)m 11(the)m 10(Designated)m 11(Router)m 10(on)m 10(the)m 11(attached)m 10(network.)m 14(Adjacencies)m 10(are)m 11(established)m 10(to)m 104 710 p (all)s 10(other)m 11(routers)m 10(attached)m 10(to)m 11(the)m 10(network.)m 14(The)m 11(router)m 10(must)m 10(also)m 11(originate)m 10 r 97 c 11(network)m 10(links)m 10(advertisement)m 11(for)m 10(the)m 104 760 p (network)s 10(node.)m 14(The)m 10(advertisement)m 11(will)m 10(contain)m 11(links)m 10(to)m 11(all)m 10(routers)m 10(\(including)m 11(the)m 10(Designated)m 11(Router)m 10(itself\))m 104 809 p (attached)s 10(to)m 10(the)m 10(network.)m 14(See)m 10(Section)m 10(7.3)m 10(for)m 10(more)m 10(details)m 10(on)m 10(the)m 10(functions)m 10(performed)m 10(by)m 10(the)m 10(Designated)m 10(Router)m -1 r 46 c t-bol.360 @sf 0 946 p (9.2)s 50(Events)m 12(causing)m 13(interface)m 12(state)m 13(changes)m t-rom.300 @sf 0 1042 p (State)s 10(changes)m 11(can)m 10(be)m 11(ef)m (fected)s 9(by)m 11 r 97 c 10(number)m 11(of)m 10(events.)m 14(These)m 10(events)m 11(are)m 10(pictured)m 11(as)m 10(the)m 10(labelled)m 11(arcs)m 10(in)m 11(Figure)m 10 r 49 c (1.)s 12(The)m 0 1092 p (label)s 10(de\014nitions)m 10(are)m 10(listed)m 10(below)m -1 r 46 c 12(For)m 10 r 97 c 11(detailed)m 10(explanation)m 10(of)m 10(the)m 10(ef)m (fect)s 9(of)m 10(these)m 10(events)m 10(on)m 11(OSPF)m 10(protocol)m 10(operation,)m 0 1141 p (consult)s 10(Section)m 11(9.3.)m t-bol.300 @sf 0 1251 p (InterfaceUp)s t-rom.300 @sf 21(Lower)m (-level)s 9(protocols)m 11(have)m 10(indicated)m 11(that)m 10(the)m 10(network)m 11(interface)m 10(is)m 11(operational.)m 14(This)m 10(enables)m 10(the)m 104 1300 p (interface)s 10(to)m 11(transition)m 10(out)m 10(of)m 11(Down)m 10(state.)m 14(On)m 11(virtual)m 10(links,)m 10(the)m 11(interface)m 10(operational)m 11(indication)m 10(is)m 10(actually)m 11 r 97 c 104 1350 p (result)s 10(of)m 11(the)m 10(shortest)m 10(path)m 11(calculation)m 10(\(see)m 11(Section)m 10(16.7\).)m t-bol.300 @sf 0 1433 p 87 c -1(aitT)m -1(imer)m t-rom.300 @sf 20(The)m 10 r 87 c -2(ait)m 9 r 84 c (imer)s 9(has)m 11(\014red,)m 10(indicating)m 10(the)m 11(end)m 10(of)m 11(the)m 10(waiting)m 11(period)m 10(that)m 10(is)m 11(required)m 10(before)m 11(electing)m 10 r 97 c 104 1483 p (\(Backup\))s 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 1566 p (BackupSeen)s t-rom.300 @sf 21(The)m 10(router)m 10(has)m 10(detected)m 10(the)m 10(existence)m 10(or)m 10(non-existence)m 10(of)m 10 r 97 c 10(Backup)m 10(Designated)m 10(Router)m 10(for)m 10(the)m 10(network.)m 104 1616 p (This)s 10(is)m 11(done)m 10(in)m 10(one)m 11(of)m 10(two)m 11(ways.)m 14(First,)m 10(an)m 10(Hello)m 11(Packet)m 10(may)m 11(be)m 10(received)m 10(from)m 11 r 97 c 10(neighbor)m 11(claiming)m 10(to)m 11(be)m 10(itself)m 104 1666 p (the)s 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 13(Alternatively)m -2 r 44 c 9(an)m 11(Hello)m 10(Packet)m 11(may)m 10(be)m 10(received)m 11(from)m 10 r 97 c 11(neighbor)m 10(claiming)m 10(to)m 11(be)m 104 1716 p (itself)s 10(the)m 11(Designated)m 10(Router)m -1 r 44 c 10(and)m 10(indicating)m 11(that)m 10(there)m 10(is)m 11(no)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 13(In)m 10(either)m 11(case)m 10(there)m 104 1765 p (must)s 10(be)m 11(bidirectional)m 10(communication)m 10(with)m 11(the)m 10(neighbor)m 44 c 9(i.e.,)m 10(the)m 11(router)m 10(must)m 11(also)m 10(appear)m 11(in)m 10(the)m 10(neighbor)m 2 r 39 c -1 r 115 c 104 1815 p (Hello)s 10(Packet.)m 14(This)m 10(event)m 11(signals)m 10(an)m 11(end)m 10(to)m 11(the)m 10 r 87 c -2(aiting)m 9(state.)m t-bol.300 @sf 0 1898 p (NeighborChange)s t-rom.300 @sf 21(There)m 10(has)m 11(been)m 10 r 97 c 10(change)m 11(in)m 10(the)m 11(set)m 10(of)m 11(bidirectional)m 10(neighbors)m 10(associated)m 11(with)m 10(the)m 11(interface.)m 13(The)m 104 1948 p (\(Backup\))s 10(Designated)m 11(Router)m 10(needs)m 10(to)m 11(be)m 10(recalculated.)m 14(The)m 11(following)m 10(neighbor)m 10(changes)m 11(lead)m 10(to)m 11(the)m t-bol.300 @sf 104 1998 p (NeighborChange)s t-rom.300 @sf 10(event.)m 14(For)m 10(an)m 11(explanation)m 10(of)m 11(neighbor)m 10(states,)m 11(see)m 10(Section)m 10(10.1.)m cmsy10.300 @sf 154 2089 p 15 c t-rom.300 @sf 20(Bidirectional)m 11(communication)m 10(has)m 10(been)m 10(established)m 11(to)m 10 r 97 c 10(neighbor)m -1 r 46 c 13(In)m 10(other)m 10(words,)m 11(the)m 10(state)m 10(of)m 11(the)m 10(neighbor)m 195 2139 p (has)s 11(transitioned)m 10(to)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 9(or)m 11(higher)m -1 r 46 c cmsy10.300 @sf 154 2205 p 15 c t-rom.300 @sf 20(There)m 11(is)m 10(no)m 10(longer)m 11(bidirectional)m 10(communication)m 11(with)m 10 r 97 c 10(neighbor)m -1 r 46 c 13(In)m 10(other)m 11(words,)m 10(the)m 10(state)m 11(of)m 10(the)m 11(neighbor)m 195 2255 p (has)s 11(transitioned)m 10(to)m t-bol.300 @sf 10(Init)m t-rom.300 @sf 11(or)m 10(lower)m -1 r 46 c cmsy10.300 @sf 154 2322 p 15 c t-rom.300 @sf 20(One)m 11(of)m 10(the)m 11(bidirectional)m 10(neighbors)m 10(is)m 11(newly)m 10(declaring)m 11(itself)m 10(as)m 11(either)m 10(Designated)m 10(Router)m 11(or)m 10(Backup)m 195 2371 p (Designated)s 11(Router)m -2 r 46 c 13(This)m 11(is)m 10(detected)m 10(through)m 11(examination)m 10(of)m 11(that)m 10(neighbor)m 2 r 39 c -2 r 115 c 10(Hello)m 10(Packets.)m cmsy10.300 @sf 154 2438 p 15 c t-rom.300 @sf 20(One)m 11(of)m 10(the)m 11(bidirectional)m 10(neighbors)m 10(is)m 11(no)m 10(longer)m 11(declaring)m 10(itself)m 11(as)m 10(Designated)m 10(Router)m 44 c 9(or)m 11(is)m 10(no)m 10(longer)m 195 2488 p (declaring)s 11(itself)m 10(as)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 13(This)m 10(is)m 11(again)m 10(detected)m 10(through)m 11(examination)m 10(of)m 11(that)m 195 2537 p (neighbor)s 2 r 39 c -2 r 115 c 10(Hello)m 10(Packets.)m 0 2723 p (Moy)s 1710([Page)m 11(36])m @eop 37 @bop0 37 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m cmsy10.300 @sf 154 195 p 15 c t-rom.300 @sf 20(The)m 11(advertised)m t-bol.300 @sf 10(Router)m 11(Priority)m t-rom.300 @sf 10(for)m 10 r 97 c 11(bidirectional)m 10(neighbor)m 11(has)m 10(changed.)m 14(This)m 10(is)m 11(again)m 10(detected)m 11(through)m 195 245 p (examination)s 11(of)m 10(that)m 10(neighbor)m 2 r 39 c -1 r 115 c 9(Hello)m 10(Packets.)m t-bol.300 @sf 0 335 p (LoopInd)s t-rom.300 @sf 21(An)m 10(indication)m 11(has)m 10(been)m 10(received)m 11(that)m 10(the)m 11(interface)m 10(is)m 11(now)m 10(looped)m 10(back)m 11(to)m 10(itself.)m 14(This)m 10(indication)m 11(can)m 10(be)m 104 385 p (received)s 10(either)m 11(from)m 10(network)m 10(management)m 11(or)m 10(from)m 11(the)m 10(lower)m 11(level)m 10(protocols.)m t-bol.300 @sf 0 468 p (UnloopInd)s t-rom.300 @sf 21(An)m 10(indication)m 10(has)m 11(been)m 10(received)m 10(that)m 11(the)m 10(interface)m 11(is)m 10(no)m 10(longer)m 11(looped)m 10(back.)m 14(As)m 10(with)m 10(the)m t-bol.300 @sf 11(LoopInd)m t-rom.300 @sf 10(event,)m 104 518 p (this)s 10(indication)m 11(can)m 10(be)m 10(received)m 11(either)m 10(from)m 11(network)m 10(management)m 11(or)m 10(from)m 10(the)m 11(lower)m 10(level)m 11(protocols.)m t-bol.300 @sf 0 600 p (InterfaceDown)s t-rom.300 @sf 21(Lower)m (-level)s 9(protocols)m 10(indicate)m 10(that)m 9(this)m 10(interface)m 10(is)m 10(no)m 10(longer)m 10(functional.)m 14(No)m 10(matter)m 9(what)m 10(the)m 10(current)m 104 650 p (interface)s 10(state)m 11(is,)m 10(the)m 10(new)m 11(interface)m 10(state)m 11(will)m 10(be)m 11(Down.)m t-bol.360 @sf 0 786 p (9.3)s 50(The)m 12(Interface)m 13(state)m 12(machine)m t-rom.300 @sf 0 881 p 65 c 10(detailed)m 11(description)m 10(of)m 11(the)m 10(interface)m 10(state)m 11(changes)m 10(follows.)m 14(Each)m 11(state)m 10(change)m 10(is)m 11(invoked)m 10(by)m 11(an)m 10(event)m 11(\(Section)m 10(9.2\).)m 0 931 p (This)s 10(event)m 11(may)m 10(produce)m 11(dif)m (ferent)s 9(ef)m (fects,)s 10(depending)m 10(on)m 11(the)m 10(current)m 11(state)m 10(of)m 10(the)m 11(interface.)m 14(For)m 10(this)m 11(reason,)m 10(the)m 10(state)m 0 980 p (machine)s 10(below)m 11(is)m 10(or)m (ganized)s 10(by)m 10(current)m 11(interface)m 10(state)m 11(and)m 10(received)m 10(event.)m 14(Each)m 11(entry)m 10(in)m 11(the)m 10(state)m 10(machine)m 11(describes)m 0 1030 p (the)s 10(resulting)m 11(new)m 10(interface)m 11(state)m 10(and)m 10(the)m 11(required)m 10(set)m 11(of)m 10(additional)m 11(actions.)m 0 1097 p (When)s 10(an)m 11(interface')m -1 r 115 c 9(state)m 10(changes,)m 11(it)m 10(may)m 11(be)m 10(necessary)m 10(to)m 11(originate)m 10 r 97 c 11(new)m 10(router)m 11(links)m 10(advertisement.)m 14(See)m 0 1147 p (Section)s 10(12.4)m 11(for)m 10(more)m 11(details.)m 0 1214 p (Some)s 10(of)m 11(the)m 10(required)m 11(actions)m 10(below)m 10(involve)m 11(generating)m 10(events)m 11(for)m 10(the)m 11(neighbor)m 10(state)m 10(machine.)m 14(For)m 11(example,)m 10(when)m 11(an)m 0 1264 p (interface)s 10(becomes)m 11(inoperative,)m 10(all)m 11(neighbor)m 10(connections)m 10(associated)m 11(with)m 10(the)m 11(interface)m 10(must)m 11(be)m 10(destroyed.)m 14(For)m 10(more)m 0 1314 p (information)s 10(on)m 11(the)m 10(neighbor)m 11(state)m 10(machine,)m 10(see)m 11(Section)m 10(10.3.)m 161 1421 p (State\(s\):)s t-bol.300 @sf 75(Down)m t-rom.300 @sf 191 1479 p (Event:)s t-bol.300 @sf 75(InterfaceUp)m t-rom.300 @sf 123 1537 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine)m 175 1595 p (Action:)s 75(Start)m 10(the)m 11(interval)m t-bol.300 @sf 10(Hello)m 11 r 84 c (imer)s t-rom.300 @sf 44 c 9(enabling)m 11(the)m 10(periodic)m 11(sending)m 10(of)m 10(Hello)m 11(packets)m 10(out)m 11(the)m 375 1645 p (interface.)s 14(If)m 10(the)m 11(attached)m 10(network)m 11(is)m 10 r 97 c 10(physical)m 11(point-to-point)m 10(network)m 11(or)m 10(virtual)m 10(link,)m 375 1695 p (the)s 10(interface)m 11(state)m 10(transitions)m 11(to)m t-bol.300 @sf 10(Point-to-Point)m t-rom.300 @sf 46 c 14(Else,)m 10(if)m 11(the)m 10(router)m 11(is)m 10(not)m 10(eligible)m 11(to)m 375 1745 p (become)s 10(Designated)m 11(Router)m 10(the)m 11(interface)m 10(state)m 10(transitions)m 11(to)m t-bol.300 @sf 10(DR)m 11(Other)m t-rom.300 @sf 46 c 375 1803 p (Otherwise,)s 10(the)m 11(attached)m 10(network)m 11(is)m 10(multi-access)m 10(and)m 11(the)m 10(router)m 11(is)m 10(eligible)m 11(to)m 10(become)m 375 1853 p (Designated)s 10(Router)m -1 r 46 c 13(In)m 10(this)m 11(case,)m 10(in)m 11(an)m 10(attempt)m 11(to)m 10(discover)m 10(the)m 11(attached)m 10(network')m -1 r 115 c 375 1903 p (Designated)s 10(Router)m 11(the)m 10(interface)m 11(state)m 10(is)m 10(set)m 11(to)m t-bol.300 @sf 10 r 87 c -1(aiting)m t-rom.300 @sf 9(and)m 11(the)m 10(single)m 11(shot)m t-bol.300 @sf 10 r 87 c -1(ait)m 375 1952 p 84 c (imer)s t-rom.300 @sf 10(is)m 10(started.)m 14(If)m 10(in)m 11(addition)m 10(the)m 11(attached)m 10(network)m 10(is)m 11(non-broadcast,)m 10(examine)m 11(the)m 375 2002 p (con\014gured)s 10(list)m 11(of)m 10(neighbors)m 11(for)m 10(this)m 10(interface)m 11(and)m 10(generate)m 11(the)m 10(neighbor)m 11(event)m t-bol.300 @sf 10(Start)m t-rom.300 @sf 375 2052 p (for)s 10(each)m 11(neighbor)m 10(that)m 11(is)m 10(also)m 10(eligible)m 11(to)m 10(become)m 11(Designated)m 10(Router)m -1 r 46 c 161 2159 p (State\(s\):)s t-bol.300 @sf 75 r 87 c -1(aiting)m t-rom.300 @sf 191 2217 p (Event:)s t-bol.300 @sf 75(BackupSeen)m t-rom.300 @sf 123 2275 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 2334 p (Action:)s 75(Calculate)m 10(the)m 11(attached)m 10(network')m -1 r 115 c 9(Backup)m 11(Designated)m 10(Router)m 11(and)m 10(Designated)m 10(Router)m 44 c 375 2383 p (as)s 10(shown)m 11(in)m 10(Section)m 11(9.4.)m 14(As)m 10 r 97 c 10(result)m 11(of)m 10(this)m 11(calculation,)m 10(the)m 10(new)m 11(state)m 10(of)m 11(the)m 10(interface)m 375 2433 p (will)s 10(be)m 11(either)m t-bol.300 @sf 10(DR)m 11(Other)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Backup)m t-rom.300 @sf 10(or)m t-bol.300 @sf 11(DR)m t-rom.300 @sf 46 c 161 2540 p (State\(s\):)s t-bol.300 @sf 75 r 87 c -1(aiting)m t-rom.300 @sf 191 2599 p (Event:)s t-bol.300 @sf 75 r 87 c -1(aitT)m -1(imer)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(37])m @eop 38 @bop0 38 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 123 195 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 253 p (Action:)s 75(Calculate)m 10(the)m 11(attached)m 10(network')m -1 r 115 c 9(Backup)m 11(Designated)m 10(Router)m 11(and)m 10(Designated)m 10(Router)m 44 c 375 303 p (as)s 10(shown)m 11(in)m 10(Section)m 11(9.4.)m 14(As)m 10 r 97 c 10(result)m 11(of)m 10(this)m 11(calculation,)m 10(the)m 10(new)m 11(state)m 10(of)m 11(the)m 10(interface)m 375 353 p (will)s 10(be)m 11(either)m t-bol.300 @sf 10(DR)m 11(Other)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Backup)m t-rom.300 @sf 10(or)m t-bol.300 @sf 11(DR)m t-rom.300 @sf 46 c 161 462 p (State\(s\):)s t-bol.300 @sf 75(DR)m 11(Other)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Backup)m t-rom.300 @sf 10(or)m t-bol.300 @sf 11(DR)m t-rom.300 @sf 191 520 p (Event:)s t-bol.300 @sf 75(NeighborChange)m t-rom.300 @sf 123 578 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 636 p (Action:)s 75(Recalculate)m 10(the)m 11(attached)m 10(network')m -1 r 115 c 9(Backup)m 11(Designated)m 10(Router)m 11(and)m 10(Designated)m 375 686 p (Router)s -1 r 44 c 10(as)m 10(shown)m 11(in)m 10(Section)m 10(9.4.)m 14(As)m 11 r 97 c 10(result)m 11(of)m 10(this)m 10(calculation,)m 11(the)m 10(new)m 11(state)m 10(of)m 10(the)m 375 736 p (interface)s 10(will)m 11(be)m 10(either)m t-bol.300 @sf 11(DR)m 10(Other)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Backup)m t-rom.300 @sf 11(or)m t-bol.300 @sf 10(DR)m t-rom.300 @sf 46 c 161 845 p (State\(s\):)s 75(Any)m 11(State)m 191 903 p (Event:)s t-bol.300 @sf 75(InterfaceDown)m t-rom.300 @sf 123 961 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 1020 p (Action:)s 75(All)m 10(interface)m 11(variables)m 10(are)m 11(reset,)m 10(and)m 10(interface)m 11(timers)m 10(disabled.)m 14(Also,)m 11(all)m 10(neighbor)m 375 1069 p (connections)s 10(associated)m 11(with)m 10(the)m 11(interface)m 10(are)m 10(destroyed.)m 14(This)m 11(is)m 10(done)m 11(by)m 10(generating)m 375 1119 p (the)s 10(event)m t-bol.300 @sf 11(KillNbr)m t-rom.300 @sf 10(on)m 11(all)m 10(associated)m 10(neighbors)m 11(\(see)m 10(Section)m 11(10.2\).)m 161 1228 p (State\(s\):)s 75(Any)m 11(State)m 191 1286 p (Event:)s t-bol.300 @sf 75(LoopInd)m t-rom.300 @sf 123 1345 p (New)s 10(state:)m t-bol.300 @sf 75(Loopback)m t-rom.300 @sf 175 1403 p (Action:)s 75(Since)m 10(this)m 11(interface)m 10(is)m 11(no)m 10(longer)m 10(connected)m 11(to)m 10(the)m 11(attached)m 10(network)m 11(the)m 10(actions)m 375 1453 p (associated)s 10(with)m 11(the)m 10(above)m t-bol.300 @sf 11(InterfaceDown)m t-rom.300 @sf 10(event)m 10(are)m 11(executed.)m 161 1562 p (State\(s\):)s t-bol.300 @sf 75(Loopback)m t-rom.300 @sf 191 1620 p (Event:)s t-bol.300 @sf 75(UnloopInd)m t-rom.300 @sf 123 1678 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 1736 p (Action:)s 75(No)m 10(actions)m 11(are)m 10(necessary)m -1 r 46 c 12(For)m 11(example,)m 10(the)m 11(interface)m 10(variables)m 11(have)m 10(already)m 10(been)m 375 1786 p (reset)s 10(upon)m 11(entering)m 10(the)m t-bol.300 @sf 11(Loopback)m t-rom.300 @sf 10(state.)m 14(Note)m 10(that)m 11(reception)m 10(of)m 11(an)m t-bol.300 @sf 10(InterfaceUp)m t-rom.300 @sf 10(event)m 375 1836 p (is)s 10(necessary)m 11(before)m 10(the)m 11(interface)m 10(again)m 10(becomes)m 11(fully)m 10(functional.)m t-bol.360 @sf 0 1972 p (9.4)s 50(Electing)m 12(the)m 13(Designated)m 12(Router)m t-rom.300 @sf 0 2068 p (This)s 10(section)m 11(describes)m 10(the)m 11(algorithm)m 10(used)m 10(for)m 11(calculating)m 10 r 97 c 11(network')m -2 r 115 c 10(Designated)m 10(Router)m 11(and)m 10(Backup)m 11(Designated)m 0 2118 p (Router)s -1 r 46 c 13(This)m 10(algorithm)m 10(is)m 10(invoked)m 10(by)m 11(the)m 10(Interface)m 10(state)m 10(machine.)m 14(The)m 10(initial)m 10(time)m 11 r 97 c 10(router)m 10(runs)m 10(the)m 10(election)m 11(algorithm)m 0 2168 p (for)s 10 r 97 c 11(network,)m 10(the)m 11(network')m -2 r 115 c 10(Designated)m 10(Router)m 11(and)m 10(Backup)m 10(Designated)m 11(Router)m 10(are)m 11(initialized)m 10(to)m c-med.300 @sf 11(0.0.0.0)m t-rom.300 @sf 46 c 13(This)m 0 2217 p (indicates)s 10(the)m 11(lack)m 10(of)m 11(both)m 10 r 97 c 10(Designated)m 11(Router)m 10(and)m 11 r 97 c 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 0 2285 p (The)s 10(Designated)m 11(Router)m 10(election)m 11(algorithm)m 10(proceeds)m 10(as)m 11(follows:)m 14(Call)m 10(the)m 11(router)m 10(doing)m 10(the)m 11(calculation)m 10(Router)m 11(X.)m 10(The)m 0 2335 p (list)s 10(of)m 11(neighbors)m 10(attached)m 11(to)m 10(the)m 10(network)m 11(and)m 10(having)m 11(established)m 10(bidirectional)m 11(communication)m 10(with)m 10(Router)m 11 r 88 c 10(is)m 0 2385 p (examined.)s 14(This)m 10(list)m 11(is)m 10(precisely)m 11(the)m 10(collection)m 10(of)m 11(Router)m 10(X')m -1 r 115 c 9(neighbors)m 11(\(on)m 10(this)m 11(network\))m 10(whose)m 10(state)m 11(is)m 10(greater)m 11(than)m 0 2435 p (or)s 10(equal)m 11(to)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 9(\(see)m 11(Section)m 10(10.1\).)m 14(Router)m 11 r 88 c 10(itself)m 10(is)m 11(also)m 10(considered)m 11(to)m 10(be)m 10(on)m 11(the)m 10(list.)m 14(Discard)m 11(all)m 10(routers)m 10(from)m 11(the)m 0 2484 p (list)s 10(that)m 11(are)m 10(ineligible)m 11(to)m 10(become)m 10(Designated)m 11(Router)m -1 r 46 c 13(\(Routers)m 10(having)m 10(Router)m 11(Priority)m 10(of)m 11 r 48 c 10(are)m 10(ineligible)m 11(to)m 10(become)m 0 2534 p (Designated)s 10(Router.\))m 14(The)m 11(following)m 10(steps)m 11(are)m 10(then)m 10(executed,)m 11(considering)m 10(only)m 11(those)m 10(routers)m 10(that)m 11(remain)m 10(on)m 11(the)m 10(list:)m 0 2723 p (Moy)s 1710([Page)m 11(38])m @eop 39 @bop0 39 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 52 195 p (1.)s 21(Note)m 10(the)m 10(current)m 11(values)m 10(for)m 11(the)m 10(network')m -1 r 115 c 9(Designated)m 11(Router)m 10(and)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 13(This)m 10(is)m 11(used)m 10(later)m 104 245 p (for)s 10(comparison)m 11(purposes.)m 52 328 p (2.)s 21(Calculate)m 10(the)m 10(new)m 11(Backup)m 10(Designated)m 11(Router)m 10(for)m 10(the)m 11(network)m 10(as)m 11(follows.)m 14(Only)m 10(those)m 10(routers)m 11(on)m 10(the)m 11(list)m 10(that)m 104 378 p (have)s 10(not)m 11(declared)m 10(themselves)m 10(to)m 11(be)m 10(Designated)m 11(Router)m 10(are)m 11(eligible)m 10(to)m 10(become)m 11(Backup)m 10(Designated)m 11(Router)m -2 r 46 c 13(If)m 104 428 p (one)s 10(or)m 11(more)m 10(of)m 10(these)m 11(routers)m 10(have)m 11(declared)m 10(themselves)m 11(Backup)m 10(Designated)m 10(Router)m 11(\(i.e.,)m 10(they)m 11(are)m 10(currently)m 104 477 p (listing)s 10(themselves)m 11(as)m 10(Backup)m 10(Designated)m 11(Router)m -1 r 44 c 10(but)m 10(not)m 10(as)m 11(Designated)m 10(Router)m 44 c 9(in)m 10(their)m 11(Hello)m 10(Packets\))m 11(the)m 10(one)m 104 527 p (having)s 10(highest)m 11(Router)m 10(Priority)m 10(is)m 11(declared)m 10(to)m 11(be)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 13(In)m 10(case)m 10(of)m 11 r 97 c 10(tie,)m 11(the)m 10(one)m 10(having)m 11(the)m 104 577 p (highest)s 10(Router)m 11(ID)m 10(is)m 10(chosen.)m 14(If)m 11(no)m 10(routers)m 11(have)m 10(declared)m 10(themselves)m 11(Backup)m 10(Designated)m 11(Router)m -1 r 44 c 9(choose)m 11(the)m 104 627 p (router)s 10(having)m 9(highest)m 10(Router)m 10(Priority)m -2 r 44 c 9(\(again)m 10(excluding)m 10(those)m 10(routers)m 10(who)m 10(have)m 10(declared)m 9(themselves)m 10(Designated)m 104 677 p (Router\),)s 10(and)m 11(again)m 10(use)m 10(the)m 11(Router)m 10(ID)m 11(to)m 10(break)m 11(ties.)m 52 760 p (3.)s 21(Calculate)m 10(the)m 10(new)m 11(Designated)m 10(Router)m 11(for)m 10(the)m 10(network)m 11(as)m 10(follows.)m 14(If)m 11(one)m 10(or)m 10(more)m 11(of)m 10(the)m 11(routers)m 10(have)m 10(declared)m 104 809 p (themselves)s 10(Designated)m 11(Router)m 10(\(i.e.,)m 10(they)m 11(are)m 10(currently)m 11(listing)m 10(themselves)m 11(as)m 10(Designated)m 10(Router)m 11(in)m 10(their)m 11(Hello)m 104 859 p (Packets\))s 10(the)m 11(one)m 10(having)m 10(highest)m 11(Router)m 10(Priority)m 11(is)m 10(declared)m 11(to)m 10(be)m 10(Designated)m 11(Router)m -2 r 46 c 13(In)m 11(case)m 10(of)m 11 r 97 c 10(tie,)m 10(the)m 11(one)m 104 909 p (having)s 10(the)m 11(highest)m 10(Router)m 10(ID)m 11(is)m 10(chosen.)m 14(If)m 11(no)m 10(routers)m 10(have)m 11(declared)m 10(themselves)m 11(Designated)m 10(Router)m -1 r 44 c 10(assign)m 10(the)m 104 959 p (Designated)s 10(Router)m 11(to)m 10(be)m 10(the)m 11(same)m 10(as)m 11(the)m 10(newly)m 11(elected)m 10(Backup)m 10(Designated)m 11(Router)m -2 r 46 c 52 1042 p (4.)s 21(If)m 10(Router)m 10 r 88 c 11(is)m 10(now)m 11(newly)m 10(the)m 10(Designated)m 11(Router)m 10(or)m 11(newly)m 10(the)m 11(Backup)m 10(Designated)m 10(Router)m 44 c 9(or)m 11(is)m 10(now)m 10(no)m 11(longer)m 104 1092 p (the)s 10(Designated)m 11(Router)m 10(or)m 10(no)m 11(longer)m 10(the)m 11(Backup)m 10(Designated)m 11(Router)m -1 r 44 c 9(repeat)m 11(steps)m 10 r 50 c 11(and)m 10(3,)m 10(and)m 11(then)m 10(proceed)m 11(to)m 104 1142 p (step)s 10(5.)m 14(For)m 10(example,)m 11(if)m 10(Router)m 11 r 88 c 10(is)m 11(now)m 10(the)m 10(Designated)m 11(Router)m -1 r 44 c 10(when)m 10(step)m 10 r 50 c 11(is)m 10(repeated)m 11 r 88 c 10(will)m 10(no)m 11(longer)m 10(be)m 104 1191 p (eligible)s 10(for)m 11(Backup)m 10(Designated)m 10(Router)m 11(election.)m 14(Among)m 10(other)m 11(things,)m 10(this)m 10(will)m 11(ensure)m 10(that)m 11(no)m 10(router)m 10(will)m 104 1241 p (declare)s 10(itself)m 11(both)m 10(Backup)m 10(Designated)m 11(Router)m 10(and)m 11(Designated)m 10(Router)m -1 r 46 c t-rom.210 @sf 1276 1226 p 53 c t-rom.300 @sf 52 1324 p (5.)s 21(As)m 10 r 97 c 10(result)m 10(of)m 10(these)m 10(calculations,)m 10(the)m 10(router)m 10(itself)m 10(may)m 10(now)m 10(be)m 10(Designated)m 10(Router)m 10(or)m 10(Backup)m 10(Designated)m 10(Router)m -1 r 46 c 104 1374 p (See)s 10(Sections)m 11(7.3)m 10(and)m 10(7.4)m 11(for)m 10(the)m 11(additional)m 10(duties)m 11(this)m 10(would)m 10(entail.)m 14(The)m 11(router)m 1 r 39 c -1 r 115 c 9(interface)m 11(state)m 10(should)m 11(be)m 10(set)m 104 1424 p (accordingly)s -2 r 46 c 13(If)m 10(the)m 11(router)m 10(itself)m 11(is)m 10(now)m 10(Designated)m 11(Router)m -1 r 44 c 10(the)m 10(new)m 10(interface)m 11(state)m 10(is)m t-bol.300 @sf 11(DR)m t-rom.300 @sf 46 c 10(If)m 11(the)m 10(router)m 10(itself)m 11(is)m 104 1474 p (now)s 10(Backup)m 11(Designated)m 10(Router)m -1 r 44 c 10(the)m 10(new)m 11(interface)m 10(state)m 10(is)m t-bol.300 @sf 11(Backup)m t-rom.300 @sf 46 c 14(Otherwise,)m 10(the)m 11(new)m 10(interface)m 10(state)m 11(is)m t-bol.300 @sf 10(DR)m 104 1523 p (Other)s t-rom.300 @sf 46 c 52 1606 p (6.)s 21(If)m 10(the)m 10(attached)m 11(network)m 10(is)m 11(non-broadcast,)m 10(and)m 10(the)m 11(router)m 10(itself)m 11(has)m 10(just)m 11(become)m 10(either)m 10(Designated)m 11(Router)m 10(or)m 104 1656 p (Backup)s 10(Designated)m 11(Router)m -1 r 44 c 9(it)m 11(must)m 10(start)m 11(sending)m 10(Hello)m 10(Packets)m 11(to)m 10(those)m 11(neighbors)m 10(that)m 11(are)m 10(not)m 10(eligible)m 11(to)m 104 1706 p (become)s 10(Designated)m 11(Router)m 10(\(see)m 10(Section)m 11(9.5.1\).)m 14(This)m 10(is)m 11(done)m 10(by)m 10(invoking)m 11(the)m 10(neighbor)m 11(event)m t-bol.300 @sf 10(Start)m t-rom.300 @sf 10(for)m 11(each)m 104 1756 p (neighbor)s 10(having)m 11 r 97 c t-bol.300 @sf 10(Router)m 10(Priority)m t-rom.300 @sf 11(of)m 10(0.)m 52 1839 p (7.)s 21(If)m 10(the)m 10(above)m 11(calculations)m 10(have)m 11(caused)m 10(the)m 10(identity)m 11(of)m 10(either)m 11(the)m 10(Designated)m 11(Router)m 10(or)m 10(Backup)m 11(Designated)m 104 1889 p (Router)s 10(to)m 11(change,)m 10(the)m 10(set)m 11(of)m 10(adjacencies)m 11(associated)m 10(with)m 11(this)m 10(interface)m 10(will)m 11(need)m 10(to)m 11(be)m 10(modi\014ed.)m 14(Some)m 104 1939 p (adjacencies)s 10(may)m 11(need)m 10(to)m 10(be)m 11(formed,)m 10(and)m 11(others)m 10(may)m 11(need)m 10(to)m 10(be)m 11(broken.)m 14 r 84 c -2 r 111 c 9(accomplish)m 11(this,)m 10(invoke)m 10(the)m 11(event)m t-bol.300 @sf 104 1988 p (AdjOK?)s t-rom.300 @sf 10(on)m 11(all)m 10(neighbors)m 10(whose)m 11(state)m 10(is)m 11(at)m 10(least)m t-bol.300 @sf 11(2-W)m -2(ay)m t-rom.300 @sf 46 c 13(This)m 11(will)m 10(cause)m 10(their)m 11(eligibility)m 10(for)m 11(adjacency)m 10(to)m 10(be)m 104 2038 p (reexamined)s 10(\(see)m 11(Sections)m 10(10.3)m 10(and)m 11(10.4\).)m 0 2147 p (The)s 10(reason)m 10(behind)m 11(the)m 10(election)m 10(algorithm')m -1 r 115 c 9(complexity)m 10(is)m 10(the)m 11(desire)m 10(for)m 10(an)m 10(orderly)m 10(transition)m 11(from)m 10(Backup)m 10(Designated)m 0 2197 p (Router)s 10(to)m 10(Designated)m 10(Router)m -1 r 44 c 9(when)m 10(the)m 10(current)m 10(Designated)m 10(Router)m 10(fails.)m 13(This)m 10(orderly)m 10(transition)m 10(is)m 10(ensured)m 10(through)m 10(the)m 0 2247 p (introduction)s 10(of)m 11(hysteresis:)m 14(no)m 10(new)m 11(Backup)m 10(Designated)m 10(Router)m 11(can)m 10(be)m 11(chosen)m 10(until)m 10(the)m 11(old)m 10(Backup)m 11(accepts)m 10(its)m 11(new)m 0 2297 p (Designated)s 10(Router)m 11(responsibilities.)m 0 2332 p 780 2 ru t-rom.180 @sf 45 2360 p 53 c t-rom.240 @sf 60 2372 p (It)s 7(is)m 8(instructive)m 7(to)m 8(see)m 7(what)m 8(happens)m 7(when)m 8(the)m 7(Designated)m 8(Router)m 7(for)m 8(the)m 7(network)m 8(crashes.)m 11(Call)m 7(the)m 8(Designated)m 7(Router)m 8(for)m 7(the)m 8(network)m 7 r 82 c -1(T1,)m 7(and)m 0 2411 p (the)s 8(Backup)m 8(Designated)m 8(Router)m 7 r 82 c -1(T2.)m 10(If)m 8(Router)m 8 r 82 c -1(T1)m 7(crashes)m 8(\(or)m 8(maybe)m 7(its)m 8(interface)m 8(to)m 8(the)m 8(network)m 8(dies\),)m 8(the)m 7(other)m 8(routers)m 8(on)m 8(the)m 8(network)m 8(will)m 7(detect)m 0 2451 p 82 c -1(T1')m -2 r 115 c 7(absence)m 8(within)m 8(RouterDeadInterval)m 8(seconds.)m 11(All)m 7(routers)m 8(may)m 8(not)m 8(detect)m 8(this)m 8(at)m 8(precisely)m 7(the)m 8(same)m 8(time;)m 8(the)m 8(routers)m 8(that)m 8(detect)m 8 r 82 c -1(T1')m -2 r 115 c 7(absence)m 0 2490 p (before)s 10 r 82 c -1(T2)m 10(does)m 10(will,)m 10(for)m 11 r 97 c 10(time,)m 11(select)m 10 r 82 c -1(T2)m 9(to)m 10(be)m 11(both)m 10(Designated)m 10(Router)m 10(and)m 11(Backup)m 10(Designated)m 10(Router)m -1 r 46 c 16(When)m 11 r 82 c -1(T2)m 9(detects)m 10(that)m 10 r 82 c -1(T1)m 10(is)m 10(gone)m 0 2530 p (it)s 9(will)m 10(move)m 9(itself)m 9(to)m 10(Designated)m 9(Router)m -1 r 46 c 14(At)m 9(this)m 9(time,)m 10(the)m 9(remaining)m 10(router)m 9(having)m 9(highest)m 10(Router)m 9(Priority)m 10(will)m 9(be)m 9(selected)m 10(as)m 9(Backup)m 9(Designated)m 0 2569 p (Router)s -1 r 46 c t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(39])m @eop 40 @bop0 40 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (The)s 10(above)m 11(procedure)m 10(may)m 11(elect)m 10(the)m 10(same)m 11(router)m 10(to)m 11(be)m 10(both)m 11(Designated)m 10(Router)m 10(and)m 11(Backup)m 10(Designated)m 11(Router)m -1 r 44 c 0 245 p (although)s 10(that)m 11(router)m 10(will)m 11(never)m 10(be)m 10(the)m 11(calculating)m 10(router)m 11(\(Router)m 10(X\))m 11(itself.)m 13(The)m 11(elected)m 10(Designated)m 11(Router)m 10(may)m 11(not)m 10(be)m 0 295 p (the)s 10(router)m 11(having)m 10(the)m 11(highest)m 10(Router)m 10(Priority)m -1 r 44 c 9(nor)m 11(will)m 10(the)m 10(Backup)m 11(Designated)m 10(Router)m 11(necessarily)m 10(have)m 11(the)m 10(second)m 0 345 p (highest)s 10(Router)m 11(Priority)m -2 r 46 c 13(If)m 10(Router)m 11 r 88 c 10(is)m 11(not)m 10(itself)m 11(eligible)m 10(to)m 10(become)m 11(Designated)m 10(Router)m 44 c 9(it)m 10(is)m 11(possible)m 10(that)m 11(neither)m 10 r 97 c 0 394 p (Backup)s 10(Designated)m 11(Router)m 10(nor)m 11 r 97 c 10(Designated)m 10(Router)m 11(will)m 10(be)m 11(selected)m 10(in)m 11(the)m 10(above)m 10(procedure.)m 14(Note)m 11(also)m 10(that)m 11(if)m 10(Router)m 0 444 p 88 c 10(is)m 11(the)m 10(only)m 11(attached)m 10(router)m 10(that)m 11(is)m 10(eligible)m 11(to)m 10(become)m 11(Designated)m 10(Router)m -1 r 44 c 10(it)m 10(will)m 11(select)m 10(itself)m 10(as)m 11(Designated)m 10(Router)m 0 494 p (and)s 10(there)m 11(will)m 10(be)m 11(no)m 10(Backup)m 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network.)m t-bol.360 @sf 0 631 p (9.5)s 50(Sending)m 12(Hello)m 13(packets)m t-rom.300 @sf 0 726 p (Hello)s 10(packets)m 11(are)m 10(sent)m 11(out)m 10(each)m 10(functioning)m 11(router)m 10(interface.)m 14(They)m 11(are)m 10(used)m 10(to)m 11(discover)m 10(and)m 11(maintain)m 10(neighbor)m 0 776 p (relationships.)s t-rom.210 @sf 237 761 p 54 c t-rom.300 @sf 268 776 p (On)s 10(multi-access)m 11(networks,)m 10(Hello)m 10(Packets)m 11(are)m 10(also)m 11(used)m 10(to)m 11(elect)m 10(the)m 10(Designated)m 11(Router)m 10(and)m 11(Backup)m 0 826 p (Designated)s 10(Router)m 44 c 9(and)m 11(in)m 10(that)m 10(way)m 11(determine)m 10(what)m 11(adjacencies)m 10(should)m 10(be)m 11(formed.)m 0 894 p (The)s 10(format)m 11(of)m 10(an)m 11(Hello)m 10(packet)m 10(is)m 11(detailed)m 10(in)m 11(Section)m 10(A.3.2.)m 14(The)m 10(Hello)m 11(Packet)m 10(contains)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c t-bol.300 @sf 10(Router)m 10(Priority)m t-rom.300 @sf 0 943 p (\(used)s 10(in)m 11(choosing)m 10(the)m 11(Designated)m 10(Router\),)m 10(and)m 11(the)m 10(interval)m 11(between)m 10(Hello)m 11(Packets)m 10(sent)m 10(out)m 11(the)m 10(interface)m 0 993 p 40 c t-bol.300 @sf (HelloInterval)s t-rom.300 @sf (\).)s 14(The)m 10(Hello)m 11(Packet)m 10(also)m 11(indicates)m 10(how)m 10(often)m 11 r 97 c 10(neighbor)m 11(must)m 10(be)m 10(heard)m 11(from)m 10(to)m 11(remain)m 10(active)m 0 1043 p 40 c t-bol.300 @sf (RouterDeadInterval)s t-rom.300 @sf (\).)s 14(Both)m 10(HelloInterval)m 11(and)m 10(RouterDeadInterval)m 11(must)m 10(be)m 10(the)m 11(same)m 10(for)m 11(all)m 10(routers)m 10(attached)m 11(to)m 10 r 97 c 0 1093 p (common)s 10(network.)m 14(The)m 10(Hello)m 10(packet)m 10(also)m 10(contains)m 11(the)m 10(IP)m 10(address)m 10(mask)m 10(of)m 10(the)m 10(attached)m 10(network)m 11 r 40 c t-bol.300 @sf (Network)s 10(Mask)m t-rom.300 @sf (\).)s 14(On)m 0 1143 p (unnumbered)s 10(point-to-point)m 11(networks)m 10(and)m 11(on)m 10(virtual)m 10(links)m 11(this)m 10(\014eld)m 11(should)m 10(be)m 11(set)m 10(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 46 c 0 1210 p (The)s 10(Hello)m 11(packet')m -1 r 115 c t-bol.300 @sf 9(Options)m t-rom.300 @sf 10(\014eld)m 11(describes)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(optional)m 11(OSPF)m 10(capabilities.)m 14(There)m 10(are)m 11(currently)m 10(two)m 11(optional)m 0 1260 p (capabilities)s 10(de\014ned)m 10(\(see)m 10(Sections)m 11(4.5)m 10(and)m 10(A.2\).)m 14(The)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 9(of)m 10(the)m t-bol.300 @sf 10(Options)m t-rom.300 @sf 11(\014eld)m 10(should)m 10(be)m 10(set)m 10(if)m 10(the)m 11(router)m 10(is)m 10(capable)m 10(of)m 0 1310 p (calculating)s 10(separate)m 11(routes)m 10(for)m 11(each)m 10(IP)m 10 r 84 c (OS.)s 14(The)m t-bol.300 @sf 10(E-bit)m t-rom.300 @sf 10(should)m 11(be)m 10(set)m 11(if)m 10(and)m 11(only)m 10(if)m 10(the)m 11(attached)m 10(area)m 11(is)m 10(capable)m 10(of)m 0 1360 p (processing)s 10(AS)m 11(external)m 10(advertisements)m 11(\(i.e.,)m 10(it)m 10(is)m 11(not)m 10 r 97 c 11(stub)m 10(area\).)m 14(If)m 10(the)m t-bol.300 @sf 11(E-bit)m t-rom.300 @sf 10(is)m 11(set)m 10(incorrectly)m 11(the)m 10(neighboring)m 0 1410 p (routers)s 10(will)m 11(refuse)m 10(to)m 11(accept)m 10(the)m 10(Hello)m 11(Packet)m 10(\(see)m 11(Section)m 10(10.5\).)m 14(The)m 10(rest)m 11(of)m 10(the)m 11(Hello)m 10(Packet')m -1 r 115 c t-bol.300 @sf 9(Options)m t-rom.300 @sf 11(\014eld)m 10(should)m 0 1459 p (be)s 10(set)m 11(to)m 10(zero.)m 0 1527 p (In)s 10(order)m 11(to)m 10(ensure)m 11(two-way)m 10(communication)m 10(between)m 11(adjacent)m 10(routers,)m 11(the)m 10(Hello)m 11(packet)m 10(contains)m 10(the)m 11(list)m 10(of)m 11(all)m 10(routers)m 0 1577 p (from)s 10(which)m 11(Hello)m 10(Packets)m 11(have)m 10(been)m 10(seen)m 11(recently)m -2 r 46 c 13(The)m 11(Hello)m 10(packet)m 10(also)m 11(contains)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(current)m 11(choice)m 10(for)m 0 1627 p (Designated)s 10(Router)m 11(and)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 13 r 65 c 10(value)m 11(of)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 10(in)m 11(these)m 10(\014elds)m 11(means)m 10(that)m 10(one)m 11(has)m 10(not)m 11(yet)m 0 1677 p (been)s 10(selected.)m 0 1744 p (On)s 10(broadcast)m 11(networks)m 10(and)m 11(physical)m 10(point-to-point)m 10(networks,)m 11(Hello)m 10(packets)m 11(are)m 10(sent)m 11(every)m 10(HelloInterval)m 10(seconds)m 11(to)m 0 1794 p (the)s 10(IP)m 10(multicast)m 11(address)m 10(AllSPFRouters.)m 14(On)m 10(virtual)m 10(links,)m 10(Hello)m 10(packets)m 11(are)m 10(sent)m 10(as)m 10(unicasts)m 10(\(addressed)m 11(directly)m 10(to)m 10(the)m 0 1844 p (other)s 10(end)m 11(of)m 10(the)m 11(virtual)m 10(link\))m 10(every)m 11(HelloInterval)m 10(seconds.)m 14(On)m 11(non-broadcast)m 10(networks,)m 10(the)m 11(sending)m 10(of)m 11(Hello)m 10(packets)m 0 1894 p (is)s 10(more)m 11(complicated.)m 14(This)m 10(will)m 11(be)m 10(covered)m 10(in)m 11(the)m 10(next)m 11(section.)m t-bol.300 @sf 0 2022 p (9.5.1)s 42(Sending)m 10(Hello)m 10(packets)m 11(on)m 10(non-br)m (oadcast)s 10(networks)m t-rom.300 @sf 0 2118 p (Static)s 10(con\014guration)m 11(information)m 10(is)m 11(necessary)m 10(in)m 10(order)m 11(for)m 10(the)m 11(Hello)m 10(Protocol)m 11(to)m 10(function)m 10(on)m 11(non-broadcast)m 10(networks)m 0 2168 p (\(see)s 10(Section)m 11(C.5\).)m 14(Every)m 10(attached)m 11(router)m 10(which)m 10(is)m 11(eligible)m 10(to)m 11(become)m 10(Designated)m 10(Router)m 11(has)m 10 r 97 c 11(con\014gured)m 10(list)m 11(of)m 10(all)m 10(of)m 0 2217 p (its)s 10(neighbors)m 11(on)m 10(the)m 11(network.)m 14(Each)m 10(listed)m 10(neighbor)m 11(is)m 10(labelled)m 11(with)m 10(its)m 10(Designated)m 11(Router)m 10(eligibility)m -1 r 46 c 0 2285 p (The)s 10(interface)m 11(state)m 10(must)m 11(be)m 10(at)m 10(least)m t-bol.300 @sf 11 r 87 c -1(aiting)m t-rom.300 @sf 9(for)m 10(any)m 11(Hello)m 10(Packets)m 11(to)m 10(be)m 11(sent.)m 13(Hello)m 11(Packets)m 10(are)m 11(then)m 10(sent)m 11(directly)m 10(\(as)m 0 2335 p (unicasts\))s 10(to)m 11(some)m 10(subset)m 11(of)m 10 r 97 c 10(router)m 2 r 39 c -1 r 115 c 9(neighbors.)m 14(Sometimes)m 10(an)m 11(Hello)m 10(Packet)m 11(is)m 10(sent)m 11(periodically)m 10(on)m 10 r 97 c 11(timer;)m 10(at)m 11(other)m 0 2385 p (times)s 10(it)m 11(is)m 10(sent)m 11(as)m 10 r 97 c 10(response)m 11(to)m 10 r 97 c 11(received)m 10(Hello)m 11(Packet.)m 13 r 65 c 11(router)m 1 r 39 c -1 r 115 c 10(hello-sending)m 10(behavior)m 10(varies)m 11(depending)m 10(on)m 0 2434 p (whether)s 10(the)m 11(router)m 10(itself)m 11(is)m 10(eligible)m 10(to)m 11(become)m 10(Designated)m 11(Router)m -2 r 46 c 0 2470 p 780 2 ru t-rom.180 @sf 45 2498 p 54 c t-rom.240 @sf 60 2510 p (On)s 10(point-to-point)m 10(networks,)m 11(the)m 10(lower)m 10(level)m 10(protocols)m 10(indicate)m 10(whether)m 10(the)m 10(neighbor)m 10(is)m 10(up)m 10(and)m 11(running.)m 16(Likewise,)m 10(existence)m 10(of)m 11(the)m 10(neighbor)m 0 2549 p (on)s 12(virtual)m 11(links)m 12(is)m 12(indicated)m 12(by)m 11(the)m 12(routing)m 12(table)m 11(calculation.)m 22(However)m -1 r 44 c 12(in)m 12(both)m 11(these)m 12(cases,)m 13(the)m 11(Hello)m 12(Protocol)m 12(is)m 12(still)m 11(used.)m 22(This)m 11(ensures)m 12(that)m 0 2589 p (communication)s 8(between)m 9(the)m 8(neighbors)m 8(is)m 9(bidirectional,)m 8(and)m 8(that)m 9(each)m 8(of)m 8(the)m 9(neighbors)m 8(has)m 8 r 97 c 9(functioning)m 8(routing)m 8(protocol)m 9(layer)m -1 r 46 c t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(40])m @eop 41 @bop0 41 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (If)s 10(the)m 11(router)m 10(is)m 10(eligible)m 11(to)m 10(become)m 10(Designated)m 11(Router)m -1 r 44 c 9(it)m 11(must)m 10(periodically)m 10(send)m 11(Hello)m 10(Packets)m 10(to)m 10(all)m 11(neighbors)m 10(that)m 10(are)m 0 245 p (also)s 10(eligible.)m 14(In)m 11(addition,)m 10(if)m 11(the)m 10(router)m 10(is)m 11(itself)m 10(the)m 11(Designated)m 10(Router)m 10(or)m 11(Backup)m 10(Designated)m 11(Router)m -1 r 44 c 9(it)m 11(must)m 10(also)m 11(send)m 0 295 p (periodic)s 10(Hello)m 11(Packets)m 10(to)m 11(all)m 10(other)m 10(neighbors.)m 14(This)m 11(means)m 10(that)m 11(any)m 10(two)m 10(eligible)m 11(routers)m 10(are)m 11(always)m 10(exchanging)m 11(Hello)m 0 345 p (Packets,)s 10(which)m 11(is)m 10(necessary)m 11(for)m 10(the)m 10(correct)m 11(operation)m 10(of)m 11(the)m 10(Designated)m 11(Router)m 10(election)m 10(algorithm.)m 14 r 84 c -2 r 111 c 10(minimize)m 10(the)m 0 394 p (number)s 10(of)m 11(Hello)m 10(Packets)m 11(sent,)m 10(the)m 10(number)m 11(of)m 10(eligible)m 11(routers)m 10(on)m 11 r 97 c 10(non-broadcast)m 10(network)m 11(should)m 10(be)m 11(kept)m 10(small.)m 0 462 p (If)s 10(the)m 11(router)m 10(is)m 11(not)m 10(eligible)m 10(to)m 11(become)m 10(Designated)m 11(Router)m -1 r 44 c 9(it)m 11(must)m 10(periodically)m 11(send)m 10(Hello)m 11(Packets)m 10(to)m 10(both)m 11(the)m 0 512 p (Designated)s 10(Router)m 11(and)m 10(the)m 11(Backup)m 10(Designated)m 10(Router)m 11(\(if)m 10(they)m 11(exist\).)m 14(It)m 10(must)m 10(also)m 11(send)m 10(an)m 11(Hello)m 10(Packet)m 11(in)m 10(reply)m 10(to)m 11(an)m 0 562 p (Hello)s 10(Packet)m 11(received)m 10(from)m 11(any)m 10(eligible)m 10(neighbor)m 11(\(other)m 10(than)m 11(the)m 10(current)m 11(Designated)m 10(Router)m 10(and)m 11(Backup)m 10(Designated)m 0 611 p (Router\).)s 14(This)m 10(is)m 11(needed)m 10(to)m 11(establish)m 10(an)m 10(initial)m 11(bidirectional)m 10(relationship)m 11(with)m 10(any)m 10(potential)m 11(Designated)m 10(Router)m -1 r 46 c 0 679 p (When)s 10(sending)m 11(Hello)m 10(packets)m 11(periodically)m 10(to)m 10(any)m 11(neighbor)m -1 r 44 c 10(the)m 10(interval)m 10(between)m 11(Hello)m 10(Packets)m 11(is)m 10(determined)m 11(by)m 10(the)m 0 729 p (neighbor)s 2 r 39 c -2 r 115 c 10(state.)m 14(If)m 10(the)m 10(neighbor)m 11(is)m 10(in)m 11(state)m t-bol.300 @sf 10(Down)m t-rom.300 @sf 44 c 10(Hello)m 11(Packets)m 10(are)m 11(sent)m 10(every)m 11(PollInterval)m 10(seconds.)m 14(Otherwise,)m 0 779 p (Hello)s 10(Packets)m 11(are)m 10(sent)m 11(every)m 10(HelloInterval)m 10(seconds.)m t-bol.420 @sf 0 937 p (10)s 58(The)m 15(Neighbor)m 14(Data)m 15(Structur)m 101 c t-rom.300 @sf 0 1047 p (An)s 10(OSPF)m 11(router)m 10(converses)m 11(with)m 10(its)m 10(neighboring)m 11(routers.)m 14(Each)m 10(separate)m 11(conversation)m 10(is)m 10(described)m 11(by)m 10 r 97 c 11(\\neighbor)m 10(data)m 0 1097 p (structure".)s 14(Each)m 10(conversation)m 11(is)m 10(bound)m 11(to)m 10 r 97 c 10(particular)m 11(OSPF)m 10(router)m 11(interface,)m 10(and)m 10(is)m 11(identi\014ed)m 10(either)m 11(by)m 10(the)m 0 1147 p (neighboring)s 10(router)m 1 r 39 c -1 r 115 c 9(OSPF)m 10(Router)m 10(ID)m 9(or)m 10(by)m 10(its)m 10(Neighbor)m 10(IP)m 10(address)m 9(\(see)m 10(below\).)m 14(Thus)m 10(if)m 10(the)m 9(OSPF)m 10(router)m 10(and)m 10(another)m 0 1197 p (router)s 10(have)m 11(multiple)m 10(attached)m 11(networks)m 10(in)m 10(common,)m 11(multiple)m 10(conversations)m 11(ensue,)m 10(each)m 11(described)m 10(by)m 10 r 97 c 11(unique)m 0 1247 p (neighbor)s 10(data)m 11(structure.)m 14(Each)m 10(separate)m 11(conversation)m 10(is)m 10(loosely)m 11(referred)m 10(to)m 11(in)m 10(the)m 10(text)m 11(as)m 10(being)m 11 r 97 c 10(separate)m 11(\\neighbor)m 1(".)m 0 1314 p (The)s 10(neighbor)m 11(data)m 10(structure)m 11(contains)m 10(all)m 10(information)m 11(pertinent)m 10(to)m 11(the)m 10(forming)m 11(or)m 10(formed)m 10(adjacency)m 11(between)m 10(the)m 11(two)m 0 1364 p (neighbors.)s 14(\(However)m -1 r 44 c 10(remember)m 10(that)m 10(not)m 11(all)m 10(neighbors)m 11(become)m 10(adjacent.\))m 14(An)m 10(adjacency)m 11(can)m 10(be)m 11(viewed)m 10(as)m 11 r 97 c 10(highly)m 0 1414 p (developed)s 10(conversation)m 11(between)m 10(two)m 11(routers.)m t-bol.300 @sf 0 1523 p (State)s t-rom.300 @sf 21(The)m 10(functional)m 11(level)m 10(of)m 10(the)m 11(neighbor)m 10(conversation.)m 14(This)m 11(is)m 10(described)m 10(in)m 11(more)m 10(detail)m 11(in)m 10(Section)m 10(10.1.)m t-bol.300 @sf 0 1606 p (Inactivity)s 10 r 84 c (imer)s t-rom.300 @sf 20 r 65 c 11(single)m 10(shot)m 11(timer)m 10(whose)m 11(\014ring)m 10(indicates)m 10(that)m 11(no)m 10(Hello)m 11(Packet)m 10(has)m 10(been)m 11(seen)m 10(from)m 11(this)m 10(neighbor)m 104 1656 p (recently)s -2 r 46 c 13(The)m 10(length)m 11(of)m 10(the)m 11(timer)m 10(is)m 10(RouterDeadInterval)m 11(seconds.)m t-bol.300 @sf 0 1739 p (Master/Slave)s t-rom.300 @sf 21(When)m 10(the)m 11(two)m 10(neighbors)m 10(are)m 11(exchanging)m 10(databases,)m 11(they)m 10(form)m 11 r 97 c 10(master/slave)m 10(relationship.)m 14(The)m 11(master)m 104 1789 p (sends)s 10(the)m 11(\014rst)m 10(Database)m 10(Description)m 11(Packet,)m 10(and)m 11(is)m 10(the)m 11(only)m 10(part)m 10(that)m 11(is)m 10(allowed)m 11(to)m 10(retransmit.)m 14(The)m 10(slave)m 11(can)m 104 1839 p (only)s 10(respond)m 11(to)m 10(the)m 10(master)m 2 r 39 c -1 r 115 c 9(Database)m 11(Description)m 10(Packets.)m 14(The)m 10(master/slave)m 11(relationship)m 10(is)m 10(negotiated)m 11(in)m 10(state)m t-bol.300 @sf 104 1888 p (ExStart)s t-rom.300 @sf 46 c t-bol.300 @sf 0 1971 p (DD)s 10(Sequence)m 11(Number)m t-rom.300 @sf 21 r 65 c 10(32-bit)m 10(number)m 11(identifying)m 10(individual)m 11(Database)m 10(Description)m 11(packets.)m 13(When)m 11(the)m 10(neighbor)m 104 2021 p (state)s 10(ExStart)m 11(is)m 10(entered,)m 10(the)m 11(DD)m 10(sequence)m 11(number)m 10(should)m 11(be)m 10(set)m 10(to)m 11 r 97 c 10(value)m 11(not)m 10(previously)m 10(seen)m 11(by)m 10(the)m 104 2071 p (neighboring)s 10(router)m -1 r 46 c 13(One)m 10(possible)m 11(scheme)m 10(is)m 10(to)m 11(use)m 10(the)m 11(machine')m -2 r 115 c 10(time)m 10(of)m 11(day)m 10(counter)m -1 r 46 c 13(The)m 10(DD)m 11(sequence)m 104 2121 p (number)s 10(is)m 11(then)m 10(incremented)m 10(by)m 11(the)m 10(master)m 11(with)m 10(each)m 11(new)m 10(Database)m 10(Description)m 11(packet)m 10(sent.)m 14(The)m 10(slave')m -1 r 115 c 10(DD)m 104 2171 p (sequence)s 10(number)m 11(indicates)m 10(the)m 10(last)m 11(packet)m 10(received)m 11(from)m 10(the)m 11(master)m -2 r 46 c 13(Only)m 11(one)m 10(packet)m 10(is)m 11(allowed)m 10(outstanding)m 11(at)m 104 2220 p 97 c 10(time.)m t-bol.300 @sf 0 2303 p (Neighbor)s 10(ID)m t-rom.300 @sf 21(The)m 11(OSPF)m 10(Router)m 10(ID)m 11(of)m 10(the)m 11(neighboring)m 10(router)m -1 r 46 c 13(The)m 10(Neighbor)m 11(ID)m 10(is)m 10(learned)m 11(when)m 10(Hello)m 11(packets)m 10(are)m 104 2353 p (received)s 10(from)m 11(the)m 10(neighbor)m -1 r 44 c 10(or)m 10(is)m 11(con\014gured)m 10(if)m 10(this)m 11(is)m 10 r 97 c 11(virtual)m 10(adjacency)m 11(\(see)m 10(Section)m 10(C.4\).)m t-bol.300 @sf 0 2436 p (Neighbor)s 10(Priority)m t-rom.300 @sf 21(The)m 11(Router)m 10(Priority)m 10(of)m 11(the)m 10(neighboring)m 11(router)m -2 r 46 c 13(Contained)m 11(in)m 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(Hello)m 11(packets,)m 10(this)m 104 2486 p (item)s 10(is)m 11(used)m 10(when)m 10(selecting)m 11(the)m 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(attached)m 10(network.)m 0 2723 p (Moy)s 1710([Page)m 11(41])m @eop 42 @bop0 42 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (Neighbor)s 10(IP)m 11(addr)m (ess)s t-rom.300 @sf 20(The)m 10(IP)m 11(address)m 10(of)m 11(the)m 10(neighboring)m 10(router)m 2 r 39 c -1 r 115 c 9(interface)m 10(to)m 11(the)m 10(attached)m 11(network.)m 14(Used)m 10(as)m 10(the)m 104 245 p (Destination)s 10(IP)m 11(address)m 10(when)m 10(protocol)m 11(packets)m 10(are)m 11(sent)m 10(as)m 11(unicasts)m 10(along)m 10(this)m 11(adjacency)m -2 r 46 c 13(Also)m 10(used)m 11(in)m 10(router)m 104 295 p (links)s 10(advertisements)m 11(as)m 10(the)m t-bol.300 @sf 10(Link)m 11(ID)m t-rom.300 @sf 10(for)m 11(the)m 10(attached)m 11(network)m 10(if)m 10(the)m 11(neighboring)m 10(router)m 11(is)m 10(selected)m 10(to)m 11(be)m 104 345 p (Designated)s 10(Router)m 11(\(see)m 10(Section)m 10(12.4.1\).)m 14(The)m 11(Neighbor)m 10(IP)m 11(address)m 10(is)m 10(learned)m 11(when)m 10(Hello)m 11(packets)m 10(are)m 10(received)m 104 394 p (from)s 10(the)m 11(neighbor)m -2 r 46 c 13(For)m 11(virtual)m 10(links,)m 10(the)m 11(Neighbor)m 10(IP)m 11(address)m 10(is)m 11(learned)m 10(during)m 10(the)m 11(routing)m 10(table)m 11(build)m 10(process)m 104 444 p (\(see)s 10(Section)m 11(15\).)m t-bol.300 @sf 0 525 p (Neighbor)s 10(Options)m t-rom.300 @sf 21(The)m 11(optional)m 10(OSPF)m 10(capabilities)m 11(supported)m 10(by)m 11(the)m 10(neighbor)m -1 r 46 c 13(Learned)m 10(during)m 11(the)m 10(Database)m 104 574 p (Exchange)s 10(process)m 11(\(see)m 10(Section)m 10(10.6\).)m 14(The)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(optional)m 11(OSPF)m 10(capabilities)m 11(are)m 10(also)m 10(listed)m 11(in)m 10(its)m 11(Hello)m 104 624 p (packets.)s 14(This)m 10(enables)m 10(received)m 11(Hello)m 10(Packets)m 11(to)m 10(be)m 11(rejected)m 10(\(i.e.,)m 10(neighbor)m 11(relationships)m 10(will)m 11(not)m 10(even)m 10(start)m 11(to)m 104 674 p (form\))s 10(if)m 11(there)m 10(is)m 10 r 97 c 11(mismatch)m 10(in)m 11(certain)m 10(crucial)m 11(OSPF)m 10(capabilities)m 10(\(see)m 11(Section)m 10(10.5\).)m 14(The)m 10(optional)m 11(OSPF)m 104 724 p (capabilities)s 10(are)m 11(documented)m 10(in)m 10(Section)m 11(4.5.)m t-bol.300 @sf 0 804 p (Neighbor)s 1 r 39 c -1 r 115 c 10(Designated)m 10(Router)m t-rom.300 @sf 21(The)m 10(neighbor)m 2 r 39 c -2 r 115 c 10(idea)m 10(of)m 11(the)m 10(Designated)m 11(Router)m -2 r 46 c 13(If)m 11(this)m 10(is)m 10(the)m 11(neighbor)m 10(itself,)m 11(this)m 10(is)m 104 854 p (important)s 10(in)m 11(the)m 10(local)m 10(calculation)m 11(of)m 10(the)m 11(Designated)m 10(Router)m -1 r 46 c 13(De\014ned)m 10(only)m 11(on)m 10(multi-access)m 10(networks.)m t-bol.300 @sf 0 935 p (Neighbor)s 1 r 39 c -1 r 115 c 10(Backup)m 10(Designated)m 10(Router)m t-rom.300 @sf 21(The)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(idea)m 11(of)m 10(the)m 11(Backup)m 10(Designated)m 10(Router)m -1 r 46 c 13(If)m 10(this)m 11(is)m 10(the)m 104 985 p (neighbor)s 10(itself,)m 11(this)m 10(is)m 10(important)m 11(in)m 10(the)m 11(local)m 10(calculation)m 11(of)m 10(the)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 13(De\014ned)m 10(only)m 11(on)m 104 1034 p (multi-access)s 10(networks.)m 0 1135 p (The)s 10(next)m 11(set)m 10(of)m 11(variables)m 10(are)m 10(lists)m 11(of)m 10(link)m 11(state)m 10(advertisements.)m 14(These)m 10(lists)m 11(describe)m 10(subsets)m 11(of)m 10(the)m 11(area)m 10(topological)m 0 1184 p (database.)s 14(There)m 10(can)m 11(be)m 10(\014ve)m 11(distinct)m 10(types)m 10(of)m 11(link)m 10(state)m 11(advertisements)m 10(in)m 10(an)m 11(area)m 10(topological)m 11(database:)m 14(router)m 10(links,)m 0 1234 p (network)s 10(links,)m 10(and)m 11 r 84 c -2(ype)m 9 r 51 c 10(and)m 10 r 52 c 11(summary)m 10(links)m 10(\(all)m 10(stored)m 11(in)m 10(the)m 10(area)m 10(data)m 10(structure\),)m 11(and)m 10(AS)m 10(external)m 10(links)m 11(\(stored)m 10(in)m 0 1284 p (the)s 10(global)m 11(data)m 10(structure\).)m t-bol.300 @sf 0 1384 p (Link)s 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 21(The)m 11(list)m 10(of)m 11(link)m 10(state)m 10(advertisements)m 11(that)m 10(have)m 11(been)m 10(\015ooded)m 10(but)m 11(not)m 10(acknowledged)m 11(on)m 104 1434 p (this)s 10(adjacency)m -2 r 46 c 13(These)m 11(will)m 10(be)m 11(retransmitted)m 10(at)m 10(intervals)m 11(until)m 10(they)m 11(are)m 10(acknowledged,)m 11(or)m 10(until)m 10(the)m 11(adjacency)m 10(is)m 104 1484 p (destroyed.)s t-bol.300 @sf 0 1564 p (Database)s 10(summary)m 11(list)m t-rom.300 @sf 21(The)m 10(complete)m 10(list)m 10(of)m 10(link)m 10(state)m 10(advertisements)m 10(that)m 10(make)m 10(up)m 10(the)m 11(area)m 10(topological)m 10(database,)m 10(at)m 104 1614 p (the)s 10(moment)m 11(the)m 10(neighbor)m 10(goes)m 11(into)m 10(Database)m 11(Exchange)m 10(state.)m 14(This)m 10(list)m 11(is)m 10(sent)m 11(to)m 10(the)m 10(neighbor)m 11(in)m 10(Database)m 104 1664 p (Description)s 10(packets.)m t-bol.300 @sf 0 1745 p (Link)s 10(state)m 11 r 114 c (equest)s 9(list)m t-rom.300 @sf 21(The)m 11(list)m 10(of)m 11(link)m 10(state)m 10(advertisements)m 11(that)m 10(need)m 11(to)m 10(be)m 10(received)m 11(from)m 10(this)m 11(neighbor)m 10(in)m 11(order)m 10(to)m 104 1794 p (synchronize)s 10(the)m 11(two)m 10(neighbors')m 10(topological)m 11(databases.)m 14(This)m 10(list)m 11(is)m 10(created)m 10(as)m 11(Database)m 10(Description)m 11(packets)m 10(are)m 104 1844 p (received,)s 10(and)m 11(is)m 10(then)m 10(sent)m 11(to)m 10(the)m 11(neighbor)m 10(in)m 11(Link)m 10(State)m 10(Request)m 11(packets.)m 14(The)m 10(list)m 10(is)m 11(depleted)m 10(as)m 11(appropriate)m 104 1894 p (Link)s 10(State)m 11(Update)m 10(packets)m 10(are)m 11(received.)m t-bol.360 @sf 0 2027 p (10.1)s 50(Neighbor)m 12(states)m t-rom.300 @sf 0 2120 p (The)s 10(state)m 11(of)m 10 r 97 c 11(neighbor)m 10(\(really)m -2 r 44 c 10(the)m 10(state)m 11(of)m 10 r 97 c 10(conversation)m 11(being)m 10(held)m 11(with)m 10 r 97 c 11(neighboring)m 10(router\))m 10(is)m 11(documented)m 10(in)m 11(the)m 0 2170 p (following)s 10(sections.)m 14(The)m 11(states)m 10(are)m 11(listed)m 10(in)m 10(order)m 11(of)m 10(progressing)m 11(functionality)m -2 r 46 c 13(For)m 10(example,)m 11(the)m 10(inoperative)m 10(state)m 11(is)m 0 2219 p (listed)s 10(\014rst,)m 11(followed)m 10(by)m 11 r 97 c 10(list)m 10(of)m 11(intermediate)m 10(states)m 11(before)m 10(the)m 11(\014nal,)m 10(fully)m 10(functional)m 11(state)m 10(is)m 11(achieved.)m 14(The)m 0 2269 p (speci\014cation)s 10(makes)m 11(use)m 10(of)m 11(this)m 10(ordering)m 10(by)m 11(sometimes)m 10(making)m 11(references)m 10(such)m 11(as)m 10(\\those)m 10(neighbors/adjacencies)m 11(in)m 0 2319 p (state)s 10(greater)m 11(than)m 10(X".)m 11(Figures)m 10(12)m 10(and)m 11(13)m 10(show)m 11(the)m 10(graph)m 11(of)m 10(neighbor)m 10(state)m 11(changes.)m 14(The)m 10(arcs)m 11(of)m 10(the)m 10(graphs)m 11(are)m 0 2369 p (labelled)s 10(with)m 11(the)m 10(event)m 11(causing)m 10(the)m 10(state)m 11(change.)m 14(The)m 10(neighbor)m 11(events)m 10(are)m 10(documented)m 11(in)m 10(Section)m 11(10.2.)m 0 2434 p (The)s 10(graph)m 11(in)m 10(Figure)m 11(12)m 10(shows)m 10(the)m 11(state)m 10(changes)m 11(ef)m (fected)s 9(by)m 11(the)m 10(Hello)m 11(Protocol.)m 14(The)m 10(Hello)m 10(Protocol)m 11(is)m 10(responsible)m 11(for)m 0 2484 p (neighbor)s 10(acquisition)m 11(and)m 10(maintenance,)m 11(and)m 10(for)m 10(ensuring)m 11(two)m 10(way)m 11(communication)m 10(between)m 11(neighbors.)m 0 2549 p (The)s 10(graph)m 11(in)m 10(Figure)m 11(13)m 10(shows)m 10(the)m 11(forming)m 10(of)m 11(an)m 10(adjacency)m -2 r 46 c 13(Not)m 11(every)m 10(two)m 11(neighboring)m 10(routers)m 10(become)m 11(adjacent)m 10(\(see)m 0 2599 p (Section)s 10(10.4\).)m 14(The)m 11(adjacency)m 10(starts)m 11(to)m 10(form)m 10(when)m 11(the)m 10(neighbor)m 11(is)m 10(in)m 10(state)m t-bol.300 @sf 11(ExStart)m t-rom.300 @sf 46 c 14(After)m 10(the)m 11(two)m 10(routers)m 10(discover)m 0 2723 p (Moy)s 1710([Page)m 11(42])m @eop 43 @bop0 43 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 6578176 5854576 30391173 50323046 startTexFig %!PS-Adobe-1.0 %%Title: figure12-13.fig %%Creator: f2ps %%CreationDate: Fri Mar 19 14:45:24 1993 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 100 89 462 765 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Ellipse newpath 163 480 33 33 0 360 DrawEllipse stroke % Ellipse newpath 307 482 33 33 0 360 DrawEllipse stroke % Ellipse newpath 457 406 33 33 0 360 DrawEllipse stroke % Ellipse newpath 455 557 33 33 0 360 DrawEllipse stroke % Ellipse newpath 315 171 33 33 0 360 DrawEllipse stroke % Ellipse newpath 153 169 33 33 0 360 DrawEllipse stroke % Ellipse newpath 474 93 33 33 0 360 DrawEllipse stroke % Ellipse newpath 235 64 33 33 0 360 DrawEllipse stroke % Ellipse newpath 480 209 10 10 0 360 DrawEllipse stroke % Ellipse newpath 161 384 10 10 0 360 DrawEllipse stroke % Polyline newpath 405 482 moveto 438 527 lineto stroke newpath 434.882 519.366 moveto 438.000 527.000 lineto 431.656 521.732 lineto stroke % Polyline newpath 405 482 moveto 434 432 lineto stroke newpath 428.256 437.917 moveto 434.000 432.000 lineto 431.716 439.924 lineto stroke % Polyline newpath 340 481 moveto 405 481 lineto stroke newpath 397.000 479.000 moveto 405.000 481.000 lineto 397.000 483.000 lineto stroke % Polyline newpath 454 440 moveto 454 524 lineto stroke newpath 456.000 516.000 moveto 454.000 524.000 lineto 452.000 516.000 lineto stroke % Polyline newpath 441 93 moveto 335 143 lineto stroke newpath 343.089 141.396 moveto 335.000 143.000 lineto 341.382 137.778 lineto stroke % Polyline newpath 428 172 moveto 473 202 lineto stroke newpath 467.453 195.898 moveto 473.000 202.000 lineto 465.234 199.226 lineto stroke % Polyline newpath 428 171 moveto 468 127 lineto stroke newpath 461.139 131.574 moveto 468.000 127.000 lineto 464.098 134.265 lineto stroke % Polyline newpath 348 171 moveto 428 171 lineto stroke newpath 420.000 169.000 moveto 428.000 171.000 lineto 420.000 173.000 lineto stroke % Polyline newpath 197 481 moveto 274 481 lineto stroke newpath 266.000 479.000 moveto 274.000 481.000 lineto 266.000 483.000 lineto stroke % Polyline newpath 161 396 moveto 161 447 lineto stroke newpath 163.000 439.000 moveto 161.000 447.000 lineto 159.000 439.000 lineto stroke % Polyline newpath 187 170 moveto 282 170 lineto stroke newpath 274.000 168.000 moveto 282.000 170.000 lineto 274.000 172.000 lineto stroke % Polyline newpath 166 139 moveto 211 89 lineto stroke newpath 204.162 93.608 moveto 211.000 89.000 lineto 207.135 96.284 lineto stroke % Polyline newpath 259 89 moveto 302 139 lineto stroke newpath 298.300 131.630 moveto 302.000 139.000 lineto 295.267 134.239 lineto stroke /Courier findfont 12.222222 scalefont setfont 128 670 moveto 1 -1 scale (Event BadLSReq forces ExStart state) show 1 -1 scale 112 654 moveto 1 -1 scale (* Event SeqNumberMismatch forces ExStart state) show 1 -1 scale 127 749 moveto 1 -1 scale (Event AdjOK? leads to adjacency forming/breaking) show 1 -1 scale 128 687 moveto 1 -1 scale (Event 1-Way forces Init state) show 1 -1 scale 127 733 moveto 1 -1 scale (Event LLDown forces Down state) show 1 -1 scale 164 280 moveto 1 -1 scale (Event LLDown forces Down state) show 1 -1 scale 164 247 moveto 1 -1 scale (Event KillNbr forces Down state) show 1 -1 scale 128 703 moveto 1 -1 scale (Event KillNbr forces Down state) show 1 -1 scale 128 717 moveto 1 -1 scale (Event InactivityTimer forces Down state) show 1 -1 scale 470 492 moveto 1 -1 scale (Done) show 1 -1 scale 461 479 moveto 1 -1 scale (Loading) show 1 -1 scale 358 471 moveto 1 -1 scale (Done) show 1 -1 scale 343 455 moveto 1 -1 scale (Exchange) show 1 -1 scale 190 455 moveto 1 -1 scale (Negotiation) show 1 -1 scale 220 470 moveto 1 -1 scale (Done) show 1 -1 scale 114 777 moveto 1 -1 scale (Figure 13: Neighbor state changes \(Database Exchange\)) show 1 -1 scale 429 408 moveto 1 -1 scale (Loading) show 1 -1 scale 439 562 moveto 1 -1 scale (Full) show 1 -1 scale 136 484 moveto 1 -1 scale (ExStart) show 1 -1 scale 275 483 moveto 1 -1 scale (Exchange) show 1 -1 scale 164 264 moveto 1 -1 scale (Event Inactivity Timer forces Down State) show 1 -1 scale 358 196 moveto 1 -1 scale (Received) show 1 -1 scale 367 182 moveto 1 -1 scale (2-Way) show 1 -1 scale 199 160 moveto 1 -1 scale (Received) show 1 -1 scale 210 146 moveto 1 -1 scale (Hello) show 1 -1 scale 456 97 moveto 1 -1 scale (2-Way) show 1 -1 scale 298 168 moveto 1 -1 scale (Init) show 1 -1 scale 135 172 moveto 1 -1 scale (Down) show 1 -1 scale 381 133 moveto 1 -1 scale (1-Way) show 1 -1 scale 114 319 moveto 1 -1 scale (Figure 12: Neighbor state changes \(Hello Protocol\)) show 1 -1 scale 209 64 moveto 1 -1 scale (Attempt) show 1 -1 scale 279 105 moveto 1 -1 scale (Hello Received) show 1 -1 scale 149 104 moveto 1 -1 scale (Start) show 1 -1 scale 152 248 moveto 1 -1 scale (*) show 1 -1 scale 476 213 moveto 1 -1 scale (A) show 1 -1 scale 157 388 moveto 1 -1 scale (A) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1710([Page)m 11(43])m @eop 44 @bop0 44 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (their)s 10(master/slave)m 10(status,)m 11(the)m 10(state)m 10(transitions)m 10(to)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 46 c 13(At)m 11(this)m 10(point)m 10(the)m 10(neighbor)m 10(starts)m 11(to)m 10(be)m 10(used)m 10(in)m 10(the)m 11(\015ooding)m 0 245 p (procedure,)s 10(and)m 11(the)m 10(two)m 11(neighboring)m 10(routers)m 10(begin)m 11(synchronizing)m 10(their)m 11(databases.)m 14(When)m 10(this)m 10(synchronization)m 11(is)m 0 295 p (\014nished,)s 10(the)m 11(neighbor)m 10(is)m 11(in)m 10(state)m t-bol.300 @sf 10(Full)m t-rom.300 @sf 11(and)m 10(we)m 11(say)m 10(that)m 11(the)m 10(two)m 10(routers)m 11(are)m 10(fully)m 11(adjacent.)m 14(At)m 10(this)m 10(point)m 11(the)m 10(adjacency)m 11(is)m 0 345 p (listed)s 10(in)m 11(link)m 10(state)m 11(advertisements.)m 0 409 p (For)s 10 r 97 c 11(more)m 10(detailed)m 11(description)m 10(of)m 10(neighbor)m 11(state)m 10(changes,)m 11(together)m 10(with)m 11(the)m 10(additional)m 10(actions)m 11(involved)m 10(in)m 11(each)m 0 459 p (change,)s 10(see)m 11(Section)m 10(10.3.)m t-bol.300 @sf 0 558 p (Down)s t-rom.300 @sf 21(This)m 10(is)m 11(the)m 10(initial)m 10(state)m 11(of)m 10 r 97 c 11(neighbor)m 10(conversation.)m 14(It)m 10(indicates)m 11(that)m 10(there)m 11(has)m 10(been)m 10(no)m 11(recent)m 10(information)m 104 608 p (received)s 10(from)m 11(the)m 10(neighbor)m -1 r 46 c 13(On)m 10(non-broadcast)m 10(networks,)m 11(Hello)m 10(packets)m 11(may)m 10(still)m 11(be)m 10(sent)m 10(to)m 11(\\Down")m 10(neighbors,)m 104 657 p (although)s 10(at)m 11 r 97 c 10(reduced)m 10(frequency)m 11(\(see)m 10(Section)m 11(9.5.1\).)m t-bol.300 @sf 0 737 p (Attempt)s t-rom.300 @sf 21(This)m 10(state)m 11(is)m 10(only)m 10(valid)m 11(for)m 10(neighbors)m 11(attached)m 10(to)m 11(non-broadcast)m 10(networks.)m 14(It)m 10(indicates)m 11(that)m 10(no)m 10(recent)m 104 787 p (information)s 9(has)m 9(been)m 10(received)m 9(from)m 9(the)m 9(neighbor)m 44 c 8(but)m 10(that)m 9 r 97 c 9(more)m 9(concerted)m 10(ef)m (fort)s 8(should)m 10(be)m 9(made)m 9(to)m 9(contact)m 10(the)m 104 837 p (neighbor)s -2 r 46 c 13(This)m 11(is)m 10(done)m 11(by)m 10(sending)m 10(the)m 11(neighbor)m 10(Hello)m 11(packets)m 10(at)m 11(intervals)m 10(of)m 10(HelloInterval)m 11(\(see)m 10(Section)m 11(9.5.1\).)m t-bol.300 @sf 0 917 p (Init)s t-rom.300 @sf 21(In)m 10(this)m 11(state,)m 10(an)m 10(Hello)m 11(packet)m 10(has)m 11(recently)m 10(been)m 11(seen)m 10(from)m 10(the)m 11(neighbor)m -2 r 46 c 13(However)m 44 c 9(bidirectional)m 11(communication)m 104 967 p (has)s 10(not)m 11(yet)m 10(been)m 10(established)m 11(with)m 10(the)m 11(neighbor)m 10(\(i.e.,)m 11(the)m 10(router)m 10(itself)m 11(did)m 10(not)m 11(appear)m 10(in)m 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c 10(Hello)m 104 1017 p (packet\).)s 14(All)m 10(neighbors)m 10(in)m 11(this)m 10(state)m 10(\(or)m 11(higher\))m 10(are)m 10(listed)m 10(in)m 11(the)m 10(Hello)m 10(packets)m 11(sent)m 10(from)m 10(the)m 11(associated)m 10(interface.)m t-bol.300 @sf 0 1097 p (2-W)s -1(ay)m t-rom.300 @sf 19(In)m 11(this)m 10(state,)m 11(communication)m 10(between)m 11(the)m 10(two)m 10(routers)m 11(is)m 10(bidirectional.)m 14(This)m 11(has)m 10(been)m 10(assured)m 11(by)m 10(the)m 11(operation)m 104 1147 p (of)s 10(the)m 11(Hello)m 10(Protocol.)m 14(This)m 10(is)m 11(the)m 10(most)m 11(advanced)m 10(state)m 10(short)m 11(of)m 10(beginning)m 11(adjacency)m 10(establishment.)m 14(The)m 104 1197 p (\(Backup\))s 10(Designated)m 11(Router)m 10(is)m 10(selected)m 11(from)m 10(the)m 11(set)m 10(of)m 11(neighbors)m 10(in)m 10(state)m t-bol.300 @sf 11(2-W)m -2(ay)m t-rom.300 @sf 10(or)m 10(greater)m -1 r 46 c t-bol.300 @sf 0 1277 p (ExStart)s t-rom.300 @sf 21(This)m 10(is)m 11(the)m 10(\014rst)m 10(step)m 11(in)m 10(creating)m 11(an)m 10(adjacency)m 11(between)m 10(the)m 10(two)m 11(neighboring)m 10(routers.)m 14(The)m 10(goal)m 11(of)m 10(this)m 11(step)m 10(is)m 104 1326 p (to)s 10(decide)m 11(which)m 10(router)m 10(is)m 11(the)m 10(master)m 44 c 9(and)m 10(to)m 11(decide)m 10(upon)m 11(the)m 10(initial)m 11(DD)m 10(sequence)m 10(number)m -1 r 46 c 13(Neighbor)m 104 1376 p (conversations)s 10(in)m 11(this)m 10(state)m 10(or)m 11(greater)m 10(are)m 11(called)m 10(adjacencies.)m t-bol.300 @sf 0 1456 p (Exchange)s t-rom.300 @sf 21(In)m 10(this)m 11(state)m 10(the)m 10(router)m 11(is)m 10(describing)m 11(its)m 10(entire)m 11(link)m 10(state)m 10(database)m 11(by)m 10(sending)m 11(Database)m 10(Description)m 10(packets)m 104 1506 p (to)s 10(the)m 11(neighbor)m -2 r 46 c 13(Each)m 11(Database)m 10(Description)m 10(Packet)m 11(has)m 10 r 97 c 11(DD)m 10(sequence)m 11(number)m -1 r 44 c 9(and)m 11(is)m 10(explicitly)m 104 1556 p (acknowledged.)s 14(Only)m 10(one)m 10(Database)m 11(Description)m 10(Packet)m 11(is)m 10(allowed)m 11(outstanding)m 10(at)m 10(any)m 11(one)m 10(time.)m 14(In)m 11(this)m 10(state,)m 104 1606 p (Link)s 10(State)m 11(Request)m 10(Packets)m 10(may)m 11(also)m 10(be)m 11(sent)m 10(asking)m 11(for)m 10(the)m 10(neighbor)m 2 r 39 c -1 r 115 c 9(more)m 10(recent)m 11(advertisements.)m 14(All)m 104 1656 p (adjacencies)s 10(in)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 10(state)m 10(or)m 11(greater)m 10(are)m 11(used)m 10(by)m 11(the)m 10(\015ooding)m 10(procedure.)m 14(In)m 11(fact,)m 10(these)m 10(adjacencies)m 11(are)m 104 1705 p (fully)s 10(capable)m 11(of)m 10(transmitting)m 10(and)m 11(receiving)m 10(all)m 11(types)m 10(of)m 11(OSPF)m 10(routing)m 10(protocol)m 11(packets.)m t-bol.300 @sf 0 1786 p (Loading)s t-rom.300 @sf 21(In)m 10(this)m 11(state,)m 10(Link)m 10(State)m 11(Request)m 10(packets)m 11(are)m 10(sent)m 11(to)m 10(the)m 10(neighbor)m 11(asking)m 10(for)m 11(the)m 10(more)m 10(recent)m 11(advertisements)m 104 1835 p (that)s 10(have)m 11(been)m 10(discovered)m 10(\(but)m 11(not)m 10(yet)m 11(received\))m 10(in)m 11(the)m t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 10(state.)m t-bol.300 @sf 0 1915 p (Full)s t-rom.300 @sf 21(In)m 10(this)m 11(state,)m 10(the)m 10(neighboring)m 11(routers)m 10(are)m 11(fully)m 10(adjacent.)m 14(These)m 10(adjacencies)m 11(will)m 10(now)m 11(appear)m 10(in)m 10(router)m 11(links)m 10(and)m 104 1965 p (network)s 10(links)m 11(advertisements.)m t-bol.360 @sf 0 2098 p (10.2)s 50(Events)m 12(causing)m 13(neighbor)m 12(state)m 13(changes)m t-rom.300 @sf 0 2190 p (State)s 10(changes)m 11(can)m 10(be)m 11(ef)m (fected)s 9(by)m 11 r 97 c 10(number)m 11(of)m 10(events.)m 14(These)m 10(events)m 11(are)m 10(shown)m 11(in)m 10(the)m 10(labels)m 11(of)m 10(the)m 11(arcs)m 10(in)m 10(Figures)m 11(12)m 0 2240 p (and)s 10(13.)m 14(The)m 11(label)m 10(de\014nitions)m 11(are)m 10(as)m 10(follows:)m t-bol.300 @sf 0 2339 p (HelloReceived)s t-rom.300 @sf 21 r 65 c 10(Hello)m 11(packet)m 10(has)m 10(been)m 11(received)m 10(from)m 11 r 97 c 10(neighbor)m -1 r 46 c t-bol.300 @sf 0 2419 p (Start)s t-rom.300 @sf 21(This)m 10(is)m 11(an)m 10(indication)m 10(that)m 11(Hello)m 10(Packets)m 11(should)m 10(now)m 11(be)m 10(sent)m 10(to)m 11(the)m 10(neighbor)m 11(at)m 10(intervals)m 10(of)m 11(HelloInterval)m 104 2469 p (seconds.)s 14(This)m 10(event)m 10(is)m 11(generated)m 10(only)m 11(for)m 10(neighbors)m 11(associated)m 10(with)m 10(non-broadcast)m 11(networks.)m t-bol.300 @sf 0 2549 p (2-W)s -1(ayReceived)m t-rom.300 @sf 19(Bidirectional)m 11(communication)m 10(has)m 11(been)m 10(realized)m 11(between)m 10(the)m 10(two)m 11(neighboring)m 10(routers.)m 14(This)m 11(is)m 104 2599 p (indicated)s 10(by)m 11(this)m 10(router)m 10(seeing)m 11(itself)m 10(in)m 11(the)m 10(other)m 2 r 39 c -2 r 115 c 10(Hello)m 10(packet.)m 0 2723 p (Moy)s 1710([Page)m 11(44])m @eop 45 @bop0 45 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (NegotiationDone)s t-rom.300 @sf 21(The)m 10(Master/Slave)m 11(relationship)m 10(has)m 10(been)m 11(negotiated,)m 10(and)m 11(DD)m 10(sequence)m 11(numbers)m 10(have)m 10(been)m 104 245 p (exchanged.)s 14(This)m 10(signals)m 10(the)m 11(start)m 10(of)m 11(the)m 10(sending/receiving)m 11(of)m 10(Database)m 10(Description)m 11(packets.)m 14(For)m 10(more)m 104 295 p (information)s 10(on)m 11(the)m 10(generation)m 10(of)m 11(this)m 10(event,)m 11(consult)m 10(Section)m 11(10.8.)m t-bol.300 @sf 0 378 p (ExchangeDone)s t-rom.300 @sf 21(Both)m 10(routers)m 11(have)m 10(successfully)m 10(transmitted)m 11 r 97 c 10(full)m 11(sequence)m 10(of)m 11(Database)m 10(Description)m 10(packets.)m 14(Each)m 104 428 p (router)s 10(now)m 11(knows)m 10(what)m 10(parts)m 11(of)m 10(its)m 11(link)m 10(state)m 11(database)m 10(are)m 10(out)m 11(of)m 10(date.)m 14(For)m 10(more)m 11(information)m 10(on)m 11(the)m 10(generation)m 104 477 p (of)s 10(this)m 11(event,)m 10(consult)m 10(Section)m 11(10.8.)m t-bol.300 @sf 0 560 p (BadLSReq)s t-rom.300 @sf 21 r 65 c 10(Link)m 11(State)m 10(Request)m 10(has)m 11(been)m 10(received)m 11(for)m 10 r 97 c 11(link)m 10(state)m 10(advertisement)m 11(not)m 10(contained)m 11(in)m 10(the)m 10(database.)m 104 610 p (This)s 10(indicates)m 11(an)m 10(error)m 10(in)m 11(the)m 10(Database)m 11(Exchange)m 10(process.)m t-bol.300 @sf 0 693 p (Loading)s 10(Done)m t-rom.300 @sf 21(Link)m 11(State)m 10(Updates)m 10(have)m 11(been)m 10(received)m 11(for)m 10(all)m 11(out-of-date)m 10(portions)m 10(of)m 11(the)m 10(database.)m 14(This)m 10(is)m 11(indicated)m 104 743 p (by)s 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 10 r 114 c (equest)s 10(list)m t-rom.300 @sf 11(becoming)m 10(empty)m 10(after)m 11(the)m 10(Database)m 11(Exchange)m 10(process)m 10(has)m 11(completed.)m t-bol.300 @sf 0 826 p (AdjOK?)s t-rom.300 @sf 21 r 65 c 10(decision)m 11(must)m 10(be)m 10(made)m 11(\(again\))m 10(as)m 11(to)m 10(whether)m 11(an)m 10(adjacency)m 10(should)m 11(be)m 10(established/maintained)m 11(with)m 10(the)m 104 876 p (neighbor)s -2 r 46 c 13(This)m 11(event)m 10(will)m 11(start)m 10(some)m 10(adjacencies)m 11(forming,)m 10(and)m 11(destroy)m 10(others.)m 0 985 p (The)s 10(following)m 11(events)m 10(cause)m 11(well)m 10(developed)m 10(neighbors)m 11(to)m 10(revert)m 11(to)m 10(lesser)m 11(states.)m 13(Unlike)m 11(the)m 10(above)m 11(events,)m 10(these)m 11(events)m 0 1035 p (may)s 10(occur)m 11(when)m 10(the)m 11(neighbor)m 10(conversation)m 10(is)m 11(in)m 10(any)m 11(of)m 10 r 97 c 11(number)m 10(of)m 10(states.)m t-bol.300 @sf 0 1144 p (SeqNumberMismatch)s t-rom.300 @sf 21 r 65 c 10(Database)m 11(Description)m 10(packet)m 10(has)m 11(been)m 10(received)m 11(that)m 10(either)m 11(a\))m 10(has)m 10(an)m 11(unexpected)m 10(DD)m 104 1194 p (sequence)s 10(number)m 44 c 9(b\))m 10(unexpectedly)m 11(has)m 10(the)m 11(Init)m 10(bit)m 10(set)m 11(or)m 10(c\))m 11(has)m 10(an)m 11(Options)m 10(\014eld)m 10(dif)m (fering)s 10(from)m 10(the)m 11(last)m 10(Options)m 104 1244 p (\014eld)s 10(received)m 11(in)m 10 r 97 c 10(Database)m 11(Description)m 10(packet.)m 14(Any)m 11(of)m 10(these)m 10(conditions)m 11(indicate)m 10(that)m 11(some)m 10(error)m 10(has)m 11(occurred)m 104 1293 p (during)s 10(adjacency)m 11(establishment.)m t-bol.300 @sf 0 1377 p (1-W)s -1(ay)m t-rom.300 @sf 19(An)m 11(Hello)m 10(packet)m 11(has)m 10(been)m 11(received)m 10(from)m 10(the)m 11(neighbor)m -1 r 44 c 10(in)m 10(which)m 10(this)m 11(router)m 10(is)m 11(not)m 10(mentioned.)m 14(This)m 10(indicates)m 104 1426 p (that)s 10(communication)m 11(with)m 10(the)m 10(neighbor)m 11(is)m 10(not)m 11(bidirectional.)m t-bol.300 @sf 0 1509 p (KillNbr)s t-rom.300 @sf 21(This)m 10(is)m 11(an)m 10(indication)m 10(that)m 11(all)m 10(communication)m 11(with)m 10(the)m 11(neighbor)m 10(is)m 10(now)m 11(impossible,)m 10(forcing)m 11(the)m 10(neighbor)m 10(to)m 104 1559 p (revert)s 10(to)m 11(Down)m 10(state.)m t-bol.300 @sf 0 1642 p (InactivityT)s (imer)s t-rom.300 @sf 20(The)m 10(inactivity)m 11 r 84 c -1(imer)m 10(has)m 10(\014red.)m 14(This)m 11(means)m 10(that)m 10(no)m 11(Hello)m 10(packets)m 11(have)m 10(been)m 10(seen)m 11(recently)m 10(from)m 11(the)m 104 1692 p (neighbor)s -2 r 46 c 13(The)m 11(neighbor)m 10(reverts)m 11(to)m 10(Down)m 10(state.)m t-bol.300 @sf 0 1775 p (LLDown)s t-rom.300 @sf 21(This)m 10(is)m 10(an)m 10(indication)m 10(from)m 10(the)m 10(lower)m 10(level)m 10(protocols)m 10(that)m 10(the)m 10(neighbor)m 10(is)m 11(now)m 10(unreachable.)m 13(For)m 10(example,)m 11(on)m 104 1825 p (an)s 10(X.25)m 11(network)m 10(this)m 10(could)m 11(be)m 10(indicated)m 11(by)m 10(an)m 11(X.25)m 10(clear)m 10(indication)m 11(with)m 10(appropriate)m 11(cause)m 10(and)m 10(diagnostic)m 104 1875 p (\014elds.)s 14(This)m 10(event)m 10(forces)m 11(the)m 10(neighbor)m 11(into)m 10(Down)m 11(state.)m t-bol.360 @sf 0 2011 p (10.3)s 50(The)m 12(Neighbor)m 13(state)m 12(machine)m t-rom.300 @sf 0 2107 p 65 c 10(detailed)m 11(description)m 10(of)m 11(the)m 10(neighbor)m 10(state)m 11(changes)m 10(follows.)m 14(Each)m 11(state)m 10(change)m 10(is)m 11(invoked)m 10(by)m 11(an)m 10(event)m 0 2157 p (\(Section)s 10(10.2\).)m 14(This)m 11(event)m 10(may)m 11(produce)m 10(dif)m (ferent)s 10(ef)m (fects,)s 9(depending)m 11(on)m 10(the)m 11(current)m 10(state)m 10(of)m 11(the)m 10(neighbor)m -1 r 46 c 13(For)m 10(this)m 0 2207 p (reason,)s 10(the)m 11(state)m 10(machine)m 11(below)m 10(is)m 10(or)m (ganized)s 10(by)m 11(current)m 10(neighbor)m 10(state)m 11(and)m 10(received)m 11(event.)m 14(Each)m 10(entry)m 10(in)m 11(the)m 10(state)m 0 2256 p (machine)s 10(describes)m 11(the)m 10(resulting)m 11(new)m 10(neighbor)m 10(state)m 11(and)m 10(the)m 11(required)m 10(set)m 11(of)m 10(additional)m 10(actions.)m 0 2324 p (When)s 10 r 97 c 11(neighbor)m 1 r 39 c -1 r 115 c 9(state)m 11(changes,)m 10(it)m 11(may)m 10(be)m 11(necessary)m 10(to)m 10(rerun)m 11(the)m 10(Designated)m 11(Router)m 10(election)m 10(algorithm.)m 14(This)m 11(is)m 0 2374 p (determined)s 10(by)m 11(whether)m 10(the)m 11(interface)m t-bol.300 @sf 10(NeighborChange)m t-rom.300 @sf 10(event)m 11(is)m 10(generated)m 11(\(see)m 10(Section)m 11(9.2\).)m 13(Also,)m 11(if)m 10(the)m 11(Interface)m 10(is)m 0 2424 p (in)s t-bol.300 @sf 10(DR)m t-rom.300 @sf 11(state)m 10(\(the)m 11(router)m 10(is)m 10(itself)m 11(Designated)m 10(Router\),)m 11(changes)m 10(in)m 11(neighbor)m 10(state)m 10(may)m 11(cause)m 10 r 97 c 11(new)m 10(network)m 10(links)m 0 2474 p (advertisement)s 10(to)m 11(be)m 10(originated)m 11(\(see)m 10(Section)m 10(12.4\).)m 0 2541 p (When)s 10(the)m 11(neighbor)m 10(state)m 11(machine)m 10(needs)m 10(to)m 11(invoke)m 10(the)m 11(interface)m 10(state)m 11(machine,)m 10(it)m 10(should)m 11(be)m 10(done)m 11(as)m 10 r 97 c t-ita.300 @sf 10(scheduled)m t-rom.300 @sf 11(task)m 0 2591 p (\(see)s 10(Section)m 11(4.4\).)m 14(This)m 10(simpli\014es)m 11(things,)m 10(by)m 10(ensuring)m 11(that)m 10(neither)m 11(state)m 10(machine)m 10(will)m 11(be)m t-ita.300 @sf 10(executed)m t-rom.300 @sf 11(recursively)m -2 r 46 c 0 2723 p (Moy)s 1710([Page)m 11(45])m @eop 46 @bop0 46 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 161 195 p (State\(s\):)s t-bol.300 @sf 75(Down)m t-rom.300 @sf 191 253 p (Event:)s t-bol.300 @sf 75(Start)m t-rom.300 @sf 123 311 p (New)s 10(state:)m t-bol.300 @sf 75(Attempt)m t-rom.300 @sf 175 369 p (Action:)s 75(Send)m 10(an)m 11(Hello)m 10(Packet)m 11(to)m 10(the)m 10(neighbor)m 11(\(this)m 10(neighbor)m 11(is)m 10(always)m 11(associated)m 10(with)m 10 r 97 c 375 419 p (non-broadcast)s 10(network\))m 11(and)m 10(start)m 11(the)m 10(Inactivity)m 10 r 84 c (imer)s 9(for)m 11(the)m 10(neighbor)m -1 r 46 c 13(The)m 10(timer)m 2 r 39 c -1 r 115 c 375 469 p (later)s 10(\014ring)m 11(would)m 10(indicate)m 11(that)m 10(communication)m 10(with)m 11(the)m 10(neighbor)m 11(was)m 10(not)m 11(attained.)m 161 578 p (State\(s\):)s t-bol.300 @sf 75(Attempt)m t-rom.300 @sf 191 636 p (Event:)s t-bol.300 @sf 75(HelloReceived)m t-rom.300 @sf 123 694 p (New)s 10(state:)m t-bol.300 @sf 75(Init)m t-rom.300 @sf 175 753 p (Action:)s 75(Restart)m 10(the)m 11(Inactivity)m 10 r 84 c (imer)s 9(for)m 11(the)m 10(neighbor)m -1 r 44 c 10(since)m 10(the)m 11(neighbor)m 10(has)m 10(now)m 11(been)m 10(heard)m 375 802 p (from.)s 161 912 p (State\(s\):)s t-bol.300 @sf 75(Down)m t-rom.300 @sf 191 970 p (Event:)s t-bol.300 @sf 75(HelloReceived)m t-rom.300 @sf 123 1028 p (New)s 10(state:)m t-bol.300 @sf 75(Init)m t-rom.300 @sf 175 1086 p (Action:)s 75(Start)m 10(the)m 10(Inactivity)m 10 r 84 c (imer)s 9(for)m 10(the)m 10(neighbor)m -1 r 46 c 12(The)m 10(timer)m 2 r 39 c -1 r 115 c 9(later)m 10(\014ring)m 10(would)m 10(indicate)m 10(that)m 375 1136 p (the)s 10(neighbor)m 11(is)m 10(dead.)m 161 1245 p (State\(s\):)s t-bol.300 @sf 75(Init)m t-rom.300 @sf 11(or)m 10(greater)m 191 1303 p (Event:)s t-bol.300 @sf 75(HelloReceived)m t-rom.300 @sf 123 1361 p (New)s 10(state:)m 75(No)m 11(state)m 10(change.)m 175 1419 p (Action:)s 75(Restart)m 10(the)m 11(Inactivity)m 10 r 84 c (imer)s 9(for)m 11(the)m 10(neighbor)m -1 r 44 c 10(since)m 10(the)m 11(neighbor)m 10(has)m 10(again)m 11(been)m 10(heard)m 375 1469 p (from.)s 161 1578 p (State\(s\):)s t-bol.300 @sf 75(Init)m t-rom.300 @sf 191 1636 p (Event:)s t-bol.300 @sf 75(2-W)m -1(ayReceived)m t-rom.300 @sf 123 1695 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 1753 p (Action:)s 75(Determine)m 10(whether)m 11(an)m 10(adjacency)m 11(should)m 10(be)m 10(established)m 11(with)m 10(the)m 11(neighbor)m 10(\(see)m 375 1802 p (Section)s 10(10.4\).)m 14(If)m 11(not,)m 10(the)m 11(new)m 10(neighbor)m 10(state)m 11(is)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 46 c 375 1861 p (Otherwise)s 10(\(an)m 11(adjacency)m 10(should)m 11(be)m 10(established\))m 10(the)m 11(neighbor)m 10(state)m 11(transitions)m 10(to)m t-bol.300 @sf 375 1910 p (ExStart)s t-rom.300 @sf 46 c 14(Upon)m 10(entering)m 10(this)m 11(state,)m 10(the)m 10(router)m 10(increments)m 11(the)m 10(DD)m 10(sequence)m 10(number)m 11(for)m 375 1960 p (this)s 10(neighbor)m -1 r 46 c 13(If)m 10(this)m 11(is)m 10(the)m 11(\014rst)m 10(time)m 11(that)m 10(an)m 10(adjacency)m 11(has)m 10(been)m 11(attempted,)m 10(the)m 10(DD)m 375 2010 p (sequence)s 10(number)m 11(should)m 10(be)m 11(assigned)m 10(some)m 10(unique)m 11(value)m 10(\(like)m 11(the)m 10(time)m 11(of)m 10(day)m 10(clock\).)m 375 2060 p (It)s 10(then)m 11(declares)m 10(itself)m 11(master)m 10(\(sets)m 10(the)m 11(master/slave)m 10(bit)m 11(to)m 10(master\),)m 11(and)m 10(starts)m 10(sending)m 375 2110 p (Database)s 10(Description)m 11(Packets,)m 10(with)m 11(the)m 10(initialize)m 10(\(I\),)m 11(more)m 10(\(M\))m 11(and)m 10(master)m 11(\(MS\))m 10(bits)m 375 2159 p (set.)s 14(This)m 10(Database)m 11(Description)m 10(Packet)m 11(should)m 10(be)m 10(otherwise)m 11(empty)m -2 r 46 c 13(This)m 10(Database)m 375 2209 p (Description)s 10(Packet)m 11(should)m 10(be)m 11(retransmitted)m 10(at)m 10(intervals)m 11(of)m 10(RxmtInterval)m 11(until)m 10(the)m 11(next)m 375 2259 p (state)s 10(is)m 11(entered)m 10(\(see)m 11(Section)m 20(10.8\).)m 161 2368 p (State\(s\):)s t-bol.300 @sf 75(ExStart)m t-rom.300 @sf 191 2426 p (Event:)s t-bol.300 @sf 75(NegotiationDone)m t-rom.300 @sf 123 2484 p (New)s 10(state:)m t-bol.300 @sf 75(Exchange)m t-rom.300 @sf 175 2543 p (Action:)s 75(The)m 10(router)m 11(must)m 10(list)m 11(the)m 10(contents)m 10(of)m 11(its)m 10(entire)m 11(area)m 10(link)m 11(state)m 10(database)m 10(in)m 11(the)m 10(neighbor)m t-bol.300 @sf 375 2592 p (Database)s 10(summary)m 11(list)m t-rom.300 @sf 46 c 14(The)m 10(area)m 11(link)m 10(state)m 10(database)m 11(consists)m 10(of)m 11(the)m 10(router)m 10(links,)m 0 2723 p (Moy)s 1710([Page)m 11(46])m @eop 47 @bop0 47 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 375 195 p (network)s 10(links)m 11(and)m 10(summary)m 11(links)m 10(contained)m 10(in)m 11(the)m 10(area)m 11(structure,)m 10(along)m 11(with)m 10(the)m 10(AS)m 375 245 p (external)s 10(links)m 11(contained)m 10(in)m 11(the)m 10(global)m 10(structure.)m 14(AS)m 11(external)m 10(link)m 11(advertisements)m 10(are)m 375 295 p (omitted)s 10(from)m 11 r 97 c 10(virtual)m 11(neighbor)m 1 r 39 c -1 r 115 c t-bol.300 @sf 9(Database)m 11(summary)m 10(list)m t-rom.300 @sf 46 c 14(AS)m 10(external)m 375 345 p (advertisements)s 10(are)m 11(omitted)m 10(from)m 11(the)m t-bol.300 @sf 10(Database)m 10(summary)m 11(list)m t-rom.300 @sf 10(if)m 11(the)m 10(area)m 11(has)m 10(been)m 375 394 p (con\014gured)s 10(as)m 10 r 97 c 10(stub)m 10(\(see)m 10(Section)m 10(3.6\).)m 14(Advertisements)m 10(whose)m 10(age)m 10(is)m 10(equal)m 10(to)m 10(MaxAge)m 375 444 p (are)s 10(instead)m 11(added)m 10(to)m 11(the)m 10(neighbor)m 2 r 39 c -2 r 115 c t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 46 c 14 r 65 c 11(summary)m 10(of)m 375 494 p (the)s t-bol.300 @sf 10(Database)m 11(summary)m 10(list)m t-rom.300 @sf 11(will)m 10(be)m 10(sent)m 11(to)m 10(the)m 11(neighbor)m 10(in)m 11(Database)m 10(Description)m 375 544 p (packets.)s 14(Each)m 10(Database)m 11(Description)m 10(Packet)m 11(has)m 10 r 97 c 10(DD)m 11(sequence)m 10(number)m 44 c 9(and)m 10(is)m 375 594 p (explicitly)s 10(acknowledged.)m 14(Only)m 11(one)m 10(Database)m 11(Description)m 10(Packet)m 10(is)m 11(allowed)m 375 643 p (outstanding)s 10(at)m 11(any)m 10(one)m 11(time.)m 14(For)m 10(more)m 10(detail)m 11(on)m 10(the)m 11(sending)m 10(and)m 10(receiving)m 11(of)m 375 693 p (Database)s 10(Description)m 11(packets,)m 10(see)m 11(Sections)m 10(10.8)m 10(and)m 11(10.6.)m 161 802 p (State\(s\):)s t-bol.300 @sf 75(Exchange)m t-rom.300 @sf 191 860 p (Event:)s t-bol.300 @sf 75(ExchangeDone)m t-rom.300 @sf 123 918 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 976 p (Action:)s 75(If)m 10(the)m 11(neighbor)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s 10(list)m t-rom.300 @sf 10(is)m 11(empty)m -2 r 44 c 9(the)m 11(new)m 10(neighbor)m 11(state)m 10(is)m t-bol.300 @sf 10(Full)m t-rom.300 @sf 46 c 14(No)m 375 1026 p (other)s 10(action)m 11(is)m 10(required.)m 14(This)m 11(is)m 10(an)m 10(adjacency')m -1 r 115 c 10(\014nal)m 10(state.)m 375 1084 p (Otherwise,)s 10(the)m 11(new)m 10(neighbor)m 11(state)m 10(is)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf 46 c 14(Start)m 11(\(or)m 10(continue\))m 11(sending)m 10(Link)m 10(State)m 375 1134 p (Request)s 10(packets)m 11(to)m 10(the)m 11(neighbor)m 10(\(see)m 10(Section)m 11(10.9\).)m 14(These)m 10(are)m 11(requests)m 10(for)m 10(the)m 375 1184 p (neighbor)s 2 r 39 c -2 r 115 c 10(more)m 10(recent)m 10(advertisements)m 11(\(which)m 10(were)m 11(discovered)m 10(but)m 11(not)m 10(yet)m 10(received)m 375 1234 p (in)s 10(the)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 10(state\).)m 14(These)m 11(advertisements)m 10(are)m 10(listed)m 11(in)m 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 10 r 114 c (equest)s 10(list)m t-rom.300 @sf 375 1283 p (associated)s 10(with)m 11(the)m 10(neighbor)m -1 r 46 c 161 1392 p (State\(s\):)s t-bol.300 @sf 75(Loading)m t-rom.300 @sf 191 1450 p (Event:)s t-bol.300 @sf 75(Loading)m 11(Done)m t-rom.300 @sf 123 1508 p (New)s 10(state:)m t-bol.300 @sf 75(Full)m t-rom.300 @sf 175 1567 p (Action:)s 75(No)m 10(action)m 11(required.)m 14(This)m 10(is)m 11(an)m 10(adjacency')m -1 r 115 c 9(\014nal)m 11(state.)m 161 1675 p (State\(s\):)s t-bol.300 @sf 75(2-W)m -1(ay)m t-rom.300 @sf 191 1733 p (Event:)s t-bol.300 @sf 75(AdjOK?)m t-rom.300 @sf 123 1792 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 1850 p (Action:)s 75(Determine)m 10(whether)m 11(an)m 10(adjacency)m 11(should)m 10(be)m 10(formed)m 11(with)m 10(the)m 11(neighboring)m 10(router)m 11(\(see)m 375 1899 p (Section)s 10(10.4\).)m 14(If)m 11(not,)m 10(the)m 11(neighbor)m 10(state)m 10(remains)m 11(at)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 46 c 13(Otherwise,)m 10(transition)m 11(the)m 375 1949 p (neighbor)s 10(state)m 11(to)m t-bol.300 @sf 10(ExStart)m t-rom.300 @sf 11(and)m 10(perform)m 10(the)m 11(actions)m 10(associated)m 11(with)m 10(the)m 11(above)m 10(state)m 375 1999 p (machine)s 10(entry)m 11(for)m 10(state)m t-bol.300 @sf 11(Init)m t-rom.300 @sf 10(and)m 10(event)m t-bol.300 @sf 11(2-W)m -1(ayReceived)m t-rom.300 @sf 46 c 161 2108 p (State\(s\):)s t-bol.300 @sf 75(ExStart)m t-rom.300 @sf 11(or)m 10(greater)m 191 2166 p (Event:)s t-bol.300 @sf 75(AdjOK?)m t-rom.300 @sf 123 2224 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 2282 p (Action:)s 75(Determine)m 10(whether)m 11(the)m 10(neighboring)m 11(router)m 10(should)m 10(still)m 11(be)m 10(adjacent.)m 14(If)m 11(yes,)m 10(there)m 10(is)m 11(no)m 375 2332 p (state)s 10(change)m 11(and)m 10(no)m 11(further)m 10(action)m 10(is)m 11(necessary)m -2 r 46 c 375 2390 p (Otherwise,)s 10(the)m 11(\(possibly)m 10(partially)m 11(formed\))m 10(adjacency)m 10(must)m 11(be)m 10(destroyed.)m 14(The)m 375 2440 p (neighbor)s 10(state)m 11(transitions)m 10(to)m t-bol.300 @sf 11(2-W)m -2(ay)m t-rom.300 @sf 46 c 13(The)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 44 c t-bol.300 @sf 11(Database)m 375 2490 p (summary)s 10(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s 10(list)m t-rom.300 @sf 10(are)m 11(cleared)m 10(of)m 10(link)m 11(state)m 10(advertisements.)m 161 2599 p (State\(s\):)s t-bol.300 @sf 75(Exchange)m t-rom.300 @sf 11(or)m 10(greater)m 0 2723 p (Moy)s 1710([Page)m 11(47])m @eop 48 @bop0 48 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 191 195 p (Event:)s t-bol.300 @sf 75(SeqNumberMismatch)m t-rom.300 @sf 123 253 p (New)s 10(state:)m t-bol.300 @sf 75(ExStart)m t-rom.300 @sf 175 311 p (Action:)s 75(The)m 10(\(possibly)m 11(partially)m 10(formed\))m 11(adjacency)m 10(is)m 10(torn)m 11(down,)m 10(and)m 11(then)m 10(an)m 11(attempt)m 10(is)m 10(made)m 375 361 p (at)s 10(reestablishment.)m 14(The)m 11(neighbor)m 10(state)m 11(\014rst)m 10(transitions)m 10(to)m t-bol.300 @sf 11(ExStart)m t-rom.300 @sf 46 c 14(The)m t-bol.300 @sf 10(Link)m 11(state)m 375 411 p 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Database)m 10(summary)m 11(list)m t-rom.300 @sf 10(and)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (equest)s 9(list)m t-rom.300 @sf 11(are)m 10(cleared)m 375 461 p (of)s 10(link)m 11(state)m 10(advertisements.)m 14(Then)m 11(the)m 10(router)m 10(increments)m 11(the)m 10(DD)m 11(sequence)m 10(number)m 10(for)m 375 511 p (this)s 10(neighbor)m 44 c 9(declares)m 11(itself)m 10(master)m 10(\(sets)m 11(the)m 10(master/slave)m 11(bit)m 10(to)m 10(master\),)m 11(and)m 10(starts)m 375 560 p (sending)s 10(Database)m 11(Description)m 10(Packets,)m 11(with)m 10(the)m 10(initialize)m 11(\(I\),)m 10(more)m 11(\(M\))m 10(and)m 11(master)m 375 610 p (\(MS\))s 10(bits)m 11(set.)m 14(This)m 10(Database)m 11(Description)m 10(Packet)m 10(should)m 11(be)m 10(otherwise)m 11(empty)m 10(\(see)m 375 660 p (Section)s 10(10.8\).)m 161 769 p (State\(s\):)s t-bol.300 @sf 75(Exchange)m t-rom.300 @sf 11(or)m 10(greater)m 191 827 p (Event:)s t-bol.300 @sf 75(BadLSReq)m t-rom.300 @sf 123 885 p (New)s 10(state:)m t-bol.300 @sf 75(ExStart)m t-rom.300 @sf 175 944 p (Action:)s 75(The)m 10(action)m 11(for)m 10(event)m t-bol.300 @sf 11(BadLSReq)m t-rom.300 @sf 10(is)m 10(exactly)m 11(the)m 10(same)m 11(as)m 10(for)m 11(the)m 10(neighbor)m 10(event)m t-bol.300 @sf 375 993 p (SeqNumberMismatch)s t-rom.300 @sf 46 c 14(The)m 10(\(possibly)m 11(partially)m 10(formed\))m 11(adjacency)m 10(is)m 10(torn)m 11(down,)m 10(and)m 375 1043 p (then)s 10(an)m 11(attempt)m 10(is)m 11(made)m 10(at)m 10(reestablishment.)m 14(For)m 11(more)m 10(information,)m 11(see)m 10(the)m 10(neighbor)m 375 1093 p (state)s 10(machine)m 11(entry)m 10(that)m 11(is)m 10(invoked)m 10(when)m 11(event)m t-bol.300 @sf 10(SeqNumberMismatch)m t-rom.300 @sf 11(is)m 10(generated)m 375 1143 p (in)s 10(state)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 10(or)m 11(greater)m -2 r 46 c 161 1252 p (State\(s\):)s 75(Any)m 11(state)m 191 1310 p (Event:)s t-bol.300 @sf 75(KillNbr)m t-rom.300 @sf 123 1368 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 1426 p (Action:)s 75(The)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Database)m 11(summary)m 10(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (equest)s 375 1476 p (list)s t-rom.300 @sf 10(are)m 11(cleared)m 10(of)m 11(link)m 10(state)m 10(advertisements.)m 14(Also,)m 11(the)m 10(Inactivity)m 11 r 84 c -1(imer)m 10(is)m 10(disabled.)m 161 1585 p (State\(s\):)s 75(Any)m 11(state)m 191 1643 p (Event:)s t-bol.300 @sf 75(LLDown)m t-rom.300 @sf 123 1702 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 1760 p (Action:)s 75(The)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Database)m 11(summary)m 10(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (equest)s 375 1809 p (list)s t-rom.300 @sf 10(are)m 11(cleared)m 10(of)m 11(link)m 10(state)m 10(advertisements.)m 14(Also,)m 11(the)m 10(Inactivity)m 11 r 84 c -1(imer)m 10(is)m 10(disabled.)m 161 1919 p (State\(s\):)s 75(Any)m 11(state)m 191 1977 p (Event:)s t-bol.300 @sf 75(InactivityT)m (imer)s t-rom.300 @sf 123 2035 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 2093 p (Action:)s 75(The)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Database)m 11(summary)m 10(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (equest)s 375 2143 p (list)s t-rom.300 @sf 10(are)m 11(cleared)m 10(of)m 11(link)m 10(state)m 10(advertisements.)m 161 2252 p (State\(s\):)s t-bol.300 @sf 75(2-W)m -1(ay)m t-rom.300 @sf 9(or)m 11(greater)m 191 2310 p (Event:)s t-bol.300 @sf 75(1-W)m -1(ayReceived)m t-rom.300 @sf 123 2368 p (New)s 10(state:)m t-bol.300 @sf 75(Init)m t-rom.300 @sf 175 2426 p (Action:)s 75(The)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Database)m 11(summary)m 10(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (equest)s 375 2476 p (list)s t-rom.300 @sf 10(are)m 11(cleared)m 10(of)m 11(link)m 10(state)m 10(advertisements.)m 161 2585 p (State\(s\):)s t-bol.300 @sf 75(2-W)m -1(ay)m t-rom.300 @sf 9(or)m 11(greater)m 0 2723 p (Moy)s 1710([Page)m 11(48])m @eop 49 @bop0 49 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 191 195 p (Event:)s t-bol.300 @sf 75(2-W)m -1(ay)m 9 r 114 c (eceived)s t-rom.300 @sf 123 253 p (New)s 10(state:)m 75(No)m 11(state)m 10(change.)m 175 311 p (Action:)s 75(No)m 10(action)m 11(required.)m 161 421 p (State\(s\):)s t-bol.300 @sf 75(Init)m t-rom.300 @sf 191 479 p (Event:)s t-bol.300 @sf 75(1-W)m -1(ayReceived)m t-rom.300 @sf 123 537 p (New)s 10(state:)m 75(No)m 11(state)m 10(change.)m 175 595 p (Action:)s 75(No)m 10(action)m 11(required.)m t-bol.360 @sf 0 732 p (10.4)s 50(Whether)m 12(to)m 13(become)m 12(adjacent)m t-rom.300 @sf 0 827 p (Adjacencies)s 10(are)m 11(established)m 10(with)m 11(some)m 10(subset)m 10(of)m 11(the)m 10(router)m 2 r 39 c -1 r 115 c 9(neighbors.)m 14(Routers)m 10(connected)m 11(by)m 10(point-to-point)m 0 877 p (networks)s 10(and)m 11(virtual)m 10(links)m 11(always)m 10(become)m 10(adjacent.)m 14(On)m 11(multi-access)m 10(networks,)m 11(all)m 10(routers)m 10(become)m 11(adjacent)m 10(to)m 11(both)m 0 927 p (the)s 10(Designated)m 11(Router)m 10(and)m 11(the)m 10(Backup)m 10(Designated)m 11(Router)m -1 r 46 c 0 995 p (The)s 10(adjacency-forming)m 11(decision)m 10(occurs)m 11(in)m 10(two)m 10(places)m 11(in)m 10(the)m 11(neighbor)m 10(state)m 11(machine.)m 13(First,)m 11(when)m 10(bidirectional)m 0 1044 p (communication)s 10(is)m 11(initially)m 10(established)m 11(with)m 10(the)m 10(neighbor)m 44 c 9(and)m 11(secondly)m -2 r 44 c 9(when)m 11(the)m 10(identity)m 11(of)m 10(the)m 10(attached)m 11(network')m -1 r 115 c 0 1094 p (\(Backup\))s 10(Designated)m 11(Router)m 10(changes.)m 14(If)m 11(the)m 10(decision)m 10(is)m 11(made)m 10(to)m 11(not)m 10(attempt)m 10(an)m 11(adjacency)m -2 r 44 c 10(the)m 10(state)m 10(of)m 11(the)m 10(neighbor)m 0 1144 p (communication)s 10(stops)m 11(at)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 46 c 0 1212 p (An)s 10(adjacency)m 9(should)m 10(be)m 10(established)m 10(with)m 9 r 97 c 10(bidirectional)m 10(neighbor)m 10(when)m 9(at)m 10(least)m 10(one)m 10(of)m 9(the)m 10(following)m 10(conditions)m 10(holds:)m 300 1321 p 45 c 10(The)m 11(underlying)m 10(network)m 11(type)m 10(is)m 10(point-to-point)m 300 1371 p 45 c 10(The)m 11(underlying)m 10(network)m 11(type)m 10(is)m 10(virtual)m 11(link)m 300 1420 p 45 c 10(The)m 11(router)m 10(itself)m 11(is)m 10(the)m 10(Designated)m 11(Router)m 300 1470 p 45 c 10(The)m 11(router)m 10(itself)m 11(is)m 10(the)m 10(Backup)m 11(Designated)m 10(Router)m 300 1520 p 45 c 10(The)m 11(neighboring)m 10(router)m 11(is)m 10(the)m 10(Designated)m 11(Router)m 300 1570 p 45 c 10(The)m 11(neighboring)m 10(router)m 11(is)m 10(the)m 10(Backup)m 11(Designated)m 10(Router)m t-bol.360 @sf 0 1707 p (10.5)s 50(Receiving)m 12(Hello)m 13(Packets)m t-rom.300 @sf 0 1802 p (This)s 10(section)m 11(explains)m 10(the)m 11(detailed)m 10(processing)m 10(of)m 11 r 97 c 10(received)m 11(Hello)m 10(Packet.)m 14(\(See)m 10(Section)m 11(A.3.2)m 10(for)m 11(the)m 10(format)m 11(of)m 10(Hello)m 0 1852 p (packets.\))s 14(The)m 10(generic)m 11(input)m 10(processing)m 11(of)m 10(OSPF)m 10(packets)m 11(will)m 10(have)m 11(checked)m 10(the)m 10(validity)m 11(of)m 10(the)m 11(IP)m 10(header)m 11(and)m 10(the)m 0 1902 p (OSPF)s 10(packet)m 11(header)m -1 r 46 c 12(Next,)m 11(the)m 10(values)m 11(of)m 10(the)m t-bol.300 @sf 11(Network)m 10(Mask)m t-rom.300 @sf 44 c t-bol.300 @sf 10(HelloInterval)m t-rom.300 @sf 44 c 11(and)m t-bol.300 @sf 10(RouterDeadInterval)m t-rom.300 @sf 11(\014elds)m 10(in)m 10(the)m 0 1952 p (received)s 10(Hello)m 11(packet)m 10(must)m 11(be)m 10(checked)m 10(against)m 11(the)m 10(values)m 11(con\014gured)m 10(for)m 11(the)m 10(receiving)m 10(interface.)m 14(Any)m 11(mismatch)m 0 2001 p (causes)s 10(processing)m 11(to)m 10(stop)m 11(and)m 10(the)m 10(packet)m 11(to)m 10(be)m 11(dropped.)m 14(In)m 10(other)m 10(words,)m 11(the)m 10(above)m 11(\014elds)m 10(are)m 11(really)m 10(describing)m 10(the)m 0 2051 p (attached)s 10(network')m -1 r 115 c 10(con\014guration.)m 13(However)m 44 c 9(there)m 11(is)m 10(one)m 10(exception)m 11(to)m 10(the)m 11(above)m 10(rule:)m 14(on)m 10(point-to-point)m 11(networks)m 10(and)m 0 2101 p (on)s 10(virtual)m 11(links,)m 10(the)m t-bol.300 @sf 11(Network)m 10(Mask)m t-rom.300 @sf 10(in)m 11(the)m 10(received)m 11(Hello)m 10(Packet)m 11(should)m 10(be)m 10(ignored.)m 0 2169 p (The)s 10(receiving)m 10(interface)m 11(attaches)m 10(to)m 10 r 97 c 10(single)m 11(OSPF)m 10(area)m 10(\(this)m 10(could)m 11(be)m 10(the)m 10(backbone\).)m 14(The)m 10(setting)m 10(of)m 11(the)m t-bol.300 @sf 10(E-bit)m t-rom.300 @sf 10(found)m 10(in)m 0 2219 p (the)s 10(Hello)m 11(Packet')m -2 r 115 c 10(Options)m 10(\014eld)m 10(must)m 11(match)m 10(this)m 11(area')m -2 r 115 c 10(ExternalRoutingCapability)m -2 r 46 c 13(If)m 10(AS)m 10(external)m 11(advertisements)m 10(are)m 0 2268 p (not)s 10(\015ooded)m 11(into/throughout)m 10(the)m 11(area)m 10(\(i.e,)m 10(the)m 11(area)m 10(is)m 11 r 97 c 10(\\stub"\))m 11(the)m t-bol.300 @sf 10(E-bit)m t-rom.300 @sf 10(must)m 11(be)m 10(clear)m 11(in)m 10(received)m 10(Hello)m 11(Packets,)m 0 2318 p (otherwise)s 10(the)m t-bol.300 @sf 11(E-bit)m t-rom.300 @sf 10(must)m 11(be)m 10(set.)m 14 r 65 c 10(mismatch)m 11(causes)m 10(processing)m 11(to)m 10(stop)m 10(and)m 11(the)m 10(packet)m 11(to)m 10(be)m 11(dropped.)m 13(The)m 11(setting)m 10(of)m 0 2368 p (the)s 10(rest)m 11(of)m 10(the)m 11(bits)m 10(in)m 10(the)m 11(Hello)m 10(Packet')m -1 r 115 c 9(Options)m 11(\014eld)m 10(should)m 11(be)m 10(ignored.)m 0 2436 p (At)s 10(this)m 11(point,)m 10(an)m 11(attempt)m 10(is)m 10(made)m 11(to)m 10(match)m 11(the)m 10(source)m 11(of)m 10(the)m 10(Hello)m 11(Packet)m 10(to)m 11(one)m 10(of)m 10(the)m 11(receiving)m 10(interface')m -1 r 115 c 0 2486 p (neighbors.)s 14(If)m 10(the)m 11(receiving)m 10(interface)m 11(is)m 10 r 97 c 10(multi-access)m 11(network)m 10(\(either)m 11(broadcast)m 10(or)m 10(non-broadcast\))m 11(the)m 10(source)m 11(is)m 0 2535 p (identi\014ed)s 10(by)m 11(the)m 10(IP)m 11(source)m 10(address)m 10(found)m 11(in)m 10(the)m 11(Hello')m -2 r 115 c 10(IP)m 10(header)m -1 r 46 c 13(If)m 10(the)m 11(receiving)m 10(interface)m 11(is)m 10 r 97 c 10(point-to-point)m 11(link)m 10(or)m 0 2585 p 97 c 10(virtual)m 11(link,)m 10(the)m 11(source)m 10(is)m 10(identi\014ed)m 11(by)m 10(the)m 11(Router)m 10(ID)m 11(found)m 10(in)m 10(the)m 11(Hello')m -1 r 115 c 9(OSPF)m 10(packet)m 11(header)m -2 r 46 c 13(The)m 11(interface')m -1 r 115 c 0 2723 p (Moy)s 1710([Page)m 11(49])m @eop 50 @bop0 50 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (current)s 10(list)m 11(of)m 10(neighbors)m 11(is)m 10(contained)m 10(in)m 11(the)m 10(interface')m -1 r 115 c 9(data)m 11(structure.)m 14(If)m 10 r 97 c 11(matching)m 10(neighbor)m 10(structure)m 11(cannot)m 10(be)m 0 245 p (found,)s 10(\(i.e.,)m 11(this)m 10(is)m 11(the)m 10(\014rst)m 10(time)m 11(the)m 10(neighbor)m 11(has)m 10(been)m 11(detected\),)m 10(one)m 10(is)m 11(created.)m 14(The)m 10(initial)m 11(state)m 10(of)m 10 r 97 c 11(newly)m 10(created)m 0 295 p (neighbor)s 10(is)m 11(set)m 10(to)m t-bol.300 @sf 11(Down)m t-rom.300 @sf 46 c 0 362 p (When)s 10(receiving)m 11(an)m 10(Hello)m 11(Packet)m 10(from)m 10 r 97 c 11(neighbor)m 10(on)m 11 r 97 c 10(multi-access)m 11(network)m 10(\(broadcast)m 10(or)m 11(non-broadcast\),)m 10(set)m 11(the)m 0 412 p (neighbor)s 10(structure')m -1 r 115 c 10(Neighbor)m 10(ID)m 10(equal)m 11(to)m 10(the)m 11(Router)m 10(ID)m 10(found)m 11(in)m 10(the)m 11(packet')m -2 r 115 c 10(OSPF)m 10(header)m -1 r 46 c 13(When)m 10(receiving)m 11(an)m 0 462 p (Hello)s 10(on)m 11 r 97 c 10(point-to-point)m 11(network)m 10(\(but)m 10(not)m 11(on)m 10 r 97 c 11(virtual)m 10(link\))m 11(set)m 10(the)m 10(neighbor)m 11(structure')m -1 r 115 c 9(Neighbor)m 10(IP)m 11(address)m 10(to)m 11(the)m 0 512 p (packet')s -1 r 115 c 9(IP)m 11(source)m 10(address.)m 0 580 p (Now)s 10(the)m 11(rest)m 10(of)m 11(the)m 10(Hello)m 10(Packet)m 11(is)m 10(examined,)m 11(generating)m 10(events)m 11(to)m 10(be)m 10(given)m 11(to)m 10(the)m 11(neighbor)m 10(and)m 10(interface)m 11(state)m 0 629 p (machines.)s 14(These)m 10(state)m 11(machines)m 10(are)m 11(speci\014ed)m 10(either)m 10(to)m 11(be)m t-ita.300 @sf 10(executed)m t-rom.300 @sf 11(or)m t-ita.300 @sf 10(scheduled)m t-rom.300 @sf 10(\(see)m 11(Section)m 10(4.4\).)m 14(For)m 11(example,)m 10(by)m 0 679 p (specifying)s 10(below)m 11(that)m 10(the)m 11(neighbor)m 10(state)m 10(machine)m 11(be)m t-ita.300 @sf 10(executed)m t-rom.300 @sf 11(in)m 10(line,)m 11(several)m 10(neighbor)m 10(state)m 11(transitions)m 10(may)m 11(be)m 0 729 p (ef)s (fected)s 10(by)m 10 r 97 c 10(single)m 11(received)m 10(Hello:)m cmsy10.300 @sf 62 838 p 15 c t-rom.300 @sf 21(Each)m 10(Hello)m 11(Packet)m 10(causes)m 11(the)m 10(neighbor)m 11(state)m 10(machine)m 10(to)m 11(be)m t-ita.300 @sf 10(executed)m t-rom.300 @sf 11(with)m 10(the)m 10(event)m t-bol.300 @sf 11(HelloReceived)m t-rom.300 @sf 46 c cmsy10.300 @sf 62 921 p 15 c t-rom.300 @sf 21(Then)m 10(the)m 11(list)m 10(of)m 11(neighbors)m 10(contained)m 11(in)m 10(the)m 10(Hello)m 11(Packet)m 10(is)m 11(examined.)m 13(If)m 11(the)m 10(router)m 11(itself)m 10(appears)m 11(in)m 10(this)m 10(list,)m 11(the)m 104 971 p (neighbor)s 10(state)m 11(machine)m 10(should)m 10(be)m t-ita.300 @sf 11(executed)m t-rom.300 @sf 10(with)m 11(the)m 10(event)m t-bol.300 @sf 11(2-W)m -2(ayReceived)m t-rom.300 @sf 46 c 13(Otherwise,)m 11(the)m 10(neighbor)m 10(state)m 104 1021 p (machine)s 10(should)m 11(be)m 10(executed)m 10(with)m 11(the)m 10(event)m t-bol.300 @sf 11(1-W)m -2(ayReceived)m t-rom.300 @sf 44 c 10(and)m 10(the)m 11(processing)m 10(of)m 10(the)m 11(packet)m 10(stops.)m cmsy10.300 @sf 62 1104 p 15 c t-rom.300 @sf 21(Next,)m 10(the)m 11(Hello)m 10(Packet')m -1 r 115 c 9(Router)m 11(Priority)m 10(\014eld)m 11(is)m 10(examined.)m 14(If)m 10(this)m 11(\014eld)m 10(is)m 11(dif)m (ferent)s 9(than)m 11(the)m 10(one)m 11(previously)m 104 1154 p (received)s 10(from)m 11(the)m 10(neighbor)m -1 r 44 c 10(the)m 10(receiving)m 11(interface')m -2 r 115 c 10(state)m 10(machine)m 11(is)m t-ita.300 @sf 10(scheduled)m t-rom.300 @sf 10(with)m 11(the)m 10(event)m t-bol.300 @sf 104 1203 p (NeighborChange)s t-rom.300 @sf 46 c 14(In)m 10(any)m 10(case,)m 11(the)m 10(Router)m 11(Priority)m 10(\014eld)m 11(in)m 10(the)m 10(neighbor)m 11(data)m 10(structure)m 11(should)m 10(be)m 10(updated)m 104 1253 p (accordingly)s -2 r 46 c cmsy10.300 @sf 62 1336 p 15 c t-rom.300 @sf 21(Next)m 10(the)m 11(Designated)m 10(Router)m 11(\014eld)m 10(in)m 11(the)m 10(Hello)m 10(Packet)m 11(is)m 10(examined.)m 14(If)m 10(the)m 11(neighbor)m 10(is)m 11(both)m 10(declaring)m 11(itself)m 10(to)m 10(be)m 104 1386 p (Designated)s 10(Router)m 10(\(Designated)m 11(Router)m 10(\014eld)m 10 r 61 c 10(Neighbor)m 11(IP)m 10(address\))m 10(and)m 10(the)m 11(Backup)m 10(Designated)m 10(Router)m 11(\014eld)m 10(in)m 104 1436 p (the)s 10(packet)m 11(is)m 10(equal)m 10(to)m c-med.300 @sf 11(0.0.0.0)m t-rom.300 @sf 10(and)m 11(the)m 10(receiving)m 11(interface)m 10(is)m 10(in)m 11(state)m t-bol.300 @sf 10 r 87 c -1(aiting)m t-rom.300 @sf 44 c 9(the)m 11(receiving)m 10(interface')m -1 r 115 c 9(state)m 104 1486 p (machine)s 10(is)m t-ita.300 @sf 11(scheduled)m t-rom.300 @sf 10(with)m 10(the)m 11(event)m t-bol.300 @sf 10(BackupSeen)m t-rom.300 @sf 46 c 14(Otherwise,)m 11(if)m 10(the)m 10(neighbor)m 11(is)m 10(declaring)m 11(itself)m 10(to)m 10(be)m 104 1536 p (Designated)s 10(Router)m 11(and)m 10(it)m 10(had)m 11(not)m 10(previously)m -1 r 44 c 9(or)m 10(the)m 11(neighbor)m 10(is)m 11(not)m 10(declaring)m 10(itself)m 11(Designated)m 10(Router)m 11(where)m 10(it)m 104 1585 p (had)s 10(previously)m -2 r 44 c 10(the)m 10(receiving)m 11(interface')m -2 r 115 c 10(state)m 10(machine)m 11(is)m t-ita.300 @sf 10(scheduled)m t-rom.300 @sf 11(with)m 10(the)m 10(event)m t-bol.300 @sf 11(NeighborChange)m t-rom.300 @sf 46 c 14(In)m 10(any)m 104 1635 p (case,)s 10(the)m 11(Neighbor)m 1 r 39 c -1 r 115 c 9(Designated)m 11(Router)m 10(item)m 11(in)m 10(the)m 10(neighbor)m 11(structure)m 10(is)m 11(updated)m 10(accordingly)m -2 r 46 c cmsy10.300 @sf 62 1718 p 15 c t-rom.300 @sf 21(Finally)m -2 r 44 c 10(the)m 10(Backup)m 11(Designated)m 10(Router)m 10(\014eld)m 11(in)m 10(the)m 11(Hello)m 10(Packet)m 10(is)m 11(examined.)m 14(If)m 10(the)m 11(neighbor)m 10(is)m 10(declaring)m 11(itself)m 104 1768 p (to)s 10(be)m 11(Backup)m 10(Designated)m 10(Router)m 11(\(Backup)m 10(Designated)m 11(Router)m 10(\014eld)m 11 r 61 c 10(Neighbor)m 10(IP)m 11(address\))m 10(and)m 11(the)m 10(receiving)m 104 1818 p (interface)s 10(is)m 11(in)m 10(state)m t-bol.300 @sf 10 r 87 c -1(aiting)m t-rom.300 @sf 44 c 10(the)m 10(receiving)m 10(interface')m -1 r 115 c 10(state)m 10(machine)m 10(is)m t-ita.300 @sf 11(scheduled)m t-rom.300 @sf 10(with)m 11(the)m 10(event)m t-bol.300 @sf 10(BackupSeen)m t-rom.300 @sf 46 c 104 1868 p (Otherwise,)s 10(if)m 11(the)m 10(neighbor)m 10(is)m 11(declaring)m 10(itself)m 11(to)m 10(be)m 11(Backup)m 10(Designated)m 10(Router)m 11(and)m 10(it)m 11(had)m 10(not)m 10(previously)m -1 r 44 c 9(or)m 11(the)m 104 1917 p (neighbor)s 10(is)m 11(not)m 10(declaring)m 10(itself)m 11(Backup)m 10(Designated)m 11(Router)m 10(where)m 11(it)m 10(had)m 10(previously)m -1 r 44 c 9(the)m 10(receiving)m 11(interface')m -1 r 115 c 104 1967 p (state)s 10(machine)m 11(is)m t-ita.300 @sf 10(scheduled)m t-rom.300 @sf 10(with)m 11(the)m 10(event)m t-bol.300 @sf 11(NeighborChange)m t-rom.300 @sf 46 c 14(In)m 10(any)m 10(case,)m 11(the)m 10(Neighbor)m 2 r 39 c -2 r 115 c 10(Backup)m 10(Designated)m 104 2017 p (Router)s 10(item)m 11(in)m 10(the)m 10(neighbor)m 11(structure)m 10(is)m 11(updated)m 10(accordingly)m -2 r 46 c 0 2126 p (On)s 10(non-broadcast)m 11(multi-access)m 10(networks,)m 11(receipt)m 10(of)m 10(an)m 11(Hello)m 10(Packet)m 11(may)m 10(also)m 11(cause)m 10(an)m 10(Hello)m 11(Packet)m 10(to)m 11(be)m 10(sent)m 10(back)m 0 2176 p (to)s 10(the)m 11(neighbor)m 10(in)m 11(response.)m 14(See)m 10(Section)m 10(9.5.1)m 11(for)m 10(more)m 11(details.)m t-bol.360 @sf 0 2313 p (10.6)s 50(Receiving)m 12(Database)m 13(Description)m 12(Packets)m t-rom.300 @sf 0 2408 p (This)s 10(section)m 11(explains)m 10(the)m 11(detailed)m 10(processing)m 10(of)m 11 r 97 c 10(received)m 11(Database)m 10(Description)m 11(Packet.)m 13(The)m 11(incoming)m 10(Database)m 0 2458 p (Description)s 10(Packet)m 11(has)m 10(already)m 11(been)m 10(associated)m 10(with)m 11 r 97 c 10(neighbor)m 11(and)m 10(receiving)m 11(interface)m 10(by)m 10(the)m 11(generic)m 10(input)m 11(packet)m 0 2508 p (processing)s 10(\(Section)m 11(8.2\).)m 14(The)m 10(further)m 11(processing)m 10(of)m 10(the)m 11(Database)m 10(Description)m 11(Packet)m 10(depends)m 10(on)m 11(the)m 10(neighbor)m 11(state.)m 0 2558 p (If)s 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(state)m 11(is)m t-bol.300 @sf 10(Down)m t-rom.300 @sf 11(or)m t-bol.300 @sf 10(Attempt)m t-rom.300 @sf 11(the)m 10(packet)m 10(should)m 11(be)m 10(ignored.)m 14(Otherwise,)m 11(if)m 10(the)m 10(state)m 11(is:)m 0 2723 p (Moy)s 1710([Page)m 11(50])m @eop 51 @bop0 /Times-Bold /t-bol.240 ReEncodeForTeX /t-bol.240 /t-bol.240 33.333265 TeXPSmakefont def 51 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (Init)s t-rom.300 @sf 21(The)m 10(neighbor)m 11(state)m 10(machine)m 10(should)m 11(be)m t-ita.300 @sf 10(executed)m t-rom.300 @sf 11(with)m 10(the)m 11(event)m t-bol.300 @sf 10(2-W)m -1(ayReceived)m t-rom.300 @sf 46 c 13(This)m 10(causes)m 10(an)m 11(immediate)m 10(state)m 104 245 p (change)s 10(to)m 11(either)m 10(state)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 10(or)m 10(state)m t-bol.300 @sf 10(ExStart)m t-rom.300 @sf 46 c 14(If)m 11(the)m 10(new)m 11(state)m 10(is)m 10(ExStart,)m 11(the)m 10(processing)m 11(of)m 10(the)m 10(current)m 11(packet)m 104 295 p (should)s 10(then)m 11(continue)m 10(in)m 10(this)m 11(new)m 10(state)m 11(by)m 10(falling)m 11(through)m 10(to)m 10(case)m 11(ExStart)m 10(below)m -2 r 46 c t-bol.300 @sf 0 376 p (2-W)s -1(ay)m t-rom.300 @sf 19(The)m 11(packet)m 10(should)m 11(be)m 10(ignored.)m 14(Database)m 10(Description)m 11(Packets)m 10(are)m 11(used)m 10(only)m 11(for)m 10(the)m 10(purpose)m 11(of)m 10(bringing)m 11(up)m 104 426 p (adjacencies.)s t-rom.210 @sf 320 410 p 55 c t-bol.300 @sf 0 507 p (ExStart)s t-rom.300 @sf 21(If)m 10(the)m 11(received)m 10(packet)m 10(matches)m 11(one)m 10(of)m 11(the)m 10(following)m 11(cases,)m 10(then)m 10(the)m 11(neighbor)m 10(state)m 11(machine)m 10(should)m 10(be)m t-ita.300 @sf 104 556 p (executed)s t-rom.300 @sf 10(with)m 11(the)m 10(event)m t-bol.300 @sf 10(NegotiationDone)m t-rom.300 @sf 11(\(causing)m 10(the)m 11(state)m 10(to)m 11(transition)m 10(to)m t-bol.300 @sf 10(Exchange)m t-rom.300 @sf (\),)s 11(the)m 10(packet')m -1 r 115 c 9(Options)m 104 606 p (\014eld)s 10(should)m 11(be)m 10(recorded)m 10(in)m 11(the)m 10(neighbor)m 11(structure')m -2 r 115 c t-bol.300 @sf 10(Neighbor)m 10(Options)m t-rom.300 @sf 11(\014eld)m 10(and)m 10(the)m 11(packet)m 10(should)m 11(be)m 10(accepted)m 104 656 p (as)s 10(next)m 11(in)m 10(sequence)m 10(and)m 11(processed)m 10(further)m 11(\(see)m 10(below\).)m 14(Otherwise,)m 10(the)m 11(packet)m 10(should)m 11(be)m 10(ignored.)m cmsy10.300 @sf 154 744 p 15 c t-rom.300 @sf 20(The)m 11(initialize\(I\),)m 10(more)m 11(\(M\))m 10(and)m 10(master\(MS\))m 11(bits)m 10(are)m 11(set,)m 10(the)m 11(contents)m 10(of)m 10(the)m 11(packet)m 10(are)m 11(empty)m -2 r 44 c 9(and)m 11(the)m 195 794 p (neighbor)s 2 r 39 c -2 r 115 c 10(Router)m 10(ID)m 11(is)m 10(lar)m (ger)s 10(than)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(own.)m 14(In)m 10(this)m 11(case)m 10(the)m 11(router)m 10(is)m 11(now)m 10(Slave.)m 14(Set)m 10(the)m 195 844 p (master/slave)s 11(bit)m 10(to)m 10(slave,)m 11(and)m 10(set)m 11(the)m 10(DD)m 10(sequence)m 11(number)m 10(to)m 11(that)m 10(speci\014ed)m 11(by)m 10(the)m 10(master)m -1 r 46 c cmsy10.300 @sf 154 908 p 15 c t-rom.300 @sf 20(The)m 11(initialize\(I\))m 10(and)m 11(master\(MS\))m 10(bits)m 10(are)m 11(of)m (f,)s 10(the)m 10(packet')m -1 r 115 c 9(DD)m 10(sequence)m 11(number)m 10(equals)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(own)m 195 958 p (DD)s 11(sequence)m 10(number)m 10(\(indicating)m 11(acknowledgment\))m 10(and)m 11(the)m 10(neighbor)m 2 r 39 c -2 r 115 c 10(Router)m 10(ID)m 11(is)m 10(smaller)m 10(than)m 11(the)m 195 1008 p (router)s 2 r 39 c -2 r 115 c 10(own.)m 14(In)m 10(this)m 10(case)m 11(the)m 10(router)m 11(is)m 10(Master)m -1 r 46 c t-bol.300 @sf 0 1096 p (Exchange)s t-rom.300 @sf 21(If)m 10(the)m 11(state)m 10(of)m 10(the)m 11(MS-bit)m 10(is)m 11(inconsistent)m 10(with)m 11(the)m 10(master/slave)m 10(state)m 11(of)m 10(the)m 11(connection,)m 10(generate)m 10(the)m 104 1146 p (neighbor)s 10(event)m t-bol.300 @sf 11(SeqNumberMismatch)m t-rom.300 @sf 10(and)m 10(stop)m 11(processing)m 10(the)m 11(packet.)m 14(Otherwise:)m cmsy10.300 @sf 154 1234 p 15 c t-rom.300 @sf 20(If)m 11(the)m 10(initialize\(I\))m 11(bit)m 10(is)m 10(set,)m 11(generate)m 10(the)m 11(neighbor)m 10(event)m t-bol.300 @sf 11(SeqNumberMismatch)m t-rom.300 @sf 10(and)m 10(stop)m 11(processing)m 10(the)m 195 1284 p (packet.)s cmsy10.300 @sf 154 1349 p 15 c t-rom.300 @sf 20(If)m 11(the)m 10(packet')m -1 r 115 c 9(Options)m 11(\014eld)m 10(indicates)m 11 r 97 c 10(dif)m (ferent)s 10(set)m 10(of)m 10(optional)m 11(OSPF)m 10(capabilities)m 11(than)m 10(were)m 11(previously)m 195 1398 p (received)s 11(from)m 10(the)m 10(neighbor)m 11(\(recorded)m 10(in)m 11(the)m t-bol.300 @sf 10(Neighbor)m 10(Options)m t-rom.300 @sf 11(\014eld)m 10(of)m 11(the)m 10(neighbor)m 11(structure\),)m 10(generate)m 195 1448 p (the)s 11(neighbor)m 10(event)m t-bol.300 @sf 10(SeqNumberMismatch)m t-rom.300 @sf 11(and)m 10(stop)m 11(processing)m 10(the)m 10(packet.)m cmsy10.300 @sf 154 1513 p 15 c t-rom.300 @sf 20(If)m 11(the)m 10(router)m 11(is)m 10(master)m -1 r 44 c 10(and)m 10(the)m 11(packet')m -2 r 115 c 10(DD)m 10(sequence)m 11(number)m 10(equals)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(own)m 11(DD)m 10(sequence)m 195 1562 p (number)s 11(\(this)m 10(packet)m 10(is)m 11(the)m 10(next)m 11(in)m 10(sequence\))m 10(the)m 11(packet)m 10(should)m 11(be)m 10(accepted)m 11(and)m 10(its)m 10(contents)m 11(processed)m 195 1612 p (\(below\).)s cmsy10.300 @sf 154 1677 p 15 c t-rom.300 @sf 20(If)m 11(the)m 10(router)m 11(is)m 10(master)m -1 r 44 c 10(and)m 10(the)m 11(packet')m -2 r 115 c 10(DD)m 10(sequence)m 11(number)m 10(is)m 10(one)m 11(less)m 10(than)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(DD)m 10(sequence)m 195 1726 p (number)s -1 r 44 c 10(the)m 10(packet)m 11(is)m 10 r 97 c 11(duplicate.)m 13(Duplicates)m 11(should)m 10(be)m 11(discarded)m 10(by)m 10(the)m 11(master)m -1 r 46 c cmsy10.300 @sf 154 1791 p 15 c t-rom.300 @sf 20(If)m 11(the)m 10(router)m 11(is)m 10(slave,)m 10(and)m 11(the)m 10(packet')m -1 r 115 c 9(DD)m 11(sequence)m 10(number)m 11(is)m 10(one)m 10(more)m 11(than)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(own)m 11(DD)m 195 1841 p (sequence)s 11(number)m 10(\(this)m 10(packet)m 11(is)m 10(the)m 11(next)m 10(in)m 10(sequence\))m 11(the)m 10(packet)m 11(should)m 10(be)m 11(accepted)m 10(and)m 10(its)m 11(contents)m 195 1890 p (processed)s 11(\(below\).)m cmsy10.300 @sf 154 1955 p 15 c t-rom.300 @sf 20(If)m 11(the)m 10(router)m 10(is)m 11(slave,)m 10(and)m 10(the)m 11(packet')m -2 r 115 c 10(DD)m 10(sequence)m 10(number)m 11(is)m 10(equal)m 10(to)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(DD)m 10(sequence)m 10(number)m 44 c 195 2005 p (the)s 10(packet)m 11(is)m 10 r 97 c 10(duplicate.)m 14(The)m 10(slave)m 11(must)m 10(respond)m 10(to)m 11(duplicates)m 10(by)m 10(repeating)m 11(the)m 10(last)m 10(Database)m 10(Description)m 195 2055 p (packet)s 11(that)m 10(it)m 10(had)m 11(sent.)m cmsy10.300 @sf 154 2119 p 15 c t-rom.300 @sf 20(Else,)m 11(generate)m 10(the)m 11(neighbor)m 10(event)m t-bol.300 @sf 10(SeqNumberMismatch)m t-rom.300 @sf 11(and)m 10(stop)m 11(processing)m 10(the)m 11(packet.)m t-bol.300 @sf 0 2207 p (Loading)s 10(or)m 11(Full)m t-rom.300 @sf 21(In)m 10(this)m 10(state,)m 11(the)m 10(router)m 11(has)m 10(sent)m 11(and)m 10(received)m 10(an)m 11(entire)m 10(sequence)m 11(of)m 10(Database)m 10(Description)m 11(Packets.)m 104 2257 p (The)s 10(only)m 11(packets)m 10(received)m 10(should)m 11(be)m 10(duplicates)m 11(\(see)m 10(above\).)m 14(In)m 10(particular)m 44 c 9(the)m 11(packet')m -2 r 115 c 10(Options)m 10(\014eld)m 11(should)m 104 2307 p (match)s 10(the)m 11(set)m 10(of)m 10(optional)m 11(OSPF)m 10(capabilities)m 11(previously)m 10(indicated)m 11(by)m 10(the)m 10(neighbor)m 11(\(stored)m 10(in)m 11(the)m 10(neighbor)m 104 2357 p (structure')s -2 r 115 c t-bol.300 @sf 10(Neighbor)m 10(Options)m t-rom.300 @sf 11(\014eld\).)m 14(Any)m 10(other)m 10(packets)m 11(received,)m 10(including)m 11(the)m 10(reception)m 11(of)m 10 r 97 c 10(packet)m 11(with)m 10(the)m 104 2406 p (Initialize\(I\))s 10(bit)m 11(set,)m 10(should)m 10(generate)m 11(the)m 10(neighbor)m 11(event)m t-bol.300 @sf 10(SeqNumberMismatch)m t-rom.300 @sf 46 c t-rom.210 @sf 1435 2391 p 56 c t-rom.300 @sf 1465 2406 p (Duplicates)s 11(should)m 10(be)m 0 2440 p 780 2 ru t-rom.180 @sf 45 2467 p 55 c t-rom.240 @sf 60 2479 p (When)s 11(the)m 10(identity)m 11(of)m 10(the)m 11(Designated)m 10(Router)m 11(is)m 10(changing,)m 11(it)m 11(may)m 10(be)m 11(quite)m 10(common)m 11(for)m 10 r 97 c 11(neighbor)m 10(in)m 11(this)m 10(state)m 11(to)m 10(send)m 11(the)m 10(router)m 11 r 97 c 10(Database)m 0 2519 p (Description)s 8(packet;)m 9(this)m 8(means)m 8(that)m 9(there)m 8(is)m 8(some)m 9(momentary)m 8(disagreement)m 8(on)m 9(the)m 8(Designated)m 8(Router)m 2 r 39 c -1 r 115 c 7(identity)m -1 r 46 c t-rom.180 @sf 45 2547 p 56 c t-rom.240 @sf 60 2559 p (Note)s 10(that)m 9(it)m 10(is)m 9(possible)m 10(for)m 9 r 97 c 10(router)m 9(to)m 10(resynchronize)m 9(any)m 10(of)m 9(its)m 10(fully)m 9(established)m 10(adjacencies)m 9(by)m 10(setting)m 9(the)m 10(adjacency')m -1 r 115 c 9(state)m 9(back)m 10(to)m t-bol.240 @sf 9(ExStart)m t-rom.240 @sf 46 c 0 2599 p (This)s 8(will)m 9(cause)m 8(the)m 8(other)m 9(end)m 8(of)m 8(the)m 9(adjacency)m 8(to)m 8(process)m 9 r 97 c t-bol.240 @sf 8(SeqNumberMismatch)m t-rom.240 @sf 8(event,)m 9(and)m 8(therefore)m 8(to)m 9(also)m 8(go)m 8(back)m 9(to)m t-bol.240 @sf 8(ExStart)m t-rom.240 @sf 8(state.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(51])m @eop 52 @bop0 1 /cmr10.300 @newfont cmr10.300 @sf [<7FFFFFC0FFFFFFE000000000000000000000000000000000000000000000000000000000000000 00FFFFFFE07FFFFFC0> 32 12 -2 -4 32.286] 61 @dc 52 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 104 195 p (discarded)s 10(by)m 11(the)m 10(master)m -1 r 46 c 13(The)m 10(slave)m 10(must)m 11(respond)m 10(to)m 11(duplicates)m 10(by)m 11(repeating)m 10(the)m 10(last)m 11(Database)m 10(Description)m 104 245 p (packet)s 10(that)m 11(it)m 10(had)m 10(sent.)m 0 352 p (When)s 10(the)m 11(router)m 10(accepts)m 11 r 97 c 10(received)m 10(Database)m 11(Description)m 10(Packet)m 11(as)m 10(the)m 11(next)m 10(in)m 10(sequence)m 11(the)m 10(packet)m 11(contents)m 10(are)m 0 402 p (processed)s 10(as)m 11(follows.)m 14(For)m 10(each)m 11(link)m 10(state)m 10(advertisement)m 11(listed,)m 10(the)m 11(advertisement')m -2 r 115 c 10(LS)m 10(type)m 11(is)m 10(checked)m 10(for)m 11(validity)m -2 r 46 c 13(If)m 0 452 p (the)s t-bol.300 @sf 10(LS)m 11(type)m t-rom.300 @sf 10(is)m 11(unknown)m 10(\(e.g.,)m 10(not)m 11(one)m 10(of)m 11(the)m 10(LS)m 11(types)m 10(1-5)m 10(de\014ned)m 11(by)m 10(this)m 11(speci\014cation\),)m 10(or)m 10(if)m 11(this)m 10(is)m 11 r 97 c 10(AS)m 11(external)m 0 501 p (advertisement)s 10(\(LS)m 11(type)m cmr10.300 @sf 10 r 61 c t-rom.300 @sf 11(5\))m 10(and)m 10(the)m 11(neighbor)m 10(is)m 11(associated)m 10(with)m 11 r 97 c 10(stub)m 10(area,)m 11(generate)m 10(the)m 11(neighbor)m 10(event)m t-bol.300 @sf 0 551 p (SeqNumberMismatch)s t-rom.300 @sf 10(and)m 11(stop)m 10(processing)m 11(the)m 10(packet.)m 14(Otherwise,)m 10(the)m 11(router)m 10(looks)m 11(up)m 10(the)m 10(advertisement)m 11(in)m 10(its)m 0 601 p (database)s 10(to)m 11(see)m 10(whether)m 10(it)m 10(also)m 11(has)m 10(an)m 10(instance)m 10(of)m 11(the)m 10(link)m 10(state)m 10(advertisement.)m 14(If)m 11(it)m 10(does)m 10(not,)m 10(or)m 11(if)m 10(the)m 10(database)m 10(copy)m 11(is)m 0 651 p (less)s 10(recent)m 11(\(see)m 10(Section)m 11(13.1\),)m 10(the)m 10(link)m 11(state)m 10(advertisement)m 11(is)m 10(put)m 11(on)m 10(the)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s 10(list)m t-rom.300 @sf 10(so)m 11(that)m 10(it)m 11(can)m 10(be)m 0 701 p (requested)s 10(\(immediately)m 11(or)m 10(at)m 11(some)m 10(later)m 10(time\))m 11(in)m 10(Link)m 11(State)m 10(Request)m 11(Packets.)m 0 768 p (When)s 10(the)m 11(router)m 10(accepts)m 11 r 97 c 10(received)m 10(Database)m 11(Description)m 10(Packet)m 11(as)m 10(the)m 11(next)m 10(in)m 10(sequence,)m 11(it)m 10(also)m 11(performs)m 10(the)m 0 817 p (following)s 10(actions,)m 11(depending)m 10(on)m 11(whether)m 10(it)m 10(is)m 11(master)m 10(or)m 11(slave:)m t-bol.300 @sf 0 924 p (Master)s t-rom.300 @sf 21(Increments)m 10(the)m 11(DD)m 10(sequence)m 10(number)m -1 r 46 c 13(If)m 10(the)m 11(router)m 10(has)m 11(already)m 10(sent)m 11(its)m 10(entire)m 10(sequence)m 11(of)m 10(Database)m 148 974 p (Description)s 10(Packets,)m 11(and)m 10(the)m 11(just)m 10(accepted)m 11(packet)m 10(has)m 10(the)m 11(more)m 10(bit)m 11(\(M\))m 10(set)m 10(to)m 11(0,)m 10(the)m 11(neighbor)m 10(event)m t-bol.300 @sf 148 1024 p (ExchangeDone)s t-rom.300 @sf 10(is)m 11(generated.)m 14(Otherwise,)m 10(it)m 11(should)m 10(send)m 10 r 97 c 11(new)m 10(Database)m 11(Description)m 10(to)m 10(the)m 11(slave.)m t-bol.300 @sf 0 1106 p (Slave)s t-rom.300 @sf 53(Sets)m 10(the)m 11(DD)m 10(sequence)m 10(number)m 11(to)m 10(the)m 10(DD)m 10(sequence)m 11(number)m 10(appearing)m 10(in)m 11(the)m 10(received)m 10(packet.)m 14(The)m 10(slave)m 11(must)m 148 1156 p (send)s 10 r 97 c 11(Database)m 10(Description)m 11(Packet)m 10(in)m 11(reply)m -2 r 46 c 13(If)m 10(the)m 11(received)m 10(packet)m 10(has)m 11(the)m 10(more)m 11(bit)m 10(\(M\))m 10(set)m 11(to)m 10(0,)m 11(and)m 10(the)m 148 1206 p (packet)s 10(to)m 11(be)m 10(sent)m 11(by)m 10(the)m 11(slave)m 10(will)m 10(also)m 11(have)m 10(the)m 11(M-bit)m 10(set)m 10(to)m 11(0,)m 10(the)m 11(neighbor)m 10(event)m t-bol.300 @sf 10(ExchangeDone)m t-rom.300 @sf 11(is)m 148 1256 p (generated.)s 14(Note)m 10(that)m 11(the)m 10(slave)m 11(always)m 10(generates)m 10(this)m 11(event)m 10(before)m 11(the)m 10(master)m -1 r 46 c t-bol.360 @sf 0 1392 p (10.7)s 50(Receiving)m 12(Link)m 13(State)m 12(Request)m 13(Packets)m t-rom.300 @sf 0 1487 p (This)s 10(section)m 11(explains)m 10(the)m 11(detailed)m 10(processing)m 10(of)m 11(received)m 10(Link)m 11(State)m 10(Request)m 11(packets.)m 13(Received)m 11(Link)m 10(State)m 11(Request)m 0 1536 p (Packets)s 10(specify)m 11 r 97 c 10(list)m 11(of)m 10(link)m 10(state)m 11(advertisements)m 10(that)m 11(the)m 10(neighbor)m 11(wishes)m 10(to)m 10(receive.)m 14(Link)m 11(State)m 10(Request)m 11(Packets)m 0 1586 p (should)s 10(be)m 11(accepted)m 10(when)m 11(the)m 10(neighbor)m 10(is)m 11(in)m 10(states)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 44 c t-bol.300 @sf 10(Loading)m t-rom.300 @sf 44 c 11(or)m t-bol.300 @sf 10(Full)m t-rom.300 @sf 46 c 14(In)m 10(all)m 11(other)m 10(states)m 10(Link)m 11(State)m 10(Request)m 0 1636 p (Packets)s 10(should)m 11(be)m 10(ignored.)m 0 1703 p (Each)s 10(link)m 11(state)m 10(advertisement)m 11(speci\014ed)m 10(in)m 10(the)m 11(Link)m 10(State)m 11(Request)m 10(packet)m 11(should)m 10(be)m 10(located)m 11(in)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(database,)m 0 1753 p (and)s 10(copied)m 11(into)m 10(Link)m 11(State)m 10(Update)m 10(packets)m 11(for)m 10(transmission)m 11(to)m 10(the)m 11(neighbor)m -2 r 46 c 13(These)m 11(link)m 10(state)m 10(advertisements)m 11(should)m 0 1803 p (NOT)s 10(be)m 11(placed)m 10(on)m 11(the)m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 10(for)m 10(the)m 11(neighbor)m -1 r 46 c 12(If)m 11 r 97 c 10(link)m 11(state)m 10(advertisement)m 11(cannot)m 10(be)m 10(found)m 0 1852 p (in)s 10(the)m 11(database,)m 10(something)m 11(has)m 10(gone)m 10(wrong)m 11(with)m 10(the)m 11(Database)m 10(Exchange)m 11(process,)m 10(and)m 10(neighbor)m 11(event)m t-bol.300 @sf 10(BadLSReq)m t-rom.300 @sf 0 1902 p (should)s 10(be)m 11(generated.)m t-bol.360 @sf 0 2038 p (10.8)s 50(Sending)m 12(Database)m 13(Description)m 12(Packets)m t-rom.300 @sf 0 2133 p (This)s 10(section)m 11(describes)m 10(how)m 11(Database)m 10(Description)m 10(Packets)m 11(are)m 10(sent)m 11(to)m 10 r 97 c 11(neighbor)m -2 r 46 c 13(The)m 11(router)m 1 r 39 c -1 r 115 c 9(optional)m 11(OSPF)m 0 2183 p (capabilities)s 10(\(see)m 11(Section)m 10(4.5\))m 11(are)m 10(transmitted)m 10(to)m 11(the)m 10(neighbor)m 11(in)m 10(the)m t-bol.300 @sf 11(Options)m t-rom.300 @sf 10(\014eld)m 10(of)m 11(the)m 10(Database)m 11(Description)m 10(packet.)m 0 2233 p (The)s 10(router)m 11(should)m 10(maintain)m 11(the)m 10(same)m 10(set)m 11(of)m 10(optional)m 11(capabilities)m 10(throughout)m 11(the)m 10(Database)m 10(Exchange)m 11(and)m 10(\015ooding)m 0 2282 p (procedures.)s 14(If)m 10(for)m 11(some)m 10(reason)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(optional)m 10(capabilities)m 10(change,)m 11(the)m 10(Database)m 11(Exchange)m 10(procedure)m 11(should)m 10(be)m 0 2332 p (restarted)s 10(by)m 11(reverting)m 10(to)m 11(neighbor)m 10(state)m t-bol.300 @sf 10(ExStart)m t-rom.300 @sf 46 c 14(There)m 11(are)m 10(currently)m 11(two)m 10(optional)m 10(capabilities)m 11(de\014ned.)m 14(The)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 0 2382 p (should)s 10(be)m 11(set)m 10(if)m 11(and)m 10(only)m 10(if)m 11(the)m 10(router)m 11(is)m 10(capable)m 11(of)m 10(calculating)m 10(separate)m 11(routes)m 10(for)m 11(each)m 10(IP)m 10 r 84 c (OS.)s 14(The)m t-bol.300 @sf 10(E-bit)m t-rom.300 @sf 10(should)m 11(be)m 0 2432 p (set)s 10(if)m 11(and)m 10(only)m 11(if)m 10(the)m 10(attached)m 11(network)m 10(belongs)m 11(to)m 10 r 97 c 11(non-stub)m 10(area.)m 14(The)m 10(rest)m 11(of)m 10(the)m t-bol.300 @sf 11(Options)m t-rom.300 @sf 10(\014eld)m 10(should)m 11(be)m 10(set)m 11(to)m 10(zero.)m 0 2499 p (The)s 10(sending)m 11(of)m 10(Database)m 11(Description)m 10(packets)m 10(depends)m 11(on)m 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(state.)m 14(In)m 11(state)m t-bol.300 @sf 10(ExStart)m t-rom.300 @sf 11(the)m 10(router)m 10(sends)m 0 2549 p (empty)s 10(Database)m 11(Description)m 10(packets,)m 11(with)m 10(the)m 10(initialize)m 11(\(I\),)m 10(more)m 11(\(M\))m 10(and)m 11(master)m 10(\(MS\))m 10(bits)m 11(set.)m 14(These)m 10(packets)m 11(are)m 0 2599 p (retransmitted)s 10(every)m 11(RxmtInterval)m 10(seconds.)m 0 2723 p (Moy)s 1710([Page)m 11(52])m @eop 53 @bop0 53 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (In)s 10(state)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 10(the)m 11(Database)m 10(Description)m 10(Packets)m 11(actually)m 10(contain)m 11(summaries)m 10(of)m 11(the)m 10(link)m 10(state)m 11(information)m 0 245 p (contained)s 10(in)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(database.)m 14(Each)m 10(link)m 11(state)m 10(advertisement)m 10(in)m 11(the)m 10(area')m -1 r 115 c 9(topological)m 11(database)m 10(\(at)m 11(the)m 10(time)m 11(the)m 0 295 p (neighbor)s 10(transitions)m 11(into)m t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 11(state\))m 10(is)m 10(listed)m 11(in)m 10(the)m 11(neighbor)m t-bol.300 @sf 10(Database)m 11(summary)m 10(list)m t-rom.300 @sf 46 c 14(When)m 10 r 97 c 11(new)m 10(Database)m 0 345 p (Description)s 10(Packet)m 11(is)m 10(to)m 11(be)m 10(sent,)m 10(the)m 11(packet')m -1 r 115 c 9(DD)m 10(sequence)m 11(number)m 10(is)m 11(incremented,)m 10(and)m 11(the)m 10(\(new\))m 10(top)m 11(of)m 10(the)m t-bol.300 @sf 0 394 p (Database)s 10(summary)m 11(list)m t-rom.300 @sf 10(is)m 11(described)m 10(by)m 10(the)m 11(packet.)m 14(Items)m 10(are)m 11(removed)m 10(from)m 10(the)m t-bol.300 @sf 11(Database)m 10(summary)m 11(list)m t-rom.300 @sf 10(when)m 11(the)m 0 444 p (previous)s 10(packet)m 11(is)m 10(acknowledged.)m 0 512 p (In)s 10(state)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 44 c 10(the)m 11(determination)m 10(of)m 10(when)m 11(to)m 10(send)m 11 r 97 c 10(Database)m 11(Description)m 10(packet)m 10(depends)m 11(on)m 10(whether)m 11(the)m 10(router)m 0 562 p (is)s 10(master)m 11(or)m 10(slave:)m t-bol.300 @sf 0 671 p (Master)s t-rom.300 @sf 21(Database)m 10(Description)m 11(packets)m 10(are)m 10(sent)m 11(when)m 10(either)m 11(a\))m 10(the)m 11(slave)m 10(acknowledges)m 10(the)m 11(previous)m 10(Database)m 148 721 p (Description)s 10(packet)m 11(by)m 10(echoing)m 11(the)m 10(DD)m 11(sequence)m 10(number)m 10(or)m 11(b\))m 10(RxmtInterval)m 11(seconds)m 10(elapse)m 10(without)m 11(an)m 148 770 p (acknowledgment,)s 10(in)m 11(which)m 10(case)m 11(the)m 10(previous)m 11(Database)m 10(Description)m 10(packet)m 11(is)m 10(retransmitted.)m t-bol.300 @sf 0 853 p (Slave)s t-rom.300 @sf 53(Database)m 11(Description)m 10(packets)m 10(are)m 11(sent)m 10(only)m 11(in)m 10(response)m 10(to)m 11(Database)m 10(Description)m 11(packets)m 10(received)m 11(from)m 10(the)m 148 903 p (master)s -1 r 46 c 13(If)m 10(the)m 10(Database)m 11(Description)m 10(packet)m 11(received)m 10(from)m 11(the)m 10(master)m 10(is)m 11(new)m -2 r 44 c 9 r 97 c 11(new)m 10(Database)m 11(Description)m 148 953 p (packet)s 10(is)m 11(sent,)m 10(otherwise)m 11(the)m 10(previous)m 11(Database)m 10(Description)m 10(packet)m 11(is)m 10(resent.)m 0 1062 p (In)s 10(states)m t-bol.300 @sf 11(Loading)m t-rom.300 @sf 10(and)m t-bol.300 @sf 11(Full)m t-rom.300 @sf 10(the)m 10(slave)m 11(must)m 10(resend)m 11(its)m 10(last)m 11(Database)m 10(Description)m 10(packet)m 11(in)m 10(response)m 11(to)m 10(duplicate)m 0 1112 p (Database)s 10(Description)m 11(packets)m 10(received)m 11(from)m 10(the)m 10(master)m -1 r 46 c 13(For)m 11(this)m 10(reason)m 10(the)m 11(slave)m 10(must)m 11(wait)m 10(RouterDeadInterval)m 0 1162 p (seconds)s 10(before)m 11(freeing)m 10(the)m 11(last)m 10(Database)m 10(Description)m 11(packet.)m 14(Reception)m 10(of)m 11 r 97 c 10(Database)m 10(Description)m 11(packet)m 10(from)m 11(the)m 0 1212 p (master)s 10(after)m 11(this)m 10(interval)m 11(will)m 10(generate)m 10 r 97 c t-bol.300 @sf 11(SeqNumberMismatch)m t-rom.300 @sf 10(neighbor)m 11(event.)m t-bol.360 @sf 0 1348 p (10.9)s 50(Sending)m 12(Link)m 13(State)m 12(Request)m 13(Packets)m t-rom.300 @sf 0 1444 p (In)s 10(neighbor)m 10(states)m t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 10(or)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf 44 c 10(the)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s 9(list)m t-rom.300 @sf 10(contains)m 10 r 97 c 10(list)m 10(of)m 10(those)m 10(link)m 10(state)m 10(advertisements)m 0 1494 p (that)s 10(need)m 11(to)m 10(be)m 11(obtained)m 10(from)m 10(the)m 11(neighbor)m -1 r 46 c 13 r 84 c -2 r 111 c 9(request)m 10(these)m 11(advertisements,)m 10 r 97 c 11(router)m 10(sends)m 11(the)m 10(neighbor)m 10(the)m 0 1544 p (beginning)s 10(of)m 11(the)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s 10(list)m t-rom.300 @sf 44 c 10(packaged)m 11(in)m 10 r 97 c 10(Link)m 11(State)m 10(Request)m 11(packet.)m 0 1611 p (When)s 10(the)m 11(neighbor)m 10(responds)m 11(to)m 10(these)m 10(requests)m 11(with)m 10(the)m 11(proper)m 10(Link)m 11(State)m 10(Update)m 10(packet\(s\),)m 11(the)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s 0 1661 p (list)s t-rom.300 @sf 10(is)m 11(truncated)m 10(and)m 11 r 97 c 10(new)m 10(Link)m 11(State)m 10(Request)m 11(packet)m 10(is)m 11(sent.)m 13(This)m 11(process)m 10(continues)m 11(until)m 10(the)m 11(Link)m 10(state)m 10(request)m 11(list)m 0 1711 p (becomes)s 10(empty)m -1 r 46 c 13(Unsatis\014ed)m 10(Link)m 10(State)m 11(Request)m 10(packets)m 11(are)m 10(retransmitted)m 11(at)m 10(intervals)m 10(of)m 11(RxmtInterval.)m 14(There)m 10(should)m 0 1761 p (be)s 10(at)m 11(most)m 10(one)m 11(Link)m 10(State)m 10(Request)m 11(packet)m 10(outstanding)m 11(at)m 10(any)m 11(one)m 10(time.)m 0 1829 p (When)s 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (equest)s 9(list)m t-rom.300 @sf 11(becomes)m 10(empty)m -2 r 44 c 10(and)m 10(the)m 11(neighbor)m 10(state)m 11(is)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf 10(\(i.e.,)m 11 r 97 c 10(complete)m 11(sequence)m 10(of)m 0 1878 p (Database)s 10(Description)m 11(packets)m 10(has)m 11(been)m 10(sent)m 10(to)m 11(and)m 10(received)m 11(from)m 10(the)m 11(neighbor\),)m 10(the)m t-bol.300 @sf 10(Loading)m 11(Done)m t-rom.300 @sf 10(neighbor)m 11(event)m 10(is)m 0 1928 p (generated.)s t-bol.360 @sf 0 2065 p (10.10)s 50(An)m 12(Example)m t-rom.300 @sf 0 2160 p (Figure)s 10(14)m 11(shows)m 10(an)m 11(example)m 10(of)m 10(an)m 11(adjacency)m 10(forming.)m 14(Routers)m 11 r 82 c -2(T1)m 10(and)m 10 r 82 c -2(T2)m 10(are)m 10(both)m 11(connected)m 10(to)m 11 r 97 c 10(broadcast)m 0 2210 p (network.)s 14(It)m 10(is)m 11(assumed)m 10(that)m 11 r 82 c -2(T2)m 9(is)m 11(the)m 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network,)m 10(and)m 11(that)m 10 r 82 c -1(T2)m 9(has)m 11 r 97 c 10(higher)m 10(Router)m 11(ID)m 10(than)m 0 2260 p (Router)s 10 r 82 c -1(T1.)m 0 2328 p (The)s 10(neighbor)m 11(state)m 10(changes)m 11(realized)m 10(by)m 10(each)m 11(router)m 10(are)m 11(listed)m 10(on)m 11(the)m 10(sides)m 10(of)m 11(the)m 10(\014gure.)m 0 2395 p (At)s 10(the)m 11(beginning)m 10(of)m 11(Figure)m 10(14,)m 10(Router)m 11 r 82 c -2(T1')m -2 r 115 c 10(interface)m 10(to)m 10(the)m 11(network)m 10(becomes)m 11(operational.)m 14(It)m 10(begins)m 10(sending)m 11(Hello)m 0 2445 p (Packets,)s 10(although)m 11(it)m 10(doesn')m 116 c 10(know)m 10(the)m 11(identity)m 10(of)m 11(the)m 10(Designated)m 10(Router)m 11(or)m 10(of)m 11(any)m 10(other)m 10(neighboring)m 11(routers.)m 14(Router)m 0 2495 p 82 c -2(T2)m 10(hears)m 10(this)m 11(hello)m 10(\(moving)m 11(the)m 10(neighbor)m 10(to)m t-bol.300 @sf 11(Init)m t-rom.300 @sf 10(state\),)m 11(and)m 10(in)m 10(its)m 11(next)m 10(Hello)m 11(Packet)m 10(indicates)m 11(that)m 10(it)m 10(is)m 11(itself)m 10(the)m 0 2545 p (Designated)s 10(Router)m 10(and)m 11(that)m 10(it)m 10(has)m 10(heard)m 10(Hello)m 11(Packets)m 10(from)m 10 r 82 c -1(T1.)m 12(This)m 11(in)m 10(turn)m 10(causes)m 10 r 82 c -1(T1)m 9(to)m 10(go)m 10(to)m 11(state)m t-bol.300 @sf 10(ExStart)m t-rom.300 @sf 44 c 10(as)m 10(it)m 0 2595 p (starts)s 10(to)m 11(bring)m 10(up)m 11(the)m 10(adjacency)m -2 r 46 c 0 2723 p (Moy)s 1710([Page)m 11(53])m @eop 54 @bop0 54 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 7564902 9143664 30720081 43942215 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure14.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:21:29 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 115 139 467 668 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 200 413 moveto 440 413 lineto stroke newpath 432.000 411.000 moveto 440.000 413.000 lineto 432.000 415.000 lineto stroke % Polyline newpath 440 383 moveto 200 383 lineto stroke newpath 208.000 385.000 moveto 200.000 383.000 lineto 208.000 381.000 lineto stroke % Polyline newpath 199 354 moveto 440 354 lineto stroke newpath 432.000 352.000 moveto 440.000 354.000 lineto 432.000 356.000 lineto stroke % Polyline newpath 440 324 moveto 200 324 lineto stroke newpath 208.000 326.000 moveto 200.000 324.000 lineto 208.000 322.000 lineto stroke % Polyline newpath 199 294 moveto 439 294 lineto stroke newpath 431.000 292.000 moveto 439.000 294.000 lineto 431.000 296.000 lineto stroke % Polyline newpath 440 266 moveto 199 266 lineto stroke newpath 207.000 268.000 moveto 199.000 266.000 lineto 207.000 264.000 lineto stroke % Polyline newpath 199 240 moveto 440 240 lineto stroke newpath 432.000 238.000 moveto 440.000 240.000 lineto 432.000 242.000 lineto stroke % Polyline newpath 452 139 moveto 508 139 lineto 508 187 lineto 452 187 lineto closepath stroke % Polyline newpath 132 139 moveto 188 139 lineto 188 187 lineto 132 187 lineto closepath stroke % Polyline newpath 435 638 moveto 195 638 lineto stroke newpath 203.000 640.000 moveto 195.000 638.000 lineto 203.000 636.000 lineto stroke % Polyline newpath 437 576 moveto 197 576 lineto stroke newpath 205.000 578.000 moveto 197.000 576.000 lineto 205.000 574.000 lineto stroke % Polyline newpath 197 605 moveto 437 605 lineto stroke newpath 429.000 603.000 moveto 437.000 605.000 lineto 429.000 607.000 lineto stroke % Polyline newpath 197 543 moveto 437 543 lineto stroke newpath 429.000 541.000 moveto 437.000 543.000 lineto 429.000 545.000 lineto stroke % Polyline newpath 197 512 moveto 437 512 lineto stroke newpath 429.000 510.000 moveto 437.000 512.000 lineto 429.000 514.000 lineto stroke % Polyline newpath 438 489 moveto 198 489 lineto stroke newpath 206.000 491.000 moveto 198.000 489.000 lineto 206.000 487.000 lineto stroke /Courier findfont 12.222222 scalefont setfont 128 342 moveto 1 -1 scale (Exchange) show 1 -1 scale 460 373 moveto 1 -1 scale (Exchange) show 1 -1 scale 468 257 moveto 1 -1 scale (Init) show 1 -1 scale 222 258 moveto 1 -1 scale (Hello\(DR=RT2,seen=...,RT1\)) show 1 -1 scale 248 232 moveto 1 -1 scale (Hello\(DR=0,seen=0\)) show 1 -1 scale 162 720 moveto 1 -1 scale (Figure 14: An adjacency bring-up example) show 1 -1 scale 131 284 moveto 1 -1 scale (Exstart) show 1 -1 scale 464 313 moveto 1 -1 scale (Exstart) show 1 -1 scale 467 226 moveto 1 -1 scale (Down) show 1 -1 scale 137 228 moveto 1 -1 scale (Down) show 1 -1 scale 227 404 moveto 1 -1 scale (D-D \(Seq=y+1, M, Slave\)) show 1 -1 scale 226 373 moveto 1 -1 scale (D-D \(Seq=y+1, M, Master\)) show 1 -1 scale 226 342 moveto 1 -1 scale (D-D \(Seq=y, M, Slave\)) show 1 -1 scale 225 312 moveto 1 -1 scale (D-D \(Seq=y, I, M, Master\)) show 1 -1 scale 224 285 moveto 1 -1 scale (D-D \(Seq=x, I, M, Master\)) show 1 -1 scale 316 462 moveto 1 -1 scale (.) show 1 -1 scale 316 450 moveto 1 -1 scale (.) show 1 -1 scale 316 436 moveto 1 -1 scale (.) show 1 -1 scale 469 166 moveto 1 -1 scale (RT2) show 1 -1 scale 147 165 moveto 1 -1 scale (RT1) show 1 -1 scale 136 657 moveto 1 -1 scale (Full) show 1 -1 scale 471 529 moveto 1 -1 scale (Full) show 1 -1 scale 128 513 moveto 1 -1 scale (Loading) show 1 -1 scale 272 627 moveto 1 -1 scale (LS Update) show 1 -1 scale 272 564 moveto 1 -1 scale (LS Update) show 1 -1 scale 272 596 moveto 1 -1 scale (LS Request) show 1 -1 scale 274 533 moveto 1 -1 scale (LS Request) show 1 -1 scale 229 504 moveto 1 -1 scale (D-D \(Seq=y+n, Slave\)) show 1 -1 scale 229 480 moveto 1 -1 scale (D-D \(Seq=y+n, Master\)) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1710([Page)m 11(54])m @eop 55 @bop0 55 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p 82 c -2(T1)m 10(begins)m 10(by)m 11(asserting)m 10(itself)m 11(as)m 10(the)m 10(master)m -1 r 46 c 13(When)m 10(it)m 11(sees)m 10(that)m 11 r 82 c -2(T2)m 10(is)m 10(indeed)m 10(the)m 11(master)m 10(\(because)m 11(of)m 10 r 82 c -1(T2')m -3 r 115 c 10(higher)m 0 245 p (Router)s 10(ID\),)m 11 r 82 c -2(T1)m 10(transitions)m 10(to)m 11(slave)m 10(state)m 10(and)m 11(adopts)m 10(its)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(DD)m 11(sequence)m 10(number)m -1 r 46 c 13(Database)m 10(Description)m 0 295 p (packets)s 10(are)m 11(then)m 10(exchanged,)m 11(with)m 10(polls)m 10(coming)m 11(from)m 10(the)m 11(master)m 10(\(R)m -1(T2\))m 9(and)m 10(responses)m 11(from)m 10(the)m 11(slave)m 10(\(R)m -1(T1\).)m 13(This)m 0 345 p (sequence)s 10(of)m 11(Database)m 10(Description)m 11(Packets)m 10(ends)m 10(when)m 11(both)m 10(the)m 11(poll)m 10(and)m 11(associated)m 10(response)m 10(has)m 11(the)m 10(M-bit)m 11(of)m (f.)s 0 412 p (In)s 10(this)m 10(example,)m 11(it)m 10(is)m 10(assumed)m 10(that)m 10 r 82 c -1(T2)m 9(has)m 10 r 97 c 11(completely)m 10(up)m 10(to)m 10(date)m 10(database.)m 14(In)m 10(that)m 11(case,)m 10 r 82 c -2(T2)m 10(goes)m 10(immediately)m 10(into)m t-bol.300 @sf 0 462 p (Full)s t-rom.300 @sf 10(state.)m 14 r 82 c -1(T1)m 9(will)m 10(go)m 11(into)m t-bol.300 @sf 10(Full)m t-rom.300 @sf 10(state)m 10(after)m 11(updating)m 10(the)m 10(necessary)m 11(parts)m 10(of)m 10(its)m 11(database.)m 13(This)m 11(is)m 10(done)m 10(by)m 11(sending)m 10(Link)m 0 512 p (State)s 10(Request)m 11(Packets,)m 10(and)m 11(receiving)m 10(Link)m 10(State)m 11(Update)m 10(Packets)m 11(in)m 10(response.)m 14(Note)m 10(that,)m 11(while)m 10 r 82 c -1(T1)m 9(has)m 11(waited)m 10(until)m 10 r 97 c 0 562 p (complete)s 10(set)m 11(of)m 10(Database)m 11(Description)m 10(Packets)m 10(has)m 11(been)m 10(received)m 11(\(from)m 10 r 82 c -1(T2\))m 9(before)m 10(sending)m 11(any)m 10(Link)m 11(State)m 10(Request)m 0 611 p (Packets,)s 10(this)m 11(need)m 10(not)m 11(be)m 10(the)m 10(case.)m 14 r 82 c -1(T1)m 9(could)m 11(have)m 10(interleaved)m 11(the)m 10(sending)m 10(of)m 11(Link)m 10(State)m 11(Request)m 10(Packets)m 10(with)m 11(the)m 0 661 p (reception)s 10(of)m 11(Database)m 10(Description)m 11(Packets.)m t-bol.420 @sf 0 819 p 49 c -2 r 49 c 57(The)m 15(Routing)m 14 r 84 c -4(able)m 14(Structur)m -1 r 101 c t-rom.300 @sf 0 930 p (The)s 10(routing)m 11(table)m 10(data)m 11(structure)m 10(contains)m 10(all)m 11(the)m 10(information)m 11(necessary)m 10(to)m 11(forward)m 10(an)m 10(IP)m 11(data)m 10(packet)m 11(toward)m 10(its)m 0 980 p (destination.)s 14(Each)m 10(routing)m 11(table)m 10(entry)m 11(describes)m 10(the)m 10(collection)m 11(of)m 10(best)m 11(paths)m 10(to)m 10 r 97 c 11(particular)m 10(destination.)m 14(When)m 0 1029 p (forwarding)s 10(an)m 11(IP)m 10(data)m 11(packet,)m 10(the)m 10(routing)m 11(table)m 10(entry)m 11(providing)m 10(the)m 11(best)m 10(match)m 10(for)m 11(the)m 10(packet')m -1 r 115 c 9(IP)m 11(destination)m 10(is)m 0 1079 p (located.)s 14(The)m 10(matching)m 11(routing)m 10(table)m 11(entry)m 10(then)m 10(provides)m 11(the)m 10(next)m 11(hop)m 10(towards)m 10(the)m 11(packet')m -1 r 115 c 9(destination.)m 14(OSPF)m 10(also)m 0 1129 p (provides)s 10(for)m 11(the)m 10(existence)m 11(of)m 10 r 97 c 10(default)m 11(route)m 10(\(Destination)m 11(ID)m 10 r 61 c 11(DefaultDestination,)m 10(Address)m 10(Mask)m cmr10.300 @sf 11 r 61 c c-med.300 @sf 10(0x00000000)m t-rom.300 @sf (\).)s 0 1179 p (When)s 10(the)m 11(default)m 10(route)m 11(exists,)m 10(it)m 10(matches)m 11(all)m 10(IP)m 11(destinations)m 10(\(although)m 11(any)m 10(other)m 10(matching)m 11(entry)m 10(is)m 11 r 97 c 10(better)m 10(match\).)m 0 1229 p (Finding)s 10(the)m 11(routing)m 10(table)m 11(entry)m 10(that)m 10(best)m 11(matches)m 10(an)m 11(IP)m 10(destination)m 11(is)m 10(further)m 10(described)m 11(in)m 10(Section)m 11 r 49 c -1(1.1.)m 0 1296 p (There)s 10(is)m 11 r 97 c 10(single)m 11(routing)m 10(table)m 10(in)m 11(each)m 10(router)m -1 r 46 c 13 r 84 c -2(wo)m 9(sample)m 11(routing)m 10(tables)m 11(are)m 10(described)m 11(in)m 10(Sections)m 10 r 49 c (1.2)s 9(and)m 11 r 49 c -1(1.3.)m 13(The)m 0 1346 p (building)s 10(of)m 11(the)m 10(routing)m 11(table)m 10(is)m 10(discussed)m 11(in)m 10(Section)m 11(16.)m 0 1414 p (The)s 10(rest)m 11(of)m 10(this)m 11(section)m 10(de\014nes)m 10(the)m 11(\014elds)m 10(found)m 11(in)m 10 r 97 c 11(routing)m 10(table)m 10(entry)m -1 r 46 c 13(The)m 10(\014rst)m 10(set)m 11(of)m 10(\014elds)m 11(describes)m 10(the)m 11(routing)m 0 1464 p (table)s 10(entry')m -1 r 115 c 10(destination.)m t-bol.300 @sf 0 1573 p (Destination)s 10 r 84 c -2(ype)m t-rom.300 @sf 20(The)m 11(destination)m 10(can)m 10(be)m 11(one)m 10(of)m 11(three)m 10(types.)m 14(Only)m 10(the)m 11(\014rst)m 10(type,)m 11(Network,)m 10(is)m 10(actually)m 11(used)m 10(when)m 104 1623 p (forwarding)s 10(IP)m 10(data)m 10(traf)m (\014c.)s 13(The)m 9(other)m 10(destinations)m 10(are)m 10(used)m 10(solely)m 10(as)m 10(intermediate)m 10(steps)m 10(in)m 10(the)m 10(routing)m 10(table)m 9(build)m 104 1672 p (process.)s t-bol.300 @sf 104 1756 p (Network)s t-rom.300 @sf 21 r 65 c 10(range)m 10(of)m 10(IP)m 10(addresses,)m 10(to)m 10(which)m 11(IP)m 10(data)m 10(traf)m (\014c)s 9(may)m 10(be)m 11(forwarded.)m 13(This)m 11(includes)m 10(IP)m 10(networks)m 10(\(class)m 195 1805 p (A,)s 11(B,)m 10(or)m 10(C\),)m 11(IP)m 10(subnets,)m 11(IP)m 10(supernets)m 10(and)m 11(single)m 10(IP)m 11(hosts.)m 14(The)m 10(default)m 10(route)m 11(also)m 10(falls)m 11(in)m 10(this)m 10(category)m -1 r 46 c t-bol.300 @sf 104 1872 p (Ar)s (ea)s 9(border)m 11 r 114 c (outer)s t-rom.300 @sf 20(Routers)m 10(that)m 11(are)m 10(connected)m 11(to)m 10(multiple)m 10(OSPF)m 11(areas.)m 14(Such)m 10(routers)m 10(originate)m 11(summary)m 10(link)m 195 1922 p (advertisements.)s 14(These)m 10(routing)m 11(table)m 10(entries)m 11(are)m 10(used)m 10(when)m 11(calculating)m 10(the)m 11(inter)m (-area)s 9(routes)m 11(\(see)m 195 1971 p (Section)s 11(16.2\).)m 13(These)m 11(routing)m 10(table)m 11(entries)m 10(may)m 10(also)m 11(be)m 10(associated)m 11(with)m 10(con\014gured)m 11(virtual)m 10(links.)m t-bol.300 @sf 104 2038 p (AS)s 10(boundary)m 11 r 114 c (outer)s t-rom.300 @sf 20(Routers)m 10(that)m 10(originate)m 11(AS)m 10(external)m 11(link)m 10(advertisements.)m 14(These)m 10(routing)m 11(table)m 10(entries)m 11(are)m 195 2088 p (used)s 11(when)m 10(calculating)m 10(the)m 11(AS)m 10(external)m 11(routes)m 10(\(see)m 10(Section)m 11(16.4\).)m t-bol.300 @sf 0 2171 p (Destination)s 10(ID)m t-rom.300 @sf 21(The)m 11(destination')m -2 r 115 c 10(identi\014er)m 10(or)m 11(name.)m 13(This)m 11(depends)m 10(on)m 11(the)m 10(Destination)m 11 r 84 c -2(ype.)m 12(For)m 11(networks,)m 10(the)m 104 2220 p (identi\014er)s 10(is)m 11(their)m 10(associated)m 10(IP)m 11(address.)m 14(For)m 10(all)m 11(other)m 10(types,)m 10(the)m 11(identi\014er)m 10(is)m 11(the)m 10(OSPF)m 10(Router)m 11(ID.)m t-rom.210 @sf 1714 2205 p 57 c t-bol.300 @sf 0 2303 p (Addr)s (ess)s 10(Mask)m t-rom.300 @sf 20(Only)m 11(de\014ned)m 10(for)m 11(networks.)m 14(The)m 10(network')m -1 r 115 c 9(IP)m 11(address)m 10(together)m 10(with)m 11(its)m 10(address)m 11(mask)m 10(de\014nes)m 10 r 97 c 11(range)m 104 2353 p (of)s 10(IP)m 10(addresses.)m 14(For)m 10(IP)m 10(subnets,)m 10(the)m 10(address)m 10(mask)m 10(is)m 10(referred)m 10(to)m 10(as)m 11(the)m 10(subnet)m 10(mask.)m 13(For)m 11(host)m 10(routes,)m 10(the)m 10(mask)m 10(is)m 104 2403 p (\\all)s 10(ones")m 11 r 40 c c-med.300 @sf (0xffffffff)s t-rom.300 @sf (\).)s 0 2437 p 780 2 ru t-rom.180 @sf 45 2465 p 57 c t-rom.240 @sf 60 2476 p (The)s 8(address)m 8(space)m 8(of)m 8(IP)m 8(networks)m 7(and)m 8(the)m 8(address)m 8(space)m 8(of)m 8(OSPF)m 8(Router)m 8(IDs)m 8(may)m 8(overlap.)m 11(That)m 8(is,)m 8 r 97 c 8(network)m 7(may)m 8(have)m 8(an)m 8(IP)m 8(address)m 8(which)m 8(is)m 0 2516 p (identical)s 8(\(when)m 9(considered)m 8(as)m 8 r 97 c 9(32-bit)m 8(number\))m 8(to)m 9(some)m 8(router)m 1 r 39 c -1 r 115 c 8(Router)m 8(ID.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(55])m @eop 56 @bop0 56 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (Optional)s 10(Capabilities)m t-rom.300 @sf 21(When)m 11(the)m 10(destination)m 10(is)m 11 r 97 c 10(router)m 11(\(either)m 10(an)m 11(area)m 10(border)m 10(router)m 11(or)m 10(an)m 11(AS)m 10(boundary)m 10(router\))m 11(this)m 104 245 p (\014eld)s 10(indicates)m 10(the)m 10(optional)m 10(OSPF)m 11(capabilities)m 10(supported)m 10(by)m 10(the)m 10(destination)m 11(router)m -2 r 46 c 13(The)m 10(two)m 10(optional)m 11(capabilities)m 104 295 p (currently)s 10(de\014ned)m 11(by)m 10(this)m 10(speci\014cation)m 11(are)m 10(the)m 11(ability)m 10(to)m 11(route)m 10(based)m 10(on)m 11(IP)m 10 r 84 c (OS)s 10(and)m 10(the)m 11(ability)m 10(to)m 11(process)m 10(AS)m 104 345 p (external)s 10(link)m 11(advertisements.)m 13(For)m 11 r 97 c 10(further)m 11(discussion)m 10(of)m 11(OSPF')m -2 r 115 c 10(optional)m 10(capabilities,)m 11(see)m 10(Section)m 10(4.5.)m 0 454 p (The)s 10(set)m 11(of)m 10(paths)m 11(to)m 10(use)m 10(for)m 11 r 97 c 10(destination)m 11(may)m 10(vary)m 11(based)m 10(on)m 10(IP)m 11 r 84 c -2(ype)m 9(of)m 11(Service)m 10(and)m 11(the)m 10(OSPF)m 10(area)m 11(to)m 10(which)m 11(the)m 10(paths)m 0 504 p (belong.)s 14(This)m 10(means)m 10(that)m 10(there)m 10(may)m 11(be)m 10(multiple)m 10(routing)m 10(table)m 10(entries)m 10(for)m 10(the)m 11(same)m 10(destination,)m 10(depending)m 10(on)m 10(the)m 10(values)m 0 553 p (of)s 10(the)m 11(next)m 10(two)m 11(\014elds.)m t-bol.300 @sf 0 654 p 84 c -2(ype)m 9(of)m 11(Service)m t-rom.300 @sf 21(There)m 10(can)m 10(be)m 11 r 97 c 10(separate)m 11(set)m 10(of)m 10(routes)m 11(for)m 10(each)m 11(IP)m 10 r 84 c -2(ype)m 10(of)m 10(Service.)m 14(The)m 10(encoding)m 11(of)m 10 r 84 c (OS)s 10(in)m 10(OSPF)m 104 704 p (link)s 10(state)m 11(advertisements)m 10(is)m 10(described)m 11(in)m 10(Section)m 11(12.3.)m t-bol.300 @sf 0 787 p (Ar)s (ea)s t-rom.300 @sf 20(This)m 10(\014eld)m 10(indicates)m 10(the)m 10(area)m 10(whose)m 10(link)m 10(state)m 10(information)m 10(has)m 9(led)m 10(to)m 10(the)m 10(routing)m 10(table)m 10(entry')m -1 r 115 c 9(collection)m 10(of)m 10(paths.)m 104 837 p (This)s 10(is)m 11(called)m 10(the)m 10(entry')m -1 r 115 c 10(associated)m 10(area.)m 14(For)m 10(sets)m 11(of)m 10(AS)m 11(external)m 10(paths,)m 10(this)m 11(\014eld)m 10(is)m 11(not)m 10(de\014ned.)m 14(For)m 104 887 p (destinations)s 10(of)m 11(type)m 10(\\area)m 10(border)m 11(router)m 1(",)m 11(there)m 10(may)m 11(be)m 10(separate)m 10(sets)m 11(of)m 10(paths)m 11(\(and)m 10(therefore)m 11(separate)m 10(routing)m 104 937 p (table)s 10(entries\))m 11(associated)m 10(with)m 10(each)m 11(of)m 10(several)m 11(areas.)m 14(This)m 10(will)m 10(happen)m 11(when)m 10(two)m 11(area)m 10(border)m 10(routers)m 11(share)m 104 986 p (multiple)s 10(areas)m 11(in)m 10(common.)m 14(For)m 10(all)m 11(other)m 10(destination)m 11(types,)m 10(only)m 10(the)m 11(set)m 10(of)m 11(paths)m 10(associated)m 10(with)m 11(the)m 10(best)m 11(area)m 104 1036 p (\(the)s 10(one)m 11(providing)m 10(the)m 10(shortest)m 11(route\))m 10(is)m 11(kept.)m 0 1137 p (The)s 10(rest)m 11(of)m 10(the)m 11(routing)m 10(table)m 10(entry)m 11(describes)m 10(the)m 11(set)m 10(of)m 11(paths)m 10(to)m 10(the)m 11(destination.)m 14(The)m 10(following)m 11(\014elds)m 10(pertain)m 10(to)m 11(the)m 10(set)m 0 1187 p (of)s 10(paths)m 11(as)m 10 r 97 c 11(whole.)m 14(In)m 10(other)m 10(words,)m 11(each)m 10(one)m 11(of)m 10(the)m 10(paths)m 11(contained)m 10(in)m 11 r 97 c 10(routing)m 11(table)m 10(entry)m 10(is)m 11(of)m 10(the)m 11(same)m 10(path-type)m 0 1237 p (and)s 10(cost)m 11(\(see)m 10(below\).)m t-bol.300 @sf 0 1338 p (Path-type)s t-rom.300 @sf 21(There)m 10(are)m 11(four)m 10(possible)m 10(types)m 11(of)m 10(paths)m 11(used)m 10(to)m 11(route)m 10(traf)m (\014c)s 10(to)m 10(the)m 10(destination,)m 11(listed)m 10(here)m 11(in)m 10(order)m 11(of)m 104 1387 p (preference:)s 14(intra-area,)m 10(inter)m (-area,)s 10(type)m 10 r 49 c 10(external)m 11(or)m 10(type)m 11 r 50 c 10(external.)m 14(Intra-area)m 10(paths)m 11(indicate)m 10(destinations)m 104 1437 p (belonging)s 10(to)m 11(one)m 10(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(attached)m 10(areas.)m 14(Inter)m (-area)s 9(paths)m 11(are)m 10(paths)m 11(to)m 10(destinations)m 10(in)m 11(other)m 10(OSPF)m 11(areas.)m 104 1487 p (These)s 10(are)m 10(discovered)m 10(through)m 11(the)m 10(examination)m 10(of)m 10(received)m 10(summary)m 11(link)m 10(advertisements.)m 14(AS)m 10(external)m 10(paths)m 10(are)m 104 1537 p (paths)s 10(to)m 11(destinations)m 10(external)m 10(to)m 11(the)m 10(AS.)m 11(These)m 10(are)m 11(detected)m 10(through)m 10(the)m 11(examination)m 10(of)m 11(received)m 10(AS)m 10(external)m 104 1587 p (link)s 10(advertisements.)m t-bol.300 @sf 0 1670 p (Cost)s t-rom.300 @sf 21(The)m 10(link)m 11(state)m 10(cost)m 10(of)m 11(the)m 10(path)m 11(to)m 10(the)m 11(destination.)m 13(For)m 11(all)m 10(paths)m 11(except)m 10(type)m 10 r 50 c 11(external)m 10(paths)m 11(this)m 10(describes)m 11(the)m 104 1719 p (entire)s 10(path')m -1 r 115 c 9(cost.)m 14(For)m 11 r 84 c -2(ype)m 9 r 50 c 11(external)m 10(paths,)m 10(this)m 11(\014eld)m 10(describes)m 11(the)m 10(cost)m 10(of)m 11(the)m 10(portion)m 11(of)m 10(the)m 11(path)m 10(internal)m 10(to)m 104 1769 p (the)s 10(AS.)m 11(This)m 10(cost)m 10(is)m 11(calculated)m 10(as)m 11(the)m 10(sum)m 11(of)m 10(the)m 10(costs)m 11(of)m 10(the)m 11(path')m -2 r 115 c 10(constituent)m 10(links.)m t-bol.300 @sf 0 1852 p 84 c -2(ype)m 9 r 50 c 11(cost)m t-rom.300 @sf 21(Only)m 10(valid)m 10(for)m 11(type)m 10 r 50 c 11(external)m 10(paths.)m 14(For)m 10(these)m 11(paths,)m 10(this)m 11(\014eld)m 10(indicates)m 10(the)m 11(cost)m 10(of)m 11(the)m 10(path')m -1 r 115 c 9(external)m 104 1902 p (portion.)s 14(This)m 10(cost)m 10(has)m 11(been)m 10(advertised)m 11(by)m 10(an)m 11(AS)m 10(boundary)m 10(router)m 44 c 9(and)m 11(is)m 10(the)m 10(most)m 11(signi\014cant)m 10(part)m 11(of)m 10(the)m 10(total)m 104 1952 p (path)s 10(cost.)m 14(For)m 10(example,)m 11 r 97 c 10(type)m 11 r 50 c 10(external)m 11(path)m 10(with)m 10(type)m 11 r 50 c 10(cost)m 11(of)m 10 r 53 c 10(is)m 11(always)m 10(preferred)m 11(over)m 10 r 97 c 11(path)m 10(with)m 10(type)m 11 r 50 c 104 2002 p (cost)s 10(of)m 11(10,)m 10(regardless)m 10(of)m 11(the)m 10(cost)m 11(of)m 10(the)m 11(two)m 10(paths')m 10(internal)m 11(components.)m t-bol.300 @sf 0 2085 p (Link)s 10(State)m 11(Origin)m t-rom.300 @sf 21 r 86 c -4(alid)m 9(only)m 11(for)m 10(intra-area)m 11(paths,)m 10(this)m 10(\014eld)m 11(indicates)m 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(\(router)m 10(links)m 11(or)m 104 2135 p (network)s 10(links\))m 11(that)m 10(directly)m 10(references)m 11(the)m 10(destination.)m 14(For)m 11(example,)m 10(if)m 10(the)m 11(destination)m 10(is)m 11 r 97 c 10(transit)m 10(network,)m 11(this)m 104 2184 p (is)s 10(the)m 11(transit)m 10(network')m -1 r 115 c 9(network)m 11(links)m 10(advertisement.)m 14(If)m 10(the)m 11(destination)m 10(is)m 11 r 97 c 10(stub)m 10(network,)m 11(this)m 10(is)m 11(the)m 10(router)m 10(links)m 104 2234 p (advertisement)s 10(for)m 11(the)m 10(attached)m 10(router)m -1 r 46 c 13(The)m 10(advertisement)m 11(is)m 10(discovered)m 11(during)m 10(the)m 11(shortest-path)m 10(tree)m 10(calculation)m 104 2284 p (\(see)s 10(Section)m 11(16.1\).)m 13(Multiple)m 11(advertisements)m 10(may)m 11(reference)m 10(the)m 11(destination,)m 10(however)m 10 r 97 c 11(tie-breaking)m 10(scheme)m 104 2334 p (always)s 10(reduces)m 11(the)m 10(choice)m 10(to)m 11 r 97 c 10(single)m 11(advertisement.)m 14(The)m 10(Link)m 10(State)m 11(Origin)m 10(\014eld)m 11(is)m 10(not)m 10(used)m 11(by)m 10(the)m 11(OSPF)m 104 2384 p (protocol,)s 10(but)m 11(it)m 10(is)m 10(used)m 11(by)m 10(the)m 11(routing)m 10(table)m 11(calculation)m 10(in)m 10(OSPF')m -1 r 115 c 9(Multicast)m 11(routing)m 10(extensions)m 11(\(MOSPF\).)m 0 2484 p (When)s 10(multiple)m 11(paths)m 10(of)m 11(equal)m 10(path-type)m 10(and)m 11(cost)m 10(exist)m 11(to)m 10 r 97 c 11(destination)m 10(\(called)m 10(elsewhere)m 11(\\equal-cost")m 10(paths\),)m 11(they)m 10(are)m 0 2534 p (stored)s 10(in)m 11 r 97 c 10(single)m 11(routing)m 10(table)m 10(entry)m -1 r 46 c 13(Each)m 10(one)m 11(of)m 10(the)m 10(\\equal-cost")m 11(paths)m 10(is)m 11(distinguished)m 10(by)m 10(the)m 11(following)m 10(\014elds:)m 0 2723 p (Moy)s 1710([Page)m 11(56])m @eop 57 @bop0 57 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (Next)s 10(hop)m t-rom.300 @sf 21(The)m 11(outgoing)m 10(router)m 10(interface)m 11(to)m 10(use)m 11(when)m 10(forwarding)m 10(traf)m (\014c)s 10(to)m 10(the)m 11(destination.)m 14(On)m 10(multi-access)m 11(networks,)m 104 245 p (the)s 10(next)m 11(hop)m 10(also)m 10(includes)m 11(the)m 10(IP)m 11(address)m 10(of)m 11(the)m 10(next)m 10(router)m 11(\(if)m 10(any\))m 11(in)m 10(the)m 10(path)m 11(towards)m 10(the)m 11(destination.)m 14(This)m 104 295 p (next)s 10(router)m 11(will)m 10(always)m 10(be)m 11(one)m 10(of)m 11(the)m 10(adjacent)m 11(neighbors.)m t-bol.300 @sf 0 378 p (Advertising)s 10 r 114 c (outer)s t-rom.300 @sf 20 r 86 c -3(alid)m 9(only)m 11(for)m 10(inter)m (-area)s 10(and)m 10(AS)m 10(external)m 11(paths.)m 14(This)m 10(\014eld)m 11(indicates)m 10(the)m 10(Router)m 11(ID)m 10(of)m 11(the)m 10(router)m 104 428 p (advertising)s 10(the)m 11(summary)m 10(link)m 10(or)m 11(AS)m 10(external)m 11(link)m 10(that)m 11(led)m 10(to)m 10(this)m 11(path.)m t-bol.360 @sf 0 564 p 49 c -2(1.1)m 49(Routing)m 13(table)m 12(lookup)m t-rom.300 @sf 0 660 p (When)s 10(an)m 11(IP)m 10(data)m 11(packet)m 10(is)m 10(received,)m 11(an)m 10(OSPF)m 11(router)m 10(\014nds)m 11(the)m 10(routing)m 10(table)m 11(entry)m 10(that)m 11(best)m 10(matches)m 10(the)m 11(packet')m -1 r 115 c 0 710 p (destination.)s 14(This)m 10(routing)m 10(table)m 10(entry)m 10(then)m 10(provides)m 10(the)m 10(outgoing)m 10(interface)m 11(and)m 10(next)m 10(hop)m 10(router)m 10(to)m 10(use)m 10(in)m 10(forwarding)m 10(the)m 0 760 p (packet.)s 14(This)m 10(section)m 11(describes)m 10(the)m 11(process)m 10(of)m 10(\014nding)m 11(the)m 10(best)m 11(matching)m 10(routing)m 10(table)m 11(entry)m -2 r 46 c 13(The)m 10(process)m 11(consists)m 10(of)m 11 r 97 c 0 809 p (number)s 10(of)m 11(steps,)m 10(wherein)m 11(the)m 10(collection)m 10(of)m 11(routing)m 10(table)m 11(entries)m 10(is)m 11(progressively)m 10(pruned.)m 14(In)m 10(the)m 11(end,)m 10(the)m 11(single)m 10(routing)m 0 859 p (table)s 10(entry)m 11(remaining)m 10(is)m 11(the)m 10(called)m 10(best)m 11(match.)m 0 927 p (Note)s 10(that)m 11(the)m 10(steps)m 11(described)m 10(below)m 10(may)m 11(fail)m 10(to)m 11(produce)m 10 r 97 c 11(best)m 10(match)m 10(routing)m 11(table)m 10(entry)m 11(\(i.e.,)m 10(all)m 10(existing)m 11(routing)m 0 977 p (table)s 10(entries)m 11(are)m 10(pruned)m 11(for)m 10(some)m 10(reason)m 11(or)m 10(another\).)m 14(In)m 11(this)m 10(case,)m 10(the)m 11(packet')m -1 r 115 c 9(IP)m 10(destination)m 11(is)m 10(considered)m 0 1026 p (unreachable.)s 14(Instead)m 10(of)m 11(being)m 10(forwarded,)m 11(the)m 10(packet)m 10(should)m 11(be)m 10(dropped)m 11(and)m 10(an)m 10(ICMP)m 11(destination)m 10(unreachable)m 0 1076 p (message)s 10(should)m 11(be)m 10(returned)m 11(to)m 10(the)m 10(packet')m -1 r 115 c 10(source.)m 52 1185 p (1.)s 21(Select)m 10(the)m 10(complete)m 11(set)m 10(of)m 11(\\matching")m 10(routing)m 10(table)m 11(entries)m 10(from)m 11(the)m 10(routing)m 11(table.)m 13(Each)m 11(routing)m 10(table)m 11(entry)m 104 1235 p (describes)s 10 r 97 c 11(\(set)m 10(of\))m 10(path\(s\))m 11(to)m 10 r 97 c 11(range)m 10(of)m 11(IP)m 10(addresses.)m 14(If)m 10(the)m 11(data)m 10(packet')m -1 r 115 c 9(IP)m 11(destination)m 10(falls)m 10(into)m 11(an)m 10(entry')m -1 r 115 c 104 1285 p (range)s 10(of)m 11(IP)m 10(addresses,)m 10(the)m 11(routing)m 10(table)m 11(entry)m 10(is)m 11(called)m 10 r 97 c 10(match.)m 14(\(It)m 11(is)m 10(quite)m 10(likely)m 11(that)m 10(multiple)m 11(entries)m 10(will)m 104 1335 p (match)s 10(the)m 11(data)m 10(packet.)m 14(For)m 10(example,)m 11 r 97 c 10(default)m 11(route)m 10(will)m 10(match)m 11(all)m 10(packets.\))m 52 1418 p (2.)s 21(Suppose)m 10(that)m 10(the)m 11(packet')m -2 r 115 c 10(IP)m 10(destination)m 11(falls)m 10(into)m 11(one)m 10(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(con\014gured)m t-bol.300 @sf 11(ar)m (ea)s 10(addr)m (ess)s 9(ranges)m t-rom.300 @sf 11(\(see)m 104 1468 p (Section)s 10(3.5\),)m 11(and)m 10(that)m 10(the)m 11(particular)m t-bol.300 @sf 10(ar)m (ea)s 10(addr)m (ess)s 10(range)m t-rom.300 @sf 10(is)m 10(active.)m 14(This)m 11(means)m 10(that)m 11(there)m 10(are)m 10(one)m 11(or)m 10(more)m 104 1518 p (reachable)s 10(\(by)m 11(intra-area)m 10(paths\))m 10(networks)m 11(contained)m 10(in)m 11(the)m 10(area)m 11(address)m 10(range.)m 14(The)m 10(packet')m -1 r 115 c 9(IP)m 11(destination)m 10(is)m 104 1567 p (then)s 10(required)m 11(to)m 10(belong)m 10(to)m 11(one)m 10(of)m 11(these)m 10(constituent)m 11(networks.)m 13(For)m 11(this)m 10(reason,)m 11(only)m 10(matching)m 10(routing)m 11(table)m 104 1617 p (entries)s 10(with)m t-bol.300 @sf 11(path-type)m t-rom.300 @sf 10(of)m 10(intra-area)m 11(are)m 10(considered)m 11(\(all)m 10(others)m 11(are)m 10(pruned\).)m 14(If)m 10(no)m 11(such)m 10(matching)m 10(entries)m 11(exist,)m 104 1667 p (the)s 10(destination)m 11(is)m 10(unreachable)m 10(\(see)m 11(above\).)m 14(Otherwise,)m 10(skip)m 11(to)m 10(step)m 10(4.)m 52 1750 p (3.)s 21(Reduce)m 10(the)m 10(set)m 11(of)m 10(matching)m 11(entries)m 10(to)m 10(those)m 11(having)m 10(the)m 11(most)m 10(preferential)m t-bol.300 @sf 11(path-type)m t-rom.300 @sf 10(\(see)m 10(Section)m 11 r 49 c -1(1\).)m 13(OSPF)m 11(has)m 104 1800 p 97 c 10(four)m 11(level)m 10(hierarchy)m 10(of)m 11(paths.)m 14(Intra-area)m 10(paths)m 11(are)m 10(the)m 10(most)m 11(preferred,)m 10(followed)m 11(in)m 10(order)m 10(by)m 11(inter)m (-area,)s 9(type)m 11 r 49 c 104 1850 p (external)s 10(and)m 11(type)m 10 r 50 c 10(external)m 11(paths.)m 52 1933 p (4.)s 21(Select)m 9(the)m 10(remaining)m 10(routing)m 10(table)m 10(entry)m 10(that)m 10(provides)m 10(the)m 10(longest)m 10(\(most)m 10(speci\014c\))m 9(match.)m 14(Another)m 10(way)m 10(of)m 10(saying)m 104 1982 p (this)s 10(is)m 11(to)m 10(choose)m 10(the)m 11(remaining)m 10(entry)m 11(that)m 10(speci\014es)m 11(the)m 10(narrowest)m 10(range)m 11(of)m 10(IP)m 11(addresses.)m t-rom.210 @sf 1561 1967 p (10)s t-rom.300 @sf 1606 1982 p (For)s 10(example,)m 11(the)m 104 2032 p (entry)s 10(for)m 11(the)m 10(address/mask)m 10(pair)m 11(of)m 10 r 40 c c-med.300 @sf (128.185.1.0,)s 25(0xffffff00)m t-rom.300 @sf 41 c 11(is)m 10(more)m 11(speci\014c)m 10(than)m 10(an)m 11(entry)m 10(for)m 11(the)m 104 2082 p (pair)s 10 r 40 c c-med.300 @sf (128.185.0.0,)s 25(0xffff0000)m t-rom.300 @sf (\).)s 14(The)m 10(default)m 11(route)m 10(is)m 11(the)m 10(least)m 11(speci\014c)m 10(match,)m 10(since)m 11(it)m 10(matches)m 11(all)m 104 2132 p (destinations.)s 52 2215 p (5.)s 21(At)m 10(this)m 10(point,)m 11(there)m 10(may)m 11(still)m 10(be)m 10(multiple)m 11(routing)m 10(table)m 11(entries)m 10(remaining.)m 14(Each)m 10(routing)m 11(entry)m 10(will)m 11(specify)m 10(the)m 104 2265 p (same)s 10(range)m 11(of)m 10(IP)m 10(addresses,)m 11(but)m 10 r 97 c 11(dif)m (ferent)s 9(IP)m 11 r 84 c -2(ype)m 9(of)m 11(Service.)m 14(Select)m 10(the)m 10(routing)m 11(table)m 10(entry)m 11(whose)m 10 r 84 c (OS)s 10(value)m 104 2315 p (matches)s 10(the)m 11 r 84 c (OS)s 9(found)m 11(in)m 10(the)m 11(packet)m 10(header)m -1 r 46 c 13(If)m 10(there)m 10(is)m 11(no)m 10(routing)m 11(table)m 10(entry)m 10(for)m 11(this)m 10 r 84 c (OS,)s 10(select)m 10(the)m 11(routing)m 104 2364 p (table)s 10(entry)m 11(for)m 10 r 84 c (OS)s 10(0.)m 14(In)m 10(other)m 10(words,)m 11(packets)m 10(requesting)m 11 r 84 c (OS)s 9 r 88 c 11(are)m 10(routed)m 11(along)m 10(the)m 10 r 84 c (OS)s 10 r 48 c 10(path)m 11(if)m 10 r 97 c 11 r 84 c (OS)s 9 r 88 c 104 2414 p (path)s 10(does)m 11(not)m 10(exist.)m 0 2450 p 780 2 ru t-rom.180 @sf 33 2477 p (10)s t-rom.240 @sf 60 2489 p (It)s 8(is)m 8(assumed)m 9(that,)m 8(for)m 8(two)m 8(dif)m (ferent)s 8(address)m 8(ranges)m 8(matching)m 8(the)m 9(destination,)m 8(one)m 8(range)m 8(is)m 8(more)m 9(speci\014c)m 8(than)m 8(the)m 8(other)m -1 r 46 c 10(Non-contiguous)m 9(subnet)m 0 2529 p (masks)s 8(can)m 9(be)m 8(con\014gured)m 8(to)m 9(violate)m 8(this)m 8(assumption.)m 11(Such)m 9(subnet)m 8(mask)m 8(con\014gurations)m 9(cannot)m 8(be)m 8(handled)m 9(by)m 8(the)m 8(OSPF)m 9(protocol.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(57])m @eop 58 @bop0 58 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p 49 c -2(1.2)m 49(Sample)m 13 r 114 c (outing)s 11(table,)m 13(without)m 12(ar)m (eas)s t-rom.300 @sf 0 291 p (Consider)s 10(the)m 11(Autonomous)m 10(System)m 11(pictured)m 10(in)m 10(Figure)m 11(2.)m 14(No)m 10(OSPF)m 11(areas)m 10(have)m 10(been)m 11(con\014gured.)m 14 r 65 c 10(single)m 11(metric)m 10(is)m 0 341 p (shown)s 10(per)m 11(outbound)m 10(interface,)m 11(indicating)m 10(that)m 10(routes)m 11(will)m 10(not)m 11(vary)m 10(based)m 11(on)m 10 r 84 c (OS.)s 10(The)m 10(calculation)m 10(of)m 11(Router)m 10 r 82 c -1(T6')m -2 r 115 c 0 390 p (routing)s 10(table)m 11(proceeds)m 10(as)m 11(described)m 10(in)m 10(Section)m 11(2.1.)m 14(The)m 10(resulting)m 11(routing)m 10(table)m 10(is)m 11(shown)m 10(in)m 11 r 84 c -2(able)m 9(12.)m 14(Destination)m 0 440 p (types)s 10(are)m 11(abbreviated:)m 14(Network)m 10(as)m 11(\\N",)m 10(area)m 10(border)m 11(router)m 10(as)m 11(\\BR")m 10(and)m 10(AS)m 11(boundary)m 10(router)m 11(as)m 10(\\ASBR".)m 0 508 p (There)s 10(are)m 11(no)m 10(instances)m 11(of)m 10(multiple)m 10(equal-cost)m 11(shortest)m 10(paths)m 11(in)m 10(this)m 11(example.)m 13(Also,)m 11(since)m 10(there)m 11(are)m 10(no)m 11(areas,)m 10(there)m 10(are)m 0 558 p (no)s 10(inter)m (-area)s 10(paths.)m 0 625 p (Routers)s 10 r 82 c -1(T5)m 9(and)m 10 r 82 c -2(T7)m 9(are)m 11(AS)m 10(boundary)m 10(routers.)m 14(Intra-area)m 10(routes)m 10(have)m 10(been)m 10(calculated)m 10(to)m 10(Routers)m 11 r 82 c -2(T5)m 9(and)m 10 r 82 c -1(T7.)m 13(This)m 0 675 p (allows)s 10(external)m 11(routes)m 10(to)m 11(be)m 10(calculated)m 10(to)m 11(the)m 10(destinations)m 11(advertised)m 10(by)m 11 r 82 c -2(T5)m 9(and)m 11 r 82 c -2(T7)m 10(\(i.e.,)m 10(Networks)m 11(N12,)m 10(N13,)m 10(N14)m 0 725 p (and)s 10(N15\).)m 14(It)m 11(is)m 10(assumed)m 11(all)m 10(AS)m 10(external)m 11(advertisements)m 10(originated)m 11(by)m 10 r 82 c -1(T5)m 9(and)m 10 r 82 c -1(T7)m 9(are)m 11(advertising)m 10(type)m 11 r 49 c 10(external)m 0 775 p (metrics.)s 14(This)m 10(results)m 11(in)m 10(type)m 11 r 49 c 10(external)m 10(paths)m 11(being)m 10(calculated)m 11(to)m 10(destinations)m 10(N12-N15.)m 225 881 p 1500 2 ru 224 931 p 2 50 ru t-ita.300 @sf 265 916 p 84 c -2(ype)m 383 931 p 2 50 ru 409 916 p (Dest)s 509 931 p 2 50 ru 535 916 p (Ar)s -1(ea)m 638 931 p 2 50 ru 704 916 p (Path)s 11 r 84 c -2(ype)m 936 931 p 2 50 ru 962 916 p (Cost)s 1062 931 p 2 50 ru 1088 916 p (Next)s 10(Hop\(s\))m 1314 931 p 2 50 ru 1340 916 p (Advertising)s 10(Router\(s\))m 1724 931 p 2 50 ru 225 932 p 1500 2 ru 224 982 p 2 50 ru t-rom.300 @sf 289 967 p 78 c 383 982 p 2 50 ru 421 967 p (N1)s 509 982 p 2 50 ru 564 967 p 48 c 638 982 p 2 50 ru 708 967 p (intra-area)s 936 982 p 2 50 ru 979 967 p (10)s 1062 982 p 2 50 ru 1153 967 p 82 c -1(T3)m 1314 982 p 2 50 ru 1510 967 p 42 c 1724 982 p 2 50 ru 224 1032 p 2 50 ru 289 1017 p 78 c 383 1032 p 2 50 ru 421 1017 p (N2)s 509 1032 p 2 50 ru 564 1017 p 48 c 638 1032 p 2 50 ru 708 1017 p (intra-area)s 936 1032 p 2 50 ru 979 1017 p (10)s 1062 1032 p 2 50 ru 1153 1017 p 82 c -1(T3)m 1314 1032 p 2 50 ru 1510 1017 p 42 c 1724 1032 p 2 50 ru 224 1082 p 2 50 ru 289 1067 p 78 c 383 1082 p 2 50 ru 421 1067 p (N3)s 509 1082 p 2 50 ru 564 1067 p 48 c 638 1082 p 2 50 ru 708 1067 p (intra-area)s 936 1082 p 2 50 ru 989 1067 p 55 c 1062 1082 p 2 50 ru 1153 1067 p 82 c -1(T3)m 1314 1082 p 2 50 ru 1510 1067 p 42 c 1724 1082 p 2 50 ru 224 1132 p 2 50 ru 289 1117 p 78 c 383 1132 p 2 50 ru 421 1117 p (N4)s 509 1132 p 2 50 ru 564 1117 p 48 c 638 1132 p 2 50 ru 708 1117 p (intra-area)s 936 1132 p 2 50 ru 989 1117 p 56 c 1062 1132 p 2 50 ru 1153 1117 p 82 c -1(T3)m 1314 1132 p 2 50 ru 1510 1117 p 42 c 1724 1132 p 2 50 ru 224 1182 p 2 50 ru 289 1167 p 78 c 383 1182 p 2 50 ru 429 1167 p (Ib)s 509 1182 p 2 50 ru 564 1167 p 48 c 638 1182 p 2 50 ru 708 1167 p (intra-area)s 936 1182 p 2 50 ru 989 1167 p 55 c 1062 1182 p 2 50 ru 1179 1167 p 42 c 1314 1182 p 2 50 ru 1510 1167 p 42 c 1724 1182 p 2 50 ru 224 1231 p 2 50 ru 289 1216 p 78 c 383 1231 p 2 50 ru 431 1216 p (Ia)s 509 1231 p 2 50 ru 564 1216 p 48 c 638 1231 p 2 50 ru 708 1216 p (intra-area)s 936 1231 p 2 50 ru 979 1216 p (12)s 1062 1231 p 2 50 ru 1143 1216 p 82 c -2(T10)m 1314 1231 p 2 50 ru 1510 1216 p 42 c 1724 1231 p 2 50 ru 224 1281 p 2 50 ru 289 1266 p 78 c 383 1281 p 2 50 ru 421 1266 p (N6)s 509 1281 p 2 50 ru 564 1266 p 48 c 638 1281 p 2 50 ru 708 1266 p (intra-area)s 936 1281 p 2 50 ru 989 1266 p 56 c 1062 1281 p 2 50 ru 1143 1266 p 82 c -2(T10)m 1314 1281 p 2 50 ru 1510 1266 p 42 c 1724 1281 p 2 50 ru 224 1331 p 2 50 ru 289 1316 p 78 c 383 1331 p 2 50 ru 421 1316 p (N7)s 509 1331 p 2 50 ru 564 1316 p 48 c 638 1331 p 2 50 ru 708 1316 p (intra-area)s 936 1331 p 2 50 ru 979 1316 p (12)s 1062 1331 p 2 50 ru 1143 1316 p 82 c -2(T10)m 1314 1331 p 2 50 ru 1510 1316 p 42 c 1724 1331 p 2 50 ru 224 1381 p 2 50 ru 289 1366 p 78 c 383 1381 p 2 50 ru 421 1366 p (N8)s 509 1381 p 2 50 ru 564 1366 p 48 c 638 1381 p 2 50 ru 708 1366 p (intra-area)s 936 1381 p 2 50 ru 979 1366 p (10)s 1062 1381 p 2 50 ru 1143 1366 p 82 c -2(T10)m 1314 1381 p 2 50 ru 1510 1366 p 42 c 1724 1381 p 2 50 ru 224 1431 p 2 50 ru 289 1416 p 78 c 383 1431 p 2 50 ru 421 1416 p (N9)s 509 1431 p 2 50 ru 564 1416 p 48 c 638 1431 p 2 50 ru 708 1416 p (intra-area)s 936 1431 p 2 50 ru 980 1416 p 49 c -1 r 49 c 1062 1431 p 2 50 ru 1143 1416 p 82 c -2(T10)m 1314 1431 p 2 50 ru 1510 1416 p 42 c 1724 1431 p 2 50 ru 224 1480 p 2 50 ru 289 1465 p 78 c 383 1480 p 2 50 ru 411 1465 p (N10)s 509 1480 p 2 50 ru 564 1465 p 48 c 638 1480 p 2 50 ru 708 1465 p (intra-area)s 936 1480 p 2 50 ru 979 1465 p (13)s 1062 1480 p 2 50 ru 1143 1465 p 82 c -2(T10)m 1314 1480 p 2 50 ru 1510 1465 p 42 c 1724 1480 p 2 50 ru 224 1530 p 2 50 ru 289 1515 p 78 c 383 1530 p 2 50 ru 412 1515 p (N1)s -1 r 49 c 509 1530 p 2 50 ru 564 1515 p 48 c 638 1530 p 2 50 ru 708 1515 p (intra-area)s 936 1530 p 2 50 ru 979 1515 p (14)s 1062 1530 p 2 50 ru 1143 1515 p 82 c -2(T10)m 1314 1530 p 2 50 ru 1510 1515 p 42 c 1724 1530 p 2 50 ru 224 1580 p 2 50 ru 289 1565 p 78 c 383 1580 p 2 50 ru 421 1565 p (H1)s 509 1580 p 2 50 ru 564 1565 p 48 c 638 1580 p 2 50 ru 708 1565 p (intra-area)s 936 1580 p 2 50 ru 979 1565 p (21)s 1062 1580 p 2 50 ru 1143 1565 p 82 c -2(T10)m 1314 1580 p 2 50 ru 1510 1565 p 42 c 1724 1580 p 2 50 ru 224 1630 p 2 50 ru 250 1615 p (ASBR)s 383 1630 p 2 50 ru 411 1615 p 82 c -1(T5)m 509 1630 p 2 50 ru 564 1615 p 48 c 638 1630 p 2 50 ru 708 1615 p (intra-area)s 936 1630 p 2 50 ru 989 1615 p 54 c 1062 1630 p 2 50 ru 1153 1615 p 82 c -1(T5)m 1314 1630 p 2 50 ru 1510 1615 p 42 c 1724 1630 p 2 50 ru 224 1680 p 2 50 ru 250 1665 p (ASBR)s 383 1680 p 2 50 ru 411 1665 p 82 c -1(T7)m 509 1680 p 2 50 ru 564 1665 p 48 c 638 1680 p 2 50 ru 708 1665 p (intra-area)s 936 1680 p 2 50 ru 989 1665 p 56 c 1062 1680 p 2 50 ru 1143 1665 p 82 c -2(T10)m 1314 1680 p 2 50 ru 1510 1665 p 42 c 1724 1680 p 2 50 ru 225 1681 p 1500 2 ru 224 1731 p 2 50 ru 289 1716 p 78 c 383 1731 p 2 50 ru 411 1716 p (N12)s 509 1731 p 2 50 ru 564 1716 p 42 c 638 1731 p 2 50 ru 664 1716 p (type)s 11 r 49 c 10(external)m 936 1731 p 2 50 ru 979 1716 p (10)s 1062 1731 p 2 50 ru 1143 1716 p 82 c -2(T10)m 1314 1731 p 2 50 ru 1484 1716 p 82 c -1(T7)m 1724 1731 p 2 50 ru 224 1781 p 2 50 ru 289 1766 p 78 c 383 1781 p 2 50 ru 411 1766 p (N13)s 509 1781 p 2 50 ru 564 1766 p 42 c 638 1781 p 2 50 ru 664 1766 p (type)s 11 r 49 c 10(external)m 936 1781 p 2 50 ru 979 1766 p (14)s 1062 1781 p 2 50 ru 1153 1766 p 82 c -1(T5)m 1314 1781 p 2 50 ru 1484 1766 p 82 c -1(T5)m 1724 1781 p 2 50 ru 224 1831 p 2 50 ru 289 1816 p 78 c 383 1831 p 2 50 ru 411 1816 p (N14)s 509 1831 p 2 50 ru 564 1816 p 42 c 638 1831 p 2 50 ru 664 1816 p (type)s 11 r 49 c 10(external)m 936 1831 p 2 50 ru 979 1816 p (14)s 1062 1831 p 2 50 ru 1153 1816 p 82 c -1(T5)m 1314 1831 p 2 50 ru 1484 1816 p 82 c -1(T5)m 1724 1831 p 2 50 ru 224 1881 p 2 50 ru 289 1866 p 78 c 383 1881 p 2 50 ru 411 1866 p (N15)s 509 1881 p 2 50 ru 564 1866 p 42 c 638 1881 p 2 50 ru 664 1866 p (type)s 11 r 49 c 10(external)m 936 1881 p 2 50 ru 979 1866 p (17)s 1062 1881 p 2 50 ru 1143 1866 p 82 c -2(T10)m 1314 1881 p 2 50 ru 1484 1866 p 82 c -1(T7)m 1724 1881 p 2 50 ru 225 1882 p 1500 2 ru 427 2019 p 84 c -2(able)m 9(12:)m 14(The)m 11(routing)m 10(table)m 11(for)m 10(Router)m 10 r 82 c -1(T6)m 9(\(no)m 11(con\014gured)m 10(areas\).)m t-bol.360 @sf 0 2197 p 49 c -2(1.3)m 49(Sample)m 13 r 114 c (outing)s 11(table,)m 13(with)m 12(ar)m (eas)s t-rom.300 @sf 0 2293 p (Consider)s 10(the)m 11(previous)m 10(example,)m 11(this)m 10(time)m 10(split)m 11(into)m 10(OSPF)m 11(areas.)m 14(An)m 10(OSPF)m 10(area)m 11(con\014guration)m 10(is)m 11(pictured)m 10(in)m 11(Figure)m 10(6.)m 0 2342 p (Router)s 10 r 82 c -1(T4')m -3 r 115 c 9(routing)m 11(table)m 10(will)m 10(be)m 10(described)m 10(for)m 10(this)m 10(area)m 11(con\014guration.)m 13(Router)m 11 r 82 c -2(T4)m 9(has)m 10 r 97 c 10(connection)m 11(to)m 10(Area)m 10 r 49 c 10(and)m 10 r 97 c 0 2392 p (backbone)s 10(connection.)m 14(This)m 11(causes)m 10(Router)m 11 r 82 c -2(T4)m 9(to)m 11(view)m 10(the)m 11(AS)m 10(as)m 11(the)m 10(concatenation)m 10(of)m 11(the)m 10(two)m 11(graphs)m 10(shown)m 10(in)m 0 2442 p (Figures)s 10 r 55 c 11(and)m 10(8.)m 14(The)m 11(resulting)m 10(routing)m 10(table)m 11(is)m 10(displayed)m 11(in)m 10 r 84 c -2(able)m 10(13.)m 0 2510 p (Again,)s 10(Routers)m 11 r 82 c -2(T5)m 10(and)m 10 r 82 c -1(T7)m 9(are)m 10(AS)m 11(boundary)m 10(routers.)m 14(Routers)m 11 r 82 c -2(T3,)m 10 r 82 c -2(T4,)m 9 r 82 c -1(T7,)m 9 r 82 c -1(T10)m 9(and)m 11 r 82 c -2(T1)m -1 r 49 c 9(are)m 11(area)m 10(border)m 0 2559 p (routers.)s 14(Note)m 10(that)m 11(there)m 10(are)m 11(two)m 10(routing)m 10(table)m 11(entries)m 10(\(in)m 11(this)m 10(case)m 10(having)m 11(identical)m 10(paths\))m 11(for)m 10(Router)m 11 r 82 c -2(T7,)m 9(in)m 11(its)m 10(dual)m 0 2723 p (Moy)s 1710([Page)m 11(58])m @eop 59 @bop0 59 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (capacities)s 10(as)m 11(an)m 10(area)m 11(border)m 10(router)m 10(and)m 11(an)m 10(AS)m 11(boundary)m 10(router)m -1 r 46 c 13(Note)m 10(also)m 11(that)m 10(there)m 10(are)m 11(two)m 10(routing)m 11(entries)m 10(for)m 11(the)m 0 245 p (area)s 10(border)m 11(router)m 10 r 82 c -1(T3,)m 9(since)m 11(it)m 10(has)m 10(two)m 11(areas)m 10(in)m 11(common)m 10(with)m 10 r 82 c -1(T4)m 9(\(Area)m 11 r 49 c 10(and)m 11(the)m 10(backbone\).)m 0 313 p (Backbone)s 10(paths)m 11(have)m 10(been)m 11(calculated)m 10(to)m 10(all)m 11(area)m 10(border)m 11(routers)m 10(\(BR\).)m 11(These)m 10(are)m 10(used)m 11(when)m 10(determining)m 11(the)m 10(inter)m (-area)s 0 362 p (routes.)s 14(Note)m 10(that)m 11(all)m 10(of)m 11(the)m 10(inter)m (-area)s 10(routes)m 10(are)m 10(associated)m 11(with)m 10(the)m 11(backbone;)m 10(this)m 10(is)m 11(always)m 10(the)m 11(case)m 10(when)m 11(the)m 0 412 p (calculating)s 10(router)m 11(is)m 10(itself)m 11(an)m 10(area)m 10(border)m 11(router)m -1 r 46 c 13(Routing)m 10(information)m 10(is)m 11(condensed)m 10(at)m 11(area)m 10(boundaries.)m 14(In)m 10(this)m 0 462 p (example,)s 10(we)m 11(assume)m 10(that)m 11(Area)m 10 r 51 c 10(has)m 11(been)m 10(de\014ned)m 11(so)m 10(that)m 11(networks)m 10(N9-N1)m -1 r 49 c 10(and)m 10(the)m 11(host)m 10(route)m 11(to)m 10(H1)m 10(are)m 11(all)m 0 512 p (condensed)s 10(to)m 11 r 97 c 10(single)m 11(route)m 10(when)m 10(advertised)m 11(into)m 10(the)m 11(backbone)m 10(\(by)m 11(Router)m 10 r 82 c -2(T1)m -1(1\).)m 13(Note)m 10(that)m 11(the)m 10(cost)m 11(of)m 10(this)m 10(route)m 11(is)m 0 562 p (the)s 10(minimum)m 11(of)m 10(the)m 11(set)m 10(of)m 10(costs)m 11(to)m 10(its)m 11(individual)m 10(components.)m 0 629 p (There)s 10(is)m 11 r 97 c 10(virtual)m 11(link)m 10(con\014gured)m 10(between)m 11(Routers)m 10 r 82 c -1(T10)m 9(and)m 10 r 82 c -1(T1)m -2(1.)m 13 r 87 c -1(ithout)m 10(this)m 10(con\014gured)m 11(virtual)m 10(link,)m 10 r 82 c -1(T1)m -2 r 49 c 10(would)m 0 679 p (be)s 10(unable)m 11(to)m 10(advertise)m 11 r 97 c 10(route)m 10(for)m 11(networks)m 10(N9-N1)m 49 c 9(and)m 11(Host)m 10(H1)m 10(into)m 11(the)m 10(backbone,)m 11(and)m 10(there)m 11(would)m 10(not)m 10(be)m 11(an)m 10(entry)m 0 729 p (for)s 10(these)m 11(networks)m 10(in)m 11(Router)m 10 r 82 c -1(T4')m -3 r 115 c 10(routing)m 10(table.)m 0 797 p (In)s 10(this)m 11(example)m 10(there)m 11(are)m 10(two)m 10(equal-cost)m 11(paths)m 10(to)m 11(Network)m 10(N12.)m 14(However)m -1 r 44 c 10(they)m 10(both)m 11(use)m 10(the)m 10(same)m 11(next)m 10(hop)m 11(\(Router)m 0 846 p 82 c -2(T5\).)m 165 951 p 1620 2 ru 164 1001 p 2 50 ru t-ita.300 @sf 205 986 p 84 c -2(ype)m 323 1001 p 2 50 ru 409 986 p (Dest)s 569 1001 p 2 50 ru 595 986 p (Ar)s -1(ea)m 698 1001 p 2 50 ru 764 986 p (Path)s 11 r 84 c -2(ype)m 996 1001 p 2 50 ru 1021 986 p (Cost)s 1122 1001 p 2 50 ru 1148 986 p (Next)s 10(Hop\(s\))m 1374 1001 p 2 50 ru 1400 986 p (Advertising)s 10(Router\(s\))m 1784 1001 p 2 50 ru 165 1002 p 1620 2 ru 164 1052 p 2 50 ru t-rom.300 @sf 229 1037 p 78 c 323 1052 p 2 50 ru 421 1037 p (N1)s 569 1052 p 2 50 ru 624 1037 p 49 c 698 1052 p 2 50 ru 768 1037 p (intra-area)s 996 1052 p 2 50 ru 1049 1037 p 52 c 1122 1052 p 2 50 ru 1213 1037 p 82 c -1(T1)m 1374 1052 p 2 50 ru 1570 1037 p 42 c 1784 1052 p 2 50 ru 164 1102 p 2 50 ru 229 1087 p 78 c 323 1102 p 2 50 ru 421 1087 p (N2)s 569 1102 p 2 50 ru 624 1087 p 49 c 698 1102 p 2 50 ru 768 1087 p (intra-area)s 996 1102 p 2 50 ru 1049 1087 p 52 c 1122 1102 p 2 50 ru 1213 1087 p 82 c -1(T2)m 1374 1102 p 2 50 ru 1570 1087 p 42 c 1784 1102 p 2 50 ru 164 1152 p 2 50 ru 229 1137 p 78 c 323 1152 p 2 50 ru 421 1137 p (N3)s 569 1152 p 2 50 ru 624 1137 p 49 c 698 1152 p 2 50 ru 768 1137 p (intra-area)s 996 1152 p 2 50 ru 1049 1137 p 49 c 1122 1152 p 2 50 ru 1239 1137 p 42 c 1374 1152 p 2 50 ru 1570 1137 p 42 c 1784 1152 p 2 50 ru 164 1202 p 2 50 ru 229 1187 p 78 c 323 1202 p 2 50 ru 421 1187 p (N4)s 569 1202 p 2 50 ru 624 1187 p 49 c 698 1202 p 2 50 ru 768 1187 p (intra-area)s 996 1202 p 2 50 ru 1049 1187 p 51 c 1122 1202 p 2 50 ru 1213 1187 p 82 c -1(T3)m 1374 1202 p 2 50 ru 1570 1187 p 42 c 1784 1202 p 2 50 ru 164 1251 p 2 50 ru 217 1237 p (BR)s 323 1251 p 2 50 ru 411 1237 p 82 c -1(T3)m 569 1251 p 2 50 ru 624 1237 p 49 c 698 1251 p 2 50 ru 768 1237 p (intra-area)s 996 1251 p 2 50 ru 1049 1237 p 49 c 1122 1251 p 2 50 ru 1239 1237 p 42 c 1374 1251 p 2 50 ru 1570 1237 p 42 c 1784 1251 p 2 50 ru 165 1253 p 1620 2 ru 164 1303 p 2 50 ru 229 1288 p 78 c 323 1303 p 2 50 ru 429 1288 p (Ib)s 569 1303 p 2 50 ru 624 1288 p 48 c 698 1303 p 2 50 ru 768 1288 p (intra-area)s 996 1303 p 2 50 ru 1039 1288 p (22)s 1122 1303 p 2 50 ru 1213 1288 p 82 c -1(T5)m 1374 1303 p 2 50 ru 1570 1288 p 42 c 1784 1303 p 2 50 ru 164 1353 p 2 50 ru 229 1338 p 78 c 323 1353 p 2 50 ru 431 1338 p (Ia)s 569 1353 p 2 50 ru 624 1338 p 48 c 698 1353 p 2 50 ru 768 1338 p (intra-area)s 996 1353 p 2 50 ru 1039 1338 p (27)s 1122 1353 p 2 50 ru 1213 1338 p 82 c -1(T5)m 1374 1353 p 2 50 ru 1570 1338 p 42 c 1784 1353 p 2 50 ru 164 1403 p 2 50 ru 217 1388 p (BR)s 323 1403 p 2 50 ru 411 1388 p 82 c -1(T3)m 569 1403 p 2 50 ru 624 1388 p 48 c 698 1403 p 2 50 ru 768 1388 p (intra-area)s 996 1403 p 2 50 ru 1039 1388 p (21)s 1122 1403 p 2 50 ru 1213 1388 p 82 c -1(T5)m 1374 1403 p 2 50 ru 1570 1388 p 42 c 1784 1403 p 2 50 ru 164 1452 p 2 50 ru 217 1437 p (BR)s 323 1452 p 2 50 ru 411 1437 p 82 c -1(T7)m 569 1452 p 2 50 ru 624 1437 p 48 c 698 1452 p 2 50 ru 768 1437 p (intra-area)s 996 1452 p 2 50 ru 1039 1437 p (14)s 1122 1452 p 2 50 ru 1213 1437 p 82 c -1(T5)m 1374 1452 p 2 50 ru 1570 1437 p 42 c 1784 1452 p 2 50 ru 164 1502 p 2 50 ru 217 1487 p (BR)s 323 1502 p 2 50 ru 401 1487 p 82 c -2(T10)m 569 1502 p 2 50 ru 624 1487 p 48 c 698 1502 p 2 50 ru 768 1487 p (intra-area)s 996 1502 p 2 50 ru 1039 1487 p (22)s 1122 1502 p 2 50 ru 1213 1487 p 82 c -1(T5)m 1374 1502 p 2 50 ru 1570 1487 p 42 c 1784 1502 p 2 50 ru 164 1552 p 2 50 ru 217 1537 p (BR)s 323 1552 p 2 50 ru 401 1537 p 82 c -1(T1)m -2 r 49 c 569 1552 p 2 50 ru 624 1537 p 48 c 698 1552 p 2 50 ru 768 1537 p (intra-area)s 996 1552 p 2 50 ru 1039 1537 p (25)s 1122 1552 p 2 50 ru 1213 1537 p 82 c -1(T5)m 1374 1552 p 2 50 ru 1570 1537 p 42 c 1784 1552 p 2 50 ru 164 1602 p 2 50 ru 190 1587 p (ASBR)s 323 1602 p 2 50 ru 411 1587 p 82 c -1(T5)m 569 1602 p 2 50 ru 624 1587 p 48 c 698 1602 p 2 50 ru 768 1587 p (intra-area)s 996 1602 p 2 50 ru 1049 1587 p 56 c 1122 1602 p 2 50 ru 1239 1587 p 42 c 1374 1602 p 2 50 ru 1570 1587 p 42 c 1784 1602 p 2 50 ru 164 1652 p 2 50 ru 190 1637 p (ASBR)s 323 1652 p 2 50 ru 411 1637 p 82 c -1(T7)m 569 1652 p 2 50 ru 624 1637 p 48 c 698 1652 p 2 50 ru 768 1637 p (intra-area)s 996 1652 p 2 50 ru 1039 1637 p (14)s 1122 1652 p 2 50 ru 1213 1637 p 82 c -1(T5)m 1374 1652 p 2 50 ru 1570 1637 p 42 c 1784 1652 p 2 50 ru 165 1653 p 1620 2 ru 164 1703 p 2 50 ru 229 1688 p 78 c 323 1703 p 2 50 ru 421 1688 p (N6)s 569 1703 p 2 50 ru 624 1688 p 48 c 698 1703 p 2 50 ru 768 1688 p (inter)s (-area)s 996 1703 p 2 50 ru 1039 1688 p (15)s 1122 1703 p 2 50 ru 1213 1688 p 82 c -1(T5)m 1374 1703 p 2 50 ru 1544 1688 p 82 c -1(T7)m 1784 1703 p 2 50 ru 164 1753 p 2 50 ru 229 1738 p 78 c 323 1753 p 2 50 ru 421 1738 p (N7)s 569 1753 p 2 50 ru 624 1738 p 48 c 698 1753 p 2 50 ru 768 1738 p (inter)s (-area)s 996 1753 p 2 50 ru 1039 1738 p (19)s 1122 1753 p 2 50 ru 1213 1738 p 82 c -1(T5)m 1374 1753 p 2 50 ru 1544 1738 p 82 c -1(T7)m 1784 1753 p 2 50 ru 164 1803 p 2 50 ru 229 1788 p 78 c 323 1803 p 2 50 ru 421 1788 p (N8)s 569 1803 p 2 50 ru 624 1788 p 48 c 698 1803 p 2 50 ru 768 1788 p (inter)s (-area)s 996 1803 p 2 50 ru 1039 1788 p (18)s 1122 1803 p 2 50 ru 1213 1788 p 82 c -1(T5)m 1374 1803 p 2 50 ru 1544 1788 p 82 c -1(T7)m 1784 1803 p 2 50 ru 164 1853 p 2 50 ru 229 1838 p 78 c 323 1853 p 2 50 ru 349 1838 p (N9-N1)s -1(1,H1)m 569 1853 p 2 50 ru 624 1838 p 48 c 698 1853 p 2 50 ru 768 1838 p (inter)s (-area)s 996 1853 p 2 50 ru 1039 1838 p (26)s 1122 1853 p 2 50 ru 1213 1838 p 82 c -1(T5)m 1374 1853 p 2 50 ru 1535 1838 p 82 c -2(T1)m -1 r 49 c 1784 1853 p 2 50 ru 165 1854 p 1620 2 ru 164 1904 p 2 50 ru 229 1889 p 78 c 323 1904 p 2 50 ru 411 1889 p (N12)s 569 1904 p 2 50 ru 624 1889 p 42 c 698 1904 p 2 50 ru 724 1889 p (type)s 10 r 49 c 11(external)m 996 1904 p 2 50 ru 1039 1889 p (16)s 1122 1904 p 2 50 ru 1213 1889 p 82 c -1(T5)m 1374 1904 p 2 50 ru 1503 1889 p 82 c -1(T5,R)m -3(T7)m 1784 1904 p 2 50 ru 164 1954 p 2 50 ru 229 1939 p 78 c 323 1954 p 2 50 ru 411 1939 p (N13)s 569 1954 p 2 50 ru 624 1939 p 42 c 698 1954 p 2 50 ru 724 1939 p (type)s 10 r 49 c 11(external)m 996 1954 p 2 50 ru 1039 1939 p (16)s 1122 1954 p 2 50 ru 1213 1939 p 82 c -1(T5)m 1374 1954 p 2 50 ru 1544 1939 p 82 c -1(T5)m 1784 1954 p 2 50 ru 164 2004 p 2 50 ru 229 1989 p 78 c 323 2004 p 2 50 ru 411 1989 p (N14)s 569 2004 p 2 50 ru 624 1989 p 42 c 698 2004 p 2 50 ru 724 1989 p (type)s 10 r 49 c 11(external)m 996 2004 p 2 50 ru 1039 1989 p (16)s 1122 2004 p 2 50 ru 1213 1989 p 82 c -1(T5)m 1374 2004 p 2 50 ru 1544 1989 p 82 c -1(T5)m 1784 2004 p 2 50 ru 164 2053 p 2 50 ru 229 2039 p 78 c 323 2053 p 2 50 ru 411 2039 p (N15)s 569 2053 p 2 50 ru 624 2039 p 42 c 698 2053 p 2 50 ru 724 2039 p (type)s 10 r 49 c 11(external)m 996 2053 p 2 50 ru 1039 2039 p (23)s 1122 2053 p 2 50 ru 1213 2039 p 82 c -1(T5)m 1374 2053 p 2 50 ru 1544 2039 p 82 c -1(T7)m 1784 2053 p 2 50 ru 165 2055 p 1620 2 ru 462 2192 p 84 c -2(able)m 9(13:)m 14(Router)m 10 r 82 c -1(T4')m -2 r 115 c 9(routing)m 10(table)m 11(in)m 10(the)m 11(presence)m 10(of)m 11(areas.)m 0 2301 p (Router)s 10 r 82 c -1(T4')m -2 r 115 c 9(routing)m 10(table)m 11(would)m 10(improve)m 11(\(i.e.,)m 10(some)m 11(of)m 10(the)m 10(paths)m 11(in)m 10(the)m 11(routing)m 10(table)m 10(would)m 11(become)m 10(shorter\))m 11(if)m 10(an)m 0 2351 p (additional)s 10(virtual)m 11(link)m 10(were)m 11(con\014gured)m 10(between)m 10(Router)m 11 r 82 c -2(T4)m 10(and)m 10(Router)m 11 r 82 c -2(T3.)m 13(The)m 10(new)m 11(virtual)m 10(link)m 11(would)m 10(itself)m 11(be)m 0 2400 p (associated)s 10(with)m 11(the)m 10(\014rst)m 11(entry)m 10(for)m 10(area)m 11(border)m 10(router)m 11 r 82 c -2(T3)m 10(in)m 10 r 84 c -2(able)m 10(13)m 10(\(an)m 10(intra-area)m 11(path)m 10(through)m 11(Area)m 10(1\).)m 14(This)m 10(would)m 0 2450 p (yield)s 10 r 97 c 11(cost)m 10(of)m 11 r 49 c 10(for)m 10(the)m 11(virtual)m 10(link.)m 14(The)m 11(routing)m 10(table)m 10(entries)m 11(changes)m 10(that)m 11(would)m 10(be)m 11(caused)m 10(by)m 10(the)m 11(addition)m 10(of)m 11(this)m 0 2500 p (virtual)s 10(link)m 11(are)m 10(shown)m 11(in)m 10 r 84 c -2(able)m 10(14.)m 0 2723 p (Moy)s 1710([Page)m 11(59])m @eop 60 @bop0 60 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 221 201 p 1509 2 ru 220 251 p 2 50 ru t-ita.300 @sf 246 236 p 84 c -2(ype)m 348 251 p 2 50 ru 433 236 p (Dest)s 594 251 p 2 50 ru 620 236 p (Ar)s -1(ea)m 723 251 p 2 50 ru 749 236 p (Path)s 10 r 84 c -2(ype)m 940 251 p 2 50 ru 966 236 p (Cost)s 1066 251 p 2 50 ru 1092 236 p (Next)s 10(Hop\(s\))m 1319 251 p 2 50 ru 1344 236 p (Advertising)s 11(Router\(s\))m 1728 251 p 2 50 ru 221 252 p 1509 2 ru 221 262 p 1509 2 ru 220 312 p 2 50 ru t-rom.300 @sf 270 297 p 78 c 348 312 p 2 50 ru 454 297 p (Ib)s 594 312 p 2 50 ru 649 297 p 48 c 723 312 p 2 50 ru 753 297 p (intra-area)s 940 312 p 2 50 ru 983 297 p (16)s 1066 312 p 2 50 ru 1157 297 p 82 c -1(T3)m 1319 312 p 2 50 ru 1514 297 p 42 c 1728 312 p 2 50 ru 220 362 p 2 50 ru 270 347 p 78 c 348 362 p 2 50 ru 455 347 p (Ia)s 594 362 p 2 50 ru 649 347 p 48 c 723 362 p 2 50 ru 753 347 p (intra-area)s 940 362 p 2 50 ru 983 347 p (21)s 1066 362 p 2 50 ru 1157 347 p 82 c -1(T3)m 1319 362 p 2 50 ru 1514 347 p 42 c 1728 362 p 2 50 ru 220 412 p 2 50 ru 257 397 p (BR)s 348 412 p 2 50 ru 436 397 p 82 c -2(T3)m 594 412 p 2 50 ru 649 397 p 48 c 723 412 p 2 50 ru 753 397 p (intra-area)s 940 412 p 2 50 ru 994 397 p 49 c 1066 412 p 2 50 ru 1183 397 p 42 c 1319 412 p 2 50 ru 1514 397 p 42 c 1728 412 p 2 50 ru 220 462 p 2 50 ru 257 447 p (BR)s 348 462 p 2 50 ru 425 447 p 82 c -1(T10)m 594 462 p 2 50 ru 649 447 p 48 c 723 462 p 2 50 ru 753 447 p (intra-area)s 940 462 p 2 50 ru 983 447 p (16)s 1066 462 p 2 50 ru 1157 447 p 82 c -1(T3)m 1319 462 p 2 50 ru 1514 447 p 42 c 1728 462 p 2 50 ru 220 511 p 2 50 ru 257 496 p (BR)s 348 511 p 2 50 ru 426 496 p 82 c -1(T1)m -2 r 49 c 594 511 p 2 50 ru 649 496 p 48 c 723 511 p 2 50 ru 753 496 p (intra-area)s 940 511 p 2 50 ru 983 496 p (19)s 1066 511 p 2 50 ru 1157 496 p 82 c -1(T3)m 1319 511 p 2 50 ru 1514 496 p 42 c 1728 511 p 2 50 ru 221 513 p 1509 2 ru 220 563 p 2 50 ru 270 548 p 78 c 348 563 p 2 50 ru 373 548 p (N9-N1)s (1,H1)s 594 563 p 2 50 ru 649 548 p 48 c 723 563 p 2 50 ru 753 548 p (inter)s (-area)s 940 563 p 2 50 ru 983 548 p (20)s 1066 563 p 2 50 ru 1157 548 p 82 c -1(T3)m 1319 563 p 2 50 ru 1479 548 p 82 c -2(T1)m -1 r 49 c 1728 563 p 2 50 ru 221 565 p 1509 2 ru 221 574 p 1509 2 ru 479 711 p 84 c -2(able)m 9(14:)m 14(Changes)m 11(resulting)m 10(from)m 10(an)m 11(additional)m 10(virtual)m 11(link.)m t-bol.420 @sf 0 843 p (12)s 58(Link)m 15(State)m 14(Advertisements)m t-rom.300 @sf 0 952 p (Each)s 10(router)m 11(in)m 10(the)m 10(Autonomous)m 10(System)m 11(originates)m 10(one)m 10(or)m 10(more)m 11(link)m 10(state)m 10(advertisements.)m 14(There)m 10(are)m 11(\014ve)m 10(distinct)m 10(types)m 0 1002 p (of)s 10(link)m 11(state)m 10(advertisements,)m 10(which)m 10(are)m 11(described)m 10(in)m 10(Section)m 11(4.3.)m 13(The)m 11(collection)m 10(of)m 10(link)m 10(state)m 11(advertisements)m 10(forms)m 10(the)m 0 1052 p (link)s 10(state)m 11(or)m 10(topological)m 11(database.)m 14(Each)m 10(separate)m 10(type)m 11(of)m 10(advertisement)m 11(has)m 10 r 97 c 10(separate)m 11(function.)m 14(Router)m 10(links)m 11(and)m 0 1102 p (network)s 10(links)m 11(advertisements)m 10(describe)m 11(how)m 10(an)m 10(area')m -1 r 115 c 10(routers)m 10(and)m 10(networks)m 11(are)m 10(interconnected.)m 14(Summary)m 11(link)m 0 1151 p (advertisements)s 10(provide)m 11 r 97 c 10(way)m 11(of)m 10(condensing)m 10(an)m 11(area')m -1 r 115 c 9(routing)m 10(information.)m 14(AS)m 11(external)m 10(advertisements)m 11(provide)m 10 r 97 c 0 1201 p (way)s 10(of)m 11(transparently)m 10(advertising)m 11(externally-derived)m 10(routing)m 10(information)m 11(throughout)m 10(the)m 11(Autonomous)m 10(System.)m 0 1268 p (Each)s 10(link)m 11(state)m 10(advertisement)m 11(begins)m 10(with)m 10 r 97 c 11(standard)m 10(20-byte)m 11(header)m -2 r 46 c 13(This)m 11(link)m 10(state)m 11(header)m 10(is)m 10(discussed)m 11(below)m -2 r 46 c t-bol.360 @sf 0 1403 p (12.1)s 50(The)m 12(Link)m 13(State)m 12(Advertisement)m 13(Header)m t-rom.300 @sf 0 1497 p (The)s 10(link)m 11(state)m 10(advertisement)m 11(header)m 10(contains)m 10(the)m 11(LS)m 10(type,)m 11(Link)m 10(State)m 11(ID)m 10(and)m 10(Advertising)m 11(Router)m 10(\014elds.)m 14(The)m 0 1547 p (combination)s 10(of)m 11(these)m 10(three)m 11(\014elds)m 10(uniquely)m 10(identi\014es)m 11(the)m 10(link)m 11(state)m 10(advertisement.)m 0 1613 p (There)s 10(may)m 11(be)m 10(several)m 11(instances)m 10(of)m 10(an)m 11(advertisement)m 10(present)m 11(in)m 10(the)m 11(Autonomous)m 10(System,)m 10(all)m 11(at)m 10(the)m 11(same)m 10(time.)m 14(It)m 10(must)m 0 1663 p (then)s 10(be)m 11(determined)m 10(which)m 11(instance)m 10(is)m 10(more)m 11(recent.)m 14(This)m 10(determination)m 11(is)m 10(made)m 10(by)m 11(examining)m 10(the)m 11(LS)m 10(sequence,)m 11(LS)m 0 1713 p (checksum)s 10(and)m 11(LS)m 10(age)m 11(\014elds.)m 14(These)m 10(\014elds)m 10(are)m 11(also)m 10(contained)m 11(in)m 10(the)m 10(20-byte)m 11(link)m 10(state)m 11(advertisement)m 10(header)m -1 r 46 c 0 1780 p (Several)s 10(of)m 10(the)m 11(OSPF)m 10(packet)m 10(types)m 10(list)m 10(link)m 11(state)m 10(advertisements.)m 14(When)m 10(the)m 10(instance)m 10(is)m 10(not)m 11(important,)m 10(an)m 10(advertisement)m 0 1829 p (is)s 10(referred)m 11(to)m 10(by)m 11(its)m 10(LS)m 10(type,)m 11(Link)m 10(State)m 11(ID)m 10(and)m 11(Advertising)m 10(Router)m 10(\(see)m 11(Link)m 10(State)m 11(Request)m 10(Packets\).)m 14(Otherwise,)m 10(the)m 0 1879 p (LS)s 10(sequence)m 11(number)m -1 r 44 c 10(LS)m 10(age)m 10(and)m 11(LS)m 10(checksum)m 11(\014elds)m 10(must)m 10(also)m 11(be)m 10(referenced.)m 0 1946 p 65 c 10(detailed)m 11(explanation)m 10(of)m 11(the)m 10(\014elds)m 10(contained)m 11(in)m 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(header)m 10(follows.)m t-bol.300 @sf 0 2072 p (12.1.1)s 42(LS)m 10(age)m t-rom.300 @sf 0 2167 p (This)s 10(\014eld)m 10(is)m 10(the)m 10(age)m 10(of)m 10(the)m 10(link)m 10(state)m 10(advertisement)m 9(in)m 10(seconds.)m 14(It)m 10(should)m 10(be)m 10(processed)m 10(as)m 10(an)m 10(unsigned)m 10(16-bit)m 10(integer)m -2 r 46 c 13(It)m 0 2217 p (is)s 10(set)m 11(to)m 10 r 48 c 11(when)m 10(the)m 10(link)m 11(state)m 10(advertisement)m 11(is)m 10(originated.)m 14(It)m 10(must)m 11(be)m 10(incremented)m 11(by)m 10(InfT)m (ransDelay)s 9(on)m 11(every)m 10(hop)m 10(of)m 0 2266 p (the)s 10(\015ooding)m 11(procedure.)m 14(Link)m 10(state)m 11(advertisements)m 10(are)m 10(also)m 11(aged)m 10(as)m 11(they)m 10(are)m 10(held)m 11(in)m 10(each)m 11(router)m 1 r 39 c -1 r 115 c 9(database.)m 0 2333 p (The)s 10(age)m 11(of)m 10 r 97 c 11(link)m 10(state)m 10(advertisement)m 11(is)m 10(never)m 11(incremented)m 10(past)m 11(MaxAge.)m 13(Advertisements)m 11(having)m 10(age)m 11(MaxAge)m 10(are)m 0 2383 p (not)s 10(used)m 11(in)m 10(the)m 11(routing)m 10(table)m 10(calculation.)m 14(When)m 11(an)m 10(advertisement')m -1 r 115 c 9(age)m 11(\014rst)m 10(reaches)m 11(MaxAge,)m 10(it)m 10(is)m 11(re\015ooded.)m 14 r 65 c 10(link)m 0 2432 p (state)s 10(advertisement)m 11(of)m 10(age)m 11(MaxAge)m 10(is)m 10(\014nally)m 11(\015ushed)m 10(from)m 11(the)m 10(database)m 11(when)m 10(it)m 10(is)m 11(no)m 10(longer)m 11(needed)m 10(to)m 10(ensure)m 0 2482 p (database)s 10(synchronization.)m 14(For)m 11(more)m 10(information)m 11(on)m 10(the)m 10(aging)m 11(of)m 10(link)m 11(state)m 10(advertisements,)m 10(consult)m 11(Section)m 10(14.)m 0 2549 p (The)s 10(LS)m 9(age)m 10(\014eld)m 10(is)m 10(examined)m 9(when)m 10 r 97 c 10(router)m 10(receives)m 9(two)m 10(instances)m 10(of)m 10 r 97 c 9(link)m 10(state)m 10(advertisement,)m 10(both)m 10(having)m 9(identical)m 0 2599 p (LS)s 10(sequence)m 11(numbers)m 10(and)m 11(LS)m 10(checksums.)m 14(An)m 10(instance)m 11(of)m 10(age)m 11(MaxAge)m 10(is)m 10(then)m 11(always)m 10(accepted)m 11(as)m 10(most)m 11(recent;)m 10(this)m 0 2723 p (Moy)s 1710([Page)m 11(60])m @eop 61 @bop0 61 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (allows)s 10(old)m 11(advertisements)m 10(to)m 11(be)m 10(\015ushed)m 10(quickly)m 11(from)m 10(the)m 11(routing)m 10(domain.)m 14(Otherwise,)m 10(if)m 11(the)m 10(ages)m 11(dif)m (fer)s 9(by)m 11(more)m 10(than)m 0 245 p (MaxAgeDif)s (f,)s 10(the)m 10(instance)m 10(having)m 11(the)m 10(smaller)m 11(age)m 10(is)m 11(accepted)m 10(as)m 10(most)m 11(recent.)m t-rom.210 @sf 1287 230 p 49 c 49 c t-rom.300 @sf 1331 245 p (See)s 11(Section)m 10(13.1)m 10(for)m 11(more)m 10(details.)m t-bol.300 @sf 0 373 p (12.1.2)s 42(Options)m t-rom.300 @sf 0 469 p (The)s 10(Options)m 11(\014eld)m 10(in)m 11(the)m 10(link)m 10(state)m 11(advertisement)m 10(header)m 11(indicates)m 10(which)m 11(optional)m 10(capabilities)m 10(are)m 11(associated)m 10(with)m 11(the)m 0 519 p (advertisement.)s 14(OSPF')m -1 r 115 c 9(optional)m 10(capabilities)m 11(are)m 10(described)m 11(in)m 10(Section)m 11(4.5.)m 13(There)m 11(are)m 10(currently)m 11(two)m 10(optional)m 0 569 p (capabilities)s 10(de\014ned;)m 11(they)m 10(are)m 11(represented)m 10(by)m 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(and)m t-bol.300 @sf 11(E-bit)m t-rom.300 @sf 10(found)m 11(in)m 10(the)m 11(Options)m 10(\014eld.)m 14(The)m 10(rest)m 11(of)m 10(the)m 11(Options)m 0 618 p (\014eld)s 10(should)m 11(be)m 10(set)m 11(to)m 10(zero.)m 0 686 p (The)s t-bol.300 @sf 10(E-bit)m t-rom.300 @sf 11(represents)m 10(OSPF')m -1 r 115 c 9(ExternalRoutingCapability)m -1 r 46 c 13(This)m 10(bit)m 10(should)m 11(be)m 10(set)m 11(in)m 10(all)m 10(advertisements)m 11(associated)m 10(with)m 0 736 p (the)s 10(backbone,)m 11(and)m 10(all)m 11(advertisements)m 10(associated)m 10(with)m 11(non-stub)m 10(areas)m 11(\(see)m 10(Section)m 11(3.6\).)m 13(It)m 11(should)m 10(also)m 11(be)m 10(set)m 11(in)m 10(all)m 10(AS)m 0 786 p (external)s 10(link)m 11(advertisements.)m 14(It)m 10(should)m 11(be)m 10(reset)m 10(in)m 11(all)m 10(router)m 11(links,)m 10(network)m 10(links)m 11(and)m 10(summary)m 11(link)m 10(advertisements)m 0 835 p (associated)s 10(with)m 11 r 97 c 10(stub)m 11(area.)m 14(For)m 10(all)m 10(link)m 11(state)m 10(advertisements,)m 11(the)m 10(setting)m 10(of)m 11(the)m t-bol.300 @sf 10(E-bit)m t-rom.300 @sf 11(is)m 10(for)m 11(informational)m 10(purposes)m 0 885 p (only;)s 10(it)m 11(does)m 10(not)m 11(af)m (fect)s 9(the)m 11(routing)m 10(table)m 11(calculation.)m 0 953 p (The)s t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 9(represents)m 10(OSPF')m -1 r 115 c 9 r 84 c (OS)s 9(routing)m 10(capability)m -2 r 46 c 13(This)m 10(bit)m 10(should)m 9(be)m 10(set)m 10(in)m 10 r 97 c 10(router)m 10(links)m 10(advertisement)m 10(if)m 10(and)m 10(only)m 0 1003 p (if)s 10(the)m 11(router)m 10(is)m 11(capable)m 10(of)m 10(calculating)m 11(separate)m 10(routes)m 11(for)m 10(each)m 11(IP)m 10 r 84 c (OS)s 10(\(see)m 10(Section)m 10(2.4\).)m 14(The)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(should)m 11(always)m 10(be)m 0 1053 p (set)s 10(in)m 10(network)m 10(links)m 11(advertisements.)m 13(It)m 11(should)m 10(be)m 10(set)m 10(in)m 10(summary)m 10(link)m 11(and)m 10(AS)m 10(external)m 10(link)m 10(advertisements)m 10(if)m 11(and)m 10(only)m 0 1102 p (if)s 10(the)m 11(advertisement)m 10(describes)m 11(paths)m 10(for)m 10(all)m 11 r 84 c (OS)s 10(values,)m 10(instead)m 10(of)m 11(just)m 10(the)m 11 r 84 c (OS)s 9 r 48 c 11(path.)m 14(Note)m 10(that,)m 10(with)m 11(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(set,)m 0 1152 p (there)s 10(may)m 11(still)m 10(be)m 11(only)m 10 r 97 c 10(single)m 11(metric)m 10(in)m 11(the)m 10(advertisement)m 11(\(the)m 10 r 84 c (OS)s 10 r 48 c 10(metric\).)m 14(This)m 10(would)m 11(mean)m 10(that)m 11(paths)m 10(for)m 0 1202 p (non-zero)s 10 r 84 c (OS)s 10(exist,)m 10(but)m 11(are)m 10(equivalent)m 11(to)m 10(the)m 11 r 84 c (OS)s 9 r 48 c 11(path.)m 14 r 65 c 10(link)m 10(state)m 11(advertisement')m -1 r 115 c t-bol.300 @sf 9 r 84 c -3(-bit)m t-rom.300 @sf 10(is)m 10(examined)m 10(when)m 0 1252 p (calculating)s 10(the)m 11(routing)m 10(table')m -1 r 115 c 9(non-zero)m 11 r 84 c (OS)s 9(paths)m 11(\(see)m 10(Section)m 11(16.9\).)m t-bol.300 @sf 0 1380 p (12.1.3)s 42(LS)m 10(type)m t-rom.300 @sf 0 1476 p (The)s 10(LS)m 11(type)m 10(\014eld)m 11(dictates)m 10(the)m 10(format)m 11(and)m 10(function)m 11(of)m 10(the)m 11(link)m 10(state)m 10(advertisement.)m 14(Advertisements)m 11(of)m 10(dif)m (ferent)s 10(types)m 0 1526 p (have)s 10(dif)m (ferent)s 10(names)m 10(\(e.g.,)m 11(router)m 10(links)m 11(or)m 10(network)m 11(links\).)m 13(All)m 11(advertisement)m 10(types,)m 11(except)m 10(the)m 11(AS)m 10(external)m 10(link)m 0 1576 p (advertisements)s 10(\(LS)m 11(type)m cmr10.300 @sf 10 r 61 c t-rom.300 @sf 11(5\),)m 10(are)m 10(\015ooded)m 11(throughout)m 10 r 97 c 11(single)m 10(area)m 11(only)m -2 r 46 c 13(AS)m 10(external)m 11(link)m 10(advertisements)m 10(are)m 11(\015ooded)m 0 1625 p (throughout)s 10(the)m 11(entire)m 10(Autonomous)m 11(System,)m 10(excepting)m 10(stub)m 11(areas)m 10(\(see)m 11(Section)m 10(3.6\).)m 14(Each)m 10(separate)m 11(advertisement)m 10(type)m 0 1675 p (is)s 10(brie\015y)m 11(described)m 10(below)m 11(in)m 10 r 84 c -2(able)m 10(15.)m t-bol.300 @sf 0 1813 p (12.1.4)s 42(Link)m 10(State)m 10(ID)m t-rom.300 @sf 0 1908 p (This)s 10(\014eld)m 11(identi\014es)m 10(the)m 11(piece)m 10(of)m 10(the)m 11(routing)m 10(domain)m 11(that)m 10(is)m 11(being)m 10(described)m 10(by)m 11(the)m 10(advertisement.)m 14(Depending)m 11(on)m 10(the)m 0 1958 p (advertisement')s -1 r 115 c 9(LS)m 11(type,)m 10(the)m 10(Link)m 11(State)m 10(ID)m 11(takes)m 10(on)m 10(the)m 11(values)m 10(listed)m 11(in)m 10 r 84 c -2(able)m 10(16.)m 0 2035 p (Actually)s -2 r 44 c 10(for)m 10 r 84 c -2(ype)m 10 r 51 c 10(summary)m 10(link)m 11(\(LS)m 10(type)m cmr10.300 @sf 11 r 61 c t-rom.300 @sf 10(3\))m 11(advertisements)m 10(and)m 10(AS)m 11(external)m 10(link)m 11(\(LS)m 10(type)m cmr10.300 @sf 10 r 61 c t-rom.300 @sf 11(5\))m 10(advertisements,)m 0 2085 p (the)s 10(Link)m 11(State)m 10(ID)m 11(may)m 10(additionally)m 10(have)m 11(one)m 10(or)m 11(more)m 10(of)m 11(the)m 10(destination)m 10(network')m -1 r 115 c 10(\\host")m 10(bits)m 10(set.)m 14(For)m 11(example,)m 10(when)m 0 2134 p (originating)s 10(an)m 11(AS)m 10(external)m 11(link)m 10(for)m 10(the)m 11(network)m c-med.300 @sf 10(10.0.0.0)m t-rom.300 @sf 11(with)m 10(mask)m 11(of)m c-med.300 @sf 10(255.0.0.0)m t-rom.300 @sf 44 c 10(the)m 11(Link)m 10(State)m 11(ID)m 10(can)m 10(be)m 11(set)m 0 2184 p (to)s 10(anything)m 11(in)m 10(the)m 11(range)m c-med.300 @sf 10(10.0.0.0)m t-rom.300 @sf 10(through)m c-med.300 @sf 11(10.255.255.255)m t-rom.300 @sf 10(inclusive)m 11(\(although)m c-med.300 @sf 10(10.0.0.0)m t-rom.300 @sf 11(should)m 10(be)m 10(used)m 0 2234 p (whenever)s 10(possible\).)m 14(The)m 11(freedom)m 10(to)m 11(set)m 10(certain)m 10(host)m 11(bits)m 10(allows)m 11 r 97 c 10(router)m 10(to)m 11(originate)m 10(separate)m 11(advertisements)m 10(for)m 11(two)m 0 2284 p (networks)s 10(having)m 11(the)m 10(same)m 11(address)m 10(but)m 10(dif)m (ferent)s 10(masks.)m 14(See)m 10(Appendix)m 11 r 70 c 10(for)m 11(details.)m 0 2352 p (When)s 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(is)m 10(describing)m 11 r 97 c 10(network)m 11(\(LS)m 10(type)m cmr10.300 @sf 11 r 61 c t-rom.300 @sf 10(2,)m 10 r 51 c 11(or)m 10(5\),)m 11(the)m 10(network')m -1 r 115 c 9(IP)m 11(address)m 10(is)m 10(easily)m 0 2401 p (derived)s 10(by)m 11(masking)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(with)m 10(the)m 11(network/subnet)m 10(mask)m 11(contained)m 10(in)m 10(the)m 11(body)m 10(of)m 11(the)m 10(link)m 10(state)m 0 2437 p 780 2 ru t-rom.180 @sf 34 2465 p 49 c 49 c t-rom.240 @sf 60 2476 p (MaxAgeDif)s 102 c 7(is)m 7(an)m 8(architectural)m 7(constant.)m 11(It)m 7(indicates)m 7(the)m 8(maximum)m 7(dispersion)m 8(of)m 7(ages,)m 7(in)m 8(seconds,)m 7(that)m 8(can)m 7(occur)m 7(for)m 8 r 97 c 7(single)m 8(link)m 7(state)m 7(instance)m 0 2516 p (as)s 10(it)m 11(is)m 10(\015ooded)m 10(throughout)m 10(the)m 11(routing)m 10(domain.)m 17(If)m 10(two)m 10(advertisements)m 10(dif)m (fer)s 10(by)m 10(more)m 11(than)m 10(this,)m 11(they)m 10(are)m 10(assumed)m 10(to)m 11(be)m 10(dif)m (ferent)s 10(instances)m 10(of)m 10(the)m 0 2555 p (same)s 9(advertisement.)m 13(This)m 8(can)m 9(occur)m 9(when)m 9 r 97 c 9(router)m 9(restarts)m 9(and)m 9(loses)m 8(track)m 9(of)m 9(the)m 9(advertisement')m -1 r 115 c 8(previous)m 9(LS)m 9(sequence)m 9(number)m -1 r 46 c 12(See)m 8(Section)m 9(13.4)m 0 2595 p (for)s 8(more)m 9(details.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(61])m @eop 62 @bop0 62 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 325 201 p 1300 2 ru 324 259 p 2 59 ru t-ita.300 @sf 350 236 p (LS)s 11(type)m 524 259 p 2 59 ru 550 236 p (Advertisement)s 10(description)m 1624 259 p 2 59 ru 325 261 p 1300 2 ru 324 411 p 2 151 ru t-rom.300 @sf 350 296 p 49 c 524 411 p 2 151 ru 550 296 p (These)s 15(are)m 15(the)m 15(router)m 15(links)m 15(advertisements.)m 27(They)m 15(describe)m 15(the)m 550 346 p (collected)s 8(states)m 8(of)m 8(the)m 8(router)m 2 r 39 c -2 r 115 c 7(interfaces.)m 14(For)m 8(more)m 8(information,)m 550 396 p (consult)s 10(Section)m 11(12.4.1.)m 1624 411 p 2 151 ru 325 413 p 1300 2 ru 324 563 p 2 151 ru 350 448 p 50 c 524 563 p 2 151 ru 550 448 p (These)s 11(are)m 11(the)m 12(network)m 11(links)m 11(advertisements.)m 17(They)m 11(describe)m 11(the)m 550 497 p (set)s 14(of)m 13(routers)m 14(attached)m 14(to)m 13(the)m 14(network.)m 24(For)m 14(more)m 13(information,)m 550 547 p (consult)s 10(Section)m 11(12.4.2.)m 1624 563 p 2 151 ru 325 564 p 1300 2 ru 324 822 p 2 259 ru 350 599 p 51 c 11(or)m 10 r 52 c 524 822 p 2 259 ru 550 599 p (These)s 18(are)m 18(the)m 18(summary)m 18(link)m 18(advertisements.)m 36(They)m 18(describe)m 550 649 p (inter)s (-area)s 25(routes,)m 29(and)m 26(enable)m 26(the)m 26(condensation)m 25(of)m 26(routing)m 550 699 p (information)s 11(at)m 11(area)m 11(borders.)m 17(Originated)m 11(by)m 11(area)m 11(border)m 11(routers,)m 550 749 p (the)s 8 r 84 c -2(ype)m 8 r 51 c 8(advertisements)m 9(describe)m 8(routes)m 9(to)m 8(networks)m 9(while)m 8(the)m 550 799 p 84 c -2(ype)m 9 r 52 c 11(advertisements)m 10(describe)m 11(routes)m 10(to)m 10(AS)m 11(boundary)m 10(routers.)m 1624 822 p 2 259 ru 325 824 p 1300 2 ru 324 1074 p 2 250 ru 350 859 p 53 c 524 1074 p 2 250 ru 550 859 p (These)s 19(are)m 20(the)m 19(AS)m 20(external)m 19(link)m 20(advertisements.)m 41(Originated)m 550 909 p (by)s 16(AS)m 15(boundary)m 16(routers,)m 17(they)m 16(describe)m 16(routes)m 16(to)m 16(destinations)m 550 959 p (external)s 15(to)m 16(the)m 15(Autonomous)m 16(System.)m 29 r 65 c 16(default)m 15(route)m 16(for)m 15(the)m 550 1008 p (Autonomous)s 13(System)m 13(can)m 14(also)m 13(be)m 13(described)m 14(by)m 13(an)m 13(AS)m 13(external)m 550 1058 p (link)s 10(advertisement.)m 1624 1074 p 2 250 ru 325 1075 p 1300 2 ru 624 1212 p 84 c -2(able)m 10(15:)m 13(OSPF)m 11(link)m 10(state)m 11(advertisements.)m 352 1310 p 1247 2 ru 351 1360 p 2 50 ru t-ita.300 @sf 377 1345 p (LS)s 10 r 84 c -2(ype)m 533 1360 p 2 50 ru 559 1345 p (Link)s 10(State)m 10(ID)m 1598 1360 p 2 50 ru 352 1362 p 1247 2 ru 351 1411 p 2 50 ru t-rom.300 @sf 432 1396 p 49 c 533 1411 p 2 50 ru 559 1396 p (The)s 10(originating)m 10(router)m 2 r 39 c -1 r 115 c 9(Router)m 11(ID.)m 1598 1411 p 2 50 ru 351 1461 p 2 50 ru 432 1446 p 50 c 533 1461 p 2 50 ru 559 1446 p (The)s 10(IP)m 10(interface)m 11(address)m 10(of)m 11(the)m 10(network')m -1 r 115 c 9(Designated)m 11(Router)m -2 r 46 c 1598 1461 p 2 50 ru 351 1511 p 2 50 ru 432 1496 p 51 c 533 1511 p 2 50 ru 559 1496 p (The)s 10(destination)m 10(network')m -1 r 115 c 10(IP)m 10(address.)m 1598 1511 p 2 50 ru 351 1561 p 2 50 ru 432 1546 p 52 c 533 1561 p 2 50 ru 559 1546 p (The)s 10(Router)m 10(ID)m 11(of)m 10(the)m 11(described)m 10(AS)m 11(boundary)m 10(router)m -1 r 46 c 1598 1561 p 2 50 ru 351 1611 p 2 50 ru 432 1596 p 53 c 533 1611 p 2 50 ru 559 1596 p (The)s 10(destination)m 10(network')m -1 r 115 c 10(IP)m 10(address.)m 1598 1611 p 2 50 ru 352 1612 p 1247 2 ru 598 1749 p 84 c -2(able)m 10(16:)m 13(The)m 11(advertisement')m -1 r 115 c 9(Link)m 10(State)m 11(ID.)m 0 1874 p (advertisement.)s 14(When)m 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(is)m 10(describing)m 11 r 97 c 10(router)m 11(\(LS)m 10(type)m cmr10.300 @sf 10 r 61 c t-rom.300 @sf 11 r 49 c 10(or)m 11(4\),)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(is)m 0 1924 p (always)s 10(the)m 11(described)m 10(router)m 2 r 39 c -2 r 115 c 10(OSPF)m 10(Router)m 11(ID.)m 0 1992 p (When)s 10(an)m 11(AS)m 10(external)m 11(advertisement)m 10(\(LS)m 10 r 84 c -1(ype)m cmr10.300 @sf 9 r 61 c t-rom.300 @sf 10(5\))m 11(is)m 10(describing)m 11 r 97 c 10(default)m 10(route,)m 11(its)m 10(Link)m 11(State)m 10(ID)m 11(is)m 10(set)m 10(to)m 0 2042 p (DefaultDestination)s 10 r 40 c c-med.300 @sf (0.0.0.0)s t-rom.300 @sf (\).)s t-bol.300 @sf 0 2170 p (12.1.5)s 42(Advertising)m 10(Router)m t-rom.300 @sf 0 2266 p (This)s 10(\014eld)m 11(speci\014es)m 10(the)m 11(OSPF)m 10(Router)m 10(ID)m 11(of)m 10(the)m 11(advertisement')m -2 r 115 c 10(originator)m -1 r 46 c 12(For)m 11(router)m 10(links)m 11(advertisements,)m 10(this)m 11(\014eld)m 0 2316 p (is)s 10(identical)m 11(to)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(\014eld.)m 14(Network)m 10(link)m 11(advertisements)m 10(are)m 10(originated)m 11(by)m 10(the)m 11(network')m -2 r 115 c 10(Designated)m 0 2365 p (Router)s -1 r 46 c 13(Summary)m 10(link)m 10(advertisements)m 11(are)m 10(originated)m 11(by)m 10(area)m 11(border)m 10(routers.)m 14(AS)m 10(external)m 11(link)m 10(advertisements)m 10(are)m 0 2415 p (originated)s 10(by)m 11(AS)m 10(boundary)m 11(routers.)m 0 2723 p (Moy)s 1710([Page)m 11(62])m @eop 63 @bop0 cmmi10.300 @sf [ 40 28 -2 0 33.352] 78 @dc cmsy10.300 @sf [ 32 2 -3 -9 32.286] 0 @dc cmr10.300 @sf [<000600000006000000060000000600000006000000060000000600000006000000060000000600 00000600000006000000060000FFFFFFE0FFFFFFE0000600000006000000060000000600000006 00000006000000060000000600000006000000060000000600000006000000060000> 32 28 -2 4 32.286] 43 @dc 63 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (12.1.6)s 42(LS)m 10(sequence)m 10(number)m t-rom.300 @sf 0 291 p (The)s 10(sequence)m 11(number)m 10(\014eld)m 11(is)m 10 r 97 c 10(signed)m 11(32-bit)m 10(integer)m -1 r 46 c 13(It)m 10(is)m 11(used)m 10(to)m 11(detect)m 10(old)m 10(and)m 11(duplicate)m 10(link)m 11(state)m 10(advertisements.)m 0 341 p (The)s 10(space)m 11(of)m 10(sequence)m 11(numbers)m 10(is)m 10(linearly)m 11(ordered.)m 14(The)m 10(lar)m (ger)s 10(the)m 10(sequence)m 11(number)m 10(\(when)m 11(compared)m 10(as)m 10(signed)m 0 390 p (32-bit)s 10(integers\))m 11(the)m 10(more)m 11(recent)m 10(the)m 10(advertisement.)m 14 r 84 c -2 r 111 c 10(describe)m 10(to)m 11(sequence)m 10(number)m 11(space)m 10(more)m 10(precisely)m -1 r 44 c 9(let)m cmmi10.300 @sf 11 r 78 c t-rom.300 @sf 14(refer)m 0 440 p (in)s 10(the)m 11(discussion)m 10(below)m 11(to)m 10(the)m 10(constant)m 11 r 50 c t-rom.210 @sf 675 425 p (31)s t-rom.300 @sf 706 440 p 46 c 0 508 p (The)s 10(sequence)m 11(number)m cmsy10.300 @sf 10 r 0 c cmmi10.300 @sf 78 c t-rom.300 @sf 15 r 40 c c-med.300 @sf (0x80000000)s t-rom.300 @sf 41 c 11(is)m 10(reserved)m 10(\(and)m 11(unused\).)m 14(This)m 10(leaves)m cmsy10.300 @sf 11 r 0 c cmmi10.300 @sf 78 c cmr10.300 @sf 13 r 43 c t-rom.300 @sf 10 r 49 c 10 r 40 c c-med.300 @sf (0x80000001)s t-rom.300 @sf 41 c 10(as)m 11(the)m 0 558 p (smallest)s 10(\(and)m 11(therefore)m 10(oldest\))m 11(sequence)m 10(number)m -1 r 46 c 13 r 65 c 10(router)m 11(uses)m 10(this)m 10(sequence)m 11(number)m 10(the)m 11(\014rst)m 10(time)m 10(it)m 11(originates)m 10(any)m 0 608 p (link)s 10(state)m 11(advertisement.)m 14(Afterwards,)m 10(the)m 11(advertisement')m -2 r 115 c 10(sequence)m 10(number)m 11(is)m 10(incremented)m 10(each)m 11(time)m 10(the)m 11(router)m 0 657 p (originates)s 10 r 97 c 11(new)m 10(instance)m 11(of)m 10(the)m 10(advertisement.)m 14(When)m 11(an)m 10(attempt)m 11(is)m 10(made)m 10(to)m 11(increment)m 10(the)m 11(sequence)m 10(number)m 11(past)m 10(the)m 0 707 p (maximum)s 10(value)m 11(of)m cmmi10.300 @sf 10 r 78 c cmsy10.300 @sf 14 r 0 c t-rom.300 @sf 9 r 49 c 11 r 40 c c-med.300 @sf (0x7fffffff)s t-rom.300 @sf (\),)s 10(the)m 10(current)m 11(instance)m 10(of)m 11(the)m 10(advertisement)m 11(must)m 10(\014rst)m 10(be)m 11(\015ushed)m 10(from)m 11(the)m 0 757 p (routing)s 10(domain.)m 14(This)m 10(is)m 10(done)m 10(by)m 10(prematurely)m 10(aging)m 10(the)m 10(advertisement)m 10(\(see)m 10(Section)m 10(14.1\))m 10(and)m 10(re\015ooding)m 10(it.)m 13(As)m 10(soon)m 10(as)m 0 807 p (this)s 10(\015ood)m 11(has)m 10(been)m 11(acknowledged)m 10(by)m 10(all)m 11(adjacent)m 10(neighbors,)m 11 r 97 c 10(new)m 11(instance)m 10(can)m 10(be)m 11(originated)m 10(with)m 11(sequence)m 10(number)m 0 857 p (of)s cmsy10.300 @sf 10 r 0 c cmmi10.300 @sf 78 c cmr10.300 @sf 14 r 43 c t-rom.300 @sf 9 r 49 c 11 r 40 c c-med.300 @sf (0x80000001)s t-rom.300 @sf (\).)s 0 924 p (The)s 10(router)m 11(may)m 10(be)m 11(forced)m 10(to)m 10(promote)m 11(the)m 10(sequence)m 11(number)m 10(of)m 11(one)m 10(of)m 10(its)m 11(advertisements)m 10(when)m 11 r 97 c 10(more)m 10(recent)m 11(instance)m 0 974 p (of)s 10(the)m 11(advertisement)m 10(is)m 11(unexpectedly)m 10(received)m 10(during)m 11(the)m 10(\015ooding)m 11(process.)m 14(This)m 10(should)m 10(be)m 11 r 97 c 10(rare)m 11(event.)m 14(This)m 10(may)m 0 1024 p (indicate)s 10(that)m 10(an)m 10(out-of-date)m 9(advertisement,)m 10(originated)m 10(by)m 10(the)m 10(router)m 10(itself)m 10(before)m 10(its)m 9(last)m 10(restart/reload,)m 10(still)m 10(exists)m 10(in)m 10(the)m 0 1074 p (Autonomous)s 10(System.)m 14(For)m 11(more)m 10(information)m 11(see)m 10(Section)m 10(13.4.)m t-bol.300 @sf 0 1202 p (12.1.7)s 42(LS)m 10(checksum)m t-rom.300 @sf 0 1298 p (This)s 10(\014eld)m 11(is)m 10(the)m 11(checksum)m 10(of)m 10(the)m 11(complete)m 10(contents)m 11(of)m 10(the)m 11(advertisement,)m 10(excepting)m 10(the)m 11(LS)m 10(age)m 11(\014eld.)m 14(The)m 10(LS)m 10(age)m 0 1348 p (\014eld)s 10(is)m 11(excepted)m 10(so)m 11(that)m 10(an)m 10(advertisement')m -1 r 115 c 10(age)m 10(can)m 10(be)m 11(incremented)m 10(without)m 11(updating)m 10(the)m 11(checksum.)m 13(The)m 11(checksum)m 0 1397 p (used)s 10(is)m 11(the)m 10(same)m 11(that)m 10(is)m 10(used)m 11(for)m 10(ISO)m 11(connectionless)m 10(datagrams;)m 11(it)m 10(is)m 10(commonly)m 11(referred)m 10(to)m 11(as)m 10(the)m 10(Fletcher)m 11(checksum.)m 0 1447 p (It)s 10(is)m 11(documented)m 10(in)m 11(Annex)m 10 r 66 c 10(of)m 11([RFC)m 10(905].)m 14(The)m 11(link)m 10(state)m 10(advertisement)m 11(header)m 10(also)m 11(contains)m 10(the)m 11(length)m 10(of)m 10(the)m 0 1497 p (advertisement)s 10(in)m 11(bytes;)m 10(subtracting)m 11(the)m 10(size)m 10(of)m 11(the)m 10(LS)m 11(age)m 10(\014eld)m 11(\(two)m 10(bytes\))m 10(yields)m 11(the)m 10(amount)m 11(of)m 10(data)m 10(to)m 11(checksum.)m 0 1565 p (The)s 10(checksum)m 11(is)m 10(used)m 11(to)m 10(detect)m 10(data)m 11(corruption)m 10(of)m 11(an)m 10(advertisement.)m 14(This)m 10(corruption)m 11(can)m 10(occur)m 11(while)m 10(an)m 0 1614 p (advertisement)s 10(is)m 11(being)m 10(\015ooded,)m 11(or)m 10(while)m 10(it)m 11(is)m 10(being)m 11(held)m 10(in)m 11 r 97 c 10(router)m 2 r 39 c -2 r 115 c 10(memory)m -2 r 46 c 13(The)m 10(LS)m 11(checksum)m 10(\014eld)m 11(cannot)m 10(take)m 10(on)m 0 1664 p (the)s 10(value)m 11(of)m 10(zero;)m 11(the)m 10(occurrence)m 10(of)m 11(such)m 10 r 97 c 11(value)m 10(should)m 11(be)m 10(considered)m 10 r 97 c 11(checksum)m 10(failure.)m 14(In)m 11(other)m 10(words,)m 0 1714 p (calculation)s 10(of)m 11(the)m 10(checksum)m 11(is)m 10(not)m 10(optional.)m 0 1782 p (The)s 10(checksum)m 11(of)m 10 r 97 c 11(link)m 10(state)m 10(advertisement)m 11(is)m 10(veri\014ed)m 11(in)m 10(two)m 11(cases:)m 13(a\))m 11(when)m 10(it)m 11(is)m 10(received)m 11(in)m 10 r 97 c 10(Link)m 11(State)m 10(Update)m 0 1832 p (Packet)s 10(and)m 11(b\))m 10(at)m 11(times)m 10(during)m 10(the)m 11(aging)m 10(of)m 11(the)m 10(link)m 11(state)m 10(database.)m 14(The)m 10(detection)m 11(of)m 10 r 97 c 11(checksum)m 10(failure)m 10(leads)m 11(to)m 0 1881 p (separate)s 10(actions)m 11(in)m 10(each)m 11(case.)m 14(See)m 10(Sections)m 10(13)m 11(and)m 10(14)m 11(for)m 10(more)m 10(details.)m 0 1949 p (Whenever)s 10(the)m 11(LS)m 10(sequence)m 11(number)m 10(\014eld)m 10(indicates)m 11(that)m 10(two)m 11(instances)m 10(of)m 11(an)m 10(advertisement)m 10(are)m 11(the)m 10(same,)m 11(the)m 10(LS)m 0 1999 p (checksum)s 10(\014eld)m 11(is)m 10(examined.)m 14(If)m 11(there)m 10(is)m 10 r 97 c 11(dif)m (ference,)s 9(the)m 11(instance)m 10(with)m 11(the)m 10(lar)m (ger)s 10(LS)m 10(checksum)m 11(is)m 10(considered)m 10(to)m 11(be)m 0 2049 p (most)s 10(recent.)m t-rom.210 @sf 218 2034 p (12)s t-rom.300 @sf 263 2049 p (See)s 10(Section)m 11(13.1)m 10(for)m 10(more)m 11(details.)m t-bol.360 @sf 0 2185 p (12.2)s 50(The)m 12(link)m 13(state)m 12(database)m t-rom.300 @sf 0 2281 p 65 c 10(router)m 11(has)m 10 r 97 c 11(separate)m 10(link)m 10(state)m 11(database)m 10(for)m 11(every)m 10(area)m 11(to)m 10(which)m 10(it)m 11(belongs.)m 14(The)m 10(link)m 11(state)m 10(database)m 10(has)m 11(been)m 0 2331 p (referred)s 10(to)m 11(elsewhere)m 10(in)m 11(the)m 10(text)m 10(as)m 11(the)m 10(topological)m 11(database.)m 14(All)m 10(routers)m 10(belonging)m 11(to)m 10(the)m 11(same)m 10(area)m 11(have)m 10(identical)m 0 2381 p (topological)s 10(databases)m 11(for)m 10(the)m 11(area.)m 0 2416 p 780 2 ru t-rom.180 @sf 33 2444 p (12)s t-rom.240 @sf 60 2456 p (When)s 8(two)m 9(advertisements)m 8(have)m 9(dif)m (ferent)s 8(LS)m 8(checksums,)m 9(they)m 8(are)m 9(assumed)m 8(to)m 9(be)m 8(separate)m 8(instances.)m 12(This)m 8(can)m 9(occur)m 8(when)m 9 r 97 c 8(router)m 9(restarts,)m 8(and)m 0 2495 p (loses)s 9(track)m 8(of)m 9(the)m 9(advertisement')m -1 r 115 c 8(previous)m 9(LS)m 8(sequence)m 9(number)m -1 r 46 c 12(In)m 8(the)m 9(case)m 9(where)m 9(the)m 8(two)m 9(advertisements)m 9(have)m 9(the)m 8(same)m 9(LS)m 9(sequence)m 9(number)m -1 r 44 c 8(it)m 0 2535 p (is)s 8(not)m 7(possible)m 8(to)m 8(determine)m 7(which)m 8(link)m 8(state)m 7(is)m 8(actually)m 8(newer)m -1 r 46 c 10(If)m 7(the)m 8(wrong)m 8(advertisement)m 7(is)m 8(accepted)m 8(as)m 7(newer)m 44 c 7(the)m 7(originating)m 8(router)m 8(will)m 7(originate)m 0 2574 p (another)s 8(instance.)m 11(See)m 9(Section)m 8(13.4)m 8(for)m 9(further)m 8(details.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(63])m @eop 64 @bop0 64 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (The)s 10(databases)m 11(for)m 10(each)m 11(individual)m 10(area)m 10(are)m 11(always)m 10(dealt)m 11(with)m 10(separately)m -2 r 46 c 13(The)m 11(shortest)m 10(path)m 11(calculation)m 10(is)m 10(performed)m 0 245 p (separately)s 10(for)m 11(each)m 10(area)m 11(\(see)m 10(Section)m 10(16\).)m 14(Components)m 11(of)m 10(the)m 11(area)m 10(topological)m 10(database)m 11(are)m 10(\015ooded)m 11(throughout)m 10(the)m 0 295 p (area)s 10(only)m -1 r 46 c 13(Finally)m -2 r 44 c 9(when)m 11(an)m 10(adjacency)m 11(\(belonging)m 10(to)m 10(Area)m 11(A\))m 10(is)m 11(being)m 10(brought)m 10(up,)m 11(only)m 10(the)m 11(database)m 10(for)m 11(Area)m 10 r 65 c 10(is)m 0 345 p (synchronized)s 10(between)m 11(the)m 10(two)m 11(routers.)m 0 412 p (The)s 10(area)m 11(database)m 10(is)m 11(composed)m 10(of)m 10(router)m 11(links)m 10(advertisements,)m 11(network)m 10(links)m 11(advertisements,)m 10(and)m 10(summary)m 11(link)m 0 462 p (advertisements)s 10(\(all)m 11(listed)m 10(in)m 11(the)m 10(area)m 10(data)m 11(structure\).)m 14(In)m 10(addition,)m 11(external)m 10(routes)m 10(\(AS)m 11(external)m 10(advertisements\))m 11(are)m 0 511 p (included)s 10(in)m 11(all)m 10(non-stub)m 11(area)m 10(databases)m 10(\(see)m 11(Section)m 10(3.6\).)m 0 579 p (An)s 10(implementation)m 11(of)m 10(OSPF)m 11(must)m 10(be)m 10(able)m 11(to)m 10(access)m 11(individual)m 10(pieces)m 11(of)m 10(an)m 10(area)m 11(database.)m 14(This)m 10(lookup)m 11(function)m 10(is)m 0 628 p (based)s 10(on)m 11(an)m 10(advertisement')m -1 r 115 c 9(LS)m 11(type,)m 10(Link)m 11(State)m 10(ID)m 10(and)m 11(Advertising)m 10(Router)m -1 r 46 c t-rom.210 @sf 1281 613 p (13)s t-rom.300 @sf 1326 628 p (There)s 11(will)m 10(be)m 10 r 97 c 11(single)m 10(instance)m 11(\(the)m 0 678 p (most)s 10(up-to-date\))m 10(of)m 10(each)m 11(link)m 10(state)m 10(advertisement)m 10(in)m 10(the)m 10(database.)m 14(The)m 10(database)m 10(lookup)m 10(function)m 11(is)m 10(invoked)m 10(during)m 10(the)m 0 728 p (link)s 10(state)m 11(\015ooding)m 10(procedure)m 11(\(Section)m 10(13\))m 10(and)m 11(the)m 10(routing)m 11(table)m 10(calculation)m 11(\(Section)m 10(16\).)m 14(In)m 10(addition,)m 11(using)m 10(this)m 0 778 p (lookup)s 10(function)m 11(the)m 10(router)m 11(can)m 10(determine)m 10(whether)m 11(it)m 10(has)m 11(itself)m 10(ever)m 11(originated)m 10 r 97 c 10(particular)m 11(link)m 10(state)m 11(advertisement,)m 0 828 p (and)s 10(if)m 11(so,)m 10(with)m 11(what)m 10(LS)m 10(sequence)m 11(number)m -1 r 46 c 0 895 p 65 c 10(link)m 11(state)m 10(advertisement)m 11(is)m 10(added)m 10(to)m 11 r 97 c 10(router)m 2 r 39 c -1 r 115 c 9(database)m 10(when)m 11(either)m 10(a\))m 11(it)m 10(is)m 10(received)m 11(during)m 10(the)m 11(\015ooding)m 10(process)m 0 945 p (\(Section)s 10(13\))m 11(or)m 10(b\))m 11(it)m 10(is)m 10(originated)m 11(by)m 10(the)m 11(router)m 10(itself)m 11(\(Section)m 10(12.4\).)m 14 r 65 c 10(link)m 11(state)m 10(advertisement)m 11(is)m 10(deleted)m 10(from)m 11 r 97 c 0 995 p (router)s 2 r 39 c -2 r 115 c 10(database)m 10(when)m 10(either)m 11(a\))m 10(it)m 11(has)m 10(been)m 11(overwritten)m 10(by)m 10 r 97 c 11(newer)m 10(instance)m 11(during)m 10(the)m 10(\015ooding)m 11(process)m 10(\(Section)m 11(13\))m 0 1044 p (or)s 10(b\))m 11(the)m 10(router)m 11(originates)m 10 r 97 c 10(newer)m 11(instance)m 10(of)m 11(one)m 10(of)m 11(its)m 10(self-originated)m 10(advertisements)m 11(\(Section)m 10(12.4\))m 11(or)m 10(c\))m 10(the)m 0 1094 p (advertisement)s 10(ages)m 11(out)m 10(and)m 11(is)m 10(\015ushed)m 10(from)m 11(the)m 10(routing)m 11(domain)m 10(\(Section)m 11(14\).)m 13(Whenever)m 11 r 97 c 10(link)m 11(state)m 10(advertisement)m 11(is)m 0 1144 p (deleted)s 10(from)m 11(the)m 10(database)m 11(it)m 10(must)m 10(also)m 11(be)m 10(removed)m 11(from)m 10(all)m 11(neighbors')m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (etransmission)s 9(lists)m t-rom.300 @sf 11(\(see)m 0 1194 p (Section)s 10(10\).)m t-bol.360 @sf 0 1330 p (12.3)s 50(Repr)m (esentation)s 12(of)m 12 r 84 c (OS)s t-rom.300 @sf 0 1425 p (All)s 10(OSPF)m 11(link)m 10(state)m 11(advertisements)m 10(\(with)m 10(the)m 11(exception)m 10(of)m 11(network)m 10(links)m 11(advertisements\))m 10(specify)m 10(metrics.)m 14(In)m 11(router)m 0 1475 p (links)s 10(advertisements,)m 11(the)m 10(metrics)m 11(indicate)m 10(the)m 10(costs)m 11(of)m 10(the)m 11(described)m 10(interfaces.)m 14(In)m 10(summary)m 11(link)m 10(and)m 11(AS)m 10(external)m 11(link)m 0 1525 p (advertisements,)s 10(the)m 11(metric)m 10(indicates)m 11(the)m 10(cost)m 10(of)m 11(the)m 10(described)m 11(path.)m 14(In)m 10(all)m 10(of)m 11(these)m 10(advertisements,)m 11 r 97 c 10(separate)m 11(metric)m 0 1575 p (can)s 10(be)m 11(speci\014ed)m 10(for)m 11(each)m 10(IP)m 10 r 84 c (OS.)s 14(The)m 10(encoding)m 10(of)m 11 r 84 c (OS)s 10(in)m 10(OSPF)m 10(link)m 11(state)m 10(advertisements)m 11(is)m 10(speci\014ed)m 10(in)m 11 r 84 c -2(able)m 9(17.)m 0 1624 p (That)s 10(table)m 11(relates)m 10(the)m 11(OSPF)m 10(encoding)m 10(to)m 11(the)m 10(IP)m 11(packet)m 10(header)m 2 r 39 c -2 r 115 c 10 r 84 c (OS)s 9(\014eld)m 11(\(de\014ned)m 10(in)m 11([RFC)m 10(1349]\).)m 14(The)m 10(OSPF)m 0 1674 p (encoding)s 10(is)m 11(expressed)m 10(as)m 11 r 97 c 10(decimal)m 10(integer)m 44 c 9(and)m 11(the)m 10(IP)m 10(packet)m 11(header)m 1 r 39 c -1 r 115 c 10 r 84 c (OS)s 9(\014eld)m 11(is)m 10(expressed)m 10(in)m 11(the)m 10(binary)m 11 r 84 c (OS)s 0 1724 p (values)s 10(used)m 11(in)m 10([RFC)m 11(1349].)m 0 1798 p (Each)s 10(OSPF)m 11(link)m 10(state)m 11(advertisement)m 10(must)m 10(specify)m 11(the)m 10 r 84 c (OS)s 10 r 48 c 10(metric.)m 14(Other)m 11 r 84 c (OS)s 9(metrics,)m 11(if)m 10(they)m 11(appear)m -1 r 44 c 9(must)m 11(appear)m 0 1848 p (in)s 10(order)m 11(of)m 10(increasing)m 11 r 84 c (OS)s 9(encoding.)m 14(For)m 11(example,)m 10(the)m 10 r 84 c (OS)s 10 r 56 c 11(\(maximize)m 10(throughput\))m 10(metric)m 11(must)m 10(always)m 11(appear)m 0 1897 p (before)s 10(the)m 11 r 84 c (OS)s 9(16)m 11(\(minimize)m 10(delay\))m 11(metric)m 10(when)m 11(both)m 10(are)m 10(speci\014ed.)m 14(If)m 11 r 97 c 10(metric)m 11(for)m 10(some)m 10(non-zero)m 11 r 84 c (OS)s 9(is)m 11(not)m 0 1947 p (speci\014ed,)s 10(its)m 11(cost)m 10(defaults)m 11(to)m 10(the)m 10(cost)m 11(for)m 10 r 84 c (OS)s 10(0,)m 10(unless)m 11(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(is)m 10(reset)m 11(in)m 10(the)m 10(advertisement')m -1 r 115 c 10(Options)m 10(\014eld)m 10(\(see)m 0 1997 p (Section)s 10(12.1.2)m 11(for)m 10(more)m 11(details\).)m t-bol.360 @sf 0 2133 p (12.4)s 50(Originating)m 12(link)m 13(state)m 12(advertisements)m t-rom.300 @sf 0 2228 p (Into)s 10(any)m 11(given)m 10(OSPF)m 11(area,)m 10 r 97 c 10(router)m 11(will)m 10(originate)m 11(several)m 10(link)m 11(state)m 10(advertisements.)m 14(Each)m 10(router)m 11(originates)m 10 r 97 c 11(router)m 0 2278 p (links)s 10(advertisement.)m 14(If)m 11(the)m 10(router)m 11(is)m 10(also)m 10(the)m 11(Designated)m 10(Router)m 11(for)m 10(any)m 10(of)m 11(the)m 10(area')m -1 r 115 c 9(networks,)m 11(it)m 10(will)m 11(originate)m 0 2328 p (network)s 10(links)m 11(advertisements)m 10(for)m 11(those)m 10(networks.)m 0 2395 p (Area)s 10(border)m 11(routers)m 10(originate)m 11 r 97 c 10(single)m 10(summary)m 11(link)m 10(advertisement)m 11(for)m 10(each)m 11(known)m 10(inter)m (-area)s 10(destination.)m 13(AS)m 0 2445 p (boundary)s 10(routers)m 11(originate)m 10 r 97 c 11(single)m 10(AS)m 10(external)m 11(link)m 10(advertisement)m 11(for)m 10(each)m 11(known)m 10(AS)m 10(external)m 11(destination.)m 0 2480 p 780 2 ru t-rom.180 @sf 33 2508 p (13)s t-rom.240 @sf 60 2520 p (There)s 9(is)m 8(one)m 9(instance)m 8(where)m 9 r 97 c 9(lookup)m 8(must)m 9(be)m 8(done)m 9(based)m 9(on)m 8(partial)m 9(information.)m 12(This)m 8(is)m 9(during)m 9(the)m 8(routing)m 9(table)m 9(calculation,)m 8(when)m 9 r 97 c 8(network)m 0 2559 p (links)s 12(advertisement)m 11(must)m 12(be)m 12(found)m 11(based)m 12(solely)m 12(on)m 11(its)m 12(Link)m 12(State)m 11(ID.)m 12(The)m 12(lookup)m 11(in)m 12(this)m 12(case)m 11(is)m 12(still)m 12(well)m 11(de\014ned,)m 13(since)m 12(no)m 11(two)m 12(network)m 12(links)m 0 2599 p (advertisements)s 8(can)m 9(have)m 8(the)m 8(same)m 9(Link)m 8(State)m 8(ID.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(64])m @eop 65 @bop0 65 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 544 201 p 862 2 ru 544 251 p 2 50 ru t-ita.300 @sf 569 236 p (OSPF)s 11(encoding)m 858 251 p 2 50 ru 884 236 p (RFC)s 11(1349)m 10 r 84 c (OS)s 10(values)m 1405 251 p 2 50 ru 544 252 p 862 2 ru 544 302 p 2 50 ru t-rom.300 @sf 691 287 p 48 c 858 302 p 2 50 ru 884 287 p (0000)s 11(normal)m 10(service)m 1405 302 p 2 50 ru 544 352 p 2 50 ru 691 337 p 50 c 858 352 p 2 50 ru 884 337 p (0001)s 11(minimize)m 10(monetary)m 10(cost)m 1405 352 p 2 50 ru 544 402 p 2 50 ru 691 387 p 52 c 858 402 p 2 50 ru 884 387 p (0010)s 11(maximize)m 10(reliability)m 1405 402 p 2 50 ru 544 452 p 2 50 ru 691 437 p 54 c 858 452 p 2 50 ru 884 437 p (001)s 49 c 1405 452 p 2 50 ru 544 501 p 2 50 ru 691 486 p 56 c 858 501 p 2 50 ru 884 486 p (0100)s 11(maximize)m 10(throughput)m 1405 501 p 2 50 ru 544 551 p 2 50 ru 681 536 p (10)s 858 551 p 2 50 ru 884 536 p (0101)s 1405 551 p 2 50 ru 544 601 p 2 50 ru 681 586 p (12)s 858 601 p 2 50 ru 884 586 p (01)s (10)s 1405 601 p 2 50 ru 544 651 p 2 50 ru 681 636 p (14)s 858 651 p 2 50 ru 884 636 p (01)s 49 c -2 r 49 c 1405 651 p 2 50 ru 544 701 p 2 50 ru 681 686 p (16)s 858 701 p 2 50 ru 884 686 p (1000)s 11(minimize)m 10(delay)m 1405 701 p 2 50 ru 544 751 p 2 50 ru 681 736 p (18)s 858 751 p 2 50 ru 884 736 p (1001)s 1405 751 p 2 50 ru 544 800 p 2 50 ru 681 785 p (20)s 858 800 p 2 50 ru 884 785 p (1010)s 1405 800 p 2 50 ru 544 850 p 2 50 ru 681 835 p (22)s 858 850 p 2 50 ru 884 835 p (101)s 49 c 1405 850 p 2 50 ru 544 900 p 2 50 ru 681 885 p (24)s 858 900 p 2 50 ru 884 885 p 49 c (100)s 1405 900 p 2 50 ru 544 950 p 2 50 ru 681 935 p (26)s 858 950 p 2 50 ru 884 935 p 49 c (101)s 1405 950 p 2 50 ru 544 1000 p 2 50 ru 681 985 p (28)s 858 1000 p 2 50 ru 884 985 p 49 c 49 c -2(10)m 1405 1000 p 2 50 ru 544 1049 p 2 50 ru 681 1034 p (30)s 858 1049 p 2 50 ru 884 1034 p 49 c 49 c -2 r 49 c -1 r 49 c 1405 1049 p 2 50 ru 544 1051 p 862 2 ru 656 1188 p 84 c -2(able)m 10(17:)m 14(Representing)m 10 r 84 c (OS)s 10(in)m 10(OSPF)m -2 r 46 c 0 1312 p (Destinations)s 10(are)m 11(advertised)m 10(one)m 11(at)m 10 r 97 c 10(time)m 11(so)m 10(that)m 11(the)m 10(change)m 11(in)m 10(any)m 10(single)m 11(route)m 10(can)m 11(be)m 10(\015ooded)m 10(without)m 11(re\015ooding)m 10(the)m 0 1361 p (entire)s 10(collection)m 11(of)m 10(routes.)m 14(During)m 11(the)m 10(\015ooding)m 10(procedure,)m 11(many)m 10(link)m 11(state)m 10(advertisements)m 10(can)m 11(be)m 10(carried)m 11(by)m 10 r 97 c 11(single)m 0 1411 p (Link)s 10(State)m 11(Update)m 10(packet.)m 0 1474 p (As)s 10(an)m 11(example,)m 10(consider)m 11(Router)m 10 r 82 c -1(T4)m 9(in)m 10(Figure)m 11(6.)m 14(It)m 10(is)m 11(an)m 10(area)m 10(border)m 11(router)m -1 r 44 c 10(having)m 10 r 97 c 10(connection)m 11(to)m 10(Area)m 11 r 49 c 10(and)m 10(the)m 0 1523 p (backbone.)s 14(Router)m 10 r 82 c -1(T4)m 9(originates)m 11 r 53 c 10(distinct)m 10(link)m 11(state)m 10(advertisements)m 11(into)m 10(the)m 11(backbone)m 10(\(one)m 10(router)m 11(links,)m 10(and)m 11(one)m 0 1573 p (summary)s 10(link)m 11(for)m 10(each)m 11(of)m 10(the)m 10(networks)m 11(N1-N4\).)m 14(Router)m 10 r 82 c -1(T4)m 9(will)m 11(also)m 10(originate)m 10 r 56 c 11(distinct)m 10(link)m 11(state)m 10(advertisements)m 0 1623 p (into)s 10(Area)m 11 r 49 c 10(\(one)m 11(router)m 10(links)m 10(and)m 11(seven)m 10(summary)m 11(link)m 10(advertisements)m 11(as)m 10(pictured)m 10(in)m 11(Figure)m 10(7\).)m 14(If)m 11 r 82 c -2(T4)m 9(has)m 11(been)m 0 1673 p (selected)s 9(as)m 9(Designated)m 10(Router)m 9(for)m 9(Network)m 9(N3,)m 10(it)m 9(will)m 9(also)m 9(originate)m 9 r 97 c 10(network)m 9(links)m 9(advertisement)m 9(for)m 9(N3)m 9(into)m 10(Area)m 9(1.)m 0 1735 p (In)s 10(this)m 11(same)m 10(\014gure,)m 11(Router)m 10 r 82 c -1(T5)m 9(will)m 10(be)m 11(originating)m 10 r 51 c 11(distinct)m 10(AS)m 10(external)m 11(link)m 10(advertisements)m 11(\(one)m 10(for)m 11(each)m 10(of)m 10(the)m 0 1785 p (networks)s 10(N12-N14\).)m 14(These)m 11(will)m 10(be)m 11(\015ooded)m 10(throughout)m 10(the)m 11(entire)m 10(AS,)m 11(assuming)m 10(that)m 10(none)m 11(of)m 10(the)m 11(areas)m 10(have)m 11(been)m 0 1835 p (con\014gured)s 10(as)m 11(stubs.)m 14(However)m -1 r 44 c 9(if)m 11(area)m 10 r 51 c 11(has)m 10(been)m 11(con\014gured)m 10(as)m 10 r 97 c 11(stub)m 10(area,)m 11(the)m 10(external)m 10(advertisements)m 11(for)m 10(networks)m 0 1884 p (N12-N14)s 10(will)m 11(not)m 10(be)m 11(\015ooded)m 10(into)m 10(area)m 11 r 51 c 10(\(see)m 11(Section)m 10(3.6\).)m 14(Instead,)m 10(Router)m 11 r 82 c -2(T1)m -1 r 49 c 9(would)m 11(originate)m 10 r 97 c 11(default)m 10(summary)m 0 1934 p (link)s 10(advertisement)m 11(that)m 10(would)m 10(be)m 11(\015ooded)m 10(throughout)m 10(area)m 11 r 51 c 10(\(see)m 11(Section)m 10(12.4.3\).)m 14(This)m 10(instructs)m 10(all)m 11(of)m 10(area)m 10(3')m -1 r 115 c 10(internal)m 0 1984 p (routers)s 10(to)m 11(send)m 10(their)m 11(AS)m 10(external)m 10(traf)m (\014c)s 10(to)m 11 r 82 c -2(T1)m -1(1.)m 0 2046 p (Whenever)s 10 r 97 c 11(new)m 10(instance)m 11(of)m 10 r 97 c 10(link)m 11(state)m 10(advertisement)m 11(is)m 10(originated,)m 11(its)m 10(LS)m 10(sequence)m 11(number)m 10(is)m 11(incremented,)m 10(its)m 10(LS)m 0 2096 p (age)s 10(is)m 11(set)m 10(to)m 11(0,)m 10(its)m 10(LS)m 11(checksum)m 10(is)m 11(calculated,)m 10(and)m 11(the)m 10(advertisement)m 10(is)m 11(added)m 10(to)m 11(the)m 10(link)m 10(state)m 11(database)m 10(and)m 11(\015ooded)m 0 2146 p (out)s 10(the)m 11(appropriate)m 10(interfaces.)m 14(See)m 11(Section)m 10(13.2)m 10(for)m 11(details)m 10(concerning)m 11(the)m 10(installation)m 10(of)m 11(the)m 10(advertisement)m 11(into)m 10(the)m 0 2196 p (link)s 10(state)m 11(database.)m 14(See)m 10(Section)m 11(13.3)m 10(for)m 10(details)m 11(concerning)m 10(the)m 11(\015ooding)m 10(of)m 10(newly)m 11(originated)m 10(advertisements.)m 0 2258 p (The)s 10(ten)m 11(events)m 10(that)m 11(can)m 10(cause)m 10 r 97 c 11(new)m 10(instance)m 11(of)m 10 r 97 c 11(link)m 10(state)m 10(advertisement)m 11(to)m 10(be)m 11(originated)m 10(are:)m 52 2349 p (1.)s t-ita.300 @sf 21(The)m 10(LS)m 10(age)m 11(\014eld)m 10(of)m 11(one)m 10(of)m 10(the)m 11 r 114 c -1(outer)m 1 r 39 c -5 r 115 c 10(self-originated)m 10(advertisements)m 11 r 114 c -1(eaches)m 10(the)m 10(value)m 10(LSRefr)m (eshT)s -2(ime.)m t-rom.300 @sf 12(In)m 11(this)m 104 2399 p (case,)s 10 r 97 c 10(new)m 10(instance)m 9(of)m 10(the)m 10(link)m 10(state)m 10(advertisement)m 10(is)m 10(originated,)m 10(even)m 10(though)m 10(the)m 9(contents)m 10(of)m 10(the)m 10(advertisement)m 104 2449 p (\(apart)s 10(from)m 11(the)m 10(link)m 10(state)m 11(advertisement)m 10(header\))m 11(will)m 10(be)m 11(the)m 10(same.)m 14(This)m 10(guarantees)m 11(periodic)m 10(originations)m 10(of)m 11(all)m 104 2499 p (link)s 10(state)m 11(advertisements.)m 13(This)m 11(periodic)m 10(updating)m 11(of)m 10(link)m 11(state)m 10(advertisements)m 10(adds)m 11(robustness)m 10(to)m 11(the)m 10(link)m 10(state)m 104 2549 p (algorithm.)s 14(Link)m 10(state)m 10(advertisements)m 11(that)m 10(solely)m 11(describe)m 10(unreachable)m 11(destinations)m 10(should)m 10(not)m 11(be)m 10(refreshed,)m 11(but)m 104 2599 p (should)s 10(instead)m 11(be)m 10(\015ushed)m 10(from)m 11(the)m 10(routing)m 11(domain)m 10(\(see)m 11(Section)m 10(14.1\).)m 0 2723 p (Moy)s 1710([Page)m 11(65])m @eop 66 @bop0 66 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (When)s 10(whatever)m 11(is)m 10(being)m 11(described)m 10(by)m 10 r 97 c 11(link)m 10(state)m 11(advertisement)m 10(changes,)m 11 r 97 c 10(new)m 10(advertisement)m 11(is)m 10(originated.)m 0 245 p (However)s -1 r 44 c 10(two)m 10(instances)m 11(of)m 10(the)m 10(same)m 11(link)m 10(state)m 11(advertisement)m 10(may)m 10(not)m 11(be)m 10(originated)m 11(within)m 10(the)m 11(time)m 10(period)m 0 295 p (MinLSInterval.)s 14(This)m 10(may)m 11(require)m 10(that)m 11(the)m 10(generation)m 10(of)m 11(the)m 10(next)m 11(instance)m 10(be)m 10(delayed)m 11(by)m 10(up)m 11(to)m 10(MinLSInterval.)m 14(The)m 0 345 p (following)s 10(events)m 11(may)m 10(cause)m 11(the)m 10(contents)m 10(of)m 11 r 97 c 10(link)m 11(state)m 10(advertisement)m 11(to)m 10(change.)m 14(These)m 10(events)m 11(should)m 10(cause)m 11(new)m 0 394 p (originations)s 10(if)m 11(and)m 10(only)m 11(if)m 10(the)m 10(contents)m 11(of)m 10(the)m 11(new)m 10(advertisement)m 11(would)m 10(be)m 10(dif)m (ferent:)s 52 504 p (2.)s t-ita.300 @sf 21(An)m 10(interface')m -4 r 115 c 9(state)m 10(changes)m t-rom.300 @sf 11(\(see)m 10(Section)m 11(9.1\).)m 14(This)m 10(may)m 10(mean)m 11(that)m 10(it)m 11(is)m 10(necessary)m 10(to)m 11(produce)m 10 r 97 c 11(new)m 10(instance)m 11(of)m 104 553 p (the)s 10(router)m 11(links)m 10(advertisement.)m 52 636 p (3.)s t-ita.300 @sf 21(An)m 10(attached)m 10(network')m -4 r 115 c 9(Designated)m 11(Router)m 10(changes.)m t-rom.300 @sf 14 r 65 c 11(new)m 10(router)m 10(links)m 11(advertisement)m 10(should)m 11(be)m 10(originated.)m 104 686 p (Also,)s 10(if)m 11(the)m 10(router)m 10(itself)m 11(is)m 10(now)m 11(the)m 10(Designated)m 11(Router)m -1 r 44 c 9 r 97 c 11(new)m 10(network)m 11(links)m 10(advertisement)m 10(should)m 11(be)m 10(produced.)m 104 736 p (If)s 10(the)m 11(router)m 10(itself)m 10(is)m 11(no)m 10(longer)m 11(the)m 10(Designated)m 11(Router)m -1 r 44 c 9(any)m 11(network)m 10(links)m 11(advertisement)m 10(that)m 10(it)m 11(might)m 10(have)m 104 786 p (originated)s 10(for)m 11(the)m 10(network)m 10(should)m 11(be)m 10(\015ushed)m 11(from)m 10(the)m 11(routing)m 10(domain)m 10(\(see)m 11(Section)m 10(14.1\).)m 52 869 p (4.)s t-ita.300 @sf 21(One)m 10(of)m 10(the)m 11(neighboring)m 10 r 114 c (outers)s 9(changes)m 10(to/fr)m (om)s 9(the)m 11(FULL)m 10(state.)m t-rom.300 @sf 14(This)m 10(may)m 11(mean)m 10(that)m 11(it)m 10(is)m 11(necessary)m 10(to)m 10(produce)m 104 919 p 97 c 10(new)m 11(instance)m 10(of)m 10(the)m 11(router)m 10(links)m 11(advertisement.)m 14(Also,)m 10(if)m 10(the)m 11(router)m 10(is)m 11(itself)m 10(the)m 10(Designated)m 11(Router)m 10(for)m 11(the)m 104 968 p (attached)s 10(network,)m 11 r 97 c 10(new)m 10(network)m 11(links)m 10(advertisement)m 11(should)m 10(be)m 11(produced.)m 0 1078 p (The)s 10(next)m 11(four)m 10(events)m 11(concern)m 10(area)m 10(border)m 11(routers)m 10(only:)m 52 1187 p (5.)s t-ita.300 @sf 21(An)m 10(intra-ar)m -1(ea)m 10 r 114 c -1(oute)m 10(has)m 10(been)m 11(added/deleted/modi\014ed)m t-rom.300 @sf 10(in)m 10(the)m 11(routing)m 10(table.)m 14(This)m 10(may)m 11(cause)m 10 r 97 c 11(new)m 10(instance)m 11(of)m 10 r 97 c 104 1237 p (summary)s 10(links)m 11(advertisement)m 10(\(for)m 10(this)m 11(route\))m 10(to)m 11(be)m 10(originated)m 11(in)m 10(each)m 10(attached)m 11(area)m 10(\(possibly)m 11(including)m 10(the)m 104 1286 p (backbone\).)s 52 1369 p (6.)s t-ita.300 @sf 21(An)m 10(inter)m (-ar)s -1(ea)m 9 r 114 c -1(oute)m 10(has)m 10(been)m 11(added/deleted/modi\014ed)m t-rom.300 @sf 10(in)m 11(the)m 10(routing)m 10(table.)m 14(This)m 11(may)m 10(cause)m 10 r 97 c 11(new)m 10(instance)m 11(of)m 10 r 97 c 104 1419 p (summary)s 10(links)m 11(advertisement)m 10(\(for)m 10(this)m 11(route\))m 10(to)m 11(be)m 10(originated)m 11(in)m 10(each)m 10(attached)m 11(area)m 10(\(but)m 11(NEVER)m 10(for)m 10(the)m 104 1469 p (backbone\).)s 52 1552 p (7.)s t-ita.300 @sf 21(The)m 10 r 114 c -1(outer)m 10(becomes)m 10(newly)m 11(attached)m 10(to)m 10(an)m 11(ar)m -1(ea.)m t-rom.300 @sf 13(The)m 11(router)m 10(must)m 10(then)m 11(originate)m 10(summary)m 11(link)m 10(advertisements)m 104 1602 p (into)s 10(the)m 11(newly)m 10(attached)m 10(area)m 11(for)m 10(all)m 11(pertinent)m 10(intra-area)m 11(and)m 10(inter)m (-area)s 10(routes)m 10(in)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(routing)m 11(table.)m 14(See)m 104 1652 p (Section)s 10(12.4.3)m 11(for)m 10(more)m 10(details.)m 52 1735 p (8.)s t-ita.300 @sf 21(When)m 10(the)m 10(state)m 11(of)m 10(one)m 11(of)m 10(the)m 10 r 114 c (outer)s 39 c -4 r 115 c 9(con\014gur)m (ed)s 9(virtual)m 11(links)m 10(changes,)m t-rom.300 @sf 11(it)m 10(may)m 10(be)m 11(necessary)m 10(to)m 11(originate)m 10 r 97 c 11(new)m 104 1785 p (router)s 10(links)m 11(advertisement)m 10(into)m 10(the)m 11(virtual)m 10(link')m -1 r 115 c 9(transit)m 11(area)m 10(\(see)m 11(the)m 10(discussion)m 10(of)m 11(the)m 10(router)m 11(links)m 104 1834 p (advertisement')s -2 r 115 c 10(bit)m 10 r 86 c 11(in)m 10(Section)m 11(12.4.1\),)m 10(as)m 10(well)m 11(as)m 10(originating)m 11 r 97 c 10(new)m 10(router)m 11(links)m 10(advertisement)m 11(into)m 10(the)m 104 1884 p (backbone.)s 0 1993 p (The)s 10(last)m 11(two)m 10(events)m 11(concern)m 10(AS)m 10(boundary)m 11(routers)m 10(\(and)m 11(former)m 10(AS)m 11(boundary)m 10(routers\))m 10(only:)m 52 2103 p (9.)s t-ita.300 @sf 21(An)m 10(external)m 10 r 114 c (oute)s 9(gained)m 11(thr)m -1(ough)m 10(dir)m -1(ect)m 9(experience)m t-rom.300 @sf 11(with)m 10(an)m 11(external)m 10(routing)m 10(protocol)m 11(\(like)m 10(EGP\))m 11(changes.)m 14(This)m 104 2152 p (will)s 10(cause)m 11(an)m 10(AS)m 10(boundary)m 11(router)m 10(to)m 11(originate)m 10 r 97 c 11(new)m 10(instance)m 10(of)m 11(an)m 10(AS)m 11(external)m 10(link)m 10(advertisement.)m 31 2235 p (10.)s t-ita.300 @sf 21 r 65 c 10 r 114 c (outer)s 9(ceases)m 10(to)m 11(be)m 10(an)m 11(AS)m 10(boundary)m 10 r 114 c (outer)s t-rom.300 @sf 44 c 9(perhaps)m 11(after)m 10(restarting.)m 14(In)m 10(this)m 11(situation)m 10(the)m 11(router)m 10(should)m 11(\015ush)m 104 2285 p (all)s 10(AS)m 11(external)m 10(link)m 10(advertisements)m 11(that)m 10(it)m 11(had)m 10(previously)m 11(originated.)m 13(These)m 11(advertisements)m 10(can)m 11(be)m 10(\015ushed)m 10(via)m 104 2335 p (the)s 10(premature)m 11(aging)m 10(procedure)m 10(speci\014ed)m 11(in)m 10(Section)m 11(14.1.)m 0 2444 p (The)s 10(construction)m 11(of)m 10(each)m 11(type)m 10(of)m 10(link)m 11(state)m 10(advertisement)m 11(is)m 10(explained)m 11(in)m 10(detail)m 10(below)m -1 r 46 c 13(In)m 10(general,)m 10(these)m 11(sections)m 0 2494 p (describe)s 10(the)m 11(contents)m 10(of)m 11(the)m 10(advertisement)m 10(body)m 11(\(i.e.,)m 10(the)m 11(part)m 10(coming)m 11(after)m 10(the)m 10(20-byte)m 11(advertisement)m 10(header\).)m 14(For)m 0 2544 p (information)s 10(concerning)m 11(the)m 10(building)m 11(of)m 10(the)m 10(link)m 11(state)m 10(advertisement)m 11(header)m -1 r 44 c 9(see)m 11(Section)m 10(12.1.)m 0 2723 p (Moy)s 1710([Page)m 11(66])m @eop 67 @bop0 67 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 38600707 5920358 5920358 34338078 50257264 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure15.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:53:47 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 90 90 522 764 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 312.000 362.000 10.000 -90.000 90.000 arcn stroke newpath 392.000 362.000 10.000 -90.000 90.000 arc stroke newpath 192.000 212.000 10.000 180.000 0.000 arc stroke newpath 192.000 292.000 10.000 180.000 0.000 arcn stroke newpath 192.000 72.000 10.000 180.000 0.000 arc stroke newpath 192.000 152.000 10.000 180.000 0.000 arcn stroke newpath 334.366 719.153 12.951 162.719 12.699 arcn stroke newpath 334.176 504.735 12.736 -162.947 -21.824 arc stroke newpath 285.000 528.000 moveto 277.000 526.000 lineto 285.000 524.000 lineto stroke [1 3.200000] 0 setdash % Polyline newpath 277 526 moveto 335 526 lineto 335 561 lineto 393 561 lineto stroke [] 0 setdash newpath 385.000 559.000 moveto 393.000 561.000 lineto 385.000 563.000 lineto stroke % Polyline newpath 347 566 moveto 398 566 lineto stroke % Polyline newpath 275 686 moveto 322 686 lineto stroke % Polyline newpath 275 606 moveto 322 606 lineto stroke % Polyline newpath 274 530 moveto 322 530 lineto stroke % Polyline newpath 347 500 moveto 347 722 lineto stroke % Polyline newpath 322 500 moveto 322 722 lineto stroke % Polyline newpath 398 550 moveto 438 550 lineto 438 580 lineto 398 580 lineto closepath stroke % Polyline newpath 235 671 moveto 275 671 lineto 275 701 lineto 235 701 lineto closepath stroke % Polyline newpath 235 591 moveto 275 591 lineto 275 621 lineto 235 621 lineto closepath stroke % Polyline newpath 234 514 moveto 274 514 lineto 274 544 lineto 234 544 lineto closepath stroke /Courier findfont 12.222222 scalefont setfont 199 777 moveto 1 -1 scale (Figure 16: Forwarding address example) show 1 -1 scale 352 556 moveto 1 -1 scale (EGP) show 1 -1 scale 406 572 moveto 1 -1 scale (RTX) show 1 -1 scale 242 693 moveto 1 -1 scale (RTC) show 1 -1 scale 243 612 moveto 1 -1 scale (RTB) show 1 -1 scale 242 534 moveto 1 -1 scale (RTA) show 1 -1 scale % Ellipse newpath 353 183 35 35 0 360 DrawEllipse stroke % Polyline newpath 900 1 moveto 144 737280 lineto stroke newpath 146.008 737271.938 moveto 144.000 737280.000 lineto 142.008 737271.938 lineto stroke % Polyline newpath 392 372 moveto 312 372 lineto stroke % Polyline newpath 392 352 moveto 312 352 lineto stroke % Polyline newpath 182 212 moveto 182 292 lineto stroke % Polyline newpath 202 212 moveto 202 292 lineto stroke % Polyline newpath 182 72 moveto 182 152 lineto stroke % Polyline newpath 202 72 moveto 202 152 lineto stroke % Polyline newpath 242 97 moveto 282 97 lineto 282 127 lineto 242 127 lineto closepath stroke % Polyline newpath 242 237 moveto 282 237 lineto 282 267 lineto 242 267 lineto closepath stroke % Polyline newpath 332 282 moveto 372 282 lineto 372 312 lineto 332 312 lineto closepath stroke % Polyline newpath 442 167 moveto 482 167 lineto 482 197 lineto 442 197 lineto closepath stroke % Polyline newpath 522 282 moveto 562 282 lineto 562 312 lineto 522 312 lineto closepath stroke % Polyline newpath 202 112 moveto 242 112 lineto stroke % Polyline newpath 202 252 moveto 242 252 lineto stroke % Polyline newpath 282 252 moveto 327 207 lineto stroke % Polyline newpath 282 112 moveto 327 157 lineto stroke % Polyline newpath 387 182 moveto 442 182 lineto stroke % Polyline newpath 352 217 moveto 352 282 lineto stroke % Polyline newpath 372 297 moveto 522 297 lineto stroke % Polyline newpath 352 312 moveto 352 352 lineto stroke [4.000000] 0 setdash % Polyline newpath 102 42 moveto 422 42 lineto 422 412 lineto 102 412 lineto closepath stroke [] 0 setdash % Polyline newpath 542 313 moveto 542 331 lineto stroke 291 113 moveto 1 -1 scale (1) show 1 -1 scale 326 188 moveto 1 -1 scale (192.1.1) show 1 -1 scale 324 366 moveto 1 -1 scale (192.1.4) show 1 -1 scale 163 177 moveto 1 -1 scale (192.1.2) show 1 -1 scale 164 319 moveto 1 -1 scale (192.1.3) show 1 -1 scale 337 297 moveto 1 -1 scale (RT3) show 1 -1 scale 448 185 moveto 1 -1 scale (RT4) show 1 -1 scale 247 114 moveto 1 -1 scale (RT1) show 1 -1 scale 249 256 moveto 1 -1 scale (RT2) show 1 -1 scale 528 301 moveto 1 -1 scale (RT6) show 1 -1 scale 376 149 moveto 1 -1 scale (N3) show 1 -1 scale 344 385 moveto 1 -1 scale (N4) show 1 -1 scale 162 114 moveto 1 -1 scale (N1) show 1 -1 scale 162 256 moveto 1 -1 scale (N2) show 1 -1 scale 467 329 moveto 1 -1 scale (18.10.0.6) show 1 -1 scale 286 233 moveto 1 -1 scale (1) show 1 -1 scale 426 178 moveto 1 -1 scale (1) show 1 -1 scale 225 107 moveto 1 -1 scale (3) show 1 -1 scale 228 247 moveto 1 -1 scale (3) show 1 -1 scale 341 275 moveto 1 -1 scale (1) show 1 -1 scale 358 330 moveto 1 -1 scale (2) show 1 -1 scale 381 293 moveto 1 -1 scale (8) show 1 -1 scale 550 329 moveto 1 -1 scale (7) show 1 -1 scale 507 291 moveto 1 -1 scale (6) show 1 -1 scale 181 448 moveto 1 -1 scale (Figure 15: Area 1 with IP addresses shown) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1710([Page)m 11(67])m @eop 68 @bop0 68 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (12.4.1)s 42(Router)m 10(links)m t-rom.300 @sf 0 291 p 65 c 10(router)m 11(originates)m 10 r 97 c 11(router)m 10(links)m 10(advertisement)m 11(for)m 10(each)m 11(area)m 10(that)m 11(it)m 10(belongs)m 10(to.)m 14(Such)m 11(an)m 10(advertisement)m 11(describes)m 10(the)m 0 341 p (collected)s 10(states)m 11(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(links)m 11(to)m 10(the)m 11(area.)m 13(The)m 11(advertisement)m 10(is)m 11(\015ooded)m 10(throughout)m 11(the)m 10(particular)m 10(area,)m 11(and)m 10(no)m 0 390 p (further)s -1 r 46 c 0 458 p (The)s 10(format)m 11(of)m 10 r 97 c 11(router)m 10(links)m 10(advertisement)m 11(is)m 10(shown)m 11(in)m 10(Appendix)m 11 r 65 c 10(\(Section)m 10(A.4.2\).)m 14(The)m 11(\014rst)m 10(20)m 11(bytes)m 10(of)m 10(the)m 0 508 p (advertisement)s 10(consist)m 11(of)m 10(the)m 11(generic)m 10(link)m 10(state)m 11(advertisement)m 10(header)m 11(that)m 10(was)m 11(discussed)m 10(in)m 10(Section)m 11(12.1.)m 14(Router)m 10(links)m 0 558 p (advertisements)s 10(have)m 11(LS)m 10(type)m 11 r 61 c 10(1.)m 14(The)m 10(router)m 11(indicates)m 10(whether)m 11(it)m 10(is)m 10(willing)m 11(to)m 10(calculate)m 11(separate)m 10(routes)m 11(for)m 10(each)m 10(IP)m 0 608 p 84 c (OS)s 10(by)m 10(setting)m 10(\(or)m 11(resetting\))m 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(of)m 11(the)m 10(link)m 11(state)m 10(advertisement')m -1 r 115 c t-bol.300 @sf 9(Options)m t-rom.300 @sf 11(\014eld.)m 0 675 p 65 c 10(router)m 11(also)m 10(indicates)m 11(whether)m 10(it)m 10(is)m 11(an)m 10(area)m 11(border)m 10(router)m -1 r 44 c 10(or)m 10(an)m 11(AS)m 10(boundary)m 11(router)m -1 r 44 c 9(by)m 11(setting)m 10(the)m 11(appropriate)m 10(bits)m 0 725 p 40 c t-bol.300 @sf (bit)s 10 r 66 c t-rom.300 @sf 11(and)m t-bol.300 @sf 10(bit)m 11 r 69 c t-rom.300 @sf 44 c 10(respectively\))m 10(in)m 11(its)m 10(router)m 11(links)m 10(advertisements.)m 14(This)m 10(enables)m 11(paths)m 10(to)m 11(those)m 10(types)m 11(of)m 10(routers)m 10(to)m 11(be)m 0 775 p (saved)s 10(in)m 11(the)m 10(routing)m 11(table,)m 10(for)m 10(later)m 11(processing)m 10(of)m 11(summary)m 10(link)m 11(advertisements)m 10(and)m 10(AS)m 11(external)m 10(link)m 11(advertisements.)m 0 825 p (Bit)s 10 r 66 c 11(should)m 10(be)m 11(set)m 10(whenever)m 10(the)m 11(router)m 10(is)m 11(actively)m 10(attached)m 11(to)m 10(two)m 10(or)m 11(more)m 10(areas,)m 11(even)m 10(if)m 10(the)m 11(router)m 10(is)m 11(not)m 10(currently)m 0 874 p (attached)s 10(to)m 11(the)m 10(OSPF)m 11(backbone)m 10(area.)m 14(Bit)m 10 r 69 c 11(should)m 10(never)m 11(be)m 10(set)m 10(in)m 11 r 97 c 10(router)m 11(links)m 10(advertisement)m 11(for)m 10 r 97 c 10(stub)m 11(area)m 10(\(stub)m 0 924 p (areas)s 10(cannot)m 10(contain)m 10(AS)m 9(boundary)m 10(routers\).)m 14(In)m 10(addition,)m 10(the)m 10(router)m 9(sets)m t-bol.300 @sf 10(bit)m 10 r 86 c t-rom.300 @sf 10(in)m 10(its)m 10(router)m 10(links)m 9(advertisement)m 10(for)m 10(Area)m 0 974 p 65 c 10(if)m 11(and)m 10(only)m 11(if)m 10(it)m 10(is)m 11(the)m 10(endpoint)m 11(of)m 10(an)m 11(active)m 10(virtual)m 10(link)m 11(using)m 10(Area)m 11 r 65 c 10(as)m 10(its)m 11 r 84 c -1(ransit)m 10(area.)m 14(This)m 10(enables)m 11(the)m 10(other)m 0 1024 p (routers)s 10(attached)m 11(to)m 10(Area)m 11 r 65 c 10(to)m 10(discover)m 11(whether)m 10(the)m 11(area)m 10(supports)m 11(any)m 10(virtual)m 10(links)m 11(\(i.e.,)m 10(is)m 11 r 97 c 10(transit)m 10(area\).)m 0 1092 p (The)s 10(router)m 11(links)m 10(advertisement)m 11(then)m 10(describes)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(working)m 10(connections)m 10(\(i.e.,)m 11(interfaces)m 10(or)m 11(links\))m 10(to)m 10(the)m 11(area.)m 0 1141 p (Each)s 10(link)m 10(is)m 10(typed)m 9(according)m 10(to)m 10(the)m 10(kind)m 10(of)m 10(attached)m 10(network.)m 13(Each)m 10(link)m 10(is)m 10(also)m 10(labelled)m 10(with)m 10(its)m 10(Link)m 9(ID.)m 10(This)m 10(Link)m 10(ID)m 0 1191 p (gives)s 10 r 97 c 11(name)m 10(to)m 11(the)m 10(entity)m 10(that)m 11(is)m 10(on)m 11(the)m 10(other)m 11(end)m 10(of)m 10(the)m 11(link.)m 14 r 84 c -2(able)m 9(18)m 11(summarizes)m 10(the)m 10(values)m 11(used)m 10(for)m 11(the)m 10 r 84 c -2(ype)m 10(and)m 0 1241 p (Link)s 10(ID)m 11(\014elds.)m 307 1339 p 1337 2 ru 306 1389 p 2 50 ru t-ita.300 @sf 332 1374 p (Link)s 10(type)m 510 1389 p 2 50 ru 535 1374 p (Description)s 942 1389 p 2 50 ru 968 1374 p (Link)s 11(ID)m 1642 1389 p 2 50 ru 307 1390 p 1337 2 ru 306 1440 p 2 50 ru t-rom.300 @sf 398 1425 p 49 c 510 1440 p 2 50 ru 535 1425 p (Point-to-point)s 11(link)m 942 1440 p 2 50 ru 968 1425 p (Neighbor)s 11(Router)m 10(ID)m 1642 1440 p 2 50 ru 306 1490 p 2 50 ru 398 1475 p 50 c 510 1490 p 2 50 ru 535 1475 p (Link)s 11(to)m 10(transit)m 11(network)m 942 1490 p 2 50 ru 968 1475 p (Interface)s 11(address)m 10(of)m 10(Designated)m 11(Router)m 1642 1490 p 2 50 ru 306 1540 p 2 50 ru 398 1525 p 51 c 510 1540 p 2 50 ru 535 1525 p (Link)s 11(to)m 10(stub)m 11(network)m 942 1540 p 2 50 ru 968 1525 p (IP)s 11(network)m 10(number)m 1642 1540 p 2 50 ru 306 1589 p 2 50 ru 398 1575 p 52 c 510 1589 p 2 50 ru 535 1575 p 86 c -1(irtual)m 9(link)m 942 1589 p 2 50 ru 968 1575 p (Neighbor)s 11(Router)m 10(ID)m 1642 1589 p 2 50 ru 307 1591 p 1337 2 ru 465 1728 p 84 c -2(able)m 9(18:)m 14(Link)m 11(descriptions)m 10(in)m 11(the)m 10(router)m 10(links)m 11(advertisement.)m 0 1837 p (In)s 10(addition,)m 10(the)m 10(Link)m 10(Data)m 9(\014eld)m 10(is)m 10(speci\014ed)m 10(for)m 10(each)m 10(link.)m 13(This)m 10(\014eld)m 10(gives)m 10(32)m 10(bits)m 10(of)m 9(extra)m 10(information)m 10(for)m 10(the)m 10(link.)m 13(For)m 0 1887 p (links)s 10(to)m 10(transit)m 10(networks,)m 10(numbered)m 10(links)m 10(to)m 10(routers)m 10(and)m 10(virtual)m 10(links,)m 11(this)m 10(\014eld)m 10(speci\014es)m 10(the)m 10(IP)m 10(interface)m 10(address)m 10(of)m 10(the)m 0 1936 p (associated)s 10(router)m 11(interface)m 10(\(this)m 11(is)m 10(needed)m 10(by)m 11(the)m 10(routing)m 11(table)m 10(calculation,)m 11(see)m 10(Section)m 10(16.1.1\).)m 14(For)m 11(links)m 10(to)m 11(stub)m 0 1986 p (networks,)s 10(this)m 11(\014eld)m 10(speci\014es)m 11(the)m 10(network')m -1 r 115 c 9(IP)m 11(address)m 10(mask.)m 14(For)m 10(unnumbered)m 11(point-to-point)m 10(networks,)m 11(the)m 10(Link)m 10(Data)m 0 2036 p (\014eld)s 10(should)m 11(be)m 10(set)m 11(to)m 10(the)m 10(unnumbered)m 11(interface')m -1 r 115 c 9(MIB-II)m 10([RFC)m 11(1213])m 10(ifIndex)m 11(value.)m 0 2104 p (Finally)s -2 r 44 c 10(the)m 10(cost)m 11(of)m 10(using)m 10(the)m 11(link)m 10(for)m 11(output)m 10(\(possibly)m 10(specifying)m 11 r 97 c 10(dif)m (ferent)s 10(cost)m 10(for)m 11(each)m 10 r 84 c -2(ype)m 10(of)m 10(Service\))m 11(is)m 0 2154 p (speci\014ed.)s 14(The)m 10(output)m 11(cost)m 10(of)m 11 r 97 c 10(link)m 10(is)m 11(con\014gurable.)m 14(It)m 10(must)m 11(always)m 10(be)m 10(non-zero.)m 0 2221 p 84 c -2 r 111 c 9(further)m 11(describe)m 10(the)m 11(process)m 10(of)m 11(building)m 10(the)m 10(list)m 11(of)m 10(link)m 11(descriptions,)m 10(suppose)m 10 r 97 c 11(router)m 10(wishes)m 11(to)m 10(build)m 11 r 97 c 10(router)m 10(links)m 0 2271 p (advertisement)s 10(for)m 11(Area)m 10(A.)m 14(The)m 11(router)m 10(examines)m 10(its)m 11(collection)m 10(of)m 11(interface)m 10(data)m 10(structures.)m 14(For)m 11(each)m 10(interface,)m 11(the)m 0 2321 p (following)s 10(steps)m 11(are)m 10(taken:)m cmsy10.300 @sf 62 2430 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(attached)m 10(network)m 11(does)m 10(not)m 11(belong)m 10(to)m 10(Area)m 11(A,)m 10(no)m 11(links)m 10(are)m 10(added)m 11(to)m 10(the)m 11(advertisement,)m 10(and)m 11(the)m 10(next)m 104 2480 p (interface)s 10(should)m 11(be)m 10(examined.)m cmsy10.300 @sf 62 2563 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 11(the)m 10(state)m 11(of)m 10(the)m 11(interface)m 10(is)m t-bol.300 @sf 10(Down)m t-rom.300 @sf 44 c 11(no)m 10(links)m 11(are)m 10(added.)m 0 2723 p (Moy)s 1710([Page)m 11(68])m @eop 69 @bop0 /Courier /c-med.270 ReEncodeForTeX /c-med.270 /c-med.270 37.499947 TeXPSmakefont def 69 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 11(the)m 10(state)m 11(of)m 10(the)m 11(interface)m 10(is)m t-bol.300 @sf 10(Point-to-Point)m t-rom.300 @sf 44 c 11(then)m 10(add)m 11(links)m 10(according)m 10(to)m 11(the)m 10(following:)m t-bol.300 @sf 154 278 p 123 c t-rom.300 @sf 20(If)m 11(the)m 10(neighboring)m 11(router)m 10(is)m 10(fully)m 11(adjacent,)m 10(add)m 11 r 97 c 10 r 84 c -2(ype)m 10 r 49 c 10(link)m 10(\(point-to-point\))m 11(if)m 10(this)m 11(is)m 10(an)m 10(interface)m 11(to)m 10 r 97 c 195 328 p (point-to-point)s 11(network,)m 10(or)m 10(add)m 11 r 97 c 10 r 84 c -2(ype)m 10 r 52 c 10(link)m 11(\(virtual)m 10(link\))m 10(if)m 11(this)m 10(is)m 11 r 97 c 10(virtual)m 10(link.)m 14(The)m 11(Link)m 10(ID)m 11(should)m 10(be)m 195 378 p (set)s 11(to)m 10(the)m 10(Router)m 11(ID)m 10(of)m 11(the)m 10(neighboring)m 10(router)m -1 r 46 c 13(For)m 10(virtual)m 11(links)m 10(and)m 11(numbered)m 10(point-to-point)m 11(networks,)m 195 428 p (the)s 11(Link)m 10(Data)m 10(should)m 11(specify)m 10(the)m 11(IP)m 10(interface)m 10(address.)m 14(For)m 11(unnumbered)m 10(point-to-point)m 11(networks,)m 10(the)m 10(Link)m 195 477 p (Data)s 11(\014eld)m 10(should)m 10(specify)m 11(the)m 10(interface')m -1 r 115 c 9(MIB-II)m 11([RFC)m 10(1213])m 11(ifIndex)m 10(value.)m t-bol.300 @sf 154 544 p 123 c t-rom.300 @sf 20(If)m 11(this)m 10(is)m 11 r 97 c 10(numbered)m 10(point-to-point)m 11(network)m 10(\(i.e,)m 11(not)m 10 r 97 c 10(virtual)m 11(link)m 10(and)m 11(not)m 10(an)m 11(unnumbered)m 10(point-to-point)m 195 594 p (network\))s 11(and)m 10(the)m 10(neighboring)m 11(router)m 1 r 39 c -1 r 115 c 9(IP)m 11(address)m 10(is)m 11(known,)m 10(add)m 11 r 97 c 10 r 84 c -2(ype)m 9 r 51 c 11(link)m 10(\(stub)m 11(network\))m 10(whose)m 11(Link)m 195 643 p (ID)s 11(is)m 10(the)m 10(neighbor)m 2 r 39 c -1 r 115 c 9(IP)m 10(address,)m 11(whose)m 10(Link)m 11(Data)m 10(is)m 11(the)m 10(mask)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 11(indicating)m 10 r 97 c 11(host)m 10(route,)m 10(and)m 195 693 p (whose)s 11(cost)m 10(is)m 10(the)m 11(interface')m -2 r 115 c 10(con\014gured)m 10(output)m 11(cost.)m cmsy10.300 @sf 62 776 p 15 c t-rom.300 @sf 21(Else)m 10(if)m 11(the)m 10(state)m 11(of)m 10(the)m 11(interface)m 10(is)m t-bol.300 @sf 10(Loopback)m t-rom.300 @sf 44 c 11(add)m 10 r 97 c 11 r 84 c -2(ype)m 9 r 51 c 11(link)m 10(\(stub)m 10(network\))m 11(as)m 10(long)m 11(as)m 10(this)m 10(is)m 11(not)m 10(an)m 104 826 p (interface)s 10(to)m 11(an)m 10(unnumbered)m 10(serial)m 11(line.)m 14(The)m 10(Link)m 11(ID)m 10(should)m 10(be)m 11(set)m 10(to)m 11(the)m 10(IP)m 10(interface)m 11(address,)m 10(the)m 11(Link)m 10(Data)m 11(set)m 104 876 p (to)s 10(the)m 11(mask)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 10(\(indicating)m 11 r 97 c 10(host)m 11(route\),)m 10(and)m 11(the)m 10(cost)m 10(set)m 11(to)m 10(0.)m cmsy10.300 @sf 62 959 p 15 c t-rom.300 @sf 21(Else)m 10(if)m 11(the)m 10(state)m 11(of)m 10(the)m 11(interface)m 10(is)m t-bol.300 @sf 10 r 87 c -1(aiting)m t-rom.300 @sf 44 c 9(add)m 11 r 97 c 10 r 84 c -2(ype)m 10 r 51 c 10(link)m 11(\(stub)m 10(network\))m 10(whose)m 11(Link)m 10(ID)m 11(is)m 10(the)m 11(IP)m 10(network)m 104 1009 p (number)s 10(of)m 11(the)m 10(attached)m 10(network)m 11(and)m 10(whose)m 11(Link)m 10(Data)m 11(is)m 10(the)m 10(attached)m 11(network')m -2 r 115 c 10(address)m 10(mask.)m cmsy10.300 @sf 62 1092 p 15 c t-rom.300 @sf 21(Else,)m 10(there)m 11(has)m 10(been)m 11 r 97 c 10(Designated)m 10(Router)m 11(selected)m 10(for)m 11(the)m 10(attached)m 10(network.)m 14(If)m 11(the)m 10(router)m 10(is)m 11(fully)m 10(adjacent)m 10(to)m 11(the)m 104 1142 p (Designated)s 10(Router)m 44 c 9(or)m 10(if)m 11(the)m 10(router)m 11(itself)m 10(is)m 10(Designated)m 11(Router)m 10(and)m 11(is)m 10(fully)m 11(adjacent)m 10(to)m 10(at)m 11(least)m 10(one)m 11(other)m 10(router)m -1 r 44 c 104 1191 p (add)s 10 r 97 c 11(single)m 10 r 84 c -2(ype)m 10 r 50 c 10(link)m 10(\(transit)m 11(network\))m 10(whose)m 11(Link)m 10(ID)m 10(is)m 11(the)m 10(IP)m 11(interface)m 10(address)m 11(of)m 10(the)m 10(attached)m 11(network')m -2 r 115 c 104 1241 p (Designated)s 10(Router)m 11(\(which)m 10(may)m 10(be)m 11(the)m 10(router)m 11(itself\))m 10(and)m 11(whose)m 10(Link)m 10(Data)m 11(is)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(own)m 11(IP)m 10(interface)m 104 1291 p (address.)s 14(Otherwise,)m 10(add)m 10 r 97 c 11(link)m 10(as)m 11(if)m 10(the)m 11(interface)m 10(state)m 10(were)m t-bol.300 @sf 11 r 87 c -1(aiting)m t-rom.300 @sf 9(\(see)m 10(above\).)m 0 1400 p (Unless)s 10(otherwise)m 11(speci\014ed,)m 10(the)m 11(cost)m 10(of)m 10(each)m 11(link)m 10(generated)m 11(by)m 10(the)m 11(above)m 10(procedure)m 10(is)m 11(equal)m 10(to)m 11(the)m 10(output)m 10(cost)m 11(of)m 10(the)m 0 1450 p (associated)s 10(interface.)m 14(Note)m 11(that)m 10(in)m 11(the)m 10(case)m 10(of)m 11(serial)m 10(lines,)m 11(multiple)m 10(links)m 10(may)m 11(be)m 10(generated)m 11(by)m 10 r 97 c 11(single)m 10(interface.)m 0 1518 p (After)s 10(consideration)m 11(of)m 10(all)m 11(the)m 10(router)m 10(interfaces,)m 11(host)m 10(links)m 11(are)m 10(added)m 11(to)m 10(the)m 10(advertisement)m 11(by)m 10(examining)m 11(the)m 10(list)m 10(of)m 0 1567 p (attached)s 10(hosts.)m 14 r 65 c 10(host)m 10(route)m 11(is)m 10(represented)m 10(as)m 10 r 97 c 10 r 84 c -2(ype)m 9 r 51 c 11(link)m 10(\(stub)m 10(network\))m 10(whose)m 10(Link)m 11(ID)m 10(is)m 10(the)m 10(host')m -1 r 115 c 9(IP)m 10(address)m 10(and)m 0 1617 p (whose)s 10(Link)m 11(Data)m 10(is)m 11(the)m 10(mask)m 10(of)m 11(all)m 10(ones)m 11 r 40 c c-med.300 @sf (0xffffffff)s t-rom.300 @sf (\).)s 0 1685 p (As)s 10(an)m 11(example,)m 10(consider)m 11(the)m 10(router)m 10(links)m 11(advertisements)m 10(generated)m 11(by)m 10(Router)m 11 r 82 c -2(T3,)m 9(as)m 11(pictured)m 10(in)m 11(Figure)m 10(6.)m 14(The)m 10(area)m 0 1735 p (containing)s 10(Router)m 11 r 82 c -2(T3)m 10(\(Area)m 10(1\))m 11(has)m 10(been)m 10(redrawn,)m 11(with)m 10(actual)m 11(network)m 10(addresses,)m 10(in)m 11(Figure)m 10(15.)m 14(Assume)m 11(that)m 10(the)m 10(last)m 0 1785 p (byte)s 10(of)m 11(all)m 10(of)m 11 r 82 c -2(T3')m -2 r 115 c 9(interface)m 11(addresses)m 10(is)m 11(3,)m 10(giving)m 10(it)m 11(the)m 10(interface)m 11(addresses)m 10(192.1.1.3)m 10(and)m 11(192.1.4.3,)m 10(and)m 11(that)m 10(the)m 0 1834 p (other)s 10(routers)m 11(have)m 10(similar)m 11(addressing)m 10(schemes.)m 14(In)m 10(addition,)m 11(assume)m 10(that)m 11(all)m 10(links)m 10(are)m 11(functional,)m 10(and)m 11(that)m 10(Router)m 11(IDs)m 0 1884 p (are)s 10(assigned)m 11(as)m 10(the)m 11(smallest)m 10(IP)m 10(interface)m 11(address.)m 0 1952 p 82 c -2(T3)m 10(originates)m 10(two)m 11(router)m 10(links)m 11(advertisements,)m 10(one)m 10(for)m 11(Area)m 10 r 49 c 11(and)m 10(one)m 10(for)m 11(the)m 10(backbone.)m 14(Assume)m 11(that)m 10(Router)m 10 r 82 c -1(T4)m 0 2002 p (has)s 10(been)m 11(selected)m 10(as)m 11(the)m 10(Designated)m 10(router)m 11(for)m 10(network)m c-med.300 @sf 11(192.1.1.0)m t-rom.300 @sf 46 c 14 r 82 c -2(T3')m -2 r 115 c 9(router)m 11(links)m 10(advertisement)m 11(for)m 10(Area)m 10 r 49 c 11(is)m 0 2052 p (then)s 10(shown)m 11(below)m -2 r 46 c 13(It)m 10(indicates)m 11(that)m 10 r 82 c -1(T3)m 9(has)m 11(two)m 10(connections)m 10(to)m 11(Area)m 10(1,)m 11(the)m 10(\014rst)m 11 r 97 c 10(link)m 10(to)m 11(the)m 10(transit)m 11(network)m c-med.300 @sf 0 2101 p (192.1.1.0)s t-rom.300 @sf 10(and)m 11(the)m 10(second)m 11 r 97 c 10(link)m 10(to)m 11(the)m 10(stub)m 11(network)m c-med.300 @sf 10(192.1.4.0)m t-rom.300 @sf 46 c 14(Note)m 10(that)m 11(the)m 10(transit)m 11(network)m 10(is)m 11(identi\014ed)m 10(by)m 0 2151 p (the)s 10(IP)m 11(interface)m 10(of)m 11(its)m 10(Designated)m 10(Router)m 11(\(i.e.,)m 10(the)m 11(Link)m 10(ID)m cmr10.300 @sf 11 r 61 c c-med.300 @sf 10(192.1.1.4)m t-rom.300 @sf 10(which)m 11(is)m 10(the)m 11(Designated)m 10(Router)m 10 r 82 c -1(T4')m -2 r 115 c 9(IP)m 0 2201 p (interface)s 10(to)m c-med.300 @sf 11(192.1.1.0)m t-rom.300 @sf (\).)s 14(Note)m 10(also)m 11(that)m 10 r 82 c -2(T3)m 10(has)m 10(indicated)m 11(that)m 10(it)m 11(is)m 10(capable)m 10(of)m 11(calculating)m 10(separate)m 11(routes)m 10(based)m 10(on)m 0 2251 p (IP)s 10 r 84 c (OS,)s 10(through)m 10(setting)m 11(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(in)m 10(the)m 11(Options)m 10(\014eld.)m 14(It)m 10(has)m 11(also)m 10(indicated)m 11(that)m 10(it)m 11(is)m 10(an)m 10(area)m 11(border)m 10(router)m -1 r 46 c c-med.270 @sf 157 2356 p 59 c 23(RT3's)m 22(router)m 23(links)m 22(advertisement)m 23(for)m 22(Area)m 23 r 49 c 157 2447 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 472(;always)m 23(true)m 22(on)m 23(origination)m 157 2493 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 180(;TOS-capable)m 157 2538 p (LS)s 23(type)m 22 r 61 c 23 r 49 c 450(;indicates)m 22(router)m 23(links)m 157 2584 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(192.1.1.3)m 135(;RT3's)m 23(Router)m 22(ID)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(69])m @eop 70 @bop0 70 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m c-med.270 @sf 157 195 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.3)m 22(;RT3's)m 23(Router)m 22(ID)m 157 241 p (bit)s 23 r 69 c 22 r 61 c 23 r 48 c 495(;not)m 22(an)m 23(AS)m 22(boundary)m 23(router)m 157 286 p (bit)s 23 r 66 c 22 r 61 c 23 r 49 c 495(;RT3)m 22(is)m 23(an)m 22(area)m 23(border)m 22(router)m 157 332 p (#links)s 23 r 61 c 22 r 50 c 337 378 p (Link)s 23(ID)m 22 r 61 c 23(192.1.1.4)m 202(;IP)m 23(address)m 22(of)m 23(Designated)m 22(Router)m 337 423 p (Link)s 23(Data)m 22 r 61 c 23(192.1.1.3)m 157(;RT3's)m 23(IP)m 22(interface)m 23(to)m 22(net)m 337 469 p (Type)s 23 r 61 c 22 r 50 c 450(;connects)m 23(to)m 22(transit)m 23(network)m 337 515 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 48 c 337 560 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 49 c 337 652 p (Link)s 23(ID)m 22 r 61 c 23(192.1.4.0)m 202(;IP)m 23(Network)m 22(number)m 337 697 p (Link)s 23(Data)m 22 r 61 c 23(0xffffff00)m 135(;Network)m 22(mask)m 337 743 p (Type)s 23 r 61 c 22 r 51 c 450(;connects)m 23(to)m 22(stub)m 23(network)m 337 789 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 48 c 337 834 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 50 c t-rom.300 @sf 0 944 p (Next)s 10 r 82 c -1(T3')m -2 r 115 c 9(router)m 10(links)m 11(advertisement)m 10(for)m 11(the)m 10(backbone)m 11(is)m 10(shown.)m 14(It)m 10(indicates)m 11(that)m 10 r 82 c -1(T3)m 9(has)m 10 r 97 c 11(single)m 10(attachment)m 11(to)m 10(the)m 0 993 p (backbone.)s 14(This)m 10(attachment)m 10(is)m 10(via)m 10(an)m 10(unnumbered)m 10(point-to-point)m 10(link)m 10(to)m 11(Router)m 10 r 82 c -2(T6.)m 13 r 82 c -2(T3)m 9(has)m 11(again)m 10(indicated)m 10(that)m 10(it)m 10(is)m 0 1043 p 84 c (OS-capable,)s 10(and)m 10(that)m 10(it)m 11(is)m 10(an)m 11(area)m 10(border)m 11(router)m -2 r 46 c c-med.270 @sf 157 1148 p 59 c 23(RT3's)m 22(router)m 23(links)m 22(advertisement)m 23(for)m 22(the)m 23(backbone)m 157 1240 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 472(;always)m 23(true)m 22(on)m 23(origination)m 157 1285 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 180(;TOS-capable)m 157 1331 p (LS)s 23(type)m 22 r 61 c 23 r 49 c 450(;indicates)m 22(router)m 23(links)m 157 1377 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(192.1.1.3)m 135(;RT3's)m 23(router)m 22(ID)m 157 1422 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.3)m 22(;RT3's)m 23(router)m 22(ID)m 157 1468 p (bit)s 23 r 69 c 22 r 61 c 23 r 48 c 495(;not)m 22(an)m 23(AS)m 22(boundary)m 23(router)m 157 1514 p (bit)s 23 r 66 c 22 r 61 c 23 r 49 c 495(;RT3)m 22(is)m 23(an)m 22(area)m 23(border)m 22(router)m 157 1559 p (#links)s 23 r 61 c 22 r 49 c 337 1605 p (Link)s 23(ID)m 22 r 61 c 23(18.10.0.6)m 202(;Neighbor's)m 23(Router)m 22(ID)m 337 1650 p (Link)s 23(Data)m 22 r 61 c 23(0.0.0.3)m 202(;MIB-II)m 23(ifIndex)m 22(of)m 23(P-P)m 22(link)m 337 1696 p (Type)s 23 r 61 c 22 r 49 c 450(;connects)m 23(to)m 22(router)m 337 1742 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 48 c 337 1787 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 56 c t-rom.300 @sf 0 1897 p (Even)s 10(though)m 11(Router)m 10 r 82 c -1(T3)m 9(has)m 11(indicated)m 10(that)m 10(it)m 11(is)m 10 r 84 c (OS-capable)s 10(in)m 10(the)m 11(above)m 10(examples,)m 11(only)m 10 r 97 c 10(single)m 11(metric)m 10(\(the)m 11 r 84 c (OS)s 9 r 48 c 0 1946 p (metric\))s 10(has)m 11(been)m 10(speci\014ed)m 11(for)m 10(each)m 10(interface.)m 14(Dif)m (ferent)s 10(metrics)m 10(can)m 11(be)m 10(speci\014ed)m 11(for)m 10(each)m 11 r 84 c (OS.)s 13(The)m 10(encoding)m 11(of)m 10 r 84 c (OS)s 0 1996 p (in)s 10(OSPF)m 11(link)m 10(state)m 11(advertisements)m 10(is)m 10(described)m 11(in)m 10(Section)m 11(12.3.)m 0 2064 p (As)s 10(an)m 10(example,)m 11(suppose)m 10(the)m 10(point-to-point)m 10(link)m 10(between)m 11(Routers)m 10 r 82 c -2(T3)m 9(and)m 11 r 82 c -2(T6)m 9(in)m 10(Figure)m 11(15)m 10(is)m 10 r 97 c 10(satellite)m 10(link.)m 14(The)m 10(AS)m 0 2114 p (administrator)s 10(may)m 10(want)m 10(to)m 11(encourage)m 10(the)m 10(use)m 10(of)m 10(the)m 10(line)m 11(for)m 10(high)m 10(bandwidth)m 10(traf)m (\014c.)s 13(This)m 10(would)m 10(be)m 11(done)m 10(by)m 10(setting)m 10(the)m 0 2164 p (metric)s 10(arti\014cially)m 11(low)m 10(for)m 11(the)m 10(appropriate)m 10 r 84 c (OS)s 10(value.)m 14(Router)m 10 r 82 c -1(T3)m 9(would)m 11(then)m 10(originate)m 11(the)m 10(following)m 10(router)m 11(links)m 0 2213 p (advertisement)s 10(for)m 11(the)m 10(backbone)m 11(\(T)m (OS)s 9 r 56 c cmr10.300 @sf 11 r 61 c t-rom.300 @sf 10(maximize)m 11(throughput\):)m c-med.270 @sf 157 2318 p 59 c 23(RT3's)m 22(router)m 23(links)m 22(advertisement)m 23(for)m 22(the)m 23(backbone)m 157 2410 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 405(;always)m 22(true)m 23(on)m 22(origination)m 157 2455 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 113(;TOS-capable)m 157 2501 p (LS)s 23(type)m 22 r 61 c 23 r 49 c 382(;indicates)m 23(router)m 22(links)m 157 2547 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(192.1.1.3)m 68(;RT3's)m 22(Router)m 23(ID)m 157 2592 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.3)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(70])m @eop 71 @bop0 71 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m c-med.270 @sf 157 195 p (bit)s 23 r 69 c 22 r 61 c 23 r 48 c 427(;not)m 23(an)m 22(AS)m 23(boundary)m 22(router)m 157 241 p (bit)s 23 r 66 c 22 r 61 c 23 r 49 c 427(;RT3)m 23(is)m 22(an)m 23(area)m 22(border)m 23(router)m 157 286 p (#links)s 23 r 61 c 22 r 49 c 337 332 p (Link)s 23(ID)m 22 r 61 c 23(18.10.0.6)m 202(;Neighbor's)m 23(Router)m 22(ID)m 337 378 p (Link)s 23(Data)m 22 r 61 c 23(0.0.0.3)m 202(;MIB-II)m 23(ifIndex)m 22(of)m 23(P-P)m 22(link)m 337 423 p (Type)s 23 r 61 c 22 r 49 c 450(;connects)m 23(to)m 22(router)m 337 469 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 49 c 337 515 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 56 c 517 560 p (TOS)s 23 r 61 c 22 r 56 c 293(;Maximize)m 22(throughput)m 517 606 p (metric)s 23 r 61 c 22 r 49 c 225(;traffic)m 23(preferred)m t-bol.300 @sf 0 733 p (12.4.2)s 42(Network)m 10(links)m t-rom.300 @sf 0 827 p 65 c 10(network)m 11(links)m 10(advertisement)m 11(is)m 10(generated)m 10(for)m 11(every)m 10(transit)m 11(multi-access)m 10(network.)m 14(\(A)m 10(transit)m 11(network)m 10(is)m 11 r 97 c 10(network)m 0 877 p (having)s 10(two)m 11(or)m 10(more)m 11(attached)m 10(routers\).)m 14(The)m 10(network)m 11(links)m 10(advertisement)m 11(describes)m 10(all)m 10(the)m 11(routers)m 10(that)m 11(are)m 10(attached)m 11(to)m 0 927 p (the)s 10(network.)m 0 994 p (The)s 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network)m 10(originates)m 11(the)m 10(advertisement.)m 14(The)m 11(Designated)m 10(Router)m 10(originates)m 11(the)m 0 1043 p (advertisement)s 10(only)m 11(if)m 10(it)m 11(is)m 10(fully)m 10(adjacent)m 11(to)m 10(at)m 11(least)m 10(one)m 11(other)m 10(router)m 10(on)m 11(the)m 10(network.)m 14(The)m 11(network)m 10(links)m 10(advertisement)m 0 1093 p (is)s 10(\015ooded)m 11(throughout)m 10(the)m 11(area)m 10(that)m 10(contains)m 11(the)m 10(transit)m 11(network,)m 10(and)m 11(no)m 10(further)m -1 r 46 c 13(The)m 10(networks)m 10(links)m 11(advertisement)m 0 1143 p (lists)s 10(those)m 10(routers)m 10(that)m 11(are)m 10(fully)m 10(adjacent)m 10(to)m 10(the)m 10(Designated)m 11(Router;)m 10(each)m 10(fully)m 10(adjacent)m 10(router)m 11(is)m 10(identi\014ed)m 10(by)m 10(its)m 10(OSPF)m 0 1193 p (Router)s 10(ID.)m 11(The)m 10(Designated)m 11(Router)m 10(includes)m 10(itself)m 11(in)m 10(this)m 11(list.)m 0 1260 p (The)s 10(Link)m 11(State)m 10(ID)m 11(for)m 10 r 97 c 10(network)m 11(links)m 10(advertisement)m 11(is)m 10(the)m 11(IP)m 10(interface)m 10(address)m 11(of)m 10(the)m 11(Designated)m 10(Router)m -1 r 46 c 13(This)m 10(value,)m 0 1309 p (masked)s 10(by)m 11(the)m 10(network')m -1 r 115 c 9(address)m 11(mask)m 10(\(which)m 11(is)m 10(also)m 10(contained)m 11(in)m 10(the)m 11(network)m 10(links)m 11(advertisement\))m 10(yields)m 10(the)m 0 1359 p (network')s -1 r 115 c 9(IP)m 11(address.)m 0 1426 p 65 c 10(router)m 11(that)m 10(has)m 11(formerly)m 10(been)m 10(the)m 11(Designated)m 10(Router)m 11(for)m 10 r 97 c 11(network,)m 10(but)m 10(is)m 11(no)m 10(longer)m 44 c 9(should)m 10(\015ush)m 11(the)m 10(network)m 11(links)m 0 1476 p (advertisement)s 10(that)m 11(it)m 10(had)m 11(previously)m 10(originated.)m 14(This)m 10(advertisement)m 11(is)m 10(no)m 11(longer)m 10(used)m 10(in)m 11(the)m 10(routing)m 11(table)m 10(calculation.)m 0 1525 p (It)s 10(is)m 11(\015ushed)m 10(by)m 11(prematurely)m 10(incrementing)m 10(the)m 11(advertisement')m -1 r 115 c 9(age)m 10(to)m 11(MaxAge)m 10(and)m 11(re\015ooding)m 10(\(see)m 11(Section)m 10(14.1\).)m 14(In)m 0 1575 p (addition,)s 10(in)m 11(those)m 10(rare)m 11(cases)m 10(where)m 10 r 97 c 11(router)m 1 r 39 c -1 r 115 c 10(Router)m 10(ID)m 10(has)m 11(changed,)m 10(any)m 11(network)m 10(links)m 10(advertisements)m 11(that)m 10(were)m 0 1625 p (originated)s 10(with)m 10(the)m 10(router)m 2 r 39 c -2 r 115 c 10(previous)m 10(Router)m 10(ID)m 10(must)m 10(be)m 10(\015ushed.)m 14(Since)m 10(the)m 10(router)m 10(may)m 10(have)m 10(no)m 10(idea)m 10(what)m 10(it')m -1 r 115 c 9(previous)m 0 1675 p (Router)s 10(ID)m 11(might)m 10(have)m 11(been,)m 10(these)m 10(network)m 11(links)m 10(advertisements)m 11(are)m 10(indicated)m 11(by)m 10(having)m 10(their)m 11(Link)m 10(State)m 11(ID)m 10(equal)m 10(to)m 0 1725 p (one)s 10(of)m 10(the)m 10(router)m 1 r 39 c -1 r 115 c 9(IP)m 10(interface)m 10(addresses)m 10(and)m 9(their)m 10(Advertising)m 10(Router)m 10(not)m 10(equal)m 10(to)m 10(the)m 10(router)m 1 r 39 c -1 r 115 c 9(current)m 10(Router)m 10(ID)m 10(\(see)m 0 1774 p (Section)s 10(13.4)m 11(for)m 10(more)m 11(details\).)m 0 1841 p (As)s 10(an)m 11(example)m 10(of)m 11 r 97 c 10(network)m 10(links)m 11(advertisement,)m 10(again)m 11(consider)m 10(the)m 11(area)m 10(con\014guration)m 10(in)m 11(Figure)m 10(6.)m 14(Network)m 11(links)m 0 1891 p (advertisements)s 10(are)m 11(originated)m 10(for)m 11(Network)m 10(N3)m 10(in)m 11(Area)m 10(1,)m 11(Networks)m 10(N6)m 11(and)m 10(N8)m 10(in)m 11(Area)m 10(2,)m 11(and)m 10(Network)m 10(N9)m 11(in)m 10(Area)m 11(3.)m 0 1941 p (Assuming)s 10(that)m 11(Router)m 10 r 82 c -1(T4)m 9(has)m 11(been)m 10(selected)m 10(as)m 11(the)m 10(Designated)m 11(Router)m 10(for)m 10(Network)m 11(N3,)m 10(the)m 11(following)m 10(network)m 11(links)m 0 1990 p (advertisement)s 10(is)m 11(generated)m 10(by)m 11 r 82 c -2(T4)m 10(on)m 10(behalf)m 10(of)m 11(Network)m 10(N3)m 11(\(see)m 10(Figure)m 10(15)m 11(for)m 10(the)m 11(address)m 10(assignments\):)m c-med.270 @sf 157 2092 p 59 c 23(network)m 22(links)m 23(advertisement)m 22(for)m 23(Network)m 22(N3)m 157 2183 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 472(;always)m 23(true)m 22(on)m 23(origination)m 157 2229 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 180(;TOS-capable)m 157 2275 p (LS)s 23(type)m 22 r 61 c 23 r 50 c 450(;indicates)m 22(network)m 23(links)m 157 2320 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(192.1.1.4)m 135(;IP)m 23(address)m 22(of)m 23(Designated)m 22(Router)m 157 2366 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.4)m 22(;RT4's)m 23(Router)m 22(ID)m 157 2412 p (Network)s 23(Mask)m 22 r 61 c 23(0xffffff00)m 337 2457 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.4)m 90(;Router)m 22(ID)m 337 2503 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.1)m 90(;Router)m 22(ID)m 337 2549 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.2)m 90(;Router)m 22(ID)m 337 2594 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.3)m 90(;Router)m 22(ID)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(71])m @eop 72 @bop0 72 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (12.4.3)s 42(Summary)m 10(links)m t-rom.300 @sf 0 291 p (Each)s 10(summary)m 11(link)m 10(advertisement)m 10(describes)m 10 r 97 c 11(route)m 10(to)m 10 r 97 c 10(single)m 11(destination.)m 13(Summary)m 11(link)m 10(advertisements)m 10(are)m 10(\015ooded)m 0 341 p (throughout)s 10 r 97 c 11(single)m 10(area)m 11(only)m -2 r 46 c 13(The)m 10(destination)m 11(described)m 10(is)m 11(one)m 10(that)m 10(is)m 11(external)m 10(to)m 11(the)m 10(area,)m 10(yet)m 11(still)m 10(belonging)m 11(to)m 10(the)m 0 390 p (Autonomous)s 10(System.)m 0 458 p (Summary)s 10(link)m 11(advertisements)m 10(are)m 11(originated)m 10(by)m 10(area)m 11(border)m 10(routers.)m 14(The)m 11(precise)m 10(summary)m 10(routes)m 11(to)m 10(advertise)m 11(into)m 10(an)m 0 508 p (area)s 10(are)m 11(determined)m 10(by)m 11(examining)m 10(the)m 10(routing)m 11(table)m 10(structure)m 11(\(see)m 10(Section)m 11 r 49 c -1(1\))m 9(in)m 11(accordance)m 10(with)m 11(the)m 10(algorithm)m 0 558 p (described)s 10(below)m -1 r 46 c 13(Note)m 10(that)m 10(only)m 11(intra-area)m 10(routes)m 11(are)m 10(advertised)m 11(into)m 10(the)m 10(backbone,)m 11(while)m 10(both)m 11(intra-area)m 10(and)m 0 608 p (inter)s (-area)s 10(routes)m 10(are)m 10(advertised)m 11(into)m 10(the)m 11(other)m 10(areas.)m 0 675 p 84 c -2 r 111 c 9(determine)m 11(which)m 10(routes)m 11(to)m 10(advertise)m 11(into)m 10(an)m 10(attached)m 11(Area)m 10(A,)m 11(each)m 10(routing)m 10(table)m 11(entry)m 10(is)m 11(processed)m 10(as)m 11(follows.)m 0 725 p (Remember)s 10(that)m 11(each)m 10(routing)m 11(table)m 10(entry)m 10(describes)m 11 r 97 c 10(set)m 11(of)m 10(equal-cost)m 11(best)m 10(paths)m 10(to)m 11 r 97 c 10(particular)m 11(destination:)m cmsy10.300 @sf 62 834 p 15 c t-rom.300 @sf 21(Only)m 10(Destination)m 11 r 84 c -2(ypes)m 9(of)m 11(network)m 10(and)m 11(AS)m 10(boundary)m 10(router)m 11(are)m 10(advertised)m 11(in)m 10(summary)m 11(link)m 10(advertisements.)m 14(If)m 104 884 p (the)s 10(routing)m 11(table)m 10(entry')m -1 r 115 c t-bol.300 @sf 9(Destination)m 11 r 84 c -3(ype)m t-rom.300 @sf 10(is)m 10(area)m 11(border)m 10(router)m -1 r 44 c 10(examine)m 10(the)m 11(next)m 10(routing)m 11(table)m 10(entry)m -2 r 46 c cmsy10.300 @sf 62 967 p 15 c t-rom.300 @sf 21(AS)m 10(external)m 11(routes)m 10(are)m 11(never)m 10(advertised)m 11(in)m 10(summary)m 10(link)m 11(advertisements.)m 14(If)m 10(the)m 10(routing)m 11(table)m 10(entry)m 11(has)m t-bol.300 @sf 104 1017 p (Path-type)s t-rom.300 @sf 10(of)m 11(type)m 10 r 49 c 10(external)m 11(or)m 10(type)m 11 r 50 c 10(external,)m 11(examine)m 10(the)m 10(next)m 11(routing)m 10(table)m 11(entry)m -2 r 46 c cmsy10.300 @sf 62 1100 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 11(the)m 10(area)m 11(associated)m 10(with)m 11(this)m 10(set)m 10(of)m 11(paths)m 10(is)m 11(the)m 10(Area)m 10 r 65 c 11(itself,)m 10(do)m 11(not)m 10(generate)m 11 r 97 c 10(summary)m 10(link)m 104 1150 p (advertisement)s 10(for)m 11(the)m 10(route.)m t-rom.210 @sf 578 1135 p (14)s cmsy10.300 @sf 62 1233 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 11(the)m 10(next)m 11(hops)m 10(associated)m 11(with)m 10(this)m 10(set)m 11(of)m 10(paths)m 11(belong)m 10(to)m 10(Area)m 11 r 65 c 10(itself,)m 11(do)m 10(not)m 11(generate)m 10 r 97 c 10(summary)m 11(link)m 104 1283 p (advertisement)s 10(for)m 10(the)m 10(route.)m t-rom.210 @sf 577 1267 p (15)s t-rom.300 @sf 622 1283 p (This)s 10(is)m 10(the)m 10(logical)m 10(equivalent)m 10(of)m 11 r 97 c 10(Distance)m 10 r 86 c -4(ector)m 9(protocol')m -1 r 115 c 9(split)m 10(horizon)m 10(logic.)m cmsy10.300 @sf 62 1366 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 11(the)m 10(routing)m 11(table)m 10(cost)m 11(equals)m 10(or)m 10(exceeds)m 11(the)m 10(value)m 11(LSIn\014nity)m -2 r 44 c 9 r 97 c 11(summary)m 10(link)m 11(advertisement)m 10(cannot)m 10(be)m 104 1415 p (generated)s 10(for)m 11(this)m 10(route.)m cmsy10.300 @sf 62 1498 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 10(the)m 10(destination)m 10(of)m 10(this)m 10(route)m 10(is)m 10(an)m 10(AS)m 10(boundary)m 10(router)m 44 c 9(generate)m 10 r 97 c 10 r 84 c -2(ype)m 9 r 52 c 10(link)m 10(state)m 10(advertisement)m 10(for)m 10(the)m 104 1548 p (destination,)s 10(with)m t-bol.300 @sf 11(Link)m 10(State)m 10(ID)m t-rom.300 @sf 11(equal)m 10(to)m 11(the)m 10(AS)m 11(boundary)m 10(router)m 1 r 39 c -1 r 115 c 10(Router)m 10(ID)m 10(and)m 11(metric)m 10(equal)m 11(to)m 10(the)m 11(routing)m 104 1598 p (table)s 10(entry')m -1 r 115 c 9(cost.)m 14(These)m 11(advertisements)m 10(should)m 10(not)m 11(be)m 10(generated)m 11(if)m 10(Area)m 11 r 65 c 10(has)m 10(been)m 11(con\014gured)m 10(as)m 11 r 97 c 10(stub)m 10(area.)m cmsy10.300 @sf 62 1681 p 15 c t-rom.300 @sf 21(Else,)m 10(the)m 11(Destination)m 10(type)m 11(is)m 10(network.)m 14(If)m 10(this)m 11(is)m 10(an)m 11(inter)m (-area)s 9(route,)m 11(generate)m 10 r 97 c 10 r 84 c -1(ype)m 9 r 51 c 10(advertisement)m 11(for)m 10(the)m 104 1731 p (destination,)s 10(with)m t-bol.300 @sf 11(Link)m 10(State)m 10(ID)m t-rom.300 @sf 11(equal)m 10(to)m 11(the)m 10(network')m -1 r 115 c 9(address)m 11(\(if)m 10(necessary)m -2 r 44 c 10(the)m 10(Link)m 11(State)m 10(ID)m 10(can)m 11(also)m 10(have)m 104 1781 p (one)s 10(or)m 11(more)m 10(of)m 10(the)m 11(network')m -1 r 115 c 9(\\host")m 10(bits)m 11(set;)m 10(see)m 11(Appendix)m 10 r 70 c 10(for)m 11(details\))m 10(and)m 11(metric)m 10(equal)m 11(to)m 10(the)m 10(routing)m 11(table)m 104 1830 p (cost.)s cmsy10.300 @sf 62 1913 p 15 c t-rom.300 @sf 21(The)m 10(one)m 11(remaining)m 10(case)m 11(is)m 10(an)m 11(intra-area)m 10(route)m 10(to)m 11 r 97 c 10(network.)m 14(This)m 10(means)m 11(that)m 10(the)m 11(network)m 10(is)m 11(contained)m 10(in)m 10(one)m 11(of)m 104 1963 p (the)s 10(router)m 2 r 39 c -2 r 115 c 10(directly)m 10(attached)m 11(areas.)m 14(In)m 10(general,)m 10(this)m 11(information)m 10(must)m 11(be)m 10(condensed)m 10(before)m 11(appearing)m 10(in)m 104 2013 p (summary)s 10(link)m 11(advertisements.)m 13(Remember)m 11(that)m 10(an)m 11(area)m 10(has)m 11(been)m 10(de\014ned)m 10(as)m 11 r 97 c 10(list)m 11(of)m 10(address)m 10(ranges,)m 11(each)m 10(range)m 104 2063 p (consisting)s 10(of)m 11(an)m 10([address,mask])m 10(pair)m 11(and)m 10 r 97 c 11(status)m 10(indication)m 11(of)m 10(either)m 10(Advertise)m 11(or)m 10(DoNotAdvertise.)m 14(At)m 10(most)m 11 r 97 c 104 2113 p (single)s 10 r 84 c -2(ype)m 10 r 51 c 10(advertisement)m 11(is)m 10(made)m 10(for)m 11(each)m 10(range.)m 14(When)m 10(the)m 11(range')m -1 r 115 c 9(status)m 10(indicates)m 11(Advertise,)m 10 r 97 c 11 r 84 c -2(ype)m 9 r 51 c 104 2163 p (advertisement)s 10(is)m 11(generated)m 10(with)m 10(Link)m 11(State)m 10(ID)m 11(equal)m 10(to)m 11(the)m 10(range')m -1 r 115 c 9(address)m 10(\(if)m 11(necessary)m -2 r 44 c 10(the)m 10(Link)m 10(State)m 11(ID)m 10(can)m 104 2212 p (also)s 10(have)m 11(one)m 10(or)m 10(more)m 11(of)m 10(the)m 11(range')m -2 r 115 c 10(\\host")m 10(bits)m 11(set;)m 10(see)m 10(Appendix)m 11 r 70 c 10(for)m 11(details\))m 10(and)m 11(cost)m 10(equal)m 10(to)m 11(the)m 10(smallest)m 104 2262 p (cost)s 10(of)m 11(any)m 10(of)m 10(the)m 11(component)m 10(networks.)m 14(When)m 11(the)m 10(range')m -1 r 115 c 9(status)m 11(indicates)m 10(DoNotAdvertise,)m 10(the)m 11 r 84 c -2(ype)m 9 r 51 c 104 2312 p (advertisement)s 10(is)m 11(suppressed)m 10(and)m 10(the)m 11(component)m 10(networks)m 11(remain)m 10(hidden)m 11(from)m 10(other)m 10(areas.)m 0 2348 p 780 2 ru t-rom.180 @sf 33 2375 p (14)s t-rom.240 @sf 60 2387 p (This)s 8(clause)m 7(covers)m 8(the)m 8(case:)m 11(Inter)m (-area)s 7(routes)m 8(are)m 7(not)m 8(summarized)m 8(to)m 8(the)m 7(backbone.)m 11(This)m 8(is)m 8(because)m 7(inter)m (-area)s 7(routes)m 8(are)m 8(always)m 8(associated)m 7(with)m 0 2426 p (the)s 8(backbone)m 9(area.)m t-rom.180 @sf 33 2455 p (15)s t-rom.240 @sf 60 2467 p (This)s 7(clause)m 7(is)m 7(only)m 8(invoked)m 7(when)m 7(Area)m 7 r 65 c 7(is)m 7 r 97 c 7 r 84 c (ransit)s 6(area)m 7(supporting)m 8(one)m 7(or)m 7(more)m 7(virtual)m 7(links.)m 11(For)m 7(example,)m 7(in)m 7(the)m 8(area)m 7(con\014guration)m 7(of)m 7(Figure)m 0 2507 p (6,)s 10(Router)m 10 r 82 c -1(T1)m -1 r 49 c 9(need)m 10(only)m 10(originate)m 10 r 97 c 10(single)m 10(summary)m 10(link)m 10(having)m 10(the)m 10(\(collapsed\))m 10(destination)m 10(N9-N1)m (1,H1)s 9(into)m 10(its)m 10(connected)m 10 r 84 c (ransit)s 9(area)m 10(Area)m 10(2,)m 0 2546 p (since)s 9(all)m 10(of)m 9(its)m 10(other)m 9(eligible)m 10(routes)m 9(have)m 10(next)m 9(hops)m 10(belonging)m 9(to)m 9(Area)m 10 r 50 c 9(\(and)m 10(as)m 9(such)m 10(only)m 9(need)m 10(be)m 9(advertised)m 10(by)m 9(other)m 10(area)m 9(border)m 9(routers;)m 10(in)m 10(this)m 0 2585 p (case,)s 8(Routers)m 9 r 82 c -1(T10)m 7(and)m 8 r 82 c -1(T7\).)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(72])m @eop 73 @bop0 73 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 104 195 p (By)s 10(default,)m 11(if)m 10 r 97 c 10(network)m 11(is)m 10(not)m 11(contained)m 10(in)m 11(any)m 10(explicitly)m 10(con\014gured)m 11(address)m 10(range,)m 11 r 97 c 10 r 84 c -2(ype)m 10 r 51 c 10(advertisement)m 10(is)m 104 245 p (generated)s 10(with)m 11(Link)m 10(State)m 10(ID)m 11(equal)m 10(to)m 11(the)m 10(network')m -1 r 115 c 9(address)m 11(\(if)m 10(necessary)m -2 r 44 c 10(the)m 10(Link)m 11(State)m 10(ID)m 10(can)m 11(also)m 10(have)m 11(one)m 104 295 p (or)s 10(more)m 11(of)m 10(the)m 10(network')m -1 r 115 c 10(\\host")m 10(bits)m 10(set;)m 11(see)m 10(Appendix)m 11 r 70 c 10(for)m 10(details\))m 11(and)m 10(metric)m 11(equal)m 10(to)m 11(the)m 10(network')m -1 r 115 c 9(routing)m 104 345 p (table)s 10(cost.)m 104 411 p (If)s 10(virtual)m 11(links)m 10(are)m 10(being)m 11(used)m 10(to)m 11(provide/increase)m 10(connectivity)m 11(of)m 10(the)m 10(backbone,)m 11(routing)m 10(information)m 104 461 p (concerning)s 10(the)m 11(backbone)m 10(networks)m 10(should)m 11(not)m 10(be)m 11(condensed)m 10(before)m 11(being)m 10(summarized)m 10(into)m 11(the)m 10(virtual)m 11(links')m 104 511 p 84 c -1(ransit)m 10(areas.)m 14(Nor)m 10(should)m 10(the)m 11(advertisement)m 10(of)m 11(backbone)m 10(networks)m 11(into)m 10 r 84 c -1(ransit)m 10(areas)m 10(be)m 11(suppressed.)m 14(In)m 10(other)m 104 560 p (words,)s 10(the)m 10(backbone')m -1 r 115 c 9(con\014gured)m 11(ranges)m 10(should)m 10(be)m 11(ignored)m 10(when)m 10(originating)m 11(summary)m 10(links)m 10(into)m 10 r 84 c (ransit)s 9(areas.)m 104 610 p (The)s 10(existence)m 11(of)m 10(virtual)m 10(links)m 11(is)m 10(determined)m 11(during)m 10(the)m 11(shortest)m 10(path)m 10(calculation)m 11(for)m 10(the)m 11 r 84 c -1(ransit)m 10(areas)m 10(\(see)m 104 660 p (Section)s 10(16.1\).)m 0 769 p (If)s 10 r 97 c 11(router)m 10(advertises)m 11 r 97 c 10(summary)m 10(advertisement)m 11(for)m 10 r 97 c 11(destination)m 10(which)m 11(then)m 10(becomes)m 10(unreachable,)m 11(the)m 10(router)m 11(must)m 0 819 p (then)s 10(\015ush)m 11(the)m 10(advertisement)m 10(from)m 11(the)m 10(routing)m 10(domain)m 11(by)m 10(setting)m 10(its)m 11(age)m 10(to)m 11(MaxAge)m 10(and)m 10(re\015ooding)m 11(\(see)m 10(Section)m 10(14.1\).)m 0 869 p (Also,)s 10(if)m 11(the)m 10(destination)m 11(is)m 10(still)m 10(reachable,)m 11(yet)m 10(can)m 11(no)m 10(longer)m 11(be)m 10(advertised)m 10(according)m 11(to)m 10(the)m 11(above)m 10(procedure)m 10(\(e.g.,)m 11(it)m 10(is)m 0 919 p (now)s 10(an)m 10(inter)m (-area)s 9(route,)m 10(when)m 10(it)m 10(used)m 10(to)m 11(be)m 10(an)m 10(intra-area)m 10(route)m 10(associated)m 10(with)m 10(some)m 10(non-backbone)m 10(area;)m 10(it)m 10(would)m 10(thus)m 0 968 p (no)s 10(longer)m 11(be)m 10(advertisable)m 11(to)m 10(the)m 10(backbone\),)m 11(the)m 10(advertisement)m 11(should)m 10(also)m 11(be)m 10(\015ushed)m 10(from)m 11(the)m 10(routing)m 11(domain.)m 0 1036 p (For)s 10(an)m 11(example)m 10(of)m 11(summary)m 10(link)m 10(advertisements,)m 11(consider)m 10(again)m 11(the)m 10(area)m 11(con\014guration)m 10(in)m 10(Figure)m 11(6.)m 14(Routers)m 10 r 82 c -1(T3,)m 0 1086 p 82 c -2(T4,)m 10 r 82 c -2(T7,)m 10 r 82 c -2(T10)m 10(and)m 10 r 82 c -1(T1)m -2 r 49 c 10(are)m 10(all)m 10(area)m 11(border)m 10(routers,)m 11(and)m 10(therefore)m 10(are)m 11(originating)m 10(summary)m 11(link)m 10(advertisements.)m 0 1136 p (Consider)s 10(in)m 11(particular)m 10(Router)m 11 r 82 c -2(T4.)m 13(Its)m 10(routing)m 11(table)m 10(was)m 11(calculated)m 10(as)m 11(the)m 10(example)m 10(in)m 11(Section)m 10 r 49 c (1.3.)s 13 r 82 c -2(T4)m 9(originates)m 0 1186 p (summary)s 10(link)m 11(advertisements)m 10(into)m 11(both)m 10(the)m 10(backbone)m 11(and)m 10(Area)m 11(1.)m 14(Into)m 10(the)m 10(backbone,)m 11(Router)m 10 r 82 c -1(T4)m 9(originates)m 11(separate)m 0 1235 p (advertisements)s 10(for)m 11(each)m 10(of)m 11(the)m 10(networks)m 10(N1-N4.)m 14(Into)m 11(Area)m 10(1,)m 11(Router)m 10 r 82 c -1(T4)m 9(originates)m 10(separate)m 11(advertisements)m 10(for)m 0 1285 p (networks)s 10(N6-N8)m 11(and)m 10(the)m 11(AS)m 10(boundary)m 10(routers)m 11 r 82 c -2(T5,R)m -2(T7.)m 13(It)m 10(also)m 11(condenses)m 10(host)m 10(routes)m 11(Ia)m 10(and)m 11(Ib)m 10(into)m 11 r 97 c 10(single)m 0 1335 p (summary)s 10(link)m 11(advertisement.)m 14(Finally)m -2 r 44 c 9(the)m 11(routes)m 10(to)m 11(networks)m 10(N9,N10,N1)m 49 c 9(and)m 10(Host)m 11(H1)m 10(are)m 11(advertised)m 10(by)m 10 r 97 c 11(single)m 0 1385 p (summary)s 10(link)m 11(advertisement.)m 14(This)m 10(condensation)m 11(was)m 10(originally)m 10(performed)m 11(by)m 10(the)m 11(Router)m 10 r 82 c -1(T1)m -2(1.)m 0 1453 p (These)s 10(advertisements)m 11(are)m 10(illustrated)m 11(graphically)m 10(in)m 10(Figures)m 11 r 55 c 10(and)m 11(8.)m 14 r 84 c -2(wo)m 9(of)m 11(the)m 10(summary)m 10(link)m 11(advertisements)m 0 1502 p (originated)s 10(by)m 11(Router)m 10 r 82 c -1(T4)m 9(follow)m -2 r 46 c 13(The)m 11(actual)m 10(IP)m 11(addresses)m 10(for)m 10(the)m 11(networks)m 10(and)m 11(routers)m 10(in)m 11(question)m 10(have)m 10(been)m 0 1552 p (assigned)s 10(in)m 11(Figure)m 10(15.)m c-med.270 @sf 157 1657 p 59 c 23(summary)m 22(link)m 23(advertisement)m 22(for)m 23(Network)m 22(N1,)m 157 1703 p 59 c 23(originated)m 22(by)m 23(Router)m 22(RT4)m 23(into)m 22(the)m 23(backbone)m 157 1794 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 405(;always)m 22(true)m 23(on)m 22(origination)m 157 1840 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 113(;TOS-capable)m 157 1885 p (LS)s 23(type)m 22 r 61 c 23 r 51 c 382(;indicates)m 23(summary)m 22(link)m 23(to)m 22(IP)m 23(net)m 157 1931 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(192.1.2.0)m 68(;N1's)m 22(IP)m 23(network)m 22(number)m 157 1977 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.4)m 157(;RT4's)m 23(ID)m 337 2022 p (TOS)s 23 r 61 c 22 r 48 c 337 2068 p (metric)s 23 r 61 c 22 r 52 c 157 2159 p 59 c 23(summary)m 22(link)m 23(advertisement)m 22(for)m 23(AS)m 22(boundary)m 23(Router)m 22(RT7)m 157 2205 p 59 c 23(originated)m 22(by)m 23(Router)m 22(RT4)m 23(into)m 22(Area)m 23 r 49 c 157 2296 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 405(;always)m 22(true)m 23(on)m 22(origination)m 157 2342 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 113(;TOS-capable)m 157 2388 p (LS)s 23(type)m 22 r 61 c 23 r 52 c 382(;indicates)m 23(summary)m 22(link)m 23(to)m 22(ASBR)m 157 2433 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(Router)m 23(RT7's)m 22(ID)m 157 2479 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.4)m 157(;RT4's)m 23(ID)m 337 2525 p (TOS)s 23 r 61 c 22 r 48 c 337 2570 p (metric)s 23 r 61 c 22(14)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(73])m @eop 74 @bop0 74 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (Summary)s 10(link)m 11(advertisements)m 10(pertain)m 11(to)m 10 r 97 c 10(single)m 11(destination)m 10(\(IP)m 11(network)m 10(or)m 11(AS)m 10(boundary)m 10(router\).)m 14(However)m 44 c 9(for)m 10 r 97 c 0 245 p (single)s 10(destination)m 11(there)m 10(may)m 11(be)m 10(separate)m 10(sets)m 11(of)m 10(paths,)m 11(and)m 10(therefore)m 11(separate)m 10(routing)m 10(table)m 11(entries,)m 10(for)m 11(each)m 10 r 84 c -2(ype)m 10(of)m 0 295 p (Service.)s 14(All)m 10(these)m 11(entries)m 10(must)m 11(be)m 10(considered)m 10(when)m 11(building)m 10(the)m 11(summary)m 10(link)m 10(advertisement)m 11(for)m 10(the)m 11(destination;)m 10 r 97 c 0 345 p (single)s 10(advertisement)m 11(must)m 10(specify)m 11(the)m 10(separate)m 10(costs)m 11(\(if)m 10(they)m 11(exist\))m 10(for)m 11(each)m 10 r 84 c (OS.)s 10(The)m 10(encoding)m 10(of)m 11 r 84 c (OS)s 10(in)m 10(OSPF)m 10(link)m 0 394 p (state)s 10(advertisements)m 11(is)m 10(described)m 11(in)m 10(Section)m 10(12.3.)m 0 462 p (Clearing)s 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(in)m 11(the)m 10(Options)m 11(\014eld)m 10(of)m 10 r 97 c 11(summary)m 10(link)m 11(advertisement)m 10(indicates)m 11(that)m 10(there)m 10(is)m 11 r 97 c 10 r 84 c (OS)s 10 r 48 c 10(path)m 11(to)m 10(the)m 0 512 p (destination,)s 10(but)m 11(no)m 10(paths)m 11(for)m 10(non-zero)m 10 r 84 c (OS.)s 10(This)m 11(can)m 10(happen)m 10(when)m 11(non-T)m (OS-capable)s 9(routers)m 11(exist)m 10(in)m 11(the)m 10(routing)m 0 562 p (domain)s 10(\(see)m 11(Section)m 10(2.4\).)m t-bol.300 @sf 0 690 p (12.4.4)s 42(Originating)m 10(summary)m 10(links)m 11(into)m 10(stub)m 11(ar)m (eas)s t-rom.300 @sf 0 786 p (The)s 10(algorithm)m 11(in)m 10(Section)m 11(12.4.3)m 10(is)m 10(optional)m 11(when)m 10(Area)m 11 r 65 c 10(is)m 11(an)m 10(OSPF)m 10(stub)m 11(area.)m 14(Area)m 10(border)m 11(routers)m 10(connecting)m 10(to)m 11 r 97 c 0 835 p (stub)s 10(area)m 11(can)m 10(originate)m 11(summary)m 10(link)m 10(advertisements)m 11(into)m 10(the)m 11(area)m 10(according)m 11(to)m 10(the)m 10(above)m 11(Section')m -1 r 115 c 9(algorithm,)m 10(or)m 11(can)m 0 885 p (choose)s 10(to)m 11(originate)m 10(only)m 11 r 97 c 10(subset)m 10(of)m 11(the)m 10(advertisements,)m 11(possibly)m 10(under)m 11(con\014guration)m 10(control.)m 14(The)m 10(fewer)m 0 935 p (advertisements)s 10(originated,)m 11(the)m 10(smaller)m 10(the)m 11(stub)m 10(area')m -1 r 115 c 9(link)m 11(state)m 10(database,)m 10(further)m 11(reducing)m 10(the)m 10(demands)m 11(on)m 10(its)m 10(routers')m 0 985 p (resources.)s 14(However)m -1 r 44 c 10(omitting)m 10(advertisements)m 10(may)m 11(also)m 10(lead)m 11(to)m 10(sub-optimal)m 11(inter)m (-area)s 9(routing,)m 11(although)m 10(routing)m 10(will)m 0 1035 p (continue)s 10(to)m 11(function.)m 0 1102 p (As)s 10(speci\014ed)m 10(in)m 10(Section)m 10(12.4.3,)m 10 r 84 c -2(ype)m 9 r 52 c 10(link)m 10(state)m 10(advertisements)m 10(\(ASBR)m 10(summary)m 10(links\))m 10(are)m 10(never)m 10(originated)m 10(into)m 10(stub)m 0 1152 p (areas.)s 0 1220 p (In)s 10 r 97 c 11(stub)m 10(area,)m 11(instead)m 10(of)m 10(importing)m 11(external)m 10(routes)m 11(each)m 10(area)m 11(border)m 10(router)m 10(originates)m 11 r 97 c 10(\\default)m 11(summary)m 10(link")m 10(into)m 0 1270 p (the)s 10(area.)m 14(The)m t-bol.300 @sf 11(Link)m 10(State)m 11(ID)m t-rom.300 @sf 10(for)m 10(the)m 11(default)m 10(summary)m 11(link)m 10(is)m 10(set)m 11(to)m 10(DefaultDestination,)m 11(and)m 10(the)m 11(metric)m 10(set)m 10(to)m 11(the)m 0 1320 p (\(per)s (-area\))s 10(con\014gurable)m 10(parameter)m 10(StubDefaultCost.)m 14(Note)m 11(that)m 10(StubDefaultCost)m 11(need)m 10(not)m 10(be)m 11(con\014gured)m 10(identically)m 11(in)m 0 1369 p (all)s 10(of)m 11(the)m 10(stub)m 11(area')m -2 r 115 c 10(area)m 10(border)m 11(routers.)m t-bol.300 @sf 0 1498 p (12.4.5)s 42(AS)m 10(external)m 10(links)m t-rom.300 @sf 0 1593 p (AS)s 10(external)m 11(link)m 10(advertisements)m 11(describe)m 10(routes)m 10(to)m 11(destinations)m 10(external)m 11(to)m 10(the)m 11(Autonomous)m 10(System.)m 14(Most)m 10(AS)m 0 1643 p (external)s 10(link)m 11(advertisements)m 10(describe)m 11(routes)m 10(to)m 10(speci\014c)m 11(external)m 10(destinations;)m 11(in)m 10(these)m 11(cases)m 10(the)m 10(advertisement')m -1 r 115 c 10(Link)m 0 1693 p (State)s 10(ID)m 11(is)m 10(set)m 11(to)m 10(the)m 10(destination)m 11(network')m -1 r 115 c 9(IP)m 10(address)m 11(\(if)m 10(necessary)m -1 r 44 c 9(the)m 10(Link)m 11(State)m 10(ID)m 11(can)m 10(also)m 10(have)m 11(one)m 10(or)m 11(more)m 10(of)m 0 1743 p (the)s 10(network')m -1 r 115 c 10(\\host")m 10(bits)m 10(set;)m 11(see)m 10(Appendix)m 11 r 70 c 10(for)m 10(details\).)m 14(However)m 44 c 9 r 97 c 11(default)m 10(route)m 10(for)m 11(the)m 10(Autonomous)m 11(System)m 10(can)m 0 1793 p (be)s 10(described)m 11(in)m 10(an)m 11(AS)m 10(external)m 10(link)m 11(advertisement)m 10(by)m 11(setting)m 10(the)m 11(advertisement')m -2 r 115 c t-bol.300 @sf 10(Link)m 10(State)m 11(ID)m t-rom.300 @sf 10(to)m 0 1842 p (DefaultDestination)s 10 r 40 c c-med.300 @sf (0.0.0.0)s t-rom.300 @sf (\).)s 14(AS)m 11(external)m 10(link)m 11(advertisements)m 10(are)m 10(originated)m 11(by)m 10(AS)m 11(boundary)m 10(routers.)m 14(An)m 10(AS)m 0 1892 p (boundary)s 10(router)m 11(originates)m 10 r 97 c 11(single)m 10(AS)m 10(external)m 11(link)m 10(advertisement)m 11(for)m 10(each)m 11(external)m 10(route)m 10(that)m 11(it)m 10(has)m 11(learned,)m 10(either)m 0 1942 p (through)s 10(another)m 11(routing)m 10(protocol)m 11(\(such)m 10(as)m 10(EGP\),)m 11(or)m 10(through)m 11(con\014guration)m 10(information.)m 0 2010 p (In)s 10(general,)m 11(AS)m 10(external)m 11(link)m 10(advertisements)m 10(are)m 11(the)m 10(only)m 11(type)m 10(of)m 11(link)m 10(state)m 10(advertisements)m 11(that)m 10(are)m 11(\015ooded)m 10(throughout)m 0 2060 p (the)s 10(entire)m 11(Autonomous)m 10(System;)m 11(all)m 10(other)m 10(types)m 11(of)m 10(link)m 10(state)m 11(advertisements)m 10(are)m 11(speci\014c)m 10(to)m 10 r 97 c 11(single)m 10(area.)m 14(However)m -1 r 44 c 10(AS)m 0 2109 p (external)s 10(link)m 11(advertisements)m 10(are)m 11(not)m 10(\015ooded)m 10(into/throughout)m 11(stub)m 10(areas)m 11(\(see)m 10(Section)m 11(3.6\).)m 13(This)m 11(enables)m 10 r 97 c 11(reduction)m 10(in)m 0 2159 p (link)s 10(state)m 11(database)m 10(size)m 11(for)m 10(routers)m 10(internal)m 11(to)m 10(stub)m 11(areas.)m 0 2227 p (The)s 10(metric)m 11(that)m 10(is)m 11(advertised)m 10(for)m 10(an)m 11(external)m 10(route)m 11(can)m 10(be)m 11(one)m 10(of)m 10(two)m 11(types.)m 14 r 84 c -2(ype)m 9 r 49 c 11(metrics)m 10(are)m 10(comparable)m 11(to)m 10(the)m 11(link)m 0 2277 p (state)s 10(metric.)m 14 r 84 c -2(ype)m 10 r 50 c 10(metrics)m 11(are)m 10(assumed)m 10(to)m 11(be)m 10(lar)m (ger)s 10(than)m 10(the)m 11(cost)m 10(of)m 11(any)m 10(intra-AS)m 10(path.)m 14(As)m 11(with)m 10(summary)m 11(link)m 0 2327 p (advertisements,)s 10(if)m 11(separate)m 10(paths)m 11(exist)m 10(based)m 10(on)m 11 r 84 c (OS,)s 10(separate)m 10 r 84 c (OS)s 10(costs)m 10(can)m 10(be)m 11(included)m 10(in)m 11(the)m 10(AS)m 11(external)m 10(link)m 0 2376 p (advertisement.)s 14(The)m 10(encoding)m 11(of)m 10 r 84 c (OS)s 10(in)m 10(OSPF)m 11(link)m 10(state)m 10(advertisements)m 11(is)m 10(described)m 11(in)m 10(Section)m 11(12.3.)m 13(If)m 11(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(of)m 0 2426 p (the)s 10(advertisement')m -1 r 115 c t-bol.300 @sf 10(Options)m t-rom.300 @sf 10(\014eld)m 10(is)m 11(clear)m -1 r 44 c 10(no)m 10(non-zero)m 10 r 84 c (OS)s 10(paths)m 10(to)m 11(the)m 10(destination)m 11(exist.)m 0 2494 p (If)s 10 r 97 c 11(router)m 10(advertises)m 11(an)m 10(AS)m 10(external)m 11(link)m 10(advertisement)m 11(for)m 10 r 97 c 11(destination)m 10(which)m 10(then)m 11(becomes)m 10(unreachable,)m 11(the)m 10(router)m 0 2544 p (must)s 10(then)m 11(\015ush)m 10(the)m 11(advertisement)m 10(from)m 10(the)m 11(routing)m 10(domain)m 11(by)m 10(setting)m 11(its)m 10(age)m 10(to)m 11(MaxAge)m 10(and)m 11(re\015ooding)m 10(\(see)m 0 2593 p (Section)s 10(14.1\).)m 0 2723 p (Moy)s 1710([Page)m 11(74])m @eop 75 @bop0 75 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (For)s 10(an)m 11(example)m 10(of)m 11(AS)m 10(external)m 10(link)m 11(advertisements,)m 10(consider)m 11(once)m 10(again)m 11(the)m 10(AS)m 10(pictured)m 11(in)m 10(Figure)m 11(6.)m 14(There)m 10(are)m 10(two)m 0 245 p (AS)s 10(boundary)m 11(routers:)m 14 r 82 c -2(T5)m 10(and)m 10 r 82 c -1(T7.)m 12(Router)m 11 r 82 c -2(T5)m 10(originates)m 10(three)m 11(external)m 10(link)m 10(advertisements,)m 11(for)m 10(networks)m 0 295 p (N12-N14.)s 14(Router)m 10 r 82 c -1(T7)m 9(originates)m 10(two)m 10(external)m 11(link)m 10(advertisements,)m 10(for)m 11(networks)m 10(N12)m 10(and)m 10(N15.)m 14(Assume)m 11(that)m 10 r 82 c -2(T7)m 10(has)m 0 345 p (learned)s 10(its)m 11(route)m 10(to)m 11(N12)m 10(via)m 10(EGP)m -3 r 44 c 9(and)m 11(that)m 10(it)m 11(wishes)m 10(to)m 10(advertise)m 11 r 97 c 10 r 84 c -2(ype)m 10 r 50 c 10(metric)m 11(to)m 10(the)m 10(AS.)m 11 r 82 c -2(T7)m 10(would)m 10(then)m 11(originate)m 0 394 p (the)s 10(following)m 11(advertisement)m 10(for)m 11(N12:)m c-med.270 @sf 157 497 p 59 c 23(AS)m 22(external)m 23(link)m 22(advertisement)m 23(for)m 22(Network)m 23(N12,)m 157 542 p 59 c 23(originated)m 22(by)m 23(Router)m 22(RT7)m 157 634 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 405(;always)m 22(true)m 23(on)m 22(origination)m 157 679 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 113(;TOS-capable)m 157 725 p (LS)s 23(type)m 22 r 61 c 23 r 53 c 382(;indicates)m 23(AS)m 22(external)m 23(link)m 157 771 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(N12's)m 23(IP)m 22(network)m 23(number)m 157 816 p (Advertising)s 23(Router)m 22 r 61 c 23(Router)m 22(RT7's)m 23(ID)m 337 862 p (bit)s 23 r 69 c 22 r 61 c 23 r 49 c 247(;Type)m 23 r 50 c 22(metric)m 337 908 p (TOS)s 23 r 61 c 22 r 48 c 337 953 p (metric)s 23 r 61 c 22 r 50 c 337 999 p (Forwarding)s 23(address)m 22 r 61 c 23(0.0.0.0)m t-rom.300 @sf 0 1106 p (In)s 10(the)m 11(above)m 10(example,)m 11(the)m t-bol.300 @sf 10(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 10(\014eld)m 11(has)m 10(been)m 10(set)m 11(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 44 c 11(indicating)m 10(that)m 10(packets)m 11(for)m 10(the)m 0 1156 p (external)s 10(destination)m 11(should)m 10(be)m 11(forwarded)m 10(to)m 10(the)m 11(advertising)m 10(OSPF)m 11(router)m 10(\(R)m -1(T7\).)m 13(This)m 10(is)m 10(not)m 11(always)m 10(desirable.)m 0 1205 p (Consider)s 10(the)m 11(example)m 10(pictured)m 11(in)m 10(Figure)m 10(16.)m 14(There)m 11(are)m 10(three)m 11(OSPF)m 10(routers)m 10(\(R)m -1 r 84 c -3(A,)m 9 r 82 c -1(TB)m 9(and)m 10 r 82 c -1(TC\))m 9(connected)m 11(to)m 10 r 97 c 0 1255 p (common)s 10(network.)m 14(Only)m 11(one)m 10(of)m 11(these)m 10(routers,)m 10 r 82 c -1 r 84 c -3(A,)m 9(is)m 10(exchanging)m 11(EGP)m 10(information)m 11(with)m 10(the)m 10(non-OSPF)m 11(router)m 10 r 82 c -1(TX.)m 0 1305 p 82 c -2 r 84 c -3 r 65 c 10(must)m 10(then)m 10(originate)m 11(AS)m 10(external)m 11(link)m 10(advertisements)m 10(for)m 11(those)m 10(destinations)m 11(it)m 10(has)m 11(learned)m 10(from)m 10 r 82 c -1(TX.)m 9(By)m 11(using)m 0 1355 p (the)s 10(AS)m 11(external)m 10(link)m 11(advertisement')m -2 r 115 c t-bol.300 @sf 10(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 10(\014eld,)m 10 r 82 c -1 r 84 c -4 r 65 c 10(can)m 10(specify)m 11(that)m 10(packets)m 11(for)m 10(these)m 10(destinations)m 0 1405 p (be)s 10(forwarded)m 11(directly)m 10(to)m 11 r 82 c -2(TX.)m 10 r 87 c -1(ithout)m 9(this)m 11(feature,)m 10(Routers)m 11 r 82 c -2(TB)m 9(and)m 11 r 82 c -2(TC)m 10(would)m 10(take)m 11(an)m 10(extra)m 10(hop)m 11(to)m 10(get)m 11(to)m 10(these)m 0 1454 p (destinations.)s 0 1521 p (Note)s 10(that)m 11(when)m 10(the)m t-bol.300 @sf 11(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 10(\014eld)m 10(is)m 11(non-zero,)m 10(it)m 10(should)m 11(point)m 10(to)m 11 r 97 c 10(router)m 10(belonging)m 11(to)m 10(another)m 0 1571 p (Autonomous)s 10(System.)m 0 1638 p 65 c t-bol.300 @sf 10(forwarding)m 11(addr)m (ess)s t-rom.300 @sf 9(can)m 11(also)m 10(be)m 11(speci\014ed)m 10(for)m 11(the)m 10(default)m 10(route.)m 14(For)m 11(example,)m 10(in)m 11(\014gure)m 10(16)m 10 r 82 c -1 r 84 c -3 r 65 c 9(may)m 10(want)m 11(to)m 0 1688 p (specify)s 10(that)m 11(all)m 10(externally-destined)m 11(packets)m 10(should)m 10(by)m 11(default)m 10(be)m 11(forwarded)m 10(to)m 11(its)m 10(EGP)m 10(peer)m 11 r 82 c -2(TX.)m 13(The)m 11(resulting)m 10(AS)m 0 1738 p (external)s 10(link)m 11(advertisement)m 10(is)m 11(pictured)m 10(below)m -2 r 46 c 13(Note)m 11(that)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(is)m 10(set)m 11(to)m 10(DefaultDestination.)m c-med.270 @sf 157 1840 p 59 c 23(Default)m 22(route,)m 23(originated)m 22(by)m 23(Router)m 22(RTA)m 157 1886 p 59 c 23(Packets)m 22(forwarded)m 23(through)m 22(RTX)m 157 1977 p (LS)s 23(age)m 22 r 61 c 23 r 48 c 405(;always)m 22(true)m 23(on)m 22(origination)m 157 2023 p (Options)s 23 r 61 c 22(\(T-bit|E-bit\))m 90(;TOS-capable)m 157 2068 p (LS)s 23(type)m 22 r 61 c 23 r 53 c 382(;indicates)m 23(AS)m 22(external)m 23(link)m 157 2114 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(DefaultDestination)m 45 r 59 c 23(default)m 22(route)m 157 2160 p (Advertising)s 23(Router)m 22 r 61 c 23(Router)m 22(RTA's)m 23(ID)m 337 2205 p (bit)s 23 r 69 c 22 r 61 c 23 r 49 c 247(;Type)m 23 r 50 c 22(metric)m 337 2251 p (TOS)s 23 r 61 c 22 r 48 c 337 2297 p (metric)s 23 r 61 c 22 r 49 c 337 2342 p (Forwarding)s 23(address)m 22 r 61 c 23(RTX's)m 22(IP)m 23(address)m t-rom.300 @sf 0 2449 p (In)s 10(\014gure)m 11(16,)m 10(suppose)m 11(instead)m 10(that)m 10(both)m 11 r 82 c -2 r 84 c -3 r 65 c 9(and)m 11 r 82 c -2(TB)m 10(exchange)m 10(EGP)m 11(information)m 10(with)m 10 r 82 c -1(TX.)m 13(In)m 10(this)m 11(case,)m 10 r 82 c -1 r 84 c -4 r 65 c 10(and)m 0 2499 p 82 c -2(TB)m 10(would)m 10(originate)m 10(the)m 10(same)m 10(set)m 10(of)m 10(AS)m 10(external)m 10(link)m 10(advertisements.)m 14(These)m 10(advertisements,)m 10(if)m 10(they)m 10(specify)m 10(the)m 11(same)m 0 2549 p (metric,)s 10(would)m 11(be)m 10(functionally)m 11(equivalent)m 10(since)m 10(they)m 11(would)m 10(specify)m 11(the)m 10(same)m 11(destination)m 10(and)m 10(forwarding)m 11(address)m 0 2599 p (\(R)s -2(TX\).)m 10(This)m 10(leads)m 11(to)m 10 r 97 c 11(clear)m 10(duplication)m 10(of)m 11(ef)m (fort.)s 13(If)m 10(only)m 11(one)m 10(of)m 11 r 82 c -2 r 84 c -3 r 65 c 9(or)m 11 r 82 c -2(TB)m 10(originated)m 10(the)m 10(set)m 11(of)m 10(external)m 0 2723 p (Moy)s 1710([Page)m 11(75])m @eop 76 @bop0 76 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (advertisements,)s 10(the)m 11(routing)m 10(would)m 11(remain)m 10(the)m 10(same,)m 11(and)m 10(the)m 11(size)m 10(of)m 11(the)m 10(link)m 10(state)m 11(database)m 10(would)m 11(decrease.)m 14(However)m -1 r 44 c 0 245 p (it)s 10(must)m 11(be)m 10(unambiguously)m 11(de\014ned)m 10(as)m 10(to)m 11(which)m 10(router)m 11(originates)m 10(the)m 11(advertisements)m 10(\(otherwise)m 10(neither)m 11(may)m -2 r 44 c 10(or)m 10(the)m 0 295 p (identity)s 10(of)m 11(the)m 10(originator)m 11(may)m 10(oscillate\).)m 14(The)m 10(following)m 11(rule)m 10(is)m 11(thereby)m 10(established:)m t-ita.300 @sf 14(if)m 10(two)m 11 r 114 c -1(outers,)m 10(both)m 10 r 114 c (eachable)s 0 345 p (fr)s -1(om)m 10(one)m 10(another)m -3 r 44 c 9(originate)m 10(functionally)m 11(equivalent)m 10(AS)m 11(external)m 10(advertisements)m 11(\(i.e.,)m 10(same)m 10(destination,)m 11(cost)m 10(and)m 0 394 p (non-zer)s -1 r 111 c 10(forwar)m -1(ding)m 10(addr)m -1(ess\),)m 10(then)m 10(the)m 10(advertisement)m 11(originated)m 10(by)m 11(the)m 10 r 114 c (outer)s 9(having)m 10(the)m 11(highest)m 10(OSPF)m 11(Router)m 10(ID)m 10(is)m 0 444 p (used)s t-rom.300 @sf 46 c 14(The)m 10(router)m 11(having)m 10(the)m 11(lower)m 10(OSPF)m 10(Router)m 11(ID)m 10(can)m 11(then)m 10(\015ush)m 10(its)m 11(advertisement.)m 14(Flushing)m 10 r 97 c 11(link)m 10(state)m 0 494 p (advertisement)s 10(is)m 11(discussed)m 10(in)m 11(Section)m 10(14.1.)m t-bol.420 @sf 0 645 p (13)s 58(The)m 15(Flooding)m 14(Pr)m (ocedur)s -1 r 101 c t-rom.300 @sf 0 751 p (Link)s 10(State)m 10(Update)m 10(packets)m 10(provide)m 10(the)m 10(mechanism)m 10(for)m 10(\015ooding)m 10(link)m 10(state)m 10(advertisements.)m 14 r 65 c 10(Link)m 10(State)m 10(Update)m 10(packet)m 0 801 p (may)s 10(contain)m 11(several)m 10(distinct)m 11(advertisements,)m 10(and)m 10(\015oods)m 11(each)m 10(advertisement)m 11(one)m 10(hop)m 11(further)m 10(from)m 10(its)m 11(point)m 10(of)m 0 851 p (origination.)s 14 r 84 c -2 r 111 c 9(make)m 11(the)m 10(\015ooding)m 11(procedure)m 10(reliable,)m 10(each)m 11(advertisement)m 10(must)m 11(be)m 10(acknowledged)m 11(separately)m -2 r 46 c 0 901 p (Acknowledgments)s 10(are)m 11(transmitted)m 10(in)m 11(Link)m 10(State)m 10(Acknowledgment)m 11(packets.)m 14(Many)m 10(separate)m 11(acknowledgments)m 10(can)m 0 951 p (also)s 10(be)m 11(grouped)m 10(together)m 11(into)m 10 r 97 c 10(single)m 11(packet.)m 0 1014 p (The)s 10(\015ooding)m 11(procedure)m 10(starts)m 11(when)m 10 r 97 c 10(Link)m 11(State)m 10(Update)m 11(packet)m 10(has)m 11(been)m 10(received.)m 14(Many)m 10(consistency)m 11(checks)m 10(have)m 0 1064 p (been)s 10(made)m 11(on)m 10(the)m 11(received)m 10(packet)m 10(before)m 11(being)m 10(handed)m 11(to)m 10(the)m 11(\015ooding)m 10(procedure)m 10(\(see)m 11(Section)m 10(8.2\).)m 14(In)m 11(particular)m -1 r 44 c 9(the)m 0 1113 p (Link)s 10(State)m 11(Update)m 10(packet)m 11(has)m 10(been)m 10(associated)m 11(with)m 10 r 97 c 11(particular)m 10(neighbor)m -1 r 44 c 10(and)m 10 r 97 c 11(particular)m 10(area.)m 14(If)m 10(the)m 11(neighbor)m 10(is)m 11(in)m 10 r 97 c 0 1163 p (lesser)s 10(state)m 11(than)m t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 44 c 11(the)m 10(packet)m 10(should)m 11(be)m 10(dropped)m 11(without)m 10(further)m 11(processing.)m 0 1226 p (All)s 10(types)m 10(of)m 11(link)m 10(state)m 10(advertisements,)m 11(other)m 10(than)m 10(AS)m 10(external)m 10(links,)m 11(are)m 10(associated)m 10(with)m 11 r 97 c 10(speci\014c)m 10(area.)m 14(However)m -1 r 44 c 9(link)m 0 1276 p (state)s 10(advertisements)m 11(do)m 10(not)m 11(contain)m 10(an)m 10(area)m 11(\014eld.)m 14 r 65 c 10(link)m 11(state)m 10(advertisement')m -1 r 115 c 9(area)m 11(must)m 10(be)m 10(deduced)m 11(from)m 10(the)m 11(Link)m 0 1326 p (State)s 10(Update)m 11(packet)m 10(header)m -1 r 46 c 0 1389 p (For)s 10(each)m 11(link)m 10(state)m 11(advertisement)m 10(contained)m 10(in)m 11(the)m 10(packet,)m 11(the)m 10(following)m 11(steps)m 10(are)m 10(taken:)m 52 1483 p (1.)s 21 r 86 c -4(alidate)m 9(the)m 11(advertisement')m -2 r 115 c 10(LS)m 10(checksum.)m 14(If)m 11(the)m 10(checksum)m 10(turns)m 11(out)m 10(to)m 11(be)m 10(invalid,)m 10(discard)m 11(the)m 10(advertisement)m 104 1533 p (and)s 10(get)m 11(the)m 10(next)m 10(one)m 11(from)m 10(the)m 11(Link)m 10(State)m 11(Update)m 10(packet.)m 52 1611 p (2.)s 21(Examine)m 10(the)m 10(link)m 11(state)m 10(advertisement')m -1 r 115 c 9(LS)m 11(type.)m 14(If)m 10(the)m 10(LS)m 11(type)m 10(is)m 11(unknown,)m 10(discard)m 11(the)m 10(advertisement)m 10(and)m 11(get)m 104 1661 p (the)s 10(next)m 11(one)m 10(from)m 10(the)m 11(Link)m 10(State)m 11(Update)m 10(Packet.)m 14(This)m 10(speci\014cation)m 11(de\014nes)m 10(LS)m 11(types)m 10(1-5)m 10(\(see)m 11(Section)m 10(4.3\).)m 52 1740 p (3.)s 21(Else)m 10(if)m 10(this)m 11(is)m 10 r 97 c 11(AS)m 10(external)m 10(link)m 11(advertisement)m 10(\(LS)m 11(type)m cmr10.300 @sf 10 r 61 c t-rom.300 @sf 11(5\),)m 10(and)m 10(the)m 11(area)m 10(has)m 11(been)m 10(con\014gured)m 10(as)m 11 r 97 c 10(stub)m 11(area,)m 104 1790 p (discard)s 10(the)m 11(advertisement)m 10(and)m 10(get)m 11(the)m 10(next)m 11(one)m 10(from)m 11(the)m 10(Link)m 10(State)m 11(Update)m 10(Packet.)m 14(AS)m 10(external)m 11(link)m 104 1840 p (advertisements)s 10(are)m 11(not)m 10(\015ooded)m 10(into/throughout)m 11(stub)m 10(areas)m 11(\(see)m 10(Section)m 11(3.6\).)m 52 1918 p (4.)s 21(Else)m 10(if)m 10(the)m 11(advertisement')m -2 r 115 c 10(LS)m 10(age)m 11(is)m 10(equal)m 11(to)m 10(MaxAge,)m 10(and)m 11(there)m 10(is)m 11(currently)m 10(no)m 10(instance)m 11(of)m 10(the)m 11(advertisement)m 104 1968 p (in)s 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(link)m 11(state)m 10(database,)m 11(then)m 10(take)m 10(the)m 11(following)m 10(actions:)m 128 2047 p (\(a\))s 21(Acknowledge)m 10(the)m 11(receipt)m 10(of)m 11(the)m 10(advertisement)m 10(by)m 11(sending)m 10 r 97 c 11(Link)m 10(State)m 10(Acknowledgment)m 11(packet)m 10(back)m 11(to)m 195 2097 p (the)s 11(sending)m 10(neighbor)m 10(\(see)m 11(Section)m 10(13.5\).)m 126 2159 p (\(b\))s 21(Pur)m (ge)s 9(all)m 11(outstanding)m 10(requests)m 10(for)m 11(equal)m 10(or)m 11(previous)m 10(instances)m 11(of)m 10(the)m 10(advertisement)m 11(from)m 10(the)m 11(sending)m 195 2209 p (neighbor)s 2 r 39 c -2 r 115 c t-bol.300 @sf 10(Link)m 10(State)m 11(Request)m 10(list)m t-rom.300 @sf 10(\(see)m 11(Section)m 10(10\).)m 128 2271 p (\(c\))s 21(If)m 10(the)m 11(sending)m 10(neighbor)m 11(is)m 10(in)m 10(state)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 10(or)m 11(in)m 10(state)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf 44 c 11(then)m 10(install)m 11(the)m 10(MaxAge)m 11(advertisement)m 195 2321 p (in)s 11(the)m 10(link)m 10(state)m 11(database.)m 14(Otherwise,)m 10(simply)m 10(discard)m 11(the)m 10(advertisement.)m 14(In)m 11(either)m 10(case,)m 10(examine)m 11(the)m 10(next)m 195 2370 p (advertisement)s 11(\(if)m 10(any\))m 10(listed)m 11(in)m 10(the)m 11(Link)m 10(State)m 10(Update)m 11(packet.)m 52 2449 p (5.)s 21(Otherwise,)m 10(\014nd)m 10(the)m 11(instance)m 10(of)m 11(this)m 10(advertisement)m 10(that)m 11(is)m 10(currently)m 11(contained)m 10(in)m 11(the)m 10(router)m 1 r 39 c -1 r 115 c 10(link)m 10(state)m 10(database.)m 104 2499 p (If)s 10(there)m 11(is)m 10(no)m 10(database)m 11(copy)m -2 r 44 c 10(or)m 10(the)m 10(received)m 11(advertisement)m 10(is)m 11(more)m 10(recent)m 10(than)m 11(the)m 10(database)m 11(copy)m 10(\(see)m 104 2549 p (Section)s 10(13.1)m 11(below)m 10(for)m 10(the)m 11(determination)m 10(of)m 11(which)m 10(advertisement)m 11(is)m 10(more)m 10(recent\))m 11(the)m 10(following)m 11(steps)m 10(must)m 10(be)m 104 2599 p (performed:)s 0 2723 p (Moy)s 1710([Page)m 11(76])m @eop 77 @bop0 77 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 128 195 p (\(a\))s 21(If)m 10(there)m 11(is)m 10(already)m 11 r 97 c 10(database)m 10(copy)m -1 r 44 c 9(and)m 10(if)m 11(the)m 10(database)m 11(copy)m 10(was)m 11(installed)m 10(less)m 10(than)m 11(MinLSInterval)m 195 245 p (seconds)s 11(ago,)m 10(discard)m 10(the)m 11(new)m 10(advertisement)m 11(\(without)m 10(acknowledging)m 10(it\))m 11(and)m 10(examine)m 11(the)m 10(next)m 195 295 p (advertisement)s 11(\(if)m 10(any\))m 10(listed)m 11(in)m 10(the)m 11(Link)m 10(State)m 10(Update)m 11(packet.)m 126 361 p (\(b\))s 21(Otherwise)m 10(immediately)m 10(\015ood)m 11(the)m 10(new)m 11(advertisement)m 10(out)m 10(some)m 11(subset)m 10(of)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(interfaces)m 10(\(see)m 195 411 p (Section)s 11(13.3\).)m 13(In)m 11(some)m 10(cases)m 11(\(e.g.,)m 10(the)m 10(state)m 11(of)m 10(the)m 11(receiving)m 10(interface)m 11(is)m t-bol.300 @sf 10(DR)m t-rom.300 @sf 10(and)m 11(the)m 10(advertisement)m 11(was)m 195 461 p (received)s 11(from)m 10 r 97 c 10(router)m 11(other)m 10(than)m 11(the)m 10(Backup)m 10(DR\))m 11(the)m 10(advertisement)m 11(will)m 10(be)m 11(\015ooded)m 10(back)m 10(out)m 11(the)m 195 511 p (receiving)s 11(interface.)m 13(This)m 11(occurrence)m 10(should)m 11(be)m 10(noted)m 10(for)m 11(later)m 10(use)m 11(by)m 10(the)m 11(acknowledgment)m 10(process)m 195 560 p (\(Section)s 11(13.5\).)m 128 627 p (\(c\))s 21(Remove)m 10(the)m 11(current)m 10(database)m 11(copy)m 10(from)m 10(all)m 11(neighbors')m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 46 c 126 693 p (\(d\))s 21(Install)m 10(the)m 10(new)m 11(advertisement)m 10(in)m 11(the)m 10(link)m 10(state)m 11(database)m 10(\(replacing)m 11(the)m 10(current)m 11(database)m 10(copy\).)m 14(This)m 10(may)m 195 743 p (cause)s 11(the)m 10(routing)m 10(table)m 11(calculation)m 10(to)m 11(be)m 10(scheduled.)m 14(In)m 10(addition,)m 11(timestamp)m 10(the)m 11(new)m 10(advertisement)m 10(with)m 195 793 p (the)s 11(current)m 10(time)m 10(\(i.e.,)m 11(the)m 10(time)m 11(it)m 10(was)m 10(received\).)m 14(The)m 11(\015ooding)m 10(procedure)m 11(cannot)m 10(overwrite)m 10(the)m 11(newly)m 195 843 p (installed)s 11(advertisement)m 10(until)m 10(MinLSInterval)m 11(seconds)m 10(have)m 11(elapsed.)m 13(The)m 11(advertisement)m 10(installation)m 195 892 p (process)s 11(is)m 10(discussed)m 10(further)m 11(in)m 10(Section)m 11(13.2.)m 128 959 p (\(e\))s 21(Possibly)m 10(acknowledge)m 11(the)m 10(receipt)m 11(of)m 10(the)m 10(advertisement)m 11(by)m 10(sending)m 11 r 97 c 10(Link)m 10(State)m 11(Acknowledgment)m 10(packet)m 195 1009 p (back)s 11(out)m 10(the)m 10(receiving)m 11(interface.)m 14(This)m 10(is)m 10(explained)m 11(below)m 10(in)m 11(Section)m 10(13.5.)m 133 1075 p (\(f\))s 20(If)m 11(this)m 10(new)m 11(link)m 10(state)m 11(advertisement)m 10(indicates)m 10(that)m 11(it)m 10(was)m 11(originated)m 10(by)m 10(the)m 11(receiving)m 10(router)m 11(itself)m 10(\(i.e.,)m 11(is)m 195 1125 p (considered)s 11 r 97 c 10(self-originated)m 10(advertisement\),)m 11(the)m 10(router)m 11(must)m 10(take)m 10(special)m 11(action,)m 10(either)m 11(updating)m 10(the)m 195 1175 p (advertisement)s 11(or)m 10(in)m 10(some)m 11(cases)m 10(\015ushing)m 11(it)m 10(from)m 10(the)m 11(routing)m 10(domain.)m 14(For)m 11 r 97 c 10(description)m 10(of)m 11(how)m 195 1225 p (self-originated)s 11(advertisements)m 10(are)m 10(detected)m 11(and)m 10(subsequently)m 11(handled,)m 10(see)m 10(Section)m 11(13.4.)m 52 1308 p (6.)s 21(Else,)m 10(if)m 10(there)m 10(is)m 10(an)m 10(instance)m 10(of)m 11(the)m 10(advertisement)m 10(on)m 10(the)m 10(sending)m 10(neighbor)m 2 r 39 c -1 r 115 c t-bol.300 @sf 9(Link)m 10(state)m 10 r 114 c (equest)s 9(list)m t-rom.300 @sf 44 c 11(an)m 10(error)m 10(has)m 104 1357 p (occurred)s 10(in)m 11(the)m 10(Database)m 10(Exchange)m 11(process.)m 14(In)m 10(this)m 11(case,)m 10(restart)m 10(the)m 11(Database)m 10(Exchange)m 11(process)m 10(by)m 10(generating)m 104 1407 p (the)s 10(neighbor)m 11(event)m t-bol.300 @sf 10(BadLSReq)m t-rom.300 @sf 10(for)m 11(the)m 10(sending)m 11(neighbor)m 10(and)m 11(stop)m 10(processing)m 10(the)m 11(Link)m 10(State)m 11(Update)m 10(packet.)m 52 1490 p (7.)s 21(Else,)m 10(if)m 10(the)m 11(received)m 10(advertisement)m 11(is)m 10(the)m 10(same)m 11(instance)m 10(as)m 11(the)m 10(database)m 11(copy)m 10(\(i.e.,)m 10(neither)m 11(one)m 10(is)m 11(more)m 10(recent\))m 104 1540 p (the)s 10(following)m 11(two)m 10(steps)m 10(should)m 11(be)m 10(performed:)m 128 1623 p (\(a\))s 21(If)m 10(the)m 11(advertisement)m 10(is)m 11(listed)m 10(in)m 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 11(for)m 10(the)m 11(receiving)m 10(adjacency)m -2 r 44 c 10(the)m 10(router)m 195 1673 p (itself)s 11(is)m 10(expecting)m 10(an)m 11(acknowledgment)m 10(for)m 11(this)m 10(advertisement.)m 14(The)m 10(router)m 11(should)m 10(treat)m 11(the)m 10(received)m 195 1723 p (advertisement)s 11(as)m 10(an)m 10(acknowledgment,)m 11(by)m 10(removing)m 11(the)m 10(advertisement)m 10(from)m 11(the)m t-bol.300 @sf 10(Link)m 11(state)m 195 1772 p 114 c (etransmission)s 10(list)m t-rom.300 @sf 46 c 14(This)m 10(is)m 10(termed)m 11(an)m 10(\\implied)m 11(acknowledgment".)m 14(Its)m 10(occurrence)m 10(should)m 11(be)m 10(noted)m 11(for)m 195 1822 p (later)s 11(use)m 10(by)m 10(the)m 11(acknowledgment)m 10(process)m 11(\(Section)m 10(13.5\).)m 126 1889 p (\(b\))s 21(Possibly)m 10(acknowledge)m 10(the)m 11(receipt)m 10(of)m 11(the)m 10(advertisement)m 10(by)m 11(sending)m 10 r 97 c 11(Link)m 10(State)m 11(Acknowledgment)m 10(packet)m 195 1939 p (back)s 11(out)m 10(the)m 10(receiving)m 11(interface.)m 14(This)m 10(is)m 10(explained)m 11(below)m 10(in)m 11(Section)m 10(13.5.)m 52 2022 p (8.)s 21(Else,)m 10(the)m 10(database)m 11(copy)m 10(is)m 11(more)m 10(recent.)m 14(Note)m 10(an)m 11(unusual)m 10(event)m 11(to)m 10(network)m 10(management,)m 11(discard)m 10(the)m 104 2071 p (advertisement)s 10(and)m 11(process)m 10(the)m 10(next)m 11(link)m 10(state)m 11(advertisement)m 10(contained)m 11(in)m 10(the)m 10(Link)m 11(State)m 10(Update)m 11(packet.)m t-bol.360 @sf 0 2208 p (13.1)s 50(Determining)m 12(which)m 13(link)m 12(state)m 13(is)m 12(newer)m t-rom.300 @sf 0 2304 p (When)s 10 r 97 c 11(router)m 10(encounters)m 11(two)m 10(instances)m 10(of)m 11 r 97 c 10(link)m 11(state)m 10(advertisement,)m 11(it)m 10(must)m 10(determine)m 11(which)m 10(is)m 11(more)m 10(recent.)m 14(This)m 0 2353 p (occurred)s 10(above)m 11(when)m 10(comparing)m 11 r 97 c 10(received)m 10(advertisement)m 11(to)m 10(its)m 11(database)m 10(copy)m -2 r 46 c 13(This)m 11(comparison)m 10(must)m 11(also)m 10(be)m 10(done)m 0 2403 p (during)s 10(the)m 11(Database)m 10(Exchange)m 11(procedure)m 10(which)m 10(occurs)m 11(during)m 10(adjacency)m 11(bring-up.)m 0 2471 p 65 c 10(link)m 10(state)m 10(advertisement)m 10(is)m 10(identi\014ed)m 10(by)m 10(its)m 10(LS)m 10(type,)m 11(Link)m 10(State)m 10(ID)m 10(and)m 10(Advertising)m 10(Router)m -2 r 46 c 13(For)m 10(two)m 10(instances)m 10(of)m 10(the)m 0 2521 p (same)s 10(advertisement,)m 11(the)m 10(LS)m 11(sequence)m 10(number)m -1 r 44 c 10(LS)m 10(age,)m 11(and)m 10(LS)m 10(checksum)m 11(\014elds)m 10(are)m 11(used)m 10(to)m 11(determine)m 10(which)m 10(instance)m 0 2571 p (is)s 10(more)m 11(recent:)m 0 2723 p (Moy)s 1710([Page)m 11(77])m @eop 78 @bop0 78 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21(The)m 10(advertisement)m 11(having)m 10(the)m 11(newer)m 10(LS)m 11(sequence)m 10(number)m 10(is)m 11(more)m 10(recent.)m 14(See)m 10(Section)m 11(12.1.6)m 10(for)m 11(an)m 104 245 p (explanation)s 10(of)m 11(the)m 10(LS)m 10(sequence)m 11(number)m 10(space.)m 14(If)m 11(both)m 10(instances)m 10(have)m 11(the)m 10(same)m 11(LS)m 10(sequence)m 10(number)m 44 c 9(then:)m cmsy10.300 @sf 62 328 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(two)m 10(instances)m 11(have)m 10(dif)m (ferent)s 10(LS)m 10(checksums,)m 11(then)m 10(the)m 10(instance)m 11(having)m 10(the)m 11(lar)m (ger)s 9(LS)m 11(checksum)m 10(\(when)m 104 378 p (considered)s 10(as)m 11 r 97 c 10(16-bit)m 10(unsigned)m 11(integer\))m 10(is)m 11(considered)m 10(more)m 11(recent.)m cmsy10.300 @sf 62 461 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 11(only)m 10(one)m 11(of)m 10(the)m 11(instances)m 10(has)m 10(its)m 11(LS)m 10(age)m 11(\014eld)m 10(set)m 10(to)m 11(MaxAge,)m 10(the)m 11(instance)m 10(of)m 11(age)m 10(MaxAge)m 10(is)m 11(considered)m 104 511 p (to)s 10(be)m 11(more)m 10(recent.)m cmsy10.300 @sf 62 594 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 11(the)m 10(LS)m 11(age)m 10(\014elds)m 11(of)m 10(the)m 10(two)m 11(instances)m 10(dif)m (fer)s 10(by)m 10(more)m 11(than)m 10(MaxAgeDif)m (f,)s 10(the)m 10(instance)m 11(having)m 10(the)m 10(smaller)m 104 643 p (\(younger\))s 10(LS)m 11(age)m 10(is)m 10(considered)m 11(to)m 10(be)m 11(more)m 10(recent.)m cmsy10.300 @sf 62 726 p 15 c t-rom.300 @sf 21(Else,)m 10(the)m 11(two)m 10(instances)m 11(are)m 10(considered)m 11(to)m 10(be)m 10(identical.)m t-bol.360 @sf 0 863 p (13.2)s 50(Installing)m 12(link)m 13(state)m 12(advertisements)m 13(in)m 12(the)m 13(database)m t-rom.300 @sf 0 959 p (Installing)s 10 r 97 c 11(new)m 10(link)m 11(state)m 10(advertisement)m 10(in)m 11(the)m 10(database,)m 11(either)m 10(as)m 11(the)m 10(result)m 10(of)m 11(\015ooding)m 10(or)m 11 r 97 c 10(newly)m 10(self-originated)m 0 1009 p (advertisement,)s 10(may)m 11(cause)m 10(the)m 10(OSPF)m 10(routing)m 11(table)m 10(structure)m 10(to)m 10(be)m 11(recalculated.)m 14(The)m 10(contents)m 10(of)m 10(the)m 11(new)m 10(advertisement)m 0 1058 p (should)s 10(be)m 11(compared)m 10(to)m 10(the)m 11(old)m 10(instance,)m 10(if)m 11(present.)m 14(If)m 10(there)m 10(is)m 11(no)m 10(dif)m (ference,)s 10(there)m 10(is)m 10(no)m 11(need)m 10(to)m 10(recalculate)m 11(the)m 10(routing)m 0 1108 p (table.)s 14(\(Note)m 10(that)m 11(even)m 10(if)m 11(the)m 10(contents)m 10(are)m 11(the)m 10(same,)m 11(the)m 10(LS)m 10(checksum)m 11(will)m 10(probably)m 11(be)m 10(dif)m (ferent,)s 10(since)m 10(the)m 11(checksum)m 0 1158 p (covers)s 10(the)m 11(LS)m 10(sequence)m 11(number)m -2(.\))m 0 1226 p (If)s 10(the)m 11(contents)m 10(are)m 11(dif)m (ferent,)s 9(the)m 11(following)m 10(pieces)m 11(of)m 10(the)m 10(routing)m 11(table)m 10(must)m 11(be)m 10(recalculated,)m 10(depending)m 11(on)m 10(the)m 11(new)m 0 1276 p (advertisement')s -1 r 115 c 9(LS)m 11(type)m 10(\014eld:)m t-bol.300 @sf 0 1385 p (Router)s 10(links)m 11(and)m 10(network)m 11(links)m 10(advertisements)m t-rom.300 @sf 21(The)m 10(entire)m 11(routing)m 10(table)m 11(must)m 10(be)m 10(recalculated,)m 11(starting)m 10(with)m 11(the)m 104 1435 p (shortest)s 10(path)m 11(calculations)m 10(for)m 10(each)m 11(area)m 10(\(not)m 11(just)m 10(the)m 11(area)m 10(whose)m 10(topological)m 11(database)m 10(has)m 11(changed\).)m 13(The)m 11(reason)m 104 1484 p (that)s 10(the)m 11(shortest)m 10(path)m 10(calculation)m 11(cannot)m 10(be)m 11(restricted)m 10(to)m 11(the)m 10(single)m 10(changed)m 11(area)m 10(has)m 11(to)m 10(do)m 10(with)m 11(the)m 10(fact)m 11(that)m 10(AS)m 104 1534 p (boundary)s 10(routers)m 11(may)m 10(belong)m 10(to)m 11(multiple)m 10(areas.)m 14 r 65 c 11(change)m 10(in)m 10(the)m 11(area)m 10(currently)m 11(providing)m 10(the)m 10(best)m 11(route)m 10(may)m 104 1584 p (force)s 10(the)m 11(router)m 10(to)m 10(use)m 11(an)m 10(intra-area)m 11(route)m 10(provided)m 11(by)m 10 r 97 c 10(dif)m (ferent)s 10(area.)m t-rom.210 @sf 1282 1569 p (16)s t-bol.300 @sf 0 1667 p (Summary)s 10(link)m 11(advertisements)m t-rom.300 @sf 21(The)m 10(best)m 10(route)m 11(to)m 10(the)m 10(destination)m 11(described)m 10(by)m 10(the)m 10(summary)m 11(link)m 10(advertisement)m 10(must)m 104 1717 p (be)s 10(recalculated)m 11(\(see)m 10(Section)m 10(16.5\).)m 14(If)m 11(this)m 10(destination)m 11(is)m 10(an)m 10(AS)m 11(boundary)m 10(router)m 44 c 9(it)m 10(may)m 11(also)m 10(be)m 11(necessary)m 10(to)m 104 1767 p (re-examine)s 10(all)m 11(the)m 10(AS)m 10(external)m 11(link)m 10(advertisements.)m t-bol.300 @sf 0 1850 p (AS)s 10(external)m 11(link)m 10(advertisements)m t-rom.300 @sf 21(The)m 10(best)m 11(route)m 10(to)m 11(the)m 10(destination)m 11(described)m 10(by)m 10(the)m 11(AS)m 10(external)m 11(link)m 10(advertisement)m 104 1899 p (must)s 10(be)m 11(recalculated)m 10(\(see)m 10(Section)m 11(16.6\).)m 0 2009 p (Also,)s 10(any)m 11(old)m 10(instance)m 11(of)m 10(the)m 10(advertisement)m 11(must)m 10(be)m 11(removed)m 10(from)m 11(the)m 10(database)m 10(when)m 11(the)m 10(new)m 11(advertisement)m 10(is)m 0 2058 p (installed.)s 14(This)m 10(old)m 11(instance)m 10(must)m 11(also)m 10(be)m 10(removed)m 11(from)m 10(all)m 11(neighbors')m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 10(\(see)m 0 2108 p (Section)s 10(10\).)m t-bol.360 @sf 0 2245 p (13.3)s 50(Next)m 12(step)m 13(in)m 12(the)m 13(\015ooding)m 12(pr)m (ocedur)s 101 c t-rom.300 @sf 0 2341 p (When)s 10 r 97 c 11(new)m 10(\(and)m 11(more)m 10(recent\))m 10(advertisement)m 11(has)m 10(been)m 11(received,)m 10(it)m 11(must)m 10(be)m 10(\015ooded)m 11(out)m 10(some)m 11(set)m 10(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 0 2390 p (interfaces.)s 14(This)m 10(section)m 11(describes)m 10(the)m 11(second)m 10(part)m 10(of)m 11(\015ooding)m 10(procedure)m 11(\(the)m 10(\014rst)m 10(part)m 11(being)m 10(the)m 11(processing)m 10(that)m 0 2440 p (occurred)s 10(in)m 11(Section)m 10(13\),)m 11(namely)m -2 r 44 c 9(selecting)m 11(the)m 10(outgoing)m 11(interfaces)m 10(and)m 10(adding)m 11(the)m 10(advertisement)m 11(to)m 10(the)m 11(appropriate)m 0 2476 p 780 2 ru t-rom.180 @sf 33 2504 p (16)s t-rom.240 @sf 60 2515 p (By)s 10(keeping)m 11(more)m 10(information)m 11(in)m 10(the)m 10(routing)m 11(table,)m 11(it)m 10(is)m 10(possible)m 11(for)m 10(an)m 10(implementation)m 11(to)m 10(recalculate)m 11(the)m 10(shortest)m 10(path)m 11(tree)m 10(only)m 11(for)m 10 r 97 c 10(single)m 0 2555 p (area.)s 11(In)m 7(fact,)m 8(there)m 8(are)m 7(incremental)m 8(algorithms)m 7(that)m 8(allow)m 7(an)m 8(implementation)m 8(to)m 7(recalculate)m 8(only)m 7 r 97 c 8(portion)m 7(of)m 8 r 97 c 7(single)m 8(area')m -1 r 115 c 7(shortest)m 7(path)m 8(tree)m 7([BBN].)m 0 2594 p (However)s 44 c 7(these)m 8(algorithms)m 9(are)m 8(beyond)m 8(the)m 9(scope)m 8(of)m 8(this)m 9(speci\014cation.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(78])m @eop 79 @bop0 79 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (neighbors')s t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 46 c 14(Also)m 10(included)m 11(in)m 10(this)m 10(part)m 11(of)m 10(the)m 11(\015ooding)m 10(procedure)m 11(is)m 10(the)m 10(maintenance)m 0 245 p (of)s 10(the)m 11(neighbors')m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s 10(lists)m t-rom.300 @sf 46 c 0 311 p (This)s 10(section)m 11(is)m 10(equally)m 11(applicable)m 10(to)m 10(the)m 11(\015ooding)m 10(of)m 11(an)m 10(advertisement)m 11(that)m 10(the)m 10(router)m 11(itself)m 10(has)m 11(just)m 10(originated)m 10(\(see)m 0 360 p (Section)s 10(12.4\).)m 14(For)m 11(these)m 10(advertisements,)m 11(this)m 10(section)m 10(provides)m 11(the)m 10(entirety)m 11(of)m 10(the)m 10(\015ooding)m 11(procedure)m 10(\(i.e.,)m 11(the)m 0 410 p (processing)s 10(of)m 11(Section)m 10(13)m 11(is)m 10(not)m 10(performed,)m 11(since,)m 10(for)m 11(example,)m 10(the)m 11(advertisement)m 10(has)m 10(not)m 11(been)m 10(received)m 11(from)m 10 r 97 c 0 460 p (neighbor)s 10(and)m 11(therefore)m 10(does)m 11(not)m 10(need)m 10(to)m 11(be)m 10(acknowledged\).)m 0 526 p (Depending)s 10(upon)m 11(the)m 10(advertisement')m -1 r 115 c 9(LS)m 11(type,)m 10(the)m 11(advertisement)m 10(can)m 10(be)m 11(\015ooded)m 10(out)m 11(only)m 10(certain)m 11(interfaces.)m 13(These)m 0 575 p (interfaces,)s 10(de\014ned)m 11(by)m 10(the)m 11(following,)m 10(are)m 10(called)m 11(the)m t-bol.300 @sf 10(eligible)m 11(interfaces)m t-rom.300 @sf 58 c t-bol.300 @sf 0 678 p (AS)s 10(external)m 11(link)m 10(advertisements)m 11(\(LS)m 10 r 84 c -2(ype)m cmr10.300 @sf 9 r 61 c t-bol.300 @sf 11(5\))m t-rom.300 @sf 21(AS)m 10(external)m 10(link)m 11(advertisements)m 10(are)m 11(\015ooded)m 10(throughout)m 11(the)m 10(entire)m 104 728 p (AS,)s 10(with)m 11(the)m 10(exception)m 10(of)m 11(stub)m 10(areas)m 11(\(see)m 10(Section)m 11(3.6\).)m 13(The)m t-bol.300 @sf 11(eligible)m 10(interfaces)m t-rom.300 @sf 11(are)m 10(all)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(interfaces,)m 104 777 p (excluding)s 10(virtual)m 11(links)m 10(and)m 10(those)m 11(interfaces)m 10(attaching)m 11(to)m 10(stub)m 11(areas.)m t-bol.300 @sf 0 859 p (All)s 10(other)m 11(LS)m 10(types)m t-rom.300 @sf 21(All)m 10(other)m 11(types)m 10(are)m 11(speci\014c)m 10(to)m 11 r 97 c 10(single)m 10(area)m 11(\(Area)m 10(A\).)m 11(The)m t-bol.300 @sf 10(eligible)m 10(interfaces)m t-rom.300 @sf 11(are)m 10(all)m 11(those)m 104 908 p (interfaces)s 10(attaching)m 11(to)m 10(the)m 10(Area)m 11(A.)m 10(If)m 11(Area)m 10 r 65 c 11(is)m 10(the)m 10(backbone,)m 11(this)m 10(includes)m 11(all)m 10(the)m 10(virtual)m 11(links.)m 0 1011 p (Link)s 10(state)m 11(databases)m 10(must)m 11(remain)m 10(synchronized)m 10(over)m 11(all)m 10(adjacencies)m 11(associated)m 10(with)m 11(the)m 10(above)m t-bol.300 @sf 10(eligible)m 11(interfaces)m t-rom.300 @sf 46 c 0 1061 p (This)s 10(is)m 11(accomplished)m 10(by)m 11(executing)m 10(the)m 10(following)m 11(steps)m 10(on)m 11(each)m 10(eligible)m 11(interface.)m 13(It)m 11(should)m 10(be)m 11(noted)m 10(that)m 11(this)m 0 1110 p (procedure)s 10(may)m 11(decide)m 10(not)m 11(to)m 10(\015ood)m 10 r 97 c 11(link)m 10(state)m 11(advertisement)m 10(out)m 11 r 97 c 10(particular)m 10(interface,)m 11(if)m 10(there)m 11(is)m 10 r 97 c 10(high)m 11(probability)m 0 1160 p (that)s 10(the)m 11(attached)m 10(neighbors)m 11(have)m 10(already)m 10(received)m 11(the)m 10(advertisement.)m 14(However)m 44 c 9(in)m 10(these)m 11(cases)m 10(the)m 11(\015ooding)m 10(procedure)m 0 1210 p (must)s 10(be)m 10(absolutely)m 10(sure)m 10(that)m 10(the)m 10(neighbors)m 10(eventually)m 9(do)m 10(receive)m 10(the)m 10(advertisement,)m 10(so)m 10(the)m 10(advertisement)m 10(is)m 10(still)m 10(added)m 0 1260 p (to)s 10(each)m 11(adjacency')m -1 r 115 c t-bol.300 @sf 9(Link)m 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 46 c 14(For)m 11(each)m 10(eligible)m 11(interface:)m 52 1362 p (1.)s 21(Each)m 10(of)m 10(the)m 11(neighbors)m 10(attached)m 11(to)m 10(this)m 10(interface)m 11(are)m 10(examined,)m 11(to)m 10(determine)m 11(whether)m 10(they)m 10(must)m 11(receive)m 10(the)m 11(new)m 104 1412 p (advertisement.)s 14(The)m 10(following)m 10(steps)m 11(are)m 10(executed)m 11(for)m 10(each)m 11(neighbor:)m 128 1493 p (\(a\))s 21(If)m 10(the)m 11(neighbor)m 10(is)m 11(in)m 10 r 97 c 10(lesser)m 11(state)m 10(than)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 44 c 10(it)m 10(does)m 11(not)m 10(participate)m 11(in)m 10(\015ooding,)m 11(and)m 10(the)m 10(next)m 195 1543 p (neighbor)s 11(should)m 10(be)m 10(examined.)m 126 1607 p (\(b\))s 21(Else,)m 10(if)m 10(the)m 11(adjacency)m 10(is)m 11(not)m 10(yet)m 10(full)m 11(\(neighbor)m 10(state)m 11(is)m t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 11(or)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf (\),)s 10(examine)m 11(the)m t-bol.300 @sf 10(Link)m 11(state)m 195 1657 p 114 c (equest)s 10(list)m t-rom.300 @sf 10(associated)m 11(with)m 10(this)m 10(adjacency)m -1 r 46 c 13(If)m 10(there)m 10(is)m 11(an)m 10(instance)m 11(of)m 10(the)m 11(new)m 10(advertisement)m 10(on)m 11(the)m 10(list,)m 11(it)m 195 1707 p (indicates)s 11(that)m 10(the)m 10(neighboring)m 11(router)m 10(has)m 11(an)m 10(instance)m 10(of)m 11(the)m 10(advertisement)m 11(already)m -2 r 46 c 13(Compare)m 10(the)m 11(new)m 195 1757 p (advertisement)s 11(to)m 10(the)m 10(neighbor)m 2 r 39 c -1 r 115 c 9(copy:)m cmsy10.300 @sf 231 1821 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(new)m 10(advertisement)m 11(is)m 10(less)m 10(recent,)m 11(then)m 10(examine)m 11(the)m 10(next)m 11(neighbor)m -2 r 46 c cmsy10.300 @sf 231 1878 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(two)m 10(copies)m 11(are)m 10(the)m 10(same)m 11(instance,)m 10(then)m 11(delete)m 10(the)m 11(advertisement)m 10(from)m 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (equest)s 273 1928 p (list)s t-rom.300 @sf 44 c 10(and)m 11(examine)m 10(the)m 10(next)m 11(neighbor)m -1 r 46 c t-rom.210 @sf 883 1913 p (17)s cmsy10.300 @sf 231 1985 p 15 c t-rom.300 @sf 21(Else,)m 10(the)m 11(new)m 10(advertisement)m 11(is)m 10(more)m 10(recent.)m 14(Delete)m 11(the)m 10(advertisement)m 11(from)m 10(the)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (equest)s t-rom.300 @sf 273 2035 p (list.)s 128 2100 p (\(c\))s 21(If)m 10(the)m 11(new)m 10(advertisement)m 11(was)m 10(received)m 10(from)m 11(this)m 10(neighbor)m 44 c 9(examine)m 10(the)m 11(next)m 10(neighbor)m -1 r 46 c 126 2164 p (\(d\))s 21(At)m 10(this)m 10(point)m 11(we)m 10(are)m 11(not)m 10(positive)m 10(that)m 11(the)m 10(neighbor)m 11(has)m 10(an)m 11(up-to-date)m 10(instance)m 10(of)m 11(this)m 10(new)m 11(advertisement.)m 195 2214 p (Add)s 11(the)m 10(new)m 10(advertisement)m 11(to)m 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 11(for)m 10(the)m 10(adjacency)m -1 r 46 c 13(This)m 10(ensures)m 10(that)m 11(the)m 195 2264 p (\015ooding)s 11(procedure)m 10(is)m 10(reliable;)m 11(the)m 10(advertisement)m 11(will)m 10(be)m 10(retransmitted)m 11(at)m 10(intervals)m 11(until)m 10(an)m 195 2314 p (acknowledgment)s 11(is)m 10(seen)m 10(from)m 11(the)m 10(neighbor)m -1 r 46 c 52 2395 p (2.)s 21(The)m 10(router)m 10(must)m 11(now)m 10(decide)m 11(whether)m 10(to)m 10(\015ood)m 11(the)m 10(new)m 11(link)m 10(state)m 11(advertisement)m 10(out)m 10(this)m 11(interface.)m 14(If)m 10(in)m 10(the)m 104 2445 p (previous)s 10(step,)m 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(was)m 10(NOT)m 11(added)m 10(to)m 10(any)m 11(of)m 10(the)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 44 c 10(there)m 104 2494 p (is)s 10(no)m 11(need)m 10(to)m 10(\015ood)m 11(the)m 10(advertisement)m 11(out)m 10(the)m 11(interface)m 10(and)m 10(the)m 11(next)m 10(interface)m 11(should)m 10(be)m 10(examined.)m 0 2520 p 780 2 ru t-rom.180 @sf 33 2547 p (17)s t-rom.240 @sf 60 2559 p (This)s 8(is)m 9(how)m 8(the)m t-bol.240 @sf 9(Link)m 8(state)m 8 r 114 c (equest)s 8(list)m t-rom.240 @sf 9(is)m 8(emptied,)m 8(which)m 9(eventually)m 8(causes)m 9(the)m 8(neighbor)m 8(state)m 9(to)m 8(transition)m 9(to)m t-bol.240 @sf 8(Full)m t-rom.240 @sf 46 c 11(See)m 9(Section)m 8(10.9)m 9(for)m 8(more)m 0 2599 p (details.)s t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(79])m @eop 80 @bop0 cmmi10.300 @sf [ 32 24 -3 2 32.286] 62 @dc 80 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 52 195 p (3.)s 21(If)m 10(the)m 10(new)m 11(advertisement)m 10(was)m 11(received)m 10(on)m 10(this)m 11(interface,)m 10(and)m 11(it)m 10(was)m 11(received)m 10(from)m 10(either)m 11(the)m 10(Designated)m 11(Router)m 104 245 p (or)s 10(the)m 11(Backup)m 10(Designated)m 10(Router)m 44 c 9(chances)m 11(are)m 10(that)m 10(all)m 11(the)m 10(neighbors)m 11(have)m 10(received)m 11(the)m 10(advertisement)m 10(already)m -1 r 46 c 104 295 p (Therefore,)s 10(examine)m 11(the)m 10(next)m 10(interface.)m 52 378 p (4.)s 21(If)m 10(the)m 10(new)m 11(advertisement)m 10(was)m 11(received)m 10(on)m 10(this)m 11(interface,)m 10(and)m 11(the)m 10(interface)m 11(state)m 10(is)m t-bol.300 @sf 10(Backup)m t-rom.300 @sf 11(\(i.e.,)m 10(the)m 11(router)m 10(itself)m 104 428 p (is)s 10(the)m 11(Backup)m 10(Designated)m 10(Router\),)m 11(examine)m 10(the)m 11(next)m 10(interface.)m 14(The)m 10(Designated)m 11(Router)m 10(will)m 11(do)m 10(the)m 10(\015ooding)m 11(on)m 104 477 p (this)s 10(interface.)m 14(If)m 10(the)m 11(Designated)m 10(Router)m 11(fails,)m 10(this)m 11(router)m 10(will)m 10(end)m 11(up)m 10(retransmitting)m 11(the)m 10(updates.)m 52 560 p (5.)s 21(If)m 10(this)m 10(step)m 11(is)m 10(reached,)m 11(the)m 10(advertisement)m 10(must)m 11(be)m 10(\015ooded)m 11(out)m 10(the)m 11(interface.)m 13(Send)m 11 r 97 c 10(Link)m 11(State)m 10(Update)m 10(packet)m 104 610 p (\(with)s 10(the)m 11(new)m 10(advertisement)m 10(as)m 11(contents\))m 10(out)m 11(the)m 10(interface.)m 14(The)m 10(advertisement')m -1 r 115 c 10(LS)m 10(age)m 10(must)m 11(be)m 10(incremented)m 104 660 p (by)s 10(InfT)m (ransDelay)s 9(\(which)m 11(must)m 10(be)m cmmi10.300 @sf 10 r 62 c t-rom.300 @sf 12(0\))m 10(when)m 11(copied)m 10(into)m 11(the)m 10(outgoing)m 10(Link)m 11(State)m 10(Update)m 11(packet)m 10(\(until)m 11(the)m 10(LS)m 104 710 p (age)s 10(\014eld)m 11(reaches)m 10(its)m 10(maximum)m 11(value)m 10(of)m 11(MaxAge\).)m 104 776 p (On)s 10(broadcast)m 11(networks,)m 10(the)m 10(Link)m 11(State)m 10(Update)m 11(packets)m 10(are)m 11(multicast.)m 13(The)m 11(destination)m 10(IP)m 11(address)m 10(speci\014ed)m 10(for)m 104 826 p (the)s 10(Link)m 11(State)m 10(Update)m 10(Packet)m 11(depends)m 10(on)m 11(the)m 10(state)m 11(of)m 10(the)m 10(interface.)m 14(If)m 11(the)m 10(interface)m 10(state)m 11(is)m t-bol.300 @sf 10(DR)m t-rom.300 @sf 11(or)m t-bol.300 @sf 10(Backup)m t-rom.300 @sf 44 c 11(the)m 104 876 p (address)s 10(AllSPFRouters)m 11(should)m 10(be)m 10(used.)m 14(Otherwise,)m 11(the)m 10(address)m 11(AllDRouters)m 10(should)m 10(be)m 11(used.)m 104 942 p (On)s 10(non-broadcast,)m 11(multi-access)m 10(networks,)m 10(separate)m 11(Link)m 10(State)m 11(Update)m 10(packets)m 11(must)m 10(be)m 10(sent,)m 11(as)m 10(unicasts,)m 11(to)m 104 992 p (each)s 10(adjacent)m 11(neighbor)m 10(\(i.e.,)m 10(those)m 11(in)m 10(state)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 10(or)m 11(greater\).)m 13(The)m 11(destination)m 10(IP)m 11(addresses)m 10(for)m 10(these)m 104 1042 p (packets)s 10(are)m 11(the)m 10(neighbors')m 10(IP)m 11(addresses.)m t-bol.360 @sf 0 1179 p (13.4)s 50(Receiving)m 12(self-originated)m 13(link)m 12(state)m t-rom.300 @sf 0 1274 p (It)s 10(is)m 11 r 97 c 10(common)m 11(occurrence)m 10(for)m 10 r 97 c 11(router)m 10(to)m 11(receive)m 10(self-originated)m 11(link)m 10(state)m 10(advertisements)m 11(via)m 10(the)m 11(\015ooding)m 10(procedure.)m 0 1324 p 65 c 10(self-originated)m 11(advertisement)m 10(is)m 11(detected)m 10(when)m 10(either)m 11(1\))m 10(the)m 11(advertisement')m -2 r 115 c 10(Advertising)m 10(Router)m 11(is)m 10(equal)m 11(to)m 10(the)m 0 1374 p (router)s 2 r 39 c -2 r 115 c 10(own)m 10(Router)m 10(ID)m 11(or)m 10(2\))m 11(the)m 10(advertisement)m 11(is)m 10 r 97 c 10(network)m 11(links)m 10(advertisement)m 11(and)m 10(its)m 10(Link)m 11(State)m 10(ID)m 11(is)m 10(equal)m 11(to)m 10(one)m 0 1424 p (of)s 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(own)m 11(IP)m 10(interface)m 11(addresses.)m 0 1491 p (However)s -1 r 44 c 10(if)m 10(the)m 11(received)m 10(self-originated)m 10(advertisement)m 11(is)m 10(newer)m 11(than)m 10(the)m 10(last)m 11(instance)m 10(that)m 11(the)m 10(router)m 11(actually)m 0 1541 p (originated,)s 10(the)m 11(router)m 10(must)m 11(take)m 10(special)m 10(action.)m 14(The)m 11(reception)m 10(of)m 11(such)m 10(an)m 10(advertisement)m 11(indicates)m 10(that)m 11(there)m 10(are)m 11(link)m 0 1591 p (state)s 10(advertisements)m 11(in)m 10(the)m 11(routing)m 10(domain)m 10(that)m 11(were)m 10(originated)m 11(before)m 10(the)m 11(last)m 10(time)m 10(the)m 11(router)m 10(was)m 11(restarted.)m 14(In)m 10(most)m 0 1641 p (cases,)s 10(the)m 11(router)m 10(must)m 11(then)m 10(advance)m 10(the)m 11(advertisement')m -1 r 115 c 9(LS)m 10(sequence)m 11(number)m 10(one)m 11(past)m 10(the)m 11(received)m 10(LS)m 10(sequence)m 0 1691 p (number)s -1 r 44 c 10(and)m 10(originate)m 11 r 97 c 10(new)m 10(instance)m 11(of)m 10(the)m 11(advertisement.)m 0 1758 p (It)s 10(may)m 11(be)m 10(the)m 11(case)m 10(the)m 10(router)m 11(no)m 10(longer)m 11(wishes)m 10(to)m 11(originate)m 10(the)m 10(received)m 11(advertisement.)m 14(Possible)m 10(examples)m 11(include:)m 13(1\))m 0 1808 p (the)s 10(advertisement)m 11(is)m 10 r 97 c 11(summary)m 10(link)m 10(or)m 11(AS)m 10(external)m 11(link)m 10(and)m 11(the)m 10(router)m 10(no)m 11(longer)m 10(has)m 11(an)m 10(\(advertisable\))m 10(route)m 11(to)m 10(the)m 0 1858 p (destination,)s 10(2\))m 11(the)m 10(advertisement)m 11(is)m 10 r 97 c 10(network)m 11(links)m 10(advertisement)m 11(but)m 10(the)m 11(router)m 10(is)m 10(no)m 11(longer)m 10(Designated)m 11(Router)m 10(for)m 0 1908 p (the)s 10(network)m 11(or)m 10(3\))m 11(the)m 10(advertisement)m 10(is)m 11 r 97 c 10(network)m 11(links)m 10(advertisement)m 11(whose)m 10(Link)m 10(State)m 11(ID)m 10(is)m 11(one)m 10(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(own)m 0 1958 p (IP)s 10(interface)m 11(addresses)m 10(but)m 11(whose)m 10(Advertising)m 10(Router)m 11(is)m 10(not)m 11(equal)m 10(to)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(own)m 10(Router)m 10(ID)m 11(\(this)m 10(latter)m 11(case)m 0 2007 p (should)s 10(be)m 11(rare,)m 10(and)m 11(it)m 10(indicates)m 10(that)m 11(the)m 10(router)m 2 r 39 c -1 r 115 c 9(Router)m 10(ID)m 11(has)m 10(changed)m 11(since)m 10(originating)m 10(the)m 11(advertisement\).)m 14(In)m 10(all)m 0 2057 p (these)s 10(cases,)m 11(instead)m 10(of)m 11(updating)m 10(the)m 10(advertisement,)m 11(the)m 10(advertisement)m 11(should)m 10(be)m 11(\015ushed)m 10(from)m 10(the)m 11(routing)m 10(domain)m 11(by)m 0 2107 p (incrementing)s 10(the)m 11(received)m 10(advertisement')m -1 r 115 c 9(LS)m 11(age)m 10(to)m 11(MaxAge)m 10(and)m 10(re\015ooding)m 11(\(see)m 10(Section)m 11(14.1\).)m t-bol.360 @sf 0 2244 p (13.5)s 50(Sending)m 12(Link)m 13(State)m 12(Acknowledgment)m 13(packets)m t-rom.300 @sf 0 2339 p (Each)s 10(newly)m 11(received)m 10(link)m 11(state)m 10(advertisement)m 10(must)m 11(be)m 10(acknowledged.)m 14(This)m 11(is)m 10(usually)m 10(done)m 11(by)m 10(sending)m 11(Link)m 10(State)m 0 2389 p (Acknowledgment)s 10(packets.)m 14(However)m 44 c 9(acknowledgments)m 10(can)m 11(also)m 10(be)m 11(accomplished)m 10(implicitly)m 11(by)m 10(sending)m 10(Link)m 11(State)m 0 2439 p (Update)s 10(packets)m 11(\(see)m 10(step)m 11(7a)m 10(of)m 10(Section)m 11(13\).)m 0 2507 p (Many)s 10(acknowledgments)m 11(may)m 10(be)m 10(grouped)m 11(together)m 10(into)m 10 r 97 c 11(single)m 10(Link)m 10(State)m 11(Acknowledgment)m 10(packet.)m 14(Such)m 10 r 97 c 11(packet)m 10(is)m 0 2556 p (sent)s 10(back)m 11(out)m 10(the)m 11(interface)m 10(that)m 10(has)m 11(received)m 10(the)m 11(advertisements.)m 14(The)m 10(packet)m 10(can)m 11(be)m 10(sent)m 11(in)m 10(one)m 11(of)m 10(two)m 10(ways:)m 14(delayed)m 0 2723 p (Moy)s 1710([Page)m 11(80])m @eop 81 @bop0 81 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (and)s 10(sent)m 11(on)m 10(an)m 11(interval)m 10(timer)m -1 r 44 c 10(or)m 10(sent)m 11(directly)m 10(\(as)m 10 r 97 c 11(unicast\))m 10(to)m 11 r 97 c 10(particular)m 11(neighbor)m -2 r 46 c 13(The)m 11(particular)m 10(acknowledgment)m 0 245 p (strategy)s 10(used)m 11(depends)m 10(on)m 11(the)m 10(circumstances)m 10(surrounding)m 11(the)m 10(receipt)m 11(of)m 10(the)m 11(advertisement.)m 0 313 p (Sending)s 10(delayed)m 11(acknowledgments)m 10(accomplishes)m 11(several)m 10(things:)m 14(it)m 10(facilitates)m 11(the)m 10(packaging)m 11(of)m 10(multiple)m 0 362 p (acknowledgments)s 10(in)m 11 r 97 c 10(single)m 11(Link)m 10(State)m 10(Acknowledgment)m 11(packet;)m 10(it)m 11(enables)m 10 r 97 c 11(single)m 10(Link)m 10(State)m 11(Acknowledgment)m 0 412 p (packet)s 10(to)m 11(indicate)m 10(acknowledgments)m 11(to)m 10(several)m 10(neighbors)m 11(at)m 10(once)m 11(\(through)m 10(multicasting\);)m 11(and)m 10(it)m 10(randomizes)m 11(the)m 10(Link)m 0 462 p (State)s 10(Acknowledgment)m 11(packets)m 10(sent)m 11(by)m 10(the)m 10(various)m 11(routers)m 10(attached)m 11(to)m 10 r 97 c 11(multi-access)m 10(network.)m 14(The)m 10(\014xed)m 11(interval)m 0 512 p (between)s 10 r 97 c 11(router)m 1 r 39 c -1 r 115 c 9(delayed)m 11(transmissions)m 10(must)m 11(be)m 10(short)m 11(\(less)m 10(than)m 10(RxmtInterval\))m 11(or)m 10(needless)m 11(retransmissions)m 10(will)m 0 562 p (ensue.)s 0 629 p (Direct)s 10(acknowledgments)m 11(are)m 10(sent)m 11(to)m 10 r 97 c 10(particular)m 11(neighbor)m 10(in)m 11(response)m 10(to)m 11(the)m 10(receipt)m 10(of)m 11(duplicate)m 10(link)m 11(state)m 0 679 p (advertisements.)s 14(These)m 10(acknowledgments)m 11(are)m 10(sent)m 11(as)m 10(unicasts,)m 10(and)m 11(are)m 10(sent)m 11(immediately)m 10(when)m 10(the)m 11(duplicate)m 10(is)m 0 729 p (received.)s 0 797 p (The)s 10(precise)m 11(procedure)m 10(for)m 11(sending)m 10(Link)m 10(State)m 11(Acknowledgment)m 10(packets)m 11(is)m 10(described)m 11(in)m 10 r 84 c -2(able)m 9(19.)m 14(The)m 11(circumstances)m 0 846 p (surrounding)s 10(the)m 11(receipt)m 10(of)m 11(the)m 10(advertisement)m 10(are)m 11(listed)m 10(in)m 11(the)m 10(left)m 11(column.)m 13(The)m 11(acknowledgment)m 10(action)m 11(then)m 10(taken)m 11(is)m 0 896 p (listed)s 10(in)m 11(one)m 10(of)m 11(the)m 10(two)m 10(right)m 11(columns.)m 14(This)m 10(action)m 11(depends)m 10(on)m 10(the)m 11(state)m 10(of)m 11(the)m 10(concerned)m 11(interface;)m 10(interfaces)m 10(in)m 11(state)m t-bol.300 @sf 0 946 p (Backup)s t-rom.300 @sf 10(behave)m 11(dif)m (ferently)s 9(from)m 11(interfaces)m 10(in)m 11(all)m 10(other)m 11(states.)m 113 1052 p 1725 2 ru 112 1102 p 2 50 ru 575 r 2 50 ru 2 50 ru t-ita.300 @sf 1092 1087 p (Action)s 10(taken)m 11(in)m 10(state)m 1836 1102 p 2 50 ru 688 1104 p 1150 2 ru 112 1152 p 2 50 ru 277 1137 p (Cir)s (cumstances)s 687 1152 p 2 50 ru 912 1137 p (Backup)s 1262 1152 p 2 50 ru 1424 1137 p (All)s 10(other)m 10(states)m 1836 1152 p 2 50 ru 113 1154 p 1725 2 ru 112 1360 p 2 207 ru t-rom.300 @sf 138 1188 p (Advertisement)s 224(has)m 138 1238 p (been)s 8(\015ooded)m 9(back)m 8(out)m 9(receiving)m 138 1288 p (interface)s 16(\(see)m 17(Section)m 16(13,)m 19(step)m 138 1338 p (5b\).)s 687 1360 p 2 207 ru 712 1188 p (No)s 11(acknowledgment)m 10(sent.)m 1262 1360 p 2 207 ru 1287 1188 p (No)s 11(acknowledgment)m 10(sent.)m 1836 1360 p 2 207 ru 113 1362 p 1725 2 ru 112 1570 p 2 209 ru 138 1397 p (Advertisement)s 21(is)m 22(more)m 21(recent)m 138 1447 p (than)s 25(database)m 24(copy)m -1 r 44 c 27(but)m 25(was)m 138 1496 p (not)s 15(\015ooded)m 15(back)m 15(out)m 14(receiving)m 138 1546 p (interface)s 687 1570 p 2 209 ru 712 1397 p (Delayed)s 18(acknowledgment)m 17(sent)m 712 1447 p (if)s 15(advertisement)m 15(received)m 14(from)m 712 1496 p (Designated)s 25(Router)m 44 c 27(otherwise)m 712 1546 p (do)s 11(nothing.)m 1262 1570 p 2 209 ru 1287 1397 p (Delayed)s 11(acknowledgment)m 10(sent.)m 1836 1570 p 2 209 ru 113 1572 p 1725 2 ru 112 1780 p 2 209 ru 138 1607 p (Advertisement)s 138 1656 p (is)s 15 r 97 c 15(duplicate,)m 16(and)m 16(was)m 15(treated)m 138 1706 p (as)s 13(an)m 13(implied)m 13(acknowledgment)m 138 1756 p (\(see)s 10(Section)m 11(13,)m 10(step)m 10(7a\).)m 687 1780 p 2 209 ru 712 1607 p (Delayed)s 18(acknowledgment)m 17(sent)m 712 1656 p (if)s 15(advertisement)m 15(received)m 14(from)m 712 1706 p (Designated)s 25(Router)m 44 c 27(otherwise)m 712 1756 p (do)s 11(nothing.)m 1262 1780 p 2 209 ru 1287 1607 p (No)s 11(acknowledgment)m 10(sent.)m 1836 1780 p 2 209 ru 113 1782 p 1725 2 ru 112 1940 p 2 159 ru 138 1817 p (Advertisement)s 23(is)m 23 r 97 c 24(duplicate,)m 138 1866 p (and)s 32(was)m 31(not)m 32(treated)m 32(as)m 32(an)m 138 1916 p (implied)s 10(acknowledgment.)m 687 1940 p 2 159 ru 712 1817 p (Direct)s 11(acknowledgment)m 10(sent.)m 1262 1940 p 2 159 ru 1287 1817 p (Direct)s 11(acknowledgment)m 10(sent.)m 1836 1940 p 2 159 ru 113 1942 p 1725 2 ru 112 2250 p 2 308 ru 138 1977 p (Advertisement')s -2 r 115 c 138 2027 p (LS)s 22(age)m 22(is)m 23(equal)m 22(to)m 23(MaxAge,)m 138 2076 p (and)s 11(there)m 12(is)m 11(no)m 12(current)m 11(instance)m 138 2126 p (of)s 11(the)m 12(advertisement)m 11(in)m 12(the)m 11(link)m 138 2176 p (state)s 15(database)m 15(\(see)m 15(Section)m 16(13,)m 138 2226 p (step)s 10(4\).)m 687 2250 p 2 308 ru 712 1977 p (Direct)s 11(acknowledgment)m 10(sent.)m 1262 2250 p 2 308 ru 1287 1977 p (Direct)s 11(acknowledgment)m 10(sent.)m 1836 2250 p 2 308 ru 113 2251 p 1725 2 ru 571 2388 p 84 c -2(able)m 9(19:)m 14(Sending)m 11(link)m 10(state)m 10(acknowledgements.)m 0 2497 p (Delayed)s 10(acknowledgments)m 11(must)m 10(be)m 11(delivered)m 10(to)m 10(all)m 11(adjacent)m 10(routers)m 11(associated)m 10(with)m 11(the)m 10(interface.)m 14(On)m 10(broadcast)m 0 2547 p (networks,)s 10(this)m 11(is)m 10(accomplished)m 11(by)m 10(sending)m 10(the)m 11(delayed)m 10(Link)m 11(State)m 10(Acknowledgment)m 11(packets)m 10(as)m 10(multicasts.)m 14(The)m 0 2597 p (Destination)s 10(IP)m 11(address)m 10(used)m 11(depends)m 10(on)m 10(the)m 11(state)m 10(of)m 11(the)m 10(interface.)m 14(If)m 10(the)m 11(state)m 10(is)m t-bol.300 @sf 11(DR)m t-rom.300 @sf 10(or)m t-bol.300 @sf 11(Backup)m t-rom.300 @sf 44 c 10(the)m 10(destination)m 0 2723 p (Moy)s 1710([Page)m 11(81])m @eop 82 @bop0 82 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (AllSPFRouters)s 10(is)m 11(used.)m 14(In)m 10(other)m 11(states,)m 10(the)m 10(destination)m 11(AllDRouters)m 10(is)m 11(used.)m 14(On)m 10(non-broadcast)m 10(networks,)m 11(delayed)m 0 245 p (Link)s 10(State)m 11(Acknowledgment)m 10(packets)m 11(must)m 10(be)m 10(unicast)m 11(separately)m 10(over)m 11(each)m 10(adjacency)m 11(\(i.e.,)m 10(neighbor)m 10(whose)m 11(state)m 10(is)m cmmi10.300 @sf 0 295 p 62 c cmr10.300 @sf 61 c t-bol.300 @sf 10(Exchange)m t-rom.300 @sf (\).)s 0 362 p (The)s 10(reasoning)m 10(behind)m 10(sending)m 10(the)m 10(above)m 10(packets)m 10(as)m 10(multicasts)m 10(is)m 10(best)m 10(explained)m 10(by)m 10(an)m 10(example.)m 14(Consider)m 10(the)m 10(network)m 0 412 p (con\014guration)s 10(depicted)m 11(in)m 10(Figure)m 11(15.)m 14(Suppose)m 10 r 82 c -2(T4)m 10(has)m 10(been)m 11(elected)m 10(as)m 11(Designated)m 10(Router)m -1 r 44 c 10(and)m 10 r 82 c -1(T3)m 9(as)m 10(Backup)m 0 462 p (Designated)s 10(Router)m 11(for)m 10(the)m 11(network)m 10(N3.)m 14(When)m 10(Router)m 11 r 82 c -2(T4)m 10(\015oods)m 10 r 97 c 11(new)m 10(advertisement)m 10(to)m 11(Network)m 10(N3,)m 11(it)m 10(is)m 10(received)m 0 512 p (by)s 10(routers)m 11 r 82 c -2(T1,)m 10 r 82 c -2(T2,)m 10(and)m 10 r 82 c -1(T3.)m 12(These)m 11(routers)m 10(will)m 11(not)m 10(\015ood)m 11(the)m 10(advertisement)m 10(back)m 11(onto)m 10(net)m 11(N3,)m 10(but)m 10(they)m 11(still)m 10(must)m 0 562 p (ensure)s 10(that)m 10(their)m 10(topological)m 10(databases)m 10(remain)m 9(synchronized)m 10(with)m 10(their)m 10(adjacent)m 10(neighbors.)m 14(So)m 10 r 82 c -2(T1,)m 9 r 82 c -1(T2,)m 9(and)m 10 r 82 c -2(T4)m 9(are)m 0 611 p (waiting)s 10(to)m 11(see)m 10(an)m 11(acknowledgment)m 10(from)m 10 r 82 c -1(T3.)m 13(Likewise,)m 10 r 82 c -1(T4)m 9(and)m 11 r 82 c -2(T3)m 10(are)m 10(both)m 10(waiting)m 11(to)m 10(see)m 11(acknowledgments)m 0 661 p (from)s 10 r 82 c -1(T1)m 9(and)m 11 r 82 c -2(T2.)m 13(This)m 11(is)m 10(best)m 10(achieved)m 11(by)m 10(sending)m 11(the)m 10(acknowledgments)m 10(as)m 11(multicasts.)m 0 729 p (The)s 10(reason)m 11(that)m 10(the)m 11(acknowledgment)m 10(logic)m 10(for)m 11(Backup)m 10(DRs)m 11(is)m 10(slightly)m 11(dif)m (ferent)s 9(is)m 11(because)m 10(they)m 10(perform)m 11(dif)m (ferently)s 0 779 p (during)s 10(the)m 11(\015ooding)m 10(of)m 11(link)m 10(state)m 10(advertisements)m 11(\(see)m 10(Section)m 11(13.3,)m 10(step)m 11(4\).)m t-bol.360 @sf 0 915 p (13.6)s 50(Retransmitting)m 12(link)m 13(state)m 12(advertisements)m t-rom.300 @sf 0 1011 p (Advertisements)s 10(\015ooded)m 11(out)m 10(an)m 11(adjacency)m 10(are)m 10(placed)m 11(on)m 10(the)m 11(adjacency')m -2 r 115 c t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 46 c 14(In)m 11(order)m 10(to)m 0 1061 p (ensure)s 10(that)m 11(\015ooding)m 10(is)m 11(reliable,)m 10(these)m 10(advertisements)m 11(are)m 10(retransmitted)m 11(until)m 10(they)m 11(are)m 10(acknowledged.)m 14(The)m 10(length)m 11(of)m 0 1111 p (time)s 10(between)m 11(retransmissions)m 10(is)m 11 r 97 c 10(con\014gurable)m 10(per)m (-interface)s 10(value,)m 10(RxmtInterval.)m 14(If)m 11(this)m 10(is)m 11(set)m 10(too)m 10(low)m 11(for)m 10(an)m 0 1161 p (interface,)s 10(needless)m 10(retransmissions)m 10(will)m 10(ensue.)m 14(If)m 10(the)m 10(value)m 10(is)m 10(set)m 10(too)m 10(high,)m 10(the)m 10(speed)m 10(of)m 10(the)m 10(\015ooding,)m 10(in)m 10(the)m 10(face)m 10(of)m 10(lost)m 0 1210 p (packets,)s 10(may)m 11(be)m 10(af)m (fected.)s 0 1278 p (Several)s 10(retransmitted)m 11(advertisements)m 10(may)m 11(\014t)m 10(into)m 10 r 97 c 11(single)m 10(Link)m 11(State)m 10(Update)m 11(packet.)m 13(When)m 11(advertisements)m 10(are)m 11(to)m 10(be)m 0 1328 p (retransmitted,)s 10(only)m 11(the)m 10(number)m 11(\014tting)m 10(in)m 10 r 97 c 11(single)m 10(Link)m 11(State)m 10(Update)m 11(packet)m 10(should)m 10(be)m 11(transmitted.)m 14(Another)m 10(packet)m 11(of)m 0 1378 p (retransmissions)s 10(can)m 11(be)m 10(sent)m 11(when)m 10(some)m 10(of)m 11(the)m 10(advertisements)m 11(are)m 10(acknowledged,)m 11(or)m 10(on)m 10(the)m 11(next)m 10(\014ring)m 11(of)m 10(the)m 0 1427 p (retransmission)s 10(timer)m -1 r 46 c 0 1495 p (Link)s 10(State)m 11(Update)m 10(Packets)m 11(carrying)m 10(retransmissions)m 10(are)m 11(always)m 10(sent)m 11(as)m 10(unicasts)m 11(\(directly)m 10(to)m 10(the)m 11(physical)m 10(address)m 11(of)m 0 1545 p (the)s 10(neighbor\).)m 14(They)m 11(are)m 10(never)m 11(sent)m 10(as)m 10(multicasts.)m 14(Each)m 11(advertisement')m -2 r 115 c 10(LS)m 10(age)m 11(must)m 10(be)m 10(incremented)m 11(by)m 0 1595 p (InfT)s (ransDelay)s 9(\(which)m 10(must)m 11(be)m cmmi10.300 @sf 10 r 62 c t-rom.300 @sf 12(0\))m 10(when)m 11(copied)m 10(into)m 10(the)m 11(outgoing)m 10(Link)m 11(State)m 10(Update)m 10(packet)m 11(\(until)m 10(the)m 11(LS)m 10(age)m 11(\014eld)m 0 1645 p (reaches)s 10(its)m 11(maximum)m 10(value)m 11(of)m 10(MaxAge\).)m 0 1712 p (If)s 10(the)m 11(adjacent)m 10(router)m 11(goes)m 10(down,)m 10(retransmissions)m 11(may)m 10(occur)m 11(until)m 10(the)m 11(adjacency)m 10(is)m 10(destroyed)m 11(by)m 10(OSPF')m -1 r 115 c 9(Hello)m 0 1762 p (Protocol.)s 14(When)m 10(the)m 11(adjacency)m 10(is)m 11(destroyed,)m 10(the)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 10(is)m 11(cleared.)m t-bol.360 @sf 0 1899 p (13.7)s 50(Receiving)m 12(link)m 13(state)m 12(acknowledgments)m t-rom.300 @sf 0 1994 p (Many)s 10(consistency)m 11(checks)m 10(have)m 11(been)m 10(made)m 10(on)m 11 r 97 c 10(received)m 11(Link)m 10(State)m 11(Acknowledgment)m 10(packet)m 10(before)m 11(it)m 10(is)m 11(handed)m 10(to)m 0 2044 p (the)s 10(\015ooding)m 11(procedure.)m 14(In)m 10(particular)m -1 r 44 c 10(it)m 10(has)m 11(been)m 10(associated)m 11(with)m 10 r 97 c 10(particular)m 11(neighbor)m -1 r 46 c 12(If)m 11(this)m 10(neighbor)m 11(is)m 10(in)m 10 r 97 c 11(lesser)m 0 2094 p (state)s 10(than)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 44 c 10(the)m 11(Link)m 10(State)m 10(Acknowledgment)m 11(packet)m 10(is)m 11(discarded.)m 0 2162 p (Otherwise,)s 10(for)m 11(each)m 10(acknowledgment)m 11(in)m 10(the)m 10(Link)m 11(State)m 10(Acknowledgment)m 11(packet,)m 10(the)m 11(following)m 10(steps)m 10(are)m 11(performed:)m cmsy10.300 @sf 62 2271 p 15 c t-rom.300 @sf 21(Does)m 10(the)m 11(advertisement)m 10(acknowledged)m 11(have)m 10(an)m 11(instance)m 10(on)m 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 11(for)m 10(the)m 104 2321 p (neighbor?)s 14(If)m 10(not,)m 10(examine)m 11(the)m 10(next)m 11(acknowledgment.)m 14(Otherwise:)m cmsy10.300 @sf 62 2404 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(acknowledgment)m 10(is)m 11(for)m 10(the)m 11(same)m 10(instance)m 10(that)m 11(is)m 10(contained)m 11(on)m 10(the)m 10(list,)m 11(remove)m 10(the)m 11(item)m 10(from)m 11(the)m 10(list)m 10(and)m 104 2454 p (examine)s 10(the)m 11(next)m 10(acknowledgment.)m 14(Otherwise:)m cmsy10.300 @sf 62 2537 p 15 c t-rom.300 @sf 21(Log)m 10(the)m 11(questionable)m 10(acknowledgment,)m 11(and)m 10(examine)m 11(the)m 10(next)m 10(one.)m 0 2723 p (Moy)s 1710([Page)m 11(82])m @eop 83 @bop0 83 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p (14)s 58(Aging)m 15(The)m 14(Link)m 15(State)m 15(Database)m t-rom.300 @sf 0 306 p (Each)s 10(link)m 11(state)m 10(advertisement)m 11(has)m 10(an)m 10(LS)m 11(age)m 10(\014eld.)m 14(The)m 11(LS)m 10(age)m 10(is)m 11(expressed)m 10(in)m 11(seconds.)m 14(An)m 10(advertisement')m -1 r 115 c 9(LS)m 11(age)m 0 356 p (\014eld)s 10(is)m 11(incremented)m 10(while)m 11(it)m 10(is)m 10(contained)m 11(in)m 10 r 97 c 11(router)m 1 r 39 c -1 r 115 c 9(database.)m 14(Also,)m 11(when)m 10(copied)m 11(into)m 10 r 97 c 10(Link)m 11(State)m 10(Update)m 11(Packet)m 0 405 p (for)s 10(\015ooding)m 11(out)m 10 r 97 c 11(particular)m 10(interface,)m 10(the)m 11(advertisement')m -1 r 115 c 9(LS)m 10(age)m 11(is)m 10(incremented)m 11(by)m 10(InfT)m (ransDelay)s -3 r 46 c 0 473 p (An)s 10(advertisement')m -2 r 115 c 9(LS)m 10(age)m 9(is)m 10(never)m 9(incremented)m 10(past)m 9(the)m 10(value)m 10(MaxAge.)m 13(Advertisements)m 10(having)m 9(age)m 10(MaxAge)m 10(are)m 9(not)m 0 523 p (used)s 10(in)m 11(the)m 10(routing)m 11(table)m 10(calculation.)m 14(As)m 10 r 97 c 11(router)m 10(ages)m 11(its)m 10(link)m 10(state)m 11(database,)m 10(an)m 11(advertisement')m -2 r 115 c 10(LS)m 10(age)m 11(may)m 10(reach)m 0 573 p (MaxAge.)s t-rom.210 @sf 170 558 p (18)s t-rom.300 @sf 215 573 p (At)s 11(this)m 10(time,)m 10(the)m 11(router)m 10(must)m 11(attempt)m 10(to)m 11(\015ush)m 10(the)m 10(advertisement)m 11(from)m 10(the)m 11(routing)m 10(domain.)m 14(This)m 10(is)m 11(done)m 0 622 p (simply)s 10(by)m 10(re\015ooding)m 10(the)m 11(MaxAge)m 10(advertisement)m 10(just)m 10(as)m 10(if)m 10(it)m 10(was)m 11 r 97 c 10(newly)m 10(originated)m 10(advertisement)m 10(\(see)m 10(Section)m 10(13.3\).)m 0 690 p (When)s 10(creating)m 11 r 97 c t-bol.300 @sf 10(Database)m 11(summary)m 10(list)m t-rom.300 @sf 10(for)m 11 r 97 c 10(newly)m 11(forming)m 10(adjacency)m -2 r 44 c 10(any)m 10(MaxAge)m 11(advertisements)m 10(present)m 11(in)m 10(the)m 0 740 p (link)s 10(state)m 11(database)m 10(are)m 11(added)m 10(to)m 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c t-bol.300 @sf 10(Link)m 10(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 10(instead)m 11(of)m 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c t-bol.300 @sf 9(Database)m 0 790 p (summary)s 10(list)m t-rom.300 @sf 46 c 14(See)m 11(Section)m 10(10.3)m 11(for)m 10(more)m 10(details.)m 0 857 p 65 c 10(MaxAge)m 11(advertisement)m 10(must)m 11(be)m 10(removed)m 10(immediately)m 11(from)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(link)m 11(state)m 10(database)m 11(as)m 10(soon)m 10(as)m 11(both)m 10(a\))m 11(it)m 10(is)m 0 907 p (no)s 10(longer)m 11(contained)m 10(on)m 11(any)m 10(neighbor)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 10(and)m 11(b\))m 10(none)m 11(of)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 9(neighbors)m 11(are)m 10(in)m 0 957 p (states)s t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 11(or)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf 46 c 0 1025 p (When,)s 10(in)m 11(the)m 10(process)m 11(of)m 10(aging)m 10(the)m 11(link)m 10(state)m 11(database,)m 10(an)m 11(advertisement')m -2 r 115 c 10(LS)m 10(age)m 11(hits)m 10 r 97 c 10(multiple)m 11(of)m 10(CheckAge,)m 11(its)m 10(LS)m 0 1075 p (checksum)s 10(should)m 11(be)m 10(veri\014ed.)m 14(If)m 11(the)m 10(LS)m 10(checksum)m 11(is)m 10(incorrect,)m 11 r 97 c 10(program)m 10(or)m 11(memory)m 10(error)m 11(has)m 10(been)m 11(detected,)m 10(and)m 10(at)m 0 1124 p (the)s 10(very)m 11(least)m 10(the)m 11(router)m 10(itself)m 10(should)m 11(be)m 10(restarted.)m t-bol.360 @sf 0 1261 p (14.1)s 50(Pr)m (ematur)s -1 r 101 c 12(aging)m 12(of)m 13(advertisements)m t-rom.300 @sf 0 1357 p 65 c 10(link)m 11(state)m 10(advertisement)m 11(can)m 10(be)m 10(\015ushed)m 11(from)m 10(the)m 11(routing)m 10(domain)m 11(by)m 10(setting)m 10(its)m 11(LS)m 10(age)m 11(to)m 10(MaxAge)m 10(and)m 11(re\015ooding)m 0 1407 p (the)s 10(advertisement.)m 14(This)m 11(procedure)m 10(follows)m 11(the)m 10(same)m 10(course)m 11(as)m 10(\015ushing)m 11(an)m 10(advertisement)m 10(whose)m 11(LS)m 10(age)m 11(has)m 10(naturally)m 0 1456 p (reached)s 10(the)m 11(value)m 10(MaxAge)m 11(\(see)m 10(Section)m 10(14\).)m 14(In)m 11(particular)m -1 r 44 c 10(the)m 10(MaxAge)m 10(advertisement)m 11(is)m 10(removed)m 11(from)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 0 1506 p (link)s 10(state)m 11(database)m 10(as)m 11(soon)m 10(as)m 10(a\))m 11(it)m 10(is)m 11(no)m 10(longer)m 11(contained)m 10(on)m 10(any)m 11(neighbor)m t-bol.300 @sf 10(Link)m 11(state)m 10 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 10(and)m 11(b\))m 0 1556 p (none)s 10(of)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(neighbors)m 10(are)m 11(in)m 10(states)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 10(or)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf 46 c 14 r 87 c -2 r 101 c 9(call)m 11(the)m 10(setting)m 11(of)m 10(an)m 10(advertisement')m -1 r 115 c 10(LS)m 10(age)m 0 1606 p (to)s 10(MaxAge)m t-bol.300 @sf 11(pr)m (ematur)s -1 r 101 c 10(aging)m t-rom.300 @sf 46 c 0 1673 p (Premature)s 10(aging)m 11(is)m 10(used)m 11(when)m 10(it)m 10(is)m 11(time)m 10(for)m 11 r 97 c 10(self-originated)m 11(advertisement')m -2 r 115 c 10(sequence)m 10(number)m 11(\014eld)m 10(to)m 10(wrap.)m 14(At)m 11(this)m 0 1723 p (point,)s 10(the)m 11(current)m 10(advertisement)m 11(instance)m 10(\(having)m 10(LS)m 11(sequence)m 10(number)m 11(of)m c-med.300 @sf 10(0x7fffffff)m t-rom.300 @sf 41 c 11(must)m 10(be)m 10(prematurely)m 11(aged)m 0 1773 p (and)s 10(\015ushed)m 11(from)m 10(the)m 11(routing)m 10(domain)m 10(before)m 11 r 97 c 10(new)m 11(instance)m 10(with)m 11(sequence)m 10(number)m c-med.300 @sf 10(0x80000001)m t-rom.300 @sf 11(can)m 10(be)m 11(originated.)m 0 1823 p (See)s 10(Section)m 11(12.1.6)m 10(for)m 11(more)m 10(information.)m 0 1891 p (Premature)s 10(aging)m 11(can)m 10(also)m 11(be)m 10(used)m 10(when,)m 11(for)m 10(example,)m 11(one)m 10(of)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(previously)m 10(advertised)m 10(external)m 11(routes)m 10(is)m 11(no)m 0 1940 p (longer)s 10(reachable.)m 14(In)m 11(this)m 10(circumstance,)m 11(the)m 10(router)m 10(can)m 11(\015ush)m 10(its)m 11(external)m 10(advertisement)m 10(from)m 11(the)m 10(routing)m 11(domain)m 10(via)m 0 1990 p (premature)s 10(aging.)m 14(This)m 11(procedure)m 10(is)m 11(preferable)m 10(to)m 10(the)m 11(alternative,)m 10(which)m 11(is)m 10(to)m 10(originate)m 11 r 97 c 10(new)m 11(advertisement)m 10(for)m 11(the)m 0 2040 p (destination)s 10(specifying)m 11 r 97 c 10(metric)m 11(of)m 10(LSIn\014nity)m -2 r 46 c 13(Premature)m 11(aging)m 10(is)m 11(also)m 10(be)m 10(used)m 11(when)m 10(unexpectedly)m 11(receiving)m 0 2090 p (self-originated)s 10(advertisements)m 11(during)m 10(the)m 11(\015ooding)m 10(procedure)m 10(\(see)m 11(Section)m 10(13.4.)m 0 2158 p 65 c 10(router)m 11(may)m 10(only)m 10(prematurely)m 11(age)m 10(its)m 10(own)m 11(self-originated)m 10(link)m 10(state)m 11(advertisements.)m 14(The)m 10(router)m 10(may)m 11(not)m 10(prematurely)m 0 2207 p (age)s 10(advertisements)m 11(that)m 10(have)m 11(been)m 10(originated)m 10(by)m 11(other)m 10(routers.)m 14(An)m 11(advertisement)m 10(is)m 10(considered)m 11(self-originated)m 10(when)m 0 2257 p (either)s 10(1\))m 11(the)m 10(advertisement')m -1 r 115 c 9(Advertising)m 11(Router)m 10(is)m 11(equal)m 10(to)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(own)m 10(Router)m 10(ID)m 11(or)m 10(2\))m 11(the)m 10(advertisement)m 10(is)m 11 r 97 c 0 2307 p (network)s 10(links)m 11(advertisement)m 10(and)m 11(its)m 10(Link)m 10(State)m 11(ID)m 10(is)m 11(equal)m 10(to)m 11(one)m 10(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(own)m 11(IP)m 10(interface)m 11(addresses.)m 0 2343 p 780 2 ru t-rom.180 @sf 33 2370 p (18)s t-rom.240 @sf 60 2382 p (It)s 10(should)m 10(be)m 10 r 97 c 11(relatively)m 10(rare)m 10(occurrence)m 10(for)m 10(an)m 10(advertisement')m -1 r 115 c 9(LS)m 11(age)m 10(to)m 10(reach)m 10(MaxAge)m 10(in)m 10(this)m 10(fashion.)m 17(Usually)m -1 r 44 c 9(the)m 10(advertisement)m 10(will)m 11(be)m 0 2421 p (replaced)s 8(by)m 9 r 97 c 8(more)m 8(recent)m 9(instance)m 8(before)m 8(it)m 9(ages)m 8(out.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(83])m @eop 84 @bop0 1 /cmr8.300 @newfont cmr8.300 @sf [ 24 10 -2 -3 27.443] 61 @dc 84 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p (15)s 58 r 86 c -1(irtual)m 14(Links)m t-rom.300 @sf 0 306 p (The)s 10(single)m 11(backbone)m 10(area)m 11(\(Area)m 10(ID)m 10 r 61 c c-med.300 @sf 11(0.0.0.0)m t-rom.300 @sf 41 c 10(cannot)m 11(be)m 10(disconnected,)m 11(or)m 10(some)m 10(areas)m 11(of)m 10(the)m 11(Autonomous)m 10(System)m 0 356 p (will)s 10(become)m 11(unreachable.)m 14 r 84 c -2 r 111 c 9(establish/maintain)m 11(connectivity)m 10(of)m 10(the)m 11(backbone,)m 10(virtual)m 11(links)m 10(can)m 11(be)m 10(con\014gured)m 0 405 p (through)s 10(non-backbone)m 11(areas.)m 14 r 86 c -2(irtual)m 10(links)m 10(serve)m 10(to)m 11(connect)m 10(physically)m 11(separate)m 10(components)m 11(of)m 10(the)m 10(backbone.)m 14(The)m 0 455 p (two)s 10(endpoints)m 11(of)m 10 r 97 c 11(virtual)m 10(link)m 10(are)m 11(area)m 10(border)m 11(routers.)m 14(The)m 10(virtual)m 10(link)m 11(must)m 10(be)m 11(con\014gured)m 10(in)m 11(both)m 10(routers.)m 14(The)m 0 505 p (con\014guration)s 10(information)m 11(in)m 10(each)m 11(router)m 10(consists)m 10(of)m 11(the)m 10(other)m 11(virtual)m 10(endpoint)m 11(\(the)m 10(other)m 10(area)m 11(border)m 10(router\),)m 11(and)m 10(the)m 0 555 p (non-backbone)s 10(area)m 11(the)m 10(two)m 11(routers)m 10(have)m 10(in)m 11(common)m 10(\(called)m 11(the)m 10(transit)m 11(area\).)m 13 r 86 c -1(irtual)m 9(links)m 11(cannot)m 10(be)m 11(con\014gured)m 0 605 p (through)s 10(stub)m 11(areas)m 10(\(see)m 11(Section)m 10(3.6\).)m 0 672 p (The)s 10(virtual)m 10(link)m 11(is)m 10(treated)m 10(as)m 10(if)m 11(it)m 10(were)m 10(an)m 10(unnumbered)m 10(point-to-point)m 11(network)m 10(\(belonging)m 10(to)m 10(the)m 11(backbone\))m 10(joining)m 10(the)m 0 722 p (two)s 10(area)m 11(border)m 10(routers.)m 14(An)m 11(attempt)m 10(is)m 10(made)m 11(to)m 10(establish)m 11(an)m 10(adjacency)m 10(over)m 11(the)m 10(virtual)m 11(link.)m 14(When)m 10(this)m 10(adjacency)m 11(is)m 0 772 p (established,)s 10(the)m 10(virtual)m 11(link)m 10(will)m 10(be)m 10(included)m 10(in)m 11(backbone)m 10(router)m 10(links)m 10(advertisements,)m 10(and)m 11(OSPF)m 10(packets)m 10(pertaining)m 10(to)m 0 822 p (the)s 10(backbone)m 10(area)m 10(will)m 11(\015ow)m 10(over)m 10(the)m 10(adjacency)m -2 r 46 c 13(Such)m 10(an)m 10(adjacency)m 11(has)m 10(been)m 10(referred)m 10(to)m 10(in)m 10(this)m 11(document)m 10(as)m 10 r 97 c 10(\\virtual)m 0 872 p (adjacency".)s 0 939 p (In)s 10(each)m 11(endpoint)m 10(router)m 44 c 9(the)m 10(cost)m 11(and)m 10(viability)m 11(of)m 10(the)m 10(virtual)m 11(link)m 10(is)m 11(discovered)m 10(by)m 11(examining)m 10(the)m 10(routing)m 11(table)m 10(entry)m 0 989 p (for)s 10(the)m 10(other)m 10(endpoint)m 10(router)m -2 r 46 c 13(\(The)m 10(entry')m -1 r 115 c 8(associated)m 10(area)m 10(must)m 10(be)m 10(the)m 10(con\014gured)m 10(transit)m 10(area\).)m 13(Actually)m -1 r 44 c 9(there)m 10(may)m 10(be)m 0 1039 p 97 c 10(separate)m 11(routing)m 10(table)m 10(entry)m 10(for)m 11(each)m 10 r 84 c -2(ype)m 9(of)m 10(Service.)m 14(These)m 11(are)m 10(called)m 10(the)m 10(virtual)m 11(link')m -2 r 115 c 10(corresponding)m 10(routing)m 10(table)m 0 1089 p (entries.)s 14(The)m t-bol.300 @sf 10(InterfaceUp)m t-rom.300 @sf 11(event)m 10(occurs)m 11(for)m 10 r 97 c 10(virtual)m 11(link)m 10(when)m 11(its)m 10(corresponding)m 10 r 84 c (OS)s 10 r 48 c 11(routing)m 10(table)m 10(entry)m 11(becomes)m 0 1138 p (reachable.)s 14(Conversely)m -2 r 44 c 10(the)m t-bol.300 @sf 10(InterfaceDown)m t-rom.300 @sf 10(event)m 11(occurs)m 10(when)m 10(its)m 11 r 84 c (OS)s 9 r 48 c 11(routing)m 10(table)m 10(entry)m 11(becomes)m 10(unreachable.)m t-rom.210 @sf 1919 1123 p (19)s t-rom.300 @sf 0 1188 p (In)s 10(other)m 11(words,)m 10(the)m 11(virtual)m 10(link')m -1 r 115 c 9(viability)m 11(is)m 10(determined)m 10(by)m 11(the)m 10(existence)m 11(of)m 10(an)m 11(intra-area)m 10(path,)m 10(through)m 11(the)m 10(transit)m 0 1238 p (area,)s 10(between)m 11(the)m 10(two)m 11(endpoints.)m 14(Note)m 10(that)m 10 r 97 c 11(virtual)m 10(link)m 11(whose)m 10(underlying)m 10(path)m 11(has)m 10(cost)m 11(greater)m 10(than)m 11(hexadecimal)m c-med.300 @sf 0 1288 p (0xffff)s t-rom.300 @sf 10(\(the)m 11(maximum)m 10(size)m 11(of)m 10(an)m 10(interface)m 11(cost)m 10(in)m 11 r 97 c 10(router)m 11(links)m 10(advertisement\))m 10(should)m 11(be)m 10(considered)m 11(inoperational)m 0 1338 p (\(i.e.,)s 10(treated)m 11(the)m 10(same)m 11(as)m 10(if)m 10(the)m 11(path)m 10(did)m 11(not)m 10(exist\).)m 0 1405 p (The)s 10(other)m 11(details)m 10(concerning)m 11(virtual)m 10(links)m 10(are)m 11(as)m 10(follows:)m cmsy10.300 @sf 62 1506 p 15 c t-rom.300 @sf 21(AS)m 10(external)m 11(links)m 10(are)m 11(NEVER)m 10(\015ooded)m 11(over)m 10(virtual)m 10(adjacencies.)m 14(This)m 11(would)m 10(be)m 10(duplication)m 11(of)m 10(ef)m (fort,)s 10(since)m 10(the)m 104 1556 p (same)s 10(AS)m 11(external)m 10(links)m 10(are)m 11(already)m 10(\015ooded)m 11(throughout)m 10(the)m 11(virtual)m 10(link')m -1 r 115 c 9(transit)m 10(area.)m 14(For)m 11(this)m 10(same)m 11(reason,)m 10(AS)m 104 1606 p (external)s 10(link)m 11(advertisements)m 10(are)m 10(not)m 11(summarized)m 10(over)m 11(virtual)m 10(adjacencies)m 11(during)m 10(the)m 10(Database)m 11(Exchange)m 104 1656 p (process.)s cmsy10.300 @sf 62 1739 p 15 c t-rom.300 @sf 21(The)m 10(cost)m 11(of)m 10 r 97 c 11(virtual)m 10(link)m 11(is)m 10(NOT)m 10(con\014gured.)m 14(It)m 11(is)m 10(de\014ned)m 10(to)m 11(be)m 10(the)m 11(cost)m 10(of)m 11(the)m 10(intra-area)m 10(path)m 11(between)m 10(the)m 11(two)m 104 1789 p (de\014ning)s 10(area)m 10(border)m 10(routers.)m 14(This)m 10(cost)m 10(appears)m 10(in)m 10(the)m 10(virtual)m 10(link')m -1 r 115 c 9(corresponding)m 10(routing)m 10(table)m 10(entry)m -1 r 46 c 12(When)m 10(the)m 104 1838 p (cost)s 10(of)m 11 r 97 c 10(virtual)m 10(link)m 11(changes,)m 10 r 97 c 11(new)m 10(router)m 11(links)m 10(advertisement)m 10(should)m 11(be)m 10(originated)m 11(for)m 10(the)m 10(backbone)m 11(area.)m cmsy10.300 @sf 62 1921 p 15 c t-rom.300 @sf 21(Just)m 10(as)m 11(the)m 10(virtual)m 11(link')m -2 r 115 c 10(cost)m 10(and)m 11(viability)m 10(are)m 10(determined)m 11(by)m 10(the)m 11(routing)m 10(table)m 11(build)m 10(process)m 10(\(through)m 104 1971 p (construction)s 10(of)m 11(the)m 10(routing)m 10(table)m 11(entry)m 10(for)m 11(the)m 10(other)m 11(endpoint\),)m 10(so)m 10(are)m 11(the)m 10(IP)m 11(interface)m 10(address)m 10(for)m 11(the)m 10(virtual)m 104 2021 p (interface)s 10(and)m 11(the)m 10(virtual)m 10(neighbor)m 2 r 39 c -1 r 115 c 9(IP)m 11(address.)m 13(These)m 11(are)m 10(used)m 11(when)m 10(sending)m 10(OSPF)m 11(protocol)m 10(packets)m 11(over)m 10(the)m 104 2071 p (virtual)s 10(link.)m 14(Note)m 10(that)m 11(when)m 10(one)m 11(\(or)m 10(both\))m 11(of)m 10(the)m 10(virtual)m 11(link)m 10(endpoints)m 11(connect)m 10(to)m 10(the)m 11(transit)m 10(area)m 11(via)m 10(an)m 104 2121 p (unnumbered)s 10(point-to-point)m 11(link,)m 10(it)m 10(may)m 11(be)m 10(impossible)m 11(to)m 10(calculate)m 11(either)m 10(the)m 10(virtual)m 11(interface')m -2 r 115 c 10(IP)m 10(address)m 104 2170 p (and/or)s 10(the)m 11(virtual)m 10(neighbor)m 2 r 39 c -2 r 115 c 10(IP)m 10(address,)m 11(thereby)m 10(causing)m 10(the)m 11(virtual)m 10(link)m 11(to)m 10(fail.)m cmsy10.300 @sf 62 2253 p 15 c t-rom.300 @sf 21(In)m 10(each)m 11(endpoint')m -1 r 115 c 9(router)m 10(links)m 11(advertisement)m 10(for)m 11(the)m 10(backbone,)m 10(the)m 11(virtual)m 10(link)m 11(is)m 10(represented)m 11(as)m 10 r 97 c t-bol.300 @sf 10 r 84 c -2(ype)m 10 r 52 c t-rom.300 @sf 10(link)m 104 2303 p (whose)s t-bol.300 @sf 10(Link)m 11(ID)m t-rom.300 @sf 10(is)m 10(set)m 11(to)m 10(the)m 11(virtual)m 10(neighbor)m 2 r 39 c -2 r 115 c 10(OSPF)m 10(Router)m 11(ID)m 10(and)m 10(whose)m t-bol.300 @sf 11(Link)m 10(Data)m t-rom.300 @sf 11(is)m 10(set)m 11(to)m 10(the)m 10(virtual)m 104 2353 p (interface')s -2 r 115 c 9(IP)m 10(address.)m 13(See)m 10(Section)m 9(12.4.1)m 10(for)m 9(more)m 10(information.)m 14(Note)m 9(that)m 10(it)m 9(may)m 10(be)m 9(the)m 10(case)m 9(that)m 10(there)m 10(is)m 9 r 97 c 10 r 84 c (OS)s 104 2403 p 48 c 10(path,)m 11(but)m 10(no)m 10(non-zero)m 11 r 84 c (OS)s 10(paths,)m 10(between)m 10(the)m 11(two)m 10(endpoint)m 11(routers.)m 13(In)m 11(this)m 10(case,)m 11(both)m 10(routers)m 11(must)m 10(revert)m 10(to)m 104 2453 p (being)s 10(non-T)m (OS-capable,)s 10(clearing)m 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(in)m 11(the)m t-bol.300 @sf 10(Options)m t-rom.300 @sf 11(\014eld)m 10(of)m 10(their)m 11(backbone)m 10(router)m 11(links)m 10(advertisements.)m 0 2488 p 780 2 ru t-rom.180 @sf 33 2516 p (19)s t-rom.240 @sf 60 2528 p (Only)s 8(the)m 9 r 84 c (OS)s 7 r 48 c 9(routes)m 8(are)m 8(important)m 9(here)m 8(because)m 8(all)m 9(OSPF)m 8(protocol)m 8(packets)m 9(are)m 8(sent)m 8(with)m 9 r 84 c (OS)s cmr8.300 @sf 61 c t-rom.240 @sf 9(0.)m 11(See)m 8(Appendix)m 9(A.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(84])m @eop 85 @bop0 85 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21(When)m 10(virtual)m 11(links)m 10(are)m 11(con\014gured)m 10(for)m 11(the)m 10(backbone,)m 10(information)m 11(concerning)m 10(backbone)m 11(networks)m 10(should)m 10(not)m 11(be)m 104 245 p (condensed)s 10(before)m 11(being)m 10(summarized)m 10(into)m 11(the)m 10(transit)m 11(areas.)m 14(In)m 10(other)m 10(words,)m 11(each)m 10(backbone)m 11(network)m 10(should)m 10(be)m 104 295 p (advertised)s 10(into)m 11(the)m 10(transit)m 10(areas)m 11(in)m 10 r 97 c 11(separate)m 10(summary)m 11(link)m 10(advertisement,)m 10(regardless)m 11(of)m 10(the)m 11(backbone')m -2 r 115 c 104 345 p (con\014gured)s t-bol.300 @sf 10(ar)m (ea)s 10(addr)m (ess)s 10(ranges)m t-rom.300 @sf 46 c 13(See)m 11(Section)m 10(12.4.3)m 11(for)m 10(more)m 10(information.)m cmsy10.300 @sf 62 420 p 15 c t-rom.300 @sf 21(The)m 10(time)m 11(between)m 10(link)m 11(state)m 10(retransmissions,)m 11(RxmtInterval,)m 10(is)m 10(con\014gured)m 11(for)m 10 r 97 c 11(virtual)m 10(link.)m 14(This)m 10(should)m 11(be)m 10(well)m 104 470 p (over)s 10(the)m 10(expected)m 9(round-trip)m 10(delay)m 10(between)m 10(the)m 10(two)m 10(routers.)m 14(This)m 10(may)m 9(be)m 10(hard)m 10(to)m 10(estimate)m 10(for)m 10 r 97 c 10(virtual)m 10(link;)m 10(it)m 10(is)m 104 520 p (better)s 10(to)m 11(err)m 10(on)m 10(the)m 11(side)m 10(of)m 11(making)m 10(it)m 11(too)m 10(lar)m (ge.)s t-bol.420 @sf 0 666 p (16)s 58(Calculation)m 15(Of)m 14(The)m 15(Routing)m 15 r 84 c -5(able)m t-rom.300 @sf 0 769 p (This)s 10(section)m 11(details)m 10(the)m 11(OSPF)m 10(routing)m 10(table)m 11(calculation.)m 14(Using)m 10(its)m 11(attached)m 10(areas')m 10(link)m 11(state)m 10(databases)m 11(as)m 10(input,)m 11 r 97 c 0 819 p (router)s 10(runs)m 11(the)m 10(following)m 11(algorithm,)m 10(building)m 10(its)m 11(routing)m 10(table)m 11(step)m 10(by)m 11(step.)m 13(At)m 11(each)m 10(step,)m 11(the)m 10(router)m 11(must)m 10(access)m 0 869 p (individual)s 10(pieces)m 11(of)m 10(the)m 11(link)m 10(state)m 10(databases)m 11(\(e.g.,)m 10 r 97 c 11(router)m 10(links)m 11(advertisement)m 10(originated)m 10(by)m 11 r 97 c 10(certain)m 11(router\).)m 14(This)m 0 918 p (access)s 10(is)m 11(performed)m 10(by)m 11(the)m 10(lookup)m 10(function)m 11(discussed)m 10(in)m 11(Section)m 10(12.2.)m 14(The)m 10(lookup)m 11(process)m 10(may)m 11(return)m 10 r 97 c 11(link)m 10(state)m 0 968 p (advertisement)s 10(whose)m 11(LS)m 10(age)m 11(is)m 10(equal)m 10(to)m 11(MaxAge.)m 14(Such)m 10(an)m 11(advertisement)m 10(should)m 10(not)m 11(be)m 10(used)m 11(in)m 10(the)m 11(routing)m 10(table)m 0 1018 p (calculation,)s 10(and)m 11(is)m 10(treated)m 11(just)m 10(as)m 10(if)m 11(the)m 10(lookup)m 11(process)m 10(had)m 11(failed.)m 0 1078 p (The)s 10(OSPF)m 11(routing)m 10(table')m -1 r 115 c 9(or)m (ganization)s 10(is)m 10(explained)m 11(in)m 10(Section)m 11 r 49 c -1(1.)m 13 r 84 c -2(wo)m 10(examples)m 10(of)m 10(the)m 11(routing)m 10(table)m 11(build)m 10(process)m 0 1128 p (are)s 10(presented)m 11(in)m 10(Sections)m 11 r 49 c -1(1.2)m 10(and)m 10 r 49 c -1(1.3.)m 13(This)m 11(process)m 10(can)m 11(be)m 10(broken)m 10(into)m 11(the)m 10(following)m 11(steps:)m 52 1210 p (1.)s t-ita.300 @sf 21(The)m 10(pr)m -1(esent)m 10 r 114 c -1(outing)m 10(table)m 10(is)m 11(invalidated.)m t-rom.300 @sf 13(The)m 11(routing)m 10(table)m 11(is)m 10(built)m 10(again)m 11(from)m 10(scratch.)m 14(The)m 11(old)m 10(routing)m 10(table)m 11(is)m 104 1260 p (saved)s 10(so)m 11(that)m 10(changes)m 10(in)m 11(routing)m 10(table)m 11(entries)m 10(can)m 11(be)m 10(identi\014ed.)m 52 1336 p (2.)s t-ita.300 @sf 21(The)m 10(intra-ar)m -1(ea)m 10 r 114 c -1(outes)m 10(ar)m -1 r 101 c 10(calculated)m 10(by)m 10(building)m 11(the)m 10(shortest-path)m 11(tr)m -1(ee)m 10(for)m 10(each)m 10(attached)m 11(ar)m -1(ea.)m t-rom.300 @sf 13(In)m 11(particular)m -1 r 44 c 9(all)m 104 1385 p (routing)s 10(table)m 11(entries)m 10(whose)m 10(Destination)m 11 r 84 c -2(ype)m 9(is)m 11(\\area)m 10(border)m 11(router)m 1 r 34 c 11(are)m 10(calculated)m 10(in)m 11(this)m 10(step.)m 14(This)m 11(step)m 10(is)m 104 1435 p (described)s 10(in)m 11(two)m 10(parts.)m 14(At)m 10(\014rst)m 11(the)m 10(tree)m 11(is)m 10(constructed)m 10(by)m 11(only)m 10(considering)m 11(those)m 10(links)m 10(between)m 11(routers)m 10(and)m 104 1485 p (transit)s 10(networks.)m 14(Then)m 10(the)m 11(stub)m 10(networks)m 11(are)m 10(incorporated)m 11(into)m 10(the)m 10(tree.)m 14(During)m 11(the)m 10(area')m -1 r 115 c 9(shortest-path)m 11(tree)m 104 1535 p (calculation,)s 10(the)m 11(area')m -2 r 115 c t-bol.300 @sf 10 r 84 c -2(ransitCapability)m t-rom.300 @sf 9(is)m 10(also)m 11(calculated)m 10(for)m 11(later)m 10(use)m 11(in)m 10(Step)m 10(4.)m 52 1611 p (3.)s t-ita.300 @sf 21(The)m 10(inter)m (-ar)s -1(ea)m 9 r 114 c -1(outes)m 10(ar)m -1 r 101 c 10(calculated,)m 10(thr)m (ough)s 9(examination)m 10(of)m 11(summary)m 10(link)m 11(advertisements.)m t-rom.300 @sf 14(If)m 10(the)m 10(router)m 11(is)m 104 1660 p (attached)s 10(to)m 11(multiple)m 10(areas)m 10(\(i.e.,)m 11(it)m 10(is)m 11(an)m 10(area)m 11(border)m 10(router\),)m 10(only)m 11(backbone)m 10(summary)m 11(link)m 10(advertisements)m 10(are)m 104 1710 p (examined.)s 52 1786 p (4.)s t-ita.300 @sf 21(In)m 10(ar)m -1(ea)m 10(bor)m -1(der)m 10 r 114 c -1(outers)m 10(connecting)m 10(to)m 10(one)m 11(or)m 10(mor)m 101 c 9(transit)m 11(ar)m -1(eas)m t-rom.300 @sf 9(\(i.e,)m 11(non-backbone)m 10(areas)m 11(whose)m t-bol.300 @sf 104 1836 p 84 c -2(ransitCapability)m t-rom.300 @sf 9(is)m 11(found)m 10(to)m 10(be)m 11(TRUE\),)m 10(the)m 11(transit)m 10(areas')m 10(summary)m 11(link)m 10(advertisements)m 11(are)m 10(examined)m 11(to)m 10(see)m 104 1885 p (whether)s 10(better)m 11(paths)m 10(exist)m 10(using)m 11(the)m 10(transit)m 11(areas)m 10(than)m 11(were)m 10(found)m 10(in)m 11(Steps)m 10(2-3)m 11(above.)m 52 1961 p (5.)s t-ita.300 @sf 21(Routes)m 10(to)m 10(external)m 11(destinations)m 10(ar)m 101 c 9(calculated,)m 10(thr)m (ough)s 9(examination)m 11(of)m 10(AS)m 11(external)m 10(link)m 10(advertisements.)m t-rom.300 @sf 14(The)m 104 2011 p (locations)s 10(of)m 11(the)m 10(AS)m 10(boundary)m 11(routers)m 10(\(which)m 11(originate)m 10(the)m 11(AS)m 10(external)m 10(link)m 11(advertisements\))m 10(have)m 11(been)m 104 2061 p (determined)s 10(in)m 11(steps)m 10(2-4.)m 0 2143 p (Steps)s 10(2-5)m 11(are)m 10(explained)m 11(in)m 10(further)m 10(detail)m 11(below)m -2 r 46 c 13(The)m 11(explanations)m 10(describe)m 10(the)m 11(calculations)m 10(for)m 11 r 84 c (OS)s 9 r 48 c 11(only)m -2 r 46 c 13(It)m 10(may)m 0 2193 p (also)s 10(be)m 11(necessary)m 10(to)m 11(perform)m 10(each)m 10(step)m 11(\(separately\))m 10(for)m 11(each)m 10(of)m 11(the)m 10(non-zero)m 10 r 84 c (OS)s 10(values.)m t-rom.210 @sf 1488 2178 p (20)s t-rom.300 @sf 1533 2193 p (For)s 11(more)m 10(information)m 0 2243 p (concerning)s 10(the)m 11(building)m 10(of)m 11(non-zero)m 10 r 84 c (OS)s 10(routes)m 10(see)m 11(Section)m 10(16.9.)m 0 2303 p (Changes)s 10(made)m 11(to)m 10(routing)m 11(table)m 10(entries)m 10(as)m 11 r 97 c 10(result)m 11(of)m 10(these)m 11(calculations)m 10(can)m 10(cause)m 11(the)m 10(OSPF)m 11(protocol)m 10(to)m 10(take)m 11(further)m 0 2352 p (actions.)s 14(For)m 10(example,)m 11 r 97 c 10(change)m 11(to)m 10(an)m 10(intra-area)m 11(route)m 10(will)m 11(cause)m 10(an)m 10(area)m 11(border)m 10(router)m 11(to)m 10(originate)m 11(new)m 10(summary)m 10(link)m 0 2402 p (advertisements)s 10(\(see)m 11(Section)m 10(12.4\).)m 14(See)m 11(Section)m 10(16.7)m 10(for)m 11 r 97 c 10(complete)m 11(list)m 10(of)m 10(the)m 11(OSPF)m 10(protocol)m 11(actions)m 10(resulting)m 11(from)m 0 2452 p (routing)s 10(table)m 11(changes.)m 0 2480 p 780 2 ru t-rom.180 @sf 33 2508 p (20)s t-rom.240 @sf 60 2520 p (It)s 11(may)m 11(be)m 11(the)m 10(case)m 11(that)m 11(paths)m 11(to)m 11(certain)m 11(destinations)m 10(do)m 11(not)m 11(vary)m 11(based)m 11(on)m 11 r 84 c (OS.)s 18(For)m 10(these)m 11(destinations,)m 12(the)m 11(routing)m 10(calculation)m 11(need)m 11(not)m 11(be)m 0 2559 p (repeated)s 8(for)m 9(each)m 8 r 84 c (OS)s 8(value.)m 11(In)m 8(addition,)m 9(there)m 8(need)m 9(only)m 8(be)m 8 r 97 c 9(single)m 8(routing)m 8(table)m 9(entry)m 8(for)m 9(these)m 8(destinations)m 8(\(instead)m 9(of)m 8 r 97 c 8(separate)m 9(entry)m 8(for)m 9(each)m 0 2599 p 84 c (OS)s 8(value\).)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(85])m @eop 86 @bop0 86 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (16.1)s 50(Calculating)m 12(the)m 13(shortest-path)m 12(tr)m (ee)s 12(for)m 13(an)m 12(ar)m (ea)s t-rom.300 @sf 0 291 p (This)s 10(calculation)m 11(yields)m 10(the)m 11(set)m 10(of)m 10(intra-area)m 11(routes)m 10(associated)m 11(with)m 10(an)m 11(area)m 10(\(called)m 10(hereafter)m 11(Area)m 10(A\).)m 11 r 65 c 10(router)m 0 341 p (calculates)s 10(the)m 11(shortest-path)m 10(tree)m 11(using)m 10(itself)m 10(as)m 11(the)m 10(root.)m t-rom.210 @sf 927 326 p (21)s t-rom.300 @sf 972 341 p (The)s 10(formation)m 11(of)m 10(the)m 11(shortest)m 10(path)m 11(tree)m 10(is)m 10(done)m 11(here)m 10(in)m 11(two)m 0 390 p (stages.)s 14(In)m 10(the)m 11(\014rst)m 10(stage,)m 11(only)m 10(links)m 10(between)m 11(routers)m 10(and)m 11(transit)m 10(networks)m 10(are)m 11(considered.)m 14(Using)m 10(the)m 11(Dijkstra)m 0 440 p (algorithm,)s 10 r 97 c 10(tree)m 10(is)m 10(formed)m 10(from)m 10(this)m 10(subset)m 10(of)m 10(the)m 10(link)m 10(state)m 11(database.)m 13(In)m 10(the)m 10(second)m 10(stage,)m 11(leaves)m 10(are)m 10(added)m 10(to)m 10(the)m 10(tree)m 0 490 p (by)s 10(considering)m 11(the)m 10(links)m 11(to)m 10(stub)m 10(networks.)m 0 558 p (The)s 10(procedure)m 11(will)m 10(be)m 11(explained)m 10(using)m 10(the)m 11(graph)m 10(terminology)m 11(that)m 10(was)m 11(introduced)m 10(in)m 10(Section)m 11(2.)m 14(The)m 10(area')m -1 r 115 c 9(link)m 11(state)m 0 608 p (database)s 10(is)m 11(represented)m 10(as)m 11 r 97 c 10(directed)m 10(graph.)m 14(The)m 11(graph')m -1 r 115 c 9(vertices)m 10(are)m 11(routers,)m 10(transit)m 11(networks)m 10(and)m 10(stub)m 11(networks.)m 14(The)m 0 657 p (\014rst)s 10(stage)m 10(of)m 10(the)m 10(procedure)m 10(concerns)m 10(only)m 10(the)m 10(transit)m 10(vertices)m 9(\(routers)m 10(and)m 10(transit)m 10(networks\))m 10(and)m 10(their)m 10(connecting)m 10(links.)m 0 707 p (Throughout)s 10(the)m 11(shortest)m 10(path)m 11(calculation,)m 10(the)m 10(following)m 11(data)m 10(is)m 11(also)m 10(associated)m 11(with)m 10(each)m 10(transit)m 11(vertex:)m t-bol.300 @sf 0 816 p 86 c -3(ertex)m 10(\(node\))m 10(ID)m t-rom.300 @sf 21 r 65 c 10(32-bit)m 11(number)m 10(uniquely)m 10(identifying)m 11(the)m 10(vertex.)m 14(For)m 11(router)m 10(vertices)m 10(this)m 11(is)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(OSPF)m 104 866 p (Router)s 10(ID.)m 11(For)m 10(network)m 10(vertices,)m 11(this)m 10(is)m 11(the)m 10(IP)m 11(address)m 10(of)m 10(the)m 11(network')m -2 r 115 c 10(Designated)m 10(Router)m -1 r 46 c t-bol.300 @sf 0 949 p 65 c 10(link)m 11(state)m 10(advertisement)m t-rom.300 @sf 21(Each)m 10(transit)m 10(vertex)m 10(has)m 10(an)m 10(associated)m 10(link)m 10(state)m 10(advertisement.)m 14(For)m 10(router)m 10(vertices,)m 10(this)m 10(is)m 104 999 p 97 c 10(router)m 11(links)m 10(advertisement.)m 14(For)m 10(transit)m 11(networks,)m 10(this)m 11(is)m 10 r 97 c 10(network)m 11(links)m 10(advertisement)m 11(\(which)m 10(is)m 10(actually)m 104 1049 p (originated)s 10(by)m 10(the)m 10(network')m -1 r 115 c 9(Designated)m 10(Router\).)m 14(In)m 10(any)m 10(case,)m 10(the)m 11(advertisement')m -2 r 115 c 9(Link)m 11(State)m 10(ID)m 10(is)m 10(always)m 10(equal)m 104 1099 p (to)s 10(the)m 11(above)m 10 r 86 c -4(ertex)m 10(ID.)m t-bol.300 @sf 0 1182 p (List)s 10(of)m 11(next)m 10(hops)m t-rom.300 @sf 21(The)m 10(list)m 11(of)m 10(next)m 11(hops)m 10(for)m 11(the)m 10(current)m 10(set)m 11(of)m 10(shortest)m 11(paths)m 10(from)m 10(the)m 11(root)m 10(to)m 11(this)m 10(vertex.)m 14(There)m 10(can)m 11(be)m 104 1231 p (multiple)s 10(shortest)m 11(paths)m 10(due)m 10(to)m 11(the)m 10(equal-cost)m 11(multipath)m 10(capability)m -2 r 46 c 13(Each)m 11(next)m 10(hop)m 11(indicates)m 10(the)m 10(outgoing)m 11(router)m 104 1281 p (interface)s 10(to)m 11(use)m 10(when)m 10(forwarding)m 11(traf)m (\014c)s 10(to)m 10(the)m 10(destination.)m 14(On)m 11(multi-access)m 10(networks,)m 10(the)m 11(next)m 10(hop)m 11(also)m 104 1331 p (includes)s 10(the)m 11(IP)m 10(address)m 10(of)m 11(the)m 10(next)m 11(router)m 10(\(if)m 11(any\))m 10(in)m 10(the)m 11(path)m 10(towards)m 11(the)m 10(destination.)m t-bol.300 @sf 0 1414 p (Distance)s 10(fr)m (om)s 10 r 114 c (oot)s t-rom.300 @sf 20(The)m 11(link)m 10(state)m 10(cost)m 11(of)m 10(the)m 11(current)m 10(set)m 10(of)m 11(shortest)m 10(paths)m 11(from)m 10(the)m 11(root)m 10(to)m 10(the)m 11(vertex.)m 14(The)m 10(link)m 10(state)m 104 1464 p (cost)s 10(of)m 11 r 97 c 10(path)m 10(is)m 11(calculated)m 10(as)m 11(the)m 10(sum)m 11(of)m 10(the)m 10(costs)m 11(of)m 10(the)m 11(path')m -2 r 115 c 10(constituent)m 10(links)m 11(\(as)m 10(advertised)m 10(in)m 11(router)m 10(links)m 104 1514 p (and)s 10(network)m 11(links)m 10(advertisements\).)m 14(One)m 10(path)m 11(is)m 10(said)m 11(to)m 10(be)m 10(\\shorter)m 2 r 34 c 10(than)m 11(another)m 10(if)m 11(it)m 10(has)m 10 r 97 c 11(smaller)m 10(link)m 11(state)m 104 1564 p (cost.)s 0 1673 p (The)s 10(\014rst)m 11(stage)m 10(of)m 11(the)m 10(procedure)m 10(\(i.e.,)m 11(the)m 10(Dijkstra)m 11(algorithm\))m 10(can)m 11(now)m 10(be)m 10(summarized)m 11(as)m 10(follows.)m 14(At)m 11(each)m 10(iteration)m 10(of)m 0 1723 p (the)s 10(algorithm,)m 11(there)m 10(is)m 11 r 97 c 10(list)m 10(of)m 11(candidate)m 10(vertices.)m 14(Paths)m 11(from)m 10(the)m 10(root)m 11(to)m 10(these)m 11(vertices)m 10(have)m 11(been)m 10(found,)m 10(but)m 11(not)m 0 1772 p (necessarily)s 10(the)m 11(shortest)m 10(ones.)m 14(However)m -1 r 44 c 10(the)m 10(paths)m 11(to)m 10(the)m 11(candidate)m 10(vertex)m 10(that)m 11(is)m 10(closest)m 11(to)m 10(the)m 10(root)m 11(are)m 10(guaranteed)m 11(to)m 0 1822 p (be)s 10(shortest;)m 10(this)m 10(vertex)m 10(is)m 10(added)m 10(to)m 10(the)m 10(shortest-path)m 9(tree,)m 10(removed)m 10(from)m 10(the)m 10(candidate)m 10(list,)m 10(and)m 10(its)m 10(adjacent)m 10(vertices)m 10(are)m 0 1872 p (examined)s 10(for)m 11(possible)m 10(addition)m 11(to/modi\014cation)m 10(of)m 10(the)m 11(candidate)m 10(list.)m 14(The)m 11(algorithm)m 10(then)m 10(iterates)m 11(again.)m 14(It)m 10(terminates)m 0 1922 p (when)s 10(the)m 11(candidate)m 10(list)m 11(becomes)m 10(empty)m -2 r 46 c 0 1989 p (The)s 10(following)m 10(steps)m 10(describe)m 10(the)m 10(algorithm)m 11(in)m 10(detail.)m 13(Remember)m 10(that)m 11(we)m 10(are)m 10(computing)m 10(the)m 10(shortest)m 10(path)m 10(tree)m 10(for)m 10(Area)m 0 2039 p (A.)s 10(All)m 11(references)m 10(to)m 11(link)m 10(state)m 10(database)m 11(lookup)m 10(below)m 11(are)m 10(from)m 11(Area)m 10 r 65 c -4 r 39 c -2 r 115 c 9(database.)m 52 2148 p (1.)s 21(Initialize)m 10(the)m 10(algorithm')m -1 r 115 c 9(data)m 11(structures.)m 14(Clear)m 10(the)m 11(list)m 10(of)m 10(candidate)m 11(vertices.)m 14(Initialize)m 10(the)m 11(shortest-path)m 10(tree)m 10(to)m 104 2198 p (only)s 10(the)m 11(root)m 10(\(which)m 10(is)m 11(the)m 10(router)m 11(doing)m 10(the)m 11(calculation\).)m 13(Set)m 11(Area)m 10 r 65 c -3 r 39 c -3 r 115 c t-bol.300 @sf 10 r 84 c -2(ransitCapability)m t-rom.300 @sf 9(to)m 10 r 70 c -2(ALSE.)m 52 2281 p (2.)s 21(Call)m 10(the)m 10(vertex)m 11(just)m 10(added)m 11(to)m 10(the)m 10(tree)m 11(vertex)m 10 r 86 c -4 r 46 c 9(Examine)m 11(the)m 10(link)m 11(state)m 10(advertisement)m 10(associated)m 11(with)m 10(vertex)m 11 r 86 c -5 r 46 c 104 2331 p (This)s 10(is)m 11 r 97 c 10(lookup)m 10(in)m 11(the)m 10(Area)m 11 r 65 c -4 r 39 c -2 r 115 c 9(link)m 11(state)m 10(database)m 10(based)m 11(on)m 10(the)m t-bol.300 @sf 11 r 86 c -3(ertex)m 9(ID)m t-rom.300 @sf 46 c 11(If)m 10(this)m 11(is)m 10 r 97 c 10(router)m 11(links)m 104 2381 p (advertisement,)s 10(and)m t-bol.300 @sf 11(bit)m 10 r 86 c t-rom.300 @sf 10(of)m 11(the)m 10(router)m 11(links)m 10(advertisement)m 11(\(see)m 10(Section)m 10(A.4.2\))m 11(is)m 10(set,)m 11(set)m 10(Area)m 10 r 65 c -3 r 39 c -2 r 115 c t-bol.300 @sf 104 2431 p 84 c -2(ransitCapability)m t-rom.300 @sf 9(to)m 11(TRUE.)m 10(In)m 10(any)m 11(case,)m 10(each)m 11(link)m 10(described)m 10(by)m 11(the)m 10(advertisement)m 11(gives)m 10(the)m 11(cost)m 10(to)m 10(an)m 104 2481 p (adjacent)s 10(vertex.)m 14(For)m 10(each)m 11(described)m 10(link,)m 11(\(say)m 10(it)m 11(joins)m 10(vertex)m 10 r 86 c 11(to)m 10(vertex)m 11(W\):)m 0 2516 p 780 2 ru t-rom.180 @sf 33 2544 p (21)s t-rom.240 @sf 60 2556 p (Strictly)s 8(speaking,)m 7(because)m 8(of)m 8(equal-cost)m 7(multipath,)m 8(the)m 8(algorithm)m 8(does)m 7(not)m 8(create)m 8 r 97 c 7(tree.)m 11 r 87 c -2 r 101 c 7(continue)m 8(to)m 7(use)m 8(the)m 8(\\tree")m 7(terminology)m 8(because)m 8(that)m 0 2595 p (is)s 8(what)m 9(occurs)m 8(most)m 8(often)m 9(in)m 8(the)m 8(existing)m 9(literature.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(86])m @eop 87 @bop0 87 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 128 195 p (\(a\))s 21(If)m 10(this)m 11(is)m 10 r 97 c 10(link)m 11(to)m 10 r 97 c 10(stub)m 11(network,)m 10(examine)m 11(the)m 10(next)m 10(link)m 11(in)m 10(V')m -1 r 115 c 9(advertisement.)m 14(Links)m 10(to)m 11(stub)m 10(networks)m 11(will)m 195 245 p (be)s 11(considered)m 10(in)m 10(the)m 11(second)m 10(stage)m 11(of)m 10(the)m 10(shortest)m 11(path)m 10(calculation.)m 126 311 p (\(b\))s 21(Otherwise,)m 10 r 87 c 10(is)m 11 r 97 c 10(transit)m 11(vertex)m 10(\(router)m 10(or)m 11(transit)m 10(network\).)m 14(Look)m 11(up)m 10(the)m 10(vertex)m 11(W')m -1 r 115 c 9(link)m 10(state)m 195 361 p (advertisement)s 11(\(router)m 10(links)m 10(or)m 11(network)m 10(links\))m 11(in)m 10(Area)m 10 r 65 c -3 r 39 c -2 r 115 c 9(link)m 10(state)m 11(database.)m 14(If)m 10(the)m 10(advertisement)m 11(does)m 195 411 p (not)s 11(exist,)m 10(or)m 10(its)m 11(LS)m 10(age)m 11(is)m 10(equal)m 10(to)m 11(MaxAge,)m 10(or)m 11(it)m 10(does)m 11(not)m 10(have)m 10 r 97 c 11(link)m 10(back)m 11(to)m 10(vertex)m 10 r 86 c -4 r 44 c 9(examine)m 11(the)m 10(next)m 195 461 p (link)s 11(in)m 10(V')m -1 r 115 c 9(advertisement.)m t-rom.210 @sf 640 446 p (22)s t-rom.300 @sf 128 527 p (\(c\))s 21(If)m 10(vertex)m 11 r 87 c 10(is)m 11(already)m 10(on)m 10(the)m 11(shortest-path)m 10(tree,)m 11(examine)m 10(the)m 10(next)m 11(link)m 10(in)m 11(the)m 10(advertisement.)m 126 594 p (\(d\))s 21(Calculate)m 10(the)m 10(link)m 10(state)m 11(cost)m 10 r 68 c 10(of)m 11(the)m 10(resulting)m 10(path)m 11(from)m 10(the)m 10(root)m 10(to)m 11(vertex)m 10 r 87 c -3 r 46 c 10 r 68 c 10(is)m 10(equal)m 10(to)m 11(the)m 10(sum)m 10(of)m 11(the)m 195 643 p (link)s 11(state)m 10(cost)m 10(of)m 11(the)m 10(\(already)m 11(calculated\))m 10(shortest)m 10(path)m 11(to)m 10(vertex)m 11 r 86 c 10(and)m 11(the)m 10(advertised)m 10(cost)m 11(of)m 10(the)m 11(link)m 195 693 p (between)s 11(vertices)m 10 r 86 c 10(and)m 11(W.)m 14(If)m 10 r 68 c 10(is:)m cmsy10.300 @sf 231 760 p 15 c t-rom.300 @sf 21(Greater)m 10(than)m 11(the)m 10(value)m 11(that)m 10(already)m 10(appears)m 11(for)m 10(vertex)m 11 r 87 c 10(on)m 11(the)m 10(candidate)m 10(list,)m 11(then)m 10(examine)m 11(the)m 10(next)m 273 809 p (link.)s cmsy10.300 @sf 231 868 p 15 c t-rom.300 @sf 21(Equal)m 10(to)m 11(the)m 10(value)m 11(that)m 10(appears)m 10(for)m 11(vertex)m 10 r 87 c 11(on)m 10(the)m 11(candidate)m 10(list,)m 10(calculate)m 11(the)m 10(set)m 11(of)m 10(next)m 10(hops)m 11(that)m 273 917 p (result)s 10(from)m 11(using)m 10(the)m 10(advertised)m 11(link.)m 14(Input)m 10(to)m 11(this)m 10(calculation)m 10(is)m 11(the)m 10(destination)m 11(\(W\),)m 10(and)m 10(its)m 11(parent)m 273 967 p (\(V\).)s 10(This)m 11(calculation)m 10(is)m 10(shown)m 11(in)m 10(Section)m 11(16.1.1.)m 14(This)m 10(set)m 10(of)m 11(hops)m 10(should)m 11(be)m 10(added)m 10(to)m 11(the)m 10(next)m 11(hop)m 273 1017 p (values)s 10(that)m 11(appear)m 10(for)m 10 r 87 c 11(on)m 10(the)m 11(candidate)m 10(list.)m cmsy10.300 @sf 231 1075 p 15 c t-rom.300 @sf 21(Less)m 10(than)m 10(the)m 10(value)m 10(that)m 10(appears)m 10(for)m 10(vertex)m 10 r 87 c 9(on)m 10(the)m 10(candidate)m 10(list,)m 10(or)m 10(if)m 10 r 87 c 10(does)m 10(not)m 10(yet)m 10(appear)m 10(on)m 10(the)m 273 1125 p (candidate)s 10(list,)m 11(then)m 10(set)m 10(the)m 11(entry)m 10(for)m 11 r 87 c 10(on)m 10(the)m 11(candidate)m 10(list)m 11(to)m 10(indicate)m 11 r 97 c 10(distance)m 10(of)m 11 r 68 c 10(from)m 11(the)m 10(root.)m 273 1175 p (Also)s 10(calculate)m 11(the)m 10(list)m 10(of)m 11(next)m 10(hops)m 11(that)m 10(result)m 10(from)m 11(using)m 10(the)m 11(advertised)m 10(link,)m 11(setting)m 10(the)m 10(next)m 11(hop)m 273 1225 p (values)s 10(for)m 11 r 87 c 10(accordingly)m -2 r 46 c 13(The)m 11(next)m 10(hop)m 10(calculation)m 11(is)m 10(described)m 11(in)m 10(Section)m 10(16.1.1;)m 11(it)m 10(takes)m 11(as)m 10(input)m 273 1274 p (the)s 10(destination)m 11(\(W\))m 10(and)m 10(its)m 11(parent)m 10(\(V\).)m 52 1357 p (3.)s 21(If)m 10(at)m 10(this)m 11(step)m 10(the)m 11(candidate)m 10(list)m 10(is)m 11(empty)m -2 r 44 c 10(the)m 10(shortest-path)m 10(tree)m 11(\(of)m 10(transit)m 11(vertices\))m 10(has)m 10(been)m 11(completely)m 10(built)m 104 1407 p (and)s 10(this)m 11(stage)m 10(of)m 10(the)m 11(procedure)m 10(terminates.)m 14(Otherwise,)m 11(choose)m 10(the)m 10(vertex)m 11(belonging)m 10(to)m 11(the)m 10(candidate)m 10(list)m 11(that)m 10(is)m 104 1457 p (closest)s 10(to)m 11(the)m 10(root,)m 10(and)m 11(add)m 10(it)m 11(to)m 10(the)m 11(shortest-path)m 10(tree)m 10(\(removing)m 11(it)m 10(from)m 11(the)m 10(candidate)m 10(list)m 11(in)m 10(the)m 11(process\).)m 14(Note)m 104 1507 p (that)s 10(when)m 11(there)m 10(is)m 10 r 97 c 11(choice)m 10(of)m 11(vertices)m 10(closest)m 11(to)m 10(the)m 10(root,)m 11(network)m 10(vertices)m 11(must)m 10(be)m 10(chosen)m 11(before)m 10(router)m 104 1557 p (vertices)s 10(in)m 11(order)m 10(to)m 10(necessarily)m 11(\014nd)m 10(all)m 11(equal-cost)m 10(paths.)m 14(This)m 10(is)m 11(consistent)m 10(with)m 11(the)m 10(tie-breakers)m 10(that)m 11(were)m 104 1606 p (introduced)s 10(in)m 11(the)m 10(modi\014ed)m 10(Dijkstra)m 11(algorithm)m 10(used)m 11(by)m 10(OSPF')m -1 r 115 c 9(Multicast)m 11(routing)m 10(extensions)m 10(\(MOSPF\).)m 52 1689 p (4.)s 21(Possibly)m 10(modify)m 10(the)m 11(routing)m 10(table.)m 14(For)m 10(those)m 11(routing)m 10(table)m 11(entries)m 10(modi\014ed,)m 11(the)m 10(associated)m 10(area)m 11(will)m 10(be)m 11(set)m 10(to)m 104 1739 p (Area)s 10(A,)m 11(the)m 10(path)m 10(type)m 11(will)m 10(be)m 11(set)m 10(to)m 11(intra-area,)m 10(and)m 10(the)m 11(cost)m 10(will)m 11(be)m 10(set)m 10(to)m 11(the)m 10(newly)m 11(discovered)m 10(shortest)m 11(path')m -2 r 115 c 104 1789 p (calculated)s 10(distance.)m 104 1855 p (If)s 10(the)m 11(newly)m 10(added)m 10(vertex)m 11(is)m 10(an)m 11(area)m 10(border)m 11(router)m 10(\(call)m 10(it)m 11(ABR\),)m 10 r 97 c 11(routing)m 10(table)m 10(entry)m 11(is)m 10(added)m 11(whose)m 104 1905 p (destination)s 10(type)m 10(is)m 10(\\area)m 10(border)m 10(router)m 1(".)m 14(The)m t-bol.300 @sf 10(Options)m t-rom.300 @sf 10(\014eld)m 10(found)m 10(in)m 10(the)m 10(associated)m 10(router)m 10(links)m 10(advertisement)m 10(is)m 104 1955 p (copied)s 10(into)m 11(the)m 10(routing)m 10(table)m 11(entry')m -1 r 115 c t-bol.300 @sf 9(Optional)m 10(capabilities)m t-rom.300 @sf 11(\014eld.)m 14(If)m 10(in)m 11(addition)m 10(ABR)m 10(is)m 11(the)m 10(endpoint)m 11(of)m 10(one)m 10(of)m 104 2005 p (the)s 10(calculating)m 11(router)m 1 r 39 c -1 r 115 c 9(con\014gured)m 11(virtual)m 10(links)m 11(that)m 10(uses)m 10(Area)m 11 r 65 c 10(as)m 11(its)m 10 r 84 c (ransit)s 9(area:)m 14(the)m 10(virtual)m 11(link)m 10(is)m 11(declared)m 104 2055 p (up,)s 10(the)m 11(IP)m 10(address)m 10(of)m 11(the)m 10(virtual)m 11(interface)m 10(is)m 11(set)m 10(to)m 10(the)m 11(IP)m 10(address)m 11(of)m 10(the)m 10(outgoing)m 11(interface)m 10(calculated)m 11(above)m 10(for)m 104 2105 p (ABR,)s 10(and)m 11(the)m 10(virtual)m 10(neighbor)m 2 r 39 c -1 r 115 c 9(IP)m 11(address)m 10(is)m 10(set)m 11(to)m 10(the)m 11(ABR)m 10(interface)m 10(address)m 11(\(contained)m 10(in)m 11(ABR')m -2 r 115 c 10(router)m 104 2154 p (links)s 10(advertisement\))m 11(that)m 10(points)m 10(back)m 11(to)m 10(the)m 11(root)m 10(of)m 11(the)m 10(shortest-path)m 10(tree;)m 11(equivalently)m -2 r 44 c 9(this)m 11(is)m 10(the)m 11(interface)m 10(that)m 104 2204 p (points)s 10(back)m 11(to)m 10(ABR')m -1 r 115 c 9(parent)m 11(vertex)m 10(on)m 10(the)m 11(shortest-path)m 10(tree)m 11(\(similar)m 10(to)m 10(the)m 11(calculation)m 10(in)m 11(Section)m 10(16.1.1\).)m 104 2271 p (If)s 10(the)m 11(newly)m 10(added)m 10(vertex)m 11(is)m 10(an)m 11(AS)m 10(boundary)m 11(router)m -1 r 44 c 9(the)m 11(routing)m 10(table)m 11(entry)m 10(of)m 10(type)m 11(\\AS)m 10(boundary)m 11(router)m 1 r 34 c 11(for)m 104 2320 p (the)s 10(destination)m 11(is)m 10(located.)m 14(Since)m 10(routers)m 11(can)m 10(belong)m 11(to)m 10(more)m 10(than)m 11(one)m 10(area,)m 11(it)m 10(is)m 10(possible)m 11(that)m 10(several)m 11(sets)m 10(of)m 104 2370 p (intra-area)s 10(paths)m 11(exist)m 10(to)m 10(the)m 11(AS)m 10(boundary)m 11(router)m -1 r 44 c 9(each)m 11(set)m 10(using)m 11 r 97 c 10(dif)m (ferent)s 10(area.)m 14(However)m -1 r 44 c 9(the)m 11(AS)m 10(boundary)m 104 2420 p (router)s 1 r 39 c -1 r 115 c 9(routing)m 11(table)m 10(entry)m 11(must)m 10(indicate)m 11 r 97 c 10(set)m 10(of)m 11(paths)m 10(which)m 11(utilize)m 10 r 97 c 10(single)m 11(area.)m 14(The)m 10(area)m 11(leading)m 10(to)m 10(the)m 104 2470 p (routing)s 10(table)m 11(entry)m 10(is)m 10(selected)m 11(as)m 10(follows:)m 14(The)m 11(area)m 10(providing)m 10(the)m 11(shortest)m 10(path)m 11(is)m 10(always)m 10(chosen;)m 11(if)m 10(more)m 11(than)m 0 2505 p 780 2 ru t-rom.180 @sf 33 2533 p (22)s t-rom.240 @sf 60 2545 p (Note)s 8(that)m 8(the)m 8(presence)m 8(of)m 9(any)m 8(link)m 8(back)m 8(to)m 8 r 86 c 8(is)m 8(suf)m (\014cient;)s 8(it)m 8(need)m 8(not)m 8(be)m 8(the)m 8(matching)m 8(half)m 8(of)m 9(the)m 8(link)m 8(under)m 8(consideration)m 8(from)m 8 r 86 c 8(to)m 8(W.)m 11(This)m 8(is)m 0 2584 p (enough)s 8(to)m 9(ensure)m 8(that,)m 8(before)m 9(data)m 8(traf)m (\014c)s 8(\015ows)m 8(between)m 8 r 97 c 9(pair)m 8(of)m 8(neighboring)m 9(routers,)m 8(their)m 8(link)m 9(state)m 8(databases)m 8(will)m 9(be)m 8(synchronized.)m t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(87])m @eop 88 @bop0 88 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 104 195 p (one)s 10(area)m 11(provides)m 10(paths)m 10(with)m 11(the)m 10(same)m 11(minimum)m 10(cost,)m 11(the)m 10(area)m 10(with)m 11(the)m 10(lar)m (gest)s 10(OSPF)m 10(Area)m 11(ID)m 10(\(when)m 104 245 p (considered)s 10(as)m 11(an)m 10(unsigned)m 10(32-bit)m 11(integer\))m 10(is)m 11(chosen.)m 14(Note)m 10(that)m 10(whenever)m 11(an)m 10(AS)m 11(boundary)m 10(router)m 2 r 39 c -2 r 115 c 10(routing)m 10(table)m 104 295 p (entry)s 10(is)m 11(added/modi\014ed,)m 10(the)m t-bol.300 @sf 10(Options)m t-rom.300 @sf 11(found)m 10(in)m 11(the)m 10(associated)m 11(router)m 10(links)m 10(advertisement)m 11(is)m 10(copied)m 11(into)m 10(the)m 104 345 p (routing)s 10(table)m 11(entry')m -2 r 115 c t-bol.300 @sf 10(Optional)m 10(capabilities)m t-rom.300 @sf 11(\014eld.)m 104 411 p (If)s 10(the)m 11(newly)m 10(added)m 10(vertex)m 11(is)m 10 r 97 c 11(transit)m 10(network,)m 11(the)m 10(routing)m 10(table)m 11(entry)m 10(for)m 11(the)m 10(network)m 10(is)m 11(located.)m 14(The)m 10(entry')m -1 r 115 c 104 461 p (Destination)s 10(ID)m 11(is)m 10(the)m 10(IP)m 11(network)m 10(number)m 44 c 9(which)m 10(can)m 11(be)m 10(obtained)m 11(by)m 10(masking)m 11(the)m t-bol.300 @sf 10 r 86 c -3(ertex)m 10(ID)m t-rom.300 @sf 10(\(Link)m 10(State)m 11(ID\))m 104 511 p (with)s 10(its)m 11(associated)m 10(subnet)m 10(mask)m 11(\(found)m 10(in)m 11(the)m 10(body)m 11(of)m 10(the)m 10(associated)m 11(network)m 10(links)m 11(advertisement\).)m 13(If)m 11(the)m 104 560 p (routing)s 10(table)m 11(entry)m 10(already)m 10(exists)m 11(\(i.e.,)m 10(there)m 11(is)m 10(already)m 11(an)m 10(intra-area)m 10(route)m 11(to)m 10(the)m 11(destination)m 10(installed)m 10(in)m 11(the)m 104 610 p (routing)s 10(table\),)m 11(multiple)m 10(vertices)m 10(have)m 11(mapped)m 10(to)m 10(the)m 11(same)m 10(IP)m 11(network.)m 13(For)m 11(example,)m 10(this)m 11(can)m 10(occur)m 10(when)m 11 r 97 c 10(new)m 104 660 p (Designated)s 10(Router)m 11(is)m 10(being)m 10(established.)m 14(In)m 11(this)m 10(case,)m 11(the)m 10(current)m 10(routing)m 11(table)m 10(entry)m 11(should)m 10(be)m 10(overwritten)m 11(if)m 104 710 p (and)s 10(only)m 11(if)m 10(the)m 10(newly)m 11(found)m 10(path)m 11(is)m 10(just)m 11(as)m 10(short)m 10(and)m 11(the)m 10(current)m 11(routing)m 10(table)m 10(entry')m -1 r 115 c t-bol.300 @sf 10(Link)m 10(State)m 10(Origin)m t-rom.300 @sf 11(has)m 10 r 97 c 104 760 p (smaller)s 10(Link)m 11(State)m 10(ID)m 10(than)m 11(the)m 10(newly)m 11(added)m 10(vertex')m t-bol.300 @sf 11(link)m 10(state)m 10(advertisement)m t-rom.300 @sf 46 c 104 826 p (If)s 10(there)m 11(is)m 10(no)m 10(routing)m 11(table)m 10(entry)m 11(for)m 10(the)m 11(network)m 10(\(the)m 10(usual)m 11(case\),)m 10 r 97 c 11(routing)m 10(table)m 10(entry)m 11(for)m 10(the)m 11(IP)m 10(network)m 104 876 p (should)s 10(be)m 11(added.)m 13(The)m 11(routing)m 10(table)m 11(entry')m -2 r 115 c t-bol.300 @sf 10(Link)m 10(State)m 11(Origin)m t-rom.300 @sf 10(should)m 11(be)m 10(set)m 10(to)m 11(the)m 10(newly)m 11(added)m 10(vertex')m t-bol.300 @sf 10(link)m 104 926 p (state)s 10(advertisement)m t-rom.300 @sf 46 c 52 1009 p (5.)s 21(Iterate)m 10(the)m 10(algorithm)m 11(by)m 10(returning)m 11(to)m 10(Step)m 10(2.)m 0 1118 p (The)s 10(stub)m 11(networks)m 10(are)m 11(added)m 10(to)m 10(the)m 11(tree)m 10(in)m 11(the)m 10(procedure')m -1 r 115 c 9(second)m 11(stage.)m 14(In)m 10(this)m 10(stage,)m 11(all)m 10(router)m 11(vertices)m 10(are)m 11(again)m 0 1167 p (examined.)s 14(Those)m 10(that)m 11(have)m 10(been)m 11(determined)m 10(to)m 10(be)m 11(unreachable)m 10(in)m 11(the)m 10(above)m 10(\014rst)m 11(phase)m 10(are)m 11(discarded.)m 14(For)m 10(each)m 0 1217 p (reachable)s 10(router)m 11(vertex)m 10(\(call)m 11(it)m 10(V\),)m 10(the)m 11(associated)m 10(router)m 11(links)m 10(advertisement)m 11(is)m 10(found)m 10(in)m 11(the)m 10(link)m 11(state)m 10(database.)m 14(Each)m 0 1267 p (stub)s 10(network)m 11(link)m 10(appearing)m 11(in)m 10(the)m 10(advertisement)m 11(is)m 10(then)m 11(examined,)m 10(and)m 11(the)m 10(following)m 10(steps)m 11(are)m 10(executed:)m 52 1376 p (1.)s 21(Calculate)m 10(the)m 10(distance)m 11 r 68 c 10(of)m 11(stub)m 10(network)m 10(from)m 11(the)m 10(root.)m 14 r 68 c 11(is)m 10(equal)m 10(to)m 11(the)m 10(distance)m 11(from)m 10(the)m 10(root)m 11(to)m 10(the)m 11(router)m 104 1426 p (vertex)s 10(\(calculated)m 10(in)m 10(stage)m 11(1\),)m 10(plus)m 10(the)m 10(stub)m 11(network)m 10(link')m -1 r 115 c 9(advertised)m 10(cost.)m 14(Compare)m 10(this)m 10(distance)m 11(to)m 10(the)m 10(current)m 104 1476 p (best)s 10(cost)m 11(to)m 10(the)m 10(stub)m 11(network.)m 14(This)m 10(is)m 11(done)m 10(by)m 10(looking)m 11(up)m 10(the)m 11(stub)m 10(network')m -1 r 115 c 9(current)m 11(routing)m 10(table)m 10(entry)m -1 r 46 c 13(If)m 10(the)m 104 1525 p (calculated)s 10(distance)m 11 r 68 c 10(is)m 10(lar)m (ger)s -1 r 44 c 9(go)m 11(on)m 10(to)m 11(examine)m 10(the)m 11(next)m 10(stub)m 10(network)m 11(link)m 10(in)m 11(the)m 10(advertisement.)m 52 1608 p (2.)s 21(If)m 10(this)m 10(step)m 11(is)m 10(reached,)m 11(the)m 10(stub)m 10(network')m -1 r 115 c 10(routing)m 10(table)m 10(entry)m 11(must)m 10(be)m 11(updated.)m 14(Calculate)m 10(the)m 10(set)m 11(of)m 10(next)m 11(hops)m 104 1658 p (that)s 10(would)m 11(result)m 10(from)m 10(using)m 11(the)m 10(stub)m 11(network)m 10(link.)m 14(This)m 10(calculation)m 11(is)m 10(shown)m 11(in)m 10(Section)m 10(16.1.1;)m 11(input)m 10(to)m 11(this)m 104 1708 p (calculation)s 10(is)m 11(the)m 10(destination)m 10(\(the)m 11(stub)m 10(network\))m 11(and)m 10(the)m 11(parent)m 10(vertex)m 10(\(the)m 11(router)m 10(vertex\).)m 14(If)m 10(the)m 11(distance)m 10 r 68 c 11(is)m 104 1758 p (the)s 10(same)m 11(as)m 10(the)m 10(current)m 11(routing)m 10(table)m 11(cost,)m 10(simply)m 11(add)m 10(this)m 10(set)m 11(of)m 10(next)m 11(hops)m 10(to)m 10(the)m 11(routing)m 10(table)m 11(entry')m -2 r 115 c 10(list)m 10(of)m 104 1808 p (next)s 10(hops.)m 14(In)m 10(this)m 11(case,)m 10(the)m 11(routing)m 10(table)m 11(already)m 10(has)m 10 r 97 c t-bol.300 @sf 11(Link)m 10(State)m 11(Origin)m t-rom.300 @sf 46 c 14(If)m 10(this)m t-bol.300 @sf 10(Link)m 11(State)m 10(Origin)m t-rom.300 @sf 11(is)m 10 r 97 c 10(router)m 104 1857 p (links)s 10(advertisement)m 11(whose)m 10(Link)m 10(State)m 11(ID)m 10(is)m 11(smaller)m 10(than)m 11(V')m -2 r 115 c 10(Router)m 10(ID,)m 10(reset)m 11(the)m t-bol.300 @sf 10(Link)m 11(State)m 10(Origin)m t-rom.300 @sf 11(to)m 10(V')m -1 r 115 c 104 1907 p (router)s 10(links)m 11(advertisement.)m 104 1974 p (Otherwise)s 10 r 68 c 11(is)m 10(smaller)m 10(than)m 11(the)m 10(routing)m 11(table)m 10(cost.)m 14(Overwrite)m 10(the)m 11(current)m 10(routing)m 11(table)m 10(entry)m 10(by)m 11(setting)m 10(the)m 104 2023 p (routing)s 10(table)m 11(entry')m -2 r 115 c 10(cost)m 10(to)m 11(D,)m 10(and)m 10(by)m 11(setting)m 10(the)m 11(entry')m -2 r 115 c 10(list)m 10(of)m 11(next)m 10(hops)m 10(to)m 11(the)m 10(newly)m 11(calculated)m 10(set.)m 14(Set)m 10(the)m 104 2073 p (routing)s 10(table)m 10(entry')m -1 r 115 c t-bol.300 @sf 9(Link)m 10(State)m 11(Origin)m t-rom.300 @sf 10(to)m 10(V')m -1 r 115 c 9(router)m 10(links)m 10(advertisement.)m 14(Then)m 11(go)m 10(on)m 10(to)m 10(examine)m 10(the)m 11(next)m 10(stub)m 104 2123 p (network)s 10(link.)m 0 2232 p (For)s 10(all)m 11(routing)m 10(table)m 10(entries)m 10(added/modi\014ed)m 11(in)m 10(the)m 10(second)m 10(stage,)m 11(the)m 10(associated)m 10(area)m 10(will)m 11(be)m 10(set)m 10(to)m 10(Area)m 11 r 65 c 10(and)m 10(the)m 10(path)m 0 2282 p (type)s 10(will)m 11(be)m 10(set)m 11(to)m 10(intra-area.)m 14(When)m 10(the)m 11(list)m 10(of)m 11(reachable)m 10(router)m 10(links)m 11(is)m 10(exhausted,)m 11(the)m 10(second)m 11(stage)m 10(is)m 10(completed.)m 14(At)m 0 2332 p (this)s 10(time,)m 11(all)m 10(intra-area)m 11(routes)m 10(associated)m 10(with)m 11(Area)m 10 r 65 c 11(have)m 10(been)m 11(determined.)m 0 2399 p (The)s 10(speci\014cation)m 11(does)m 10(not)m 11(require)m 10(that)m 10(the)m 11(above)m 10(two)m 11(stage)m 10(method)m 11(be)m 10(used)m 10(to)m 11(calculate)m 10(the)m 11(shortest)m 10(path)m 10(tree.)m 0 2449 p (However)s -1 r 44 c 10(if)m 10(another)m 11(algorithm)m 10(is)m 10(used,)m 11(an)m 10(identical)m 11(tree)m 10(must)m 10(be)m 11(produced.)m 14(For)m 10(this)m 11(reason,)m 10(it)m 10(is)m 11(important)m 10(to)m 11(note)m 10(that)m 0 2499 p (links)s 10(between)m 11(transit)m 10(vertices)m 11(must)m 10(be)m 10(bidirectional)m 11(in)m 10(ordered)m 11(to)m 10(be)m 11(included)m 10(in)m 10(the)m 11(above)m 10(tree.)m 14(It)m 11(should)m 10(also)m 10(be)m 0 2549 p (mentioned)s 10(that)m 11(more)m 10(ef)m (\014cient)s 10(algorithms)m 10(exist)m 11(for)m 10(calculating)m 11(the)m 10(tree;)m 10(for)m 11(example,)m 10(the)m 11(incremental)m 10(SPF)m 10(algorithm)m 0 2599 p (described)s 10(in)m 11([BBN].)m 0 2723 p (Moy)s 1710([Page)m 11(88])m @eop 89 @bop0 89 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (16.1.1)s 42(The)m 10(next)m 10(hop)m 11(calculation)m t-rom.300 @sf 0 288 p (This)s 10(section)m 11(explains)m 10(how)m 11(to)m 10(calculate)m 10(the)m 11(current)m 10(set)m 11(of)m 10(next)m 11(hops)m 10(to)m 10(use)m 11(for)m 10 r 97 c 11(destination.)m 14(Each)m 10(next)m 10(hop)m 11(consists)m 10(of)m 0 338 p (the)s 10(outgoing)m 11(interface)m 10(to)m 11(use)m 10(in)m 10(forwarding)m 11(packets)m 10(to)m 11(the)m 10(destination)m 11(together)m 10(with)m 10(the)m 11(next)m 10(hop)m 11(router)m 10(\(if)m 10(any\).)m 14(The)m 0 388 p (next)s 10(hop)m 11(calculation)m 10(is)m 11(invoked)m 10(each)m 10(time)m 11 r 97 c 10(shorter)m 11(path)m 10(to)m 11(the)m 10(destination)m 10(is)m 11(discovered.)m 14(This)m 10(can)m 11(happen)m 10(in)m 10(either)m 0 438 p (stage)s 10(of)m 11(the)m 10(shortest-path)m 11(tree)m 10(calculation)m 10(\(see)m 11(Section)m 10(16.1\).)m 14(In)m 11(stage)m 10 r 49 c 10(of)m 11(the)m 10(shortest-path)m 11(tree)m 10(calculation)m 11 r 97 c 10(shorter)m 0 488 p (path)s 10(is)m 11(found)m 10(as)m 11(the)m 10(destination)m 10(is)m 11(added)m 10(to)m 11(the)m 10(candidate)m 11(list,)m 10(or)m 10(when)m 11(the)m 10(destination')m -1 r 115 c 9(entry)m 11(on)m 10(the)m 11(candidate)m 10(list)m 10(is)m 0 537 p (modi\014ed)s 10(\(Step)m 10(2d)m 11(of)m 10(Stage)m 10(1\).)m 14(In)m 10(stage)m 10 r 50 c 10 r 97 c 11(shorter)m 10(path)m 10(is)m 10(discovered)m 10(each)m 10(time)m 11(the)m 10(destination')m -1 r 115 c 9(routing)m 10(table)m 10(entry)m 10(is)m 0 587 p (modi\014ed)s 10(\(Step)m 11 r 50 c 10(of)m 11(Stage)m 10(2\).)m 0 653 p (The)s 10(set)m 11(of)m 10(next)m 11(hops)m 10(to)m 10(use)m 11(for)m 10(the)m 11(destination)m 10(may)m 11(be)m 10(recalculated)m 10(several)m 11(times)m 10(during)m 11(the)m 10(shortest-path)m 10(tree)m 0 702 p (calculation,)s 10(as)m 11(shorter)m 10(and)m 11(shorter)m 10(paths)m 10(are)m 11(discovered.)m 14(In)m 10(the)m 11(end,)m 10(the)m 10(destination')m -1 r 115 c 10(routing)m 10(table)m 10(entry)m 11(will)m 10(always)m 0 752 p (re\015ect)s 10(the)m 11(next)m 10(hops)m 11(resulting)m 10(from)m 10(the)m 11(absolute)m 10(shortest)m 11(path\(s\).)m 0 817 p (Input)s 10(to)m 11(the)m 10(next)m 11(hop)m 10(calculation)m 10(is)m 11(a\))m 10(the)m 11(destination)m 10(and)m 11(b\))m 10(its)m 10(parent)m 11(in)m 10(the)m 11(current)m 10(shortest)m 10(path)m 11(between)m 10(the)m 11(root)m 0 867 p (\(the)s 10(calculating)m 11(router\))m 10(and)m 11(the)m 10(destination.)m 14(The)m 10(parent)m 11(is)m 10(always)m 11 r 97 c 10(transit)m 10(vertex)m 11(\(i.e.,)m 10(always)m 11 r 97 c 10(router)m 11(or)m 10 r 97 c 10(transit)m 0 917 p (network\).)s 0 982 p (If)s 10(there)m 11(is)m 10(at)m 11(least)m 10(one)m 10(intervening)m 11(router)m 10(in)m 11(the)m 10(current)m 11(shortest)m 10(path)m 10(between)m 11(the)m 10(destination)m 11(and)m 10(the)m 10(root,)m 11(the)m 0 1032 p (destination)s 10(simply)m 11(inherits)m 10(the)m 11(set)m 10(of)m 10(next)m 11(hops)m 10(from)m 11(the)m 10(parent.)m 14(Otherwise,)m 10(there)m 11(are)m 10(two)m 11(cases.)m 14(In)m 10(the)m 10(\014rst)m 11(case,)m 10(the)m 0 1082 p (parent)s 10(vertex)m 11(is)m 10(the)m 11(root)m 10(\(the)m 10(calculating)m 11(router)m 10(itself\).)m 14(This)m 11(means)m 10(that)m 10(the)m 11(destination)m 10(is)m 11(either)m 10 r 97 c 11(directly)m 10(connected)m 0 1132 p (network)s 10(or)m 11(directly)m 10(connected)m 11(router)m -2 r 46 c 13(The)m 11(next)m 10(hop)m 11(in)m 10(this)m 10(case)m 11(is)m 10(simply)m 11(the)m 10(OSPF)m 10(interface)m 11(connecting)m 10(to)m 11(the)m 0 1182 p (network/router;)s 10(no)m 11(next)m 10(hop)m 11(router)m 10(is)m 10(required.)m 14(If)m 11(the)m 10(connecting)m 11(OSPF)m 10(interface)m 10(in)m 11(this)m 10(case)m 11(is)m 10 r 97 c 11(virtual)m 10(link,)m 10(the)m 0 1231 p (setting)s 10(of)m 11(the)m 10(next)m 11(hop)m 10(should)m 10(be)m 11(deferred)m 10(until)m 11(the)m 10(calculation)m 11(in)m 10(Section)m 10(16.3.)m 0 1297 p (In)s 10(the)m 11(second)m 10(case,)m 11(the)m 10(parent)m 10(vertex)m 11(is)m 10 r 97 c 11(network)m 10(that)m 11(directly)m 10(connects)m 10(the)m 11(calculating)m 10(router)m 11(to)m 10(the)m 10(destination)m 0 1347 p (router)s -1 r 46 c 13(The)m 10(list)m 10(of)m 11(next)m 10(hops)m 11(is)m 10(then)m 11(determined)m 10(by)m 10(examining)m 11(the)m 10(destination')m -1 r 115 c 9(router)m 11(links)m 10(advertisement.)m 14(For)m 10(each)m 0 1396 p (link)s 10(in)m 11(the)m 10(advertisement)m 11(that)m 10(points)m 10(back)m 11(to)m 10(the)m 11(parent)m 10(network,)m 11(the)m 10(link')m -1 r 115 c 9(Link)m 11(Data)m 10(\014eld)m 10(provides)m 11(the)m 10(IP)m 11(address)m 10(of)m 0 1446 p 97 c 10(next)m 11(hop)m 10(router)m -1 r 46 c 13(The)m 10(outgoing)m 11(interface)m 10(to)m 11(use)m 10(can)m 10(then)m 11(be)m 10(derived)m 11(from)m 10(the)m 10(next)m 11(hop)m 10(IP)m 11(address)m 10(\(or)m 11(it)m 10(can)m 10(be)m 0 1496 p (inherited)s 10(from)m 11(the)m 10(parent)m 11(network\).)m t-bol.360 @sf 0 1629 p (16.2)s 50(Calculating)m 12(the)m 13(inter)m -1(-ar)m -1(ea)m 12 r 114 c (outes)s t-rom.300 @sf 0 1722 p (The)s 10(inter)m (-area)s 10(routes)m 10(are)m 11(calculated)m 10(by)m 11(examining)m 10(summary)m 10(link)m 11(advertisements.)m 14(If)m 10(the)m 11(router)m 10(has)m 10(active)m 11(attachments)m 0 1772 p (to)s 10(multiple)m 11(areas,)m 10(only)m 11(backbone)m 10(summary)m 10(link)m 11(advertisements)m 10(are)m 11(examined.)m 14(Routers)m 10(attached)m 10(to)m 11 r 97 c 10(single)m 11(area)m 0 1822 p (examine)s 10(that)m 11(area')m -1 r 115 c 9(summary)m 10(links.)m 14(In)m 11(either)m 10(case,)m 11(the)m 10(summary)m 10(links)m 11(examined)m 10(below)m 11(are)m 10(all)m 10(part)m 11(of)m 10 r 97 c 11(single)m 10(area')m -1 r 115 c 0 1872 p (link)s 10(state)m 11(database)m 10(\(call)m 11(it)m 10(Area)m 10(A\).)m 0 1937 p (Summary)s 10(link)m 11(advertisements)m 10(are)m 11(originated)m 10(by)m 10(the)m 11(area)m 10(border)m 11(routers.)m 14(Each)m 10(summary)m 10(link)m 11(advertisement)m 10(in)m 11(Area)m 10 r 65 c 0 1987 p (is)s 10(considered)m 11(in)m 10(turn.)m 14(Remember)m 11(that)m 10(the)m 10(destination)m 11(described)m 10(by)m 11 r 97 c 10(summary)m 10(link)m 11(advertisement)m 10(is)m 11(either)m 10 r 97 c 11(network)m 0 2037 p (\(T)s -2(ype)m 9 r 51 c 11(summary)m 10(link)m 11(advertisements\))m 10(or)m 11(an)m 10(AS)m 10(boundary)m 11(router)m 10(\(T)m -2(ype)m 10 r 52 c 10(summary)m 11(link)m 10(advertisements\).)m 14(For)m 10(each)m 0 2087 p (summary)s 10(link)m 11(advertisement:)m 52 2188 p (1.)s 21(If)m 10(the)m 10(cost)m 11(speci\014ed)m 10(by)m 11(the)m 10(advertisement)m 10(is)m 11(LSIn\014nity)m -2 r 44 c 10(or)m 10(if)m 10(the)m 11(advertisement')m -1 r 115 c 9(LS)m 10(age)m 11(is)m 10(equal)m 11(to)m 10(MaxAge,)m 104 2238 p (then)s 10(examine)m 11(the)m 10(next)m 10(advertisement.)m 52 2318 p (2.)s 21(If)m 10(the)m 10(advertisement)m 11(was)m 10(originated)m 11(by)m 10(the)m 10(calculating)m 11(router)m 10(itself,)m 11(examine)m 10(the)m 11(next)m 10(advertisement.)m 52 2399 p (3.)s 21(If)m 10(the)m 10(collection)m 11(of)m 10(destinations)m 11(described)m 10(by)m 10(the)m 11(summary)m 10(link)m 11(advertisement)m 10(falls)m 11(into)m 10(one)m 10(of)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 104 2449 p (con\014gured)s t-bol.300 @sf 10(ar)m (ea)s 10(addr)m (ess)s 10(ranges)m t-rom.300 @sf 10(\(see)m 10(Section)m 11(3.5\))m 10(and)m 11(the)m 10(particular)m t-bol.300 @sf 10(ar)m (ea)s 10(addr)m (ess)s 10(range)m t-rom.300 @sf 10(is)m 11(active,)m 10(the)m 104 2499 p (summary)s 10(link)m 11(advertisement)m 10(should)m 10(be)m 11(ignored.)m 14(Active)m 10(means)m 11(that)m 10(there)m 10(are)m 11(one)m 10(or)m 11(more)m 10(reachable)m 10(\(by)m 104 2549 p (intra-area)s 10(paths\))m 11(networks)m 10(contained)m 10(in)m 11(the)m 10(area)m 11(range.)m 14(In)m 10(this)m 10(case,)m 11(all)m 10(addresses)m 11(in)m 10(the)m 10(area)m 11(range)m 10(are)m 11(assumed)m 104 2599 p (to)s 10(be)m 11(either)m 10(reachable)m 10(via)m 11(intra-area)m 10(paths,)m 11(or)m 10(else)m 11(to)m 10(be)m 10(unreachable)m 11(by)m 10(any)m 11(other)m 10(means.)m 0 2723 p (Moy)s 1710([Page)m 11(89])m @eop 90 @bop0 90 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 52 195 p (4.)s 21(Else,)m 10(call)m 10(the)m 11(destination)m 10(described)m 11(by)m 10(the)m 10(advertisement)m 11 r 78 c 10(\(for)m 11 r 84 c -2(ype)m 9 r 51 c 11(summary)m 10(links,)m 10(N')m -1 r 115 c 10(address)m 10(is)m 10(obtained)m 104 245 p (by)s 10(masking)m 11(the)m 10(advertisement')m -1 r 115 c 9(Link)m 11(State)m 10(ID)m 10(with)m 11(the)m 10(network/subnet)m 11(mask)m 10(contained)m 10(in)m 11(the)m 10(body)m 11(of)m 10(the)m 104 295 p (advertisement\),)s 10(and)m 11(the)m 10(area)m 10(border)m 11(originating)m 10(the)m 11(advertisement)m 10(BR.)m 14(Look)m 10(up)m 11(the)m 10(routing)m 11(table)m 10(entry)m 10(for)m 11(BR)m 104 345 p (having)s 10(Area)m 11 r 65 c 10(as)m 10(its)m 11(associated)m 10(area.)m 14(If)m 11(no)m 10(such)m 10(entry)m 11(exists)m 10(for)m 11(router)m 10(BR)m 10(\(i.e.,)m 11(BR)m 10(is)m 11(unreachable)m 10(in)m 11(Area)m 10(A\),)m 104 394 p (do)s 10(nothing)m 11(with)m 10(this)m 10(advertisement)m 11(and)m 10(consider)m 11(the)m 10(next)m 11(in)m 10(the)m 10(list.)m 14(Else,)m 11(this)m 10(advertisement)m 10(describes)m 11(an)m 104 444 p (inter)s (-area)s 9(path)m 11(to)m 10(destination)m 11(N,)m 10(whose)m 10(cost)m 11(is)m 10(the)m 11(distance)m 10(to)m 11(BR)m 10(plus)m 10(the)m 11(cost)m 10(speci\014ed)m 11(in)m 10(the)m 10(advertisement.)m 104 494 p (Call)s 10(the)m 11(cost)m 10(of)m 10(this)m 11(inter)m (-area)s 9(path)m 11(IAC.)m 52 577 p (5.)s 21(Next,)m 10(look)m 10(up)m 11(the)m 10(routing)m 11(table)m 10(entry)m 10(for)m 11(the)m 10(destination)m 11(N.)m 10(\(The)m 11(entry')m -2 r 115 c 10(Destination)m 10 r 84 c -2(ype)m 10(is)m 10(either)m 10(Network)m 11(or)m 104 627 p (AS)s 10(boundary)m 11(router)m -2(.\))m 13(If)m 11(no)m 10(entry)m 10(exists)m 11(for)m 10 r 78 c 11(or)m 10(if)m 11(the)m 10(entry')m -1 r 115 c 9(path)m 10(type)m 11(is)m 10(\\type)m 11 r 49 c 10(external")m 11(or)m 10(\\type)m 10 r 50 c 104 677 p (external",)s 10(then)m 11(install)m 10(the)m 10(inter)m (-area)s 10(path)m 10(to)m 11(N,)m 10(with)m 11(associated)m 10(area)m 11(Area)m 10(A,)m 10(cost)m 11(IAC,)m 10(next)m 11(hop)m 10(equal)m 10(to)m 11(the)m 10(list)m 104 726 p (of)s 10(next)m 11(hops)m 10(to)m 10(router)m 11(BR,)m 10(and)m 11(Advertising)m 10(router)m 11(equal)m 10(to)m 10(BR.)m 52 809 p (6.)s 21(Else,)m 10(if)m 10(the)m 11(paths)m 10(present)m 11(in)m 10(the)m 10(table)m 11(are)m 10(intra-area)m 11(paths,)m 10(do)m 11(nothing)m 10(with)m 10(the)m 11(advertisement)m 10(\(intra-area)m 11(paths)m 104 859 p (are)s 10(always)m 11(preferred\).)m 52 942 p (7.)s 21(Else,)m 10(the)m 10(paths)m 11(present)m 10(in)m 11(the)m 10(routing)m 10(table)m 11(are)m 10(also)m 11(inter)m (-area)s 9(paths.)m 14(Install)m 11(the)m 10(new)m 10(path)m 11(through)m 10(BR)m 11(if)m 10(it)m 10(is)m 104 992 p (cheaper)s -1 r 44 c 10(overriding)m 10(the)m 10(paths)m 11(in)m 10(the)m 11(routing)m 10(table.)m 14(Otherwise,)m 10(if)m 11(the)m 10(new)m 11(path)m 10(is)m 10(the)m 11(same)m 10(cost,)m 11(add)m 10(it)m 10(to)m 11(the)m 10(list)m 104 1042 p (of)s 10(paths)m 11(that)m 10(appear)m 10(in)m 11(the)m 10(routing)m 11(table)m 10(entry)m -2 r 46 c t-bol.360 @sf 0 1179 p (16.3)s 50(Examining)m 12(transit)m 13(ar)m (eas')s 12(summary)m 12(links)m t-rom.300 @sf 0 1274 p (This)s 10(step)m 11(is)m 10(only)m 11(performed)m 10(by)m 10(area)m 11(border)m 10(routers)m 11(attached)m 10(to)m 11(one)m 10(or)m 10(more)m 11(transit)m 10(areas.)m 14 r 84 c (ransit)s 9(areas)m 11(are)m 10(those)m 10(areas)m 0 1324 p (supporting)s 10(one)m 11(or)m 10(more)m 11(virtual)m 10(links;)m 10(their)m t-bol.300 @sf 11 r 84 c -2(ransitCapability)m t-rom.300 @sf 9(parameter)m 11(has)m 10(been)m 10(set)m 11(to)m 10(TRUE)m 11(in)m 10(Step)m 11 r 50 c 10(of)m 10(the)m 0 1374 p (Dijkstra)s 10(algorithm)m 11(\(see)m 10(Section)m 11(16.1\).)m 14(They)m 10(are)m 10(the)m 11(only)m 10(non-backbone)m 11(areas)m 10(that)m 10(can)m 11(carry)m 10(data)m 11(traf)m (\014c)s 9(that)m 11(neither)m 0 1424 p (originates)s 10(nor)m 11(terminates)m 10(in)m 11(the)m 10(area)m 10(itself.)m 0 1491 p (The)s 10(purpose)m 11(of)m 10(the)m 11(calculation)m 10(below)m 10(is)m 11(to)m 10(examine)m 11(the)m 10(transit)m 11(areas)m 10(to)m 10(see)m 11(whether)m 10(they)m 11(provide)m 10(any)m 10(better)m 11(\(shorter\))m 0 1541 p (paths)s 10(than)m 11(the)m 10(paths)m 11(previously)m 10(calculated)m 10(in)m 11(Sections)m 10(16.1)m 11(and)m 10(16.2.)m 14(Any)m 10(paths)m 11(found)m 10(that)m 11(are)m 10(better)m 11(than)m 10(or)m 10(equal)m 11(to)m 0 1591 p (previously)s 10(discovered)m 11(paths)m 10(are)m 11(installed)m 10(in)m 10(the)m 11(routing)m 10(table.)m 0 1659 p (The)s 10(calculation)m 11(proceeds)m 10(as)m 11(follows.)m 14(All)m 10(the)m 10(transit)m 11(areas')m 10(summary)m 11(link)m 10(advertisements)m 10(are)m 11(examined)m 10(in)m 11(turn.)m 14(Each)m 0 1708 p (such)s 10(summary)m 11(link)m 10(advertisement)m 11(describes)m 10 r 97 c 10(route)m 11(through)m 10 r 97 c 11(transit)m 10(area)m 11(Area)m 10 r 65 c 10(to)m 11 r 97 c 10(Network)m 11 r 78 c 10(\(N')m -1 r 115 c 9(address)m 11(is)m 0 1758 p (obtained)s 10(by)m 11(masking)m 10(the)m 11(advertisement')m -2 r 115 c 10(Link)m 10(State)m 11(ID)m 10(with)m 10(the)m 11(network/subnet)m 10(mask)m 11(contained)m 10(in)m 11(the)m 10(body)m 10(of)m 11(the)m 0 1808 p (advertisement\))s 10(or)m 10(in)m 10(the)m 10(case)m 10(of)m 10 r 97 c 9 r 84 c -1(ype)m 8 r 52 c 10(summary)m 10(link)m 10(advertisement,)m 10(to)m 10(an)m 10(AS)m 10(boundary)m 10(router)m 10(N.)m 10(Suppose)m 10(also)m 10(that)m 0 1858 p (the)s 10(summary)m 11(link)m 10(advertisement)m 11(was)m 10(originated)m 10(by)m 11(an)m 10(area)m 11(border)m 10(router)m 11(BR.)m 52 1959 p (1.)s 21(If)m 9(the)m 10(cost)m 10(advertised)m 10(by)m 10(the)m 10(summary)m 10(link)m 10(advertisement)m 10(is)m 10(LSIn\014nity)m -2 r 44 c 9(or)m 10(if)m 10(the)m 10(advertisement')m -1 r 115 c 9(LS)m 10(age)m 10(is)m 9(equal)m 104 2009 p (to)s 10(MaxAge,)m 11(then)m 10(examine)m 10(the)m 11(next)m 10(advertisement.)m 52 2092 p (2.)s 21(If)m 10(the)m 10(summary)m 11(link)m 10(advertisement)m 11(was)m 10(originated)m 10(by)m 11(the)m 10(calculating)m 11(router)m 10(itself,)m 11(examine)m 10(the)m 10(next)m 104 2141 p (advertisement.)s 52 2224 p (3.)s 21(Look)m 10(up)m 10(the)m 11(routing)m 10(table)m 11(entry)m 10(for)m 10(N.)m 11(If)m 10(it)m 11(does)m 10(not)m 11(exist,)m 10(or)m 10(if)m 11(the)m 10(route)m 11(type)m 10(is)m 10(other)m 11(than)m 10(intra-area)m 11(or)m 104 2274 p (inter)s (-area,)s 9(or)m 11(if)m 10(the)m 11(area)m 10(associated)m 10(with)m 11(the)m 10(routing)m 11(table)m 10(entry)m 11(is)m 10(not)m 10(the)m 11(backbone)m 10(area,)m 11(then)m 10(examine)m 10(the)m 11(next)m 104 2324 p (advertisement.)s 14(In)m 10(other)m 10(words,)m 11(this)m 10(calculation)m 11(only)m 10(updates)m 11(backbone)m 10(intra-area)m 10(routes)m 11(found)m 10(in)m 11(Section)m 10(16.1)m 104 2374 p (and)s 10(inter)m (-area)s 10(routes)m 10(found)m 11(in)m 10(Section)m 10(16.2.)m 52 2457 p (4.)s 21(Look)m 10(up)m 10(the)m 11(routing)m 10(table)m 11(entry)m 10(for)m 10(the)m 11(advertising)m 10(router)m 11(BR)m 10(associated)m 11(with)m 10(the)m 10(Area)m 11(A.)m 10(If)m 11(it)m 10(is)m 10(unreachable,)m 104 2507 p (examine)s 10(the)m 11(next)m 10(advertisement.)m 14(Otherwise,)m 10(the)m 11(cost)m 10(to)m 11(destination)m 10 r 78 c 10(is)m 11(the)m 10(sum)m 11(of)m 10(the)m 10(cost)m 11(in)m 10(BR')m -1 r 115 c 9(Area)m 11 r 65 c 104 2557 p (routing)s 10(table)m 11(entry)m 10(and)m 10(the)m 11(cost)m 10(advertised)m 11(in)m 10(the)m 11(advertisement.)m 13(Call)m 11(this)m 10(cost)m 11(IAC.)m 0 2723 p (Moy)s 1710([Page)m 11(90])m @eop 91 @bop0 91 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 199 p 30785863 19702948 2105016 24405032 33417134 44731596 startTexFig %!PS-Adobe-1.0 %%Title: figure17.fig %%Creator: f2ps %%CreationDate: Mon Nov 12 03:50:39 1990 %%For: jmoy@winston (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 32 371 508 680 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth newpath 497.000 373.955 10.045 -174.545 -5.455 arcn stroke newpath 497.500 175.591 9.604 171.564 8.436 arc stroke [1 3.200000] 0 setdash % Polyline newpath 143 270 moveto 89 270 lineto stroke [] 0 setdash % Polyline newpath 508 177 moveto 508 372 lineto stroke % Polyline newpath 487 177 moveto 487 372 lineto stroke [1 3.200000] 0 setdash % Polyline newpath 400 338 moveto 485 338 lineto stroke [] 0 setdash [1 3.200000] 0 setdash % Polyline newpath 397 200 moveto 482 200 lineto stroke [] 0 setdash % Polyline newpath 264 198 moveto 358 198 lineto stroke % Polyline newpath 267 338 moveto 359 338 lineto stroke % Polyline newpath 180 287 moveto 228 337 lineto stroke % Polyline newpath 181 254 moveto 225 199 lineto stroke [4.000000] 0 setdash % Polyline newpath 152 153 moveto 394 153 lineto 394 407 lineto 152 407 lineto closepath stroke [] 0 setdash % Polyline newpath 143 254 moveto 181 254 lineto 181 287 lineto 143 287 lineto closepath stroke % Polyline newpath 226 183 moveto 264 183 lineto 264 216 lineto 226 216 lineto closepath stroke % Polyline newpath 229 322 moveto 267 322 lineto 267 355 lineto 229 355 lineto closepath stroke % Polyline newpath 359 183 moveto 397 183 lineto 397 216 lineto 359 216 lineto closepath stroke % Polyline newpath 361 322 moveto 399 322 lineto 399 355 lineto 361 355 lineto closepath stroke newpath 188.241 265.054 moveto 181.000 269.000 lineto 185.532 262.111 lineto stroke [1 3.200000] 0 setdash % Interpolated spline newpath 181 269 moveto 206.589 245.451 218.339 235.951 228 231 curveto 246.561 221.488 292.198 211.336 312 208 curveto 319.691 206.704 330.941 205.954 357 205 curveto stroke [] 0 setdash newpath 348.932 203.294 moveto 357.000 205.000 lineto 349.079 207.291 lineto stroke /Courier findfont 12.222222 scalefont setfont 466 274 moveto 1 -1 scale (N1) show 1 -1 scale 447 258 moveto 1 -1 scale (Network) show 1 -1 scale 125 263 moveto 1 -1 scale (1) show 1 -1 scale 213 171 moveto 1 -1 scale (\(transit\)) show 1 -1 scale 237 241 moveto 1 -1 scale (Virtual link) show 1 -1 scale 135 464 moveto 1 -1 scale (Figure 17: Routing through transit areas) show 1 -1 scale 408 193 moveto 1 -1 scale (100) show 1 -1 scale 410 331 moveto 1 -1 scale (20) show 1 -1 scale 347 353 moveto 1 -1 scale (1) show 1 -1 scale 272 353 moveto 1 -1 scale (1) show 1 -1 scale 220 316 moveto 1 -1 scale (1) show 1 -1 scale 346 192 moveto 1 -1 scale (1) show 1 -1 scale 271 192 moveto 1 -1 scale (1) show 1 -1 scale 212 198 moveto 1 -1 scale (1) show 1 -1 scale 173 246 moveto 1 -1 scale (1) show 1 -1 scale 161 172 moveto 1 -1 scale (Area 1) show 1 -1 scale 150 273 moveto 1 -1 scale (RT1) show 1 -1 scale 236 204 moveto 1 -1 scale (RT2) show 1 -1 scale 238 344 moveto 1 -1 scale (RT3) show 1 -1 scale 366 205 moveto 1 -1 scale (RT4) show 1 -1 scale 368 342 moveto 1 -1 scale (RT5) show 1 -1 scale showpage $F2psEnd endTexFig 52 1611 p (5.)s 21(If)m 10(this)m 10(cost)m 11(is)m 10(less)m 11(than)m 10(the)m 10(cost)m 11(occurring)m 10(in)m 11(N')m -2 r 115 c 10(routing)m 10(table)m 11(entry)m -2 r 44 c 9(overwrite)m 11(N')m -2 r 115 c 10(list)m 10(of)m 11(next)m 10(hops)m 11(with)m 10(those)m 104 1661 p (used)s 10(for)m 10(BR,)m 11(and)m 10(set)m 10(N')m -1 r 115 c 9(routing)m 10(table)m 11(cost)m 10(to)m 10(IAC.)m 11(Else,)m 10(if)m 10(IAC)m 10(is)m 11(the)m 10(same)m 10(as)m 11(N')m -2 r 115 c 10(current)m 10(cost,)m 10(add)m 10(BR')m -1 r 115 c 9(list)m 11(of)m 104 1711 p (next)s 10(hops)m 11(to)m 10(N')m -1 r 115 c 9(list)m 11(of)m 10(next)m 10(hops.)m 14(In)m 11(any)m 10(case,)m 11(the)m 10(area)m 10(associated)m 11(with)m 10(N')m -1 r 115 c 9(routing)m 11(table)m 10(entry)m 11(must)m 10(remain)m 10(the)m 104 1761 p (backbone)s 10(area,)m 11(and)m 10(the)m 10(path)m 11(type)m 10(\(either)m 11(intra-area)m 10(or)m 11(inter)m (-area\))s 9(must)m 11(also)m 10(remain)m 10(the)m 11(same.)m 0 1868 p (It)s 10(is)m 11(important)m 10(to)m 11(note)m 10(that)m 10(the)m 11(above)m 10(calculation)m 11(never)m 10(makes)m 11(unreachable)m 10(destinations)m 10(reachable,)m 11(but)m 10(instead)m 11(just)m 0 1917 p (potentially)s 10(\014nds)m 11(better)m 10(paths)m 11(to)m 10(already)m 10(reachable)m 11(destinations.)m 14(Also,)m 10(unlike)m 11(Section)m 10(16.3)m 10(of)m 11([RFC)m 10(1247],)m 11(the)m 10(above)m 0 1967 p (calculation)s 10(installs)m 11(any)m 10(better)m 11(cost)m 10(found)m 10(into)m 11(the)m 10(routing)m 11(table)m 10(entry)m -2 r 44 c 10(from)m 10(which)m 11(it)m 10(may)m 11(be)m 10(readvertised)m 10(in)m 11(summary)m 0 2017 p (link)s 10(advertisements)m 11(to)m 10(other)m 11(areas.)m 0 2084 p (As)s 10(an)m 11(example)m 10(of)m 11(the)m 10(calculation,)m 10(consider)m 11(the)m 10(Autonomous)m 11(System)m 10(pictured)m 11(in)m 10(Figure)m 10(17.)m 14(There)m 11(is)m 10 r 97 c 11(single)m 0 2133 p (non-backbone)s 10(area)m 11(\(Area)m 10(1\))m 11(that)m 10(physically)m 10(divides)m 11(the)m 10(backbone)m 11(into)m 10(two)m 11(separate)m 10(pieces.)m 14 r 84 c -2 r 111 c 9(maintain)m 11(connectivity)m 0 2183 p (of)s 10(the)m 11(backbone,)m 10 r 97 c 11(virtual)m 10(link)m 10(has)m 11(been)m 10(con\014gured)m 11(between)m 10(Routers)m 11 r 82 c -2(T1)m 9(and)m 11 r 82 c -2(T4.)m 13(On)m 11(the)m 10(right)m 11(side)m 10(of)m 10(the)m 11(\014gure,)m 0 2233 p (Network)s 10(N1)m 11(belongs)m 10(to)m 11(the)m 10(backbone.)m 14(The)m 10(dotted)m 11(lines)m 10(indicate)m 11(that)m 10(there)m 10(is)m 11 r 97 c 10(much)m 11(shorter)m 10(intra-area)m 11(backbone)m 10(path)m 0 2283 p (between)s 10(router)m 11 r 82 c -2(T5)m 10(and)m 10(Network)m 11(N1)m 10(\(cost)m 10(20\))m 11(than)m 10(there)m 11(is)m 10(between)m 10(Router)m 11 r 82 c -2(T4)m 10(and)m 10(Network)m 11(N1)m 10(\(cost)m 10(100\).)m 14(Both)m 0 2333 p (Router)s 10 r 82 c -1(T4)m 9(and)m 11(Router)m 10 r 82 c -1(T5)m 9(will)m 10(inject)m 11(summary)m 10(link)m 11(advertisements)m 10(for)m 11(Network)m 10(N1)m 10(into)m 11(Area)m 10(1.)m 0 2399 p (After)s 10(the)m 11(shortest-path)m 10(tree)m 11(has)m 10(been)m 10(calculated)m 11(for)m 10(the)m 11(backbone)m 10(in)m 11(Section)m 10(16.1,)m 10(Router)m 11 r 82 c -2(T1)m 10(\(left)m 10(end)m 11(of)m 10(the)m 10(virtual)m 0 2449 p (link\))s 10(will)m 11(have)m 10(calculated)m 11 r 97 c 10(path)m 10(through)m 11(Router)m 10 r 82 c -1(T4)m 9(for)m 11(all)m 10(data)m 10(traf)m (\014c)s 10(destined)m 11(for)m 10(Network)m 10(N1.)m 14(However)m 44 c 9(since)m 0 2499 p (Router)s 10 r 82 c -1(T5)m 9(is)m 11(so)m 10(much)m 11(closer)m 10(to)m 10(Network)m 11(N1,)m 10(all)m 11(routers)m 10(internal)m 10(to)m 11(Area)m 10 r 49 c 11(\(e.g.,)m 10(Routers)m 11 r 82 c -2(T2)m 9(and)m 11 r 82 c -2(T3\))m 10(will)m 10(forward)m 0 2549 p (their)s 10(Network)m 11(N1)m 10(traf)m (\014c)s 10(towards)m 10(Router)m 11 r 82 c -2(T5,)m 10(instead)m 10(of)m 10 r 82 c -1(T4.)m 13(And)m 10(indeed,)m 11(after)m 10(examining)m 11(Area)m 10(1')m -1 r 115 c 9(summary)m 11(link)m 0 2599 p (advertisements)s 10(by)m 11(the)m 10(above)m 11(calculation,)m 10(Router)m 10 r 82 c -1(T1)m 9(will)m 11(also)m 10(forward)m 11(Network)m 10(N1)m 10(traf)m (\014c)s 10(towards)m 11 r 82 c -2(T5.)m 13(Note)m 10(that)m 11(in)m 0 2723 p (Moy)s 1710([Page)m 11(91])m @eop 92 @bop0 92 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (this)s 10(example)m 11(the)m 10(virtual)m 11(link)m 10(enables)m 10(Network)m 11(N1)m 10(traf)m (\014c)s 10(to)m 10(be)m 11(forwarded)m 10(through)m 11(the)m 10(transit)m 10(area)m 11(Area)m 10(1,)m 11(but)m 10(the)m 0 245 p (actual)s 10(path)m 10(the)m 10(data)m 9(traf)m (\014c)s 10(takes)m 9(does)m 10(not)m 10(follow)m 10(the)m 10(virtual)m 10(link.)m 13(In)m 10(other)m 10(words,)m 10(virtual)m 10(links)m 10(allow)m 10(transit)m 10(traf)m (\014c)s 9(to)m 9(be)m 0 295 p (forwarded)s 10(through)m 11(an)m 10(area,)m 11(but)m 10(do)m 10(not)m 11(dictate)m 10(the)m 11(precise)m 10(path)m 11(that)m 10(the)m 10(traf)m (\014c)s 10(will)m 10(take.)m t-bol.360 @sf 0 431 p (16.4)s 50(Calculating)m 12(AS)m 13(external)m 12 r 114 c (outes)s t-rom.300 @sf 0 527 p (AS)s 10(external)m 11(routes)m 10(are)m 11(calculated)m 10(by)m 10(examining)m 11(AS)m 10(external)m 11(link)m 10(advertisements.)m 14(Each)m 10(of)m 11(the)m 10(AS)m 11(external)m 10(link)m 0 577 p (advertisements)s 10(is)m 9(considered)m 10(in)m 9(turn.)m 14(Most)m 9(AS)m 10(external)m 9(link)m 10(advertisements)m 9(describe)m 10(routes)m 9(to)m 10(speci\014c)m 9(IP)m 10(destinations.)m 0 627 p (An)s 10(AS)m 11(external)m 10(link)m 11(advertisement)m 10(can)m 10(also)m 11(describe)m 10 r 97 c 11(default)m 10(route)m 11(for)m 10(the)m 10(Autonomous)m 11(System)m 10(\(Destination)m 11(ID)m cmr10.300 @sf 10 r 61 c t-rom.300 @sf 0 676 p (DefaultDestination,)s 10(network/subnet)m 11(mask)m cmr10.300 @sf 10 r 61 c c-med.300 @sf 11(0x00000000)m t-rom.300 @sf (\).)s 14(For)m 10(each)m 10(AS)m 11(external)m 10(link)m 11(advertisement:)m 52 786 p (1.)s 21(If)m 10(the)m 10(cost)m 11(speci\014ed)m 10(by)m 11(the)m 10(advertisement)m 10(is)m 11(LSIn\014nity)m -2 r 44 c 10(or)m 10(if)m 10(the)m 11(advertisement')m -1 r 115 c 9(LS)m 10(age)m 11(is)m 10(equal)m 11(to)m 10(MaxAge,)m 104 835 p (then)s 10(examine)m 11(the)m 10(next)m 10(advertisement.)m 52 919 p (2.)s 21(If)m 10(the)m 10(advertisement)m 11(was)m 10(originated)m 11(by)m 10(the)m 10(calculating)m 11(router)m 10(itself,)m 11(examine)m 10(the)m 11(next)m 10(advertisement.)m 52 1002 p (3.)s 21(Call)m 10(the)m 10(destination)m 11(described)m 10(by)m 11(the)m 10(advertisement)m 10(N.)m 14(N')m -1 r 115 c 9(address)m 11(is)m 10(obtained)m 11(by)m 10(masking)m 11(the)m 10(advertisement')m -1 r 115 c 104 1051 p (Link)s 10(State)m 11(ID)m 10(with)m 10(the)m 11(network/subnet)m 10(mask)m 11(contained)m 10(in)m 11(the)m 10(body)m 10(of)m 11(the)m 10(advertisement.)m 14(Look)m 10(up)m 11(the)m 10(routing)m 104 1101 p (table)s 10(entry)m 11(for)m 10(the)m 10(AS)m 11(boundary)m 10(router)m 11(\(ASBR\))m 10(that)m 11(originated)m 10(the)m 10(advertisement.)m 14(If)m 11(no)m 10(entry)m 10(exists)m 11(for)m 10(router)m 104 1151 p (ASBR)s 10(\(i.e.,)m 11(ASBR)m 10(is)m 10(unreachable\),)m 11(do)m 10(nothing)m 11(with)m 10(this)m 11(advertisement)m 10(and)m 10(consider)m 11(the)m 10(next)m 11(in)m 10(the)m 10(list.)m 104 1217 p (Else,)s 10(this)m 11(advertisement)m 10(describes)m 10(an)m 11(AS)m 10(external)m 11(path)m 10(to)m 11(destination)m 10(N.)m 10(Examine)m 11(the)m t-bol.300 @sf 10(forwarding)m 11(addr)m (ess)s t-rom.300 @sf 104 1267 p (speci\014ed)s 10(in)m 11(the)m 10(external)m 10(advertisement.)m 14(This)m 11(indicates)m 10(the)m 11(IP)m 10(address)m 10(to)m 11(which)m 10(packets)m 11(for)m 10(the)m 10(destination)m 104 1317 p (should)s 10(be)m 11(forwarded.)m 13(If)m t-bol.300 @sf 11(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 10(is)m 10(set)m 11(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 44 c 11(packets)m 10(should)m 10(be)m 11(sent)m 10(to)m 11(the)m 10(ASBR)m 11(itself.)m 104 1367 p (Otherwise,)s 10(look)m 11(up)m 10(the)m t-bol.300 @sf 10(forwarding)m 11(addr)m (ess)s t-rom.300 @sf 10(in)m 10(the)m 10(routing)m 11(table.)m t-rom.210 @sf 1178 1352 p (23)s t-rom.300 @sf 1223 1367 p (An)s 11(intra-area)m 10(or)m 11(inter)m (-area)s 9(path)m 11(must)m 10(exist)m 104 1417 p (to)s 10(the)m 11(forwarding)m 10(address.)m 14(If)m 10(no)m 11(such)m 10(path)m 11(exists,)m 10(do)m 10(nothing)m 11(with)m 10(the)m 11(advertisement)m 10(and)m 10(consider)m 11(the)m 10(next)m 11(in)m 104 1466 p (the)s 10(list.)m 104 1533 p (Call)s 10(the)m 11(routing)m 10(table)m 10(distance)m 11(to)m 10(the)m t-bol.300 @sf 11(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 10 r 88 c 10(\(when)m 11(the)m 10(forwarding)m 10(address)m 11(is)m 10(set)m 11(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 44 c 104 1583 p (this)s 10(is)m 11(the)m 10(distance)m 10(to)m 11(the)m 10(ASBR)m 11(itself\),)m 10(and)m 11(the)m 10(cost)m 10(speci\014ed)m 11(in)m 10(the)m 11(advertisement)m 10 r 89 c -4 r 46 c 9 r 88 c 10(is)m 11(in)m 10(terms)m 11(of)m 10(the)m 11(link)m 104 1632 p (state)s 10(metric,)m 11(and)m 10 r 89 c 10(is)m 11 r 97 c 10(type)m 11 r 49 c 10(or)m 11 r 50 c 10(external)m 10(metric.)m 52 1716 p (4.)s 21(Next,)m 10(look)m 10(up)m 11(the)m 10(routing)m 11(table)m 10(entry)m 10(for)m 11(the)m 10(destination)m 11(N.)m 10(If)m 11(no)m 10(entry)m 10(exists)m 11(for)m 10(N,)m 11(install)m 10(the)m 10(AS)m 11(external)m 10(path)m 104 1765 p (to)s 10(N,)m 11(with)m 10(next)m 10(hop)m 11(equal)m 10(to)m 11(the)m 10(list)m 11(of)m 10(next)m 10(hops)m 11(to)m 10(the)m t-bol.300 @sf 11(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 44 c 10(and)m 10(advertising)m 11(router)m 10(equal)m 10(to)m 104 1815 p (ASBR.)s 10(If)m 11(the)m 10(external)m 10(metric)m 11(type)m 10(is)m 11(1,)m 10(then)m 11(the)m 10(path-type)m 10(is)m 11(set)m 10(to)m 11(type)m 10 r 49 c 10(external)m 11(and)m 10(the)m 11(cost)m 10(is)m 11(equal)m 10(to)m 10(X+Y)m -4 r 46 c 104 1865 p (If)s 10(the)m 11(external)m 10(metric)m 10(type)m 11(is)m 10(2,)m 11(the)m 10(path-type)m 11(is)m 10(set)m 10(to)m 11(type)m 10 r 50 c 11(external,)m 10(the)m 10(link)m 11(state)m 10(component)m 11(of)m 10(the)m 11(route')m -2 r 115 c 104 1915 p (cost)s 10(is)m 11(X,)m 10(and)m 10(the)m 11(type)m 10 r 50 c 11(cost)m 10(is)m 11 r 89 c -5 r 46 c 52 1998 p (5.)s 21(Else,)m 10(if)m 10(the)m 10(paths)m 10(present)m 10(in)m 10(the)m 10(table)m 10(are)m 10(not)m 10(type)m 10 r 49 c 10(or)m 10(type)m 10 r 50 c 11(external)m 10(paths,)m 10(do)m 10(nothing)m 10(\(AS)m 10(external)m 10(paths)m 10(have)m 104 2048 p (the)s 10(lowest)m 11(priority\).)m 52 2131 p (6.)s 21(Otherwise,)m 10(compare)m 10(the)m 11(cost)m 10(of)m 11(this)m 10(new)m 10(AS)m 11(external)m 10(path)m 11(to)m 10(the)m 11(ones)m 10(present)m 10(in)m 11(the)m 10(table.)m 14 r 84 c -2(ype)m 10 r 49 c 10(external)m 104 2180 p (paths)s 10(are)m 11(always)m 10(shorter)m 10(than)m 11(type)m 10 r 50 c 11(external)m 10(paths.)m 14 r 84 c -2(ype)m 9 r 49 c 11(external)m 10(paths)m 11(are)m 10(compared)m 11(by)m 10(looking)m 10(at)m 11(the)m 10(sum)m 104 2230 p (of)s 10(the)m 11(distance)m 10(to)m 10(the)m t-bol.300 @sf 11(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 10(and)m 10(the)m 11(advertised)m 10(type)m 11 r 49 c 10(metric)m 10(\(X+Y\).)m 11 r 84 c -2(ype)m 9 r 50 c 11(external)m 10(paths)m 11(are)m 104 2280 p (compared)s 10(by)m 11(looking)m 10(at)m 10(the)m 11(advertised)m 10(type)m 11 r 50 c 10(metrics,)m 11(and)m 10(then)m 10(if)m 11(necessary)m -2 r 44 c 9(the)m 11(distance)m 10(to)m 11(the)m t-bol.300 @sf 10(forwarding)m 104 2330 p (addr)s (esses)s t-rom.300 @sf 46 c 104 2396 p (If)s 10(the)m 11(new)m 10(path)m 10(is)m 11(shorter)m -1 r 44 c 10(it)m 10(replaces)m 10(the)m 11(present)m 10(paths)m 11(in)m 10(the)m 11(routing)m 10(table)m 10(entry)m -1 r 46 c 13(If)m 10(the)m 10(new)m 11(path)m 10(is)m 11(the)m 10(same)m 104 2446 p (cost,)s 10(it)m 11(is)m 10(added)m 10(to)m 11(the)m 10(routing)m 11(table)m 10(entry')m -1 r 115 c 9(list)m 11(of)m 10(paths.)m 0 2482 p 780 2 ru t-rom.180 @sf 33 2509 p (23)s t-rom.240 @sf 60 2521 p (When)s 8(the)m t-bol.240 @sf 9(forwarding)m 8(addr)m (ess)s t-rom.240 @sf 8(is)m 8(non-zero,)m 8(it)m 9(should)m 8(point)m 8(to)m 9 r 97 c 8(router)m 8(belonging)m 9(to)m 8(another)m 8(Autonomous)m 9(System.)m 11(See)m 8(Section)m 9(12.4.5)m 8(for)m 8(more)m 0 2561 p (details.)s t-rom.300 @sf 0 2723 p (Moy)s 1710([Page)m 11(92])m @eop 93 @bop0 93 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (16.5)s 50(Incr)m (emental)s 12(updates)m 12 r 124 c 13(summary)m 12(link)m 13(advertisements)m t-rom.300 @sf 0 291 p (When)s 10 r 97 c 11(new)m 10(summary)m 11(link)m 10(advertisement)m 10(is)m 11(received,)m 10(it)m 11(is)m 10(not)m 11(necessary)m 10(to)m 10(recalculate)m 11(the)m 10(entire)m 11(routing)m 10(table.)m 14(Call)m 0 341 p (the)s 10(destination)m 11(described)m 10(by)m 11(the)m 10(summary)m 10(link)m 11(advertisement)m 10 r 78 c 11(\(N')m -2 r 115 c 10(address)m 10(is)m 11(obtained)m 10(by)m 11(masking)m 10(the)m 0 390 p (advertisement')s -1 r 115 c 9(Link)m 11(State)m 10(ID)m 10(with)m 11(the)m 10(network/subnet)m 11(mask)m 10(contained)m 10(in)m 11(the)m 10(body)m 11(of)m 10(the)m 11(advertisement\),)m 10(and)m 10(let)m 0 440 p (Area)s 10 r 65 c 11(be)m 10(the)m 11(area)m 10(to)m 10(which)m 11(the)m 10(advertisement)m 11(belongs.)m 14(There)m 10(are)m 10(then)m 11(two)m 10(separate)m 11(cases:)m t-bol.300 @sf 0 549 p (Case)s 10(1:)m 14(Ar)m (ea)s 10 r 65 c 10(is)m 11(the)m 10(backbone)m 11(and/or)m 10(the)m 10 r 114 c (outer)s 10(is)m 11(not)m 10(an)m 10(ar)m (ea)s 10(border)m 10 r 114 c (outer)s -3 r 46 c t-rom.300 @sf 20(In)m 10(this)m 10(case,)m 11(the)m 10(following)m 104 599 p (calculations)s 10(must)m 11(be)m 10(performed.)m 14(First,)m 10(if)m 11(there)m 10(is)m 11(presently)m 10(an)m 10(inter)m (-area)s 10(route)m 10(to)m 11(the)m 10(destination)m 11(N,)m 10(N')m -1 r 115 c 9(routing)m 104 649 p (table)s 10(entry)m 11(is)m 10(invalidated,)m 10(saving)m 11(the)m 10(entry')m -1 r 115 c 9(values)m 11(for)m 10(later)m 11(comparisons.)m 14(Then)m 10(the)m 10(calculation)m 11(in)m 10(Section)m 11(16.2)m 104 699 p (is)s 10(run)m 11(again)m 10(for)m 10(the)m 11(single)m 10(destination)m 11(N.)m 14(In)m 10(this)m 10(calculation,)m 11(all)m 10(of)m 11(Area)m 10 r 65 c -4 r 39 c -2 r 115 c 10(summary)m 10(link)m 10(advertisements)m 11(that)m 104 749 p (describe)s 10 r 97 c 11(route)m 10(to)m 10 r 78 c 11(are)m 10(examined.)m 14(In)m 11(addition,)m 10(if)m 10(the)m 11(router)m 10(is)m 11(an)m 10(area)m 10(border)m 11(router)m 10(attached)m 11(to)m 10(one)m 11(or)m 10(more)m 104 798 p (transit)s 10(areas,)m 11(the)m 10(calculation)m 10(in)m 11(Section)m 10(16.3)m 11(must)m 10(be)m 11(run)m 10(again)m 10(for)m 11(the)m 10(single)m 11(destination.)m 13(If)m 11(the)m 10(results)m 11(of)m 10(these)m 104 848 p (calculations)s 10(have)m 11(changed)m 10(the)m 10(cost/path)m 11(to)m 10(an)m 11(AS)m 10(boundary)m 11(router)m 10(\(as)m 10(would)m 11(be)m 10(the)m 11(case)m 10(for)m 10 r 97 c 11 r 84 c -2(ype)m 9 r 52 c 11(summary)m 104 898 p (link)s 10(advertisement\))m 11(or)m 10(to)m 10(any)m 11(forwarding)m 10(addresses,)m 11(all)m 10(AS)m 11(external)m 10(link)m 10(advertisements)m 11(will)m 10(have)m 11(to)m 10(be)m 104 948 p (reexamined)s 10(by)m 11(rerunning)m 10(the)m 10(calculation)m 11(in)m 10(Section)m 11(16.4.)m 14(Otherwise,)m 10(if)m 10 r 78 c 11(is)m 10(now)m 11(newly)m 10(unreachable,)m 10(the)m 104 998 p (calculation)s 10(in)m 11(Section)m 10(16.4)m 10(must)m 11(be)m 10(rerun)m 11(for)m 10(the)m 11(single)m 10(destination)m 10(N,)m 11(in)m 10(case)m 11(an)m 10(alternate)m 10(external)m 11(route)m 10(to)m 11 r 78 c 104 1048 p (exists.)s t-bol.300 @sf 0 1131 p (Case)s 10(2:)m 14(Ar)m (ea)s 10 r 65 c 10(is)m 11 r 97 c 10(transit)m 11(ar)m (ea)s 9(and)m 11(the)m 10 r 114 c (outer)s 10(is)m 10(an)m 11(ar)m (ea)s 9(border)m 11 r 114 c (outer)s -4 r 46 c t-rom.300 @sf 20(In)m 10(this)m 11(case,)m 10(the)m 11(following)m 10(calculations)m 104 1180 p (must)s 10(be)m 11(performed.)m 13(First,)m 11(if)m 10(N')m -1 r 115 c 9(routing)m 11(table)m 10(entry)m 11(presently)m 10(contains)m 11(one)m 10(or)m 10(more)m 11(inter)m (-area)s 9(paths)m 11(that)m 10(utilize)m 104 1230 p (the)s 10(transit)m 11(area)m 10(Area)m 10(A,)m 11(these)m 10(paths)m 11(should)m 10(be)m 11(removed.)m 13(If)m 11(this)m 10(removes)m 11(all)m 10(paths)m 10(from)m 11(the)m 10(routing)m 11(table)m 10(entry)m -2 r 44 c 104 1280 p (the)s 10(entry)m 11(should)m 10(be)m 10(invalidated.)m 14(The)m 11(entry')m -2 r 115 c 10(old)m 10(values)m 11(should)m 10(be)m 11(saved)m 10(for)m 10(later)m 11(comparisons.)m 14(Next)m 10(the)m 104 1330 p (calculation)s 10(in)m 11(Section)m 10(16.3)m 10(must)m 11(be)m 10(run)m 10(again)m 11(for)m 10(the)m 11(single)m 10(destination)m 10(N.)m 14(If)m 11(the)m 10(results)m 10(of)m 11(this)m 10(calculation)m 10(have)m 104 1380 p (caused)s 10(the)m 11(cost)m 10(to)m 10 r 78 c 11(to)m 10(increase,)m 11(the)m 10(complete)m 11(routing)m 10(table)m 10(calculation)m 11(must)m 10(be)m 11(rerun)m 10(starting)m 10(with)m 11(the)m 10(Dijkstra)m 104 1429 p (algorithm)s 10(speci\014ed)m 11(in)m 10(Section)m 10(16.1.)m 14(Otherwise,)m 11(if)m 10(the)m 10(cost/path)m 11(to)m 10(an)m 10(AS)m 11(boundary)m 10(router)m 11(\(as)m 10(would)m 10(be)m 11(the)m 10(case)m 104 1479 p (for)s 10 r 97 c 11 r 84 c -2(ype)m 9 r 52 c 11(summary)m 10(link)m 10(advertisement\))m 11(or)m 10(to)m 11(any)m 10(forwarding)m 10(addresses)m 11(has)m 10(changed,)m 11(all)m 10(AS)m 11(external)m 10(link)m 104 1529 p (advertisements)s 10(will)m 10(have)m 9(to)m 10(be)m 10(reexamined)m 10(by)m 10(rerunning)m 10(the)m 10(calculation)m 9(in)m 10(Section)m 10(16.4.)m 14(Otherwise,)m 10(if)m 10 r 78 c 10(is)m 9(now)m 104 1579 p (newly)s 10(unreachable,)m 11(the)m 10(calculation)m 10(in)m 11(Section)m 10(16.4)m 11(must)m 10(be)m 11(rerun)m 10(for)m 10(the)m 11(single)m 10(destination)m 11(N,)m 10(in)m 10(case)m 11(an)m 104 1629 p (alternate)s 10(external)m 11(route)m 10(to)m 10 r 78 c 11(exists.)m t-bol.360 @sf 0 1765 p (16.6)s 50(Incr)m (emental)s 12(updates)m 12 r 124 c 13(AS)m 12(external)m 13(link)m 12(advertisements)m t-rom.300 @sf 0 1861 p (When)s 10 r 97 c 10(new)m 10(AS)m 9(external)m 10(link)m 10(advertisement)m 10(is)m 10(received,)m 10(it)m 10(is)m 9(not)m 10(necessary)m 10(to)m 10(recalculate)m 10(the)m 10(entire)m 10(routing)m 9(table.)m 14(Call)m 0 1911 p (the)s 10(destination)m 11(described)m 10(by)m 11(the)m 10(AS)m 10(external)m 11(link)m 10(advertisement)m 11(N.)m 10(N')m -1 r 115 c 9(address)m 11(is)m 10(obtained)m 11(by)m 10(masking)m 10(the)m 0 1961 p (advertisement')s -1 r 115 c 9(Link)m 11(State)m 10(ID)m 10(with)m 11(the)m 10(network/subnet)m 11(mask)m 10(contained)m 10(in)m 11(the)m 10(body)m 11(of)m 10(the)m 11(advertisement.)m 13(If)m 11(there)m 10(is)m 0 2010 p (already)s 10(an)m 11(intra-area)m 10(or)m 11(inter)m (-area)s 9(route)m 11(to)m 10(the)m 10(destination,)m 11(no)m 10(recalculation)m 11(is)m 10(necessary)m 11(\(internal)m 10(routes)m 10(take)m 0 2060 p (precedence\).)s 0 2128 p (Otherwise,)s 10(the)m 11(procedure)m 10(in)m 11(Section)m 10(16.4)m 10(will)m 11(have)m 10(to)m 11(be)m 10(performed,)m 11(but)m 10(only)m 10(for)m 11(those)m 10(AS)m 11(external)m 10(link)m 0 2178 p (advertisements)s 10(whose)m 11(destination)m 10(is)m 11(N.)m 10(Before)m 10(this)m 11(procedure)m 10(is)m 11(performed,)m 10(the)m 11(present)m 10(routing)m 10(table)m 11(entry)m 10(for)m 11 r 78 c 0 2228 p (should)s 10(be)m 11(invalidated.)m t-bol.360 @sf 0 2364 p (16.7)s 50(Events)m 12(generated)m 13(as)m 12 r 97 c 13 r 114 c (esult)s 12(of)m 12 r 114 c (outing)s 12(table)m 12(changes)m t-rom.300 @sf 0 2460 p (Changes)s 10(to)m 11(routing)m 10(table)m 11(entries)m 10(sometimes)m 10(cause)m 11(the)m 10(OSPF)m 11(area)m 10(border)m 11(routers)m 10(to)m 10(take)m 11(additional)m 10(actions.)m 14(These)m 0 2510 p (routers)s 10(need)m 11(to)m 10(act)m 11(on)m 10(the)m 10(following)m 11(routing)m 10(table)m 11(changes:)m 0 2723 p (Moy)s 1710([Page)m 11(93])m @eop 94 @bop0 94 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21(The)m 10(cost)m 11(or)m 10(path)m 11(type)m 10(of)m 11 r 97 c 10(routing)m 10(table)m 11(entry)m 10(has)m 11(changed.)m 13(If)m 11(the)m 10(destination)m 11(described)m 10(by)m 11(this)m 10(entry)m 10(is)m 11 r 97 c 104 245 p (Network)s 10(or)m 11(AS)m 10(boundary)m 10(router)m 44 c 9(and)m 11(this)m 10(is)m 10(not)m 11(simply)m 10 r 97 c 11(change)m 10(of)m 11(AS)m 10(external)m 10(routes,)m 11(new)m 10(summary)m 11(link)m 104 295 p (advertisements)s 10(may)m 11(have)m 10(to)m 10(be)m 11(generated)m 10(\(potentially)m 11(one)m 10(for)m 11(each)m 10(attached)m 10(area,)m 11(including)m 10(the)m 11(backbone\).)m 13(See)m 104 345 p (Section)s 10(12.4.3)m 11(for)m 10(more)m 10(information.)m 14(If)m 11 r 97 c 10(previously)m 11(advertised)m 10(entry)m 10(has)m 11(been)m 10(deleted,)m 11(or)m 10(is)m 10(no)m 11(longer)m 104 394 p (advertisable)s 10(to)m 11 r 97 c 10(particular)m 10(area,)m 11(the)m 10(advertisement)m 11(must)m 10(be)m 11(\015ushed)m 10(from)m 10(the)m 11(routing)m 10(domain)m 11(by)m 10(setting)m 10(its)m 11(LS)m 104 444 p (age)s 10(to)m 11(MaxAge)m 10(and)m 10(re\015ooding)m 11(\(see)m 10(Section)m 11(14.1\).)m cmsy10.300 @sf 62 526 p 15 c t-rom.300 @sf 21 r 65 c 10(routing)m 11(table)m 10(entry)m 11(associated)m 10(with)m 11 r 97 c 10(con\014gured)m 10(virtual)m 11(link)m 10(has)m 11(changed.)m 13(The)m 11(destination)m 10(of)m 11(such)m 10 r 97 c 11(routing)m 104 576 p (table)s 10(entry)m 11(is)m 10(an)m 10(area)m 11(border)m 10(router)m -1 r 46 c 13(The)m 10(change)m 11(indicates)m 10 r 97 c 11(modi\014cation)m 10(to)m 10(the)m 11(virtual)m 10(link')m -1 r 115 c 9(cost)m 11(or)m 10(viability)m -2 r 46 c 104 642 p (If)s 10(the)m 11(entry)m 10(indicates)m 10(that)m 11(the)m 10(area)m 11(border)m 10(router)m 11(is)m 10(newly)m 10(reachable)m 11(\(via)m 10 r 84 c (OS)s 10(0\),)m 10(the)m 11(corresponding)m 10(virtual)m 11(link)m 104 692 p (is)s 10(now)m 11(operational.)m 13(An)m t-bol.300 @sf 11(InterfaceUp)m t-rom.300 @sf 10(event)m 11(should)m 10(be)m 11(generated)m 10(for)m 10(the)m 11(virtual)m 10(link,)m 11(which)m 10(will)m 10(cause)m 11 r 97 c 10(virtual)m 104 742 p (adjacency)s 10(to)m 10(begin)m 10(to)m 10(form)m 10(\(see)m 11(Section)m 10(10.3\).)m 13(At)m 11(this)m 10(time)m 10(the)m 10(virtual)m 10(link')m -1 r 115 c 9(IP)m 10(interface)m 10(address)m 10(and)m 10(the)m 10(virtual)m 104 792 p (neighbor)s 1 r 39 c -1 r 115 c 9(Neighbor)m 11(IP)m 10(address)m 11(are)m 10(also)m 11(calculated.)m 104 858 p (If)s 10(the)m 11(entry)m 10(indicates)m 10(that)m 11(the)m 10(area)m 11(border)m 10(router)m 11(is)m 10(no)m 10(longer)m 11(reachable)m 10(\(via)m 11 r 84 c (OS)s 9(0\),)m 11(the)m 10(virtual)m 11(link)m 10(and)m 10(its)m 104 908 p (associated)s 10(adjacency)m 11(should)m 10(be)m 10(destroyed.)m 14(This)m 11(means)m 10(an)m t-bol.300 @sf 11(InterfaceDown)m t-rom.300 @sf 10(event)m 10(should)m 11(be)m 10(generated)m 11(for)m 10(the)m 104 957 p (associated)s 10(virtual)m 11(link.)m 104 1023 p (If)s 10(the)m 11(cost)m 10(of)m 10(the)m 11(entry)m 10(has)m 11(changed,)m 10(and)m 11(there)m 10(is)m 10 r 97 c 11(fully)m 10(established)m 11(virtual)m 10(adjacency)m -2 r 44 c 10 r 97 c 10(new)m 11(router)m 10(links)m 104 1073 p (advertisement)s 10(for)m 11(the)m 10(backbone)m 10(must)m 11(be)m 10(originated.)m 14(This)m 11(in)m 10(turn)m 10(may)m 11(cause)m 10(further)m 11(routing)m 10(table)m 10(changes.)m t-bol.360 @sf 0 1209 p (16.8)s 50(Equal-cost)m 12(multipath)m t-rom.300 @sf 0 1304 p (The)s 10(OSPF)m 11(protocol)m 10(maintains)m 11(multiple)m 10(equal-cost)m 10(routes)m 11(to)m 10(all)m 11(destinations.)m 14(This)m 10(can)m 10(be)m 11(seen)m 10(in)m 11(the)m 10(steps)m 11(used)m 10(above)m 0 1353 p (to)s 10(calculate)m 11(the)m 10(routing)m 11(table,)m 10(and)m 10(in)m 11(the)m 10(de\014nition)m 11(of)m 10(the)m 11(routing)m 10(table)m 10(structure.)m 0 1420 p (Each)s 10(one)m 11(of)m 10(the)m 11(multiple)m 10(routes)m 10(will)m 11(be)m 10(of)m 11(the)m 10(same)m 11(type)m 10(\(intra-area,)m 10(inter)m (-area,)s 10(type)m 10 r 49 c 11(external)m 10(or)m 11(type)m 10 r 50 c 10(external\),)m 0 1470 p (cost,)s 10(and)m 11(will)m 10(have)m 11(the)m 10(same)m 10(associated)m 11(area.)m 14(However)m -1 r 44 c 10(each)m 10(route)m 10(speci\014es)m 11 r 97 c 10(separate)m 11(next)m 10(hop)m 10(and)m 11(Advertising)m 0 1520 p (router)s -1 r 46 c 0 1587 p (There)s 10(is)m 11(no)m 10(requirement)m 11(that)m 10 r 97 c 10(router)m 11(running)m 10(OSPF)m 11(keep)m 10(track)m 11(of)m 10(all)m 10(possible)m 11(equal-cost)m 10(routes)m 11(to)m 10 r 97 c 10(destination.)m 14(An)m 0 1637 p (implementation)s 10(may)m 11(choose)m 10(to)m 11(keep)m 10(only)m 10 r 97 c 11(\014xed)m 10(number)m 11(of)m 10(routes)m 11(to)m 10(any)m 10(given)m 11(destination.)m 14(This)m 10(does)m 11(not)m 10(af)m (fect)s 10(any)m 0 1686 p (of)s 10(the)m 11(algorithms)m 10(presented)m 11(in)m 10(this)m 10(speci\014cation.)m t-bol.360 @sf 0 1822 p (16.9)s 50(Building)m 12(the)m 13(non-zer)m (o-T)s -1(OS)m 12(portion)m 12(of)m 13(the)m 12 r 114 c (outing)s 12(table)m t-rom.300 @sf 0 1917 p (The)s 10(OSPF)m 11(protocol)m 10(can)m 11(calculate)m 10 r 97 c 10(dif)m (ferent)s 10(set)m 11(of)m 10(routes)m 10(for)m 11(each)m 10(IP)m 11 r 84 c (OS)s 9(\(see)m 11(Section)m 10(2.4\).)m 14(Support)m 10(for)m 11 r 84 c (OS-based)s 0 1967 p (routing)s 10(is)m 11(optional.)m 14 r 84 c (OS-capable)s 9(and)m 11(non-T)m (OS-capable)s 9(routers)m 11(can)m 10(be)m 11(mixed)m 10(in)m 11(an)m 10(OSPF)m 10(routing)m 11(domain.)m 14(Routers)m 0 2016 p (not)s 10(supporting)m 10 r 84 c (OS)s 9(calculate)m 11(only)m 10(the)m 10 r 84 c (OS)s 9 r 48 c 10(route)m 10(to)m 10(each)m 10(destination.)m 14(These)m 10(routes)m 10(are)m 10(then)m 10(used)m 11(to)m 10(forward)m 10(all)m 10(data)m 0 2066 p (traf)s (\014c,)s 10(regardless)m 10(of)m 10(the)m 11 r 84 c (OS)s 10(indications)m 10(in)m 10(the)m 11(data)m 10(packet')m -1 r 115 c 9(IP)m 11(header)m -2 r 46 c 13 r 65 c 11(router)m 10(that)m 11(does)m 10(not)m 10(support)m 11 r 84 c (OS)s 10(indicates)m 0 2116 p (this)s 10(fact)m 11(to)m 10(the)m 11(other)m 10(OSPF)m 10(routers)m 11(by)m 10(clearing)m 11(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(in)m 10(the)m t-bol.300 @sf 11(Options)m t-rom.300 @sf 10(\014eld)m 10(of)m 11(its)m 10(router)m 11(links)m 10(advertisement.)m 0 2183 p (The)s 10(above)m 11(sections)m 10(detailing)m 11(the)m 10(routing)m 10(table)m 11(calculations)m 10(handle)m 11(the)m 10 r 84 c (OS)s 10 r 48 c 10(case)m 11(only)m -2 r 46 c 13(In)m 10(general,)m 11(for)m 10(routers)m 0 2233 p (supporting)s 10 r 84 c (OS-based)s 10(routing,)m 10(each)m 11(piece)m 10(of)m 11(the)m 10(routing)m 11(table)m 10(calculation)m 10(must)m 11(be)m 10(rerun)m 11(separately)m 10(for)m 10(the)m 11(non-zero)m 0 2283 p 84 c (OS)s 9(values.)m 14(When)m 10(calculating)m 10(routes)m 10(for)m 10 r 84 c (OS)s 9(X,)m 10(only)m 10 r 84 c (OS)s 9 r 88 c 10(metrics)m 10(can)m 10(be)m 10(used.)m 14(Any)m 10(link)m 10(state)m 10(advertisement)m 10(may)m 0 2332 p (specify)s 10 r 97 c 10(separate)m 10(cost)m 10(for)m 10(each)m 10 r 84 c (OS)s 9(\(a)m 10(cost)m 10(for)m 10 r 84 c (OS)s 9 r 48 c 10(must)m 10(always)m 10(be)m 9(speci\014ed\).)m 14(The)m 10(encoding)m 10(of)m 10 r 84 c (OS)s 9(in)m 10(OSPF)m 10(link)m 0 2382 p (state)s 10(advertisements)m 11(is)m 10(described)m 11(in)m 10(Section)m 10(12.3.)m 0 2449 p (An)s 10(advertisement)m 10(can)m 11(specify)m 10(that)m 10(it)m 10(is)m 10(restricted)m 10(to)m 11 r 84 c (OS)s 9 r 48 c 10(\(i.e.,)m 10(non-zero)m 11 r 84 c (OS)s 9(is)m 10(not)m 10(handled\))m 11(by)m 10(clearing)m 10(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 9(in)m 0 2499 p (the)s 10(link)m 11(state)m 10(advertisement')m -1 r 115 c t-bol.300 @sf 9(Option)m t-rom.300 @sf 11(\014eld.)m 14(Such)m 10(advertisements)m 11(are)m 10(not)m 10(used)m 11(when)m 10(calculating)m 11(routes)m 10(for)m 10(non-zero)m 0 2549 p 84 c (OS.)s 13(For)m 11(this)m 10(reason,)m 10(it)m 11(is)m 10(possible)m 11(that)m 10 r 97 c 10(destination)m 11(is)m 10(unreachable)m 11(for)m 10(some)m 11(non-zero)m 10 r 84 c (OS.)s 13(In)m 11(this)m 10(case,)m 10(the)m 11 r 84 c (OS)s 9 r 48 c 0 2599 p (path)s 10(is)m 11(used)m 10(when)m 11(forwarding)m 10(packets)m 10(\(see)m 11(Section)m 10 r 49 c (1.1\).)s 0 2723 p (Moy)s 1710([Page)m 11(94])m @eop 95 @bop0 95 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (The)s 10(following)m 11(lists)m 10(the)m 11(modi\014cations)m 10(needed)m 10(when)m 11(running)m 10(the)m 11(routing)m 10(table)m 11(calculation)m 10(for)m 10 r 97 c 11(non-zero)m 10 r 84 c (OS)s 10(value)m 0 245 p (\(called)s 10 r 84 c (OS)s 10(X\).)m 10(In)m 11(general,)m 10(routers)m 11(and)m 10(advertisements)m 11(that)m 10(do)m 10(not)m 11(support)m 10 r 84 c (OS)s 10(are)m 10(omitted)m 11(from)m 10(the)m 11(calculation.)m t-bol.300 @sf 0 354 p (Calculating)s 10(the)m 11(shortest-path)m 10(tr)m (ee)s 10(\(Section)m 10(16.1\).)m t-rom.300 @sf 21(Routers)m 11(that)m 10(do)m 10(not)m 11(support)m 10 r 84 c (OS-based)s 10(routing)m 10(should)m 11(be)m 104 404 p (omitted)s 10(from)m 11(the)m 10(shortest-path)m 10(tree)m 11(calculation.)m 14(These)m 10(routers)m 11(are)m 10(identi\014ed)m 10(as)m 11(those)m 10(having)m 11(the)m t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(reset)m 10(in)m 104 454 p (the)s t-bol.300 @sf 10(Options)m t-rom.300 @sf 11(\014eld)m 10(of)m 10(their)m 11(router)m 10(links)m 11(advertisements.)m 14(Such)m 10(routers)m 10(should)m 11(never)m 10(be)m 11(added)m 10(to)m 10(the)m 11(Dijktra)m 104 504 p (algorithm')s -2 r 115 c 10(candidate)m 10(list,)m 11(nor)m 10(should)m 11(their)m 10(router)m 10(links)m 11(advertisements)m 10(be)m 11(examined)m 10(when)m 10(adding)m 11(the)m 10(stub)m 104 553 p (networks)s 10(to)m 11(the)m 10(tree.)m 14(In)m 10(particular)m 44 c 9(if)m 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(is)m 11(reset)m 10(in)m 11(the)m 10(calculating)m 11(router)m 1 r 39 c -1 r 115 c 9(own)m 11(router)m 10(links)m 104 603 p (advertisement,)s 10(it)m 11(does)m 10(not)m 10(run)m 11(the)m 10(shortest-path)m 11(tree)m 10(calculation)m 11(for)m 10(non-zero)m 10 r 84 c (OS)s 10(values.)m t-bol.300 @sf 0 686 p (Calculating)s 10(the)m 11(inter)m -1(-ar)m (ea)s 9 r 114 c (outes)s 10(\(Section)m 10(16.2\).)m t-rom.300 @sf 21(Inter)m (-area)s 9(paths)m 11(are)m 10(the)m 11(concatenation)m 10(of)m 10 r 97 c 11(path)m 10(to)m 11(an)m 10(area)m 11(border)m 104 736 p (router)s 10(with)m 11 r 97 c 10(summary)m 10(link.)m 14(When)m 11(calculating)m 10 r 84 c (OS)s 10 r 88 c 10(routes,)m 11(both)m 10(path)m 10(components)m 11(must)m 10(also)m 11(specify)m 10 r 84 c (OS)s 10(X.)m 104 786 p (In)s 10(other)m 11(words,)m 10(only)m 10 r 84 c (OS)s 10 r 88 c 11(paths)m 10(to)m 10(the)m 11(area)m 10(border)m 11(router)m 10(are)m 10(examined,)m 11(and)m 10(the)m 11(area)m 10(border)m 11(router)m 10(must)m 10(be)m 104 836 p (advertising)s 10 r 97 c 11 r 84 c (OS)s 9 r 88 c 11(route)m 10(to)m 11(the)m 10(destination.)m 14(Note)m 10(that)m 11(this)m 10(means)m 10(that)m 11(summary)m 10(link)m 11(advertisements)m 10(having)m 104 885 p (the)s t-bol.300 @sf 10 r 84 c -3(-bit)m t-rom.300 @sf 10(reset)m 10(in)m 11(their)m t-bol.300 @sf 10(Options)m t-rom.300 @sf 10(\014eld)m 11(are)m 10(not)m 11(considered.)m t-bol.300 @sf 0 968 p (Examining)s 10(transit)m 11(ar)m (eas')s 9(summary)m 11(links)m 10(\(Section)m 11(16.3\).)m t-rom.300 @sf 21(This)m 10(calculation)m 10(again)m 11(considers)m 10(the)m 11(concatenation)m 10(of)m 10 r 97 c 104 1018 p (path)s 10(to)m 11(an)m 10(area)m 10(border)m 11(router)m 10(with)m 11 r 97 c 10(summary)m 11(link.)m 13(As)m 11(with)m 10(inter)m (-area)s 10(routes,)m 10(only)m 11 r 84 c (OS)s 9 r 88 c 11(paths)m 10(to)m 11(the)m 10(area)m 104 1068 p (border)s 10(router)m 11(are)m 10(examined,)m 10(and)m 11(the)m 10(area)m 11(border)m 10(router)m 11(must)m 10(be)m 10(advertising)m 11 r 97 c 10 r 84 c (OS)s 10 r 88 c 10(route)m 11(to)m 10(the)m 11(destination.)m t-bol.300 @sf 0 1151 p (Calculating)s 10(AS)m 11(external)m 10 r 114 c (outes)s 10(\(Section)m 10(16.4\).)m t-rom.300 @sf 21(This)m 11(calculation)m 10(considers)m 10(the)m 11(concatenation)m 10(of)m 11 r 97 c 10(path)m 10(to)m 11 r 97 c t-bol.300 @sf 104 1201 p (forwarding)s 10(addr)m (ess)s t-rom.300 @sf 10(with)m 10(an)m 11(AS)m 10(external)m 11(link.)m 13(Only)m 11 r 84 c (OS)s 9 r 88 c 11(paths)m 10(to)m 11(the)m t-bol.300 @sf 10(forwarding)m 11(addr)m (ess)s t-rom.300 @sf 9(are)m 11(examined,)m 104 1251 p (and)s 10(the)m 10(AS)m 10(boundary)m 10(router)m 10(must)m 10(be)m 10(advertising)m 10 r 97 c 10 r 84 c (OS)s 10 r 88 c 10(route)m 10(to)m 10(the)m 10(destination.)m 14(Note)m 10(that)m 10(this)m 10(means)m 10(that)m 10(AS)m 104 1301 p (external)s 10(link)m 11(advertisements)m 10(having)m 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(reset)m 11(in)m 10(their)m t-bol.300 @sf 11(Options)m t-rom.300 @sf 10(\014eld)m 11(are)m 10(not)m 10(considered.)m 104 1367 p (In)s 10(addition,)m 11(the)m 10(advertising)m 10(AS)m 11(boundary)m 10(router)m 11(must)m 10(also)m 11(be)m 10(reachable)m 10(for)m 11(its)m 10(advertisements)m 11(to)m 10(be)m 10(considered)m 104 1417 p (\(see)s 10(Section)m 11(16.4\).)m 13(However)m 44 c 9(if)m 11(the)m 10(advertising)m 10(router)m 11(and)m 10(the)m t-bol.300 @sf 11(forwarding)m 10(addr)m (ess)s t-rom.300 @sf 10(are)m 10(not)m 11(one)m 10(in)m 10(the)m 11(same,)m 10(the)m 104 1467 p (advertising)s 10(router)m 11(need)m 10(only)m 10(be)m 11(reachable)m 10(via)m 11 r 84 c (OS)s 9(0.)m 0 2723 p (Moy)s 1710([Page)m 11(95])m @eop 96 @bop0 96 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p (Refer)s (ences)s t-rom.300 @sf 0 306 p ([BBN])s 116(McQuillan,)m 10(J,)m 10(I.)m 11(Richer)m 10(and)m 11(E.)m 10(Rosen,)m t-ita.300 @sf 11(ARP)m -5(ANET)m 10(Routing)m 10(Algorithm)m 10(Impr)m (ovements)s t-rom.300 @sf 44 c 9(BBN)m 11 r 84 c -2(echnical)m 229 356 p (Report)s 10(3803,)m 11(April)m 10(1978.)m 0 439 p ([DEC])s 118(Digital)m 10(Equipment)m 11(Corporation,)m t-ita.300 @sf 10(Information)m 11(pr)m -1(ocessing)m 10(systems)m 10 r 123 c 10(Data)m 11(communications)m 10 r 123 c 229 488 p (Intermediate)s 10(System)m 11(to)m 10(Intermediate)m 11(System)m 10(Intra-Domain)m 11(Routing)m 10(Pr)m -1(otocol)m t-rom.300 @sf 44 c 10(October)m 10(1987.)m 0 571 p ([McQuillan])s 21(McQuillan,)m 10(J.)m 11(et.al.,)m t-ita.300 @sf 10(The)m 10(New)m 11(Routing)m 10(Algorithm)m 11(for)m 10(the)m 11(Arpanet)m t-rom.300 @sf 44 c 10(IEEE)m 10 r 84 c (ransactions)s 9(on)m 229 621 p (Communications,)s 10(May)m 11(1980.)m 0 704 p ([Perlman])s 62(Perlman,)m 11(R.,)m t-ita.300 @sf 10(Fault-T)m -3(olerant)m 10(Br)m -1(oadcast)m 10(of)m 10(Routing)m 11(Information)m t-rom.300 @sf 44 c 10(Computer)m 10(Networks,)m 11(December)m 10(1983.)m 0 787 p ([RFC)s 10(791])m 50(Postel,)m 10(J.,)m t-ita.300 @sf 11(Internet)m 10(Pr)m (otocol)s t-rom.300 @sf 44 c 9(STD)m 11(5,)m 10(RFC)m 10(791,)m 11(USC/Information)m 10(Sciences)m 11(Institute,)m 10(September)m 11(1981.)m 0 870 p ([RFC)s 10(905])m 50(McKenzie,)m 10(A.,)m t-ita.300 @sf 11(ISO)m 10 r 84 c -1(ransport)m 9(Pr)m (otocol)s 9(speci\014cation)m 11(ISO)m 10(DP)m 11(8073)m t-rom.300 @sf 44 c 10(RFC)m 10(905,)m 11(ISO,)m 10(April)m 11(1984.)m 0 953 p ([RFC)s 10 r 49 c 49 c -2(12])m 31(Deering,)m 11(S.,)m t-ita.300 @sf 10(Host)m 10(extensions)m 11(for)m 10(IP)m 11(multicasting)m t-rom.300 @sf 44 c 10(STD)m 11(5,)m 10(RFC)m 10 r 49 c 49 c -2(12,)m 10(Stanford)m 10(University)m -2 r 44 c 10(May)m 10(1988.)m 0 1036 p ([RFC)s 10(1213])m 29(McCloghrie,)m 11(K.,)m 10(and)m 10(M.)m 11(Rose,)m t-ita.300 @sf 10(Management)m 11(Information)m 10(Base)m 11(for)m 10(network)m 10(management)m 11(of)m 229 1086 p (TCP/IP-based)s 10(internets:)m 14(MIB-II)m t-rom.300 @sf 44 c 11(STD)m 10(17,)m 11(RFC)m 10(1213,)m 10(Hughes)m 11(LAN)m 10(Systems,)m 11(Performance)m 10(Systems)m 229 1136 p (International,)s 10(March)m 11(1991.)m 0 1219 p ([RFC)s 10(1247])m 29(Moy)m -1 r 44 c 9(J.,)m t-ita.300 @sf 10(OSPF)m 11 r 86 c -4(ersion)m 10 r 50 c t-rom.300 @sf 44 c 10(RFC)m 10(1247,)m 11(Proteon,)m 10(Inc.,)m 11(July)m 10(1991.)m 0 1302 p ([RFC)s 10(1519])m 29(Fuller)m 44 c 9 r 86 c -4(.,)m 9 r 84 c -2 r 46 c 9(Li,)m 11(J.)m 10 r 89 c -3(u,)m 9(and)m 10(K.)m 11 r 86 c -4(aradhan,)m t-ita.300 @sf 10(Classless)m 10(Inter)m (-Domain)s 10(Routing)m 10(\(CIDR\):)m 10(an)m 11(Addr)m -1(ess)m 229 1352 p (Assignment)s 10(and)m 10(Aggr)m -1(egation)m 9(Strategy)m t-rom.300 @sf 44 c 10(RFC1519,)m 10(BARRNet,)m 10(cisco,)m 10(MERIT)m -2 r 44 c 9(OARnet,)m 10(September)m 10(1993.)m 0 1435 p ([RFC)s 10(1340])m 29(Reynolds,)m 11(J.)m 10(and)m 10(J.)m 11(Postel,)m t-ita.300 @sf 10(Assigned)m 11(Numbers)m t-rom.300 @sf 44 c 10(STD)m 11(2,)m 10(RFC)m 10(1340,)m 11(USC/Information)m 10(Sciences)m 11(Institute,)m 229 1485 p (July)s 10(1992.)m 0 1568 p ([RFC)s 10(1349])m 29(Almquist,)m 11 r 80 c -4(.,)m t-ita.300 @sf 9 r 84 c -2(ype)m 10(of)m 10(Service)m 11(in)m 10(the)m 10(Internet)m 11(Pr)m -1(otocol)m 10(Suite)m t-rom.300 @sf 44 c 10(RFC)m 11(1349,)m 10(July)m 10(1992.)m 0 1651 p ([RS-85-153])s 21(Leiner)m -1 r 44 c 10(B.,)m 10(et.al.,)m t-ita.300 @sf 10(The)m 11(DARP)m -5 r 65 c 10(Internet)m 10(Pr)m (otocol)s 9(Suite)m t-rom.300 @sf 44 c 11(DDN)m 10(Protocol)m 10(Handbook,)m 11(April)m 10(1985.)m 0 2723 p (Moy)s 1710([Page)m 11(96])m @eop 97 @bop0 97 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 65 c 58(OSPF)m 15(data)m 14(formats)m t-rom.300 @sf 0 306 p (This)s 10(appendix)m 11(describes)m 10(the)m 11(format)m 10(of)m 10(OSPF)m 11(protocol)m 10(packets)m 11(and)m 10(OSPF)m 11(link)m 10(state)m 10(advertisements.)m 14(The)m 11(OSPF)m 0 356 p (protocol)s 10(runs)m 11(directly)m 10(over)m 11(the)m 10(IP)m 10(network)m 11(layer)m -1 r 46 c 13(Before)m 10(any)m 10(data)m 11(formats)m 10(are)m 11(described,)m 10(the)m 10(details)m 11(of)m 10(the)m 11(OSPF)m 0 405 p (encapsulation)s 10(are)m 11(explained.)m 0 473 p (Next)s 10(the)m 11(OSPF)m 10(Options)m 11(\014eld)m 10(is)m 10(described.)m 14(This)m 11(\014eld)m 10(describes)m 11(various)m 10(capabilities)m 10(that)m 11(may)m 10(or)m 11(may)m 10(not)m 11(be)m 10(supported)m 0 523 p (by)s 10(pieces)m 11(of)m 10(the)m 11(OSPF)m 10(routing)m 10(domain.)m 14(The)m 11(OSPF)m 10(Options)m 11(\014eld)m 10(is)m 10(contained)m 11(in)m 10(OSPF)m 11(Hello)m 10(packets,)m 11(Database)m 0 573 p (Description)s 10(packets)m 11(and)m 10(in)m 11(OSPF)m 10(link)m 10(state)m 11(advertisements.)m 0 640 p (OSPF)s 10(packet)m 11(formats)m 10(are)m 11(detailed)m 10(in)m 10(Section)m 11(A.3.)m 14 r 65 c 10(description)m 11(of)m 10(OSPF)m 10(link)m 11(state)m 10(advertisements)m 11(appears)m 10(in)m 0 690 p (Section)s 10(A.4.)m t-bol.360 @sf 0 827 p (A.1)s 50(Encapsulation)m 12(of)m 13(OSPF)m 12(packets)m t-rom.300 @sf 0 922 p (OSPF)s 10(runs)m 11(directly)m 10(over)m 11(the)m 10(Internet)m 10(Protocol')m -1 r 115 c 10(network)m 10(layer)m -1 r 46 c 13(OSPF)m 10(packets)m 10(are)m 11(therefore)m 10(encapsulated)m 11(solely)m 10(by)m 11(IP)m 0 972 p (and)s 10(local)m 11(data-link)m 10(headers.)m 0 1040 p (OSPF)s 10(does)m 11(not)m 10(de\014ne)m 11 r 97 c 10(way)m 10(to)m 11(fragment)m 10(its)m 11(protocol)m 10(packets,)m 11(and)m 10(depends)m 10(on)m 11(IP)m 10(fragmentation)m 11(when)m 10(transmitting)m 0 1090 p (packets)s 10(lar)m (ger)s 10(than)m 10(the)m 11(network)m 10(MTU.)m 11(The)m 10(OSPF)m 11(packet)m 10(types)m 10(that)m 11(are)m 10(likely)m 11(to)m 10(be)m 10(lar)m (ge)s 10(\(Database)m 11(Description)m 0 1140 p (Packets,)s 10(Link)m 11(State)m 10(Request,)m 11(Link)m 10(State)m 10(Update,)m 11(and)m 10(Link)m 11(State)m 10(Acknowledgment)m 11(packets\))m 10(can)m 10(usually)m 11(be)m 10(split)m 11(into)m 0 1189 p (several)s 10(separate)m 11(protocol)m 10(packets,)m 11(without)m 10(loss)m 10(of)m 11(functionality)m -2 r 46 c 13(This)m 11(is)m 10(recommended;)m 10(IP)m 11(fragmentation)m 10(should)m 11(be)m 0 1239 p (avoided)s 10(whenever)m 11(possible.)m 14(Using)m 10(this)m 11(reasoning,)m 10(an)m 10(attempt)m 11(should)m 10(be)m 11(made)m 10(to)m 10(limit)m 11(the)m 10(sizes)m 11(of)m 10(packets)m 11(sent)m 10(over)m 0 1289 p (virtual)s 10(links)m 11(to)m 10(576)m 11(bytes.)m 14(However)m -1 r 44 c 9(if)m 11(necessary)m -2 r 44 c 9(the)m 11(length)m 10(of)m 11(OSPF)m 10(packets)m 11(can)m 10(be)m 10(up)m 11(to)m 10(65,535)m 11(bytes)m 10(\(including)m 0 1339 p (the)s 10(IP)m 11(header\).)m 0 1407 p (The)s 10(other)m 11(important)m 10(features)m 11(of)m 10(OSPF')m -1 r 115 c 9(IP)m 11(encapsulation)m 10(are:)m cmsy10.300 @sf 62 1516 p 15 c t-ita.300 @sf 21(Use)m 10(of)m 11(IP)m 10(multicast)m t-rom.300 @sf 46 c 14(Some)m 11(OSPF)m 10(messages)m 10(are)m 11(multicast,)m 10(when)m 11(sent)m 10(over)m 10(multi-access)m 11(networks.)m 14 r 84 c -2(wo)m 9(distinct)m 104 1566 p (IP)s 10(multicast)m 11(addresses)m 10(are)m 10(used.)m 14(Packets)m 11(sent)m 10(to)m 11(these)m 10(multicast)m 10(addresses)m 11(should)m 10(never)m 11(be)m 10(forwarded;)m 10(they)m 11(are)m 104 1615 p (meant)s 10(to)m 11(travel)m 10 r 97 c 10(single)m 11(hop)m 10(only)m -1 r 46 c 12 r 84 c -1 r 111 c 9(ensure)m 10(that)m 11(these)m 10(packets)m 11(will)m 10(not)m 10(travel)m 11(multiple)m 10(hops,)m 11(their)m 10(IP)m 11(TTL)m 10(must)m 104 1665 p (be)s 10(set)m 11(to)m 10(1.)m t-bol.300 @sf 104 1748 p (AllSPFRouters)s t-rom.300 @sf 21(This)m 10(multicast)m 10(address)m 11(has)m 10(been)m 11(assigned)m 10(the)m 10(value)m c-med.300 @sf 11(224.0.0.5)m t-rom.300 @sf 46 c 14(All)m 10(routers)m 11(running)m 10(OSPF)m 195 1798 p (should)s 11(be)m 10(prepared)m 10(to)m 11(receive)m 10(packets)m 11(sent)m 10(to)m 10(this)m 11(address.)m 14(Hello)m 10(packets)m 11(are)m 10(always)m 10(sent)m 11(to)m 10(this)m 195 1848 p (destination.)s 14(Also,)m 10(certain)m 11(OSPF)m 10(protocol)m 11(packets)m 10(are)m 10(sent)m 11(to)m 10(this)m 11(address)m 10(during)m 11(the)m 10(\015ooding)m 10(procedure.)m t-bol.300 @sf 104 1914 p (AllDRouters)s t-rom.300 @sf 21(This)m 10(multicast)m 10(address)m 11(has)m 10(been)m 11(assigned)m 10(the)m 10(value)m c-med.300 @sf 11(224.0.0.6)m t-rom.300 @sf 46 c 14(Both)m 10(the)m 11(Designated)m 10(Router)m 195 1964 p (and)s 11(Backup)m 10(Designated)m 10(Router)m 11(must)m 10(be)m 11(prepared)m 10(to)m 10(receive)m 11(packets)m 10(destined)m 11(to)m 10(this)m 11(address.)m 13(Certain)m 195 2014 p (OSPF)s 11(protocol)m 10(packets)m 10(are)m 11(sent)m 10(to)m 11(this)m 10(address)m 10(during)m 11(the)m 10(\015ooding)m 11(procedure.)m cmsy10.300 @sf 62 2097 p 15 c t-ita.300 @sf 21(OSPF)m 10(is)m 11(IP)m 10(pr)m (otocol)s 9(number)m 11(89)m t-rom.300 @sf 46 c 13(This)m 11(number)m 10(has)m 11(been)m 10(registered)m 11(with)m 10(the)m 10(Network)m 11(Information)m 10(Center)m -1 r 46 c 13(IP)m 104 2147 p (protocol)s 10(number)m 11(assignments)m 10(are)m 10(documented)m 11(in)m 10([RFC)m 11(1340].)m cmsy10.300 @sf 62 2230 p 15 c t-ita.300 @sf 21(Routing)m 10(pr)m (otocol)s 9(packets)m 11(ar)m -1 r 101 c 10(sent)m 10(with)m 10(IP)m 11 r 84 c (OS)s 10(of)m 10 r 48 c t-rom.300 @sf 46 c 14(The)m 10(OSPF)m 11(protocol)m 10(supports)m 10 r 84 c (OS-based)s 10(routing.)m 14(Routes)m 104 2280 p (to)s 10(any)m 11(particular)m 10(destination)m 10(may)m 11(vary)m 10(based)m 11(on)m 10 r 84 c (OS.)s 10(However)m -1 r 44 c 10(all)m 10(OSPF)m 10(routing)m 11(protocol)m 10(packets)m 11(are)m 10(sent)m 104 2329 p (using)s 10(the)m 11(normal)m 10(service)m 10 r 84 c (OS)s 10(value)m 11(of)m 10(binary)m 10(0000)m 11(de\014ned)m 10(in)m 11([RFC)m 10(1349].)m cmsy10.300 @sf 62 2412 p 15 c t-ita.300 @sf 21(Routing)m 10(pr)m (otocol)s 9(packets)m 11(ar)m -1 r 101 c 10(sent)m 10(with)m 10(IP)m 11(pr)m -1(ecedence)m 10(set)m 10(to)m 11(Internetwork)m 10(Contr)m -1(ol)m t-rom.300 @sf 46 c 13(OSPF)m 11(protocol)m 10(packets)m 104 2462 p (should)s 10(be)m 11(given)m 10(precedence)m 10(over)m 11(regular)m 10(IP)m 11(data)m 10(traf)m (\014c,)s 10(in)m 10(both)m 11(sending)m 10(and)m 10(receiving.)m 14(Setting)m 11(the)m 10(IP)m 104 2512 p (precedence)s 10(\014eld)m 11(in)m 10(the)m 10(IP)m 11(header)m 10(to)m 11(Internetwork)m 10(Control)m 11([RFC)m 10(791])m 10(may)m 11(help)m 10(implement)m 11(this)m 10(objective.)m 0 2723 p (Moy)s 1710([Page)m 11(97])m @eop 98 @bop0 98 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (A.2)s 50(The)m 12(Options)m 13(\014eld)m t-rom.300 @sf 0 291 p (The)s 10(OSPF)m 11(Options)m 10(\014eld)m 11(is)m 10(present)m 10(in)m 11(OSPF)m 10(Hello)m 11(packets,)m 10(Database)m 11(Description)m 10(packets)m 10(and)m 11(all)m 10(link)m 11(state)m 0 341 p (advertisements.)s 14(The)m 10(Options)m 11(\014eld)m 10(enables)m 11(OSPF)m 10(routers)m 10(to)m 11(support)m 10(\(or)m 11(not)m 10(support\))m 10(optional)m 11(capabilities,)m 10(and)m 11(to)m 0 390 p (communicate)s 10(their)m 11(capability)m 10(level)m 11(to)m 10(other)m 10(OSPF)m 11(routers.)m 14(Through)m 10(this)m 11(mechanism)m 10(routers)m 10(of)m 11(dif)m (fering)s 10(capabilities)m 0 440 p (can)s 10(be)m 11(mixed)m 10(within)m 11(an)m 10(OSPF)m 10(routing)m 11(domain.)m 0 508 p (When)s 10(used)m 11(in)m 10(Hello)m 11(packets,)m 10(the)m 10(Options)m 11(\014eld)m 10(allows)m 11 r 97 c 10(router)m 11(to)m 10(reject)m 10 r 97 c 11(neighbor)m 10(because)m 11(of)m 10 r 97 c 10(capability)m 11(mismatch.)m 0 558 p (Alternatively)s -2 r 44 c 10(when)m 10(capabilities)m 11(are)m 10(exchanged)m 10(in)m 11(Database)m 10(Description)m 11(packets)m 10 r 97 c 10(router)m 11(can)m 10(choose)m 11(not)m 10(to)m 11(forward)m 0 608 p (certain)s 10(link)m 11(state)m 10(advertisements)m 11(to)m 10 r 97 c 10(neighbor)m 11(because)m 10(of)m 11(its)m 10(reduced)m 11(functionality)m -2 r 46 c 13(Lastly)m -2 r 44 c 9(listing)m 11(capabilities)m 10(in)m 11(link)m 0 657 p (state)s 10(advertisements)m 11(allows)m 10(routers)m 11(to)m 10(route)m 10(traf)m (\014c)s 10(around)m 11(reduced)m 10(functionality)m 10(routers,)m 11(by)m 10(excluding)m 11(them)m 10(from)m 0 707 p (parts)s 10(of)m 11(the)m 10(routing)m 11(table)m 10(calculation.)m 0 775 p 84 c -2(wo)m 9(capabilities)m 11(are)m 10(currently)m 11(de\014ned.)m 14(For)m 10(each)m 10(capability)m -1 r 44 c 9(the)m 11(ef)m (fect)s 9(of)m 11(the)m 10(capability')m -1 r 115 c 9(appearance)m 11(\(or)m 10(lack)m 10(of)m 0 825 p (appearance\))s 10(in)m 11(Hello)m 10(packets,)m 11(Database)m 10(Description)m 10(packets)m 11(and)m 10(link)m 11(state)m 10(advertisements)m 11(is)m 10(speci\014ed)m 10(below)m -1 r 46 c 13(For)m 0 874 p (example,)s 10(the)m 11(ExternalRoutingCapability)m 10(\(below)m 11(called)m 10(the)m 10(E-bit\))m 11(has)m 10(meaning)m 11(only)m 10(in)m 11(OSPF)m 10(Hello)m 10(Packets.)m 14(Routers)m 0 924 p (should)s 10(reset)m 11(\(i.e.)m 14(clear\))m 10(the)m 11(unassigned)m 10(part)m 10(of)m 11(the)m 10(capability)m 11(\014eld)m 10(when)m 10(sending)m 11(Hello)m 10(packets)m 11(or)m 10(Database)m 0 974 p (Description)s 10(packets)m 11(and)m 10(when)m 11(originating)m 10(link)m 10(state)m 11(advertisements.)m 0 1042 p (Additional)s 10(capabilities)m 11(may)m 10(be)m 11(assigned)m 10(in)m 10(the)m 11(future.)m 14(Routers)m 10(encountering)m 11(unrecognized)m 10(capabilities)m 10(in)m 11(received)m 0 1092 p (Hello)s 10(Packets,)m 10(Database)m 11(Description)m 10(packets)m 10(or)m 10(link)m 10(state)m 11(advertisements)m 10(should)m 10(ignore)m 10(the)m 10(capability)m 10(and)m 11(process)m 10(the)m 0 1141 p (packet/advertisement)s 10(normally)m -1 r 46 c 0 1155 p 24997069 6051922 2236579 37890293 27233648 43942215 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/options.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:53:49 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 34 576 414 668 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 419 159 moveto 419 199 lineto stroke % Polyline newpath 379 159 moveto 379 199 lineto stroke % Polyline newpath 339 159 moveto 339 199 lineto stroke % Polyline newpath 299 159 moveto 299 199 lineto stroke % Polyline newpath 259 159 moveto 259 199 lineto stroke % Polyline newpath 219 159 moveto 219 199 lineto stroke % Polyline newpath 179 159 moveto 179 199 lineto stroke % Polyline newpath 139 159 moveto 459 159 lineto 459 199 lineto 139 199 lineto 139 159 lineto stroke /Courier findfont 12.222222 scalefont setfont 154 184 moveto 1 -1 scale (*) show 1 -1 scale 194 184 moveto 1 -1 scale (*) show 1 -1 scale 234 184 moveto 1 -1 scale (*) show 1 -1 scale 274 184 moveto 1 -1 scale (*) show 1 -1 scale 314 184 moveto 1 -1 scale (*) show 1 -1 scale 354 184 moveto 1 -1 scale (*) show 1 -1 scale 394 184 moveto 1 -1 scale (E) show 1 -1 scale 439 184 moveto 1 -1 scale (T) show 1 -1 scale 234 234 moveto 1 -1 scale (The options field) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1647 p 84 c -3(-bit)m t-rom.300 @sf 24(This)m 10(describes)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10 r 84 c (OS)s 9(capability)m -1 r 46 c 13(If)m 10(the)m 10 r 84 c -2(-bit)m 9(is)m 10(reset,)m 11(then)m 10(the)m 11(router)m 10(supports)m 10(only)m 11 r 97 c 10(single)m 11 r 84 c (OS)s 111 1697 p (\(T)s (OS)s 10(0\).)m 14(Such)m 10 r 97 c 10(router)m 11(is)m 10(also)m 11(said)m 10(to)m 11(be)m 10(incapable)m 10(of)m 11 r 84 c (OS-routing,)s 9(and)m 11(elsewhere)m 10(in)m 11(this)m 10(document)m 11(referred)m 10(to)m 111 1747 p (as)s 10 r 97 c 11 r 84 c (OS-0-only)s 10(router)m -2 r 46 c 13(The)m 11(absence)m 10(of)m 10(the)m 11 r 84 c -3(-bit)m 9(in)m 11 r 97 c 10(router)m 11(links)m 10(advertisement)m 10(causes)m 11(the)m 10(router)m 11(to)m 10(be)m 111 1797 p (skipped)s 10(when)m 11(building)m 10 r 97 c 11(non-zero)m 10 r 84 c (OS)s 10(shortest-path)m 10(tree)m 11(\(see)m 10(Section)m 10(16.9\).)m 14(In)m 11(other)m 10(words,)m 11(routers)m 10(incapable)m 111 1846 p (of)s 10 r 84 c (OS)s 10(routing)m 11(will)m 10(be)m 10(avoided)m 11(as)m 10(much)m 11(as)m 10(possible)m 10(when)m 11(forwarding)m 10(data)m 11(traf)m (\014c)s 9(requesting)m 11 r 97 c 10(non-zero)m 11 r 84 c (OS.)s 111 1896 p (The)s 10(absence)m 11(of)m 10(the)m 11 r 84 c -3(-bit)m 9(in)m 11 r 97 c 10(summary)m 11(link)m 10(advertisement)m 10(or)m 11(an)m 10(AS)m 11(external)m 10(link)m 10(advertisement)m 11(indicates)m 10(that)m 111 1946 p (the)s 10(advertisement)m 11(is)m 10(describing)m 11 r 97 c 10 r 84 c (OS)s 10 r 48 c 10(route)m 11(only)m 10(\(and)m 10(not)m 11(routes)m 10(for)m 11(non-zero)m 10 r 84 c (OS\).)s t-bol.300 @sf 0 2029 p (E-bit)s t-rom.300 @sf 21(This)m 10(bit)m 11(re\015ects)m 10(the)m 10(associated)m 11(area')m -1 r 115 c 9(ExternalRoutingCapability)m -2 r 46 c 13(AS)m 11(external)m 10(link)m 10(advertisements)m 11(are)m 10(not)m 111 2079 p (\015ooded)s 10(into/through)m 11(OSPF)m 10(stub)m 11(areas)m 10(\(see)m 11(Section)m 10(3.6\).)m 14(The)m 10(E-bit)m 11(ensures)m 10(that)m 11(all)m 10(members)m 10(of)m 11 r 97 c 10(stub)m 11(area)m 111 2129 p (agree)s 10(on)m 11(that)m 10(area')m -1 r 115 c 9(con\014guration.)m 14(The)m 11(E-bit)m 10(is)m 11(meaningful)m 10(only)m 10(in)m 11(OSPF)m 10(Hello)m 11(packets.)m 14(When)m 10(the)m 10(E-bit)m 11(is)m 111 2178 p (reset)s 10(in)m 11(the)m 10(Hello)m 11(packet)m 10(sent)m 11(out)m 10 r 97 c 10(particular)m 11(interface,)m 10(it)m 11(means)m 10(that)m 10(the)m 11(router)m 10(will)m 11(neither)m 10(send)m 11(nor)m 10(receive)m 111 2228 p (AS)s 10(external)m 11(link)m 10(state)m 11(advertisements)m 10(on)m 11(that)m 10(interface)m 10(\(in)m 11(other)m 10(words,)m 11(the)m 10(interface)m 10(connects)m 11(to)m 10 r 97 c 11(stub)m 10(area\).)m 111 2278 p 84 c -2(wo)m 10(routers)m 10(will)m 10(not)m 11(become)m 10(neighbors)m 11(unless)m 10(they)m 10(agree)m 11(on)m 10(the)m 11(state)m 10(of)m 11(the)m 10(E-bit.)m 0 2723 p (Moy)s 1710([Page)m 11(98])m @eop 99 @bop0 99 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (A.3)s 50(OSPF)m 12(Packet)m 13(Formats)m t-rom.300 @sf 0 291 p (There)s 10(are)m 11(\014ve)m 10(distinct)m 11(OSPF)m 10(packet)m 10(types.)m 14(All)m 11(OSPF)m 10(packet)m 11(types)m 10(begin)m 10(with)m 11 r 97 c 10(standard)m 11(24)m 10(byte)m 11(header)m -2 r 46 c 13(This)m 11(header)m 0 341 p (is)s 10(described)m 11(\014rst.)m 14(Each)m 10(packet)m 11(type)m 10(is)m 10(then)m 11(described)m 10(in)m 11 r 97 c 10(succeeding)m 10(section.)m 14(In)m 11(these)m 10(sections)m 11(each)m 10(packet')m -1 r 115 c 9(division)m 0 390 p (into)s 10(\014elds)m 11(is)m 10(displayed,)m 11(and)m 10(then)m 10(the)m 11(\014eld)m 10(de\014nitions)m 11(are)m 10(enumerated.)m 0 458 p (All)s 10(OSPF)m 11(packet)m 10(types)m 11(\(other)m 10(than)m 10(the)m 11(OSPF)m 10(Hello)m 11(packets\))m 10(deal)m 11(with)m 10(lists)m 10(of)m 11(link)m 10(state)m 11(advertisements.)m 13(For)m 11(example,)m 0 508 p (Link)s 10(State)m 11(Update)m 10(packets)m 11(implement)m 10(the)m 10(\015ooding)m 11(of)m 10(advertisements)m 11(throughout)m 10(the)m 11(OSPF)m 10(routing)m 10(domain.)m 14(Because)m 0 558 p (of)s 10(this,)m 11(OSPF)m 10(protocol)m 11(packets)m 10(cannot)m 10(be)m 11(parsed)m 10(unless)m 11(the)m 10(format)m 11(of)m 10(link)m 10(state)m 11(advertisements)m 10(is)m 11(also)m 10(understood.)m 0 608 p (The)s 10(format)m 11(of)m 10(Link)m 11(state)m 10(advertisements)m 10(is)m 11(described)m 10(in)m 11(Section)m 10(A.4.)m 0 675 p (The)s 10(receive)m 11(processing)m 10(of)m 11(OSPF)m 10(packets)m 10(is)m 11(detailed)m 10(in)m 11(Section)m 10(8.2.)m 14(The)m 10(sending)m 11(of)m 10(OSPF)m 11(packets)m 10(is)m 11(explained)m 10(in)m 0 725 p (Section)s 10(8.1.)m 0 2723 p (Moy)s 1710([Page)m 11(99])m @eop 100 @bop0 100 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.3.1)s 42(The)m 10(OSPF)m 10(packet)m 11(header)m t-rom.300 @sf 0 291 p (Every)s 10(OSPF)m 11(packet)m 10(starts)m 11(with)m 10 r 97 c 10(common)m 11(24)m 10(byte)m 11(header)m -2 r 46 c 13(This)m 11(header)m 10(contains)m 11(all)m 10(the)m 10(necessary)m 11(information)m 10(to)m 0 341 p (determine)s 10(whether)m 11(the)m 10(packet)m 11(should)m 10(be)m 10(accepted)m 11(for)m 10(further)m 11(processing.)m 14(This)m 10(determination)m 10(is)m 11(described)m 10(in)m 0 390 p (Section)s 10(8.2)m 11(of)m 10(the)m 11(speci\014cation.)m 0 404 p 26575831 8748974 2105016 39074365 28680847 47823339 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/phdr.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:29:05 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 32 594 436 727 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 479 199 moveto 399 199 lineto stroke % Polyline newpath 159 199 moveto 239 199 lineto stroke % Polyline newpath 319 159 moveto 319 179 lineto stroke % Polyline newpath 319 99 moveto 319 119 lineto stroke % Polyline newpath 239 99 moveto 239 119 lineto stroke % Polyline newpath 479 99 moveto 479 219 lineto stroke % Polyline newpath 159 99 moveto 159 219 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 159 179 moveto 479 179 lineto stroke % Polyline newpath 159 159 moveto 479 159 lineto stroke % Polyline newpath 159 139 moveto 479 139 lineto stroke % Polyline newpath 159 119 moveto 479 119 lineto stroke % Polyline newpath 399 89 moveto 399 99 lineto stroke % Polyline newpath 319 89 moveto 319 99 lineto stroke % Polyline newpath 239 89 moveto 239 99 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 259 204 moveto 1 -1 scale (Authentication) show 1 -1 scale 369 174 moveto 1 -1 scale (Autype) show 1 -1 scale 204 174 moveto 1 -1 scale (Checksum) show 1 -1 scale 289 154 moveto 1 -1 scale (Area ID) show 1 -1 scale 279 134 moveto 1 -1 scale (Router ID) show 1 -1 scale 339 114 moveto 1 -1 scale (Packet length) show 1 -1 scale 259 114 moveto 1 -1 scale (Type) show 1 -1 scale 164 114 moveto 1 -1 scale (Version #) show 1 -1 scale 469 84 moveto 1 -1 scale (32) show 1 -1 scale 389 84 moveto 1 -1 scale (24) show 1 -1 scale 309 84 moveto 1 -1 scale (16) show 1 -1 scale 234 84 moveto 1 -1 scale (8) show 1 -1 scale 159 84 moveto 1 -1 scale (0) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1067 p 86 c -3(ersion)m 10 r 35 c t-rom.300 @sf 96(The)m 10(OSPF)m 11(version)m 10(number)m -1 r 46 c 13(This)m 10(speci\014cation)m 11(documents)m 10(version)m 10 r 50 c 11(of)m 10(the)m 11(protocol.)m t-bol.300 @sf 0 1150 p 84 c -2(ype)m t-rom.300 @sf 174(The)m 11(OSPF)m 10(packet)m 11(types)m 10(are)m 10(as)m 11(follows.)m 14(The)m 10(format)m 11(of)m 10(each)m 10(of)m 11(these)m 10(packet)m 11(types)m 10(is)m 10(described)m 11(in)m 10 r 97 c 263 1200 p (succeeding)s 10(section.)m 778 1215 p 657 2 ru 777 1264 p 2 50 ru t-ita.300 @sf 803 1249 p 84 c -2(ype)m 905 1264 p 2 50 ru 931 1249 p (Description)s 1434 1264 p 2 50 ru 778 1266 p 657 2 ru 777 1316 p 2 50 ru t-rom.300 @sf 831 1301 p 49 c 905 1316 p 2 50 ru 931 1301 p (Hello)s 1434 1316 p 2 50 ru 777 1366 p 2 50 ru 831 1351 p 50 c 905 1366 p 2 50 ru 931 1351 p (Database)s 10(Description)m 1434 1366 p 2 50 ru 777 1416 p 2 50 ru 831 1401 p 51 c 905 1416 p 2 50 ru 931 1401 p (Link)s 10(State)m 10(Request)m 1434 1416 p 2 50 ru 777 1465 p 2 50 ru 831 1450 p 52 c 905 1465 p 2 50 ru 931 1450 p (Link)s 10(State)m 10(Update)m 1434 1465 p 2 50 ru 777 1515 p 2 50 ru 831 1500 p 53 c 905 1515 p 2 50 ru 931 1500 p (Link)s 10(State)m 10(Acknowledgment)m 1434 1515 p 2 50 ru 778 1517 p 657 2 ru t-bol.300 @sf 0 1591 p (Packet)s 10(length)m t-rom.300 @sf 21(The)m 11(length)m 10(of)m 10(the)m 11(protocol)m 10(packet)m 11(in)m 10(bytes.)m 14(This)m 10(length)m 11(includes)m 10(the)m 11(standard)m 10(OSPF)m 10(header)m -1 r 46 c t-bol.300 @sf 0 1674 p (Router)s 10(ID)m t-rom.300 @sf 81(The)m 11(Router)m 10(ID)m 11(of)m 10(the)m 10(packet')m -1 r 115 c 10(source.)m 13(In)m 11(OSPF)m -2 r 44 c 9(the)m 10(source)m 11(and)m 10(destination)m 11(of)m 10 r 97 c 10(routing)m 11(protocol)m 263 1724 p (packet)s 10(are)m 10(the)m 11(two)m 10(ends)m 11(of)m 10(an)m 11(\(potential\))m 10(adjacency)m -2 r 46 c t-bol.300 @sf 0 1807 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 118 r 65 c 11(32)m 10(bit)m 11(number)m 10(identifying)m 11(the)m 10(area)m 10(that)m 11(this)m 10(packet)m 11(belongs)m 10(to.)m 14(All)m 10(OSPF)m 11(packets)m 10(are)m 11(associated)m 263 1857 p (with)s 10 r 97 c 10(single)m 11(area.)m 14(Most)m 10(travel)m 11 r 97 c 10(single)m 10(hop)m 11(only)m -2 r 46 c 13(Packets)m 10(travelling)m 11(over)m 10 r 97 c 11(virtual)m 10(link)m 11(are)m 10(labelled)m 263 1907 p (with)s 10(the)m 10(backbone)m 11(Area)m 10(ID)m 11(of)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 46 c t-bol.300 @sf 0 1990 p (Checksum)s t-rom.300 @sf 75(The)m 11(standard)m 10(IP)m 10(checksum)m 11(of)m 10(the)m 11(entire)m 10(contents)m 10(of)m 11(the)m 10(packet,)m 11(starting)m 10(with)m 11(the)m 10(OSPF)m 10(packet)m 11(header)m 263 2039 p (but)s 10(excluding)m 10(the)m 11(64-bit)m 10(authentication)m 11(\014eld.)m 14(This)m 10(checksum)m 10(is)m 11(calculated)m 10(as)m 11(the)m 10(16-bit)m 11(one')m -2 r 115 c 263 2089 p (complement)s 10(of)m 10(the)m 11(one')m -1 r 115 c 9(complement)m 10(sum)m 11(of)m 10(all)m 11(the)m 10(16-bit)m 10(words)m 11(in)m 10(the)m 11(packet,)m 10(excepting)m 11(the)m 263 2139 p (authentication)s 10(\014eld.)m 14(If)m 10(the)m 11(packet')m -2 r 115 c 10(length)m 10(is)m 11(not)m 10(an)m 11(integral)m 10(number)m 10(of)m 11(16-bit)m 10(words,)m 11(the)m 10(packet)m 10(is)m 263 2189 p (padded)s 10(with)m 10 r 97 c 11(byte)m 10(of)m 11(zero)m 10(before)m 11(checksumming.)m t-bol.300 @sf 0 2272 p (AuT)s -2(ype)m t-rom.300 @sf 121(Identi\014es)m 11(the)m 10(authentication)m 10(scheme)m 11(to)m 10(be)m 11(used)m 10(for)m 10(the)m 11(packet.)m 14(Authentication)m 10(is)m 11(discussed)m 10(in)m 263 2322 p (Appendix)s 10 r 68 c 10(of)m 11(the)m 10(speci\014cation.)m 14(Consult)m 11(Appendix)m 10 r 68 c 10(for)m 11 r 97 c 10(list)m 11(of)m 10(the)m 11(currently)m 10(de\014ned)m 263 2371 p (authentication)s 10(types.)m t-bol.300 @sf 0 2454 p (Authentication)s t-rom.300 @sf 21 r 65 c 10(64-bit)m 11(\014eld)m 10(for)m 10(use)m 11(by)m 10(the)m 11(authentication)m 10(scheme.)m 0 2723 p (Moy)s 1690([Page)m 10(100])m @eop 101 @bop0 101 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.3.2)s 42(The)m 10(Hello)m 10(packet)m t-rom.300 @sf 0 286 p (Hello)s 10(packets)m 11(are)m 10(OSPF)m 11(packet)m 10(type)m 10(1.)m 14(These)m 11(packets)m 10(are)m 11(sent)m 10(periodically)m 10(on)m 11(all)m 10(interfaces)m 11(\(including)m 10(virtual)m 11(links\))m 0 336 p (in)s 10(order)m 11(to)m 10(establish)m 11(and)m 10(maintain)m 10(neighbor)m 11(relationships.)m 14(In)m 10(addition,)m 11(Hello)m 10(Packets)m 10(are)m 11(multicast)m 10(on)m 11(those)m 10(physical)m 0 386 p (networks)s 10(having)m 11 r 97 c 10(multicast)m 11(or)m 10(broadcast)m 10(capability)m -1 r 44 c 9(enabling)m 11(dynamic)m 10(discovery)m 10(of)m 11(neighboring)m 10(routers.)m 0 449 p (All)s 10(routers)m 11(connected)m 10(to)m 11 r 97 c 10(common)m 10(network)m 11(must)m 10(agree)m 11(on)m 10(certain)m 11(parameters)m 10(\(Network)m 10(mask,)m 11(HelloInterval)m 10(and)m 0 499 p (RouterDeadInterval\).)s 14(These)m 10(parameters)m 11(are)m 10(included)m 11(in)m 10(Hello)m 10(packets,)m 11(so)m 10(that)m 11(dif)m (ferences)s 9(can)m 11(inhibit)m 10(the)m 11(forming)m 10(of)m 0 549 p (neighbor)s 10(relationships.)m 14 r 65 c 11(detailed)m 10(explanation)m 11(of)m 10(the)m 10(receive)m 11(processing)m 10(for)m 11(Hello)m 10(packets)m 10(is)m 11(presented)m 10(in)m 0 599 p (Section)s 10(10.5.)m 14(The)m 11(sending)m 10(of)m 11(Hello)m 10(packets)m 10(is)m 11(covered)m 10(in)m 11(Section)m 10(9.5.)m 0 612 p 27694121 14998241 5854576 32496189 33548697 47494430 startTexFig %!PS-Adobe-1.0 %%Title: hello.fig %%Creator: f2ps %%CreationDate: Fri Mar 19 14:28:05 1993 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 89 494 510 722 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 161 299 moveto 476 299 lineto stroke % Polyline newpath 239 114 moveto 319 114 lineto stroke % Polyline newpath 484 279 moveto 499 279 lineto 499 299 lineto 484 299 lineto stroke % Polyline newpath 479 99 moveto 479 319 lineto stroke % Polyline newpath 159 99 moveto 159 324 lineto stroke % Polyline newpath 159 279 moveto 474 279 lineto stroke % Polyline newpath 399 199 moveto 399 219 lineto stroke % Polyline newpath 319 199 moveto 319 219 lineto stroke % Polyline newpath 159 239 moveto 479 239 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 159 259 moveto 479 259 lineto stroke % Polyline newpath 159 179 moveto 479 179 lineto stroke % Polyline newpath 399 99 moveto 399 114 lineto stroke % Polyline newpath 319 99 moveto 319 114 lineto stroke % Polyline newpath 239 99 moveto 239 114 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 159 114 moveto 179 114 lineto stroke % Polyline newpath 159 124 moveto 179 124 lineto stroke % Polyline newpath 159 139 moveto 179 139 lineto stroke % Polyline newpath 159 149 moveto 179 149 lineto stroke % Polyline newpath 159 164 moveto 179 164 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 329 214 moveto 1 -1 scale (Options) show 1 -1 scale 274 109 moveto 1 -1 scale (1) show 1 -1 scale 507 314 moveto 1 -1 scale (neighbor) show 1 -1 scale 287 293 moveto 1 -1 scale (Neighbor) show 1 -1 scale 238 272 moveto 1 -1 scale (Backup Designated Router) show 1 -1 scale 259 252 moveto 1 -1 scale (Designated Router) show 1 -1 scale 409 214 moveto 1 -1 scale (Rtr Pri) show 1 -1 scale 190 214 moveto 1 -1 scale (HelloInterval) show 1 -1 scale 250 233 moveto 1 -1 scale (RouterDeadInterval) show 1 -1 scale 274 194 moveto 1 -1 scale (Network mask) show 1 -1 scale 314 314 moveto 1 -1 scale (.) show 1 -1 scale 315 325 moveto 1 -1 scale (.) show 1 -1 scale 314 305 moveto 1 -1 scale (.) show 1 -1 scale 504 299 moveto 1 -1 scale (for each) show 1 -1 scale 504 284 moveto 1 -1 scale (Repeated) show 1 -1 scale 469 89 moveto 1 -1 scale (32) show 1 -1 scale 394 89 moveto 1 -1 scale (24) show 1 -1 scale 314 89 moveto 1 -1 scale (16) show 1 -1 scale 239 89 moveto 1 -1 scale (8) show 1 -1 scale 159 89 moveto 1 -1 scale (0) show 1 -1 scale 249 149 moveto 1 -1 scale (OSPF packet header) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1657 p (Network)s 10(mask)m t-rom.300 @sf 21(The)m 11(network)m 10(mask)m 10(associated)m 11(with)m 10(this)m 11(interface.)m 14(For)m 10(example,)m 10(if)m 11(the)m 10(interface)m 11(is)m 10(to)m 10 r 97 c 11(class)m 10 r 66 c 228 1706 p (network)s 10(whose)m 11(third)m 10(byte)m 11(is)m 10(used)m 10(for)m 11(subnetting,)m 10(the)m 11(network)m 10(mask)m 10(is)m c-med.300 @sf 11(0xffffff00)m t-rom.300 @sf 46 c t-bol.300 @sf 0 1785 p (Options)s t-rom.300 @sf 87(The)m 10(optional)m 10(capabilities)m 11(supported)m 10(by)m 11(the)m 10(router)m -1 r 44 c 10(as)m 10(documented)m 11(in)m 10(Section)m 11(A.2.)m t-bol.300 @sf 0 1864 p (HelloInterval)s t-rom.300 @sf 21(The)m 10(number)m 11(of)m 10(seconds)m 10(between)m 11(this)m 10(router)m 2 r 39 c -1 r 115 c 9(Hello)m 10(packets.)m t-bol.300 @sf 0 1943 p (Rtr)s 10(Pri)m t-rom.300 @sf 100(This)m 10(router)m 2 r 39 c -1 r 115 c 9(Router)m 10(Priority)m -1 r 46 c 13(Used)m 10(in)m 10(\(Backup\))m 11(Designated)m 10(Router)m 11(election.)m 14(If)m 10(set)m 10(to)m 11(0,)m 10(the)m 11(router)m 10(will)m 228 1993 p (be)s 10(ineligible)m 11(to)m 10(become)m 11(\(Backup\))m 10(Designated)m 10(Router)m -1 r 46 c t-bol.300 @sf 0 2072 p (RouterDeadInterval)s t-rom.300 @sf 21(The)m 10(number)m 11(of)m 10(seconds)m 10(before)m 11(declaring)m 10 r 97 c 11(silent)m 10(router)m 11(down.)m t-bol.300 @sf 0 2151 p (Designated)s 10(Router)m t-rom.300 @sf 21(The)m 11(identity)m 10(of)m 10(the)m 11(Designated)m 10(Router)m 11(for)m 10(this)m 11(network,)m 10(in)m 10(the)m 11(view)m 10(of)m 11(the)m 10(advertising)m 10(router)m -1 r 46 c 228 2201 p (The)s 10(Designated)m 11(Router)m 10(is)m 11(identi\014ed)m 10(here)m 10(by)m 11(its)m 10(IP)m 11(interface)m 10(address)m 10(on)m 11(the)m 10(network.)m 14(Set)m 11(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 10(if)m 228 2251 p (there)s 10(is)m 11(no)m 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 2330 p (Backup)s 10(Designated)m 11(Router)m t-rom.300 @sf 21(The)m 10(identity)m 10(of)m 11(the)m 10(Backup)m 11(Designated)m 10(Router)m 11(for)m 10(this)m 10(network,)m 11(in)m 10(the)m 11(view)m 10(of)m 10(the)m 228 2380 p (advertising)s 10(router)m -1 r 46 c 13(The)m 10(Backup)m 11(Designated)m 10(Router)m 11(is)m 10(identi\014ed)m 10(here)m 11(by)m 10(its)m 11(IP)m 10(interface)m 10(address)m 11(on)m 10(the)m 228 2429 p (network.)s 14(Set)m 10(to)m c-med.300 @sf 11(0.0.0.0)m t-rom.300 @sf 10(if)m 10(there)m 11(is)m 10(no)m 11(Backup)m 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 2508 p (Neighbor)s t-rom.300 @sf 61(The)m 11(Router)m 10(IDs)m 10(of)m 11(each)m 10(router)m 11(from)m 10(whom)m 11(valid)m 10(Hello)m 10(packets)m 11(have)m 10(been)m 11(seen)m 10(recently)m 10(on)m 11(the)m 10(network.)m 228 2558 p (Recently)s 10(means)m 11(in)m 10(the)m 11(last)m 10(RouterDeadInterval)m 10(seconds.)m 0 2723 p (Moy)s 1690([Page)m 10(101])m @eop 102 @bop0 102 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.3.3)s 42(The)m 10(Database)m 10(Description)m 11(packet)m t-rom.300 @sf 0 282 p (Database)s 10(Description)m 11(packets)m 10(are)m 11(OSPF)m 10(packet)m 10(type)m 11(2.)m 14(These)m 10(packets)m 11(are)m 10(exchanged)m 10(when)m 11(an)m 10(adjacency)m 11(is)m 10(being)m 0 332 p (initialized.)s 14(They)m 10(describe)m 11(the)m 10(contents)m 11(of)m 10(the)m 10(topological)m 11(database.)m 14(Multiple)m 10(packets)m 11(may)m 10(be)m 10(used)m 11(to)m 10(describe)m 11(the)m 0 382 p (database.)s 14(For)m 10(this)m 11(purpose)m 10 r 97 c 11(poll-response)m 10(procedure)m 10(is)m 11(used.)m 14(One)m 10(of)m 11(the)m 10(routers)m 10(is)m 11(designated)m 10(to)m 11(be)m 10(master)m -1 r 44 c 10(the)m 10(other)m 0 432 p 97 c 10(slave.)m 14(The)m 11(master)m 10(sends)m 11(Database)m 10(Description)m 10(packets)m 11(\(polls\))m 10(which)m 11(are)m 10(acknowledged)m 10(by)m 11(Database)m 10(Description)m 0 482 p (packets)s 10(sent)m 11(by)m 10(the)m 11(slave)m 10(\(responses\).)m 14(The)m 10(responses)m 11(are)m 10(linked)m 11(to)m 10(the)m 10(polls)m 11(via)m 10(the)m 11(packets')m 10(DD)m 11(sequence)m 10(numbers.)m 0 541 p (The)s 10(format)m 11(of)m 10(the)m 11(Database)m 10(Description)m 10(packet)m 11(is)m 10(very)m 11(similar)m 10(to)m 11(both)m 10(the)m 10(Link)m 11(State)m 10(Request)m 11(and)m 10(Link)m 10(State)m 0 591 p (Acknowledgment)s 10(packets.)m 14(The)m 10(main)m 11(part)m 10(of)m 10(all)m 11(three)m 10(is)m 10 r 97 c 11(list)m 10(of)m 10(items,)m 10(each)m 11(item)m 10(describing)m 10 r 97 c 11(piece)m 10(of)m 10(the)m 11(topological)m 0 640 p (database.)s 14(The)m 10(sending)m 11(of)m 10(Database)m 11(Description)m 10(Packets)m 10(is)m 11(documented)m 10(in)m 11(Section)m 10(10.8.)m 14(The)m 10(reception)m 11(of)m 10(Database)m 0 690 p (Description)s 10(packets)m 11(is)m 10(documented)m 11(in)m 10(Section)m 10(10.6.)m 0 703 p 27496776 16708567 5854576 30785863 33351352 47494430 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/ddpkt.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:53:52 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 89 468 507 722 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 159 299 moveto 179 299 lineto stroke % Polyline newpath 159 279 moveto 179 279 lineto stroke % Polyline newpath 159 259 moveto 179 259 lineto stroke % Polyline newpath 159 239 moveto 179 239 lineto stroke % Polyline newpath 239 114 moveto 319 114 lineto stroke % Polyline newpath 479 99 moveto 479 359 lineto stroke % Polyline newpath 159 99 moveto 159 359 lineto stroke % Polyline newpath 489 219 moveto 499 219 lineto 499 319 lineto 489 319 lineto stroke % Polyline newpath 454 189 moveto 474 159 lineto 489 159 lineto stroke % Polyline newpath 464 189 moveto 474 174 lineto 489 174 lineto stroke % Polyline newpath 474 189 moveto 489 189 lineto stroke % Polyline newpath 159 179 moveto 479 179 lineto stroke % Polyline newpath 469 179 moveto 469 199 lineto stroke % Polyline newpath 449 179 moveto 449 199 lineto stroke % Polyline newpath 459 179 moveto 459 199 lineto stroke % Polyline newpath 429 179 moveto 429 189 lineto stroke % Polyline newpath 409 179 moveto 409 189 lineto stroke % Polyline newpath 419 179 moveto 419 189 lineto stroke % Polyline newpath 439 179 moveto 439 189 lineto stroke % Polyline newpath 399 99 moveto 399 114 lineto stroke % Polyline newpath 319 99 moveto 319 114 lineto stroke % Polyline newpath 239 99 moveto 239 114 lineto stroke % Polyline newpath 159 319 moveto 479 319 lineto stroke % Polyline newpath 399 179 moveto 399 199 lineto stroke % Polyline newpath 319 179 moveto 319 199 lineto stroke % Polyline newpath 239 179 moveto 239 199 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 159 114 moveto 179 114 lineto stroke % Polyline newpath 159 124 moveto 179 124 lineto stroke % Polyline newpath 159 139 moveto 179 139 lineto stroke % Polyline newpath 159 149 moveto 179 149 lineto stroke % Polyline newpath 159 164 moveto 179 164 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 297 289 moveto 1 -1 scale (Header) show 1 -1 scale 268 269 moveto 1 -1 scale (Advertisement) show 1 -1 scale 280 251 moveto 1 -1 scale (Link State) show 1 -1 scale 332 194 moveto 1 -1 scale (Options) show 1 -1 scale 274 109 moveto 1 -1 scale (2) show 1 -1 scale 249 214 moveto 1 -1 scale (DD sequence number) show 1 -1 scale 314 349 moveto 1 -1 scale (.) show 1 -1 scale 314 339 moveto 1 -1 scale (.) show 1 -1 scale 314 329 moveto 1 -1 scale (.) show 1 -1 scale 509 284 moveto 1 -1 scale (LS adv.) show 1 -1 scale 494 194 moveto 1 -1 scale (MS bit) show 1 -1 scale 494 179 moveto 1 -1 scale (M bit) show 1 -1 scale 494 164 moveto 1 -1 scale (I bit) show 1 -1 scale 419 194 moveto 1 -1 scale (0) show 1 -1 scale 274 194 moveto 1 -1 scale (0) show 1 -1 scale 199 194 moveto 1 -1 scale (0) show 1 -1 scale 504 269 moveto 1 -1 scale (for each) show 1 -1 scale 504 254 moveto 1 -1 scale (Repeated) show 1 -1 scale 469 89 moveto 1 -1 scale (32) show 1 -1 scale 394 89 moveto 1 -1 scale (24) show 1 -1 scale 314 89 moveto 1 -1 scale (16) show 1 -1 scale 239 89 moveto 1 -1 scale (8) show 1 -1 scale 159 89 moveto 1 -1 scale (0) show 1 -1 scale 249 149 moveto 1 -1 scale (OSPF packet header) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1843 p 48 c t-rom.300 @sf 125(These)m 10(\014elds)m 11(are)m 10(reserved.)m 14(They)m 10(must)m 11(be)m 10(0.)m t-bol.300 @sf 0 1918 p (Options)s t-rom.300 @sf 21(The)m 10(optional)m 11(capabilities)m 10(supported)m 10(by)m 11(the)m 10(router)m 44 c 9(as)m 10(documented)m 11(in)m 10(Section)m 11(A.2.)m t-bol.300 @sf 0 1993 p (I-bit)s t-rom.300 @sf 67(The)m 10(Init)m 11(bit.)m 14(When)m 10(set)m 11(to)m 10(1,)m 10(this)m 11(packet)m 10(is)m 11(the)m 10(\014rst)m 11(in)m 10(the)m 10(sequence)m 11(of)m 10(Database)m 11(Description)m 10(Packets.)m t-bol.300 @sf 0 2068 p (M-bit)s t-rom.300 @sf 44(The)m 10(More)m 11(bit.)m 14(When)m 10(set)m 10(to)m 11(1,)m 10(it)m 11(indicates)m 10(that)m 11(more)m 10(Database)m 10(Description)m 11(Packets)m 10(are)m 11(to)m 10(follow)m -2 r 46 c t-bol.300 @sf 0 2143 p (MS-bit)s t-rom.300 @sf 21(The)m 10(Master/Slave)m 11(bit.)m 13(When)m 11(set)m 10(to)m 11(1,)m 10(it)m 11(indicates)m 10(that)m 10(the)m 11(router)m 10(is)m 11(the)m 10(master)m 10(during)m 11(the)m 10(Database)m 11(Exchange)m 146 2193 p (process.)s 14(Otherwise,)m 10(the)m 10(router)m 11(is)m 10(the)m 11(slave.)m t-bol.300 @sf 0 2268 p (DD)s 10(sequence)m 11(number)m t-rom.300 @sf 21(Used)m 10(to)m 9(sequence)m 10(the)m 10(collection)m 10(of)m 10(Database)m 10(Description)m 10(Packets.)m 14(The)m 10(initial)m 10(value)m 9(\(indicated)m 146 2318 p (by)s 10(the)m 11(Init)m 10(bit)m 10(being)m 11(set\))m 10(should)m 11(be)m 10(unique.)m 14(The)m 10(DD)m 11(sequence)m 10(number)m 11(then)m 10(increments)m 10(until)m 11(the)m 10(complete)m 146 2368 p (database)s 10(description)m 11(has)m 10(been)m 10(sent.)m 0 2449 p (The)s 10(rest)m 11(of)m 10(the)m 11(packet)m 10(consists)m 10(of)m 11 r 97 c 10(\(possibly)m 11(partial\))m 10(list)m 11(of)m 10(the)m 10(topological)m 11(database')m -1 r 115 c 9(pieces.)m 14(Each)m 10(link)m 11(state)m 0 2498 p (advertisement)s 10(in)m 11(the)m 10(database)m 11(is)m 10(described)m 10(by)m 11(its)m 10(link)m 11(state)m 10(advertisement)m 11(header)m -2 r 46 c 13(The)m 11(link)m 10(state)m 10(advertisement)m 11(header)m 0 2548 p (is)s 10(documented)m 11(in)m 10(Section)m 11(A.4.1.)m 14(It)m 10(contains)m 10(all)m 11(the)m 10(information)m 11(required)m 10(to)m 10(uniquely)m 11(identify)m 10(both)m 11(the)m 10(advertisement)m 0 2598 p (and)s 10(the)m 11(advertisement')m -1 r 115 c 9(current)m 10(instance.)m 0 2723 p (Moy)s 1690([Page)m 10(102])m @eop 103 @bop0 103 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.3.4)s 42(The)m 10(Link)m 10(State)m 11(Request)m 10(packet)m t-rom.300 @sf 0 291 p (Link)s 10(State)m 11(Request)m 10(packets)m 11(are)m 10(OSPF)m 10(packet)m 11(type)m 10(3.)m 14(After)m 11(exchanging)m 10(Database)m 10(Description)m 11(packets)m 10(with)m 11 r 97 c 0 341 p (neighboring)s 10(router)m 44 c 9 r 97 c 11(router)m 10(may)m 10(\014nd)m 11(that)m 10(parts)m 11(of)m 10(its)m 10(topological)m 11(database)m 10(are)m 11(out)m 10(of)m 11(date.)m 13(The)m 11(Link)m 10(State)m 11(Request)m 0 390 p (packet)s 10(is)m 11(used)m 10(to)m 11(request)m 10(the)m 10(pieces)m 11(of)m 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(database)m 11(that)m 10(are)m 11(more)m 10(up)m 10(to)m 11(date.)m 14(Multiple)m 10(Link)m 11(State)m 10(Request)m 0 440 p (packets)s 10(may)m 11(need)m 10(to)m 11(be)m 10(used.)m 14(The)m 10(sending)m 11(of)m 10(Link)m 11(State)m 10(Request)m 10(packets)m 11(is)m 10(the)m 11(last)m 10(step)m 11(in)m 10(bringing)m 10(up)m 11(an)m 10(adjacency)m -1 r 46 c 0 508 p 65 c 10(router)m 11(that)m 10(sends)m 11 r 97 c 10(Link)m 10(State)m 11(Request)m 10(packet)m 11(has)m 10(in)m 11(mind)m 10(the)m 10(precise)m 11(instance)m 10(of)m 11(the)m 10(database)m 10(pieces)m 11(it)m 10(is)m 0 558 p (requesting,)s 10(de\014ned)m 11(by)m 10(LS)m 11(sequence)m 10(number)m -1 r 44 c 10(LS)m 10(checksum,)m 11(and)m 10(LS)m 10(age,)m 11(although)m 10(these)m 11(\014elds)m 10(are)m 11(not)m 10(speci\014ed)m 10(in)m 11(the)m 0 608 p (Link)s 10(State)m 11(Request)m 10(Packet)m 11(itself.)m 14(The)m 10(router)m 10(may)m 11(receive)m 10(even)m 11(more)m 10(recent)m 10(instances)m 11(in)m 10(response.)m 0 675 p (The)s 10(sending)m 11(of)m 10(Link)m 11(State)m 10(Request)m 10(packets)m 11(is)m 10(documented)m 11(in)m 10(Section)m 11(10.9.)m 13(The)m 11(reception)m 10(of)m 11(Link)m 10(State)m 11(Request)m 0 725 p (packets)s 10(is)m 11(documented)m 10(in)m 11(Section)m 10(10.7.)m 0 738 p 27694121 11972280 5788794 35522150 33482915 47494430 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/lsreq.fig %%Creator: f2ps %%CreationDate: Fri Jun 8 17:29:07 1990 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 88 540 509 722 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 239 114 moveto 319 114 lineto stroke % Polyline newpath 479 99 moveto 479 279 lineto stroke % Polyline newpath 159 99 moveto 159 279 lineto stroke % Polyline newpath 484 179 moveto 499 179 lineto 499 239 lineto 489 239 lineto stroke % Polyline newpath 159 179 moveto 479 179 lineto stroke % Polyline newpath 399 99 moveto 399 114 lineto stroke % Polyline newpath 319 99 moveto 319 114 lineto stroke % Polyline newpath 239 99 moveto 239 114 lineto stroke % Polyline newpath 159 239 moveto 479 239 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 159 114 moveto 179 114 lineto stroke % Polyline newpath 159 124 moveto 179 124 lineto stroke % Polyline newpath 159 139 moveto 179 139 lineto stroke % Polyline newpath 159 149 moveto 179 149 lineto stroke % Polyline newpath 159 164 moveto 179 164 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 274 109 moveto 1 -1 scale (3) show 1 -1 scale 314 269 moveto 1 -1 scale (.) show 1 -1 scale 314 249 moveto 1 -1 scale (.) show 1 -1 scale 314 259 moveto 1 -1 scale (.) show 1 -1 scale 514 224 moveto 1 -1 scale (LS adv.) show 1 -1 scale 504 209 moveto 1 -1 scale (for each) show 1 -1 scale 504 194 moveto 1 -1 scale (Repeated) show 1 -1 scale 469 89 moveto 1 -1 scale (32) show 1 -1 scale 394 89 moveto 1 -1 scale (24) show 1 -1 scale 314 89 moveto 1 -1 scale (16) show 1 -1 scale 239 89 moveto 1 -1 scale (8) show 1 -1 scale 159 89 moveto 1 -1 scale (0) show 1 -1 scale 254 234 moveto 1 -1 scale (Advertising Router) show 1 -1 scale 269 214 moveto 1 -1 scale (Link State ID) show 1 -1 scale 289 194 moveto 1 -1 scale (LS type) show 1 -1 scale 249 149 moveto 1 -1 scale (OSPF packet header) show 1 -1 scale showpage $F2psEnd endTexFig 0 1564 p (Each)s 10(advertisement)m 11(requested)m 10(is)m 11(speci\014ed)m 10(by)m 10(its)m 11(LS)m 10(type,)m 11(Link)m 10(State)m 11(ID,)m 10(and)m 10(Advertising)m 11(Router)m -1 r 46 c 12(This)m 11(uniquely)m 0 1614 p (identi\014es)s 10(the)m 11(advertisement,)m 10(but)m 11(not)m 10(its)m 10(instance.)m 14(Link)m 11(State)m 10(Request)m 11(packets)m 10(are)m 10(understood)m 11(to)m 10(be)m 11(requests)m 10(for)m 11(the)m 0 1664 p (most)s 10(recent)m 11(instance)m 10(\(whatever)m 11(that)m 10(might)m 10(be\).)m 0 2723 p (Moy)s 1690([Page)m 10(103])m @eop 104 @bop0 104 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.3.5)s 42(The)m 10(Link)m 10(State)m 11(Update)m 10(packet)m t-rom.300 @sf 0 291 p (Link)s 10(State)m 11(Update)m 10(packets)m 11(are)m 10(OSPF)m 10(packet)m 11(type)m 10(4.)m 14(These)m 11(packets)m 10(implement)m 10(the)m 11(\015ooding)m 10(of)m 11(link)m 10(state)m 0 341 p (advertisements.)s 14(Each)m 10(Link)m 11(State)m 10(Update)m 11(packet)m 10(carries)m 10 r 97 c 11(collection)m 10(of)m 11(link)m 10(state)m 10(advertisements)m 11(one)m 10(hop)m 11(further)m 10(from)m 0 390 p (its)s 10(origin.)m 14(Several)m 11(link)m 10(state)m 11(advertisements)m 10(may)m 10(be)m 11(included)m 10(in)m 11 r 97 c 10(single)m 10(packet.)m 0 458 p (Link)s 10(State)m 11(Update)m 10(packets)m 11(are)m 10(multicast)m 10(on)m 11(those)m 10(physical)m 11(networks)m 10(that)m 11(support)m 10(multicast/broadcast.)m 14(In)m 10(order)m 11(to)m 0 508 p (make)s 10(the)m 11(\015ooding)m 10(procedure)m 11(reliable,)m 10(\015ooded)m 10(advertisements)m 11(are)m 10(acknowledged)m 11(in)m 10(Link)m 11(State)m 10(Acknowledgment)m 0 558 p (packets.)s 14(If)m 10(retransmission)m 11(of)m 10(certain)m 11(advertisements)m 10(is)m 10(necessary)m -1 r 44 c 9(the)m 11(retransmitted)m 10(advertisements)m 10(are)m 11(always)m 10(carried)m 0 608 p (by)s 10(unicast)m 11(Link)m 10(State)m 11(Update)m 10(packets.)m 14(For)m 10(more)m 11(information)m 10(on)m 11(the)m 10(reliable)m 10(\015ooding)m 11(of)m 10(link)m 11(state)m 10(advertisements,)m 0 657 p (consult)s 10(Section)m 11(13.)m 0 662 p 29799138 17892639 1381416 29338664 31180554 47231303 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/lsupd.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:53:55 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 21 446 474 718 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 64 104 moveto 384 104 lineto stroke % Polyline newpath 64 169 moveto 84 169 lineto stroke % Polyline newpath 64 154 moveto 84 154 lineto stroke % Polyline newpath 64 144 moveto 84 144 lineto stroke % Polyline newpath 64 129 moveto 84 129 lineto stroke % Polyline newpath 64 119 moveto 84 119 lineto stroke % Polyline newpath 64 204 moveto 384 204 lineto stroke % Polyline newpath 144 104 moveto 144 119 lineto stroke % Polyline newpath 224 104 moveto 224 119 lineto stroke % Polyline newpath 304 104 moveto 304 119 lineto stroke % Polyline newpath 64 184 moveto 384 184 lineto stroke % Polyline newpath 65 344 moveto 385 344 lineto stroke % Polyline newpath 144 119 moveto 224 119 lineto stroke % Polyline newpath 64 104 moveto 64 383 lineto stroke % Polyline newpath 384 105 moveto 384 384 lineto stroke % Polyline newpath 389 204 moveto 404 204 lineto 404 344 lineto 389 344 lineto stroke /Courier findfont 12.222222 scalefont setfont 449 294 moveto 1 -1 scale (times) show 1 -1 scale 409 274 moveto 1 -1 scale (# advertisements) show 1 -1 scale 154 154 moveto 1 -1 scale (OSPF packet header) show 1 -1 scale 64 94 moveto 1 -1 scale (0) show 1 -1 scale 144 94 moveto 1 -1 scale (8) show 1 -1 scale 219 94 moveto 1 -1 scale (16) show 1 -1 scale 299 94 moveto 1 -1 scale (24) show 1 -1 scale 374 94 moveto 1 -1 scale (32) show 1 -1 scale 434 254 moveto 1 -1 scale (Repeated) show 1 -1 scale 164 199 moveto 1 -1 scale (# advertisements) show 1 -1 scale 134 269 moveto 1 -1 scale (Link state advertisement) show 1 -1 scale 222 374 moveto 1 -1 scale (.) show 1 -1 scale 222 365 moveto 1 -1 scale (.) show 1 -1 scale 222 354 moveto 1 -1 scale (.) show 1 -1 scale 179 114 moveto 1 -1 scale (4) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1905 p 35 c 10(advertisements)m t-rom.300 @sf 21(The)m 11(number)m 10(of)m 10(link)m 11(state)m 10(advertisements)m 11(included)m 10(in)m 11(this)m 10(update.)m 0 2014 p (The)s 10(body)m 11(of)m 10(the)m 11(Link)m 10(State)m 10(Update)m 11(packet)m 10(consists)m 11(of)m 10 r 97 c 11(list)m 10(of)m 10(link)m 11(state)m 10(advertisements.)m 14(Each)m 11(advertisement)m 10(begins)m 0 2064 p (with)s 10 r 97 c 11(common)m 10(20)m 11(byte)m 10(header)m -1 r 44 c 10(the)m 10(link)m 11(state)m 10(advertisement)m 10(header)m -1 r 46 c 13(This)m 11(header)m 10(is)m 10(described)m 11(in)m 10(Section)m 11(A.4.1.)m 0 2113 p (Otherwise,)s 10(the)m 10(format)m 10(of)m 10(each)m 10(of)m 9(the)m 10(\014ve)m 10(types)m 10(of)m 10(link)m 10(state)m 10(advertisements)m 10(is)m 10(dif)m (ferent.)s 13(Their)m 9(formats)m 10(are)m 10(described)m 10(in)m 0 2163 p (Section)s 10(A.4.)m 0 2723 p (Moy)s 1690([Page)m 10(104])m @eop 105 @bop0 105 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.3.6)s 42(The)m 10(Link)m 10(State)m 11(Acknowledgment)m 10(packet)m t-rom.300 @sf 0 291 p (Link)s 10(State)m 11(Acknowledgment)m 10(Packets)m 11(are)m 10(OSPF)m 10(packet)m 11(type)m 10(5.)m 14 r 84 c -2 r 111 c 10(make)m 10(the)m 11(\015ooding)m 10(of)m 10(link)m 11(state)m 10(advertisements)m 0 341 p (reliable,)s 10(\015ooded)m 11(advertisements)m 10(are)m 11(explicitly)m 10(acknowledged.)m 14(This)m 10(acknowledgment)m 11(is)m 10(accomplished)m 11(through)m 10(the)m 0 390 p (sending)s 10(and)m 11(receiving)m 10(of)m 11(Link)m 10(State)m 10(Acknowledgment)m 11(packets.)m 14(Multiple)m 10(link)m 11(state)m 10(advertisements)m 10(can)m 11(be)m 0 440 p (acknowledged)s 10(in)m 11 r 97 c 10(single)m 11(Link)m 10(State)m 10(Acknowledgment)m 11(packet.)m 0 508 p (Depending)s 10(on)m 11(the)m 10(state)m 11(of)m 10(the)m 10(sending)m 11(interface)m 10(and)m 11(the)m 10(source)m 11(of)m 10(the)m 10(advertisements)m 11(being)m 10(acknowledged,)m 11 r 97 c 10(Link)m 0 558 p (State)s 10(Acknowledgment)m 11(packet)m 10(is)m 11(sent)m 10(either)m 10(to)m 11(the)m 10(multicast)m 11(address)m 10(AllSPFRouters,)m 11(to)m 10(the)m 10(multicast)m 11(address)m 0 608 p (AllDRouters,)s 10(or)m 11(as)m 10 r 97 c 11(unicast.)m 14(The)m 10(sending)m 10(of)m 11(Link)m 10(State)m 11(Acknowledgement)m 10(packets)m 10(is)m 11(documented)m 10(in)m 11(Section)m 10(13.5.)m 0 657 p (The)s 10(reception)m 11(of)m 10(Link)m 11(State)m 10(Acknowledgement)m 10(packets)m 11(is)m 10(documented)m 11(in)m 10(Section)m 11(13.7.)m 0 725 p (The)s 10(format)m 11(of)m 10(this)m 11(packet)m 10(is)m 10(similar)m 11(to)m 10(that)m 11(of)m 10(the)m 11(Data)m 10(Description)m 10(packet.)m 14(The)m 11(body)m 10(of)m 11(both)m 10(packets)m 10(is)m 11(simply)m 10 r 97 c 11(list)m 0 775 p (of)s 10(link)m 11(state)m 10(advertisement)m 11(headers.)m 0 780 p 27562558 14340423 5854576 33154007 33417134 47494430 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/lsack.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:53:58 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 89 504 508 722 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 159 259 moveto 179 259 lineto stroke % Polyline newpath 159 239 moveto 179 239 lineto stroke % Polyline newpath 159 219 moveto 179 219 lineto stroke % Polyline newpath 159 199 moveto 179 199 lineto stroke % Polyline newpath 239 114 moveto 319 114 lineto stroke % Polyline newpath 479 99 moveto 479 319 lineto stroke % Polyline newpath 160 100 moveto 159 317 lineto stroke % Polyline newpath 488 179 moveto 498 179 lineto 498 279 lineto 488 279 lineto stroke % Polyline newpath 159 179 moveto 479 179 lineto stroke % Polyline newpath 399 99 moveto 399 114 lineto stroke % Polyline newpath 319 99 moveto 319 114 lineto stroke % Polyline newpath 239 99 moveto 239 114 lineto stroke % Polyline newpath 159 279 moveto 479 279 lineto stroke % Polyline newpath 159 114 moveto 179 114 lineto stroke % Polyline newpath 159 124 moveto 179 124 lineto stroke % Polyline newpath 159 139 moveto 179 139 lineto stroke % Polyline newpath 159 149 moveto 179 149 lineto stroke % Polyline newpath 159 164 moveto 179 164 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 294 254 moveto 1 -1 scale (Header) show 1 -1 scale 264 234 moveto 1 -1 scale (Advertisement) show 1 -1 scale 274 214 moveto 1 -1 scale (Link state) show 1 -1 scale 275 110 moveto 1 -1 scale (5) show 1 -1 scale 314 309 moveto 1 -1 scale (.) show 1 -1 scale 314 289 moveto 1 -1 scale (.) show 1 -1 scale 314 299 moveto 1 -1 scale (.) show 1 -1 scale 510 245 moveto 1 -1 scale (LS adv.) show 1 -1 scale 504 229 moveto 1 -1 scale (for each) show 1 -1 scale 505 213 moveto 1 -1 scale (Repeated) show 1 -1 scale 469 89 moveto 1 -1 scale (32) show 1 -1 scale 394 89 moveto 1 -1 scale (24) show 1 -1 scale 314 89 moveto 1 -1 scale (16) show 1 -1 scale 239 89 moveto 1 -1 scale (8) show 1 -1 scale 159 89 moveto 1 -1 scale (0) show 1 -1 scale 249 149 moveto 1 -1 scale (OSPF packet header) show 1 -1 scale showpage $F2psEnd endTexFig 0 1756 p (Each)s 10(acknowledged)m 11(link)m 10(state)m 11(advertisement)m 10(is)m 10(described)m 11(by)m 10(its)m 11(link)m 10(state)m 11(advertisement)m 10(header)m -1 r 46 c 13(The)m 10(link)m 10(state)m 0 1805 p (advertisement)s 10(header)m 11(is)m 10(documented)m 11(in)m 10(Section)m 10(A.4.1.)m 14(It)m 11(contains)m 10(all)m 11(the)m 10(information)m 10(required)m 11(to)m 10(uniquely)m 11(identify)m 0 1855 p (both)s 10(the)m 11(advertisement)m 10(and)m 11(the)m 10(advertisement')m -1 r 115 c 9(current)m 11(instance.)m 0 2723 p (Moy)s 1690([Page)m 10(105])m @eop 106 @bop0 106 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.360 @sf 0 195 p (A.4)s 50(Link)m 12(state)m 13(advertisement)m 12(formats)m t-rom.300 @sf 0 291 p (There)s 10(are)m 11(\014ve)m 10(distinct)m 11(types)m 10(of)m 10(link)m 11(state)m 10(advertisements.)m 14(Each)m 11(link)m 10(state)m 10(advertisement)m 11(begins)m 10(with)m 11 r 97 c 10(standard)m 0 341 p (20-byte)s 10(link)m 10(state)m 10(advertisement)m 10(header)m -1 r 46 c 13(This)m 10(header)m 10(is)m 10(explained)m 10(in)m 10(Section)m 10(A.4.1.)m 14(Succeeding)m 10(sections)m 10(then)m 10(diagram)m 0 390 p (the)s 10(separate)m 11(link)m 10(state)m 11(advertisement)m 10(types.)m 0 458 p (Each)s 10(link)m 11(state)m 10(advertisement)m 11(describes)m 10 r 97 c 10(piece)m 11(of)m 10(the)m 11(OSPF)m 10(routing)m 11(domain.)m 13(Every)m 11(router)m 10(originates)m 11 r 97 c 10(router)m 11(links)m 0 508 p (advertisement.)s 14(In)m 10(addition,)m 11(whenever)m 10(the)m 11(router)m 10(is)m 10(elected)m 11(Designated)m 10(Router)m 44 c 9(it)m 10(originates)m 11 r 97 c 10(network)m 11(links)m 0 558 p (advertisement.)s 14(Other)m 10(types)m 11(of)m 10(link)m 11(state)m 10(advertisements)m 10(may)m 11(also)m 10(be)m 11(originated)m 10(\(see)m 10(Section)m 11(12.4\).)m 14(All)m 10(link)m 11(state)m 0 608 p (advertisements)s 10(are)m 11(then)m 10(\015ooded)m 11(throughout)m 10(the)m 10(OSPF)m 11(routing)m 10(domain.)m 14(The)m 11(\015ooding)m 10(algorithm)m 10(is)m 11(reliable,)m 10(ensuring)m 0 657 p (that)s 10(all)m 11(routers)m 10(have)m 11(the)m 10(same)m 10(collection)m 11(of)m 10(link)m 11(state)m 10(advertisements.)m 14(\(See)m 10(Section)m 11(13)m 10(for)m 11(more)m 10(information)m 0 707 p (concerning)s 9(the)m 9(\015ooding)m 10(algorithm\).)m 13(This)m 9(collection)m 10(of)m 9(advertisements)m 9(is)m 9(called)m 9(the)m 10(link)m 9(state)m 9(\(or)m 9(topological\))m 9(database.)m 0 775 p (From)s 10(the)m 11(link)m 10(state)m 11(database,)m 10(each)m 10(router)m 11(constructs)m 10 r 97 c 11(shortest)m 10(path)m 11(tree)m 10(with)m 10(itself)m 11(as)m 10(root.)m 14(This)m 11(yields)m 10 r 97 c 10(routing)m 11(table)m 0 825 p (\(see)s 10(Section)m 11 r 49 c -1(1\).)m 13(For)m 11(the)m 10(details)m 10(of)m 11(the)m 10(routing)m 11(table)m 10(build)m 11(process,)m 10(see)m 10(Section)m 11(16.)m 0 2723 p (Moy)s 1690([Page)m 10(106])m @eop 107 @bop0 107 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.4.1)s 42(The)m 10(Link)m 10(State)m 11(Advertisement)m 10(header)m t-rom.300 @sf 0 291 p (All)s 10(link)m 11(state)m 10(advertisements)m 11(begin)m 10(with)m 10 r 97 c 11(common)m 10(20)m 11(byte)m 10(header)m -1 r 46 c 13(This)m 10(header)m 11(contains)m 10(enough)m 10(information)m 11(to)m 0 341 p (uniquely)s 10(identify)m 11(the)m 10(advertisement)m 11(\(LS)m 10(type,)m 10(Link)m 11(State)m 10(ID,)m 11(and)m 10(Advertising)m 11(Router\).)m 13(Multiple)m 11(instances)m 10(of)m 11(the)m 10(link)m 0 390 p (state)s 10(advertisement)m 11(may)m 10(exist)m 11(in)m 10(the)m 10(routing)m 11(domain)m 10(at)m 11(the)m 10(same)m 11(time.)m 13(It)m 11(is)m 10(then)m 11(necessary)m 10(to)m 11(determine)m 10(which)m 0 440 p (instance)s 10(is)m 11(more)m 10(recent.)m 14(This)m 11(is)m 10(accomplished)m 10(by)m 11(examining)m 10(the)m 11(LS)m 10(age,)m 10(LS)m 11(sequence)m 10(number)m 11(and)m 10(LS)m 11(checksum)m 0 490 p (\014elds)s 10(that)m 11(are)m 10(also)m 11(contained)m 10(in)m 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(header)m -1 r 46 c 0 495 p 26444268 7564902 2236579 40258437 28680847 47823339 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/lshdr.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:53:59 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 34 612 436 727 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 399 99 moveto 399 119 lineto stroke % Polyline newpath 479 99 moveto 479 199 lineto stroke % Polyline newpath 159 99 moveto 159 199 lineto stroke % Polyline newpath 319 179 moveto 319 199 lineto stroke % Polyline newpath 319 99 moveto 319 119 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 159 179 moveto 479 179 lineto stroke % Polyline newpath 159 159 moveto 479 159 lineto stroke % Polyline newpath 159 139 moveto 479 139 lineto stroke % Polyline newpath 159 119 moveto 479 119 lineto stroke % Polyline newpath 399 89 moveto 399 99 lineto stroke % Polyline newpath 319 89 moveto 319 99 lineto stroke % Polyline newpath 239 89 moveto 239 99 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 329 114 moveto 1 -1 scale (Options) show 1 -1 scale 374 194 moveto 1 -1 scale (length) show 1 -1 scale 194 194 moveto 1 -1 scale (LS checksum) show 1 -1 scale 249 174 moveto 1 -1 scale (LS sequence number) show 1 -1 scale 249 154 moveto 1 -1 scale (Advertising Router) show 1 -1 scale 264 134 moveto 1 -1 scale (Link State ID) show 1 -1 scale 414 113 moveto 1 -1 scale (LS type) show 1 -1 scale 209 114 moveto 1 -1 scale (LS age) show 1 -1 scale 469 84 moveto 1 -1 scale (32) show 1 -1 scale 394 84 moveto 1 -1 scale (24) show 1 -1 scale 309 84 moveto 1 -1 scale (16) show 1 -1 scale 234 84 moveto 1 -1 scale (8) show 1 -1 scale 159 84 moveto 1 -1 scale (0) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1083 p (LS)s 10(age)m t-rom.300 @sf 37(The)m 11(time)m 10(in)m 11(seconds)m 10(since)m 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(was)m 11(originated.)m t-bol.300 @sf 0 1166 p (Options)s t-rom.300 @sf 21(The)m 10(optional)m 11(capabilities)m 10(supported)m 10(by)m 11(the)m 10(described)m 11(portion)m 10(of)m 11(the)m 10(routing)m 10(domain.)m 14(OSPF')m -1 r 115 c 9(optional)m 159 1216 p (capabilities)s 10(are)m 10(documented)m 11(in)m 10(Section)m 11(A.2.)m t-bol.300 @sf 0 1299 p (LS)s 10(type)m t-rom.300 @sf 21(The)m 11(type)m 10(of)m 10(the)m 11(link)m 10(state)m 11(advertisement.)m 14(Each)m 10(link)m 10(state)m 11(type)m 10(has)m 11 r 97 c 10(separate)m 10(advertisement)m 11(format.)m 14(The)m 10(link)m 159 1349 p (state)s 10(types)m 10(are)m 11(as)m 10(follows)m 11(\(see)m 10(Section)m 10(12.1.3)m 11(for)m 10(further)m 11(explanation\):)m 709 1405 p 692 2 ru 708 1455 p 2 50 ru t-ita.300 @sf 733 1440 p (LS)s 11 r 84 c -2(ype)m 890 1455 p 2 50 ru 916 1440 p (Description)s 1399 1455 p 2 50 ru 709 1457 p 692 2 ru 708 1506 p 2 50 ru t-rom.300 @sf 789 1491 p 49 c 890 1506 p 2 50 ru 916 1491 p (Router)s 10(links)m 1399 1506 p 2 50 ru 708 1556 p 2 50 ru 789 1541 p 50 c 890 1556 p 2 50 ru 916 1541 p (Network)s 10(links)m 1399 1556 p 2 50 ru 708 1606 p 2 50 ru 789 1591 p 51 c 890 1606 p 2 50 ru 916 1591 p (Summary)s 10(link)m 10(\(IP)m 11(network\))m 1399 1606 p 2 50 ru 708 1656 p 2 50 ru 789 1641 p 52 c 890 1656 p 2 50 ru 916 1641 p (Summary)s 10(link)m 10(\(ASBR\))m 1399 1656 p 2 50 ru 708 1706 p 2 50 ru 789 1691 p 53 c 890 1706 p 2 50 ru 916 1691 p (AS)s 10(external)m 10(link)m 1399 1706 p 2 50 ru 709 1707 p 692 2 ru t-bol.300 @sf 0 1798 p (Link)s 10(State)m 11(ID)m t-rom.300 @sf 21(This)m 10(\014eld)m 10(identi\014es)m 11(the)m 10(portion)m 11(of)m 10(the)m 11(internet)m 10(environment)m 10(that)m 11(is)m 10(being)m 11(described)m 10(by)m 10(the)m 159 1848 p (advertisement.)s 13(The)m 11(contents)m 10(of)m 11(this)m 10(\014eld)m 10(depend)m 11(on)m 10(the)m 11(advertisement')m -2 r 115 c 10(LS)m 10(type.)m 14(For)m 11(example,)m 10(in)m 10(network)m 159 1898 p (links)s 10(advertisements)m 10(the)m 11(Link)m 10(State)m 11(ID)m 10(is)m 10(set)m 11(to)m 10(the)m 11(IP)m 10(interface)m 10(address)m 11(of)m 10(the)m 11(network')m -2 r 115 c 10(Designated)m 10(Router)m 159 1948 p (\(from)s 10(which)m 10(the)m 11(network')m -2 r 115 c 10(IP)m 10(address)m 11(can)m 10(be)m 11(derived\).)m 13(The)m 11(Link)m 10(State)m 11(ID)m 10(is)m 11(further)m 10(discussed)m 10(in)m 159 1998 p (Section)s 10(12.1.4.)m t-bol.300 @sf 0 2081 p (Advertising)s 10(Router)m t-rom.300 @sf 21(The)m 11(Router)m 10(ID)m 10(of)m 11(the)m 10(router)m 11(that)m 10(originated)m 11(the)m 10(link)m 10(state)m 11(advertisement.)m 14(For)m 10(example,)m 10(in)m 159 2131 p (network)s 10(links)m 10(advertisements)m 11(this)m 10(\014eld)m 11(is)m 10(set)m 10(to)m 11(the)m 10(Router)m 11(ID)m 10(of)m 10(the)m 11(network')m -1 r 115 c 9(Designated)m 10(Router)m -1 r 46 c t-bol.300 @sf 0 2214 p (LS)s 10(sequence)m 11(number)m t-rom.300 @sf 21(Detects)m 10(old)m 10(or)m 11(duplicate)m 10(link)m 11(state)m 10(advertisements.)m 14(Successive)m 10(instances)m 11(of)m 10 r 97 c 11(link)m 10(state)m 159 2263 p (advertisement)s 10(are)m 10(given)m 11(successive)m 10(LS)m 11(sequence)m 10(numbers.)m 14(See)m 10(Section)m 11(12.1.6)m 10(for)m 11(more)m 10(details.)m t-bol.300 @sf 0 2346 p (LS)s 10(checksum)m t-rom.300 @sf 21(The)m 11(Fletcher)m 10(checksum)m 10(of)m 11(the)m 10(complete)m 11(contents)m 10(of)m 11(the)m 10(link)m 10(state)m 11(advertisement,)m 10(including)m 11(the)m 10(link)m 159 2396 p (state)s 10(advertisement)m 10(header)m 11(but)m 10(excepting)m 11(the)m 10(LS)m 10(age)m 11(\014eld.)m 14(See)m 10(Section)m 11(12.1.7)m 10(for)m 10(more)m 11(details.)m t-bol.300 @sf 0 2479 p (length)s t-rom.300 @sf 47(The)m 11(length)m 10(in)m 11(bytes)m 10(of)m 10(the)m 11(link)m 10(state)m 11(advertisement.)m 14(This)m 10(includes)m 10(the)m 11(20)m 10(byte)m 11(link)m 10(state)m 11(advertisement)m 159 2529 p (header)s -2 r 46 c 0 2723 p (Moy)s 1690([Page)m 10(107])m @eop 108 @bop0 108 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.4.2)s 42(Router)m 10(links)m 10(advertisements)m t-rom.300 @sf 0 291 p (Router)s 10(links)m 11(advertisements)m 10(are)m 11(the)m 10 r 84 c -2(ype)m 10 r 49 c 10(link)m 10(state)m 11(advertisements.)m 14(Each)m 10(router)m 11(in)m 10(an)m 10(area)m 11(originates)m 10 r 97 c 11(router)m 10(links)m 0 341 p (advertisement.)s 14(The)m 10(advertisement)m 11(describes)m 10(the)m 11(state)m 10(and)m 10(cost)m 11(of)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(links)m 11(\(i.e.,)m 10(interfaces\))m 11(to)m 10(the)m 10(area.)m 14(All)m 11(of)m 0 390 p (the)s 10(router)m 2 r 39 c -1 r 115 c 9(links)m 10(to)m 11(the)m 10(area)m 11(must)m 10(be)m 11(described)m 10(in)m 10 r 97 c 11(single)m 10(router)m 11(links)m 10(advertisement.)m 14(For)m 10(details)m 11(concerning)m 10(the)m 0 440 p (construction)s 10(of)m 11(router)m 10(links)m 11(advertisements,)m 10(see)m 10(Section)m 11(12.4.1.)m 0 508 p (In)s 10(router)m 11(links)m 10(advertisements,)m 11(the)m 10(Link)m 10(State)m 11(ID)m 10(\014eld)m 11(is)m 10(set)m 11(to)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 9(OSPF)m 10(Router)m 11(ID.)m 10(The)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(is)m 11(set)m 10(in)m 11(the)m 0 558 p (advertisement')s -1 r 115 c t-bol.300 @sf 9(Option)m t-rom.300 @sf 11(\014eld)m 10(if)m 10(and)m 11(only)m 10(if)m 11(the)m 10(router)m 10(is)m 11(able)m 10(to)m 11(calculate)m 10 r 97 c 11(separate)m 10(set)m 10(of)m 11(routes)m 10(for)m 11(each)m 10(IP)m 10 r 84 c (OS.)s 0 608 p (Router)s 10(links)m 11(advertisements)m 10(are)m 11(\015ooded)m 10(throughout)m 10 r 97 c 11(single)m 10(area)m 11(only)m -2 r 46 c 0 621 p 29141319 18221547 4341596 29601792 33482915 47823339 startTexFig %!PS-Adobe-1.0 %%Title: t1_lsa.fig %%Creator: f2ps %%CreationDate: Mon Jul 6 17:04:37 1992 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 66 450 509 727 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 229 199 moveto 229 204 lineto stroke % Polyline newpath 219 200 moveto 219 205 lineto stroke % Polyline newpath 399 99 moveto 399 119 lineto 479 119 lineto stroke % Polyline newpath 459 139 moveto 479 139 lineto stroke % Polyline newpath 159 119 moveto 184 119 lineto stroke % Polyline newpath 159 139 moveto 184 139 lineto stroke % Polyline newpath 149 279 moveto 129 279 lineto 129 339 lineto 149 339 lineto stroke % Polyline newpath 489 219 moveto 509 219 lineto 509 339 lineto 489 339 lineto stroke % Polyline newpath 159 319 moveto 479 319 lineto stroke % Polyline newpath 159 339 moveto 479 339 lineto stroke % Polyline newpath 319 319 moveto 319 339 lineto stroke % Polyline newpath 239 319 moveto 239 339 lineto stroke % Polyline newpath 479 319 moveto 479 379 lineto stroke % Polyline newpath 159 319 moveto 159 379 lineto stroke [1 3.200000] 0 setdash % Polyline newpath 479 299 moveto 479 319 lineto stroke [] 0 setdash [1 3.200000] 0 setdash % Polyline newpath 159 299 moveto 159 319 lineto stroke [] 0 setdash % Polyline newpath 159 279 moveto 479 279 lineto stroke % Polyline newpath 159 259 moveto 479 259 lineto stroke % Polyline newpath 209 199 moveto 209 204 lineto stroke % Polyline newpath 199 199 moveto 199 204 lineto stroke % Polyline newpath 189 199 moveto 189 204 lineto stroke % Polyline newpath 179 199 moveto 179 204 lineto stroke % Polyline newpath 169 199 moveto 169 204 lineto stroke % Polyline newpath 209 198 moveto 209 218 lineto stroke % Polyline newpath 319 199 moveto 319 219 lineto stroke % Polyline newpath 239 199 moveto 239 219 lineto stroke % Polyline newpath 159 239 moveto 479 239 lineto stroke % Polyline newpath 159 99 moveto 159 299 lineto stroke % Polyline newpath 479 99 moveto 479 299 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke % Polyline newpath 319 279 moveto 319 299 lineto stroke % Polyline newpath 239 279 moveto 239 299 lineto stroke % Polyline newpath 159 299 moveto 479 299 lineto stroke % Polyline newpath 319 259 moveto 319 279 lineto stroke % Polyline newpath 239 259 moveto 239 279 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 459 179 moveto 479 179 lineto stroke % Polyline newpath 459 159 moveto 479 159 lineto stroke % Polyline newpath 159 179 moveto 184 179 lineto stroke % Polyline newpath 159 159 moveto 184 159 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 399 89 moveto 399 99 lineto stroke % Polyline newpath 319 89 moveto 319 99 lineto stroke % Polyline newpath 239 89 moveto 239 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 212 213 moveto 1 -1 scale (V) show 1 -1 scale 231 213 moveto 1 -1 scale (B) show 1 -1 scale 222 213 moveto 1 -1 scale (E) show 1 -1 scale 182 214 moveto 1 -1 scale (0) show 1 -1 scale 314 369 moveto 1 -1 scale (.) show 1 -1 scale 314 359 moveto 1 -1 scale (.) show 1 -1 scale 314 349 moveto 1 -1 scale (.) show 1 -1 scale 519 284 moveto 1 -1 scale (times) show 1 -1 scale 514 269 moveto 1 -1 scale (# links) show 1 -1 scale 304 314 moveto 1 -1 scale (...) show 1 -1 scale 79 314 moveto 1 -1 scale (times) show 1 -1 scale 74 299 moveto 1 -1 scale (# TOS) show 1 -1 scale 374 334 moveto 1 -1 scale (metric) show 1 -1 scale 274 334 moveto 1 -1 scale (0) show 1 -1 scale 184 334 moveto 1 -1 scale (TOS) show 1 -1 scale 269 214 moveto 1 -1 scale (0) show 1 -1 scale 369 214 moveto 1 -1 scale (# links) show 1 -1 scale 374 294 moveto 1 -1 scale (metric) show 1 -1 scale 274 294 moveto 1 -1 scale (0) show 1 -1 scale 184 294 moveto 1 -1 scale (TOS) show 1 -1 scale 349 274 moveto 1 -1 scale (TOS 0 metric) show 1 -1 scale 259 274 moveto 1 -1 scale (# TOS) show 1 -1 scale 184 274 moveto 1 -1 scale (Type) show 1 -1 scale 279 254 moveto 1 -1 scale (Link Data) show 1 -1 scale 279 234 moveto 1 -1 scale (Link ID) show 1 -1 scale 249 154 moveto 1 -1 scale (Link State header) show 1 -1 scale 434 114 moveto 1 -1 scale (1) show 1 -1 scale 469 84 moveto 1 -1 scale (32) show 1 -1 scale 394 84 moveto 1 -1 scale (24) show 1 -1 scale 309 84 moveto 1 -1 scale (16) show 1 -1 scale 234 84 moveto 1 -1 scale (8) show 1 -1 scale 159 84 moveto 1 -1 scale (0) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1884 p (bit)s 10 r 86 c t-rom.300 @sf 85(When)m 10(set,)m 10(the)m 10(router)m 10(is)m 10(an)m 10(endpoint)m 10(of)m 10(an)m 10(active)m 10(virtual)m 10(link)m 10(that)m 10(is)m 10(using)m 10(the)m 10(described)m 10(area)m 10(as)m 10 r 97 c 10 r 84 c -1(ransit)m 9(area)m 173 1934 p (\(V)s 11(is)m 10(for)m 11(virtual)m 10(link)m 11(endpoint\).)m t-bol.300 @sf 0 2017 p (bit)s 10 r 69 c t-rom.300 @sf 87(When)m 10(set,)m 11(the)m 10(router)m 11(is)m 10(an)m 11(AS)m 10(boundary)m 10(router)m 11(\(E)m 10(is)m 11(for)m 10(external\))m t-bol.300 @sf 0 2100 p (bit)s 10 r 66 c t-rom.300 @sf 87(When)m 10(set,)m 11(the)m 10(router)m 11(is)m 10(an)m 11(area)m 10(border)m 10(router)m 11(\(B)m 10(is)m 11(for)m 10(border\))m t-bol.300 @sf 0 2183 p 35 c 10(links)m t-rom.300 @sf 57(The)m 10(number)m 11(of)m 10(router)m 11(links)m 10(described)m 10(by)m 11(this)m 10(advertisement.)m 14(This)m 11(must)m 10(be)m 10(the)m 11(total)m 10(collection)m 11(of)m 10(router)m 173 2233 p (links)s 11(\(i.e.,)m 10(interfaces\))m 11(to)m 10(the)m 11(area.)m 0 2342 p (The)s 10(following)m 11(\014elds)m 10(are)m 11(used)m 10(to)m 10(describe)m 11(each)m 10(router)m 11(link)m 10(\(i.e.,)m 11(interface\).)m 13(Each)m 11(router)m 10(link)m 11(is)m 10(typed)m 11(\(see)m 10(the)m 10(below)m 0 2392 p 84 c -2(ype)m 9(\014eld\).)m 14(The)m 10 r 84 c -1(ype)m 9(\014eld)m 10(indicates)m 10(the)m 11(kind)m 10(of)m 10(link)m 10(being)m 11(described.)m 13(It)m 11(may)m 10(be)m 10 r 97 c 10(link)m 11(to)m 10 r 97 c 10(transit)m 10(network,)m 11(to)m 10(another)m 0 2442 p (router)s 10(or)m 11(to)m 10 r 97 c 11(stub)m 10(network.)m 14(The)m 10(values)m 11(of)m 10(all)m 11(the)m 10(other)m 10(\014elds)m 11(describing)m 10 r 97 c 11(router)m 10(link)m 11(depend)m 10(on)m 10(the)m 11(link')m -1 r 115 c 9 r 84 c -2(ype.)m 13(For)m 0 2491 p (example,)s 10(each)m 11(link)m 10(has)m 11(an)m 10(associated)m 10(32-bit)m 11(data)m 10(\014eld.)m 14(For)m 11(links)m 10(to)m 10(stub)m 11(networks)m 10(this)m 11(\014eld)m 10(speci\014es)m 11(the)m 10(network')m -1 r 115 c 9(IP)m 0 2541 p (address)s 10(mask.)m 14(For)m 11(other)m 10(link)m 11(types)m 10(the)m 10(Link)m 11(Data)m 10(speci\014es)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(associated)m 10(IP)m 11(interface)m 10(address.)m 0 2723 p (Moy)s 1690([Page)m 10(108])m @eop 109 @bop0 109 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p 84 c -2(ype)m t-rom.300 @sf 85 r 65 c 11(quick)m 10(description)m 10(of)m 11(the)m 10(router)m 11(link.)m 14(One)m 10(of)m 10(the)m 11(following.)m 14(Note)m 10(that)m 11(host)m 10(routes)m 10(are)m 11(classi\014ed)m 10(as)m 11(links)m 10(to)m 173 245 p (stub)s 11(networks)m 10(whose)m 11(network)m 10(mask)m 11(is)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 46 c 615 294 p 893 2 ru 615 344 p 2 50 ru t-ita.300 @sf 640 329 p 84 c -2(ype)m 742 344 p 2 50 ru 768 329 p (Description)s 1507 344 p 2 50 ru 615 345 p 893 2 ru 615 395 p 2 50 ru t-rom.300 @sf 669 380 p 49 c 742 395 p 2 50 ru 768 380 p (Point-to-point)s 10(connection)m 11(to)m 10(another)m 11(router)m 1507 395 p 2 50 ru 615 445 p 2 50 ru 669 430 p 50 c 742 445 p 2 50 ru 768 430 p (Connection)s 10(to)m 11 r 97 c 10(transit)m 11(network)m 1507 445 p 2 50 ru 615 495 p 2 50 ru 669 480 p 51 c 742 495 p 2 50 ru 768 480 p (Connection)s 10(to)m 11 r 97 c 10(stub)m 11(network)m 1507 495 p 2 50 ru 615 544 p 2 50 ru 669 529 p 52 c 742 544 p 2 50 ru 768 529 p 86 c -2(irtual)m 10(link)m 1507 544 p 2 50 ru 615 546 p 893 2 ru t-bol.300 @sf 0 637 p (Link)s 10(ID)m t-rom.300 @sf 31(Identi\014es)m 11(the)m 10(object)m 11(that)m 10(this)m 11(router)m 10(link)m 10(connects)m 11(to.)m 14 r 86 c -4(alue)m 9(depends)m 11(on)m 10(the)m 11(link')m -2 r 115 c 10 r 84 c -2(ype.)m 13(When)m 10(connecting)m 173 687 p (to)s 10(an)m 10(object)m 10(that)m 10(also)m 10(originates)m 10 r 97 c 10(link)m 10(state)m 10(advertisement)m 10(\(i.e.,)m 10(another)m 9(router)m 10(or)m 10 r 97 c 10(transit)m 10(network\))m 10(the)m 10(Link)m 173 737 p (ID)s 11(is)m 10(equal)m 11(to)m 10(the)m 11(neighboring)m 10(advertisement')m -1 r 115 c 9(Link)m 10(State)m 11(ID.)m 10(This)m 11(provides)m 10(the)m 11(key)m 10(for)m 10(looking)m 11(up)m 10(said)m 173 787 p (advertisement)s 11(in)m 10(the)m 11(link)m 10(state)m 11(database.)m 13(See)m 11(Section)m 10(12.2)m 11(for)m 10(more)m 11(details.)m 703 835 p 717 2 ru 702 884 p 2 50 ru t-ita.300 @sf 728 869 p 84 c -2(ype)m 830 884 p 2 50 ru 856 869 p (Link)s 10(ID)m 1419 884 p 2 50 ru 703 886 p 717 2 ru 702 936 p 2 50 ru t-rom.300 @sf 757 921 p 49 c 830 936 p 2 50 ru 856 921 p (Neighboring)s 10(router)m 2 r 39 c -1 r 115 c 9(Router)m 10(ID)m 1419 936 p 2 50 ru 702 986 p 2 50 ru 757 971 p 50 c 830 986 p 2 50 ru 856 971 p (IP)s 10(address)m 11(of)m 10(Designated)m 11(Router)m 1419 986 p 2 50 ru 702 1035 p 2 50 ru 757 1020 p 51 c 830 1035 p 2 50 ru 856 1020 p (IP)s 10(network/subnet)m 11(number)m 1419 1035 p 2 50 ru 702 1085 p 2 50 ru 757 1070 p 52 c 830 1085 p 2 50 ru 856 1070 p (Neighboring)s 10(router)m 2 r 39 c -1 r 115 c 9(Router)m 10(ID)m 1419 1085 p 2 50 ru 703 1087 p 717 2 ru t-bol.300 @sf 0 1178 p (Link)s 10(Data)m t-rom.300 @sf 21(Contents)m 11(again)m 10(depend)m 10(on)m 11(the)m 10(link')m -1 r 115 c 9 r 84 c -2(ype)m 10(\014eld.)m 14(For)m 10(connections)m 11(to)m 10(stub)m 10(networks,)m 11(it)m 10(speci\014es)m 11(the)m 173 1228 p (network')s -1 r 115 c 10(IP)m 10(address)m 10(mask.)m 14(For)m 11(unnumbered)m 10(point-to-point)m 11(connections,)m 10(it)m 10(speci\014es)m 11(the)m 10(interface')m -1 r 115 c 9(MIB-II)m 173 1278 p ([RFC)s 11(1213])m 10(ifIndex)m 11(value.)m 14(For)m 10(the)m 10(other)m 11(link)m 10(types)m 11(it)m 10(speci\014es)m 11(the)m 10(router)m 1 r 39 c -1 r 115 c 10(associated)m 10(IP)m 10(interface)m 11(address.)m 173 1327 p (This)s 11(latter)m 10(piece)m 11(of)m 10(information)m 11(is)m 10(needed)m 10(during)m 11(the)m 10(routing)m 11(table)m 10(build)m 10(process,)m 11(when)m 10(calculating)m 11(the)m 10(IP)m 173 1377 p (address)s 11(of)m 10(the)m 11(next)m 10(hop.)m 14(See)m 10(Section)m 11(16.1.1)m 10(for)m 11(more)m 10(details.)m t-bol.300 @sf 0 1460 p 35 c 10 r 84 c (OS)s t-rom.300 @sf 59(The)m 11(number)m 10(of)m 11(dif)m (ferent)s 9 r 84 c (OS)s 10(metrics)m 10(given)m 11(for)m 10(this)m 11(link,)m 10(not)m 10(counting)m 11(the)m 10(required)m 11(metric)m 10(for)m 10 r 84 c (OS)s 10(0.)m 14(For)m 173 1510 p (example,)s 11(if)m 10(no)m 11(additional)m 10 r 84 c (OS)s 10(metrics)m 10(are)m 11(given,)m 10(this)m 10(\014eld)m 11(should)m 10(be)m 11(set)m 10(to)m 11(0.)m t-bol.300 @sf 0 1593 p 84 c (OS)s 10 r 48 c 10(metric)m t-rom.300 @sf 21(The)m 10(cost)m 11(of)m 10(using)m 11(this)m 10(router)m 10(link)m 11(for)m 10 r 84 c (OS)s 10(0.)m 0 1702 p (For)s 10(each)m 11(link,)m 10(separate)m 11(metrics)m 10(may)m 10(be)m 11(speci\014ed)m 10(for)m 11(each)m 10 r 84 c -2(ype)m 10(of)m 10(Service)m 10(\(T)m (OS\).)s 10(The)m 11(metric)m 10(for)m 10 r 84 c (OS)s 10 r 48 c 10(must)m 11(always)m 0 1752 p (be)s 10(included,)m 11(and)m 10(was)m 11(discussed)m 10(above.)m 14(Metrics)m 10(for)m 11(non-zero)m 10 r 84 c (OS)s 10(are)m 10(described)m 11(below)m -2 r 46 c 13(The)m 10(encoding)m 11(of)m 10 r 84 c (OS)s 10(in)m 0 1802 p (OSPF)s 10(link)m 11(state)m 10(advertisements)m 11(is)m 10(described)m 10(in)m 11(Section)m 10(12.3.)m 14(Note)m 11(that)m 10(the)m 10(cost)m 11(for)m 10(non-zero)m 11 r 84 c (OS)s 9(values)m 11(that)m 10(are)m 11(not)m 0 1852 p (speci\014ed)s 10(defaults)m 11(to)m 10(the)m 11 r 84 c (OS)s 9 r 48 c 11(cost.)m 14(Metrics)m 10(must)m 10(be)m 11(listed)m 10(in)m 11(order)m 10(of)m 11(increasing)m 10 r 84 c (OS)s 10(encoding.)m 14(For)m 10(example,)m 10(the)m 0 1902 p (metric)s 10(for)m 11 r 84 c (OS)s 9(16)m 11(must)m 10(always)m 11(follow)m 10(the)m 11(metric)m 10(for)m 10 r 84 c (OS)s 10 r 56 c 10(when)m 11(both)m 10(are)m 11(speci\014ed.)m t-bol.300 @sf 0 2011 p 84 c (OS)s t-rom.300 @sf 90(IP)m 11 r 84 c -2(ype)m 9(of)m 10(Service)m 11(that)m 10(this)m 11(metric)m 10(refers)m 11(to.)m 13(The)m 11(encoding)m 10(of)m 11 r 84 c (OS)s 9(in)m 11(OSPF)m 10(link)m 11(state)m 10(advertisements)m 10(is)m 173 2061 p (described)s 11(in)m 10(Section)m 11(12.3.)m t-bol.300 @sf 0 2144 p (metric)s t-rom.300 @sf 58(The)m 10(cost)m 11(of)m 10(using)m 10(this)m 11(outbound)m 10(router)m 11(link,)m 10(for)m 11(traf)m (\014c)s 9(of)m 11(the)m 10(speci\014ed)m 10 r 84 c (OS.)s 0 2723 p (Moy)s 1690([Page)m 10(109])m @eop 110 @bop0 110 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.4.3)s 42(Network)m 10(links)m 10(advertisements)m t-rom.300 @sf 0 291 p (Network)s 10(links)m 11(advertisements)m 10(are)m 11(the)m 10 r 84 c -2(ype)m 10 r 50 c 10(link)m 10(state)m 11(advertisements.)m 14 r 65 c 10(network)m 11(links)m 10(advertisement)m 10(is)m 11(originated)m 0 341 p (for)s 10(each)m 11(transit)m 10(network)m 11(in)m 10(the)m 10(area.)m 14 r 65 c 11(transit)m 10(network)m 11(is)m 10 r 97 c 10(multi-access)m 11(network)m 10(that)m 11(has)m 10(more)m 11(than)m 10(one)m 10(attached)m 0 390 p (router)s -1 r 46 c 13(The)m 10(network)m 10(links)m 11(advertisement)m 10(is)m 11(originated)m 10(by)m 11(the)m 10(network')m -1 r 115 c 9(Designated)m 10(Router)m -1 r 46 c 13(The)m 10(advertisement)m 0 440 p (describes)s 10(all)m 11(routers)m 10(attached)m 11(to)m 10(the)m 10(network,)m 11(including)m 10(the)m 11(Designated)m 10(Router)m 11(itself.)m 13(The)m 11(advertisement')m -1 r 115 c 9(Link)m 10(State)m 0 490 p (ID)s 10(\014eld)m 11(lists)m 10(the)m 11(IP)m 10(interface)m 10(address)m 11(of)m 10(the)m 11(Designated)m 10(Router)m -1 r 46 c 0 558 p (The)s 10(distance)m 11(from)m 10(the)m 11(network)m 10(to)m 10(all)m 11(attached)m 10(routers)m 11(is)m 10(zero,)m 11(for)m 10(all)m 10 r 84 c -2(ypes)m 10(of)m 10(Service.)m 14(This)m 11(is)m 10(why)m 10(the)m 11 r 84 c (OS)s 10(and)m 0 608 p (metric)s 10(\014elds)m 11(need)m 10(not)m 11(be)m 10(speci\014ed)m 10(in)m 11(the)m 10(network)m 11(links)m 10(advertisement.)m 14(For)m 10(details)m 11(concerning)m 10(the)m 11(construction)m 10(of)m 0 657 p (network)s 10(links)m 11(advertisements,)m 10(see)m 11(Section)m 10(12.4.2.)m 0 667 p 27759903 12301189 5854576 35522150 33614479 47823339 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/t2_lsa.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:54:02 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 89 540 511 727 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 399 99 moveto 399 119 lineto 479 119 lineto stroke % Polyline newpath 459 139 moveto 479 139 lineto stroke % Polyline newpath 159 119 moveto 184 119 lineto stroke % Polyline newpath 159 139 moveto 184 139 lineto stroke % Polyline newpath 159 99 moveto 159 279 lineto stroke % Polyline newpath 479 99 moveto 479 279 lineto stroke % Polyline newpath 159 239 moveto 479 239 lineto stroke % Polyline newpath 484 219 moveto 499 219 lineto 499 239 lineto 484 239 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 459 179 moveto 479 179 lineto stroke % Polyline newpath 459 159 moveto 479 159 lineto stroke % Polyline newpath 159 179 moveto 184 179 lineto stroke % Polyline newpath 159 159 moveto 184 159 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 399 89 moveto 399 99 lineto stroke % Polyline newpath 319 89 moveto 319 99 lineto stroke % Polyline newpath 239 89 moveto 239 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 314 269 moveto 1 -1 scale (.) show 1 -1 scale 314 259 moveto 1 -1 scale (.) show 1 -1 scale 314 249 moveto 1 -1 scale (.) show 1 -1 scale 269 214 moveto 1 -1 scale (Network Mask) show 1 -1 scale 514 264 moveto 1 -1 scale (router) show 1 -1 scale 509 249 moveto 1 -1 scale (attached) show 1 -1 scale 509 234 moveto 1 -1 scale (for each) show 1 -1 scale 509 219 moveto 1 -1 scale (Repeated) show 1 -1 scale 259 234 moveto 1 -1 scale (Attached Router) show 1 -1 scale 434 114 moveto 1 -1 scale (2) show 1 -1 scale 249 154 moveto 1 -1 scale (Link State header) show 1 -1 scale 469 84 moveto 1 -1 scale (32) show 1 -1 scale 394 84 moveto 1 -1 scale (24) show 1 -1 scale 309 84 moveto 1 -1 scale (16) show 1 -1 scale 234 84 moveto 1 -1 scale (8) show 1 -1 scale 159 84 moveto 1 -1 scale (0) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1556 p (Network)s 10(Mask)m t-rom.300 @sf 54(The)m 10(IP)m 10(address)m 11(mask)m 10(for)m 11(the)m 10(network.)m 14(For)m 10(example,)m 11 r 97 c 10(class)m 11 r 65 c 10(network)m 10(would)m 11(have)m 10(the)m 11(mask)m c-med.300 @sf 318 1606 p (0xff000000)s t-rom.300 @sf 46 c t-bol.300 @sf 0 1689 p (Attached)s 10(Router)m t-rom.300 @sf 21(The)m 11(Router)m 10(IDs)m 10(of)m 11(each)m 10(of)m 11(the)m 10(routers)m 11(attached)m 10(to)m 10(the)m 11(network.)m 14(Actually)m -2 r 44 c 9(only)m 11(those)m 10(routers)m 11(that)m 318 1738 p (are)s 11(fully)m 10(adjacent)m 10(to)m 11(the)m 10(Designated)m 11(Router)m 10(are)m 10(listed.)m 14(The)m 11(Designated)m 10(Router)m 11(includes)m 10(itself)m 10(in)m 318 1788 p (this)s 11(list.)m 13(The)m 11(number)m 10(of)m 11(routers)m 10(included)m 11(can)m 10(be)m 10(deduced)m 11(from)m 10(the)m 11(link)m 10(state)m 10(advertisement)m 318 1838 p (header)s 2 r 39 c -2 r 115 c 10(length)m 10(\014eld.)m 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(10])m @eop 111 @bop0 111 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.4.4)s 42(Summary)m 10(link)m 10(advertisements)m t-rom.300 @sf 0 286 p (Summary)s 10(link)m 11(advertisements)m 10(are)m 11(the)m 10 r 84 c -2(ype)m 10 r 51 c 10(and)m 10 r 52 c 11(link)m 10(state)m 11(advertisements.)m 14(These)m 10(advertisements)m 10(are)m 11(originated)m 10(by)m 0 336 p (area)s 10(border)m 10(routers.)m 14 r 65 c 10(separate)m 10(summary)m 10(link)m 10(advertisement)m 10(is)m 10(made)m 10(for)m 10(each)m 10(destination)m 10(\(known)m 10(to)m 10(the)m 10(router\))m 10(which)m 0 386 p (belongs)s 10(to)m 11(the)m 10(AS,)m 11(yet)m 10(is)m 10(outside)m 11(the)m 10(area.)m 14(For)m 11(details)m 10(concerning)m 10(the)m 11(construction)m 10(of)m 11(summary)m 10(link)m 11(advertisements,)m 0 436 p (see)s 10(Section)m 11(12.4.3.)m 0 499 p 84 c -2(ype)m 9 r 51 c 10(link)m 10(state)m 10(advertisements)m 10(are)m 11(used)m 10(when)m 10(the)m 10(destination)m 10(is)m 10(an)m 10(IP)m 10(network.)m 14(In)m 10(this)m 10(case)m 10(the)m 10(advertisement')m -1 r 115 c 9(Link)m 0 549 p (State)s 10(ID)m 11(\014eld)m 10(is)m 11(an)m 10(IP)m 10(network)m 11(number)m 10(\(if)m 11(necessary)m -2 r 44 c 9(the)m 11(Link)m 10(State)m 11(ID)m 10(can)m 11(also)m 10(have)m 10(one)m 11(or)m 10(more)m 11(of)m 10(the)m 10(network')m -1 r 115 c 0 599 p (\\host")s 10(bits)m 11(set;)m 10(see)m 11(Appendix)m 10 r 70 c 10(for)m 11(details\).)m 14(When)m 10(the)m 11(destination)m 10(is)m 10(an)m 11(AS)m 10(boundary)m 11(router)m -1 r 44 c 9 r 97 c 11 r 84 c -2(ype)m 9 r 52 c 11(advertisement)m 0 649 p (is)s 10(used,)m 11(and)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(\014eld)m 10(is)m 11(the)m 10(AS)m 11(boundary)m 10(router)m 2 r 39 c -2 r 115 c 10(OSPF)m 10(Router)m 10(ID.)m 11(\(T)m -2 r 111 c 9(see)m 11(why)m 10(it)m 11(is)m 10(necessary)m 10(to)m 0 698 p (advertise)s 10(the)m 11(location)m 10(of)m 11(each)m 10(ASBR,)m 10(consult)m 11(Section)m 10(16.4.\))m 14(Other)m 11(than)m 10(the)m 10(dif)m (ference)s 10(in)m 11(the)m 10(Link)m 10(State)m 11(ID)m 10(\014eld,)m 11(the)m 0 748 p (format)s 10(of)m 11 r 84 c -2(ype)m 9 r 51 c 11(and)m 10 r 52 c 11(link)m 10(state)m 10(advertisements)m 11(is)m 10(identical.)m 0 811 p (For)s 10(stub)m 11(areas,)m 10 r 84 c -2(ype)m 10 r 51 c 10(summary)m 11(link)m 10(advertisements)m 10(can)m 11(also)m 10(be)m 11(used)m 10(to)m 10(describe)m 11 r 97 c 10(\(per)m (-area\))s 10(default)m 10(route.)m 14(Default)m 0 861 p (summary)s 10(routes)m 11(are)m 10(used)m 11(in)m 10(stub)m 10(areas)m 11(instead)m 10(of)m 11(\015ooding)m 10 r 97 c 11(complete)m 10(set)m 10(of)m 11(external)m 10(routes.)m 14(When)m 11(describing)m 10 r 97 c 0 911 p (default)s 10(summary)m 11(route,)m 10(the)m 11(advertisement')m -2 r 115 c 10(Link)m 10(State)m 11(ID)m 10(is)m 10(always)m 11(set)m 10(to)m 11(DefaultDestination)m 10 r 40 c c-med.300 @sf (0.0.0.0)s t-rom.300 @sf 41 c 11(and)m 10(the)m 0 961 p (Network)s 10(Mask)m 11(is)m 10(set)m 11(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 46 c 0 1024 p (Separate)s 10(costs)m 11(may)m 10(be)m 11(advertised)m 10(for)m 10(each)m 11(IP)m 10 r 84 c -2(ype)m 10(of)m 10(Service.)m 14(The)m 11(encoding)m 10(of)m 10 r 84 c (OS)s 10(in)m 10(OSPF)m 11(link)m 10(state)m 0 1074 p (advertisements)s 10(is)m 11(described)m 10(in)m 11(Section)m 10(12.3.)m 14(Note)m 10(that)m 11(the)m 10(cost)m 11(for)m 10 r 84 c (OS)s 10 r 48 c 10(must)m 11(be)m 10(included,)m 10(and)m 11(is)m 10(always)m 11(listed)m 10(\014rst.)m 0 1124 p (If)s 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(is)m 11(reset)m 10(in)m 11(the)m 10(advertisement')m -1 r 115 c t-bol.300 @sf 9(Option)m 11(\014eld)m t-rom.300 @sf 44 c 10(only)m 10 r 97 c 11(route)m 10(for)m 11 r 84 c (OS)s 9 r 48 c 11(is)m 10(described)m 11(by)m 10(the)m 10(advertisement.)m 0 1174 p (Otherwise,)s 10(routes)m 11(for)m 10(the)m 11(other)m 10 r 84 c (OS)s 10(values)m 10(are)m 11(also)m 10(described;)m 10(if)m 11 r 97 c 10(cost)m 11(for)m 10 r 97 c 10(certain)m 11 r 84 c (OS)s 10(is)m 10(not)m 10(included,)m 11(its)m 10(cost)m 0 1223 p (defaults)s 10(to)m 11(that)m 10(speci\014ed)m 11(for)m 10 r 84 c (OS)s 10(0.)m 0 1237 p 27496776 12301189 5854576 35522150 33351352 47823339 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/t3_lsa.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:54:03 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 89 540 507 727 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 399 99 moveto 399 119 lineto 479 119 lineto stroke % Polyline newpath 159 239 moveto 479 239 lineto stroke % Polyline newpath 479 99 moveto 479 279 lineto stroke % Polyline newpath 159 99 moveto 159 279 lineto stroke % Polyline newpath 459 139 moveto 479 139 lineto stroke % Polyline newpath 159 119 moveto 184 119 lineto stroke % Polyline newpath 159 139 moveto 184 139 lineto stroke % Polyline newpath 239 219 moveto 239 239 lineto stroke % Polyline newpath 484 219 moveto 499 219 lineto 499 239 lineto 484 239 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 459 179 moveto 479 179 lineto stroke % Polyline newpath 459 159 moveto 479 159 lineto stroke % Polyline newpath 159 179 moveto 184 179 lineto stroke % Polyline newpath 159 159 moveto 184 159 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 399 89 moveto 399 99 lineto stroke % Polyline newpath 319 89 moveto 319 99 lineto stroke % Polyline newpath 239 89 moveto 239 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 414 114 moveto 1 -1 scale (3 or 4) show 1 -1 scale 259 214 moveto 1 -1 scale (Network Mask) show 1 -1 scale 329 234 moveto 1 -1 scale (metric) show 1 -1 scale 519 249 moveto 1 -1 scale (TOS) show 1 -1 scale 189 234 moveto 1 -1 scale (TOS) show 1 -1 scale 504 234 moveto 1 -1 scale (for each) show 1 -1 scale 504 219 moveto 1 -1 scale (Repeated) show 1 -1 scale 314 274 moveto 1 -1 scale (.) show 1 -1 scale 314 264 moveto 1 -1 scale (.) show 1 -1 scale 314 254 moveto 1 -1 scale (.) show 1 -1 scale 249 154 moveto 1 -1 scale (Link State header) show 1 -1 scale 469 84 moveto 1 -1 scale (32) show 1 -1 scale 394 84 moveto 1 -1 scale (24) show 1 -1 scale 309 84 moveto 1 -1 scale (16) show 1 -1 scale 234 84 moveto 1 -1 scale (8) show 1 -1 scale 159 84 moveto 1 -1 scale (0) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 2110 p (Network)s 10(Mask)m t-rom.300 @sf 21(For)m 11 r 84 c -2(ype)m 9 r 51 c 11(link)m 10(state)m 10(advertisements,)m 11(this)m 10(indicates)m 11(the)m 10(destination)m 10(network')m -1 r 115 c 10(IP)m 10(address)m 10(mask.)m 14(For)m 136 2160 p (example,)s 11(when)m 10(advertising)m 11(the)m 10(location)m 11(of)m 10 r 97 c 10(class)m 11 r 65 c 10(network)m 11(the)m 10(value)m c-med.300 @sf 10(0xff000000)m t-rom.300 @sf 11(would)m 10(be)m 11(used.)m 14(This)m 136 2210 p (\014eld)s 11(is)m 10(not)m 11(meaningful)m 10(and)m 11(must)m 10(be)m 10(zero)m 11(for)m 10 r 84 c -2(ype)m 10 r 52 c 10(link)m 10(state)m 11(advertisements.)m 0 2305 p (For)s 10(each)m 11(speci\014ed)m 10 r 84 c -2(ype)m 10(of)m 10(Service,)m 11(the)m 10(following)m 10(\014elds)m 11(are)m 10(de\014ned.)m 14(The)m 11(number)m 10(of)m 10 r 84 c (OS)s 10(routes)m 10(included)m 11(can)m 10(be)m 0 2354 p (calculated)s 10(from)m 11(the)m 10(link)m 11(state)m 10(advertisement)m 10(header)m 2 r 39 c -1 r 115 c 9(length)m 11(\014eld.)m 13 r 86 c -3(alues)m 9(for)m 11 r 84 c (OS)s 9 r 48 c 11(must)m 10(be)m 11(speci\014ed;)m 10(they)m 10(are)m 11(listed)m 0 2404 p (\014rst.)s 14(Other)m 10(values)m 11(must)m 10(be)m 11(listed)m 10(in)m 10(order)m 11(of)m 10(increasing)m 11 r 84 c (OS)s 9(encoding.)m 14(For)m 11(example,)m 10(the)m 10(cost)m 11(for)m 10 r 84 c (OS)s 10(16)m 10(must)m 0 2454 p (always)s 10(follow)m 11(the)m 10(cost)m 11(for)m 10 r 84 c (OS)s 10 r 56 c 10(when)m 11(both)m 10(are)m 10(speci\014ed.)m t-bol.300 @sf 0 2549 p 84 c (OS)s t-rom.300 @sf 53(The)m 10 r 84 c -1(ype)m 9(of)m 10(Service)m 11(that)m 10(the)m 11(following)m 10(cost)m 10(concerns.)m 14(The)m 11(encoding)m 10(of)m 11 r 84 c (OS)s 9(in)m 11(OSPF)m 10(link)m 11(state)m 136 2599 p (advertisements)s 11(is)m 10(described)m 11(in)m 10(Section)m 11(12.3.)m 0 2723 p (Moy)s 1693([Page)m 10 r 49 c 49 c -2(1])m @eop 112 @bop0 112 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (metric)s t-rom.300 @sf 21(The)m 10(cost)m 11(of)m 10(this)m 10(route.)m 14(Expressed)m 11(in)m 10(the)m 11(same)m 10(units)m 10(as)m 11(the)m 10(interface)m 11(costs)m 10(in)m 10(the)m 11(router)m 10(links)m 11(advertisements.)m 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(12])m @eop 113 @bop0 113 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (A.4.5)s 42(AS)m 10(external)m 10(link)m 11(advertisements)m t-rom.300 @sf 0 284 p (AS)s 10(external)m 11(link)m 10(advertisements)m 11(are)m 10(the)m 10 r 84 c -1(ype)m 9 r 53 c 10(link)m 11(state)m 10(advertisements.)m 14(These)m 11(advertisements)m 10(are)m 10(originated)m 11(by)m 10(AS)m 0 334 p (boundary)s 10(routers.)m 14 r 65 c 11(separate)m 10(advertisement)m 11(is)m 10(made)m 10(for)m 11(each)m 10(destination)m 11(\(known)m 10(to)m 10(the)m 11(router\))m 10(which)m 11(is)m 10(external)m 11(to)m 0 384 p (the)s 10(AS.)m 11(For)m 10(details)m 11(concerning)m 10(the)m 10(construction)m 11(of)m 10(AS)m 11(external)m 10(link)m 11(advertisements,)m 10(see)m 10(Section)m 11(12.4.3.)m 0 445 p (AS)s 10(external)m 11(link)m 10(advertisements)m 11(usually)m 10(describe)m 10 r 97 c 11(particular)m 10(external)m 11(destination.)m 14(For)m 10(these)m 10(advertisements)m 11(the)m 10(Link)m 0 495 p (State)s 10(ID)m 11(\014eld)m 10(speci\014es)m 11(an)m 10(IP)m 10(network)m 11(number)m 10(\(if)m 11(necessary)m -2 r 44 c 9(the)m 11(Link)m 10(State)m 11(ID)m 10(can)m 11(also)m 10(have)m 10(one)m 11(or)m 10(more)m 11(of)m 10(the)m 0 545 p (network')s -1 r 115 c 9(\\host")m 11(bits)m 10(set;)m 10(see)m 11(Appendix)m 10 r 70 c 11(for)m 10(details\).)m 14(AS)m 10(external)m 11(link)m 10(advertisements)m 11(are)m 10(also)m 10(used)m 11(to)m 10(describe)m 11 r 97 c 0 595 p (default)s 10(route.)m 14(Default)m 11(routes)m 10(are)m 11(used)m 10(when)m 10(no)m 11(speci\014c)m 10(route)m 11(exists)m 10(to)m 10(the)m 11(destination.)m 14(When)m 10(describing)m 11 r 97 c 10(default)m 0 644 p (route,)s 10(the)m 11(Link)m 10(State)m 11(ID)m 10(is)m 10(always)m 11(set)m 10(to)m 11(DefaultDestination)m 10 r 40 c c-med.300 @sf (0.0.0.0)s t-rom.300 @sf 41 c 11(and)m 10(the)m 10(Network)m 11(Mask)m 10(is)m 11(set)m 10(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 46 c 0 706 p (Separate)s 10(costs)m 11(may)m 10(be)m 11(advertised)m 10(for)m 10(each)m 11(IP)m 10 r 84 c -2(ype)m 10(of)m 10(Service.)m 14(The)m 11(encoding)m 10(of)m 10 r 84 c (OS)s 10(in)m 10(OSPF)m 11(link)m 10(state)m 0 755 p (advertisements)s 10(is)m 11(described)m 10(in)m 11(Section)m 10(12.3.)m 14(Note)m 10(that)m 11(the)m 10(cost)m 11(for)m 10 r 84 c (OS)s 10 r 48 c 10(must)m 11(be)m 10(included,)m 10(and)m 11(is)m 10(always)m 11(listed)m 10(\014rst.)m 0 805 p (If)s 10(the)m t-bol.300 @sf 11 r 84 c -3(-bit)m t-rom.300 @sf 9(is)m 11(reset)m 10(in)m 11(the)m 10(advertisement')m -1 r 115 c t-bol.300 @sf 9(Option)m 11(\014eld)m t-rom.300 @sf 44 c 10(only)m 10 r 97 c 11(route)m 10(for)m 11 r 84 c (OS)s 9 r 48 c 11(is)m 10(described)m 11(by)m 10(the)m 10(advertisement.)m 0 855 p (Otherwise,)s 10(routes)m 11(for)m 10(the)m 11(other)m 10 r 84 c (OS)s 10(values)m 10(are)m 11(also)m 10(described;)m 10(if)m 11 r 97 c 10(cost)m 11(for)m 10 r 97 c 10(certain)m 11 r 84 c (OS)s 10(is)m 10(not)m 10(included,)m 11(its)m 10(cost)m 0 905 p (defaults)s 10(to)m 11(that)m 10(speci\014ed)m 11(for)m 10 r 84 c (OS)s 10(0.)m 0 918 p 27496776 14866678 5854576 32956661 33351352 47823339 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/t5_lsa.fig %%Creator: f2ps %%CreationDate: Wed Apr 10 12:54:05 1991 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 89 501 507 727 %%EndComments /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0.000000 792.000000 translate 0.900 -0.900 scale 0.700 setlinewidth % Polyline newpath 484 219 moveto 499 219 lineto 499 279 lineto 484 279 lineto stroke % Polyline newpath 479 99 moveto 479 299 lineto stroke % Polyline newpath 159 99 moveto 159 299 lineto stroke % Polyline newpath 159 279 moveto 479 279 lineto stroke % Polyline newpath 399 99 moveto 399 119 lineto 479 119 lineto stroke % Polyline newpath 159 259 moveto 479 259 lineto stroke % Polyline newpath 459 139 moveto 479 139 lineto stroke % Polyline newpath 159 119 moveto 184 119 lineto stroke % Polyline newpath 159 139 moveto 184 139 lineto stroke % Polyline newpath 159 239 moveto 479 239 lineto stroke % Polyline newpath 164 229 moveto 144 229 lineto stroke % Polyline newpath 229 219 moveto 229 224 lineto stroke % Polyline newpath 219 219 moveto 219 224 lineto stroke % Polyline newpath 209 219 moveto 209 224 lineto stroke % Polyline newpath 199 219 moveto 199 224 lineto stroke % Polyline newpath 189 219 moveto 189 224 lineto stroke % Polyline newpath 179 219 moveto 179 224 lineto stroke % Polyline newpath 169 219 moveto 169 239 lineto stroke % Polyline newpath 239 219 moveto 239 239 lineto stroke % Polyline newpath 159 99 moveto 479 99 lineto stroke % Polyline newpath 159 219 moveto 479 219 lineto stroke % Polyline newpath 459 179 moveto 479 179 lineto stroke % Polyline newpath 459 159 moveto 479 159 lineto stroke % Polyline newpath 159 179 moveto 184 179 lineto stroke % Polyline newpath 159 159 moveto 184 159 lineto stroke % Polyline newpath 159 199 moveto 479 199 lineto stroke % Polyline newpath 399 89 moveto 399 99 lineto stroke % Polyline newpath 319 89 moveto 319 99 lineto stroke % Polyline newpath 239 89 moveto 239 99 lineto stroke /Courier findfont 12.222222 scalefont setfont 436 114 moveto 1 -1 scale (5) show 1 -1 scale 249 254 moveto 1 -1 scale (Forwarding address) show 1 -1 scale 249 274 moveto 1 -1 scale (External Route Tag) show 1 -1 scale 264 214 moveto 1 -1 scale (Network Mask) show 1 -1 scale 315 317 moveto 1 -1 scale (.) show 1 -1 scale 315 306 moveto 1 -1 scale (.) show 1 -1 scale 315 296 moveto 1 -1 scale (.) show 1 -1 scale 99 234 moveto 1 -1 scale (bit E) show 1 -1 scale 319 234 moveto 1 -1 scale (metric) show 1 -1 scale 524 269 moveto 1 -1 scale (TOS) show 1 -1 scale 194 234 moveto 1 -1 scale (TOS) show 1 -1 scale 504 254 moveto 1 -1 scale (for each) show 1 -1 scale 504 239 moveto 1 -1 scale (Repeated) show 1 -1 scale 249 154 moveto 1 -1 scale (Link State header) show 1 -1 scale 469 84 moveto 1 -1 scale (32) show 1 -1 scale 394 84 moveto 1 -1 scale (24) show 1 -1 scale 309 84 moveto 1 -1 scale (16) show 1 -1 scale 234 84 moveto 1 -1 scale (8) show 1 -1 scale 159 84 moveto 1 -1 scale (0) show 1 -1 scale showpage $F2psEnd endTexFig t-bol.300 @sf 0 1947 p (Network)s 10(Mask)m t-rom.300 @sf 21(The)m 11(IP)m 10(address)m 10(mask)m 11(for)m 10(the)m 11(advertised)m 10(destination.)m 14(For)m 10(example,)m 11(when)m 10(advertising)m 11 r 97 c 10(class)m 10 r 65 c 136 1997 p (network)s 11(the)m 10(mask)m c-med.300 @sf 11(0xff000000)m t-rom.300 @sf 10(would)m 11(be)m 10(used.)m 0 2085 p (For)s 10(each)m 11(speci\014ed)m 10 r 84 c -2(ype)m 10(of)m 10(Service,)m 11(the)m 10(following)m 10(\014elds)m 11(are)m 10(de\014ned.)m 14(The)m 11(number)m 10(of)m 10 r 84 c (OS)s 10(routes)m 10(included)m 11(can)m 10(be)m 0 2135 p (calculated)s 10(from)m 11(the)m 10(link)m 11(state)m 10(advertisement)m 10(header)m 2 r 39 c -1 r 115 c 9(length)m 11(\014eld.)m 13 r 86 c -3(alues)m 9(for)m 11 r 84 c (OS)s 9 r 48 c 11(must)m 10(be)m 11(speci\014ed;)m 10(they)m 10(are)m 11(listed)m 0 2185 p (\014rst.)s 14(Other)m 10(values)m 11(must)m 10(be)m 11(listed)m 10(in)m 10(order)m 11(of)m 10(increasing)m 11 r 84 c (OS)s 9(encoding.)m 14(For)m 11(example,)m 10(the)m 10(cost)m 11(for)m 10 r 84 c (OS)s 10(16)m 10(must)m 0 2235 p (always)s 10(follow)m 11(the)m 10(cost)m 11(for)m 10 r 84 c (OS)s 10 r 56 c 10(when)m 11(both)m 10(are)m 10(speci\014ed.)m t-bol.300 @sf 0 2322 p (bit)s 10 r 69 c t-rom.300 @sf 50(The)m 10(type)m 11(of)m 10(external)m 11(metric.)m 14(If)m 10(bit)m 10 r 69 c 11(is)m 10(set,)m 11(the)m 10(metric)m 10(speci\014ed)m 11(is)m 10 r 97 c 11 r 84 c -2(ype)m 9 r 50 c 11(external)m 10(metric.)m 14(This)m 10(means)m 11(the)m 136 2372 p (metric)s 11(is)m 10(considered)m 11(lar)m (ger)s 9(than)m 11(any)m 10(link)m 11(state)m 10(path.)m 14(If)m 10(bit)m 11 r 69 c 10(is)m 11(zero,)m 10(the)m 10(speci\014ed)m 11(metric)m 10(is)m 11 r 97 c 10 r 84 c -2(ype)m 10 r 49 c 10(external)m 136 2422 p (metric.)s 14(This)m 11(means)m 10(that)m 11(is)m 10(is)m 10(comparable)m 11(directly)m 10(\(without)m 11(translation\))m 10(to)m 10(the)m 11(link)m 10(state)m 11(metric.)m t-bol.300 @sf 0 2499 p (Forwarding)s 10(addr)m (ess)s t-rom.300 @sf 20(Data)m 11(traf)m (\014c)s 10(for)m 10(the)m 10(advertised)m 11(destination)m 10(will)m 11(be)m 10(forwarded)m 10(to)m 11(this)m 10(address.)m 14(If)m 11(the)m 10(Forwarding)m 136 2549 p (address)s 11(is)m 10(set)m 11(to)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 44 c 11(data)m 10(traf)m (\014c)s 10(will)m 10(be)m 10(forwarded)m 11(instead)m 10(to)m 11(the)m 10(advertisement')m -1 r 115 c 9(originator)m 11(\(i.e.,)m 10(the)m 136 2599 p (responsible)s 11(AS)m 10(boundary)m 11(router\).)m 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(13])m @eop 114 @bop0 114 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p 84 c (OS)s t-rom.300 @sf 53(The)m 10 r 84 c -1(ype)m 9(of)m 10(Service)m 11(that)m 10(the)m 11(following)m 10(cost)m 10(concerns.)m 14(The)m 11(encoding)m 10(of)m 11 r 84 c (OS)s 9(in)m 11(OSPF)m 10(link)m 11(state)m 136 245 p (advertisements)s 11(is)m 10(described)m 11(in)m 10(Section)m 11(12.3.)m t-bol.300 @sf 0 328 p (metric)s t-rom.300 @sf 21(The)m 10(cost)m 11(of)m 10(this)m 10(route.)m 14(Interpretation)m 11(depends)m 10(on)m 11(the)m 10(external)m 10(type)m 11(indication)m 10(\(bit)m 11 r 69 c 10(above\).)m t-bol.300 @sf 0 411 p (External)s 10(Route)m 11 r 84 c -3(ag)m t-rom.300 @sf 20 r 65 c 10(32-bit)m 11(\014eld)m 10(attached)m 10(to)m 11(each)m 10(external)m 11(route.)m 14(This)m 10(is)m 10(not)m 11(used)m 10(by)m 11(the)m 10(OSPF)m 10(protocol)m 11(itself.)m 14(It)m 136 461 p (may)s 11(be)m 10(used)m 11(to)m 10(communicate)m 11(information)m 10(between)m 10(AS)m 11(boundary)m 10(routers;)m 11(the)m 10(precise)m 10(nature)m 11(of)m 10(such)m 136 511 p (information)s 11(is)m 10(outside)m 11(the)m 10(scope)m 11(of)m 10(this)m 10(speci\014cation.)m 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(14])m @eop 115 @bop0 115 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 66 c 58(Ar)m (chitectural)s 14(Constants)m t-rom.300 @sf 0 306 p (Several)s 10(OSPF)m 10(protocol)m 11(parameters)m 10(have)m 10(\014xed)m 10(architectural)m 10(values.)m 14(These)m 10(parameters)m 11(have)m 10(been)m 10(referred)m 10(to)m 11(in)m 10(the)m 10(text)m 0 356 p (by)s 10(names)m 11(such)m 10(as)m 11(LSRefreshT)m -1(ime.)m 13(The)m 11(same)m 10(naming)m 10(convention)m 11(is)m 10(used)m 11(for)m 10(the)m 10(con\014gurable)m 11(protocol)m 10(parameters.)m 0 405 p (They)s 10(are)m 11(de\014ned)m 10(in)m 11(Appendix)m 10(C.)m 0 473 p (The)s 10(name)m 11(of)m 10(each)m 11(architectural)m 10(constant)m 10(follows,)m 11(together)m 10(with)m 11(its)m 10(value)m 11(and)m 10 r 97 c 10(short)m 11(description)m 10(of)m 11(its)m 10(function.)m t-bol.300 @sf 0 582 p (LSRefr)s (eshT)s -1(ime)m t-rom.300 @sf 20(The)m 11(maximum)m 10(time)m 11(between)m 10(distinct)m 10(originations)m 11(of)m 10(any)m 11(particular)m 10(link)m 10(state)m 11(advertisement.)m 14(When)m 104 632 p (the)s 10(LS)m 11(age)m 10(\014eld)m 10(of)m 11(one)m 10(of)m 11(the)m 10(router)m 2 r 39 c -2 r 115 c 10(self-originated)m 10(advertisements)m 11(reaches)m 10(the)m 10(value)m 11(LSRefreshT)m -1(ime,)m 10 r 97 c 10(new)m 104 682 p (instance)s 10(of)m 10(the)m 10(link)m 10(state)m 10(advertisement)m 10(is)m 10(originated,)m 10(even)m 10(though)m 10(the)m 10(contents)m 10(of)m 10(the)m 10(advertisement)m 10(\(apart)m 10(from)m 104 732 p (the)s 10(link)m 11(state)m 10(header\))m 10(will)m 11(be)m 10(the)m 11(same.)m 14(The)m 10(value)m 10(of)m 11(LSRefreshT)m -1(ime)m 10(is)m 10(set)m 11(to)m 10(30)m 10(minutes.)m t-bol.300 @sf 0 815 p (MinLSInterval)s t-rom.300 @sf 21(The)m 10(minimum)m 11(time)m 10(between)m 10(distinct)m 11(originations)m 10(of)m 11(any)m 10(particular)m 11(link)m 10(state)m 10(advertisement.)m 14(The)m 104 864 p (value)s 10(of)m 11(MinLSInterval)m 10(is)m 10(set)m 11(to)m 10 r 53 c 11(seconds.)m t-bol.300 @sf 0 948 p (MaxAge)s t-rom.300 @sf 21(The)m 10(maximum)m 10(age)m 10(that)m 10 r 97 c 10(link)m 10(state)m 10(advertisement)m 10(can)m 10(attain.)m 14(When)m 10(an)m 10(advertisement')m -1 r 115 c 9(LS)m 10(age)m 10(\014eld)m 10(reaches)m 104 997 p (MaxAge,)s 10(it)m 11(is)m 10(re\015ooded)m 10(in)m 11(an)m 10(attempt)m 11(to)m 10(\015ush)m 11(the)m 10(advertisement)m 10(from)m 11(the)m 10(routing)m 11(domain)m 10(\(See)m 10(Section)m 11(14\).)m 104 1047 p (Advertisements)s 10(of)m 11(age)m 10(MaxAge)m 10(are)m 11(not)m 10(used)m 11(in)m 10(the)m 11(routing)m 10(table)m 10(calculation.)m 14(The)m 11(value)m 10(of)m 10(MaxAge)m 11(must)m 10(be)m 104 1097 p (greater)s 10(than)m 11(LSRefreshT)m -1(ime.)m 13(The)m 10(value)m 11(of)m 10(MaxAge)m 11(is)m 10(set)m 11(to)m 10 r 49 c 10(hour)m -1 r 46 c t-bol.300 @sf 0 1180 p (CheckAge)s t-rom.300 @sf 21(When)m 10(the)m 11(age)m 10(of)m 10 r 97 c 11(link)m 10(state)m 11(advertisement)m 10(\(that)m 11(is)m 10(contained)m 10(in)m 11(the)m 10(link)m 11(state)m 10(database\))m 10(hits)m 11 r 97 c 10(multiple)m 11(of)m 104 1230 p (CheckAge,)s 10(the)m 11(advertisement')m -2 r 115 c 10(checksum)m 10(is)m 11(veri\014ed.)m 13(An)m 11(incorrect)m 10(checksum)m 11(at)m 10(this)m 11(time)m 10(indicates)m 10 r 97 c 11(serious)m 104 1280 p (error)s -2 r 46 c 13(The)m 11(value)m 10(of)m 11(CheckAge)m 10(is)m 10(set)m 11(to)m 10 r 53 c 11(minutes.)m t-bol.300 @sf 0 1363 p (MaxAgeDiff)s t-rom.300 @sf 21(The)m 10(maximum)m 11(time)m 10(dispersion)m 10(that)m 11(can)m 10(occur)m 44 c 9(as)m 10 r 97 c 11(link)m 10(state)m 11(advertisement)m 10(is)m 11(\015ooded)m 10(throughout)m 10(the)m 104 1412 p (AS.)s 10(Most)m 11(of)m 10(this)m 10(time)m 11(is)m 10(accounted)m 11(for)m 10(by)m 11(the)m 10(link)m 10(state)m 11(advertisements)m 10(sitting)m 11(on)m 10(router)m 10(output)m 11(queues)m 10(\(and)m 104 1462 p (therefore)s 10(not)m 11(aging\))m 10(during)m 10(the)m 11(\015ooding)m 10(process.)m 14(The)m 11(value)m 10(of)m 10(MaxAgeDif)m 102 c 10(is)m 10(set)m 11(to)m 10(15)m 11(minutes.)m t-bol.300 @sf 0 1545 p (LSIn\014nity)s t-rom.300 @sf 21(The)m 10(metric)m 11(value)m 10(indicating)m 10(that)m 11(the)m 10(destination)m 11(described)m 10(by)m 11 r 97 c 10(link)m 10(state)m 11(advertisement)m 10(is)m 11(unreachable.)m 104 1595 p (Used)s 10(in)m 10(summary)m 10(link)m 10(advertisements)m 10(and)m 11(AS)m 10(external)m 10(link)m 10(advertisements)m 10(as)m 10(an)m 10(alternative)m 11(to)m 10(premature)m 10(aging)m 104 1645 p (\(see)s 10(Section)m 11(14.1\).)m 13(It)m 11(is)m 10(de\014ned)m 11(to)m 10(be)m 11(the)m 10(24-bit)m 10(binary)m 11(value)m 10(of)m 11(all)m 10(ones:)m c-med.300 @sf 14(0xffffff)m t-rom.300 @sf 46 c t-bol.300 @sf 0 1728 p (DefaultDestination)s t-rom.300 @sf 21(The)m 10(Destination)m 11(ID)m 10(that)m 10(indicates)m 11(the)m 10(default)m 11(route.)m 14(This)m 10(route)m 10(is)m 11(used)m 10(when)m 11(no)m 10(other)m 10(matching)m 104 1778 p (routing)s 10(table)m 11(entry)m 10(can)m 10(be)m 11(found.)m 14(The)m 10(default)m 11(destination)m 10(can)m 10(only)m 11(be)m 10(advertised)m 11(in)m 10(AS)m 10(external)m 11(link)m 104 1828 p (advertisements)s 10(and)m 11(in)m 10(stub)m 10(areas')m 11(type)m 10 r 51 c 11(summary)m 10(link)m 11(advertisements.)m 13(Its)m 11(value)m 10(is)m 11(the)m 10(IP)m 10(address)m c-med.300 @sf 11(0.0.0.0)m t-rom.300 @sf 46 c 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(15])m @eop 116 @bop0 116 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 67 c 58(Con\014gurable)m 15(Constants)m t-rom.300 @sf 0 306 p (The)s 10(OSPF)m 11(protocol)m 10(has)m 11(quite)m 10 r 97 c 10(few)m 11(con\014gurable)m 10(parameters.)m 14(These)m 11(parameters)m 10(are)m 10(listed)m 11(below)m -2 r 46 c 13(They)m 10(are)m 11(grouped)m 0 356 p (into)s 10(general)m 11(functional)m 10(categories)m 11(\(area)m 10(parameters,)m 10(interface)m 11(parameters,)m 10(etc.\).)m 14(Sample)m 11(values)m 10(are)m 10(given)m 11(for)m 10(some)m 11(of)m 0 405 p (the)s 10(parameters.)m 0 473 p (Some)s 10(parameter)m 11(settings)m 10(need)m 11(to)m 10(be)m 10(consistent)m 11(among)m 10(groups)m 11(of)m 10(routers.)m 14(For)m 10(example,)m 11(all)m 10(routers)m 11(in)m 10(an)m 11(area)m 10(must)m 0 523 p (agree)s 10(on)m 11(that)m 10(area')m -1 r 115 c 9(parameters,)m 11(and)m 10(all)m 11(routers)m 10(attached)m 10(to)m 11 r 97 c 10(network)m 11(must)m 10(agree)m 11(on)m 10(that)m 10(network')m -1 r 115 c 9(IP)m 11(network)m 0 573 p (number)s 10(and)m 11(mask.)m 0 640 p (Some)s 10(parameters)m 11(may)m 10(be)m 11(determined)m 10(by)m 10(router)m 11(algorithms)m 10(outside)m 11(of)m 10(this)m 11(speci\014cation)m 10(\(e.g.,)m 10(the)m 11(address)m 10(of)m 11 r 97 c 10(host)m 0 690 p (connected)s 10(to)m 11(the)m 10(router)m 11(via)m 10 r 97 c 10(SLIP)m 11(line\).)m 14(From)m 10(OSPF')m -1 r 115 c 9(point)m 11(of)m 10(view)m -2 r 44 c 10(these)m 10(items)m 11(are)m 10(still)m 11(con\014gurable.)m t-bol.360 @sf 0 827 p (C.1)s 50(Global)m 12(parameters)m t-rom.300 @sf 0 922 p (In)s 10(general,)m 11 r 97 c 10(separate)m 11(copy)m 10(of)m 10(the)m 11(OSPF)m 10(protocol)m 11(is)m 10(run)m 11(for)m 10(each)m 10(area.)m 14(Because)m 11(of)m 10(this,)m 11(most)m 10(con\014guration)m 10(parameters)m 0 972 p (are)s 10(de\014ned)m 11(on)m 10 r 97 c 11(per)m (-area)s 9(basis.)m 14(The)m 11(few)m 10(global)m 10(con\014guration)m 11(parameters)m 10(are)m 11(listed)m 10(below)m -2 r 46 c t-bol.300 @sf 0 1081 p (Router)s 10(ID)m t-rom.300 @sf 21(This)m 11(is)m 10 r 97 c 10(32-bit)m 11(number)m 10(that)m 11(uniquely)m 10(identi\014es)m 11(the)m 10(router)m 10(in)m 11(the)m 10(Autonomous)m 11(System.)m 13(One)m 11(algorithm)m 10(for)m 104 1131 p (Router)s 10(ID)m 11(assignment)m 10(is)m 10(to)m 11(choose)m 10(the)m 11(lar)m (gest)s 9(or)m 11(smallest)m 10(IP)m 11(address)m 10(assigned)m 10(to)m 11(the)m 10(router)m -1 r 46 c 13(If)m 10 r 97 c 11(router)m 1 r 39 c -1 r 115 c 9(OSPF)m 104 1181 p (Router)s 10(ID)m 11(is)m 10(changed,)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(OSPF)m 10(software)m 10(should)m 11(be)m 10(restarted)m 11(before)m 10(the)m 10(new)m 11(Router)m 10(ID)m 11(takes)m 10(ef)m (fect.)s 104 1231 p (Before)s 10(restarting)m 11(in)m 10(order)m 10(to)m 11(change)m 10(its)m 11(Router)m 10(ID,)m 11(the)m 10(router)m 10(should)m 11(\015ush)m 10(its)m 11(self-originated)m 10(link)m 10(state)m 104 1281 p (advertisements)s 10(from)m 11(the)m 10(routing)m 10(domain)m 11(\(see)m 10(Section)m 11(14.1\),)m 10(or)m 11(they)m 10(will)m 10(persist)m 11(for)m 10(up)m 11(to)m 10(MaxAge)m 10(minutes.)m t-bol.300 @sf 0 1364 p 84 c (OS)s 10(capability)m t-rom.300 @sf 20(This)m 11(item)m 10(indicates)m 11(whether)m 10(the)m 11(router)m 10(will)m 10(calculate)m 11(separate)m 10(routes)m 11(based)m 10(on)m 10 r 84 c (OS.)s 14(For)m 10(more)m 104 1414 p (information,)s 10(see)m 11(Sections)m 10(4.5)m 10(and)m 11(16.9.)m t-bol.360 @sf 0 1550 p (C.2)s 50(Ar)m (ea)s 12(parameters)m t-rom.300 @sf 0 1646 p (All)s 10(routers)m 11(belonging)m 10(to)m 11(an)m 10(area)m 10(must)m 11(agree)m 10(on)m 11(that)m 10(area')m -1 r 115 c 9(con\014guration.)m 14(Disagreements)m 11(between)m 10(two)m 10(routers)m 11(will)m 0 1696 p (lead)s 10(to)m 11(an)m 10(inability)m 11(for)m 10(adjacencies)m 10(to)m 11(form)m 10(between)m 11(them,)m 10(with)m 11 r 97 c 10(resulting)m 10(hindrance)m 11(to)m 10(the)m 11(\015ow)m 10(of)m 10(routing)m 11(protocol)m 0 1746 p (and)s 10(data)m 11(traf)m (\014c.)s 13(The)m 10(following)m 11(items)m 10(must)m 11(be)m 10(con\014gured)m 10(for)m 11(an)m 10(area:)m t-bol.300 @sf 0 1855 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 20(This)m 11(is)m 10 r 97 c 11(32-bit)m 10(number)m 11(that)m 10(identi\014es)m 10(the)m 11(area.)m 14(The)m 10(Area)m 10(ID)m 11(of)m c-med.300 @sf 10(0.0.0.0)m t-rom.300 @sf 11(is)m 10(reserved)m 11(for)m 10(the)m 10(backbone.)m 14(If)m 104 1905 p (the)s 10(area)m 11(represents)m 10 r 97 c 10(subnetted)m 11(network,)m 10(the)m 11(IP)m 10(network)m 11(number)m 10(of)m 10(the)m 11(subnetted)m 10(network)m 11(may)m 10(be)m 10(used)m 11(for)m 10(the)m 104 1954 p (Area)s 10(ID.)m t-bol.300 @sf 0 2037 p (List)s 10(of)m 11(addr)m (ess)s 9(ranges)m t-rom.300 @sf 21(An)m 11(OSPF)m 10(area)m 11(is)m 10(de\014ned)m 10(as)m 11 r 97 c 10(list)m 11(of)m 10(address)m 10(ranges.)m 14(Each)m 11(address)m 10(range)m 11(consists)m 10(of)m 10(the)m 104 2087 p (following)s 10(items:)m t-bol.300 @sf 104 2170 p ([IP)s 10(addr)m (ess,)s 10(mask])m t-rom.300 @sf 21(Describes)m 10(the)m 10(collection)m 11(of)m 10(IP)m 11(addresses)m 10(contained)m 11(in)m 10(the)m 10(address)m 11(range.)m 14(Networks)m 10(and)m 195 2220 p (hosts)s 11(are)m 10(assigned)m 10(to)m 11(an)m 10(area)m 11(depending)m 10(on)m 10(whether)m 11(their)m 10(addresses)m 11(fall)m 10(into)m 11(one)m 10(of)m 10(the)m 11(area')m -2 r 115 c 10(de\014ning)m 195 2270 p (address)s 10(ranges.)m 14(Routers)m 10(are)m 10(viewed)m 10(as)m 10(belonging)m 10(to)m 10(multiple)m 10(areas,)m 10(depending)m 10(on)m 10(their)m 10(attached)m 10(networks')m 195 2320 p (area)s 11(membership.)m t-bol.300 @sf 104 2386 p (Status)s t-rom.300 @sf 21(Set)m 10(to)m 10(either)m 11(Advertise)m 10(or)m 11(DoNotAdvertise.)m 14(Routing)m 10(information)m 10(is)m 11(condensed)m 10(at)m 11(area)m 10(boundaries.)m 195 2436 p (External)s 11(to)m 10(the)m 10(area,)m 11(at)m 10(most)m 11 r 97 c 10(single)m 10(route)m 11(is)m 10(advertised)m 11(\(via)m 10 r 97 c 11(summary)m 10(link)m 10(advertisement\))m 11(for)m 10(each)m 195 2486 p (address)s 11(range.)m 13(The)m 11(route)m 10(is)m 11(advertised)m 10(if)m 10(and)m 11(only)m 10(if)m 11(the)m 10(address)m 11(range')m -2 r 115 c 10(Status)m 10(is)m 11(set)m 10(to)m 10(Advertise.)m 195 2535 p (Unadvertised)s 11(ranges)m 10(allow)m 10(the)m 11(existence)m 10(of)m 11(certain)m 10(networks)m 10(to)m 11(be)m 10(intentionally)m 11(hidden)m 10(from)m 11(other)m 10(areas.)m 195 2585 p (Status)s 11(is)m 10(set)m 10(to)m 11(Advertise)m 10(by)m 11(default.)m 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(16])m @eop 117 @bop0 117 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 104 195 p (As)s 10(an)m 11(example,)m 10(suppose)m 10(an)m 11(IP)m 10(subnetted)m 11(network)m 10(is)m 11(to)m 10(be)m 10(its)m 11(own)m 10(OSPF)m 11(area.)m 13(The)m 11(area)m 10(would)m 11(be)m 10(con\014gured)m 11(as)m 104 245 p 97 c 10(single)m 9(address)m 10(range,)m 10(whose)m 10(IP)m 10(address)m 10(is)m 9(the)m 10(address)m 10(of)m 10(the)m 10(subnetted)m 10(network,)m 10(and)m 9(whose)m 10(mask)m 10(is)m 10(the)m 10(natural)m 104 295 p (class)s 10(A,)m 11(B,)m 10(or)m 10 r 67 c 11(address)m 10(mask.)m 14 r 65 c 11(single)m 10(route)m 10(would)m 11(be)m 10(advertised)m 11(external)m 10(to)m 10(the)m 11(area,)m 10(describing)m 11(the)m 10(entire)m 104 345 p (subnetted)s 10(network.)m t-bol.300 @sf 0 424 p (AuT)s -2(ype)m t-rom.300 @sf 20(Each)m 10(area)m 11(can)m 10(be)m 10(con\014gured)m 11(for)m 10 r 97 c 11(separate)m 10(type)m 10(of)m 11(authentication.)m 14(See)m 10(Appendix)m 11 r 68 c 10(for)m 10 r 97 c 11(discussion)m 10(of)m 11(the)m 104 474 p (de\014ned)s 10(authentication)m 11(types.)m t-bol.300 @sf 0 554 p (ExternalRoutingCapability)s t-rom.300 @sf 21(Whether)m 10(AS)m 11(external)m 10(advertisements)m 10(will)m 11(be)m 10(\015ooded)m 11(into/throughout)m 10(the)m 11(area.)m 13(If)m 11(AS)m 104 604 p (external)s 10(advertisements)m 10(are)m 10(excluded)m 10(from)m 10(the)m 10(area,)m 11(the)m 10(area)m 10(is)m 10(called)m 10 r 97 c 10(\\stub".)m 14(Internal)m 10(to)m 10(stub)m 10(areas,)m 11(routing)m 10(to)m 104 653 p (external)s 10(destinations)m 11(will)m 10(be)m 10(based)m 11(solely)m 10(on)m 11 r 97 c 10(default)m 11(summary)m 10(route.)m 14(The)m 10(backbone)m 11(cannot)m 10(be)m 10(con\014gured)m 11(as)m 10 r 97 c 104 703 p (stub)s 10(area.)m 14(Also,)m 10(virtual)m 11(links)m 10(cannot)m 11(be)m 10(con\014gured)m 11(through)m 10(stub)m 10(areas.)m 14(For)m 11(more)m 10(information,)m 11(see)m 10(Section)m 10(3.6.)m t-bol.300 @sf 0 783 p (StubDefaultCost)s t-rom.300 @sf 21(If)m 10(the)m 10(area)m 10(has)m 10(been)m 10(con\014gured)m 10(as)m 10 r 97 c 10(stub)m 10(area,)m 10(and)m 10(the)m 10(router)m 10(itself)m 10(is)m 10(an)m 10(area)m 10(border)m 10(router)m -1 r 44 c 9(then)m 10(the)m 104 833 p (StubDefaultCost)s 10(indicates)m 11(the)m 10(cost)m 10(of)m 11(the)m 10(default)m 11(summary)m 10(link)m 11(that)m 10(the)m 10(router)m 11(should)m 10(advertise)m 11(into)m 10(the)m 10(area.)m 104 883 p (There)s 10(can)m 11(be)m 10 r 97 c 10(separate)m 11(cost)m 10(con\014gured)m 11(for)m 10(each)m 11(IP)m 10 r 84 c (OS.)s 13(See)m 10(Section)m 11(12.4.3)m 10(for)m 11(more)m 10(information.)m t-bol.360 @sf 0 1014 p (C.3)s 50(Router)m 12(interface)m 13(parameters)m t-rom.300 @sf 0 1106 p (Some)s 10(of)m 11(the)m 10(con\014gurable)m 11(router)m 10(interface)m 10(parameters)m 11(\(such)m 10(as)m 11(IP)m 10(interface)m 11(address)m 10(and)m 10(subnet)m 11(mask\))m 10(actually)m 11(imply)m 0 1156 p (properties)s 10(of)m 11(the)m 10(attached)m 11(networks,)m 10(and)m 10(therefore)m 11(must)m 10(be)m 11(consistent)m 10(across)m 11(all)m 10(the)m 10(routers)m 11(attached)m 10(to)m 11(that)m 10(network.)m 0 1206 p (The)s 10(parameters)m 11(that)m 10(must)m 11(be)m 10(con\014gured)m 10(for)m 11 r 97 c 10(router)m 11(interface)m 10(are:)m t-bol.300 @sf 0 1303 p (IP)s 10(interface)m 11(addr)m (ess)s t-rom.300 @sf 20(The)m 10(IP)m 11(protocol)m 10(address)m 11(for)m 10(this)m 10(interface.)m 14(This)m 11(uniquely)m 10(identi\014es)m 10(the)m 11(router)m 10(over)m 11(the)m 10(entire)m 104 1353 p (internet.)s 14(An)m 10(IP)m 10(address)m 11(is)m 10(not)m 11(required)m 10(on)m 11(serial)m 10(lines.)m 14(Such)m 10 r 97 c 11(serial)m 10(line)m 11(is)m 10(called)m 10(\\unnumbered".)m t-bol.300 @sf 0 1433 p (IP)s 10(interface)m 11(mask)m t-rom.300 @sf 21(Also)m 10(referred)m 10(to)m 11(as)m 10(the)m 11(subnet)m 10(mask,)m 11(this)m 10(indicates)m 10(the)m 11(portion)m 10(of)m 11(the)m 10(IP)m 10(interface)m 11(address)m 10(that)m 104 1483 p (identi\014es)s 10(the)m 11(attached)m 10(network.)m 14(Masking)m 10(the)m 11(IP)m 10(interface)m 11(address)m 10(with)m 10(the)m 11(IP)m 10(interface)m 11(mask)m 10(yields)m 10(the)m 11(IP)m 104 1532 p (network)s 10(number)m 10(of)m 10(the)m 10(attached)m 10(network.)m 14(On)m 10(point-to-point)m 11(networks)m 10(and)m 10(virtual)m 10(links,)m 10(the)m 10(IP)m 10(interface)m 11(mask)m 10(is)m 104 1582 p (not)s 10(de\014ned.)m 14(On)m 10(these)m 11(networks,)m 10(the)m 11(link)m 10(itself)m 11(is)m 10(not)m 10(assigned)m 11(an)m 10(IP)m 11(network)m 10(number)m -1 r 44 c 10(and)m 10(so)m 11(the)m 10(addresses)m 10(of)m 104 1632 p (each)s 10(side)m 11(of)m 10(the)m 10(link)m 11(are)m 10(assigned)m 11(independently)m -2 r 44 c 9(if)m 11(they)m 10(are)m 11(assigned)m 10(at)m 10(all.)m t-bol.300 @sf 0 1712 p (Interface)s 10(output)m 11(cost\(s\))m t-rom.300 @sf 21(The)m 10(cost)m 10(of)m 11(sending)m 10 r 97 c 11(packet)m 10(on)m 11(the)m 10(interface,)m 10(expressed)m 11(in)m 10(the)m 11(link)m 10(state)m 10(metric.)m 14(This)m 11(is)m 104 1762 p (advertised)s 10(as)m 11(the)m 10(link)m 10(cost)m 11(for)m 10(this)m 11(interface)m 10(in)m 11(the)m 10(router)m 1 r 39 c -1 r 115 c 10(router)m 10(links)m 10(advertisement.)m 14(There)m 11(may)m 10(be)m 11 r 97 c 10(separate)m 104 1811 p (cost)s 10(for)m 11(each)m 10(IP)m 10 r 84 c -1(ype)m 9(of)m 10(Service.)m 14(The)m 11(interface)m 10(output)m 10(cost\(s\))m 11(must)m 10(always)m 11(be)m 10(greater)m 11(than)m 10(0.)m t-bol.300 @sf 0 1891 p (RxmtInterval)s t-rom.300 @sf 21(The)m 10(number)m 11(of)m 10(seconds)m 10(between)m 11(link)m 10(state)m 11(advertisement)m 10(retransmissions,)m 11(for)m 10(adjacencies)m 10(belonging)m 104 1941 p (to)s 10(this)m 11(interface.)m 13(Also)m 11(used)m 10(when)m 11(retransmitting)m 10(Database)m 11(Description)m 10(and)m 10(Link)m 11(State)m 10(Request)m 11(Packets.)m 14(This)m 104 1991 p (should)s 10(be)m 11(well)m 10(over)m 10(the)m 11(expected)m 10(round-trip)m 11(delay)m 10(between)m 11(any)m 10(two)m 10(routers)m 11(on)m 10(the)m 11(attached)m 10(network.)m 14(The)m 104 2041 p (setting)s 10(of)m 11(this)m 10(value)m 10(should)m 11(be)m 10(conservative)m 11(or)m 10(needless)m 11(retransmissions)m 10(will)m 10(result.)m 14(It)m 11(will)m 10(need)m 10(to)m 11(be)m 10(lar)m (ger)s 10(on)m 104 2090 p (low)s 10(speed)m 11(serial)m 10(lines)m 10(and)m 11(virtual)m 10(links.)m 14(Sample)m 11(value)m 10(for)m 10 r 97 c 11(local)m 10(area)m 11(network:)m 14 r 53 c 10(seconds.)m t-bol.300 @sf 0 2170 p (InfT)s -2(ransDelay)m t-rom.300 @sf 20(The)m 10(estimated)m 11(number)m 10(of)m 10(seconds)m 11(it)m 10(takes)m 11(to)m 10(transmit)m 10 r 97 c 11(Link)m 10(State)m 11(Update)m 10(Packet)m 11(over)m 10(this)m 10(interface.)m 104 2220 p (Link)s 10(state)m 11(advertisements)m 10(contained)m 10(in)m 11(the)m 10(update)m 11(packet)m 10(must)m 11(have)m 10(their)m 10(age)m 11(incremented)m 10(by)m 11(this)m 10(amount)m 104 2270 p (before)s 10(transmission.)m 14(This)m 10(value)m 11(should)m 10(take)m 11(into)m 10(account)m 11(the)m 10(transmission)m 10(and)m 11(propagation)m 10(delays)m 11(of)m 10(the)m 104 2320 p (interface.)s 14(It)m 10(must)m 10(be)m 11(greater)m 10(than)m 11(0.)m 14(Sample)m 10(value)m 10(for)m 11 r 97 c 10(local)m 11(area)m 10(network:)m 14 r 49 c 10(second.)m t-bol.300 @sf 0 2399 p (Router)s 10(Priority)m t-rom.300 @sf 21(An)m 11(8-bit)m 10(unsigned)m 10(integer)m -1 r 46 c 13(When)m 10(two)m 11(routers)m 10(attached)m 11(to)m 10 r 97 c 11(network)m 10(both)m 10(attempt)m 11(to)m 10(become)m 104 2449 p (Designated)s 10(Router)m 44 c 9(the)m 10(one)m 11(with)m 10(the)m 11(highest)m 10(Router)m 10(Priority)m 11(takes)m 10(precedence.)m 14(If)m 11(there)m 10(is)m 10(still)m 11 r 97 c 10(tie,)m 11(the)m 10(router)m 104 2499 p (with)s 10(the)m 11(highest)m 10(Router)m 10(ID)m 11(takes)m 10(precedence.)m 14 r 65 c 11(router)m 10(whose)m 10(Router)m 11(Priority)m 10(is)m 11(set)m 10(to)m 10 r 48 c 11(is)m 10(ineligible)m 11(to)m 10(become)m 104 2549 p (Designated)s 10(Router)m 11(on)m 10(the)m 10(attached)m 11(network.)m 14(Router)m 10(Priority)m 11(is)m 10(only)m 10(con\014gured)m 11(for)m 10(interfaces)m 11(to)m 10(multi-access)m 104 2599 p (networks.)s 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(17])m @eop 118 @bop0 118 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (HelloInterval)s t-rom.300 @sf 21(The)m 10(length)m 11(of)m 10(time,)m 10(in)m 11(seconds,)m 10(between)m 11(the)m 10(Hello)m 11(Packets)m 10(that)m 10(the)m 11(router)m 10(sends)m 11(on)m 10(the)m 10(interface.)m 14(This)m 104 245 p (value)s 10(is)m 11(advertised)m 10(in)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 10(Hello)m 10(Packets.)m 14(It)m 10(must)m 11(be)m 10(the)m 10(same)m 11(for)m 10(all)m 11(routers)m 10(attached)m 11(to)m 10 r 97 c 10(common)m 104 295 p (network.)s 14(The)m 10(smaller)m 10(the)m 11(HelloInterval,)m 10(the)m 11(faster)m 10(topological)m 11(changes)m 10(will)m 10(be)m 11(detected,)m 10(but)m 11(more)m 10(OSPF)m 104 345 p (routing)s 10(protocol)m 11(traf)m (\014c)s 9(will)m 11(ensue.)m 14(Sample)m 10(value)m 10(for)m 11 r 97 c 10(X.25)m 11(PDN)m 10(network:)m 14(30)m 10(seconds.)m 14(Sample)m 11(value)m 10(for)m 11 r 97 c 104 394 p (local)s 10(area)m 11(network:)m 13(10)m 11(seconds.)m t-bol.300 @sf 0 471 p (RouterDeadInterval)s t-rom.300 @sf 21(After)m 10(ceasing)m 11(to)m 10(hear)m 10 r 97 c 11(router)m 1 r 39 c -1 r 115 c 10(Hello)m 10(Packets,)m 10(the)m 11(number)m 10(of)m 11(seconds)m 10(before)m 10(its)m 11(neighbors)m 104 521 p (declare)s 10(the)m 11(router)m 10(down.)m 14(This)m 10(is)m 11(also)m 10(advertised)m 11(in)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 9(Hello)m 10(Packets)m 11(in)m 10(their)m 11(RouterDeadInterval)m 10(\014eld.)m 104 571 p (This)s 10(should)m 11(be)m 10(some)m 10(multiple)m 11(of)m 10(the)m 11(HelloInterval)m 10(\(say)m 11(4\).)m 13(This)m 11(value)m 10(again)m 11(must)m 10(be)m 10(the)m 11(same)m 10(for)m 11(all)m 10(routers)m 104 621 p (attached)s 10(to)m 11 r 97 c 10(common)m 10(network.)m t-bol.300 @sf 0 698 p (Authentication)s 10(key)m t-rom.300 @sf 21(This)m 11(con\014gured)m 10(data)m 10(allows)m 11(the)m 10(authentication)m 11(procedure)m 10(to)m 11(generate)m 10(and/or)m 10(verify)m 11(the)m 104 748 p (authentication)s 10(\014eld)m 11(in)m 10(the)m 10(OSPF)m 11(header)m -1 r 46 c 12(This)m 11(value)m 10(again)m 11(must)m 10(be)m 11(the)m 10(same)m 10(for)m 11(all)m 10(routers)m 11(attached)m 10(to)m 10 r 97 c 104 797 p (common)s 10(network.)m 14(For)m 10(example,)m 11(if)m 10(the)m 11(AuT)m -2(ype)m 9(indicates)m 11(simple)m 10(password,)m 10(the)m 11(Authentication)m 10(key)m 11(would)m 10(be)m 11 r 97 c 104 847 p (64-bit)s 10(password.)m 14(This)m 10(key)m 11(would)m 10(be)m 11(inserted)m 10(directly)m 11(into)m 10(the)m 10(OSPF)m 11(header)m 10(when)m 11(originating)m 10(routing)m 10(protocol)m 104 897 p (packets.)s 14(There)m 10(could)m 10(be)m 11 r 97 c 10(separate)m 11(password)m 10(for)m 11(each)m 10(network.)m t-bol.360 @sf 0 1025 p (C.4)s 50 r 86 c -1(irtual)m 12(link)m 12(parameters)m t-rom.300 @sf 0 1114 p 86 c -2(irtual)m 10(links)m 10(are)m 11(used)m 10(to)m 11(restore/increase)m 10(connectivity)m 10(of)m 11(the)m 10(backbone.)m 14 r 86 c -1(irtual)m 9(links)m 10(may)m 11(be)m 10(con\014gured)m 11(between)m 10(any)m 0 1164 p (pair)s 10(of)m 11(area)m 10(border)m 11(routers)m 10(having)m 10(interfaces)m 11(to)m 10 r 97 c 11(common)m 10(\(non-backbone\))m 11(area.)m 13(The)m 11(virtual)m 10(link)m 11(appears)m 10(as)m 11(an)m 0 1214 p (unnumbered)s 10(point-to-point)m 11(link)m 10(in)m 10(the)m 10(graph)m 11(for)m 10(the)m 10(backbone.)m 14(The)m 10(virtual)m 11(link)m 10(must)m 10(be)m 11(con\014gured)m 10(in)m 10(both)m 11(of)m 10(the)m 10(area)m 0 1263 p (border)s 10(routers.)m 0 1325 p 65 c 10(virtual)m 11(link)m 10(appears)m 11(in)m 10(router)m 10(links)m 11(advertisements)m 10(\(for)m 11(the)m 10(backbone\))m 11(as)m 10(if)m 10(it)m 11(were)m 10 r 97 c 11(separate)m 10(router)m 10(interface)m 11(to)m 10(the)m 0 1374 p (backbone.)s 14(As)m 10(such,)m 11(it)m 10(has)m 11(all)m 10(of)m 10(the)m 11(parameters)m 10(associated)m 11(with)m 10 r 97 c 10(router)m 11(interface)m 10(\(see)m 11(Section)m 10(C.3\).)m 14(Although)m 10 r 97 c 0 1424 p (virtual)s 10(link)m 11(acts)m 10(like)m 11(an)m 10(unnumbered)m 10(point-to-point)m 11(link,)m 10(it)m 11(does)m 10(have)m 11(an)m 10(associated)m t-bol.300 @sf 10(IP)m 11(interface)m 10(addr)m (ess)s t-rom.300 @sf 46 c 13(This)m 0 1474 p (address)s 10(is)m 11(used)m 10(as)m 11(the)m 10(IP)m 10(source)m 11(in)m 10(OSPF)m 11(protocol)m 10(packets)m 11(it)m 10(sends)m 10(along)m 11(the)m 10(virtual)m 11(link,)m 10(and)m 10(is)m 11(set)m 10(dynamically)m 0 1524 p (during)s 10(the)m 11(routing)m 10(table)m 11(build)m 10(process.)m t-bol.300 @sf 14(Interface)m 10(output)m 11(cost)m t-rom.300 @sf 10(is)m 11(also)m 10(set)m 10(dynamically)m 11(on)m 10(virtual)m 11(links)m 10(to)m 11(be)m 10(the)m 10(cost)m 11(of)m 0 1574 p (the)s 10(intra-area)m 11(path)m 10(between)m 11(the)m 10(two)m 10(routers.)m 14(The)m 11(parameter)m t-bol.300 @sf 10(RxmtInterval)m t-rom.300 @sf 11(must)m 10(be)m 10(con\014gured,)m 11(and)m 10(should)m 11(be)m 10(well)m 0 1623 p (over)s 10(the)m 10(expected)m 10(round-trip)m 9(delay)m 10(between)m 10(the)m 10(two)m 10(routers.)m 13(This)m 10(may)m 10(be)m 10(hard)m 10(to)m 10(estimate)m 10(for)m 9 r 97 c 10(virtual)m 10(link;)m 10(it)m 10(is)m 10(better)m 0 1673 p (to)s 10(err)m 11(on)m 10(the)m 11(side)m 10(of)m 10(making)m 11(it)m 10(too)m 11(lar)m (ge.)s t-bol.300 @sf 13(Router)m 10(Priority)m t-rom.300 @sf 11(is)m 10(not)m 11(used)m 10(on)m 10(virtual)m 11(links.)m 0 1735 p 65 c 10(virtual)m 11(link)m 10(is)m 11(de\014ned)m 10(by)m 10(the)m 11(following)m 10(two)m 11(con\014gurable)m 10(parameters:)m 14(the)m 10(Router)m 11(ID)m 10(of)m 11(the)m 10(virtual)m 11(link')m -2 r 115 c 10(other)m 0 1784 p (endpoint,)s 10(and)m 11(the)m 10(\(non-backbone\))m 11(area)m 10(through)m 10(which)m 11(the)m 10(virtual)m 11(link)m 10(runs)m 11(\(referred)m 10(to)m 10(as)m 11(the)m 10(virtual)m 11(link')m -2 r 115 c t-bol.300 @sf 10 r 84 c -2(ransit)m 0 1834 p (ar)s (ea)s t-rom.300 @sf (\).)s 13 r 86 c -1(irtual)m 9(links)m 10(cannot)m 11(be)m 10(con\014gured)m 11(through)m 10(stub)m 11(areas.)m t-bol.360 @sf 0 1962 p (C.5)s 50(Non-br)m (oadcast,)s 12(multi-access)m 12(network)m 13(parameters)m t-rom.300 @sf 0 2051 p (OSPF)s 10(treats)m 10 r 97 c 11(non-broadcast,)m 10(multi-access)m 10(network)m 10(much)m 11(like)m 10(it)m 10(treats)m 10 r 97 c 10(broadcast)m 11(network.)m 13(Since)m 11(there)m 10(may)m 10(be)m 10(many)m 0 2101 p (routers)s 10(attached)m 11(to)m 10(the)m 11(network,)m 10 r 97 c 10(Designated)m 11(Router)m 10(is)m 11(selected)m 10(for)m 11(the)m 10(network.)m 14(This)m 10(Designated)m 11(Router)m 10(then)m 0 2151 p (originates)s 10 r 97 c 11(networks)m 10(links)m 11(advertisement,)m 10(which)m 10(lists)m 11(all)m 10(routers)m 11(attached)m 10(to)m 11(the)m 10(non-broadcast)m 10(network.)m 0 2212 p (However)s -1 r 44 c 10(due)m 10(to)m 11(the)m 10(lack)m 10(of)m 11(broadcast)m 10(capabilities,)m 11(it)m 10(is)m 10(necessary)m 11(to)m 10(use)m 11(con\014guration)m 10(parameters)m 11(in)m 10(the)m 10(Designated)m 0 2262 p (Router)s 10(selection.)m 14(These)m 11(parameters)m 10(need)m 11(only)m 10(be)m 10(con\014gured)m 11(in)m 10(those)m 11(routers)m 10(that)m 10(are)m 11(themselves)m 10(eligible)m 11(to)m 10(become)m 0 2311 p (Designated)s 10(Router)m 11(\(i.e.,)m 10(those)m 11(router)m 1 r 39 c -1 r 115 c 9(whose)m 11(Router)m 10(Priority)m 11(for)m 10(the)m 10(network)m 11(is)m 10(non-zero\):)m t-bol.300 @sf 0 2399 p (List)s 10(of)m 11(all)m 10(other)m 11(attached)m 10 r 114 c (outers)s t-rom.300 @sf 20(The)m 11(list)m 10(of)m 10(all)m 11(other)m 10(routers)m 11(attached)m 10(to)m 10(the)m 11(non-broadcast)m 10(network.)m 14(Each)m 11(router)m 10(is)m 104 2449 p (listed)s 10(by)m 11(its)m 10(IP)m 10(interface)m 11(address)m 10(on)m 11(the)m 10(network.)m 14(Also,)m 10(for)m 11(each)m 10(router)m 11(listed,)m 10(that)m 10(router)m 2 r 39 c -1 r 115 c 9(eligibility)m 11(to)m 10(become)m 104 2499 p (Designated)s 10(Router)m 11(must)m 10(be)m 10(de\014ned.)m 14(When)m 11(an)m 10(interface)m 11(to)m 10 r 97 c 10(non-broadcast)m 11(network)m 10(comes)m 11(up,)m 10(the)m 10(router)m 11(sends)m 104 2549 p (Hello)s 10(Packets)m 11(only)m 10(to)m 10(those)m 11(neighbors)m 10(eligible)m 11(to)m 10(become)m 11(Designated)m 10(Router)m -1 r 44 c 10(until)m 10(the)m 11(identity)m 10(of)m 10(the)m 104 2599 p (Designated)s 10(Router)m 11(is)m 10(discovered.)m 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(18])m @eop 119 @bop0 119 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.300 @sf 0 195 p (PollInterval)s t-rom.300 @sf 21(If)m 10 r 97 c 11(neighboring)m 10(router)m 10(has)m 11(become)m 10(inactive)m 11(\(Hello)m 10(Packets)m 11(have)m 10(not)m 10(been)m 11(seen)m 10(for)m 11(RouterDeadInterval)m 104 245 p (seconds\),)s 10(it)m 10(may)m 10(still)m 10(be)m 10(necessary)m 10(to)m 10(send)m 10(Hello)m 10(Packets)m 10(to)m 10(the)m 10(dead)m 10(neighbor)m -2 r 46 c 13(These)m 10(Hello)m 10(Packets)m 10(will)m 10(be)m 10(sent)m 104 295 p (at)s 10(the)m 11(reduced)m 10(rate)m 10(PollInterval,)m 11(which)m 10(should)m 11(be)m 10(much)m 11(lar)m (ger)s 9(than)m 11(HelloInterval.)m 13(Sample)m 11(value)m 10(for)m 11 r 97 c 10(PDN)m 104 345 p (X.25)s 10(network:)m 14 r 50 c 10(minutes.)m t-bol.360 @sf 0 481 p (C.6)s 50(Host)m 12 r 114 c (oute)s 12(parameters)m t-rom.300 @sf 0 577 p (Host)s 10(routes)m 11(are)m 10(advertised)m 11(in)m 10(router)m 10(links)m 11(advertisements)m 10(as)m 11(stub)m 10(networks)m 11(with)m 10(mask)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 46 c 14(They)m 11(indicate)m 0 627 p (either)s 10(router)m 11(interfaces)m 10(to)m 11(point-to-point)m 10(networks,)m 10(looped)m 11(router)m 10(interfaces,)m 11(or)m 10(IP)m 11(hosts)m 10(that)m 10(are)m 11(directly)m 10(connected)m 11(to)m 0 676 p (the)s 10(router)m 11(\(e.g.,)m 10(via)m 11 r 97 c 10(SLIP)m 10(line\).)m 14(For)m 11(each)m 10(host)m 11(directly)m 10(connected)m 10(to)m 11(the)m 10(router)m 44 c 9(the)m 10(following)m 11(items)m 10(must)m 11(be)m 0 726 p (con\014gured:)s t-bol.300 @sf 0 835 p (Host)s 10(IP)m 11(addr)m (ess)s t-rom.300 @sf 20(The)m 10(IP)m 11(address)m 10(of)m 11(the)m 10(host.)m t-bol.300 @sf 0 919 p (Cost)s 10(of)m 11(link)m 10(to)m 11(host)m t-rom.300 @sf 20(The)m 10(cost)m 10(of)m 10(sending)m 10 r 97 c 10(packet)m 9(to)m 10(the)m 10(host,)m 10(in)m 10(terms)m 10(of)m 10(the)m 9(link)m 10(state)m 10(metric.)m 14(There)m 10(may)m 10(be)m 9(multiple)m 104 968 p (costs)s 10(con\014gured,)m 11(one)m 10(for)m 10(each)m 11(IP)m 10 r 84 c (OS.)s 13(However)m 44 c 9(since)m 11(the)m 10(host)m 10(probably)m 11(has)m 10(only)m 11 r 97 c 10(single)m 10(connection)m 11(to)m 10(the)m 104 1018 p (internet,)s 10(the)m 11(actual)m 10(con\014gured)m 10(cost\(s\))m 11(in)m 10(many)m 11(cases)m 10(is)m 11(unimportant)m 10(\(i.e.,)m 10(will)m 11(have)m 10(no)m 11(ef)m (fect)s 9(on)m 11(routing\).)m 0 2723 p (Moy)s 1691([Page)m 11 r 49 c -1(19])m @eop 120 @bop0 120 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 68 c 58(Authentication)m t-rom.300 @sf 0 306 p (All)s 10(OSPF)m 11(protocol)m 10(exchanges)m 11(are)m 10(authenticated.)m 14(The)m 10(OSPF)m 11(packet)m 10(header)m 11(\(see)m 10(Section)m 10(A.3.1\))m 11(includes)m 10(an)m 0 356 p (authentication)s 10(type)m 11(\014eld,)m 10(and)m 11(64-bits)m 10(of)m 10(data)m 11(for)m 10(use)m 11(by)m 10(the)m 11(appropriate)m 10(authentication)m 10(scheme)m 11(\(determined)m 10(by)m 11(the)m 0 405 p (type)s 10(\014eld\).)m 0 473 p (The)s 10(authentication)m 11(type)m 10(is)m 11(con\014gurable)m 10(on)m 10 r 97 c 11(per)m (-area)s 9(basis.)m 14(Additional)m 11(authentication)m 10(data)m 11(is)m 10(con\014gurable)m 10(on)m 11 r 97 c 0 523 p (per)s (-interface)s 10(basis.)m 13(For)m 11(example,)m 10(if)m 11(an)m 10(area)m 11(uses)m 10 r 97 c 10(simple)m 11(password)m 10(scheme)m 11(for)m 10(authentication,)m 10 r 97 c 11(separate)m 10(password)m 0 573 p (may)s 10(be)m 11(con\014gured)m 10(for)m 11(each)m 10(network)m 10(contained)m 11(in)m 10(the)m 11(area.)m 0 640 p (Authentication)s 10(types)m 11 r 48 c 10(and)m 11 r 49 c 10(are)m 10(de\014ned)m 11(by)m 10(this)m 11(speci\014cation.)m 14(All)m 10(other)m 10(authentication)m 11(types)m 10(are)m 11(reserved)m 10(for)m 0 690 p (de\014nition)s 10(by)m 11(the)m 10(IANA)m 11(\(iana@ISI.EDU\).)m 10(The)m 10(current)m 11(list)m 10(of)m 11(authentication)m 10(types)m 11(is)m 10(described)m 10(below)m 11(in)m 10 r 84 c -2(able)m 10(20.)m 376 796 p 1198 2 ru 375 846 p 2 50 ru t-ita.300 @sf 422 831 p (AuT)s -3(ype)m 590 846 p 2 50 ru 616 831 p (Description)s 1573 846 p 2 50 ru 376 848 p 1198 2 ru 375 898 p 2 50 ru t-rom.300 @sf 473 883 p 48 c 590 898 p 2 50 ru 616 883 p (No)s 11(authentication)m 1573 898 p 2 50 ru 375 947 p 2 50 ru 473 932 p 49 c 590 947 p 2 50 ru 616 932 p (Simple)s 11(password)m 1573 947 p 2 50 ru 375 997 p 2 50 ru 401 982 p (All)s 10(others)m 590 997 p 2 50 ru 616 982 p (Reserved)s 11(for)m 10(assignment)m 10(by)m 11(the)m 10(IANA)m 11(\(iana@ISI.EDU\))m 1573 997 p 2 50 ru 376 999 p 1198 2 ru 663 1136 p 84 c -2(able)m 9(20:)m 14(OSPF)m 11(authentication)m 10(types.)m t-bol.360 @sf 0 1314 p (D.1)s 50(AuT)m -3(ype)m 12 r 48 c 12 r 123 c 13(No)m 12(authentication)m t-rom.300 @sf 0 1409 p (Use)s 10(of)m 11(this)m 10(authentication)m 11(type)m 10(means)m 10(that)m 11(routing)m 10(exchanges)m 11(in)m 10(the)m 11(area)m 10(are)m 10(not)m 11(authenticated.)m 14(The)m 10(64-bit)m 11(\014eld)m 10(in)m 10(the)m 0 1459 p (OSPF)s 10(header)m 11(can)m 10(contain)m 11(anything;)m 10(it)m 10(is)m 11(not)m 10(examined)m 11(on)m 10(packet)m 11(reception.)m t-bol.360 @sf 0 1596 p (D.2)s 50(AuT)m -3(ype)m 12 r 49 c 12 r 123 c 13(Simple)m 12(password)m t-rom.300 @sf 0 1691 p (Using)s 10(this)m 11(authentication)m 10(type,)m 11 r 97 c 10(64-bit)m 10(\014eld)m 11(is)m 10(con\014gured)m 11(on)m 10 r 97 c 11(per)m (-network)s 9(basis.)m 14(All)m 10(packets)m 11(sent)m 10(on)m 11 r 97 c 10(particular)m 0 1741 p (network)s 10(must)m 11(have)m 10(this)m 10(con\014gured)m 10(value)m 11(in)m 10(their)m 10(OSPF)m 10(header)m 11(64-bit)m 10(authentication)m 10(\014eld.)m 14(This)m 10(essentially)m 11(serves)m 10(as)m 10 r 97 c 0 1791 p (\\clear)s 2 r 34 c 10(64-bit)m 10(password.)m 0 1859 p (This)s 10(guards)m 11(against)m 10(routers)m 11(inadvertently)m 10(joining)m 10(the)m 11(area.)m 14(They)m 10(must)m 11(\014rst)m 10(be)m 10(con\014gured)m 11(with)m 10(their)m 11(attached)m 0 1908 p (networks')s 10(passwords)m 11(before)m 10(they)m 11(can)m 10(participate)m 10(in)m 11(the)m 10(routing)m 11(domain.)m 0 2723 p (Moy)s 1690([Page)m 10(120])m @eop 121 @bop0 121 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 69 c 58(Differ)m (ences)s 14(fr)m (om)s 13(RFC)m 15(1247)m t-rom.300 @sf 0 306 p (This)s 10(section)m 11(documents)m 10(the)m 11(dif)m (ferences)s 9(between)m 11(this)m 10(memo)m 11(and)m 10(RFC)m 10(1247.)m 14(These)m 11(dif)m (ferences)s 9(include)m 11 r 97 c 10(\014x)m 11(for)m 10 r 97 c 0 355 p (problem)s 10(involving)m 11(OSPF)m 10(virtual)m 11(links,)m 10(together)m 10(with)m 11(minor)m 10(enhancements)m 11(and)m 10(clari\014cations)m 11(to)m 10(the)m 10(protocol.)m 14(All)m 0 405 p (dif)s (ferences)s 10(are)m 10(backward-compatible.)m 14(Implementations)m 10(of)m 11(this)m 10(memo)m 11(and)m 10(of)m 10(RFC)m 11(1247)m 10(will)m 11(interoperate.)m t-bol.360 @sf 0 542 p (E.1)s 50 r 65 c 12(\014x)m 13(for)m 12 r 97 c 13(pr)m (oblem)s 12(with)m 12(OSPF)m 13 r 86 c -1(irtual)m 11(links)m t-rom.300 @sf 0 637 p (In)s 10(RFC)m 11(1247,)m 10(certain)m 11(con\014gurations)m 10(of)m 10(OSPF)m 11(virtual)m 10(links)m 11(can)m 10(cause)m 11(routing)m 10(loops.)m 14(The)m 10(root)m 11(of)m 10(the)m 11(problem)m 10(is)m 10(that)m 0 687 p (while)s 10(there)m 11(is)m 10(an)m 11(information)m 10(mismatch)m 10(at)m 11(the)m 10(boundary)m 11(of)m 10(any)m 11(virtual)m 10(link')m -1 r 115 c 9 r 84 c (ransit)s 9(area,)m 10 r 97 c 11(backbone)m 10(path)m 11(can)m 10(still)m 0 737 p (cross)s 10(the)m 11(boundary)m -2 r 46 c 13(RFC)m 10(1247)m 11(attempted)m 10(to)m 11(compensate)m 10(for)m 11(this)m 10(information)m 10(mismatch)m 11(by)m 10(adjusting)m 11(any)m 10(backbone)m 0 787 p (path)s 10(as)m 11(it)m 10(enters)m 11(the)m 10(transit)m 10(area)m 11(\(see)m 10(Section)m 11(16.3)m 10(in)m 11(RFC)m 10(1247\).)m 14(However)m -1 r 44 c 10(this)m 10(proved)m 10(not)m 11(to)m 10(be)m 11(enough.)m 14(This)m 10(memo)m 0 836 p (\014xes)s 10(the)m 11(problem)m 10(by)m 11(having)m 10(all)m 10(area)m 11(border)m 10(routers)m 11(determine,)m 10(by)m 11(looking)m 10(at)m 10(summary)m 11(links,)m 10(whether)m 11(better)m 10(backbone)m 0 886 p (paths)s 10(can)m 11(be)m 10(found)m 11(through)m 10(the)m 10(transit)m 11(areas.)m 0 954 p (This)s 10(\014x)m 11(simpli\014es)m 10(the)m 11(OSPF)m 10(virtual)m 10(link)m 11(logic,)m 10(and)m 11(consists)m 10(of)m 11(the)m 10(following)m 10(components:)m cmsy10.300 @sf 62 1054 p 15 c t-rom.300 @sf 21 r 65 c 10(new)m 11(bit)m 10(has)m 11(been)m 10(de\014ned)m 11(in)m 10(the)m 10(router)m 11(links)m 10(advertisement,)m 11(called)m t-bol.300 @sf 10(bit)m 10 r 86 c t-rom.300 @sf 46 c 11(Bit)m 10 r 86 c 11(is)m 10(set)m 11(in)m 10 r 97 c 10(router)m 2 r 39 c -1 r 115 c 9(router)m 10(links)m 104 1104 p (advertisement)s 10(for)m 10(Area)m 11 r 65 c 10(if)m 10(and)m 11(only)m 10(if)m 10(the)m 11(router)m 10(is)m 10(an)m 11(endpoint)m 10(of)m 11(an)m 10(active)m 10(virtual)m 11(link)m 10(that)m 10(uses)m 11(Area)m 10 r 65 c 10(as)m 11(its)m 104 1154 p 84 c -1(ransit)m 10(area)m 10(\(see)m 11(Sections)m 10(12.4.1)m 10(and)m 11(A.4.2\).)m 14(This)m 10(enables)m 11(the)m 10(other)m 10(routers)m 11(attached)m 10(to)m 11(Area)m 10 r 65 c 10(to)m 11(discover)m 104 1204 p (whether)s 10(the)m 11(area)m 10(supports)m 10(any)m 11(virtual)m 10(links)m 11(\(i.e.,)m 10(is)m 11 r 97 c 10(transit)m 10(area\).)m 14(This)m 11(discovery)m 10(is)m 10(done)m 11(during)m 10(the)m 11(calculation)m 104 1253 p (of)s 10(Area)m 11 r 65 c -4 r 39 c -2 r 115 c 9(shortest-path)m 11(tree)m 10(\(see)m 10(Section)m 11(16.1\).)m cmsy10.300 @sf 62 1336 p 15 c t-rom.300 @sf 21 r 84 c -2 r 111 c 10(aid)m 10(in)m 10(the)m 11(description)m 10(of)m 11(the)m 10(algorithm,)m 10 r 97 c 11(new)m 10(parameter)m 11(has)m 10(been)m 11(added)m 10(to)m 10(the)m 11(OSPF)m 10(area)m 11(structure:)m t-bol.300 @sf 104 1386 p 84 c -2(ransitCapability)m t-rom.300 @sf 46 c 13(This)m 10(parameter)m 10(indicates)m 11(whether)m 10(the)m 11(area)m 10(supports)m 10(any)m 11(active)m 10(virtual)m 11(links.)m 14(Equivalently)m -2 r 44 c 104 1436 p (it)s 10(indicates)m 11(whether)m 10(the)m 10(area)m 11(can)m 10(carry)m 11(traf)m (\014c)s 9(that)m 11(neither)m 10(originates)m 11(nor)m 10(terminates)m 10(in)m 11(the)m 10(area)m 11(itself.)m cmsy10.300 @sf 62 1519 p 15 c t-rom.300 @sf 21(The)m 10(calculation)m 11(in)m 10(Section)m 11(16.3)m 10(of)m 11(RFC)m 10(1247)m 10(has)m 11(been)m 10(replaced.)m 14(The)m 10(new)m 11(calculation,)m 10(performed)m 11(by)m 10(area)m 104 1569 p (border)s 10(routers)m 11(only)m -2 r 44 c 9(examines)m 11(the)m 10(summary)m 11(links)m 10(belonging)m 10(to)m 11(all)m 10(attached)m 11(transit)m 10(areas)m 10(to)m 11(see)m 10(whether)m 11(the)m 104 1618 p (transit)s 10(areas)m 11(can)m 10(provide)m 10(better)m 11(paths)m 10(than)m 11(those)m 10(already)m 11(found)m 10(in)m 10(Sections)m 11(16.1)m 10(and)m 11(16.2.)m cmsy10.300 @sf 62 1701 p 15 c t-rom.300 @sf 21(The)m 10(incremental)m 11(calculations)m 10(in)m 11(Section)m 10(16.5)m 11(have)m 10(been)m 10(updated)m 11(as)m 10 r 97 c 11(result)m 10(of)m 10(the)m 11(new)m 10(calculations)m 11(in)m 104 1751 p (Section)s 10(16.3.)m t-bol.360 @sf 0 1888 p (E.2)s 50(Supporting)m 12(supernetting)m 13(and)m 12(subnet)m 13 r 48 c t-rom.300 @sf 0 1983 p (In)s 10(RFC)m 11(1247,)m 10(an)m 11(OSPF)m 10(router)m 10(cannot)m 11(originate)m 10(separate)m 11(AS)m 10(external)m 11(link)m 10(advertisements)m 10(\(or)m 11(separate)m 10(summary)m 11(link)m 0 2033 p (advertisements\))s 10(for)m 11(two)m 10(networks)m 11(that)m 10(have)m 10(the)m 11(same)m 10(address)m 11(but)m 10(dif)m (ferent)s 10(masks.)m 14(This)m 10(situation)m 11(can)m 10(arise)m 10(when)m 0 2083 p (subnet)s 10 r 48 c 11(of)m 10 r 97 c 11(network)m 10(has)m 10(been)m 11(assigned)m 10(\(a)m 11(practice)m 10(that)m 11(is)m 10(generally)m 10(discouraged\),)m 11(or)m 10(when)m 11(using)m 10(supernetting)m 10(as)m 0 2133 p (described)s 10(in)m 11([RFC)m 10(1519])m 11(\(a)m 10(practice)m 10(that)m 11(is)m 10(generally)m 11(encouraged)m 10(to)m 11(reduce)m 10(the)m 10(size)m 11(of)m 10(routing)m 11(tables\),)m 10(or)m 10(even)m 11(when)m 0 2182 p (in)s 10(transition)m 11(from)m 10(one)m 11(mask)m 10(to)m 10(another)m 11(on)m 10 r 97 c 11(subnet.)m 14(Using)m 10(supernetting)m 10(as)m 11(an)m 10(example,)m 11(you)m 10(might)m 11(want)m 10(to)m 10(aggregate)m 0 2232 p (the)s 10(four)m 11(class)m 10 r 67 c 11(networks)m c-med.300 @sf 10(192.9.4.0-192.9.7.0)m t-rom.300 @sf 44 c 10(advertising)m 11(one)m 10(route)m 11(for)m 10(the)m 11(aggregation)m 10(and)m 10(another)m 11(for)m 10(the)m 0 2282 p (single)s 10(class)m 11 r 67 c 10(network)m c-med.300 @sf 11(192.9.4.0)m t-rom.300 @sf 46 c 0 2349 p (The)s 10(reason)m 11(behind)m 10(this)m 11(limitation)m 10(is)m 10(that)m 11(in)m 10(RFC)m 11(1247,)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(of)m 10(AS)m 11(external)m 10(link)m 10(advertisements)m 11(and)m 0 2399 p (summary)s 10(link)m 11(advertisements)m 10(is)m 11(set)m 10(equal)m 10(to)m 11(the)m 10(described)m 11(network')m -2 r 115 c 10(IP)m 10(address.)m 14(In)m 11(the)m 10(above)m 10(example,)m 11(RFC)m 10(1247)m 0 2449 p (would)s 10(assign)m 11(both)m 10(advertisements)m 11(the)m 10(Link)m 10(State)m 11(ID)m 10(of)m c-med.300 @sf 11(192.9.4.0)m t-rom.300 @sf 44 c 10(making)m 11(them)m 10(in)m 10(essence)m 11(the)m 10(same)m 0 2499 p (advertisement.)s 14(This)m 10(memo)m 10(\014xes)m 10(the)m 10(problem)m 10(by)m 10(relaxing)m 10(the)m 10(setting)m 10(of)m 10(the)m 11(Link)m 10(State)m 10(ID)m 10(so)m 10(that)m 10(any)m 10(of)m 10(the)m 10(\\host")m 10(bits)m 0 2549 p (of)s 10(the)m 11(network)m 10(address)m 11(can)m 10(also)m 10(be)m 11(set.)m 14(This)m 10(allows)m 11(you)m 10(to)m 10(disambiguate)m 11(advertisements)m 10(for)m 11(networks)m 10(having)m 11(the)m 0 2599 p (same)s 10(address)m 11(but)m 10(dif)m (ferent)s 10(masks.)m 14(Given)m 10(an)m 11(AS)m 10(external)m 10(link)m 11(advertisement)m 10(\(or)m 11 r 97 c 10(summary)m 11(link)m 10(advertisement\),)m 10(the)m 0 2723 p (Moy)s 1690([Page)m 10(121])m @eop 122 @bop0 122 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (described)s 10(network')m -1 r 115 c 10(address)m 10(can)m 10(now)m 11(be)m 10(obtained)m 11(by)m 10(masking)m 10(the)m 11(Link)m 10(State)m 11(ID)m 10(with)m 11(the)m 10(network)m 10(mask)m 11(carried)m 10(in)m 11(the)m 0 245 p (body)s 10(of)m 11(the)m 10(advertisement.)m 14(Again)m 11(using)m 10(the)m 10(above)m 11(example,)m 10(the)m 11(aggregate)m 10(can)m 10(now)m 11(be)m 10(advertised)m 11(using)m 10 r 97 c 11(Link)m 10(State)m 0 295 p (ID)s 10(of)m c-med.300 @sf 11(192.9.4.0)m t-rom.300 @sf 10(and)m 11(the)m 10(single)m 10(class)m 11 r 67 c 10(network)m 10(advertised)m 11(simultaneously)m 10(using)m 11(the)m 10(Link)m 10(State)m 11(ID)m 10(of)m 11(192.9.4.255.)m 0 362 p (Appendix)s 10 r 70 c 11(gives)m 10(one)m 11(possible)m 10(algorithm)m 10(for)m 11(setting)m 10(one)m 11(or)m 10(more)m 11(\\host")m 10(bits)m 10(in)m 11(the)m 10(Link)m 11(State)m 10(ID)m 10(in)m 11(order)m 10(to)m 0 412 p (disambiguate)s 10(advertisements.)m 14(It)m 9(should)m 10(be)m 10(noted)m 10(that)m 10(this)m 10(is)m 10 r 97 c 9(local)m 10(decision.)m 14(Each)m 10(router)m 10(in)m 10(an)m 9(OSPF)m 10(system)m 10(is)m 10(free)m 10(to)m 0 462 p (use)s 10(its)m 11(own)m 10(algorithm,)m 11(since)m 10(only)m 10(those)m 11(advertisements)m 10(originated)m 11(by)m 10(the)m 11(router)m 10(itself)m 10(are)m 11(af)m (fected.)s 0 530 p (It)s 10(is)m 11(believed)m 10(that)m 11(this)m 10(change)m 10(will)m 11(be)m 10(more)m 11(or)m 10(less)m 11(compatible)m 10(with)m 10(implementations)m 11(of)m 10(RFC)m 11(1247.)m 14(Implementations)m 0 580 p (of)s 10(RFC)m 11(1247)m 10(will)m 11(probably)m 10(either)m 10(a\))m 11(install)m 10(routing)m 11(table)m 10(entries)m 11(that)m 10(won')m 116 c 10(be)m 10(used)m 10(or)m 11(b\))m 10(do)m 11(the)m 10(correct)m 11(processing)m 10(as)m 0 629 p (outlined)s 10(in)m 11(this)m 10(memo)m 11(or)m 10(c\))m 10(mark)m 11(the)m 10(advertisement)m 11(as)m 10(unusable)m 11(when)m 10(presented)m 10(with)m 11 r 97 c 10(Link)m 11(State)m 10(ID)m 10(that)m 11(has)m 10(one)m 11(or)m 0 679 p (more)s 10(of)m 11(the)m 10(host)m 11(bits)m 10(set.)m 14(However)m -1 r 44 c 10(in)m 10(the)m 11(interest)m 10(of)m 10(interoperability)m -1 r 44 c 9(implementations)m 11(of)m 10(this)m 10(memo)m 11(should)m 10(only)m 11(set)m 0 729 p (the)s 10(host)m 11(bits)m 10(in)m 11(Link)m 10(State)m 10(IDs)m 11(when)m 10(absolutely)m 11(necessary)m -2 r 46 c 0 797 p (The)s 10(change)m 11(af)m (fects)s 9(Sections)m 11(12.1.4,)m 10(12.4.3,)m 21(12.4.5,)m 11(16.2,)m 20(16.3,)m 11(16.4,)m 21(16.5,)m 10(16.6,)m 21(A.4.4)m 10(and)m 11(A.4.5.)m t-bol.360 @sf 0 933 p (E.3)s 50(Obsoleting)m 12(LSIn\014nity)m 13(in)m 12 r 114 c (outer)s 12(links)m 13(advertisements)m t-rom.300 @sf 0 1029 p (The)s 10(metric)m 11(of)m 10(LSIn\014nity)m 11(can)m 10(no)m 10(longer)m 11(be)m 10(used)m 11(in)m 10(router)m 11(links)m 10(advertisements)m 10(to)m 11(indicate)m 10(unusable)m 11(links.)m 14(This)m 10(is)m 0 1079 p (being)s 10(done)m 11(for)m 10(several)m 11(reasons:)m cmsy10.300 @sf 62 1180 p 15 c t-rom.300 @sf 21(First,)m 10(it)m 11(removes)m 10(any)m 11(possible)m 10(confusion)m 11(in)m 10(an)m 10(OSPF)m 11(area)m 10(as)m 11(to)m 10(just)m 10(which)m 11(routers/networks)m 10(are)m 11(reachable)m 10(in)m 11(the)m 104 1229 p (area.)s 14(For)m 10(example,)m 10(the)m 11(above)m 10(virtual)m 11(link)m 10(\014x)m 11(relies)m 10(on)m 10(detecting)m 11(the)m 10(existence)m 11(of)m 10(virtual)m 10(links)m 11(when)m 10(running)m 11(the)m 104 1279 p (Dijkstra.)s 14(However)m -1 r 44 c 9(when)m 11(one-directional)m 10(links)m 11(\(i.e.,)m 10(cost)m 10(of)m 11(LSIn\014nity)m 10(in)m 11(one)m 10(direction,)m 11(but)m 10(not)m 10(the)m 11(other\))m 10(are)m 104 1329 p (possible,)s 10(some)m 11(routers)m 10(may)m 10(detect)m 11(the)m 10(existence)m 11(of)m 10(virtual)m 11(links)m 10(while)m 10(others)m 11(may)m 10(not.)m 14(This)m 10(may)m 11(defeat)m 10(the)m 11(\014x)m 104 1379 p (for)s 10(the)m 11(virtual)m 10(link)m 10(problem.)m cmsy10.300 @sf 62 1462 p 15 c t-rom.300 @sf 21(Second,)m 10(it)m 11(also)m 10(helps)m 11(OSPF')m -2 r 115 c 10(Multicast)m 10(routing)m 11(extensions)m 10(\(MOSPF\),)m 10(because)m 11(one-way)m 10(reachability)m 11(can)m 10(lead)m 11(to)m 104 1512 p (places)s 10(that)m 11(are)m 10(reachable)m 10(via)m 11(unicast)m 10(but)m 11(not)m 10(multicast,)m 11(or)m 10(vice)m 10(versa.)m 0 1613 p (The)s 10(two)m 11(prior)m 10(justi\014cations)m 11(for)m 10(using)m 10(LSIn\014nity)m 11(in)m 10(router)m 11(links)m 10(advertisements)m 11(were)m 10(1\))m 10(it)m 11(was)m 10 r 97 c 11(way)m 10(to)m 10(not)m 11(support)m 0 1662 p 84 c (OS)s 10(before)m 10 r 84 c (OS)s 10(was)m 10(optional)m 11(and)m 10(2\))m 10(it)m 11(went)m 10(along)m 11(with)m 10(strong)m 10 r 84 c (OS)s 10(interpretations.)m 14(These)m 10(justi\014cations)m 11(are)m 10(no)m 0 1712 p (longer)s 10(valid.)m 14(However)m 44 c 9(LSIn\014nity)m 10(will)m 11(continue)m 10(to)m 11(mean)m 10("unreachable")m 11(in)m 10(summary)m 10(link)m 11(advertisements)m 10(and)m 11(AS)m 0 1762 p (external)s 10(link)m 11(advertisements,)m 10(as)m 11(some)m 10(implementations)m 10(use)m 11(this)m 10(as)m 11(an)m 10(alternative)m 11(to)m 10(the)m 10(premature)m 11(aging)m 10(procedure)m 0 1812 p (speci\014ed)s 10(in)m 11(Section)m 10(14.1.)m 0 1880 p (This)s 10(change)m 11(has)m 10(one)m 11(other)m 10(side)m 10(ef)m (fect.)s 14(When)m 10(two)m 10(routers)m 11(are)m 10(connected)m 11(via)m 10 r 97 c 11(virtual)m 10(link)m 10(whose)m 11(underlying)m 10(path)m 11(is)m 0 1929 p (non-T)s (OS-capable,)s 10(they)m 10(must)m 10(now)m 11(revert)m 10(to)m 11(being)m 10(non-T)m (OS-capable)s 10(routers)m 10(themselves,)m 11(instead)m 10(of)m 10(the)m 11(previous)m 0 1979 p (behavior)s 10(of)m 11(advertising)m 10(the)m 11(non-zero)m 10 r 84 c (OS)s 10(costs)m 10(of)m 11(the)m 10(virtual)m 10(link)m 11(as)m 10(LSIn\014nity)m -1 r 46 c 12(See)m 11(Section)m 10(15)m 11(for)m 10(details.)m t-bol.360 @sf 0 2116 p (E.4)s 50 r 84 c (OS)s 12(encoding)m 12(updated)m t-rom.300 @sf 0 2212 p (The)s 10(encoding)m 11(of)m 10 r 84 c (OS)s 10(in)m 10(OSPF)m 11(link)m 10(state)m 11(advertisements)m 10(has)m 10(been)m 11(updated)m 10(to)m 11(re\015ect)m 10(the)m 10(new)m 11 r 84 c (OS)s 10(value)m 10(\(minimize)m 0 2261 p (monetary)s 10(cost\))m 11(de\014ned)m 10(by)m 11([RFC)m 10(1349].)m 14(The)m 10(OSPF)m 11(encoding)m 10(is)m 11(de\014ned)m 10(in)m 10(Section)m 11(12.3,)m 10(which)m 11(is)m 10(identical)m 11(in)m 10(content)m 0 2311 p (to)s 10(Section)m 11(A.5)m 10(of)m 11([RFC)m 10(1349].)m t-bol.360 @sf 0 2448 p (E.5)s 50(Summarizing)m 12 r 114 c (outes)s 12(into)m 13(transit)m 12(ar)m (eas)s t-rom.300 @sf 0 2544 p (RFC)s 10(1247)m 11(mandated)m 10(that)m 11(routes)m 10(associated)m 10(with)m 11(Area)m 10 r 65 c 11(are)m 10(never)m 11(summarized)m 10(back)m 10(into)m 11(Area)m 10(A.)m 11(However)m -1 r 44 c 9(this)m 0 2593 p (memo)s 10(further)m 11(reduces)m 10(the)m 11(number)m 10(of)m 10(summary)m 11(links)m 10(originated)m 11(by)m 10(refusing)m 11(to)m 10(summarize)m 10(into)m 11(Area)m 10 r 65 c 11(those)m 10(routes)m 0 2723 p (Moy)s 1690([Page)m 10(122])m @eop 123 @bop0 123 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 0 195 p (having)s 10(next)m 11(hops)m 10(belonging)m 11(to)m 10(Area)m 10(A.)m 11(This)m 10(is)m 11(an)m 10(optimization)m 11(over)m 10(RFC)m 10(1247)m 11(behavior)m 10(when)m 11(virtual)m 10(links)m 10(are)m 0 245 p (present.)s 14(For)m 10(example,)m 11(in)m 10(the)m 11(area)m 10(con\014guration)m 10(of)m 11(Figure)m 10(6,)m 11(Router)m 10 r 82 c -1(T1)m -2 r 49 c 9(need)m 11(only)m 10(originate)m 11 r 97 c 10(single)m 11(summary)m 10(link)m 0 295 p (having)s 10(the)m 11(\(collapsed\))m 10(destination)m 11(N9-N1)m -1(1,H1)m 10(into)m 10(its)m 10(connected)m 11(transit)m 10(area)m 11(Area)m 10(2,)m 10(since)m 11(all)m 10(of)m 11(its)m 10(other)m 11(eligible)m 0 345 p (routes)s 10(have)m 11(next)m 10(hops)m 11(belonging)m 10(to)m 10(Area)m 11 r 50 c 10(\(and)m 11(as)m 10(such)m 11(only)m 10(need)m 10(be)m 11(advertised)m 10(by)m 11(other)m 10(area)m 10(border)m 11(routers;)m 10(in)m 11(this)m 0 394 p (case,)s 10(Routers)m 11 r 82 c -2(T10)m 10(and)m 10 r 82 c -1(T7\).)m 13(This)m 10(is)m 10(the)m 11(logical)m 10(equivalent)m 11(of)m 10 r 97 c 10(Distance)m 11 r 86 c -4(ector)m 10(protocol')m -2 r 115 c 10(split)m 10(horizon)m 11(logic.)m 0 462 p (This)s 10(change)m 11(appears)m 10(in)m 11(Section)m 10(12.4.3.)m t-bol.360 @sf 0 599 p (E.6)s 50(Summarizing)m 12 r 114 c (outes)s 12(into)m 13(stub)m 12(ar)m (eas)s t-rom.300 @sf 0 694 p (RFC)s 10(1247)m 11(mandated)m 10(that)m 11(area)m 10(border)m 10(routers)m 11(attached)m 10(to)m 11(stub)m 10(areas)m 11(must)m 10(summarize)m 10(all)m 11(inter)m (-area)s 9(routes)m 11(into)m 10(the)m 11(stub)m 0 744 p (areas.)s 14(However)m -1 r 44 c 10(while)m 10(area)m 10(border)m 11(routers)m 10(connected)m 11(to)m 10(OSPF)m 11(stub)m 10(areas)m 10(must)m 11(originate)m 10(default)m 11(summary)m 10(links)m 10(into)m 0 794 p (the)s 10(stub)m 11(area,)m 10(they)m 11(need)m 10(not)m 10(summarize)m 11(other)m 10(routes)m 11(into)m 10(the)m 11(stub)m 10(area.)m 14(The)m 10(amount)m 11(of)m 10(summarization)m 11(done)m 10(into)m 10(stub)m 0 844 p (areas)s 10(can)m 11(instead)m 10(be)m 11(put)m 10(under)m 10(con\014guration)m 11(control.)m 14(The)m 10(network)m 11(administrator)m 10(can)m 10(then)m 11(make)m 10(the)m 11(trade-of)m 102 c 9(between)m 0 894 p (optimal)s 10(routing)m 11(and)m 10(database)m 11(size.)m 0 961 p (This)s 10(change)m 11(appears)m 10(in)m 11(Sections)m 10(12.4.3)m 10(and)m 11(12.4.4.)m t-bol.360 @sf 0 1098 p (E.7)s 50(Flushing)m 12(anomalous)m 13(network)m 12(links)m 13(advertisements)m t-rom.300 @sf 0 1194 p 84 c -2(ext)m 9(was)m 10(added)m 11(indicating)m 10(that)m 10 r 97 c 10(network)m 10(links)m 11(advertisement)m 10(whose)m 10(Link)m 10(State)m 10(ID)m 11(is)m 10(equal)m 10(to)m 10(one)m 10(of)m 11(the)m 10(router)m 1 r 39 c -1 r 115 c 9(own)m 0 1243 p (IP)s 10(interface)m 11(addresses)m 10(should)m 11(be)m 10(considered)m 10(to)m 11(be)m 10(self-originated,)m 11(regardless)m 10(of)m 11(the)m 10(setting)m 10(of)m 11(the)m 10(advertisement')m -1 r 115 c 0 1293 p (Advertising)s 10(Router)m -1 r 46 c 13(If)m 10(the)m 11(Advertising)m 10(Router)m 11(of)m 10(such)m 11(an)m 10(advertisement)m 10(is)m 11(not)m 10(equal)m 11(to)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 9(own)m 11(Router)m 10(ID,)m 0 1343 p (the)s 10(advertisement)m 11(should)m 10(be)m 11(\015ushed)m 10(from)m 10(the)m 11(routing)m 10(domain)m 11(using)m 10(the)m 11(premature)m 10(aging)m 10(procedure)m 11(speci\014ed)m 10(in)m 0 1393 p (Section)s 10(14.1.)m 14(This)m 11(case)m 10(should)m 11(be)m 10(rare,)m 10(and)m 11(it)m 10(indicates)m 11(that)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 9(Router)m 11(ID)m 10(has)m 10(changed)m 11(since)m 10(originating)m 11(the)m 0 1443 p (advertisement.)s 0 1510 p (Failure)s 10(to)m 10(\015ush)m 10(these)m 10(anomalous)m 11(advertisements)m 10(could)m 10(lead)m 10(to)m 10(multiple)m 10(network)m 10(links)m 10(advertisements)m 10(having)m 10(the)m 11(same)m 0 1560 p (Link)s 10(State)m 10(ID.)m 14(This)m 10(in)m 10(turn)m 9(could)m 10(cause)m 10(the)m 10(Dijkstra)m 10(calculation)m 10(in)m 10(Section)m 10(16.1)m 10(to)m 10(fail,)m 10(since)m 10(it)m 10(would)m 10(be)m 10(impossible)m 10(to)m 0 1610 p (tell)s 10(which)m 11(network)m 10(links)m 11(advertisement)m 10(is)m 10(valid)m 11(\(i.e.,)m 10(more)m 11(recent\).)m 0 1678 p (This)s 10(change)m 11(appears)m 10(in)m 11(Sections)m 10(13.4)m 10(and)m 11(14.1.)m t-bol.360 @sf 0 1814 p (E.8)s 50(Requir)m (ed)s 12(Statistics)m 12(appendix)m 13(deleted)m t-rom.300 @sf 0 1910 p (Appendix)s 10 r 68 c 11(of)m 10(RFC)m 11(1247,)m 10(which)m 10(speci\014ed)m 11 r 97 c 10(list)m 11(of)m 10(required)m 11(statistics)m 10(for)m 10(an)m 11(OSPF)m 10(implementation,)m 11(has)m 10(been)m 10(deleted.)m 0 1960 p (That)s 10(appendix)m 11(has)m 10(been)m 11(superseded)m 10(by)m 10(the)m 11(two)m 10(documents:)m 14(the)m 11(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 10(Management)m 11(Information)m 10(Base)m 11(and)m 0 2010 p (the)s 10(OSPF)m 11 r 86 c -4(ersion)m 10 r 50 c 10 r 84 c (raps.)s t-bol.360 @sf 0 2146 p (E.9)s 50(Other)m 12(changes)m t-rom.300 @sf 0 2242 p (The)s 10(following)m 11(small)m 10(changes)m 11(were)m 10(also)m 10(made)m 11(to)m 10(RFC)m 11(1247:)m cmsy10.300 @sf 62 2343 p 15 c t-rom.300 @sf 21(When)m 10(representing)m 11(unnumbered)m 10(point-to-point)m 11(networks)m 10(in)m 11(router)m 10(links)m 10(advertisements,)m 11(the)m 10(corresponding)m t-bol.300 @sf 104 2393 p (Link)s 10(Data)m t-rom.300 @sf 11(\014eld)m 10(should)m 10(be)m 11(set)m 10(to)m 11(the)m 10(unnumbered)m 11(interface')m -2 r 115 c 10(MIB-II)m 10([RFC)m 10(1213])m 11(ifIndex)m 10(value.)m cmsy10.300 @sf 62 2476 p 15 c t-rom.300 @sf 21 r 65 c 10(comment)m 11(was)m 10(added)m 11(to)m 10(Step)m 11 r 51 c 10(of)m 10(the)m 11(Dijkstra)m 10(algorithm)m 11(in)m 10(Section)m 10(16.1.)m 14(When)m 11(removing)m 10(vertices)m 11(from)m 10(the)m 104 2526 p (candidate)s 10(list,)m 10(and)m 10(when)m 10(there)m 10(is)m 10 r 97 c 10(choice)m 9(of)m 10(vertices)m 10(closest)m 10(to)m 10(the)m 10(root,)m 10(network)m 10(vertices)m 10(must)m 10(be)m 10(chosen)m 10(before)m 104 2575 p (router)s 10(vertices)m 11(in)m 10(order)m 10(to)m 11(necessarily)m 10(\014nd)m 11(all)m 10(equal-cost)m 11(paths.)m 0 2723 p (Moy)s 1690([Page)m 10(123])m @eop 124 @bop0 124 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21 r 65 c 10(comment)m 11(was)m 10(added)m 11(to)m 10(Section)m 11(12.4.3)m 10(noting)m 10(that)m 11 r 97 c 10(summary)m 11(link)m 10(advertisement)m 10(cannot)m 11(express)m 10 r 97 c 11(reachable)m 104 245 p (destination)s 10(whose)m 11(path)m 10(cost)m 10(equals)m 11(or)m 10(exceeds)m 11(LSIn\014nity)m -2 r 46 c cmsy10.300 @sf 62 328 p 15 c t-rom.300 @sf 21 r 65 c 10(comment)m 11(was)m 10(added)m 11(to)m 10(Section)m 11(15)m 10(noting)m 10(that)m 11 r 97 c 10(virtual)m 11(link)m 10(whose)m 10(underlying)m 11(path)m 10(has)m 11(cost)m 10(greater)m 11(than)m 104 378 p (hexadecimal)s c-med.300 @sf 10(0xffff)m t-rom.300 @sf 11(\(the)m 10(maximum)m 10(size)m 11(of)m 10(an)m 11(interface)m 10(cost)m 11(in)m 10 r 97 c 10(router)m 11(links)m 10(advertisement\))m 11(should)m 10(be)m 104 428 p (considered)s 10(inoperational.)m cmsy10.300 @sf 62 511 p 15 c t-rom.300 @sf 21(An)m 10(option)m 11(was)m 10(added)m 11(to)m 10(the)m 11(de\014nition)m 10(of)m 10(area)m 11(address)m 10(ranges,)m 11(allowing)m 10(the)m 10(network)m 11(administrator)m 10(to)m 11(specify)m 104 560 p (that)s 10 r 97 c 11(particular)m 10(range)m 10(should)m 11(not)m 10(be)m 11(advertised)m 10(to)m 11(other)m 10(OSPF)m 10(areas.)m 14(This)m 11(enables)m 10(the)m 10(existence)m 11(of)m 10(certain)m 104 610 p (networks)s 10(to)m 11(be)m 10(hidden)m 10(from)m 11(other)m 10(areas.)m 14(This)m 11(change)m 10(appears)m 10(in)m 11(Sections)m 10(12.4.3)m 11(and)m 10(C.2.)m cmsy10.300 @sf 62 693 p 15 c t-rom.300 @sf 21 r 65 c 10(note)m 11(was)m 10(added)m 11(reminding)m 10(implementors)m 11(that)m 10(bit)m 10 r 69 c 11(\(the)m 10(AS)m 11(boundary)m 10(router)m 10(indication\))m 11(should)m 10(never)m 11(be)m 10(set)m 104 743 p (in)s 10 r 97 c 11(router)m 10(links)m 10(advertisement)m 11(for)m 10 r 97 c 11(stub)m 10(area,)m 11(since)m 10(stub)m 10(areas)m 11(cannot)m 10(contain)m 11(AS)m 10(boundary)m 10(routers.)m 14(This)m 104 793 p (change)s 10(appears)m 11(in)m 10(Section)m 10(12.4.1.)m 0 2723 p (Moy)s 1690([Page)m 10(124])m @eop 125 @bop0 125 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p 70 c 58(An)m 15(algorithm)m 14(for)m 15(assigning)m 15(Link)m 14(State)m 15(IDs)m t-rom.300 @sf 0 304 p (In)s 10(RFC)m 11(1247,)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(in)m 10(AS)m 11(external)m 10(link)m 11(advertisements)m 10(and)m 10(summary)m 11(link)m 10(advertisements)m 11(is)m 10(set)m 10(to)m 11(the)m 0 354 p (described)s 10(network')m -1 r 115 c 9(IP)m 10(address.)m 14(This)m 10(memo)m 11(relaxes)m 10(that)m 10(requirement,)m 10(allowing)m 10(one)m 11(or)m 10(more)m 10(of)m 10(the)m 10(network')m -1 r 115 c 9(host)m 11(bits)m 0 404 p (to)s 10(be)m 11(set)m 10(in)m 11(the)m 10(Link)m 10(State)m 11(ID.)m 10(This)m 11(allows)m 10(the)m 11(router)m 10(to)m 10(originate)m 11(separate)m 10(advertisements)m 11(for)m 10(networks)m 10(having)m 11(the)m 0 453 p (same)s 10(addresses,)m 11(yet)m 10(dif)m (ferent)s 10(masks.)m 14(Such)m 10(networks)m 11(can)m 10(occur)m 10(in)m 11(the)m 10(presence)m 11(of)m 10(supernetting)m 11(and)m 10(subnet)m 10(0s)m 11(\(see)m 0 503 p (Section)s 10(E.2)m 11(for)m 10(more)m 11(information\).)m 0 569 p (This)s 10(appendix)m 11(gives)m 10(one)m 11(possible)m 10(algorithm)m 10(for)m 11(setting)m 10(the)m 11(host)m 10(bits)m 11(in)m 10(Link)m 10(State)m 11(IDs.)m 14(The)m 10(choice)m 11(of)m 10(such)m 10(an)m 0 619 p (algorithm)s 10(is)m 11 r 97 c 10(local)m 11(decision.)m 14(Separate)m 10(routers)m 10(are)m 11(free)m 10(to)m 11(use)m 10(dif)m (ferent)s 10(algorithms,)m 10(since)m 11(the)m 10(only)m 10(advertisements)m 0 669 p (af)s (fected)s 10(are)m 10(the)m 10(ones)m 11(that)m 10(the)m 11(router)m 10(itself)m 11(originates.)m 13(The)m 11(only)m 10(requirement)m 11(on)m 10(the)m 11(algorithms)m 10(used)m 10(is)m 11(that)m 10(the)m 0 719 p (network')s -1 r 115 c 9(IP)m 11(address)m 10(should)m 10(be)m 11(used)m 10(as)m 11(the)m 10(Link)m 10(State)m 11(ID)m 10(\(the)m 11(RFC)m 10(1247)m 11(behavior\))m 10(whenever)m 10(possible.)m 0 785 p (The)s 10(algorithm)m 11(below)m 10(is)m 11(stated)m 10(for)m 10(AS)m 11(external)m 10(link)m 11(advertisements.)m 14(This)m 10(is)m 10(only)m 11(for)m 10(clarity;)m 11(the)m 10(exact)m 11(same)m 10(algorithm)m 0 835 p (can)s 10(be)m 11(used)m 10(for)m 11(summary)m 10(link)m 10(advertisements.)m 14(Suppose)m 11(that)m 10(the)m 11(router)m 10(wishes)m 10(to)m 11(originate)m 10(an)m 11(AS)m 10(external)m 11(link)m 0 884 p (advertisement)s 10(for)m 11 r 97 c 10(network)m 11(having)m 10(address)m 10(NA)m 11(and)m 10(mask)m 11(NM1.)m 14(The)m 10(following)m 10(steps)m 11(are)m 10(then)m 11(used)m 10(to)m 11(determine)m 10(the)m 0 934 p (advertisement')s -1 r 115 c 9(Link)m 11(State)m 10(ID:)m 52 1038 p (1.)s 21(Determine)m 9(whether)m 10(the)m 10(router)m 10(is)m 10(already)m 9(originating)m 10(an)m 10(AS)m 10(external)m 9(link)m 10(advertisement)m 10(with)m 10(Link)m 10(State)m 9(ID)m 10(equal)m 104 1088 p (to)s 10(NA)m 11(\(in)m 10(such)m 10(an)m 11(advertisement)m 10(the)m 11(router)m 10(itself)m 11(will)m 10(be)m 10(listed)m 11(as)m 10(the)m 11(advertisement')m -2 r 115 c 10(Advertising)m 10(Router\).)m 14(If)m 104 1137 p (not,)s 10(set)m 11(the)m 10(Link)m 10(State)m 11(ID)m 10(equal)m 11(to)m 10(NA)m 11(\(the)m 10(RFC)m 10(1247)m 11(behavior\))m 10(and)m 11(the)m 10(algorithm)m 10(terminates.)m 14(Otherwise,)m 52 1219 p (2.)s 21(Obtain)m 10(the)m 10(network)m 11(mask)m 10(from)m 11(the)m 10(body)m 10(of)m 11(the)m 10(already)m 11(existing)m 10(AS)m 11(external)m 10(link)m 10(advertisement.)m 14(Call)m 11(this)m 10(mask)m 104 1269 p (NM2.)s 14(There)m 10(are)m 10(then)m 11(two)m 10(cases:)m cmsy10.300 @sf 154 1350 p 15 c t-rom.300 @sf 20(NM1)m 10(is)m 10(longer)m 10(\(i.e.,)m 10(more)m 10(speci\014c\))m 10(than)m 10(NM2.)m 14(In)m 10(this)m 10(case,)m 10(set)m 10(the)m 10(Link)m 10(State)m 10(ID)m 10(in)m 10(the)m 10(new)m 10(advertisement)m 195 1400 p (to)s 11(be)m 10(the)m 10(network)m 11([NA,NM1])m 10(with)m 11(all)m 10(the)m 10(host)m 11(bits)m 10(set)m 11(\(i.e.,)m 10(equal)m 11(to)m 10(NA)m 10(or)m 2('ed)m 10(together)m 11(with)m 10(all)m 11(the)m 10(bits)m 195 1450 p (that)s 11(are)m 10(not)m 10(set)m 11(in)m 10(NM1,)m 11(which)m 10(is)m 10(network)m 11([NA,NM1]')m -1 r 115 c 9(broadcast)m 10(address\).)m cmsy10.300 @sf 154 1515 p 15 c t-rom.300 @sf 20(NM2)m 11(is)m 10(longer)m 11(than)m 10(NM1.)m 14(In)m 10(this)m 11(case,)m 10(change)m 11(the)m 10(existing)m 10(advertisement)m 11(\(having)m 10(Link)m 11(State)m 10(ID)m 10(of)m 11(NA\))m 195 1565 p (to)s 10(reference)m 10(the)m 10(new)m 10(network)m 9([NA,NM1])m 10(by)m 10(incrementing)m 10(the)m 10(sequence)m 10(number)m -1 r 44 c 9(changing)m 10(the)m 10(mask)m 10(in)m 10(the)m 195 1614 p (body)s 11(to)m 10(NM1)m 10(and)m 11(using)m 10(the)m 11(cost)m 10(for)m 10(the)m 11(new)m 10(network.)m 14(Then)m 11(originate)m 10 r 97 c 10(new)m 11(advertisement)m 10(for)m 11(the)m 10(old)m 195 1664 p (network)s 11([NA,NM2],)m 10(with)m 10(Link)m 11(State)m 10(ID)m 11(equal)m 10(to)m 10(NA)m 11(or)m 1('ed)m 11(together)m 10(with)m 11(the)m 10(bits)m 10(that)m 11(are)m 10(not)m 11(set)m 10(in)m 11(NM2)m 195 1714 p (\(i.e.,)s 11(network)m 10([NA,NM2]')m -1 r 115 c 9(broadcast)m 10(address\).)m 0 1818 p (The)s 10(above)m 11(algorithm)m 10(assumes)m 11(that)m 10(all)m 10(masks)m 11(are)m 10(contiguous;)m 11(this)m 10(ensures)m 11(that)m 10(when)m 10(two)m 11(networks)m 10(have)m 11(the)m 10(same)m 0 1867 p (address,)s 10(one)m 11(mask)m 10(is)m 11(more)m 10(speci\014c)m 10(than)m 11(the)m 10(other)m -1 r 46 c 13(The)m 10(algorithm)m 11(also)m 10(assumes)m 11(that)m 10(no)m 10(network)m 11(exists)m 10(having)m 11(an)m 0 1917 p (address)s 10(equal)m 11(to)m 10(another)m 11(network')m -2 r 115 c 10(broadcast)m 10(address.)m 14(Given)m 11(these)m 10(two)m 10(assumptions,)m 11(the)m 10(above)m 11(algorithm)m 10(always)m 0 1967 p (produces)s 10(unique)m 11(Link)m 10(State)m 11(IDs.)m 14(The)m 10(above)m 10(algorithm)m 11(can)m 10(also)m 11(be)m 10(reworded)m 10(as)m 11(follows:)m 14(When)m 10(originating)m 11(an)m 10(AS)m 0 2017 p (external)s 10(link)m 11(state)m 10(advertisement,)m 11(try)m 10(to)m 10(use)m 11(the)m 10(network)m 11(number)m 10(as)m 11(the)m 10(Link)m 10(State)m 11(ID.)m 10(If)m 11(that)m 10(produces)m 10 r 97 c 11(con\015ict,)m 0 2067 p (examine)s 10(the)m 11(two)m 10(networks)m 11(in)m 10(con\015ict.)m 14(One)m 10(will)m 11(be)m 10 r 97 c 11(subset)m 10(of)m 10(the)m 11(other)m -1 r 46 c 12(For)m 11(the)m 10(less)m 11(speci\014c)m 10(network,)m 11(use)m 10(the)m 0 2116 p (network)s 10(number)m 11(as)m 10(the)m 11(Link)m 10(State)m 10(ID)m 11(and)m 10(for)m 11(the)m 10(more)m 11(speci\014c)m 10(use)m 10(the)m 11(network')m -1 r 115 c 9(broadcast)m 10(address)m 11(instead)m 10(\(i.e.,)m 11(\015ip)m 0 2166 p (all)s 10(the)m 11("host")m 10(bits)m 11(to)m 10(1\).)m 14(If)m 10(the)m 11(most)m 10(speci\014c)m 11(network)m 10(was)m 10(originated)m 11(\014rst,)m 10(this)m 11(will)m 10(cause)m 11(you)m 10(to)m 10(originate)m 11(two)m 10(link)m 0 2216 p (state)s 10(advertisements)m 11(at)m 10(once.)m 0 2282 p (As)s 10(an)m 11(example)m 10(of)m 11(the)m 10(algorithm,)m 10(consider)m 11(its)m 10(operation)m 11(when)m 10(the)m 11(following)m 10(sequence)m 10(of)m 11(events)m 10(occurs)m 11(in)m 10 r 97 c 10(single)m 0 2332 p (router)s 10(\(Router)m 11(A\).)m 52 2436 p (1.)s 21(Router)m 10 r 65 c 10(wants)m 11(to)m 10(originate)m 11(an)m 10(AS)m 10(external)m 11(link)m 10(advertisement)m 11(for)m 10 r 91 c c-med.300 @sf (10.0.0.0,255.255.255.0)s t-rom.300 @sf (]:)s 128 2517 p (\(a\))s 21 r 65 c 10(Link)m 11(State)m 10(ID)m 11(of)m c-med.300 @sf 10(10.0.0.0)m t-rom.300 @sf 10(is)m 11(used.)m 52 2599 p (2.)s 21(Router)m 10 r 65 c 10(then)m 11(wants)m 10(to)m 11(originate)m 10(an)m 10(AS)m 11(external)m 10(link)m 11(advertisement)m 10(for)m 11 r 91 c c-med.300 @sf (10.0.0.0,255.255.0.0)s t-rom.300 @sf (]:)s 0 2723 p (Moy)s 1690([Page)m 10(125])m @eop 126 @bop0 126 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m 128 195 p (\(a\))s 21(The)m 10(advertisement)m 11(for)m 10 r 91 c c-med.300 @sf (10.0.0,0,255.255.255.0)s t-rom.300 @sf 93 c 11(is)m 10(reoriginated)m 10(using)m 11 r 97 c 10(new)m 11(Link)m 10(State)m 10(ID)m 11(of)m c-med.300 @sf 195 245 p (10.0.0.255)s t-rom.300 @sf 46 c 126 311 p (\(b\))s 21 r 65 c 10(Link)m 10(State)m 11(ID)m 10(of)m c-med.300 @sf 11(10.0.0.0)m t-rom.300 @sf 10(is)m 10(used)m 11(for)m 10 r 91 c c-med.300 @sf (10.0.0.0,255.255.0.0)s t-rom.300 @sf (].)s 52 394 p (3.)s 21(Router)m 10 r 65 c 10(then)m 11(wants)m 10(to)m 11(originate)m 10(an)m 10(AS)m 11(external)m 10(link)m 11(advertisement)m 10(for)m 11 r 91 c c-med.300 @sf (10.0.0.0,255.0.0.0)s t-rom.300 @sf (]:)s 128 477 p (\(a\))s 21(The)m 10(advertisement)m 11(for)m 10 r 91 c c-med.300 @sf (10.0.0.0,255.255.0.0)s t-rom.300 @sf 93 c 11(is)m 10(reoriginated)m 10(using)m 11 r 97 c 10(new)m 11(Link)m 10(State)m 10(ID)m 11(of)m c-med.300 @sf 195 527 p (10.0.255.255)s t-rom.300 @sf 46 c 126 594 p (\(b\))s 21 r 65 c 10(Link)m 10(State)m 11(ID)m 10(of)m c-med.300 @sf 11(10.0.0.0)m t-rom.300 @sf 10(is)m 10(used)m 11(for)m 10 r 91 c c-med.300 @sf (10.0.0.0,255.0.0.0)s t-rom.300 @sf (].)s 128 660 p (\(c\))s 21(The)m 10(network)m 11 r 91 c c-med.300 @sf (10.0.0.0,255.255.255.0)s t-rom.300 @sf 93 c 10(keeps)m 11(its)m 10(Link)m 10(State)m 11(ID)m 10(of)m c-med.300 @sf 11(10.0.0.255)m t-rom.300 @sf 46 c 0 2723 p (Moy)s 1690([Page)m 10(126])m @eop 127 @bop0 127 @bop1 t-rom.300 @sf 0 50 p (RFC)s 10(1583)m 654(OSPF)m 10 r 86 c -4(ersion)m 10 r 50 c 653(March)m 10(1994)m t-bol.420 @sf 0 195 p (Security)s 15(Considerations)m t-rom.300 @sf 0 306 p (All)s 10(OSPF)m 11(protocol)m 10(exchanges)m 11(are)m 10(authenticated.)m 14(This)m 10(is)m 11(accomplished)m 10(through)m 11(authentication)m 10(\014elds)m 10(contained)m 11(in)m 10(the)m 0 356 p (OSPF)s 10(packet)m 11(header)m -1 r 46 c 12(For)m 11(more)m 10(information,)m 11(see)m 10(Sections)m 11(8.1,)m 10(8.2,)m 10(and)m 11(Appendix)m 10(D.)m t-bol.420 @sf 0 513 p (Author)s 1 r 39 c -1 r 115 c 13(Addr)m (ess)s t-rom.300 @sf 104 624 p (John)s 10(Moy)m 104 674 p (Proteon,)s 10(Inc.)m 104 724 p 57 c 10 r 84 c -2(echnology)m 10(Drive)m 104 773 p 87 c -3(estborough,)m 10(MA)m 10(01581)m 104 840 p (Phone:)s 14(508-898-2800)m 104 890 p (Fax:)s 14(508-898-3176)m 104 940 p (EMail:)s 14(jmoy@proteon.com)m 0 2723 p (Moy)s 1690([Page)m 10(127])m @eop @end