%! % 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 { md begin % then redefine some stuff /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 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-frame.dvi %%Creator: dvi2ps %%EndProlog 300 @startdoc 103 @bop0 /Helvetica /h-med.300 ReEncodeForTeX /h-med.300 /h-med.300 41.666629 TeXPSmakefont def /Times-Bold /t-bol.420 ReEncodeForTeX /t-bol.420 /t-bol.420 58.333229 TeXPSmakefont def /Times-Roman /t-rom.300 ReEncodeForTeX /t-rom.300 /t-rom.300 41.666629 TeXPSmakefont def 103 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p (Security)s 15(Considerations)m t-rom.300 @sf 0 306 p (All)s 12(OSPF)m 11(protocol)m 12(exchanges)m 12(are)m 11(authenticated.)m 18(This)m 11(is)m 12(accomplished)m 12(through)m 11(authentication)m 12(\014elds)m 12(contained)m 11(in)m 12(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(E.)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 623 p (John)s 10(Moy)m 104 673 p (Proteon,)s 10(Inc.)m 104 722 p 50 c 10 r 84 c -2(echnology)m 10(Drive)m 104 772 p 87 c -3(estborough,)m 10(MA)m 10(01581-5008)m 104 839 p (Phone:)s 14(508-898-2800)m 104 905 p (EMail:)s 14(jmoy@proteon.com)m h-med.300 @sf 0 2723 p (Moy)s 1693(Page)m 11(103)m @eop 102 @bop0 /Times-Bold /t-bol.360 ReEncodeForTeX /t-bol.360 /t-bol.360 49.999929 TeXPSmakefont def 102 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p 69 c 58(Authentication)m t-rom.300 @sf 0 306 p (All)s 9(OSPF)m 8(protocol)m 9(exchanges)m 9(are)m 9(authenticated.)m 13(The)m 9(OSPF)m 8(packet)m 9(header)m 9(\(see)m 9(Section)m 8(A.2\))m 9(includes)m 9(an)m 9(authentication)m 0 356 p (type)s 10(\014eld,)m 11(and)m 10(64-bits)m 11(of)m 10(data)m 10(used)m 11(by)m 10(the)m 11(appropriate)m 10(authentication)m 11(scheme)m 10(\(determined)m 10(by)m 11(the)m 10(type)m 11(\014eld\).)m 0 423 p (The)s 12(authentication)m 13(type)m 12(is)m 13(con\014gurable)m 12(on)m 12 r 97 c 13(per)m (-area)s 11(basis.)m 20(Additional)m 12(authentication)m 13(data)m 12(is)m 13(con\014gurable)m 12(on)m 12 r 97 c 13(per)m 45 c 0 473 p (interface)s 12(basis.)m 17(For)m 12(example,)m 12(if)m 11(an)m 12(area)m 11(uses)m 12 r 97 c 12(simple)m 11(password)m 12(scheme)m 12(for)m 11(authentication,)m 12 r 97 c 12(separate)m 11(password)m 12(may)m 0 523 p (be)s 10(con\014gured)m 11(for)m 10(each)m 11(network)m 10(contained)m 10(in)m 11(the)m 10(area.)m 0 591 p (Authentication)s 12(types)m 12(of)m 12(0-255)m 12(are)m 12(speci\014ed)m 11(below)m -1 r 46 c 17(Other)m 12(authentication)m 12(types)m 12(may)m 12(be)m 12(assigned)m 12(locally)m 11(on)m 12 r 97 c 12(per)m 12(Au-)m 0 640 p (tonomous)s 10(System)m 11(basis.)m t-bol.360 @sf 0 777 p (E.1)s 50(Autype)m 12 r 48 c 13 r 123 c 12(No)m 13(authentication)m t-rom.300 @sf 0 873 p (Use)s 11(of)m 11(this)m 10(authentication)m 11(type)m 11(means)m 11(that)m 10(routing)m 11(exchanges)m 11(in)m 11(the)m 10(area)m 11(are)m 11(not)m 11(authenticated.)m 14(The)m 11(64-bit)m 11(\014eld)m 11(in)m 10(the)m 0 922 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 1059 p (E.2)s 50(Autype)m 12 r 49 c 13 r 123 c 12(Simple)m 13(password)m t-rom.300 @sf 0 1155 p (Using)s 13(this)m 14(authentication)m 13(type,)m 14 r 97 c 14(64-bit)m 13(\014eld)m 14(is)m 13(con\014gured)m 14(on)m 13 r 97 c 13(per)m (-network)s 13(basis.)m 23(All)m 13(packets)m 14(sent)m 13(on)m 14 r 97 c 13(particular)m 0 1205 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 1254 p (\\clear)s 2 r 34 c 10(64-bit)m 10(password.)m 0 1322 p (This)s 14(guards)m 13(against)m 14(routers)m 14(inadvertently)m 14(coming)m 13(up)m 14(in)m 14(the)m 13(area.)m 24(They)m 14(must)m 14(\014rst)m 13(be)m 14(con\014gured)m 14(with)m 13(their)m 14(attached)m 0 1372 p (networks')s 10(passwords)m 11(before)m 10(they)m 11(can)m 10(join)m 10(the)m 11(routing)m 10(domain.)m h-med.300 @sf 0 2723 p (Moy)s 1693(Page)m 11(102)m @eop 101 @bop0 /Times-Italic /t-ita.300 ReEncodeForTeX /t-ita.300 /t-ita.300 41.666629 TeXPSmakefont def 101 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 300 242 p 1454 2 ru 299 292 p 2 50 ru t-ita.300 @sf 325 277 p (LS)s 10(type)m 473 292 p 2 50 ru 498 277 p (Link)s 11(State)m 10(ID)m 745 292 p 2 50 ru 771 277 p (Advertising)s 10(Router)m 1111 292 p 2 50 ru 1136 277 p (LS)s 11(seq)m 10(no)m 1322 292 p 2 50 ru 1348 277 p (LS)s 11(age)m 1487 292 p 2 50 ru 1513 277 p (LS)s 10(checksum)m 1753 292 p 2 50 ru 300 294 p 1454 2 ru 299 344 p 2 50 ru t-rom.300 @sf 376 329 p 49 c 473 344 p 2 50 ru 498 329 p (192.1.1.1)s 745 344 p 2 50 ru 771 329 p (192.1.1.1)s 1111 344 p 2 50 ru 1207 329 p 42 c 1322 344 p 2 50 ru 1395 329 p 42 c 1487 344 p 2 50 ru 1610 329 p 42 c 1753 344 p 2 50 ru 299 394 p 2 50 ru 376 379 p 49 c 473 394 p 2 50 ru 498 379 p (192.1.1.2)s 745 394 p 2 50 ru 771 379 p (192.1.1.2)s 1111 394 p 2 50 ru 1207 379 p 42 c 1322 394 p 2 50 ru 1395 379 p 42 c 1487 394 p 2 50 ru 1610 379 p 42 c 1753 394 p 2 50 ru 299 443 p 2 50 ru 376 428 p 49 c 473 443 p 2 50 ru 498 428 p (192.1.1.3)s 745 443 p 2 50 ru 771 428 p (192.1.1.3)s 1111 443 p 2 50 ru 1207 428 p 42 c 1322 443 p 2 50 ru 1395 428 p 42 c 1487 443 p 2 50 ru 1610 428 p 42 c 1753 443 p 2 50 ru 299 493 p 2 50 ru 376 478 p 49 c 473 493 p 2 50 ru 498 478 p (192.1.1.4)s 745 493 p 2 50 ru 771 478 p (192.1.1.4)s 1111 493 p 2 50 ru 1207 478 p 42 c 1322 493 p 2 50 ru 1395 478 p 42 c 1487 493 p 2 50 ru 1610 478 p 42 c 1753 493 p 2 50 ru 300 495 p 1454 2 ru 299 545 p 2 50 ru 376 530 p 50 c 473 545 p 2 50 ru 498 530 p (192.1.1.3)s 745 545 p 2 50 ru 771 530 p (192.1.1.3)s 1111 545 p 2 50 ru 1207 530 p 42 c 1322 545 p 2 50 ru 1363 530 p (older)s 1487 545 p 2 50 ru 1610 530 p 42 c 1753 545 p 2 50 ru 299 594 p 2 50 ru 376 579 p 50 c 473 594 p 2 50 ru 498 579 p (192.1.1.4)s 745 594 p 2 50 ru 771 579 p (192.1.1.4)s 1111 594 p 2 50 ru 1207 579 p 42 c 1322 594 p 2 50 ru 1355 579 p (newer)s 1487 594 p 2 50 ru 1610 579 p 42 c 1753 594 p 2 50 ru 300 596 p 1454 2 ru 299 646 p 2 50 ru 376 631 p 51 c 473 646 p 2 50 ru 498 631 p (Ia,Ib)s 745 646 p 2 50 ru 771 631 p (192.1.1.3)s 1111 646 p 2 50 ru 1207 631 p 42 c 1322 646 p 2 50 ru 1395 631 p 42 c 1487 646 p 2 50 ru 1610 631 p 42 c 1753 646 p 2 50 ru 299 696 p 2 50 ru 376 681 p 51 c 473 696 p 2 50 ru 498 681 p (N6)s 745 696 p 2 50 ru 771 681 p (192.1.1.3)s 1111 696 p 2 50 ru 1207 681 p 42 c 1322 696 p 2 50 ru 1395 681 p 42 c 1487 696 p 2 50 ru 1610 681 p 42 c 1753 696 p 2 50 ru 299 746 p 2 50 ru 376 731 p 51 c 473 746 p 2 50 ru 498 731 p (N7)s 745 746 p 2 50 ru 771 731 p (192.1.1.3)s 1111 746 p 2 50 ru 1207 731 p 42 c 1322 746 p 2 50 ru 1395 731 p 42 c 1487 746 p 2 50 ru 1610 731 p 42 c 1753 746 p 2 50 ru 299 795 p 2 50 ru 376 780 p 51 c 473 795 p 2 50 ru 498 780 p (N8)s 745 795 p 2 50 ru 771 780 p (192.1.1.3)s 1111 795 p 2 50 ru 1207 780 p 42 c 1322 795 p 2 50 ru 1395 780 p 42 c 1487 795 p 2 50 ru 1610 780 p 42 c 1753 795 p 2 50 ru 299 845 p 2 50 ru 376 830 p 51 c 473 845 p 2 50 ru 498 830 p (N9-N1)s (1,H1)s 745 845 p 2 50 ru 771 830 p (192.1.1.3)s 1111 845 p 2 50 ru 1207 830 p 42 c 1322 845 p 2 50 ru 1395 830 p 42 c 1487 845 p 2 50 ru 1610 830 p 42 c 1753 845 p 2 50 ru 299 895 p 2 50 ru 376 880 p 51 c 473 895 p 2 50 ru 498 880 p (Ia,Ib)s 745 895 p 2 50 ru 771 880 p (192.1.1.4)s 1111 895 p 2 50 ru 1207 880 p 42 c 1322 895 p 2 50 ru 1395 880 p 42 c 1487 895 p 2 50 ru 1610 880 p 42 c 1753 895 p 2 50 ru 299 945 p 2 50 ru 376 930 p 51 c 473 945 p 2 50 ru 498 930 p (N6)s 745 945 p 2 50 ru 771 930 p (192.1.1.4)s 1111 945 p 2 50 ru 1207 930 p 42 c 1322 945 p 2 50 ru 1395 930 p 42 c 1487 945 p 2 50 ru 1610 930 p 42 c 1753 945 p 2 50 ru 299 995 p 2 50 ru 376 980 p 51 c 473 995 p 2 50 ru 498 980 p (N7)s 745 995 p 2 50 ru 771 980 p (192.1.1.4)s 1111 995 p 2 50 ru 1207 980 p 42 c 1322 995 p 2 50 ru 1395 980 p 42 c 1487 995 p 2 50 ru 1610 980 p 42 c 1753 995 p 2 50 ru 299 1044 p 2 50 ru 376 1029 p 51 c 473 1044 p 2 50 ru 498 1029 p (N8)s 745 1044 p 2 50 ru 771 1029 p (192.1.1.4)s 1111 1044 p 2 50 ru 1207 1029 p 42 c 1322 1044 p 2 50 ru 1395 1029 p 42 c 1487 1044 p 2 50 ru 1610 1029 p 42 c 1753 1044 p 2 50 ru 299 1094 p 2 50 ru 376 1079 p 51 c 473 1094 p 2 50 ru 498 1079 p (N9-N1)s (1,H1)s 745 1094 p 2 50 ru 771 1079 p (192.1.1.4)s 1111 1094 p 2 50 ru 1207 1079 p 42 c 1322 1094 p 2 50 ru 1395 1079 p 42 c 1487 1094 p 2 50 ru 1610 1079 p 42 c 1753 1094 p 2 50 ru 299 1144 p 2 50 ru 376 1129 p 52 c 473 1144 p 2 50 ru 498 1129 p 82 c -1(T5)m 745 1144 p 2 50 ru 771 1129 p (192.1.1.3)s 1111 1144 p 2 50 ru 1207 1129 p 42 c 1322 1144 p 2 50 ru 1395 1129 p 42 c 1487 1144 p 2 50 ru 1610 1129 p 42 c 1753 1144 p 2 50 ru 299 1194 p 2 50 ru 376 1179 p 52 c 473 1194 p 2 50 ru 498 1179 p (NT7)s 745 1194 p 2 50 ru 771 1179 p (192.1.1.3)s 1111 1194 p 2 50 ru 1207 1179 p 42 c 1322 1194 p 2 50 ru 1395 1179 p 42 c 1487 1194 p 2 50 ru 1610 1179 p 42 c 1753 1194 p 2 50 ru 299 1244 p 2 50 ru 376 1229 p 52 c 473 1244 p 2 50 ru 498 1229 p 82 c -1(T5)m 745 1244 p 2 50 ru 771 1229 p (192.1.1.4)s 1111 1244 p 2 50 ru 1207 1229 p 42 c 1322 1244 p 2 50 ru 1395 1229 p 42 c 1487 1244 p 2 50 ru 1610 1229 p 42 c 1753 1244 p 2 50 ru 299 1293 p 2 50 ru 376 1279 p 52 c 473 1293 p 2 50 ru 498 1279 p (NT7)s 745 1293 p 2 50 ru 771 1279 p (192.1.1.4)s 1111 1293 p 2 50 ru 1207 1279 p 42 c 1322 1293 p 2 50 ru 1395 1279 p 42 c 1487 1293 p 2 50 ru 1610 1279 p 42 c 1753 1293 p 2 50 ru 300 1295 p 1454 2 ru 299 1345 p 2 50 ru 376 1330 p 52 c 473 1345 p 2 50 ru 498 1330 p (N12)s 745 1345 p 2 50 ru 771 1330 p 82 c -2(T5')m -2 r 115 c 9(ID)m 1111 1345 p 2 50 ru 1207 1330 p 42 c 1322 1345 p 2 50 ru 1395 1330 p 42 c 1487 1345 p 2 50 ru 1610 1330 p 42 c 1753 1345 p 2 50 ru 299 1395 p 2 50 ru 376 1380 p 52 c 473 1395 p 2 50 ru 498 1380 p (N13)s 745 1395 p 2 50 ru 771 1380 p 82 c -2(T5')m -2 r 115 c 9(ID)m 1111 1395 p 2 50 ru 1207 1380 p 42 c 1322 1395 p 2 50 ru 1395 1380 p 42 c 1487 1395 p 2 50 ru 1610 1380 p 42 c 1753 1395 p 2 50 ru 299 1445 p 2 50 ru 376 1430 p 52 c 473 1445 p 2 50 ru 498 1430 p (N14)s 745 1445 p 2 50 ru 771 1430 p 82 c -2(T5')m -2 r 115 c 9(ID)m 1111 1445 p 2 50 ru 1207 1430 p 42 c 1322 1445 p 2 50 ru 1395 1430 p 42 c 1487 1445 p 2 50 ru 1610 1430 p 42 c 1753 1445 p 2 50 ru 299 1494 p 2 50 ru 376 1479 p 52 c 473 1494 p 2 50 ru 498 1479 p (N12)s 745 1494 p 2 50 ru 771 1479 p 82 c -2(T7')m -2 r 115 c 9(ID)m 1111 1494 p 2 50 ru 1207 1479 p 42 c 1322 1494 p 2 50 ru 1395 1479 p 42 c 1487 1494 p 2 50 ru 1610 1479 p 42 c 1753 1494 p 2 50 ru 299 1544 p 2 50 ru 376 1529 p 52 c 473 1544 p 2 50 ru 498 1529 p (N15)s 745 1544 p 2 50 ru 771 1529 p 82 c -2(T7')m -2 r 115 c 9(ID)m 1111 1544 p 2 50 ru 1207 1529 p 42 c 1322 1544 p 2 50 ru 1395 1529 p 42 c 1487 1544 p 2 50 ru 1610 1529 p 42 c 1753 1544 p 2 50 ru 300 1546 p 1454 2 ru 52 1637 p (5.)s 21(The)m 10(contents)m 10(of)m 11(any)m 10(particular)m 11(link)m 10(state)m 11(advertisement.)m 14(For)m 10(example,)m 10 r 97 c 11(listing)m 10(of)m 11(the)m 10(router)m 11(links)m 10(advertisement)m 104 1686 p (for)s 10(Area)m 11(1,)m 10(with)m 10(LS)m 11(type)m 10 r 61 c 11 r 49 c 10(and)m 11(Link)m 10(State)m 10(ID)m 11 r 61 c 10(192.1.1.3)m 11(is)m 10(shown)m 10(in)m 11(Section)m 10(12.3.1.)m 52 1769 p (6.)s 21 r 65 c 10(listing)m 10(of)m 11(the)m 10(entire)m 10(routing)m 11(table.)m 14(Such)m 10(listings)m 11(are)m 10(shown)m 10(in)m 11(Section)m 10 r 49 c (1.)s 12(The)m 11(routing)m 10(table)m 11(is)m 10(calculated)m 10(from)m 104 1819 p (the)s 11(combined)m 11(databases)m 11(of)m 12(each)m 11(attached)m 11(area)m 11(\(see)m 12(Section)m 11(16\).)m 16(It)m 11(may)m 11(be)m 12(desirable)m 11(to)m 11(sort)m 11(the)m 12(routing)m 11(table)m 11(by)m 104 1869 p 84 c -2(ype)m 9(of)m 11(Service,)m 10(or)m 11(by)m 10(destination,)m 10(or)m 11 r 97 c 10(combination)m 11(of)m 10(the)m 10(two.)m h-med.300 @sf 0 2723 p (Moy)s 1693(Page)m 11(101)m @eop 100 @bop0 1 /cmmi10.300 @newfont cmmi10.300 @sf [ 32 24 -3 2 32.286] 62 @dc 1 /cmr10.300 @newfont cmr10.300 @sf [<7FFFFFC0FFFFFFE000000000000000000000000000000000000000000000000000000000000000 00FFFFFFE07FFFFFC0> 32 12 -2 -4 32.286] 61 @dc 100 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 313 242 p 1427 2 ru 313 292 p 2 50 ru t-ita.300 @sf 338 277 p (Interface)s 11(IP)m 10(addr)m (ess)s 701 292 p 2 50 ru 727 277 p (state)s 905 292 p 2 50 ru 931 277 p (cost)s 1022 292 p 2 50 ru 1047 277 p (DR)s 1228 292 p 2 50 ru 1254 277 p (Backup)s 1434 292 p 2 50 ru 1460 277 p 35 c 10(nbrs)m 1589 292 p 2 50 ru 1615 277 p 35 c 10(adjs)m 1739 292 p 2 50 ru 313 294 p 1427 2 ru 313 344 p 2 50 ru t-rom.300 @sf 338 329 p (192.1.1.3)s 701 344 p 2 50 ru 727 329 p (DR)s 10(other)m 905 344 p 2 50 ru 954 329 p 49 c 1022 344 p 2 50 ru 1047 329 p (192.1.1.4)s 1228 344 p 2 50 ru 1254 329 p (192.1.1.1)s 1434 344 p 2 50 ru 1502 329 p 51 c 1589 344 p 2 50 ru 1655 329 p 50 c 1739 344 p 2 50 ru 313 394 p 2 50 ru 338 379 p (192.1.4.3)s 701 394 p 2 50 ru 727 379 p (DR)s 905 394 p 2 50 ru 954 379 p 50 c 1022 394 p 2 50 ru 1047 379 p (192.1.4.3)s 1228 394 p 2 50 ru 1254 379 p (none)s 1434 394 p 2 50 ru 1502 379 p 48 c 1589 394 p 2 50 ru 1655 379 p 48 c 1739 394 p 2 50 ru 313 395 p 1427 2 ru 52 486 p (3.)s 21(The)m 9(list)m 10(of)m 9(neighbors)m 10(associated)m 9(with)m 10 r 97 c 9(particular)m 10(interface.)m 14(Each)m 9(neighbor)m 2 r 39 c -2 r 115 c 9(IP)m 9(address,)m 10(router)m 10(ID,)m 9(state,)m 10(and)m 10(the)m 104 536 p (length)s 10(of)m 11(the)m 10(three)m 10(link)m 11(state)m 10(advertisement)m 11(queues)m 10(\(see)m 11(Section)m 10(10\))m 10(to)m 11(the)m 10(neighbor)m 11(is)m 10(displayed.)m 104 602 p (Suppose)s 10(router)m 10 r 82 c -1(T4)m 9(is)m 11(the)m 10(Designated)m 10(Router)m 11(for)m 10(network)m 10(N3,)m 11(and)m 10(router)m 10 r 82 c -1(T1)m 9(is)m 10(the)m 11(Backup)m 10(Designated)m 10(router)m -1 r 46 c 104 652 p (Suppose)s 12(also)m 12(that)m 13(the)m 12(adjacency)m 12(between)m 12(router)m 13 r 82 c -2(T3)m 11(and)m 13 r 82 c -2(T1)m 11(has)m 13(not)m 12(yet)m 12(fully)m 12(formed.)m 20(The)m 12(display)m 12(of)m 12(router)m 104 702 p 82 c -2(T3')m -2 r 115 c 8(neighbors)m 9(\(associated)m 9(with)m 8(its)m 9(interface)m 9(to)m 9(network)m 9(N3\))m 9(may)m 9(then)m 9(appear)m 8(as)m 9(follows.)m 14(The)m 9(display)m 8(indicates)m 104 752 p (that)s 14 r 82 c -1(T3)m 13(and)m 15 r 82 c -2(T1)m 14(are)m 14(still)m 15(in)m 14(the)m 15(database)m 14(exchange)m 14(procedure,)m 16(Router)m 14 r 82 c -1(T3)m 13(has)m 15(more)m 14(Database)m 15(Description)m 104 801 p (packets)s 13(to)m 14(send)m 14(to)m 13 r 82 c -1(T1,)m 13(and)m 14 r 82 c -2(T1)m 13(has)m 14(at)m 13(least)m 14(one)m 13(link)m 14(state)m 14(advertisement)m 13(that)m 14 r 82 c -2(T3)m 13(doesn')m (t.)s 23(Also,)m 14(there)m 14(is)m 14 r 97 c 104 851 p (single)s 11(link)m 11(state)m 12(advertisement)m 11(that)m 11(has)m 12(been)m 11(\015ooded,)m 12(but)m 11(not)m 11(acknowledged,)m 12(to)m 11(each)m 12(neighbor)m 11(that)m 11(participates)m 104 901 p (in)s 11(the)m 11(\015ooding)m 11(procedure)m 11(\(state)m cmmi10.300 @sf 11 r 62 c cmr10.300 @sf 61 c t-rom.300 @sf 11(Exchng\).)m 16(\(In)m 11(the)m 12(following)m 11(examples)m 11(we)m 11(assume)m 11(that)m 11 r 97 c 11(router)m 2 r 39 c -2 r 115 c 11(Router)m 11(ID)m 104 951 p (is)s 10(assigned)m 11(to)m 10(be)m 10(its)m 11(smallest)m 10(IP)m 11(interface)m 10(address\).)m 264 1024 p 1526 2 ru 263 1074 p 2 50 ru t-ita.300 @sf 289 1059 p (Neighbor)s 10(IP)m 11(addr)m -1(ess)m 659 1074 p 2 50 ru 684 1059 p (Router)s 11(ID)m 876 1074 p 2 50 ru 902 1059 p (state)s 1053 1074 p 2 50 ru 1079 1059 p (LS)s 10(rxmt)m 11(len)m 1295 1074 p 2 50 ru 1321 1059 p (DB)s 10(summ)m 11(len)m 1569 1074 p 2 50 ru 1595 1059 p (LS)s 11 r 114 c -1(eq)m 9(len)m 1789 1074 p 2 50 ru 264 1075 p 1526 2 ru 263 1125 p 2 50 ru t-rom.300 @sf 289 1110 p (192.1.1.1)s 659 1125 p 2 50 ru 684 1110 p (192.1.1.1)s 876 1125 p 2 50 ru 902 1110 p (Exchng)s 1053 1125 p 2 50 ru 1165 1110 p 49 c 1295 1125 p 2 50 ru 1412 1110 p (10)s 1569 1125 p 2 50 ru 1670 1110 p 49 c 1789 1125 p 2 50 ru 263 1175 p 2 50 ru 289 1160 p (192.1.1.2)s 659 1175 p 2 50 ru 684 1160 p (192.1.1.2)s 876 1175 p 2 50 ru 902 1160 p (2-W)s -2(ay)m 1053 1175 p 2 50 ru 1165 1160 p 48 c 1295 1175 p 2 50 ru 1423 1160 p 48 c 1569 1175 p 2 50 ru 1670 1160 p 48 c 1789 1175 p 2 50 ru 263 1225 p 2 50 ru 289 1210 p (192.1.1.4)s 659 1225 p 2 50 ru 684 1210 p (192.1.1.4)s 876 1225 p 2 50 ru 902 1210 p (Full)s 1053 1225 p 2 50 ru 1165 1210 p 49 c 1295 1225 p 2 50 ru 1423 1210 p 48 c 1569 1225 p 2 50 ru 1670 1210 p 48 c 1789 1225 p 2 50 ru 264 1226 p 1526 2 ru 52 1317 p (4.)s 21 r 65 c 13(list)m 14(of)m 13(the)m 14(area')m -1 r 115 c 12(link)m 14(state)m 13(database.)m 24(This)m 14(is)m 13(the)m 14(same)m 13(in)m 14(all)m 14(of)m 13(the)m 14(routers)m 13(attached)m 14(to)m 14(the)m 13(area.)m 24(It)m 13(is)m 14(com-)m 104 1367 p (posed)s 11(of)m 11(that)m 12(area')m -2 r 115 c 11(router)m 11(links,)m 11(network)m 12(links,)m 11(and)m 12(summary)m 11(links)m 11(advertisements.)m 17(Also,)m 11(the)m 12(AS)m 11(external)m 11(link)m 104 1417 p (advertisements)s 10(are)m 11 r 97 c 10(part)m 10(of)m 11(all)m 10(the)m 11(areas')m 10(databases.)m 104 1483 p (The)s 10(link)m 10(state)m 9(database)m 10(for)m 10(Area)m 10 r 49 c 10(in)m 10(Figure)m 10(16)m 10(might)m 10(look)m 10(as)m 9(follows)m 10(\(compare)m 10(this)m 10(with)m 10(Figure)m 10(7\).)m 14(Assume)m 10(the)m 104 1533 p (the)s 11(Designated)m 10(Router)m 11(for)m 11(network)m 10(N3)m 11(is)m 11(router)m 11 r 82 c -2(T4,)m 10(as)m 11(above.)m 15(Also,)m 10(assume)m 11(that)m 11(router)m 11 r 82 c -2(T3)m 10(was)m 11(formerly)m 10(the)m 104 1583 p (Designated)s 11(Router)m 10(for)m 11(network)m 11(N3.)m 15(Its)m 10(network)m 11(links)m 11(advertisement)m 10(is)m 11(still)m 11(part)m 11(of)m 10(the)m 11(database)m 11(\(it)m 11(has)m 10(not)m 11(aged)m 104 1633 p (to)s 10(FlushAge\).)m 104 1699 p (Both)s 10(routers)m 11 r 82 c -2(T3)m 10(and)m 10 r 82 c -1(T4)m 9(are)m 11(originating)m 11(summary)m 10(link)m 11(advertisements)m 10(into)m 11(Area)m 10(1,)m 11(since)m 10(they)m 11(are)m 10(area)m 11(border)m 104 1749 p (routers.)s 25(Routers)m 14 r 82 c -1(T5)m 13(and)m 14 r 82 c -1(T7)m 13(are)m 14(AS)m 14(external)m 15(routers.)m 25(Their)m 14(location)m 14(must)m 15(be)m 14(described)m 14(in)m 14(summary)m 14(links)m 104 1799 p (advertisements.)s 14(Also,)m 10(their)m 10(AS)m 11(external)m 10(link)m 11(advertisements)m 10(are)m 11(\015ooded)m 10(throughout)m 10(the)m 11(entire)m 10(AS.)m 104 1865 p (Router)s 11 r 82 c -2(T3)m 10(can)m 11(locate)m 11(its)m 11(self-originated)m 11(advertisements)m 12(by)m 11(looking)m 11(for)m 11(its)m 11(own)m 11(router)m 11(ID)m 11(\(192.1.1.3\))m 11(in)m 11(adver-)m 104 1915 p (tisements')s 10(Advertising)m 11(Router)m 10(\014elds.)m 104 1981 p (The)s 14(LS)m 14(sequence)m 14(number)m -1 r 44 c 15(LS)m 14(age,)m 15(and)m 14(LS)m 14(checksum)m 14(\014elds)m 14(indicate)m 14(the)m 14(advertisement')m -1 r 115 c 13(instantiation.)m 25(Their)m 104 2031 p (values)s 15(are)m 16(stored)m 15(in)m 16(the)m 15(advertisement')m -1 r 115 c 15(link)m 15(state)m 16(header;)m 18(we)m 15(have)m 16(not)m 15(bothered)m 16(to)m 15(make)m 16(up)m 15(values)m 16(for)m 15(the)m 104 2081 p (example.)s h-med.300 @sf 0 2723 p (Moy)s 1693(Page)m 11(100)m @eop 99 @bop0 99 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 34 195 p (R5)s 21(An)m 10(advertisement)m 10(has)m 11(been)m 10(received)m 10(through)m 10(the)m 10(\015ooding)m 10(procedure)m 10(that)m 11(is)m 10(LESS)m 10(recent)m 10(the)m 10(the)m 10(router)m 2 r 39 c -2 r 115 c 10(current)m 104 245 p (database)s 8(copy)m 9(\(see)m 8(Section)m 9(13\).)m 13(The)m 9(logging)m 8(message)m 9(should)m 9(include)m 8(the)m 9(received)m 8(advertisement')m -1 r 115 c 8(LS)m 8(type,)m 9(Link)m 104 295 p (State)s 9(ID,)m 8(Advertising)m 9(Router)m 44 c 8(LS)m 9(sequence)m 9(number)m -1 r 44 c 8(LS)m 9(age)m 9(and)m 9(LS)m 9(checksum.)m 13(Also,)m 9(the)m 9(message)m 9(should)m 9(display)m 104 345 p (the)s 10(neighbor)m 11(from)m 10(whom)m 10(the)m 11(advertisement)m 10(was)m 11(received.)m 0 454 p (The)s 14(following)m 13(messages)m 14(are)m 14(indication)m 14(of)m 13(normal,)m 15(yet)m 14(infrequent)m 13(protocol)m 14(events.)m 24(These)m 14(messages)m 13(will)m 14(help)m 14(in)m 13(the)m 0 503 p (interpretation)s 10(of)m 11(some)m 10(of)m 11(the)m 10(above)m 10(messages:)m 32 612 p (N1)s 21(The)m 11(Link)m 12(state)m 12(refresh)m 11(timer)m 12(has)m 11(\014red)m 12(for)m 12(one)m 11(of)m 12(the)m 11(router)m 2 r 39 c -1 r 115 c 10(self-originated)m 12(advertisements)m 11(\(see)m 12(Section)m 11(12.3\).)m 104 662 p 65 c 11(new)m 12(instantiation)m 12(of)m 11(the)m 12(advertisement)m 12(must)m 11(be)m 12(originated.)m 18(The)m 11(message)m 12(should)m 12(include)m 11(the)m 12(advertisement')m -1 r 115 c 104 712 p (LS)s 10(type,)m 11(Link)m 10(State)m 10(ID)m 11(and)m 10(Advertising)m 11(Router)m -2 r 46 c 32 795 p (N2)s 21(One)m 9(of)m 9(the)m 9(advertisements)m 9(in)m 9(the)m 9(router)m 2 r 39 c -2 r 115 c 8(link)m 9(state)m 9(database)m 9(has)m 9(aged)m 9(to)m 10(MaxAge)m 9(\(see)m 9(Section)m 9(14\).)m 13(At)m 9(this)m 9(point,)m 104 845 p (the)s 11(advertisement)m 12(is)m 12(no)m 11(longer)m 12(included)m 11(in)m 12(the)m 11(routing)m 12(table)m 12(calculation,)m 11(and)m 12(is)m 12(re\015ooded.)m 17(The)m 12(message)m 11(should)m 104 895 p (list)s 10(the)m 11(advertisement')m -2 r 115 c 10(LS)m 10(type,)m 11(Link)m 10(State)m 10(ID)m 11(and)m 10(Advertising)m 11(Router)m -2 r 46 c 32 977 p (N3)s 21(An)m 11(advertisement)m 11(of)m 11(age)m 11(MaxAge)m 11(has)m 11(been)m 10(\015ushed)m 11(from)m 11(the)m 11(router)m 2 r 39 c -1 r 115 c 9(database.)m 16(This)m 11(occurs)m 11(after)m 11(the)m 11(advertise-)m 104 1027 p (ment)s 11(has)m 12(been)m 12(acknowledged)m 11(by)m 12(all)m 11(adjacent)m 12(neighbors.)m 17(The)m 12(message)m 12(should)m 11(list)m 12(the)m 11(advertisement')m -1 r 115 c 11(LS)m 11(type,)m 104 1077 p (Link)s 10(State)m 11(ID)m 10(and)m 10(Advertising)m 11(Router)m -1 r 46 c t-bol.360 @sf 0 1214 p (D.2)s 50(Cumulative)m 12(statistics)m t-rom.300 @sf 0 1309 p (These)s 13(statistics)m 14(display)m 13(collections)m 13(of)m 13(the)m 14(routing)m 13(data)m 13(structures.)m 23(They)m 13(should)m 13(be)m 13(able)m 14(to)m 13(be)m 13(obtained)m 13(interactively)m -1 r 44 c 0 1359 p (through)s 10(some)m 11(kind)m 10(of)m 11(network)m 10(management)m 10(facility)m -1 r 46 c 0 1427 p (All)s 13(the)m 13(following)m 13(statistics)m 13(displays,)m 13(with)m 13(the)m 13(exception)m 13(of)m 13(the)m 13(area)m 13(list,)m 13(routing)m 13(table)m 13(and)m 13(the)m 13(AS)m 13(external)m 13(links,)m 14(are)m 0 1477 p (speci\014c)s 10(to)m 11 r 97 c 10(single)m 11(area.)m 14(As)m 10(noted)m 10(in)m 11(Section)m 10(4,)m 11(most)m 10(OSPF)m 10(protocol)m 11(mechanisms)m 10(work)m 11(on)m 10(each)m 11(area)m 10(separately)m -2 r 46 c 0 1544 p (The)s 10(following)m 11(statistics)m 10(displays)m 11(should)m 10(be)m 10(available:)m 52 1653 p (1.)s 21 r 65 c 9(list)m 10(of)m 10(all)m 10(the)m 10(areas)m 9(attached)m 10(to)m 10(the)m 10(router)m -1 r 44 c 9(along)m 10(with)m 10(the)m 10(authentication)m 9(type)m 10(to)m 10(use)m 10(for)m 10(the)m 10(area,)m 10(the)m 9(number)m 10(of)m 104 1703 p (router)s 10(interfaces)m 11(attaching)m 10(to)m 10(the)m 11(area,)m 10(and)m 11(the)m 10(total)m 11(number)m 10(of)m 10(nets)m 11(and)m 10(routers)m 11(belonging)m 10(to)m 10(the)m 11(area.)m 104 1769 p (For)s 14(example,)m 15(consider)m 15(the)m 14(router)m 15 r 82 c -2(T3)m 13(pictured)m 15(in)m 14(Figure)m 14(16.)m 26(It)m 14(has)m 15(interfaces)m 14(to)m 14(two)m 15(separate)m 14(areas,)m 16(Area)m 14 r 49 c 104 1819 p (and)s 11(the)m 11(backbone)m 11(\(Area)m 10(0\).)m 16(The)m 11(following)m 11(display)m 11(then)m 11(indicates)m 11(that)m 10(the)m 11(backbone)m 11(is)m 11(using)m 11 r 97 c 11(simple)m 11(password)m 104 1869 p (for)s 12(authentication,)m 13(and)m 12(that)m 12(Area)m 12 r 49 c 13(is)m 12(not)m 12(using)m 12(any)m 13(authentication.)m 19(The)m 12(number)m 12(of)m 13(nets)m 12(includes)m 12(IP)m 12(networks,)m 104 1919 p (subnets,)s 12(and)m 11(hosts)m 11(\(this)m 12(is)m 11(the)m 12(reason)m 11(for)m 12 r 50 c 11(backbone)m 12(nets)m 11 r 123 c 12(they)m 11(are)m 12(the)m 11(host)m 12(routes)m 11(corresponding)m 11(to)m 12(the)m 11(serial)m 104 1969 p (line)s 10(between)m 11(backbone)m 10(routers)m 10 r 82 c -1(T6)m 9(and)m 11 r 82 c -2(T10\).)m 605 2040 p 845 2 ru 604 2090 p 2 50 ru t-ita.300 @sf 629 2075 p (Ar)s (ea)s 9(ID)m 787 2090 p 2 50 ru 813 2075 p 35 c 10(ifcs)m 926 2090 p 2 50 ru 952 2075 p (AuT)s -2(ype)m 1100 2090 p 2 50 ru 1126 2075 p 35 c 10(nets)m 1248 2090 p 2 50 ru 1274 2075 p 35 c 11 r 114 c -1(outers)m 1448 2090 p 2 50 ru 605 2091 p 845 2 ru 604 2141 p 2 50 ru t-rom.300 @sf 686 2126 p 48 c 787 2141 p 2 50 ru 847 2126 p 49 c 926 2141 p 2 50 ru 1004 2126 p 49 c 1100 2141 p 2 50 ru 1165 2126 p 50 c 1248 2141 p 2 50 ru 1339 2126 p 55 c 1448 2141 p 2 50 ru 604 2191 p 2 50 ru 686 2176 p 49 c 787 2191 p 2 50 ru 847 2176 p 50 c 926 2191 p 2 50 ru 1004 2176 p 48 c 1100 2191 p 2 50 ru 1165 2176 p 52 c 1248 2191 p 2 50 ru 1339 2176 p 52 c 1448 2191 p 2 50 ru 605 2192 p 845 2 ru 52 2283 p (2.)s 21 r 65 c 9(list)m 10(of)m 10(all)m 10(the)m 10(router)m 1 r 39 c -1 r 115 c 9(interfaces)m 10(to)m 10(an)m 9(area,)m 10(along)m 10(with)m 10(their)m 10(addresses,)m 10(output)m 10(cost,)m 10(current)m 10(state,)m 10(the)m 9(\(Backup\))m 104 2333 p (Designated)s 8(Router)m 8(for)m 8(the)m 8(attached)m 8(network,)m 8(and)m 8(the)m 8(number)m 8(of)m 8(neighbors)m 8(currently)m 8(associated)m 8(with)m 8(the)m 8(interface.)m 104 2383 p (Some)s 10(number)m 11(of)m 10(these)m 10(neighbors)m 11(will)m 10(have)m 11(become)m 10(adjacent,)m 11(the)m 10(number)m 10(of)m 11(these)m 10(is)m 11(noted)m 10(in)m 10(the)m 11(display)m 10(also.)m 104 2449 p (Again)s 10(consider)m 10(router)m 11 r 82 c -2(T3)m 10(in)m 10(Figure)m 10(16.)m 14(The)m 10(display)m 11(below)m 10(indicates)m 10(that)m 11 r 82 c -2(T4)m 10(has)m 10(been)m 10(selected)m 11(as)m 10(Designated)m 104 2499 p (Router)s 9(for)m 9(network)m 10(N3,)m 9(and)m 9(router)m 9 r 82 c -1(T1)m 8(has)m 9(been)m 10(selected)m 9(as)m 9(Backup.)m 14(Adjacencies)m 9(have)m 9(been)m 9(established)m 10(to)m 9(both)m 104 2549 p (of)s 9(these)m 9(routers.)m 13(There)m 9(are)m 9(no)m 9(routers)m 10(besides)m 9 r 82 c -2(T3)m 8(attached)m 9(to)m 9(network)m 9(N4,)m 10(so)m 9(it)m 9(becomes)m 9(DR,)m 9(yet)m 9(still)m 9(advertises)m 104 2599 p (the)s 10(network)m 11(as)m 10 r 97 c 10(stub)m 11(in)m 10(its)m 11(router)m 10(links)m 11(advertisements.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(99)m @eop 98 @bop0 98 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 34 195 p (C1)s 21 r 65 c 8(received)m 7(OSPF)m 7(packet)m 8(is)m 7(rejected)m 8(due)m 7(to)m 8(errors)m 7(in)m 8(its)m 7(IP/OSPF)m 7(header)m -1 r 46 c 12(The)m 8(reasons)m 7(for)m 7(rejection)m 8(are)m 7(documented)m 104 245 p (in)s 12(Section)m 11(8.2.)m 19(They)m 11(include)m 12(OSPF)m 12(checksum)m 12(failure,)m 12(authentication)m 12(failure,)m 12(and)m 12(inability)m 12(to)m 12(match)m 11(the)m 12(source)m 104 295 p (with)s 13(an)m 14(active)m 14(OSPF)m 14(neighbor)m -2 r 46 c 23(The)m 14(logging)m 13(message)m 14(produced)m 14(should)m 14(include)m 13(the)m 14(IP)m 14(source)m 13(and)m 14(destination)m 104 345 p (addresses,)s 10(the)m 11(router)m 10(ID)m 10(in)m 11(the)m 10(OSPF)m 11(header)m -1 r 44 c 9(and)m 11(the)m 10(reason)m 11(for)m 10(the)m 11(rejection.)m 34 425 p (C2)s 21(An)m 8(incoming)m 7(Hello)m 8(packet)m 7(is)m 8(rejected)m 7(due)m 8(to)m 7(mismatches)m 7(between)m 8(the)m 7(Hello')m -1 r 115 c 7(parameters)m 7(and)m 8(those)m 7(con\014gured)m 8(for)m 104 475 p (the)s 10(receiving)m 10(interface)m 10(\(see)m 11(Section)m 10(10.5\).)m 14(This)m 10(indicates)m 10 r 97 c 10(con\014guration)m 10(problem)m 11(on)m 10(the)m 10(attached)m 10(network.)m 14(The)m 104 524 p (logging)s 10(message)m 11(should)m 10(include)m 10(the)m 11(Hello')m -1 r 115 c 9(source,)m 10(the)m 11(receiving)m 10(interface,)m 11(and)m 10(the)m 10(non-matching)m 11(parameters.)m 34 605 p (C3)s 21(An)m 15(incoming)m 15(Database)m 16(Description)m 15(packet,)m 16(Link)m 15(State)m 16(Request)m 15(Packet,)m 16(Link)m 15(State)m 15(Acknowledgment)m 16(Packet)m 104 654 p (or)s 20(Link)m 20(State)m 20(Update)m 20(packet)m 20(is)m 20(rejected)m 20(due)m 20(to)m 20(the)m 20(source)m 20(neighbor)m 20(being)m 20(in)m 20(the)m 20(wrong)m 20(state)m 20(\(see)m 20(Sec-)m 104 704 p (tions)s 14(10.6,)m 14(10.7,)m 15(13.7)m 14 r 44 c 15(and)m 14(13)m 15(respectively\).)m 25(This)m 14(can)m 15(be)m 14(normal)m 14(when)m 14(the)m 15(identity)m 14(of)m 14(the)m 14(network')m -1 r 115 c 13(Desig-)m 104 754 p (nated)s 9(Router)m 8(changes,)m 10(causing)m 8(momentary)m 9(disagreements)m 9(over)m 9(the)m 9(validity)m 9(of)m 8(adjacencies.)m 14(The)m 9(logging)m 8(message)m 104 804 p (should)s 10(include)m 11(the)m 10(source)m 10(neighbor)m 44 c 9(its)m 11(state,)m 10(and)m 10(the)m 11(packet')m -1 r 115 c 9(type.)m 34 884 p (C4)s 21 r 65 c 11(Database)m 11(Description)m 11(packet)m 11(has)m 11(been)m 11(retransmitted.)m 16(This)m 11(may)m 11(mean)m 11(that)m 11(the)m 11(value)m 11(of)m 11(RxmtInterval)m 11(that)m 11(has)m 104 934 p (been)s 11(con\014gured)m 12(for)m 12(the)m 11(associated)m 12(interface)m 12(is)m 11(too)m 12(small.)m 18(The)m 11(logging)m 12(message)m 12(should)m 11(include)m 12(the)m 12(neighbor)m 11(to)m 104 984 p (whom)s 10(the)m 11(packet)m 10(is)m 10(being)m 11(sent.)m 0 1083 p (The)s 10(following)m 11(messages)m 10(can)m 11(be)m 10(caused)m 10(by)m 11(packet)m 10(transmission)m 11(errors,)m 10(or)m 11(software)m 10(errors)m 10(in)m 11(an)m 10(OSPF)m 11(implementation:)m 37 1182 p (E1)s 20(The)m 7(checksum)m 7(in)m 7 r 97 c 7(received)m 7(link)m 7(state)m 7(advertisement)m 7(is)m 7(incorrect.)m 13(The)m 7(advertisement)m 7(is)m 7(discarded)m 7(\(see)m 7(Section)m 7(13\).)m 104 1232 p (The)s 9(logging)m 10(message)m 10(should)m 9(include)m 10(the)m 9(advertisement')m -1 r 115 c 9(LS)m 9(type,)m 10(Link)m 9(State)m 10(ID)m 10(and)m 9(Advertising)m 10(Router)m 9(\(which)m 104 1282 p (may)s 10(be)m 11(incorrect\).)m 13(The)m 11(message)m 10(should)m 11(also)m 10(include)m 11(the)m 10(neighbor)m 10(from)m 11(whom)m 10(the)m 11(advertisement)m 10(was)m 10(received.)m 37 1362 p (E2)s 20(During)m 8(the)m 8(aging)m 8(process,)m 8(it)m 8(is)m 8(discovered)m 8(that)m 7(one)m 8(of)m 8(the)m 8(link)m 8(state)m 7(advertisements)m 8(in)m 8(the)m 8(database)m 8(has)m 7(an)m 8(incorrect)m 104 1412 p (checksum.)s 13(This)m 7(indicates)m 7(memory)m 7(corruption)m 7(or)m 7 r 97 c 7(software)m 7(error)m 7(in)m 7(the)m 7(router)m 7(itself.)m 13(The)m 7(router)m 7(should)m 7(be)m 7(dumped)m 104 1462 p (and)s 10(restarted.)m 0 1561 p (The)s 10(following)m 10(messages)m 10(are)m 10(an)m 10(indication)m 10(that)m 10 r 97 c 10(router)m 10(has)m 10(restarted,)m 10(losing)m 10(track)m 10(of)m 10(its)m 10(previous)m 10(LS)m 10(sequence)m 10(number)m -2 r 46 c 0 1611 p (Should)s 10(these)m 11(messages)m 10(continue,)m 11(it)m 10(may)m 10(indicate)m 11(the)m 10(presence)m 11(of)m 10(duplicate)m 11(Router)m 10(IDs:)m 34 1710 p (R1)s 21 r 84 c -2(wo)m 12(link)m 13(state)m 13(advertisements)m 12(have)m 13(been)m 13(seen,)m 13(whose)m 13(LS)m 13(type,)m 13(Link)m 13(State)m 13(ID,)m 13(Advertising)m 12(Router)m 13(and)m 13(LS)m 13(se-)m 104 1760 p (quence)s 12(number)m 13(are)m 12(the)m 13(same,)m 13(yet)m 13(with)m 12(dif)m (fering)s 12(LS)m 13(checksums.)m 20(These)m 12(are)m 13(considered)m 13(to)m 12(be)m 13(dif)m (ferent)s 12(instanti-)m 104 1810 p (ations)s 12(of)m 13(the)m 13(same)m 12(advertisement.)m 21(The)m 12(instantiation)m 13(with)m 13(the)m 12(lar)m (ger)s 12(checksum)m 13(is)m 12(accepted)m 13(as)m 12(more)m 13(recent)m 13(\(see)m 104 1860 p (Section)s 11(12.1.6,)m 10(13.1\).)m 15(The)m 11(logging)m 11(message)m 11(should)m 10(include)m 11(the)m 11(LS)m 11(type,)m 11(Link)m 10(State)m 11(ID,)m 11(Advertising)m 11(Router)m -1 r 44 c 10(LS)m 104 1909 p (sequence)s 10(number)m 11(and)m 10(the)m 10(two)m 11(dif)m (fering)s 10(checksums.)m 34 1990 p (R2)s 21 r 84 c -2(wo)m 10(link)m 10(state)m 10(advertisements)m 11(have)m 10(been)m 10(seen,)m 11(whose)m 10(LS)m 11(type,)m 10(Link)m 10(State)m 11(ID,)m 10(Advertising)m 10(Router)m 44 c 9(LS)m 10(sequence)m 104 2040 p (number)s 12(and)m 13(LS)m 12(checksum)m 13(are)m 13(the)m 12(same,)m 13(yet)m 13(can)m 12(be)m 13(distinguished)m 12(by)m 13(their)m 13(LS)m 12(age)m 13(\014elds.)m 20(This)m 13(means)m 12(that)m 13(one)m 104 2089 p (of)s 15(the)m 15(advertisement')m -2 r 115 c 14(LS)m 15(age)m 15(is)m 15(MaxAge,)m 16(or)m 15(the)m 15(two)m 15(LS)m 15(age)m 15(\014elds)m 15(dif)m (fer)s 14(by)m 15(more)m 15(than)m 15(MaxAgeDif)m (f.)s 27(The)m 104 2139 p (logging)s 11(message)m 12(should)m 12(include)m 11(the)m 12(LS)m 12(type,)m 12(Link)m 11(State)m 12(ID,)m 12(Advertising)m 11(Router)m 44 c 11(LS)m 11(sequence)m 12(number)m 12(and)m 11(the)m 104 2189 p (two)s 10(dif)m (fering)s 10(ages.)m 34 2269 p (R3)s 21(The)m 8(router)m 8(has)m 9(received)m 8(an)m 8(instantiation)m 8(of)m 8(one)m 9(of)m 8(its)m 8(self-originated)m 8(advertisements,)m 9(that)m 8(is)m 8(considered)m 8(to)m 8(be)m 9(more)m 104 2319 p (recent.)s 14(This)m 10(forces)m 10(the)m 11(router)m 10(to)m 10(originate)m 10 r 97 c 11(new)m 10(advertisement)m 10(\(see)m 11(Section)m 10(13.4\).)m 14(The)m 10(logging)m 10(message)m 11(should)m 104 2369 p (include)s 9(the)m 9(advertisement')m -2 r 115 c 8(LS)m 9(type,)m 9(Link)m 9(State)m 9(ID,)m 9(and)m 9(Advertising)m 9(Router)m 9(along)m 9(with)m 8(the)m 9(neighbor)m 9(from)m 9(whom)m 104 2419 p (the)s 10(advertisement)m 11(was)m 10(received.)m 34 2499 p (R4)s 21(An)m 9(acknowledgment)m 9(has)m 9(been)m 9(received)m 10(for)m 9(an)m 9(instantiation)m 9(of)m 9(an)m 9(advertisement)m 9(that)m 9(is)m 9(not)m 9(currently)m 9(contained)m 9(in)m 104 2549 p (the)s 7(router)m 2 r 39 c -2 r 115 c 6(database)m 8(\(see)m 7(Section)m 7(13.7\).)m 13(The)m 7(logging)m 7(message)m 8(should)m 7(detail)m 7(the)m 7(instantiation)m 7(being)m 8(acknowledged)m 104 2599 p (and)s 10(the)m 11(database)m 10(copy)m 10(\(if)m 11(any\),)m 10(along)m 11(with)m 10(the)m 11(neighbor)m 10(from)m 10(whom)m 11(the)m 10(acknowledgment)m 11(was)m 10(received.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(98)m @eop 97 @bop0 97 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p 68 c 58(Requir)m (ed)s 14(Statistics)m t-rom.300 @sf 0 306 p (An)s 13(OSPF)m 13(implementation)m 13(must)m 13(provide)m 13 r 97 c 13(minimum)m 13(set)m 13(of)m 13(statistics)m 13(indicating)m 13(the)m 13(operational)m 13(state)m 13(of)m 13(the)m 13(protocol.)m 0 356 p (These)s 15(statistics)m 15(must)m 16(be)m 15(accessible)m 15(to)m 15(the)m 15(user;)m 18(this)m 15(will)m 15(probably)m 15(be)m 15(accomplished)m 16(through)m 15(some)m 15(sort)m 15(of)m 15(network)m 0 405 p (management)s 10(interface.)m 0 473 p (It)s 12(is)m 12(hoped)m 12(that)m 12(these)m 12(statistics)m 12(will)m 12(aid)m 12(in)m 12(the)m 12(debugging)m 12(of)m 12(the)m 12(implementation,)m 13(and)m 12(in)m 12(the)m 12(analysis)m 12(of)m 12(the)m 12(protocol')m -2 r 115 c 0 523 p (performance.)s 0 591 p (The)s 9(statistics)m 9(can)m 9(be)m 9(broken)m 10(into)m 9(two)m 9(broad)m 9(categories.)m 13(The)m 9(\014rst)m 10(consists)m 9(of)m 9(what)m 9(we)m 9(will)m 9(call)m 9(logging)m 9(messages.)m 14(These)m 0 640 p (are)s 10(messages)m 10(produced)m 11(in)m 10(real)m 10(time,)m 10(with)m 10(generally)m 10 r 97 c 11(single)m 10(message)m 10(produced)m 10(as)m 10(the)m 11(result)m 10(of)m 10 r 97 c 10(single)m 10(protocol)m 10(event.)m 0 690 p (Such)s 10(messages)m 11(are)m 10(also)m 11(commonly)m 10(referred)m 10(to)m 11(as)m 10(traps.)m 0 758 p (The)s 11(second)m 11(category)m 11(will)m 11(be)m 11(referred)m 11(to)m 11(as)m 11(cumulative)m 11(statistics.)m 16(These)m 11(are)m 11(counters)m 11(whose)m 11(value)m 11(have)m 11(collected)m 11(over)m 0 808 p (time,)s 10(such)m 9(as)m 10(the)m 9(count)m 10(of)m 9(link)m 10(state)m 10(retransmissions)m 9(over)m 10(the)m 9(last)m 10(hour)m -2 r 46 c 13(Also)m 10(falling)m 9(into)m 10(this)m 9(category)m 10(are)m 9(dumps)m 10(of)m 9(the)m 0 857 p (various)s 10(routing)m 11(data)m 10(structures.)m t-bol.360 @sf 0 994 p (D.1)s 50(Logging)m 12(messages)m t-rom.300 @sf 0 1090 p 65 c 11(logging)m 11(message)m 11(should)m 11(be)m 10(produced)m 11(on)m 11(every)m 11(signi\014cant)m 11(protocol)m 11(event.)m 15(The)m 11(major)m 11(events)m 11(are)m 11(listed)m 10(below)m -1 r 46 c 14(Most)m 0 1140 p (of)s 10(these)m 10(events)m 10(indicate)m 10 r 97 c 10(topological)m 10(change)m 10(in)m 10(the)m 10(routing)m 10(domain.)m 14(However)m -1 r 44 c 9(some)m 10(number)m 10(of)m 10(logging)m 11(messages)m 10(can)m 0 1189 p (be)s 9(expected)m 8(even)m 9(when)m 8(the)m 9(routing)m 8(domain)m 9(remains)m 8(intact)m 9(for)m 8(long)m 9(periods)m 8(of)m 9(time.)m 13(For)m 9(example,)m 9(link)m 8(state)m 9(originations)m 0 1239 p (will)s 10(still)m 11(happen)m 10(due)m 11(to)m 10(the)m 10(link)m 11(state)m 10(refresh)m 11(timer)m 10(\014ring.)m 0 1307 p (Any)s 13(of)m 13(the)m 13(messages)m 13(that)m 13(refer)m 13(to)m 13(link)m 13(state)m 12(advertisements)m 13(should)m 13(print)m 13(the)m 13(area)m 13(associated)m 13(with)m 13(the)m 13(advertisement.)m 0 1357 p (There)s 10(is)m 11(no)m 10(area)m 11(associated)m 10(with)m 10(AS)m 11(external)m 10(link)m 11(advertisements.)m 0 1424 p (The)s 10(following)m 11(list)m 10(of)m 11(logging)m 10(messages)m 10(indicate)m 11(topological)m 10(changes)m 11(in)m 10(the)m 11(routing)m 10(domain:)m 37 1534 p (T1)s 20(The)m 15(state)m 15(of)m 15 r 97 c 15(router)m 14(interface)m 15(changes.)m 27(Interface)m 15(state)m 15(changes)m 15(are)m 14(documented)m 15(in)m 15(Section)m 15(9.3.)m 27(In)m 15(general,)m 104 1583 p (they)s 12(will)m 11(cause)m 12(new)m 12(link)m 12(state)m 12(advertisements)m 11(to)m 12(be)m 12(originated.)m 18(The)m 12(logging)m 12(message)m 11(produced)m 12(should)m 12(include)m 104 1633 p (the)s 13(interface')m -1 r 115 c 12(IP)m 13(address)m 13(\(or)m 14(other)m 13(name\),)m 14(interface)m 13(type)m 13(\(virtual)m 13(link,)m 14(etc.\))m 23(and)m 13(old)m 13(and)m 13(new)m 13(state)m 14(values)m 13(\(as)m 104 1683 p (documented)s 10(in)m 11(Section)m 10(9.1\).)m 37 1766 p (T2)s 20(The)m 10(state)m 10(of)m 9 r 97 c 10(neighbor)m 10(changes.)m 13(Neighbor)m 10(state)m 10(changes)m 9(are)m 10(documented)m 10(in)m 9(Section)m 10(10.3.)m 14(The)m 9(logging)m 10(message)m 104 1816 p (produced)s 10(should)m 11(include)m 10(the)m 10(neighbor)m 11(IP)m 10(address,)m 11(and)m 10(old)m 11(and)m 10(new)m 10(state)m 11(values.)m 37 1899 p (T3)s 20(The)m 12(\(Backup\))m 12(Designated)m 12(Router)m 12(has)m 12(changed)m 11(on)m 12(one)m 12(of)m 12(the)m 12(attached)m 12(networks.)m 18(See)m 12(Section)m 11(9.4.)m 19(The)m 11(logging)m 104 1949 p (message)s 10(produced)m 11(should)m 10(include)m 10(the)m 11(network)m 10(IP)m 11(address,)m 10(and)m 11(the)m 10(old)m 10(and)m 11(new)m 10(\(Backup\))m 11(Designated)m 10(Routers.)m 37 2032 p (T4)s 20(The)m 9(router)m 8(is)m 9(originating)m 8 r 97 c 9(new)m 8(instantiation)m 8(of)m 9 r 97 c 8(link)m 9(state)m 8(advertisement.)m 13(The)m 9(logging)m 8(message)m 8(produced)m 9(should)m 104 2082 p (indicate)s 8(the)m 9(LS)m 8(type,)m 9(Link)m 9(State)m 8(ID)m 9(and)m 8(Advertising)m 9(Router)m 9(associated)m 8(with)m 9(the)m 8(advertisement)m 9(\(see)m 8(Section)m 9(12.3\).)m 37 2165 p (T5)s 20(The)m 15(router)m 14(has)m 15(received)m 14 r 97 c 14(new)m 15(instantiation)m 14(of)m 14 r 97 c 15(link)m 14(state)m 14(advertisement.)m 26(The)m 14(router)m 15(receives)m 14(these)m 14(in)m 15(Link)m 104 2214 p (State)s 10(Update)m 11(packets.)m 14(This)m 10(will)m 10(cause)m 11(recalculation)m 10(of)m 11(the)m 10(routing)m 11(table.)m 14(The)m 10(logging)m 11(message)m 10(produced)m 10(should)m 104 2264 p (indicate)s 11(the)m 12(advertisement')m -1 r 115 c 10(LS)m 12(type,)m 12(Link)m 11(State)m 12(ID)m 11(and)m 12(Advertising)m 12(Router)m -2 r 46 c 17(The)m 11(message)m 12(should)m 11(also)m 12(include)m 104 2314 p (the)s 10(neighbor)m 11(from)m 10(whom)m 10(the)m 11(advertisement)m 10(was)m 11(received.)m 37 2397 p (T6)s 20(An)m 11(entry)m 12(in)m 11(the)m 11(routing)m 11(table)m 11(has)m 11(changed)m 11(\(see)m 11(Section)m 11 r 49 c -1(1\).)m 15(The)m 11(logging)m 11(message)m 11(produced)m 11(should)m 11(indicate)m 11(the)m 104 2447 p (Destination)s 10(type,)m 11(Destination)m 10(ID,)m 10(and)m 11(the)m 10(old)m 11(and)m 10(new)m 11(paths)m 10(to)m 10(the)m 11(destination.)m 0 2556 p (The)s 10(following)m 11(logging)m 10(messages)m 11(may)m 10(indicate)m 10(that)m 11(there)m 10(is)m 11 r 97 c 10(network)m 11(con\014guration)m 10(error:)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(97)m @eop 96 @bop0 /Times-Bold /t-bol.300 ReEncodeForTeX /t-bol.300 /t-bol.300 41.666629 TeXPSmakefont def /Courier /c-med.300 ReEncodeForTeX /c-med.300 /c-med.300 41.666629 TeXPSmakefont def 96 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (delay)s 10(between)m 11(the)m 10(two)m 10(routers.)m 14(This)m 10(may)m 10(be)m 11(hard)m 10(to)m 10(estimate)m 11(for)m 10 r 97 c 10(virtual)m 10(link.)m 14(It)m 10(is)m 11(better)m 10(to)m 10(err)m 10(on)m 11(the)m 10(side)m 10(of)m 11(making)m 0 245 p (it)s 10(too)m 11(lar)m (ge.)s 13(\\Router)m 10(Priority")m 11(is)m 10(not)m 11(used)m 10(on)m 10(virtual)m 11(links.)m 0 313 p 65 c 7(virtual)m 7(link)m 7(is)m 7(de\014ned)m 7(by)m 7(the)m 7(following)m 7(two)m 7(con\014gurable)m 7(parameters:)m 13(the)m 7(Router)m 7(ID)m 7(of)m 7(the)m 7(virtual)m 7(link')m -2 r 115 c 7(other)m 7(endpoint,)m 0 362 p (and)s 10(the)m 11(\(non-backbone\))m 10(area)m 11(through)m 10(which)m 10(the)m 11(virtual)m 10(link)m 11(runs)m 10(\(referred)m 11(to)m 10(as)m 10(the)m 11(virtual)m 10(link')m -1 r 115 c 9(transit)m 11(area\).)m t-bol.360 @sf 0 499 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 595 p (OSPF)s 15(treats)m 14 r 97 c 15(non-broadcast,)m 16(multi-access)m 15(network)m 14(much)m 15(like)m 15(it)m 15(treats)m 14 r 97 c 15(broadcast)m 15(network.)m 27(Since)m 14(there)m 15(many)m 15(be)m 0 645 p (many)s 11(routers)m 12(attached)m 11(to)m 11(the)m 12(network,)m 11 r 97 c 12(Designated)m 11(Router)m 11(is)m 11(selected)m 12(for)m 11(the)m 11(network.)m 17(This)m 11(Designated)m 12(Router)m 11(then)m 0 694 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 762 p (However)s -1 r 44 c 12(due)m 12(to)m 12(the)m 12(lack)m 12(of)m 12(broadcast)m 12(capabilities,)m 12(it)m 12(is)m 12(necessary)m 12(to)m 12(use)m 12(con\014guration)m 12(parameters)m 12(in)m 12(the)m 12(Designated)m 0 812 p (Router)s 12(selection.)m 20(These)m 12(parameters)m 12(need)m 13(only)m 12(be)m 12(con\014gured)m 13(in)m 12(those)m 12(routers)m 12(that)m 13(are)m 12(themselves)m 12(eligible)m 13(to)m 12(become)m 0 862 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(DR)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 971 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 11(of)m 10(all)m 11(other)m 11(routers)m 10(attached)m 11(to)m 11(the)m 11(non-broadcast)m 10(network.)m 15(Each)m 11(router)m 10(is)m 104 1021 p (listed)s 11(by)m 10(its)m 11(IP)m 11(interface)m 11(address)m 10(on)m 11(the)m 11(network.)m 15(Also,)m 11(for)m 10(each)m 11(router)m 11(listed,)m 11(that)m 10(router)m 2 r 39 c -1 r 115 c 9(eligibility)m 11(to)m 11(become)m 104 1070 p (Designated)s 8(Router)m 9(must)m 9(be)m 8(de\014ned.)m 14(When)m 8(an)m 9(interface)m 8(to)m 9 r 97 c 9(non-broadcast)m 8(network)m 9(comes)m 8(up,)m 9(Hello)m 9(packets)m 9(will)m 104 1120 p (be)s 11(sent)m 11(only)m 12(to)m 11(those)m 11(routers)m 11(eligible)m 12(to)m 11(become)m 11(Designated)m 11(Router)m 44 c 10(until)m 12(the)m 11(identity)m 11(of)m 11(the)m 12(Designated)m 11(Router)m 104 1170 p (is)s 10(discovered.)m t-bol.300 @sf 0 1253 p (PollInterval)s t-rom.300 @sf 21(If)m 8 r 97 c 9(neighboring)m 8(router)m 9(has)m 8(become)m 8(inactive)m 9(\(hellos)m 8(have)m 9(not)m 8(been)m 9(seen)m 8(for)m 9(RouterDeadInterval)m 8(seconds\),)m 104 1303 p (it)s 14(may)m 14(still)m 15(be)m 14(necessary)m 14(to)m 14(send)m 15(Hellos)m 14(to)m 14(the)m 15(dead)m 14(neighbor)m -1 r 46 c 24(These)m 14(Hellos)m 15(will)m 14(be)m 14(sent)m 14(at)m 15(the)m 14(reduced)m 14(rate)m 104 1353 p (PollInterval,)s 8(which)m 8(should)m 7(be)m 8(much)m 8(lar)m (ger)s 7(than)m 8(HelloInterval.)m 13(Sample)m 7(value)m 8(for)m 8 r 97 c 8(PDN)m 7(X.25)m 8(network:)m 13 r 50 c 7(minutes.)m t-bol.360 @sf 0 1489 p (C.6)s 50(Host)m 12 r 114 c (oute)s 12(parameters)m t-rom.300 @sf 0 1585 p (Host)s 10(routes)m 10(are)m 9(advertised)m 10(in)m 10(network)m 10(links)m 9(advertisements)m 10(as)m 10(stub)m 10(networks)m 9(with)m 10(mask)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 46 c 14(They)m 9(indicate)m 0 1635 p (either)s 11(router)m 12(interfaces)m 11(to)m 11(point-to-point)m 12(networks,)m 11(looped)m 12(router)m 11(interfaces,)m 12(or)m 11(IP)m 11(hosts)m 12(that)m 11(are)m 11(directly)m 12(connected)m 11(to)m 0 1685 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(directly)m 11(connected)m 10(host,)m 10(the)m 11(following)m 10(items)m 11(must)m 10(be)m 11(con\014gured:)m t-bol.300 @sf 0 1794 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 1877 p (Cost)s 10(of)m 11(link)m 10(to)m 11(host)m t-rom.300 @sf 20(The)m 11(cost)m 11(of)m 11(sending)m 11 r 97 c 11(packet)m 11(to)m 11(the)m 11(host,)m 11(in)m 11(terms)m 11(of)m 11(the)m 11(link)m 11(state)m 11(metric.)m 15(Note)m 11(that)m 11(this)m 11(doesn')m 116 c 104 1927 p (really)s 10(matter)m 11(unless)m 10(the)m 10(host)m 11(is)m 10(multiply)m 11(homed.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(96)m @eop 95 @bop0 95 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (IP)s 10(interface)m 11(mask)m t-rom.300 @sf 21(This)m 12(denotes)m 13(the)m 12(portion)m 12(of)m 13(the)m 12(IP)m 13(interface)m 12(address)m 13(that)m 12(identi\014es)m 13(the)m 12(attached)m 13(network.)m 20(This)m 12(is)m 104 245 p (often)s 10(referred)m 11(to)m 10(as)m 10(the)m 11(subnet)m 10(mask.)m t-bol.300 @sf 0 328 p (Interface)s 10(output)m 11(cost\(s\))m t-rom.300 @sf 21(The)m 14(cost)m 14(of)m 14(sending)m 14 r 97 c 13(packet)m 14(on)m 14(the)m 14(interface,)m 15(expressed)m 14(in)m 14(the)m 14(link)m 14(state)m 14(metric.)m 25(This)m 14(is)m 104 378 p (advertised)s 11(as)m 11(the)m 11(link)m 11(cost)m 11(for)m 11(this)m 12(interface)m 11(in)m 11(the)m 11(router)m 11(links)m 11(advertisement.)m 16(There)m 11(may)m 11(be)m 11 r 97 c 11(separate)m 12(cost)m 11(for)m 104 428 p (each)s 10(IP)m 11 r 84 c -2(ype)m 9(of)m 11(Service.)m 13(The)m 11(interface)m 10(output)m 11(cost\(s\))m 10(must)m 10(always)m 11(be)m 10(greater)m 11(than)m 10(0.)m t-bol.300 @sf 0 511 p (RxmtInterval)s t-rom.300 @sf 21(The)m 12(number)m 13(of)m 12(seconds)m 12(between)m 13(link)m 12(state)m 12(advertisement)m 13(retransmissions,)m 13(for)m 12(adjacencies)m 13(belonging)m 104 560 p (to)s 13(this)m 13(interface.)m 22(Also)m 14(used)m 13(when)m 13(retransmitting)m 13(Database)m 13(Description)m 14(and)m 13(Link)m 13(State)m 13(Request)m 13(Packets.)m 23(This)m 104 610 p (should)s 9(be)m 9(well)m 9(over)m 9(the)m 10(expected)m 9(round-trip)m 9(delay)m 9(between)m 9(any)m 10(two)m 9(routers)m 9(on)m 9(the)m 9(attached)m 9(network.)m 14(The)m 9(setting)m 104 660 p (of)s 13(this)m 14(value)m 14(should)m 13(be)m 14(conservative)m 14(or)m 13(needless)m 14(retransmissions)m 14(will)m 13(result.)m 24(It)m 14(will)m 13(need)m 14(to)m 14(be)m 13(lar)m (ger)s 13(on)m 14(low)m 104 710 p (speed)s 10(serial)m 11(lines)m 10(and)m 10(virtual)m 11(links.)m 14(Sample)m 10(value)m 11(for)m 10 r 97 c 10(local)m 11(area)m 10(network:)m 14 r 53 c 11(seconds.)m t-bol.300 @sf 0 793 p (InfT)s -2(ransDelay)m t-rom.300 @sf 20(The)m 10(estimated)m 11(number)m 11(of)m 11(seconds)m 10(it)m 11(takes)m 11(to)m 11(transmit)m 11 r 97 c 10(Link)m 11(State)m 11(Update)m 11(Packet)m 10(over)m 11(this)m 11(interface.)m 104 843 p (Link)s 9(state)m 9(advertisements)m 9(contained)m 8(in)m 9(the)m 9(update)m 9(packet)m 9(must)m 9(have)m 9(their)m 9(age)m 9(incremented)m 9(by)m 9(this)m 9(amount)m 9(before)m 104 892 p (transmission.)s 16(This)m 11(value)m 11(should)m 11(take)m 12(into)m 11(account)m 11(the)m 11(transmission)m 11(and)m 11(propagation)m 12(delays)m 11(for)m 11(the)m 11(interface.)m 16(It)m 104 942 p (must)s 10(be)m 11(greater)m 10(than)m 10(0.)m 14(Sample)m 11(value)m 10(for)m 11 r 97 c 10(local)m 10(area)m 11(network:)m 14 r 49 c 10(second.)m t-bol.300 @sf 0 1025 p (Router)s 10(Priority)m t-rom.300 @sf 21(An)m 11(8-bit)m 12(unsigned)m 11(integer)m -2 r 46 c 16(When)m 11(two)m 11(routers)m 11(attached)m 11(to)m 11 r 97 c 12(network)m 11(both)m 11(attempt)m 11(to)m 11(become)m 11(Desig-)m 104 1075 p (nated)s 10(Router)m -1 r 44 c 9(the)m 10(one)m 11(with)m 10(the)m 10(highest)m 10(Router)m 10(Priority)m 10(takes)m 10(precedence.)m 14(If)m 10(there)m 10(is)m 10(still)m 10 r 97 c 10(tie,)m 11(the)m 10(router)m 10(with)m 10(the)m 104 1125 p (highest)s 8(Router)m 7(ID)m 8(takes)m 8(precedence.)m 13 r 65 c 8(router)m 8(whose)m 8(Router)m 8(Priority)m 7(is)m 8(set)m 8(to)m 8 r 48 c 8(is)m 8(ineligible)m 7(to)m 8(become)m 8(Designated)m 104 1175 p (Router)s 10(on)m 11(the)m 10(attached)m 10(network.)m 14(Router)m 11(Priority)m 10(is)m 11(only)m 10(con\014gured)m 10(for)m 11(interfaces)m 10(to)m 11(multi-access)m 10(networks.)m t-bol.300 @sf 0 1258 p (HelloInterval)s t-rom.300 @sf 21(The)m 11(length)m 11(of)m 11(time,)m 11(in)m 11(seconds,)m 11(between)m 11(the)m 11(Hello)m 11(packets)m 11(that)m 11(the)m 11(router)m 11(sends)m 11(on)m 11(the)m 11(interface.)m 16(This)m 104 1308 p (value)s 15(is)m 14(advertised)m 15(in)m 15(the)m 15(router)m 1 r 39 c -1 r 115 c 14(Hello)m 14(packets.)m 27(It)m 15(must)m 15(be)m 15(the)m 14(same)m 15(for)m 15(all)m 15(routers)m 15(attached)m 14(to)m 15 r 97 c 15(common)m 104 1357 p (network.)s 14(The)m 9(smaller)m 10(the)m 10(hello)m 10(interval,)m 10(the)m 10(faster)m 10(topological)m 10(changes)m 10(will)m 10(be)m 10(detected,)m 10(but)m 10(more)m 10(routing)m 10(traf)m (\014c)s 104 1407 p (will)s 13(ensue.)m 23(Sample)m 14(value)m 13(for)m 13 r 97 c 14(X.25)m 13(PDN)m 14(network:)m 20(30)m 13(seconds.)m 23(Sample)m 13(value)m 14(for)m 13 r 97 c 14(local)m 13(area)m 14(network:)m 19(10)m 104 1457 p (seconds.)s t-bol.300 @sf 0 1540 p (RouterDeadInterval)s t-rom.300 @sf 21(The)m 11(number)m 12(of)m 12(seconds)m 12(that)m 11 r 97 c 12(router)m 2 r 39 c -2 r 115 c 11(Hellos)m 12(have)m 12(not)m 11(been)m 12(seen)m 12(before)m 11(its)m 12(neighbors)m 12(declare)m 104 1590 p (the)s 10(router)m 11(down.)m 14(This)m 10(is)m 11(also)m 10(advertised)m 11(in)m 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(Hello)m 11(Packets)m 10(in)m 11(the)m 10(DeadInt)m 11(\014eld.)m 14(This)m 10(should)m 11(be)m 10(some)m 104 1640 p (multiple)s 12(of)m 12(the)m 11(HelloInterval)m 12(\(say)m 12(4\).)m 18(This)m 12(value)m 12(again)m 12(must)m 12(be)m 12(the)m 12(same)m 11(for)m 12(all)m 12(routers)m 12(attached)m 12(to)m 12 r 97 c 12(common)m 104 1689 p (network.)s t-bol.300 @sf 0 1772 p (Authentication)s 10(key)m t-rom.300 @sf 21(This)m 13(con\014gured)m 12(data)m 13(allows)m 12(the)m 13(authentication)m 13(procedure)m 12(to)m 13(generate)m 12(and/or)m 13(verify)m 12(the)m 13(authen-)m 104 1822 p (tication)s 13(\014eld)m 13(in)m 13(the)m 13(OSPF)m 13(header)m -1 r 46 c 21(For)m 13(example,)m 14(if)m 13(the)m 13(authentication)m 13(type)m 14(indicates)m 13(simple)m 13(password,)m 14(the)m 13(au-)m 104 1872 p (thentication)s 12(key)m 11(would)m 12(be)m 12 r 97 c 12(64-bit)m 11(password.)m 18(This)m 12(key)m 12(would)m 12(be)m 12(inserted)m 11(directly)m 12(into)m 12(the)m 12(OSPF)m 11(header)m 12(when)m 104 1922 p (originating)s 10(routing)m 11(protocol)m 10(packets.)m 14(There)m 10(could)m 11(be)m 10 r 97 c 11(separate)m 10(password)m 10(for)m 11(each)m 10(network.)m t-bol.360 @sf 0 2059 p (C.4)s 50 r 86 c -1(irtual)m 12(link)m 12(parameters)m t-rom.300 @sf 0 2154 p 86 c -2(irtual)m 7(links)m 8(may)m 8(be)m 8(con\014gured)m 8(between)m 8(any)m 8(pair)m 8(of)m 8(area)m 8(border)m 8(routers)m 8(having)m 8(interfaces)m 8(to)m 8 r 97 c 8(common)m 8(\(non-backbone\))m 0 2204 p (area.)s 20(The)m 13(virtual)m 12(link)m 12(appears)m 13(as)m 12(an)m 13(unnumbered)m 12(point-to-point)m 13(link)m 12(in)m 13(the)m 12(graph)m 13(for)m 12(the)m 13(backbone.)m 20(The)m 12(virtual)m 13(link)m 0 2254 p (must)s 10(be)m 11(con\014gured)m 10(in)m 11(both)m 10(of)m 10(the)m 11(area)m 10(border)m 11(routers.)m 0 2322 p 65 c 11(virtual)m 11(link)m 11(appears)m 11(in)m 11(router)m 11(links)m 11(advertisements)m 12(\(for)m 11(the)m 11(backbone\))m 11(as)m 11(if)m 11(it)m 11(were)m 11 r 97 c 11(separate)m 11(router)m 11(interface)m 11(to)m 11(the)m 0 2371 p (backbone.)s 14(As)m 9(such,)m 10(it)m 9(has)m 10(all)m 9(of)m 10(the)m 9(parameters)m 10(associated)m 9(with)m 10 r 97 c 9(router)m 10(interface)m 9(\(see)m 10(Section)m 9(C.3\).)m 14(Although)m 9 r 97 c 10(virtual)m 0 2421 p (link)s 8(acts)m 9(like)m 8(an)m 9(unnumbered)m 8(point-to-point)m 8(link,)m 9(it)m 9(does)m 8(have)m 8(an)m 9(associated)m 8(\\IP)m 9(interface)m 8(address".)m 13(This)m 9(address)m 8(is)m 8(used)m 0 2471 p (as)s 9(the)m 9(IP)m 9(source)m 10(in)m 9(protocol)m 9(packets)m 9(it)m 9(sends)m 9(along)m 9(the)m 9(virtual)m 10(link,)m 9(and)m 9(is)m 9(set)m 9(dynamically)m 10(during)m 9(the)m 9(routing)m 9(table)m 9(build)m 0 2521 p (process.)s 18(\\Interface)m 12(output)m 12(cost")m 12(is)m 12(also)m 11(set)m 12(dynamically)m 12(on)m 12(virtual)m 12(links)m 12(to)m 12(be)m 11(the)m 12(cost)m 12(of)m 12(the)m 12(intra-area)m 12(path)m 12(between)m 0 2571 p (the)s 11(two)m 12(routers.)m 16(The)m 12(parameter)m 11(\\RxmtInterval")m 11(must)m 11(be)m 12(con\014gured,)m 11(and)m 12(should)m 11(be)m 11(well)m 12(over)m 11(the)m 11(expected)m 12(round-trip)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(95)m @eop 94 @bop0 94 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)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 13(OSPF)m 12(protocol)m 13(has)m 13(quite)m 13 r 97 c 12(few)m 13(con\014gurable)m 13(parameters.)m 20(These)m 13(parameters)m 13(are)m 13(listed)m 12(below)m -1 r 46 c 19(They)m 13(are)m 13(grouped)m 0 356 p (into)s 12(general)m 11(functional)m 12(categories)m 11(\(area)m 12(parameters,)m 12(interface)m 11(parameters,)m 12(etc.\).)m 17(Sample)m 12(values)m 12(are)m 11(given)m 12(for)m 11(some)m 12(of)m 0 405 p (the)s 10(parameters.)m 0 473 p (Some)s 9(parameter)m 9(settings)m 9(need)m 9(to)m 9(be)m 9(consistent)m 10(among)m 9(groups)m 9(of)m 9(routers.)m 13(For)m 9(example,)m 10(all)m 9(routers)m 9(in)m 9(an)m 9(area)m 9(must)m 9(agree)m 0 523 p (on)s 11(that)m 11(area')m -1 r 115 c 10(parameters,)m 11(and)m 11(all)m 11(routers)m 11(attached)m 12(to)m 11 r 97 c 11(network)m 11(must)m 11(agree)m 11(on)m 11(that)m 11(network')m -1 r 115 c 10(IP)m 11(network)m 11(number)m 11(and)m 0 573 p (mask.)s 0 640 p (Some)s 14(parameters)m 15(may)m 14(be)m 15(determined)m 14(by)m 14(router)m 15(algorithms)m 14(outside)m 14(of)m 15(this)m 14(speci\014cation)m 15(\(e.g.,)m 15(the)m 14(address)m 15(of)m 14 r 97 c 14(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 (The)s 8(only)m 8(global)m 8(con\014gurable)m 8(parameter)m 8(is)m 8(the)m 8(router)m 1 r 39 c -1 r 115 c 7(Router)m 8(ID.)m 8(This)m 8(uniquely)m 8(identi\014es)m 7(the)m 8(router)m 8(in)m 8(the)m 8(Autonomous)m 0 972 p (System.)s 14(One)m 9(algorithm)m 10(for)m 10(Router)m 9(ID)m 10(assignment)m 9(is)m 10(to)m 10(choose)m 9(the)m 10(lar)m (gest)s 9(or)m 9(smallest)m 10(IP)m 10(address)m 9(assigned)m 10(to)m 10(the)m 9(router)m -1 r 46 c t-bol.360 @sf 0 1109 p (C.2)s 50(Ar)m (ea)s 12(parameters)m t-rom.300 @sf 0 1205 p (All)s 10(routers)m 9(belonging)m 10(to)m 10(an)m 10(area)m 9(must)m 10(agree)m 10(on)m 9(that)m 10(area')m -1 r 115 c 9(con\014guration.)m 13(Disagreements)m 10(between)m 10(two)m 9(routers)m 10(will)m 10(lead)m 0 1254 p (to)s 10(an)m 10(inability)m 10(for)m 10(adjacencies)m 10(to)m 10(form)m 10(between)m 10(them,)m 10(with)m 10 r 97 c 10(resulting)m 10(hindrance)m 10(to)m 10(the)m 10(\015ow)m 10(of)m 10(routing)m 9(protocol)m 10(traf)m (\014c.)s 0 1304 p (The)s 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 1413 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 20(This)m 12(is)m 12 r 97 c 12(32-bit)m 12(number)m 11(that)m 12(identi\014es)m 12(the)m 12(area.)m 18(The)m 12(Area)m 12(ID)m 11(of)m 12 r 48 c 12(is)m 12(reserved)m 12(for)m 11(the)m 12(backbone.)m 18(If)m 12(the)m 12(area)m 104 1463 p (represents)s 10 r 97 c 11(subnetted)m 10(network,)m 10(the)m 11(IP)m 10(network)m 11(number)m 10(of)m 11(the)m 10(subnetted)m 10(network)m 11(may)m 10(be)m 11(used)m 10(for)m 10(the)m 11(area)m 10(ID.)m t-bol.300 @sf 0 1546 p (List)s 10(of)m 11(addr)m (ess)s 9(ranges)m t-rom.300 @sf 21(An)m 11(OSPF)m 11(area)m 11(is)m 11(de\014ned)m 11(as)m 10 r 97 c 11(list)m 11([IP)m 11(address,)m 11(mask])m 11(pairs.)m 15(Each)m 11(pair)m 11(describes)m 11 r 97 c 11(range)m 10(of)m 11(IP)m 104 1596 p (addresses.)s 13(Networks)m 10(and)m 10(hosts)m 10(are)m 10(assigned)m 10(to)m 10(an)m 9(area)m 10(depending)m 10(on)m 10(whether)m 10(their)m 10(addresses)m 10(fall)m 9(into)m 10(one)m 10(of)m 10(the)m 104 1646 p (area')s -2 r 115 c 10(de\014ning)m 11(address)m 11(ranges.)m 16(Routers)m 11(are)m 10(viewed)m 11(as)m 11(belonging)m 11(to)m 11(multiple)m 11(areas,)m 11(depending)m 11(on)m 11(their)m 11(attached)m 104 1696 p (networks')s 9(area)m 9(membership.)m 13(Routing)m 9(information)m 9(is)m 9(condensed)m 9(at)m 9(area)m 9(boundaries.)m 14(External)m 9(to)m 9(the)m 9(area,)m 9 r 97 c 9(single)m 104 1746 p (route)s 10(is)m 11(advertised)m 10(for)m 10(each)m 11(address)m 10(range.)m 104 1812 p (As)s 11(an)m 10(example,)m 11(suppose)m 11(an)m 11(IP)m 11(subnetted)m 11(network)m 11(is)m 11(to)m 10(be)m 11(its)m 11(own)m 11(OSPF)m 11(area.)m 15(The)m 11(area)m 11(would)m 11(be)m 10(con\014gured)m 11(as)m 104 1862 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 1912 p (class)s 13(A,)m 12(B,)m 13(or)m 13 r 67 c 13(internet)m 12(mask.)m 21 r 65 c 13(single)m 13(route)m 13(would)m 13(be)m 12(advertised)m 13(external)m 13(to)m 13(the)m 12(area,)m 14(describing)m 13(the)m 12(entire)m 104 1961 p (subnetted)s 10(network.)m t-bol.300 @sf 0 2044 p (Authentication)s 10(type)m t-rom.300 @sf 21(Each)m 10(area)m 9(can)m 10(be)m 9(con\014gured)m 10(for)m 9 r 97 c 10(separate)m 9(type)m 10(of)m 9(authentication.)m 14(See)m 10(Appendix)m 9 r 69 c 10(for)m 9 r 97 c 10(discus-)m 104 2094 p (sion)s 10(of)m 11(the)m 10(de\014ned)m 10(authentication)m 11(types.)m t-bol.360 @sf 0 2231 p (C.3)s 50(Router)m 12(interface)m 13(parameters)m t-rom.300 @sf 0 2327 p (Some)s 13(of)m 12(the)m 13(con\014gurable)m 12(router)m 13(interface)m 12(parameters)m 13(\(such)m 12(as)m 13(IP)m 12(interface)m 13(address)m 12(and)m 13(subnet)m 12(mask\))m 13(actually)m 12(imply)m 0 2376 p (properties)s 12(of)m 12(the)m 12(attached)m 12(networks,)m 13(and)m 12(therefore)m 12(must)m 12(be)m 12(consistent)m 12(across)m 12(all)m 12(the)m 12(routers)m 12(attached)m 12(to)m 12(that)m 12(network.)m 0 2426 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 2535 p (IP)s 10(interface)m 11(addr)m (ess)s t-rom.300 @sf 20(The)m 13(IP)m 14(protocol)m 14(address)m 13(for)m 14(this)m 13(interface.)m 24(This)m 13(uniquely)m 14(identi\014es)m 13(the)m 14(router)m 14(over)m 13(the)m 14(entire)m 104 2585 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(94)m @eop 93 @bop0 93 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)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 13(names)m 13(such)m 12(as)m 13(LSRefreshT)m (imer)s -3 r 46 c 20(The)m 13(same)m 13(naming)m 12(convention)m 13(is)m 13(used)m 13(for)m 12(the)m 13(con\014gurable)m 13(protocol)m 13(parameters.)m 0 405 p (They)s 10(are)m 11(de\014ned)m 10(in)m 11(another)m 10(appendix.)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 15(maximum)m 14(time)m 14(between)m 14(distinct)m 14(originations)m 15(of)m 14(any)m 14(particular)m 14(link)m 15(state)m 14(advertisement.)m 25(For)m 104 632 p (each)s 10(link)m 10(state)m 11(advertisement)m 10(that)m 10 r 97 c 10(router)m 10(originates,)m 11(an)m 10(interval)m 10(timer)m 10(should)m 11(be)m 10(set)m 10(to)m 10(this)m 11(value.)m 14(Firing)m 10(of)m 10(this)m 104 682 p (timer)s 11(causes)m 12 r 97 c 11(new)m 12(instantiation)m 11(of)m 12(the)m 11(link)m 12(state)m 11(advertisement)m 12(to)m 11(be)m 12(originated.)m 17(The)m 11(value)m 12(of)m 11(LSRefreshT)m (ime)s 104 732 p (is)s 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 7(minimum)m 8(time)m 8(between)m 7(distinct)m 8(originations)m 7(of)m 8(any)m 8(particular)m 7(link)m 8(state)m 7(advertisement.)m 13(The)m 8(value)m 104 864 p (of)s 10(MinLSInterval)m 11(is)m 10(set)m 10(to)m 11 r 53 c 10(seconds.)m t-bol.300 @sf 0 948 p (MaxAge)s t-rom.300 @sf 21(The)m 8(maximum)m 9(age)m 8(that)m 8 r 97 c 9(link)m 8(state)m 9(advertisement)m 8(can)m 9(attain.)m 13(When)m 8(an)m 9(advertisement')m -2 r 115 c 8(age)m 8(reaches)m 9(MaxAge,)m 104 997 p (it)s 10(is)m 9(re\015ooded.)m 14(It)m 10(is)m 10(then)m 10(removed)m 9(from)m 10(the)m 10(database)m 10(as)m 10(soon)m 10(as)m 9(this)m 10(\015ood)m 10(is)m 10(acknowledged,)m 10(i.e.,)m 10(as)m 10(soon)m 9(as)m 10(it)m 10(has)m 104 1047 p (been)s 11(removed)m 10(from)m 11(all)m 11(neighbor)m t-bol.300 @sf 11(Link)m 11(state)m 11 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 46 c 15(Advertisements)m 11(having)m 11(age)m 11(MaxAge)m 10(are)m 11(not)m 104 1097 p (used)s 10(in)m 11(the)m 10(routing)m 10(table)m 11(calculation.)m 14(The)m 10(value)m 10(of)m 11(MaxAge)m 10(must)m 11(be)m 10(greater)m 10(than)m 11(LSRefreshT)m -1(ime.)m 13(The)m 11(value)m 10(of)m 104 1147 p (MaxAge)s 10(is)m 11(set)m 10(to)m 10 r 49 c 11(hour)m -1 r 46 c t-bol.300 @sf 0 1230 p (CheckAge)s t-rom.300 @sf 21(When)m 13(the)m 14(age)m 13(of)m 14 r 97 c 14(link)m 13(state)m 14(advertisement)m 13(\(that)m 14(is)m 13(contained)m 14(in)m 14(the)m 13(link)m 14(state)m 13(database\))m 14(hits)m 14 r 97 c 13(multiple)m 104 1280 p (of)s 11(CheckAge,)m 10(the)m 11(advertisement')m -1 r 115 c 10(checksum)m 10(is)m 11(veri\014ed.)m 15(An)m 11(incorrect)m 11(checksum)m 11(at)m 10(this)m 11(time)m 11(indicates)m 11 r 97 c 10(serious)m 104 1329 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 1412 p (MaxAgeDiff)s t-rom.300 @sf 21(The)m 8(maximum)m 8(time)m 8(dispersion)m 8(that)m 8(can)m 8(occur)m 44 c 7(as)m 8 r 97 c 9(link)m 8(state)m 8(advertisement)m 8(is)m 8(\015ooded)m 8(throughout)m 8(the)m 8(AS.)m 104 1462 p (Most)s 9(of)m 10(this)m 9(time)m 10(is)m 9(accounted)m 10(for)m 9(by)m 10(the)m 9(link)m 10(state)m 9(advertisements)m 9(sitting)m 10(on)m 9(router)m 10(output)m 9(queues)m 10(\(and)m 9(therefore)m 104 1512 p (not)s 10(aging\))m 11(during)m 10(the)m 10(\015ooding)m 11(process.)m 14(The)m 10(value)m 11(of)m 10(MaxAgeDif)m 102 c 10(is)m 10(set)m 10(to)m 11(15)m 10(minutes.)m t-bol.300 @sf 0 1595 p (LSIn\014nity)s t-rom.300 @sf 21(The)m 13(link)m 13(state)m 14(metric)m 13(value)m 13(indicating)m 14(that)m 13(the)m 13(destination)m 14(is)m 13(unreachable.)m 23(It)m 13(is)m 13(de\014ned)m 14(to)m 13(be)m 13(the)m 14(binary)m 104 1645 p (value)s 11(of)m 10(all)m 11(ones.)m 15(It)m 11(depends)m 11(on)m 11(the)m 11(size)m 11(of)m 10(the)m 11(metric)m 11(\014eld,)m 11(which)m 11(is)m 11(16)m 10(bits)m 11(in)m 11(router)m 11(links)m 11(advertisements,)m 11(and)m 104 1695 p (24)s 10(bits)m 11(in)m 10(both)m 10(summary)m 11(and)m 10(AS)m 11(external)m 10(links)m 11(advertisements.)m t-bol.300 @sf 0 1778 p (DefaultDestination)s t-rom.300 @sf 21(The)m 12(Destination)m 11(ID)m 12(that)m 12(indicates)m 12(the)m 11(default)m 12(route.)m 18(This)m 12(route)m 12(is)m 12(used)m 11(when)m 12(no)m 12(other)m 12(matching)m 104 1828 p (routing)s 11(table)m 12(entry)m 11(can)m 11(be)m 12(found.)m 17(The)m 11(default)m 12(destination)m 11(can)m 11(only)m 12(be)m 11(advertised)m 12(in)m 11(AS)m 11(external)m 12(link)m 11(advertise-)m 104 1877 p (ments.)s 14(Its)m 10(value)m 10(is)m 11(the)m 10(IP)m 11(address)m 10(0.0.0.0.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(93)m @eop 92 @bop0 92 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (A.8)s 50(The)m 12(Link)m 13(State)m 12(Acknowledgment)m 13(packet)m t-rom.300 @sf 0 291 p (Link)s 15(State)m 15(Acknowledgment)m 15(Packets)m 15(are)m 15(OSPF)m 15(packet)m 15(type)m 15(5.)m 28 r 84 c -2 r 111 c 14(make)m 15(the)m 15(\015ooding)m 15(of)m 15(link)m 15(state)m 15(advertisements)m 0 341 p (reliable,)s 10(the)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 11(sending)m 0 390 p (and)s 12(receiving)m 12(of)m 11(Link)m 12(State)m 12(Acknowledgment)m 12(packets.)m 18(Multiple)m 11(link)m 12(state)m 12(advertisements)m 12(can)m 12(be)m 11(acknowledged)m 12(in)m 12 r 97 c 0 440 p (single)s 10(packet.)m 14(Unacknowledged)m 11(advertisements)m 10(will)m 11(be)m 10(retransmitted.)m 0 508 p (Depending)s 9(on)m 8(the)m 9(state)m 9(of)m 9(the)m 8(sending)m 9(interface)m 9(and)m 9(the)m 8(source)m 9(of)m 9(the)m 9(advertisements)m 8(being)m 9(acknowledged,)m 9 r 97 c 9(Link)m 9(State)m 0 558 p (Acknowledgment)s 10(packet)m 11(is)m 10(sent)m 11(either)m 10(to)m 11(the)m 10(multicast)m 11(address)m 10(AllSPFRouters,)m 11(to)m 10(the)m 11(multicast)m 10(address)m 11(AllDRouters,)m 0 608 p (or)s 10(as)m 11 r 97 c 10(unicast.)m 14(See)m 11(Section)m 10(13.5)m 10(for)m 11(more)m 10(details.)m 0 675 p (The)s 11(format)m 12(of)m 11(this)m 11(packet)m 12(is)m 11(similar)m 11(to)m 12(that)m 11(of)m 11(the)m 12(Data)m 11(Description)m 11(packet.)m 17(The)m 11(body)m 12(of)m 11(the)m 11(packet)m 12(is)m 11(simply)m 12 r 97 c 11(list)m 11(of)m 0 725 p (link)s 10(state)m 11(advertisement)m 10(descriptions.)m 0 738 p 28746630 15458713 4670504 32561971 33417134 48020684 startTexFig %!PS-Adobe-1.0 %%Title: lsack.fig %%Creator: f2ps %%CreationDate: Thu Jun 22 12:33:37 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 495 508 730 %%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 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 319 260 moveto 319 280 lineto stroke % Polyline newpath 159 279 moveto 479 279 lineto stroke % Polyline newpath 159 259 moveto 479 259 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 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 370 272 moveto 1 -1 scale (LS age) show 1 -1 scale 201 273 moveto 1 -1 scale (LS checksum) show 1 -1 scale 251 253 moveto 1 -1 scale (LS sequence number) show 1 -1 scale 248 233 moveto 1 -1 scale (Advertising Router) show 1 -1 scale 264 213 moveto 1 -1 scale (Link State ID) show 1 -1 scale 284 193 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 1785 p (The)s 11(database)m 12(pieces)m 11(are)m 12(described)m 11(precisely)m 12(as)m 11(in)m 12(the)m 11(Database)m 12(Description)m 11(Packets.)m 17(The)m 11(LS)m 12(type,)m 12(Link)m 11(State)m 12(ID)m 11(and)m 0 1835 p (Advertising)s 10(Router)m 11(\014elds)m 10(identify)m 11 r 97 c 10(speci\014c)m 11(advertisement,)m 10(while)m 11(the)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 11(age)m 0 1885 p (\014elds)s 10(isolate)m 11 r 97 c 10(particular)m 11(instantiation)m 10(of)m 10(the)m 11(advertisement.)m 14(See)m 10(Section)m 11(A.3)m 10(for)m 10(more)m 11(details.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(92)m @eop 91 @bop0 91 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (A.7.4)s 42(AS)m 10(external)m 10(links)m 11(advertisements)m t-rom.300 @sf 0 291 p (AS)s 11(external)m 11(link)m 10(advertisements)m 11(are)m 11(the)m 11 r 84 c -2(ype)m 10 r 53 c 10(link)m 11(state)m 11(advertisements.)m 15(These)m 11(advertisements)m 10(are)m 11(originated)m 11(by)m 11(AS)m 0 341 p (boundary)s 9(routers.)m 14 r 65 c 9(separate)m 9(advertisement)m 9(is)m 9(made)m 9(for)m 10(each)m 9(destination)m 9(\(known)m 9(to)m 9(the)m 9(router\))m 10(which)m 9(is)m 9(external)m 9(to)m 9(the)m 0 390 p (AS.)s 10(The)m 11(destination)m 10(is)m 10(always)m 11(an)m 10(IP)m 10(network;)m 11(the)m 10(advertisement')m -1 r 115 c 9(Link)m 11(State)m 10(ID)m 10(\014eld)m 11(speci\014es)m 10(an)m 10(IP)m 11(network)m 10(number)m -1 r 46 c 0 458 p (If)s 11 r 97 c 11(route)m 11(for)m 10 r 97 c 11(certain)m 11(type)m 11(of)m 11(service)m 11(is)m 11(not)m 10(included,)m 11(that)m 11 r 84 c (OS)s 10(is)m 11(assumed)m 11(to)m 11(have)m 11(the)m 11(same)m 11(cost)m 10(as)m 11 r 84 c (OS)s 10(0.)m 16(The)m 10(cost)m 0 508 p (for)s 10 r 84 c (OS)s 10 r 48 c 10(must)m 11(be)m 10(included,)m 11(and)m 10(is)m 11(always)m 10(listed)m 10(\014rst.)m 0 521 p 27430994 14143078 5920358 34206515 33351352 48349593 startTexFig %!PS-Adobe-1.0 %%Title: elink.fig %%Creator: f2ps %%CreationDate: Wed Jul 5 10:59:02 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 90 520 507 735 %%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 479 259 lineto stroke % Polyline newpath 319 119 moveto 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 484 219 moveto 499 219 lineto 499 259 lineto 484 259 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 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 319 99 moveto 319 119 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 264 214 moveto 1 -1 scale (Network Mask) show 1 -1 scale 315 287 moveto 1 -1 scale (.) show 1 -1 scale 315 276 moveto 1 -1 scale (.) show 1 -1 scale 315 266 moveto 1 -1 scale (.) show 1 -1 scale 254 254 moveto 1 -1 scale (External Route Tag) show 1 -1 scale 99 234 moveto 1 -1 scale (bit E) show 1 -1 scale 389 114 moveto 1 -1 scale (5) show 1 -1 scale 319 234 moveto 1 -1 scale (metric) show 1 -1 scale 524 264 moveto 1 -1 scale (TOS) show 1 -1 scale 194 234 moveto 1 -1 scale (TOS) show 1 -1 scale 504 249 moveto 1 -1 scale (for each) show 1 -1 scale 504 234 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 1526 p (Network)s 10(Mask)m t-rom.300 @sf 100(The)m 12(IP)m 13(network)m 12(mask)m 12(for)m 13(the)m 12(advertised)m 12(destination.)m 20(For)m 12(example,)m 13(when)m 13(advertising)m 12 r 97 c 12(class)m 13 r 65 c 364 1576 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 1685 p (For)s 10(each)m 10(type)m 10(of)m 11(service,)m 10(the)m 10(following)m 10(\014elds)m 10(are)m 10(de\014ned.)m 14(The)m 10(number)m 10(of)m 11 r 84 c (OS)s 9(routes)m 10(included)m 10(can)m 10(be)m 11(calculated)m 10(from)m 0 1735 p (the)s 10(link)m 11(state)m 10(advertisement')m -1 r 115 c 9(length)m 11(\014eld.)m 14 r 86 c -4(alues)m 9(for)m 11 r 84 c (OS)s 10 r 48 c 10(must)m 10(be)m 11(speci\014ed;)m 10(they)m 11(are)m 10(listed)m 10(\014rst.)m t-bol.300 @sf 0 1844 p (bit)s 10 r 69 c t-rom.300 @sf 278(The)m 10(type)m 10(of)m 11(external)m 10(metric.)m 14(If)m 10(bit)m 10 r 69 c 10(is)m 10(set,)m 11(the)m 10(metric)m 10(speci\014ed)m 10(is)m 10 r 97 c 11 r 84 c -2(ype)m 9 r 50 c 10(external)m 10(metric.)m 14(This)m 364 1894 p (means)s 8(the)m 8(metric)m 8(is)m 8(considered)m 8(lar)m (ger)s 8(than)m 8(any)m 7(link)m 8(state)m 8(path.)m 13(If)m 8(bit)m 8 r 69 c 8(is)m 8(zero,)m 9(the)m 8(speci\014ed)m 8(metric)m 364 1944 p (is)s 10 r 97 c 9 r 84 c -2(ype)m 8 r 49 c 9(external)m 9(metric.)m 14(This)m 9(means)m 9(that)m 9(is)m 9(is)m 9(comparable)m 9(directly)m 9(\(without)m 9(translation\))m 9(to)m 10(the)m 364 1994 p (link)s 11(state)m 10(metric.)m t-bol.300 @sf 0 2077 p 84 c (OS)s t-rom.300 @sf 281(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 t-bol.300 @sf 0 2160 p (metric)s t-rom.300 @sf 249(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 2243 p (External)s 10(Route)m 11 r 84 c -3(ag)m t-rom.300 @sf 20 r 65 c 12(32-bit)m 12(\014eld)m 12(attached)m 12(to)m 12(each)m 12(external)m 12(route.)m 19(This)m 12(is)m 12(not)m 12(used)m 12(by)m 12(the)m 12(OSPF)m 12(protocol)m 12(itself.)m 19(It)m 364 2292 p (may)s 13(be)m 12(used)m 12(to)m 12(communicate)m 13(information)m 12(between)m 12(AS)m 12(boundary)m 13(routers;)m 13(the)m 12(precise)m 12(nature)m 12(of)m 364 2342 p (such)s 11(information)m 10(is)m 11(outside)m 10(the)m 11(scope)m 10(of)m 10(this)m 11(speci\014cation.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(91)m @eop 90 @bop0 90 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (A.7.3)s 42(Summary)m 10(links)m 10(advertisements)m t-rom.300 @sf 0 291 p (Summary)s 11(link)m 10(advertisements)m 11(are)m 11(the)m 10 r 84 c -2(ype)m 10 r 51 c 11(and)m 10 r 52 c 11(link)m 11(state)m 10(advertisements.)m 15(These)m 10(advertisements)m 11(are)m 11(originated)m 10(by)m 0 341 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 390 p (belongs)s 14(to)m 13(the)m 14(AS,)m 13(yet)m 14(is)m 13(outside)m 14(the)m 13(area.)m 23 r 84 c -2(ype)m 13 r 51 c 13(link)m 14(state)m 13(advertisements)m 14(are)m 13(used)m 14(when)m 13(the)m 14(destination)m 13(is)m 14(an)m 13(IP)m 0 440 p (network.)s 14(In)m 10(this)m 11(case)m 10(the)m 11(advertisement')m -2 r 115 c 10(Link)m 10(State)m 11(ID)m 10(\014eld)m 10(is)m 11(an)m 10(IP)m 11(network)m 10(number)m -1 r 46 c 0 508 p (When)s 14(the)m 14(destination)m 13(is)m 14(an)m 14(AS)m 14(boundary)m 13(router)m 44 c 13 r 97 c 14 r 84 c -2(ype)m 13 r 52 c 14(advertisement)m 13(is)m 14(used,)m 15(and)m 13(the)m 14(Link)m 14(State)m 14(ID)m 13(\014eld)m 14(is)m 14(the)m 0 558 p (AS)s 13(boundary)m 13(router)m 1 r 39 c -1 r 115 c 12(OSPF)m 12(Router)m 13(ID.)m 13 r 84 c -2 r 111 c 12(see)m 13(why)m 13(it)m 12(is)m 13(necessary)m 13(to)m 13(advertise)m 13(the)m 12(location)m 13(of)m 13(each)m 13(ASBR,)m 13(consult)m 0 608 p (Section)s 10(16.4.)m 0 675 p (Other)s 10(than)m 11(the)m 10(dif)m (ference)s 10(in)m 10(the)m 11(Link)m 10(State)m 11(ID)m 10(\014eld,)m 10(the)m 11(format)m 10(of)m 11 r 84 c -2(ype)m 9 r 51 c 11(and)m 10 r 52 c 10(link)m 11(state)m 10(advertisements)m 11(is)m 10(identical.)m 0 743 p (Separate)s 12(costs)m 13(may)m 12(be)m 13(advertised)m 12(for)m 13(each)m 12(IP)m 12 r 84 c -2(ype)m 12(of)m 12(Service.)m 20(The)m 13(cost)m 12(for)m 12 r 84 c (OS)s 12 r 48 c 13(must)m 12(be)m 12(included,)m 13(and)m 13(is)m 12(always)m 0 793 p (listed)s 10(\014rst.)m 14(If)m 11 r 97 c 10(cost)m 11(for)m 10 r 97 c 10(certain)m 11(type)m 10(of)m 11(service)m 10(is)m 10(not)m 11(included,)m 10(its)m 11(cost)m 10(defaults)m 11(to)m 10(that)m 10(speci\014ed)m 11(for)m 10 r 84 c (OS)s 10(0.)m 0 806 p 28680848 13485261 4670504 34864332 33351352 48349593 startTexFig %!PS-Adobe-1.0 %%Title: slink.fig %%Creator: f2ps %%CreationDate: Sun Jun 25 18:40:27 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 530 507 735 %%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 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 319 119 moveto 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 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 319 99 moveto 319 119 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 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 369 114 moveto 1 -1 scale (3 or 4) 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 1769 p (Network)s 10(Mask)m t-rom.300 @sf 100(For)m 12 r 84 c -2(ype)m 10 r 51 c 12(link)m 12(state)m 11(advertisements,)m 12(this)m 12(indicates)m 12(the)m 11(destination')m -1 r 115 c 11(IP)m 11(network)m 12(mask.)m 18(For)m 11(ex-)m 364 1819 p (ample,)s 14(when)m 12(advertising)m 13(the)m 12(location)m 13(of)m 13 r 97 c 12(class)m 13 r 65 c 13(network)m 12(the)m 13(value)m c-med.300 @sf 12(0xff000000)m t-rom.300 @sf 13(would)m 13(be)m 364 1869 p (used.)s 14(This)m 11(\014eld)m 10(is)m 11(not)m 10(meaningful)m 10(and)m 11(must)m 10(be)m 11(zero)m 10(for)m 11 r 84 c -2(ype)m 9 r 52 c 10(link)m 11(state)m 10(advertisements.)m 0 1978 p (For)s 10(each)m 10(type)m 10(of)m 11(service,)m 10(the)m 10(following)m 10(\014elds)m 10(are)m 10(de\014ned.)m 14(The)m 10(number)m 10(of)m 11 r 84 c (OS)s 9(routes)m 10(included)m 10(can)m 10(be)m 11(calculated)m 10(from)m 0 2028 p (the)s 10(link)m 11(state)m 10(advertisement')m -1 r 115 c 9(length)m 11(\014eld.)m 14 r 86 c -4(alues)m 9(for)m 11 r 84 c (OS)s 10 r 48 c 10(must)m 10(be)m 11(speci\014ed;)m 10(they)m 11(are)m 10(listed)m 10(\014rst.)m t-bol.300 @sf 0 2137 p 84 c (OS)s t-rom.300 @sf 281(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 t-bol.300 @sf 0 2220 p (metric)s t-rom.300 @sf 249(The)m 15(cost)m 14(of)m 15(this)m 15(route.)m 27(Expressed)m 14(in)m 15(the)m 15(same)m 15(units)m 14(as)m 15(the)m 15(interface)m 15(costs)m 14(in)m 15(the)m 15(router)m 15(links)m 364 2270 p (advertisements.)s h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(90)m @eop 89 @bop0 89 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (A.7.2)s 42(Network)m 10(links)m 10(advertisements)m t-rom.300 @sf 0 291 p (Network)s 12(links)m 12(advertisements)m 12(are)m 12(the)m 12 r 84 c -1(ype)m 11 r 50 c 12(link)m 12(state)m 12(advertisements.)m 19 r 65 c 12(network)m 12(links)m 12(advertisement)m 12(is)m 12(originated)m 0 341 p (for)s 9(each)m 8(transit)m 9(network)m 9(in)m 8(the)m 9(area.)m 13 r 65 c 9(transit)m 8(network)m 9(is)m 9 r 97 c 8(multi-access)m 9(network)m 9(that)m 8(has)m 9(more)m 8(than)m 9(one)m 9(attached)m 8(router)m -1 r 46 c 0 390 p (The)s 12(network)m 12(links)m 12(advertisement)m 12(is)m 12(originated)m 12(by)m 13(the)m 12(network')m -2 r 115 c 11(Designated)m 13(Router)m -2 r 46 c 18(The)m 12(advertisement)m 12(describes)m 12(all)m 0 440 p (routers)s 11(attached)m 12(to)m 11(the)m 12(network,)m 11(including)m 12(the)m 11(Designated)m 12(Router)m 11(itself.)m 17(The)m 11(advertisement')m -1 r 115 c 11(Link)m 11(State)m 11(ID)m 12(\014eld)m 11(lists)m 0 490 p (the)s 10(IP)m 11(interface)m 10(address)m 11(of)m 10(the)m 10(Designated)m 11(Router)m -1 r 46 c 0 558 p (The)s 10(distance)m 11(from)m 10(the)m 10(network)m 11(to)m 10(all)m 10(attached)m 11(routers)m 10(is)m 10(zero,)m 11(for)m 10(all)m 11(types)m 10(of)m 10(service.)m 14(This)m 10(is)m 11(why)m 10(the)m 11 r 84 c (OS)s 9(and)m 10(metric)m 0 608 p (\014elds)s 10(need)m 11(not)m 10(be)m 11(speci\014ed)m 10(in)m 10(the)m 11(router)m 10(links)m 11(advertisement.)m 0 621 p 28943975 13814170 4670504 34864332 33614479 48678502 startTexFig %!PS-Adobe-1.0 %%Title: nlink.fig %%Creator: f2ps %%CreationDate: Fri Jun 23 17:20:54 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 530 511 740 %%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 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 319 119 moveto 479 119 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 319 99 moveto 319 119 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 394 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 1605 p (Network)s 10(Mask)m t-rom.300 @sf 54(The)m 15(IP)m 15(network)m 16(mask)m 15(for)m 16(the)m 15(network.)m 29(For)m 16(example,)m 16 r 97 c 16(class)m 15 r 65 c 16(network)m 15(would)m 15(have)m 16(the)m 15(mask)m c-med.300 @sf 318 1655 p (0xff000000)s t-rom.300 @sf 46 c t-bol.300 @sf 0 1738 p (Attached)s 10(Router)m t-rom.300 @sf 21(The)m 10(Router)m 10(IDs)m 9(of)m 10(each)m 10(of)m 10(the)m 9(routers)m 10(attached)m 10(to)m 10(the)m 9(network.)m 14(Actually)m -2 r 44 c 9(only)m 10(those)m 10(routers)m 9(that)m 10(are)m 318 1788 p (fully)s 9(adjacent)m 9(to)m 9(the)m 8(Designated)m 9(Router)m 9(are)m 9(listed.)m 13(The)m 9(Designated)m 9(Router)m 9(includes)m 8(itself)m 9(in)m 9(this)m 9(list.)m 318 1837 p (The)s 11(number)m 10(of)m 10(routers)m 11(included)m 10(can)m 11(be)m 10(deduced)m 10(from)m 11(the)m 10(link)m 11(state)m 10(advertisement)m 11(length)m 10(\014eld.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(89)m @eop 88 @bop0 88 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (Link)s 10(ID)m t-rom.300 @sf 251(Identi\014es)m 14(the)m 13(object)m 14(that)m 13(this)m 13(router)m 14(link)m 13(connects)m 13(to.)m 23(This)m 14(depends)m 13(on)m 13(the)m 14(link')m -2 r 115 c 13 r 84 c -2(ype)m 12(\014eld.)m 393 245 p (When)s 9(connecting)m 8(to)m 8(an)m 8(object)m 8(that)m 8(also)m 8(originates)m 8 r 97 c 8(link)m 8(state)m 8(advertisement)m 8(\(i.e.,)m 9(another)m 8(router)m 393 295 p (or)s 15 r 97 c 15(transit)m 15(network\))m 14(the)m 15(Link)m 15(ID)m 15(is)m 15(equal)m 14(to)m 15(the)m 15(other)m 15(advertisement')m -2 r 115 c 14(Link)m 15(State)m 15(ID.)m 14(This)m 393 345 p (provides)s 10(the)m 10(key)m 9(for)m 10(looking)m 9(up)m 10(said)m 9(advertisement)m 10(in)m 9(the)m 10(link)m 9(state)m 10(database.)m 13(See)m 10(Section)m 9(12.2)m 393 394 p (for)s 15(more)m 14(details.)m 26(Note)m 14(also)m 15(that)m 14(the)m 14(network)m 15(number)m 14(of)m 15(an)m 14(attached)m 14(transit)m 15(network)m 14(can)m 14(be)m 393 444 p (obtained)s 11(by)m 10(masking)m 11(the)m 10(Link)m 11(ID)m 10(with)m 10(the)m 11(appropriate)m 10(network)m 11(mask.)m 813 501 p 717 2 ru 812 550 p 2 50 ru t-ita.300 @sf 838 535 p 84 c -2(ype)m 940 550 p 2 50 ru 966 535 p (Link)s 10(ID)m 1529 550 p 2 50 ru 813 552 p 717 2 ru 812 602 p 2 50 ru t-rom.300 @sf 867 587 p 49 c 940 602 p 2 50 ru 966 587 p (Neighboring)s 10(router)m 2 r 39 c -1 r 115 c 9(ID)m 1529 602 p 2 50 ru 812 652 p 2 50 ru 867 637 p 50 c 940 652 p 2 50 ru 966 637 p (IP)s 10(address)m 11(of)m 10(Designated)m 11(Router)m 1529 652 p 2 50 ru 812 701 p 2 50 ru 867 686 p 51 c 940 701 p 2 50 ru 966 686 p (IP)s 10(network/subnet)m 11(number)m 1529 701 p 2 50 ru 813 703 p 717 2 ru t-bol.300 @sf 0 794 p (Link)s 10(Data)m t-rom.300 @sf 212(Contents)m 12(again)m 12(depend)m 12(on)m 12(the)m 11(link')m -1 r 115 c 11 r 84 c -2(ype)m 11(\014eld.)m 18(For)m 12(connections)m 12(to)m 12(stub)m 12(network,)m 12(it)m 12(speci\014es)m 393 844 p (the)s 15(network)m 16(mask.)m 27(For)m 15(the)m 15(other)m 15(link)m 15(types)m 15(it)m 15(speci\014es)m 15(the)m 15(router)m 2 r 39 c -1 r 115 c 14(associated)m 15(IP)m 15(interface)m 393 894 p (address.)s 29(This)m 16(latter)m 15(piece)m 16(of)m 15(information)m 16(is)m 15(needed)m 15(during)m 16(the)m 15(routing)m 16(table)m 15(build)m 16(process,)m 393 944 p (when)s 11(calculating)m 10(the)m 11(IP)m 10(address)m 11(of)m 10(the)m 10(next)m 11(hop.)m 14(See)m 10(Section)m 11(16.1.1)m 10(for)m 10(more)m 11(details.)m t-bol.300 @sf 0 1027 p 84 c -2(ype)m t-rom.300 @sf 305(What)m 11(the)m 10(router)m 10(link)m 11(connects)m 10(to.)m 14(One)m 11(of:)m 693 1110 p 49 c 11 r 123 c 10(Connects)m 11(to)m 10(another)m 11(router)m 693 1159 p 50 c 11 r 123 c 10(Connects)m 11(to)m 10 r 97 c 11(transit)m 10(network)m 693 1209 p 51 c 11 r 123 c 10(Connects)m 11(to)m 10 r 97 c 11(stub)m 10(network)m t-bol.300 @sf 0 1292 p (#metrics)s t-rom.300 @sf 241(The)m 11(number)m 11(of)m 11(dif)m (ferent)s 10 r 84 c (OS)s 10(metrics)m 12(given)m 11(for)m 11(this)m 11(link,)m 11(not)m 11(counting)m 11(the)m 11(required)m 11(metric)m 11(for)m 393 1342 p 84 c (OS)s 10(0.)m 14(For)m 10(example,)m 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 1425 p (metric)s 10(\(T)m (OS)s 10(0\))m t-rom.300 @sf 126(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 t-ita.300 @sf 0 1534 p (Each)s 9(metric)m 10(is)m 9(described)m 10(as)m 9(follows.)m 14(Ther)m -1 r 101 c 9(is)m 9(potentially)m 10(one)m 9(metric)m 10(for)m 9(each)m 10(type)m 9(of)m 10(service.)m 13(The)m 10 r 84 c (OS)s 8 r 48 c 10(metric)m 9(is)m 10(used)m 0 1584 p (for)s 10(all)m 11(types)m 10(of)m 11(service)m 10(unless)m 10(others)m 11(ar)m -1 r 101 c 10(explicitly)m 10(speci\014ed.)m t-bol.300 @sf 0 1693 p 84 c (OS)s t-rom.300 @sf 310(IP)m 12(type)m 12(of)m 12(service)m 12(that)m 12(this)m 11(metric)m 12(refers)m 12(to.)m 18(Represented)m 12(exactly)m 12(as)m 12(it)m 12(would)m 12(appear)m 12(in)m 12(the)m 12(IP)m 393 1743 p (header)s 2 r 39 c -1 r 115 c 9 r 84 c (OS)s 10(\014eld.)m 14(This)m 10(implies)m 11(that)m 10(the)m 10(only)m 11(valid)m 10(values)m 11(are)m 10(0{7.)m t-bol.300 @sf 0 1826 p (metric)s t-rom.300 @sf 278(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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(88)m @eop 87 @bop0 87 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (A.7.1)s 42(Router)m 10(links)m 10(advertisements)m t-rom.300 @sf 0 288 p (Router)s 11(links)m 12(advertisements)m 11(are)m 12(the)m 11 r 84 c -2(ype)m 11 r 49 c 11(link)m 12(state)m 11(advertisements.)m 17(Each)m 11(router)m 12(in)m 11(an)m 12(area)m 11(originates)m 12 r 97 c 11(router)m 11(links)m 0 338 p (advertisement.)s 13(The)m 9(advertisement)m 9(describes)m 9(the)m 9(collected)m 9(states)m 9(of)m 9(the)m 8(router)m 2 r 39 c -1 r 115 c 8(links)m 8(to)m 9(the)m 9(area.)m 14(\(The)m 8(router)m 9(links)m 9(to)m 9(an)m 0 388 p (area)s 9(can)m 9(be)m 9(derived)m 8(from)m 9(the)m 9(list)m 9(of)m 9(router)m 9(interface)m 8(data)m 9(structures)m 9(and)m 9(con\014gured)m 9(host)m 9(routes,)m 9(see)m 9(Section)m 8(12.3.1\).)m 14(The)m 0 438 p (advertisement')s -1 r 115 c 7(Link)m 7(State)m 8(ID)m 8(\014eld)m 8(speci\014es)m 8(the)m 8(router)m 1 r 39 c -1 r 115 c 7(OSPF)m 8(Router)m 7(ID.)m 8(Such)m 8(an)m 8(advertisement)m 8(is)m 8(\015ooded)m 8(throughout)m 0 488 p (the)s 10(single)m 11(area)m 10(only)m -1 r 46 c 0 553 p (The)s 12(router)m 11(links)m 12(connect)m 12(to)m 12(transit)m 11(networks,)m 12(stub)m 12(networks)m 12(\(including)m 12(attached)m 11(hosts\),)m 12(or)m 12(to)m 12(other)m 12(routers.)m 17(Each)m 12(link)m 0 603 p (also)s 13(has)m 12(an)m 13(associated)m 12(32-bit)m 13(data)m 13(\014eld;)m 13(for)m 13(links)m 13(to)m 12(stub)m 13(networks)m 13(this)m 12(speci\014es)m 13(the)m 12(network)m 13(mask)m 13(and)m 12(for)m 13(the)m 12(other)m 0 653 p (link)s 9(types)m 10(this)m 9(speci\014es)m 9(the)m 9(appropriate)m 10(IP)m 9(interface)m 9(address.)m 14(Host)m 9(routes)m 9(are)m 10(classi\014ed)m 9(as)m 9(links)m 9(to)m 10(stub)m 9(networks)m 9(whose)m 0 702 p (network)s 10(mask)m 11(is)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 46 c 0 768 p (All)s 11(of)m 11(the)m 11(router)m 1 r 39 c -1 r 115 c 10(links)m 11(to)m 10(the)m 11(area)m 11(must)m 11(be)m 11(described)m 11(in)m 11 r 97 c 10(single)m 11(router)m 11(links)m 11(advertisement.)m 15(Multiple)m 11(advertisements)m 0 818 p (may)s 11(be)m 11(included)m 11(in)m 11 r 97 c 11(single)m 12(Link)m 11(State)m 11(Update)m 11(packet.)m 16(For)m 11(each)m 11(link,)m 11(there)m 11(may)m 11(be)m 12(separate)m 11(metrics)m 11(for)m 11(each)m 11 r 84 c -2(ype)m 10(of)m 0 867 p (Service)s 10(\(T)m (OS\).)s 10(The)m 10(metric)m 11(for)m 10 r 84 c (OS)s 10 r 48 c 10(must)m 11(always)m 10(be)m 11(included,)m 10(and)m 10(listed)m 11(\014rst.)m 0 881 p 29075538 19010929 4407377 29667573 33482915 48678502 startTexFig %!PS-Adobe-1.0 %%Title: rlink.fig %%Creator: f2ps %%CreationDate: Fri Jun 23 18:35:26 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 67 451 509 740 %%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 129 169 moveto 234 169 lineto 234 209 lineto stroke % Polyline newpath 129 189 moveto 224 189 lineto 224 209 lineto stroke % Polyline newpath 459 139 moveto 479 139 lineto stroke % Polyline newpath 319 119 moveto 479 119 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 229 199 moveto 229 219 lineto stroke % Polyline newpath 219 199 moveto 219 219 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 319 99 moveto 319 119 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 189 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 80 193 moveto 1 -1 scale (Bit E) show 1 -1 scale 80 176 moveto 1 -1 scale (Bit B) 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 394 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 2186 p (bit)s 10 r 69 c t-rom.300 @sf 307(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 2267 p (bit)s 10 r 66 c t-rom.300 @sf 307(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 2348 p 35 c 10(links)m t-rom.300 @sf 277(The)m 11(number)m 11(of)m 11(router)m 11(links)m 11(described)m 11(by)m 11(this)m 11(advertisement.)m 16(This)m 11(must)m 11(be)m 11(the)m 12(total)m 11(collection)m 393 2398 p (of)s 11(router)m 10(links)m 11(to)m 10(the)m 11(area.)m t-ita.300 @sf 0 2499 p (The)s 7(following)m 8(\014elds)m 7(ar)m 101 c 6(used)m 8(to)m 7(describe)m 7(each)m 8 r 114 c -1(outer)m 7(link.)m 13(Each)m 7 r 114 c (outer)s 6(link)m 7(is)m 8(typed)m 7(\(see)m 8(the)m 7(below)m 8 r 84 c -3(ype)m 7(\014eld\),)m 8(indicating)m 0 2549 p (the)s 12(kind)m 13(of)m 12(object)m 12(to)m 12(which)m 13(the)m 12 r 114 c -1(outer)m 12(connects.)m 19(It)m 13(may)m 12(be)m 12 r 97 c 12(link)m 13(to)m 12 r 97 c 12(transit)m 13(network,)m 12(to)m 13(another)m 12 r 114 c -1(outer)m 12(or)m 12(to)m 12 r 97 c 13(stub)m 0 2599 p (network.)s 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 r 114 c -1(outer)m 10(link)m 10(depend)m 10(on)m 11(the)m 10(link')m -4 r 115 c 9(type.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(87)m @eop 86 @bop0 86 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (A.7)s 50(The)m 12(Link)m 13(State)m 12(Update)m 13(packet)m t-rom.300 @sf 0 291 p (Link)s 9(State)m 8(Update)m 9(packets)m 9(are)m 8(OSPF)m 9(packet)m 9(type)m 8(4.)m 13(These)m 9(packets)m 9(implement)m 8(the)m 9(\015ooding)m 9(of)m 8(link)m 9(state)m 9(advertisements.)m 0 341 p (Each)s 9(Link)m 9(State)m 9(Update)m 9(packet)m 8(carries)m 9 r 97 c 9(collection)m 9(of)m 9(link)m 9(state)m 9(advertisements)m 9(one)m 9(hop)m 8(further)m 9(from)m 9(its)m 9(origin.)m 14(Several)m 0 390 p (link)s 10(state)m 11(advertisements)m 10(may)m 11(be)m 10(included)m 10(in)m 11 r 97 c 10(single)m 11(packet.)m 0 458 p (Link)s 9(State)m 9(Update)m 9(packets)m 10(are)m 9(multicast)m 9(on)m 9(those)m 9(physical)m 9(networks)m 9(that)m 9(support)m 10(multicast/broadcast.)m 13(In)m 9(order)m 9(to)m 10(make)m 0 508 p (the)s 9(\015ooding)m 9(procedure)m 9(reliable,)m 9(Link)m 8(State)m 9(Update)m 9(packets)m 9(are)m 9(acknowledged)m 9(by)m 8(Link)m 9(State)m 9(Acknowledgment)m 9(packets.)m 0 558 p (If)s 10(retransmission)m 11(is)m 10(necessary)m -1 r 44 c 9(the)m 10(retransmitted)m 11(Link)m 10(State)m 11(Update)m 10(is)m 10(always)m 11(done)m 10(as)m 11 r 97 c 10(unicast)m 11(packet.)m 0 571 p 28812411 12959007 4670504 34403860 33482915 47362867 startTexFig %!PS-Adobe-1.0 %%Title: lsupd.fig %%Creator: f2ps %%CreationDate: Thu Jun 22 12:33:54 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 523 509 720 %%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 299 lineto stroke % Polyline newpath 159 99 moveto 159 299 lineto stroke % Polyline newpath 159 259 moveto 479 259 lineto stroke % Polyline newpath 484 199 moveto 499 199 lineto 499 259 lineto 489 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 274 109 moveto 1 -1 scale (4) show 1 -1 scale 314 289 moveto 1 -1 scale (.) show 1 -1 scale 314 279 moveto 1 -1 scale (.) show 1 -1 scale 314 269 moveto 1 -1 scale (.) show 1 -1 scale 224 234 moveto 1 -1 scale (Link state advertisement) show 1 -1 scale 259 194 moveto 1 -1 scale (# advertisements) show 1 -1 scale 514 249 moveto 1 -1 scale (LS adv.) 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 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 1501 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 1610 p (Each)s 11(link)m 12(state)m 11(advertisement)m 12(contains)m 11 r 97 c 11(type)m 12(\014eld.)m 17(The)m 11(format)m 12(of)m 11(each)m 11(of)m 12(the)m 11(four)m 12(types)m 11(of)m 12(link)m 11(state)m 11(advertisements)m 0 1660 p (is)s 11(dif)m (ferent.)s 16(Their)m 12(formats)m 11(are)m 11(described)m 12(in)m 11(the)m 11(following)m 12(sections.)m 16(All)m 12(advertisements)m 11(begin)m 11(with)m 12 r 97 c 11(common)m 11(20)m 12(byte)m 0 1710 p (header)s -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 10(is)m 11(described)m 10(in)m 11(Section)m 10(A.3.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(86)m @eop 85 @bop0 85 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (A.6)s 50(The)m 12(Link)m 13(State)m 12(Request)m 13(packet)m t-rom.300 @sf 0 291 p (Link)s 7(State)m 7(Request)m 8(packets)m 7(are)m 7(OSPF)m 7(packet)m 7(type)m 7(3.)m 13(After)m 7(exchanging)m 8(Database)m 7(Description)m 7(packets)m 7(with)m 7 r 97 c 8(neighboring)m 0 341 p (router)s -1 r 44 c 9 r 97 c 10(router)m 9(may)m 10(\014nd)m 9(that)m 10(parts)m 9(of)m 10(its)m 9(topological)m 10(database)m 9(are)m 10(out)m 9(of)m 10(date.)m 13(The)m 10(Link)m 9(State)m 10(Request)m 9(packet)m 10(is)m 9(used)m 10(to)m 0 390 p (request)s 10(the)m 11(pieces)m 10(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 10(more)m 11(up)m 10(to)m 10(date.)m 14(Multiple)m 11(Link)m 10(State)m 10(Request)m 11(packets)m 10(may)m 10(need)m 0 440 p (to)s 10(be)m 11(used.)m 14(The)m 10(sending)m 11(of)m 10(Link)m 10(State)m 11(Request)m 10(packets)m 11(is)m 10(the)m 10(last)m 11(step)m 10(in)m 11(bringing)m 10(up)m 11(an)m 10(adjacency)m -2 r 46 c 0 508 p 65 c 15(router)m 16(that)m 15(sends)m 16 r 97 c 15(Link)m 16(State)m 15(Request)m 16(packet)m 15(has)m 16(in)m 15(mind)m 15(the)m 16(precise)m 15(instantiation)m 16(of)m 15(the)m 16(database)m 15(pieces)m 16(it)m 15(is)m 0 558 p (requesting)s 8(\(de\014ned)m 8(by)m 7(LS)m 8(sequence)m 8(number)m -1 r 44 c 7(LS)m 8(checksum,)m 9(and)m 7(LS)m 8(age\).)m 13(It)m 8(may)m 8(receive)m 7(even)m 8(more)m 8(recent)m 8(instantiations)m 0 608 p (in)s 10(response.)m 0 621 p 28812411 14077297 4670504 34272296 33482915 48349593 startTexFig %!PS-Adobe-1.0 %%Title: lsreq.fig %%Creator: f2ps %%CreationDate: Thu Jun 22 12:34:11 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 521 509 735 %%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 1580 p (Each)s 9(advertisement)m 10(requested)m 9(is)m 9(speci\014ed)m 9(by)m 10(its)m 9(LS)m 9(type,)m 10(Link)m 9(State)m 9(ID,)m 9(and)m 10(Advertising)m 9(Router)m -1 r 46 c 12(This)m 9(uniquely)m 10(identi-)m 0 1630 p (\014es)s 10(the)m 11(advertisement,)m 10(but)m 10(not)m 10(its)m 11(instantiation.)m 14(Link)m 10(State)m 10(Request)m 10(packets)m 11(are)m 10(understood)m 10(to)m 10(be)m 11(requests)m 10(for)m 10(the)m 11(most)m 0 1680 p (recent)s 10(instantiation)m 11(\(whatever)m 10(that)m 11(might)m 10(be\).)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(85)m @eop 84 @bop0 84 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (A.5)s 50(The)m 12(Database)m 13(Description)m 12(packet)m t-rom.300 @sf 0 291 p (Database)s 15(Description)m 14(packets)m 15(are)m 14(OSPF)m 15(packet)m 15(type)m 14(2.)m 27(These)m 14(packets)m 15(are)m 15(exchanged)m 14(when)m 15(an)m 14(adjacency)m 15(is)m 15(being)m 0 341 p (initialized.)s 26(They)m 14(describe)m 15(the)m 14(contents)m 15(of)m 14(the)m 14(topological)m 15(database.)m 26(Multiple)m 14(packets)m 14(may)m 15(be)m 14(used)m 15(to)m 14(describe)m 15(the)m 0 390 p (database.)s 15(For)m 11(this)m 11(purpose)m 11 r 97 c 11(poll-response)m 11(procedure)m 11(is)m 11(used.)m 16(One)m 10(of)m 11(the)m 11(routers)m 11(is)m 11(designated)m 11(to)m 11(be)m 11(master)m -1 r 44 c 10(the)m 11(other)m 0 440 p 97 c 14(slave.)m 24(The)m 14(master)m 14(sends)m 13(Database)m 14(Description)m 14(packets)m 14(\(polls\))m 14(which)m 14(are)m 13(acknowledged)m 14(by)m 14(Database)m 14(Description)m 0 490 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(sequence)m 11(numbers.)m 0 558 p (The)s 15(format)m 14(of)m 15(the)m 14(Database)m 15(Description)m 14(packet)m 15(is)m 14(very)m 15(similar)m 15(to)m 14(both)m 15(the)m 14(Link)m 15(State)m 14(Request)m 15(and)m 15(Link)m 14(State)m 15(Ac-)m 0 608 p (knowledgment)s 13(packets.)m 20(The)m 12(main)m 13(part)m 12(of)m 13(all)m 12(three)m 13(is)m 12 r 97 c 13(list)m 12(of)m 13(items,)m 13(each)m 12(item)m 13(describing)m 12 r 97 c 13(piece)m 12(of)m 13(the)m 12(topological)m 0 657 p (database.)s 0 662 p 28615066 16511222 4736286 30851645 33351352 47362867 startTexFig %!PS-Adobe-1.0 %%Title: ddpkt.fig %%Creator: f2ps %%CreationDate: Thu Jun 22 12:34:27 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 72 469 507 720 %%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 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 319 299 moveto 319 319 lineto stroke % Polyline newpath 159 319 moveto 479 319 lineto stroke % Polyline newpath 159 299 moveto 479 299 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 279 moveto 479 279 lineto stroke % Polyline newpath 159 259 moveto 479 259 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 (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 354 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 374 314 moveto 1 -1 scale (LS age) show 1 -1 scale 194 314 moveto 1 -1 scale (LS checksum) show 1 -1 scale 244 294 moveto 1 -1 scale (LS sequence number) show 1 -1 scale 244 274 moveto 1 -1 scale (Advertising Router) show 1 -1 scale 259 254 moveto 1 -1 scale (Link State ID) show 1 -1 scale 279 234 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 t-bol.300 @sf 0 1817 p 48 c t-rom.300 @sf 318(These)m 11(\014elds)m 10(are)m 10(reserved.)m 14(They)m 11(must)m 10(be)m 11(0.)m t-bol.300 @sf 0 1900 p 73 c 10(bit)m t-rom.300 @sf 264(The)m 11(Init)m 10(bit.)m 14(When)m 10(set)m 11(to)m 10(1,)m 11(this)m 10(packet)m 10(is)m 11(the)m 10(\014rst)m 11(in)m 10(the)m 11(sequence)m 10(of)m 10(database)m 11(descriptions.)m t-bol.300 @sf 0 1983 p 77 c 10(bit)m t-rom.300 @sf 241(The)m 10(more)m 11(bit.)m 14(When)m 10(set)m 11(to)m 10(1,)m 10(it)m 11(indicates)m 10(that)m 11(more)m 10(database)m 11(descriptions)m 10(are)m 10(to)m 11(follow)m -2 r 46 c t-bol.300 @sf 0 2066 p (MS)s 10(bit)m t-rom.300 @sf 218(The)m 11(Master/Slave)m 10(bit.)m 15(When)m 11(set)m 10(to)m 11(1,)m 11(it)m 10(indicates)m 11(that)m 11(the)m 10(router)m 11(is)m 11(the)m 10(master)m 11(during)m 11(the)m 10(database)m 339 2116 p (exchange)s 10(process.)m 14(Otherwise,)m 11(the)m 10(router)m 11(is)m 10(the)m 10(slave.)m t-bol.300 @sf 0 2199 p (DD)s 10(sequence)m 11(number)m t-rom.300 @sf 21(Used)m 7(to)m 7(sequence)m 8(the)m 7(collection)m 8(of)m 7(database)m 8(description)m 7(packets.)m 13(The)m 7(initial)m 8(value)m 7(\(indicated)m 8(by)m 339 2249 p (the)s 10(init)m 10(bit)m 10(being)m 10(set\))m 10(should)m 10(be)m 10(unique.)m 14(The)m 10(sequence)m 10(number)m 10(then)m 10(increments)m 10(until)m 10(the)m 10(complete)m 339 2299 p (database)s 10(description)m 11(has)m 10(been)m 11(sent.)m 0 2408 p (The)s 8(rest)m 8(of)m 8(the)m 7(packet)m 8(consists)m 8(of)m 8 r 97 c 8(\(possibly)m 8(partial\))m 8(list)m 7(of)m 8(the)m 8(topological)m 8(database')m -1 r 115 c 6(pieces.)m 14(Each)m 7(piece)m 8(of)m 8(the)m 8(database)m 0 2458 p (is)s 11(described)m 11(by)m 10(the)m 11(following)m 11(\014elds:)m 14(LS)m 11(type,)m 11(Link)m 11(State)m 11(ID,)m 10(Advertising)m 11(Router)m 44 c 9(LS)m 11(sequence)m 11(number)m -1 r 44 c 10(LS)m 11(checksum)m 0 2507 p (and)s 11(LS)m 12(age.)m 16 r 84 c -2(aken)m 11(together)m -1 r 44 c 11(these)m 11(\014elds)m 11(uniquely)m 12(identify)m 11(an)m 11(advertisement)m 12(and)m 11(its)m 11(instantiation.)m 17(These)m 11(\014elds)m 12(are)m 11(all)m 0 2557 p (contained)s 10(in)m 11(the)m 10(advertisement')m -1 r 115 c 9(link)m 11(state)m 10(header)m -1 r 46 c 13(For)m 10(further)m 11(information,)m 10(see)m 10(Section)m 11(A.3.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(84)m @eop 83 @bop0 83 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (A.4)s 50(The)m 12(Hello)m 13(packet)m t-rom.300 @sf 0 284 p (Hello)s 12(packets)m 12(are)m 13(OSPF)m 12(packet)m 12(type)m 12(1.)m 20(These)m 12(packets)m 12(are)m 12(sent)m 13(periodically)m 12(on)m 12(all)m 12(interfaces,)m 13(including)m 12(virtual)m 12(links.)m 0 334 p (Neighbor)s 14(relationships)m 14(are)m 14(established)m 14(and)m 14(maintained)m 14(through)m 14(the)m 14(exchanges)m 14(of)m 14(Hello)m 14(packets.)m 24(These)m 14(packets)m 14(are)m 0 384 p (multicast)s 12(on)m 12(those)m 12(physical)m 12(networks)m 12(having)m 12 r 97 c 12(multicast)m 12(or)m 11(broadcast)m 12(capability)m -1 r 46 c 17(This)m 12(enables)m 12(dynamic)m 12(discovery)m 12(of)m 0 433 p (neighboring)s 10(routers.)m 0 494 p (All)s 8(routers)m 7(connected)m 8(to)m 8 r 97 c 7(common)m 8(network)m 8(must)m 7(agree)m 8(on)m 8(certain)m 7(parameters)m 8(\(network)m 8(mask,)m 8(hello)m 8(and)m 7(dead)m 8(intervals\).)m 0 544 p (These)s 11(parameters)m 10(are)m 11(included)m 11(in)m 10(Hello)m 11(packets,)m 11(so)m 11(that)m 10(dif)m (ferences)s 10(can)m 11(inhibit)m 11(the)m 10(forming)m 11(of)m 11(neighbor)m 10(relationships.)m 0 594 p (Bidirectionality)s 8(of)m 7(communication)m 8(is)m 8(determined)m 7(by)m 8(including)m 8(the)m 8(list)m 7(of)m 8(all)m 8(routers)m 7(whose)m 8(Hello)m 8(packets)m 7(have)m 8(been)m 8(seen)m 0 644 p (recently)s -2 r 46 c 19(The)m 13(packet)m 12(\014elds)m 13(Router)m 12(Priority)m -2 r 44 c 12(Backup)m 13(Designated)m 12(Router)m 44 c 12(and)m 12(Designated)m 13(Router)m 12(enable)m 13(the)m 12(\(Backup\))m 0 693 p (Designated)s 10(Router)m 11(to)m 10(be)m 11(selected)m 10(through)m 10(the)m 11(exchange)m 10(of)m 11(Hello)m 10(packets.)m 0 707 p 28943975 14406206 4670504 32956661 33614479 47362867 startTexFig %!PS-Adobe-1.0 %%Title: hello.fig %%Creator: f2ps %%CreationDate: Thu Jun 22 12:34:47 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 501 511 720 %%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 484 259 moveto 499 259 lineto 499 279 lineto 484 279 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 274 109 moveto 1 -1 scale (1) show 1 -1 scale 509 294 moveto 1 -1 scale (neighbor) show 1 -1 scale 289 274 moveto 1 -1 scale (Neighbor) show 1 -1 scale 234 254 moveto 1 -1 scale (Backup Designated Router) show 1 -1 scale 259 234 moveto 1 -1 scale (Designated Router) show 1 -1 scale 409 214 moveto 1 -1 scale (Rtr Pri) show 1 -1 scale 329 214 moveto 1 -1 scale (HelloInt) show 1 -1 scale 209 214 moveto 1 -1 scale (DeadInt) 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 314 304 moveto 1 -1 scale (.) show 1 -1 scale 314 294 moveto 1 -1 scale (.) show 1 -1 scale 504 279 moveto 1 -1 scale (for each) show 1 -1 scale 504 264 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 1706 p (Network)s 10(mask)m t-rom.300 @sf 21(The)m 9(network)m 10(mask)m 9(associated)m 9(with)m 10(this)m 9(interface.)m 13(For)m 10(example,)m 9(if)m 9(the)m 10(interface)m 9(is)m 9(to)m 10 r 97 c 9(class)m 9 r 66 c 9(network)m 228 1755 p (whose)s 10(third)m 10(byte)m 9(is)m 10(used)m 10(for)m 10(subnetting,)m 10(the)m 10(network)m 9(mask)m 10(is)m c-med.300 @sf 10(0xffffff00)m t-rom.300 @sf 46 c 14(If)m 9(the)m 10(interface)m 10(is)m 10(to)m 10 r 97 c 10(class)m 228 1805 p 65 c 10(network,)m 11(the)m 10(network)m 11(mask)m 10(is)m c-med.300 @sf 10(0xff000000)m t-rom.300 @sf 46 c t-bol.300 @sf 0 1882 p (Deadint)s t-rom.300 @sf 87(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 10(down.)m t-bol.300 @sf 0 1958 p (HelloInt)s t-rom.300 @sf 80(The)m 10(number)m 11(of)m 10(seconds)m 10(between)m 11(this)m 10(router)m 2 r 39 c -2 r 115 c 10(Hello)m 10(packets.)m t-bol.300 @sf 0 2035 p (Rtr)s 10(Pri)m t-rom.300 @sf 100(This)m 12(router)m 1 r 39 c -1 r 115 c 11(Router)m 12(Priority)m -2 r 46 c 17(Used)m 12(in)m 11(\(Backup\))m 12(Designated)m 12(Router)m 12(election.)m 18(If)m 12(set)m 11(to)m 12(0,)m 12(the)m 12(router)m 12(will)m 228 2085 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 2162 p (Designated)s 10(Router)m t-rom.300 @sf 21(The)m 10(identity)m 9(of)m 9(the)m 10(Designated)m 9(Router)m 10(for)m 9(this)m 10(network,)m 9(in)m 10(the)m 9(view)m 10(of)m 9(the)m 9(advertising)m 10(router)m -1 r 46 c 12(The)m 228 2211 p (Designated)s 13(Router)m 12(is)m 13(identi\014ed)m 13(here)m 13(by)m 13(its)m 12(IP)m 13(interface)m 13(address)m 13(on)m 13(the)m 12(network.)m 21(Set)m 13(to)m 13 r 48 c 13(if)m 13(there)m 12(is)m 13(no)m 228 2261 p (Designated)s 10(Router)m -1 r 46 c t-bol.300 @sf 0 2338 p (Backup)s 10(Designated)m 11(Router)m t-rom.300 @sf 21(The)m 8(identity)m 9(of)m 9(the)m 9(Backup)m 8(Designated)m 9(Router)m 9(for)m 9(this)m 9(network,)m 9(in)m 9(the)m 8(view)m 9(of)m 9(the)m 9(adver-)m 228 2388 p (tising)s 9(router)m -2 r 46 c 13(The)m 8(Backup)m 9(Designated)m 9(Router)m 8(is)m 9(identi\014ed)m 9(here)m 8(by)m 9(its)m 9(IP)m 8(interface)m 9(address)m 9(on)m 9(the)m 8(network.)m 228 2437 p (Set)s 10(to)m 11 r 48 c 10(if)m 11(there)m 10(is)m 10(no)m 11(backup)m 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 2514 p (Neighbor)s t-rom.300 @sf 61(The)m 11(Router)m 11(IDs)m 10(of)m 11(each)m 11(router)m 10(from)m 11(whom)m 11(valid)m 11(Hello)m 10(packets)m 11(have)m 11(been)m 10(seen)m 11(recently)m 11(on)m 11(the)m 10(network.)m 228 2564 p (Recently)s 10(means)m 11(in)m 10(the)m 11(last)m 10(DeadInt)m 10(seconds.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(83)m @eop 82 @bop0 82 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (A.3)s 50(The)m 12(Link)m 13(State)m 12(Advertisement)m 13(header)m t-rom.300 @sf 0 284 p (The)s 14(topological)m 14(database)m 14(is)m 14(composed)m 14(of)m 14(individual)m 14(link)m 14(state)m 14(advertisements.)m 24(Each)m 14(advertisement)m 14(describes)m 14(some)m 0 334 p (local)s 11(piece)m 10(of)m 11(the)m 10(routing)m 11(domain,)m 10(e.g.,)m 11 r 97 c 10(router)m 11(links)m 10(advertisement)m 11(\(LS)m 10(type)m 11 r 61 c 10(1\))m 11(indicates)m 11(those)m 10(networks/neighbors)m 0 384 p (to)s 10(which)m 11 r 97 c 10(particular)m 11(router)m 10(is)m 10(connected.)m 0 445 p (All)s 14(link)m 15(state)m 14(advertisements)m 15(begin)m 14(with)m 15 r 97 c 14(common)m 15(20)m 14(byte)m 15(header)m -2 r 46 c 25(This)m 15(link)m 14(state)m 15(advertisement)m 14(header)m 15(contains)m 0 495 p (enough)s 10(information)m 11(to)m 10(uniquely)m 11(identify)m 10(the)m 10(advertisement)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 0 556 p (Multiple)s 15(instantiations)m 15(of)m 15 r 97 c 16(link)m 15(state)m 15(advertisement)m 15(may)m 15(exist)m 15(in)m 15(the)m 16(routing)m 15(domain)m 15(at)m 15(the)m 15(same)m 15(time.)m 28(It)m 16(is)m 15(then)m 0 606 p (necessary)s 8(to)m 8(determine)m 7(which)m 8(instantiation)m 8(is)m 8(more)m 7(recent.)m 13(This)m 8(is)m 8(accomplished)m 8(by)m 7(examining)m 8(the)m 8(LS)m 8(age,)m 8(LS)m 8(sequence)m 0 656 p (number)s 10(and)m 11(LS)m 10(checksum)m 11(\014elds)m 10(that)m 10(are)m 11(also)m 10(contained)m 11(in)m 10(the)m 11(link)m 10(state)m 10(header)m -1 r 46 c 0 660 p 24010343 8354284 4670504 40324218 28680847 48678502 startTexFig %!PS-Adobe-1.0 %%Title: lshdr.fig %%Creator: f2ps %%CreationDate: Thu Jun 22 12:32:37 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 613 436 740 %%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 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 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 369 114 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 1277 p (LS)s 10(age)m t-rom.300 @sf 21(The)m 11(time)m 10(in)m 10(seconds)m 11(since)m 10(the)m 11(link)m 10(state)m 11(advertisement)m 10(was)m 10(originated.)m t-bol.300 @sf 0 1354 p (LS)s 10(type)m t-rom.300 @sf 21(The)m 14(type)m 14(of)m 14(the)m 14(link)m 14(state)m 14(advertisement.)m 24(Each)m 14(link)m 14(state)m 14(type)m 14(has)m 14 r 97 c 14(separate)m 14(advertisement)m 14(format;)m 15(these)m 104 1404 p (formats)s 11(are)m 12(described)m 11(in)m 12(Section)m 11(A.7.)m 17(The)m 12(link)m 11(state)m 12(types)m 11(are)m 12(as)m 11(follows)m 12(\(see)m 11(Section)m 12(12.1.1)m 11(for)m 12(further)m 11(expla-)m 104 1454 p (nation\):)s 404 1531 p 49 c 10 r 123 c 11(Router)m 10(links)m 404 1581 p 50 c 10 r 123 c 11(Network)m 10(links)m 404 1630 p 51 c 10 r 123 c 11(Summary)m 10(link)m 10(\(IP)m 11(network\))m 404 1680 p 52 c 10 r 123 c 11(Summary)m 10(link)m 10(\(ASBR\))m 404 1730 p 53 c 10 r 123 c 11(AS)m 10(external)m 10(link)m t-bol.300 @sf 0 1807 p (Link)s 10(State)m 11(ID)m t-rom.300 @sf 21(This)m 8(\014eld)m 9(identi\014es)m 9(that)m 9(piece)m 9(of)m 8(the)m 9(internet)m 9(environment)m 9(that)m 9(is)m 8(being)m 9(described)m 9(by)m 9(the)m 9(advertisement.)m 104 1857 p (This)s 12(is)m 13(further)m 12(discussed)m 13(in)m 13(Section)m 12(12.1.2.)m 20(The)m 13(contents)m 13(of)m 12(this)m 13(\014eld)m 12(depend)m 13(on)m 12(the)m 13(advertisement')m -1 r 115 c 11(LS)m 13(type.)m 104 1907 p (For)s 11(link)m 11(state)m 11(advertisement)m 11 r 84 c -2(ypes)m 10 r 49 c 11(and)m 11 r 52 c 11(it)m 12(is)m 11 r 97 c 11(Router)m 11(ID,)m 11(for)m 11 r 84 c -2(ypes)m 10 r 51 c 11(and)m 11 r 53 c 11(it)m 11(is)m 11(an)m 12(IP)m 11(network)m 11(number)m -1 r 44 c 10(and)m 104 1956 p (for)s 12 r 84 c -2(ype)m 12 r 50 c 13(it)m 12(is)m 13(the)m 13(IP)m 12(interface)m 13(address)m 12(of)m 13(the)m 13(Designated)m 12(Router)m 13(\(from)m 12(which)m 13(the)m 13(IP)m 12(network)m 13(number)m 13(can)m 12(be)m 104 2006 p (derived\).)s t-bol.300 @sf 0 2083 p (Advertising)s 10(Router)m t-rom.300 @sf 21(The)m 12(Router)m 12(ID)m 12(of)m 12(the)m 12(router)m 12(that)m 11(originated)m 12(the)m 12(link)m 12(state)m 12(advertisement.)m 18(For)m 12 r 84 c -2(ype)m 11 r 49 c 12(advertise-)m 104 2133 p (ments,)s 9(this)m 10(\014eld)m 9(is)m 10(identical)m 9(to)m 10(the)m 9(Link)m 10(State)m 9(ID.)m 10(For)m 9 r 84 c -1(ype)m 8 r 50 c 10(advertisements,)m 9(it)m 10(is)m 9(the)m 10(Router)m 9(ID)m 10(of)m 9(the)m 10(network')m -2 r 115 c 104 2183 p (Designated)s 12(Router)m -2 r 46 c 18(For)m 12(advertisement)m 12 r 84 c -2(ypes)m 11 r 51 c 12(and)m 12(4,)m 12(it)m 12(is)m 12(the)m 12(Router)m 12(ID)m 12(of)m 12(an)m 12(area)m 12(border)m 12(router)m -2 r 46 c 18(Finally)m -2 r 44 c 12(for)m 104 2233 p 84 c -2(ype)m 9 r 53 c 11(advertisements)m 10(it)m 11(is)m 10(the)m 10(Router)m 11(ID)m 10(of)m 11(an)m 10(AS)m 10(boundary)m 11(router)m -1 r 46 c t-bol.300 @sf 0 2310 p (LS)s 10(sequence)m 11(number)m t-rom.300 @sf 21(Detects)m 14(old)m 15(or)m 15(duplicate)m 15(link)m 15(state)m 14(advertisements.)m 27(Successive)m 15(instantiations)m 15(of)m 15 r 97 c 15(link)m 14(state)m 104 2359 p (advertisement)s 10(are)m 11(given)m 10(successive)m 10(LS)m 11(sequence)m 10(numbers.)m t-bol.300 @sf 0 2436 p (LS)s 10(checksum)m t-rom.300 @sf 21(The)m 9(Fletcher)m 9(checksum)m 9(of)m 9(the)m 9(complete)m 9(contents)m 8(of)m 9(the)m 9(link)m 9(state)m 9(advertisement.)m 13(See)m 9(Section)m 9(12.1.6)m 9(for)m 104 2486 p (more)s 10(details.)m t-bol.300 @sf 0 2563 p (length)s t-rom.300 @sf 21(The)m 10(length)m 11(in)m 10(bytes)m 10(of)m 11(the)m 10(link)m 11(state)m 10(advertisement.)m 14(This)m 10(includes)m 11(the)m 10(20)m 11(byte)m 10(link)m 10(state)m 11(header)m -1 r 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(82)m @eop 81 @bop0 81 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (A.2)s 50(The)m 12(OSPF)m 13(packet)m 12(header)m t-rom.300 @sf 0 291 p (Every)s 15(OSPF)m 16(packet)m 15(starts)m 16(with)m 15 r 97 c 15(common)m 16(24)m 15(byte)m 16(header)m -2 r 46 c 28(This)m 16(header)m 15(contains)m 16(all)m 15(the)m 15(necessary)m 16(information)m 15(to)m 0 341 p (determine)s 8(whether)m 9(the)m 8(packet)m 9(should)m 8(be)m 9(accepted)m 8(for)m 9(further)m 8(processing.)m 13(This)m 9(determination)m 8(is)m 9(described)m 8(in)m 9(Section)m 8(8.2)m 0 390 p (of)s 10(the)m 11(speci\014cation.)m 0 404 p 24010343 8551629 4670504 39140147 28680847 47691776 startTexFig %!PS-Adobe-1.0 %%Title: phdr.fig %%Creator: f2ps %%CreationDate: Thu Jun 22 12:35:08 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 71 595 436 725 %%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 1054 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 49 c 11(of)m 10(the)m 11(protocol.)m t-bol.300 @sf 0 1137 p 84 c -2(ype)m t-rom.300 @sf 174(The)m 14(OSPF)m 14(packet)m 14(types)m 14(are)m 14(as)m 14(follows.)m 25(The)m 14(format)m 14(of)m 14(each)m 14(of)m 14(these)m 14(packet)m 14(types)m 14(is)m 14(described)m 14(in)m 14 r 97 c 263 1187 p (succeeding)s 10(section.)m 581 1270 p 49 c 11 r 123 c 20(Hello)m 581 1320 p 50 c 11 r 123 c 20(Database)m 11(Description)m 581 1370 p 51 c 11 r 123 c 20(Link)m 11(State)m 10(Request)m 581 1419 p 52 c 11 r 123 c 20(Link)m 11(State)m 10(Update)m 581 1469 p 53 c 11 r 123 c 20(Link)m 11(State)m 10(Ack)m t-bol.300 @sf 0 1552 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 1635 p (Router)s 10(ID)m t-rom.300 @sf 81(The)m 9(Router)m 10(ID)m 9(of)m 9(the)m 9(packet')m -2 r 115 c 9(source.)m 13(In)m 9(OSPF)m -2 r 44 c 8(the)m 9(source)m 9(and)m 9(destination)m 9(of)m 9 r 97 c 9(routing)m 9(protocol)m 9(packet)m 263 1685 p (are)s 10(the)m 10(two)m 11(ends)m 10(of)m 11(an)m 10(adjacency)m -2 r 46 c t-bol.300 @sf 0 1768 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 118 r 65 c 10(32)m 9(bit)m 9(number)m 10(identifying)m 9(the)m 10(area)m 9(that)m 9(this)m 10(packet)m 9(belongs)m 9(to.)m 14(All)m 9(OSPF)m 10(packets)m 9(are)m 9(associated)m 10(with)m 263 1818 p 97 c 10(single)m 9(area.)m 14(Most)m 10(travel)m 10 r 97 c 10(single)m 10(hop)m 10(only)m -2 r 46 c 13(Packets)m 9(travelling)m 10(over)m 10 r 97 c 10(virtual)m 10(link)m 10(are)m 10(labelled)m 10(with)m 10(the)m 263 1868 p (backbone)s 10(area)m 10(ID)m 11(of)m 10(0.)m t-bol.300 @sf 0 1951 p (Checksum)s t-rom.300 @sf 75(The)m 8(standard)m 8(IP)m 8(checksum)m 8(of)m 7(the)m 8(entire)m 8(contents)m 8(of)m 8(the)m 8(packet,)m 8(excluding)m 8(the)m 8(64-bit)m 7(authentication)m 8(\014eld.)m 263 2000 p (This)s 12(checksum)m 12(is)m 12(calculated)m 12(as)m 12(the)m 13(16-bit)m 12(one')m -2 r 115 c 12(complement)m 12(of)m 12(the)m 12(one')m -1 r 115 c 11(complement)m 12(sum)m 12(of)m 12(all)m 13(the)m 263 2050 p (16-bit)s 8(words)m 9(in)m 9(the)m 9(packet)m 9(save)m 8(the)m 9(authentication)m 9(\014eld.)m 13(If)m 9(the)m 9(packet')m -1 r 115 c 7(length)m 9(is)m 9(not)m 9(an)m 9(integral)m 8(number)m 263 2100 p (of)s 10(16-bit)m 10(words,)m 11(the)m 10(packet)m 11(is)m 10(padded)m 11(with)m 10 r 97 c 10(byte)m 11(of)m 10(zero)m 11(before)m 10(checksumming.)m t-bol.300 @sf 0 2183 p (AuT)s -2(ype)m t-rom.300 @sf 121(Identi\014es)m 8(the)m 9(authentication)m 8(scheme)m 8(to)m 9(be)m 8(used)m 8(for)m 9(the)m 8(packet.)m 13(Authentication)m 9(is)m 8(discussed)m 8(in)m 9(Appendix)m 263 2233 p 69 c 9(of)m 9(the)m 9(speci\014cation.)m 14(Authentication)m 9(types)m 9(of)m 9(greater)m 10(than)m 9(255)m 9(may)m 9(be)m 10(assigned)m 9(on)m 9 r 97 c 9(per)m 9(Autonomous)m 263 2283 p (System)s 14(basis.)m 27(Authentication)m 15(types)m 15(of)m 14(0-255)m 15(are)m 15(reserved)m 14(for)m 15(de\014nition)m 15(by)m 14(this)m 15(speci\014cation.)m 27(The)m 263 2332 p (authentication)s 10(types)m 10(currently)m 11(de\014ned)m 10(are:)m 563 2415 p 48 c 10 r 123 c 10(None)m 563 2465 p 49 c 10 r 123 c 10(Simple)m 11(password)m t-bol.300 @sf 0 2548 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(81)m @eop 80 @bop0 1 /cmsy10.300 @newfont cmsy10.300 @sf [<07E01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E0> 16 16 -2 -2 20.755] 15 @dc 80 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p 65 c 58(Packet)m 15(Formats)m t-rom.300 @sf 0 306 p (This)s 10(appendix)m 10(gives)m 11(formats)m 10(for)m 10(the)m 10(various)m 10(OSPF)m 11(packets.)m 13(For)m 11(each)m 10(packet)m 10(type,)m 10(the)m 11(division)m 10(into)m 10(\014elds)m 10(is)m 10(displayed,)m 0 356 p (and)s 11(then)m 11(the)m 11(\014eld)m 11(de\014nitions)m 12(are)m 11(enumerated.)m 16(Each)m 11(OSPF)m 11(packet)m 11(begins)m 11(with)m 11 r 97 c 11(standard)m 11(24)m 11(byte)m 12(header)m -2 r 46 c 15(This)m 11(header)m 0 405 p (is)s 10(described)m 11(before)m 10(the)m 11(details)m 10(of)m 10(the)m 11(type-speci\014c)m 10(portions)m 11(of)m 10(the)m 11(packets)m 10(are)m 10(enumerated.)m 0 473 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 523 p (Link)s 10(State)m 10(Update)m 10(packets)m 10(implement)m 10(the)m 10(\015ooding)m 9(of)m 10(advertisements)m 10(throughout)m 10(the)m 10(OSPF)m 10(routing)m 10(domain.)m 14(Each)m 10(link)m 0 573 p (state)s 11(advertisement)m 10(begins)m 11(with)m 11 r 97 c 11(standard)m 10(20-byte)m 11(link)m 11(state)m 11(header)m -2 r 46 c 14(Since)m 11(all)m 11(packets)m 11(\(except)m 10(Hello\))m 11(reference)m 11(\014elds)m 0 622 p (from)s 10(the)m 11(link)m 10(state)m 11(header)m -1 r 44 c 9(the)m 11(link)m 10(state)m 11(header)m 10(is)m 10(described)m 11(early)m 10(in)m 11(this)m 10(Appendix.)m 0 690 p (There)s 11(are)m 12(four)m 11(distinct)m 12(types)m 11(of)m 12(link)m 11(state)m 12(advertisements)m 11(\(router)m 12(links,)m 12(network)m 11(links,)m 12(summary)m 11(link)m 12(and)m 11(AS)m 12(external)m 0 740 p (link)s 11(advertisements\).)m 16(All)m 11(advertisements)m 11(are)m 11(transported)m 11(by)m 11(Link)m 11(State)m 12(Update)m 11(packets;)m 11(for)m 11(this)m 11(reason)m 11(the)m 11(individual)m 0 790 p (advertisement)s 10(formats)m 11(are)m 10(given)m 11(in)m 10(the)m 10(section)m 11(explaining)m 10(the)m 11(Link)m 10(State)m 11(Update)m 10(packet.)m t-bol.360 @sf 0 926 p (A.1)s 50(Encapsulation)m 12(of)m 13(OSPF)m 12(packets)m t-rom.300 @sf 0 1022 p (OSPF)s 11(runs)m 11(directly)m 11(over)m 11(the)m 11(Internet)m 11(Protocol')m -1 r 115 c 10(network)m 11(layer)m -2 r 46 c 15(OSPF)m 11(packets)m 11(are)m 11(therefore)m 11(encapsulated)m 11(solely)m 11(by)m 11(IP)m 0 1072 p (and)s 10(local)m 11(network)m 10(headers.)m 0 1140 p (OSPF)s 12(does)m 12(not)m 12(de\014ne)m 11 r 97 c 12(way)m 12(to)m 12(fragment)m 12(its)m 12(protocol)m 12(packets,)m 12(and)m 12(depends)m 12(on)m 11(IP)m 12(fragmentation)m 12(when)m 12(packets)m 12(lar)m (ger)s 0 1189 p (than)s 11(the)m 11(link)m 10(layer)m 11(segment)m 11(sizes)m 11(need)m 11(to)m 11(be)m 10(transmitted.)m 16(The)m 10(OSPF)m 11(packet)m 11(types)m 11(that)m 11(are)m 10(likely)m 11(to)m 11(be)m 11(lar)m (ge)s 10(\(Database)m 0 1239 p (Description)s 13(Packets,)m 13(Link)m 13(State)m 13(Request,)m 14(Link)m 13(State)m 13(Update,)m 13(and)m 13(Link)m 13(State)m 13(Acknowledgment)m 13(packets\))m 13(can)m 13(usually)m 0 1289 p (be)s 12(split)m 11(into)m 12(several)m 11(separate)m 12(protocol)m 12(packets.)m 17(This)m 12(is)m 11(recommended;)m 13(IP)m 11(fragmentation)m 12(should)m 11(be)m 12(avoided)m 12(whenever)m 0 1339 p (possible.)s 17(Using)m 12(this)m 11(reasoning,)m 12(an)m 12(attempt)m 11(should)m 12(be)m 11(made)m 12(to)m 12(limit)m 11(the)m 12(sizes)m 11(of)m 12(packets)m 11(sent)m 12(over)m 11(virtual)m 12(links)m 12(to)m 11(576)m 0 1389 p (bytes.)s 14(However)m -1 r 44 c 10(if)m 10(necessary)m -2 r 44 c 10(the)m 10(length)m 11(of)m 10(OSPF)m 10(packets)m 11(can)m 10(be)m 11(up)m 10(to)m 11(65,535)m 10(bytes)m 10(\(including)m 11(the)m 10(IP)m 11(header\).)m 0 1456 p (The)s 10(other)m 11(important)m 10(features)m 11(of)m 10(the)m 10(IP)m 11(encapsulation)m 10(are:)m cmsy10.300 @sf 62 1566 p 15 c t-ita.300 @sf 21(Use)m 11(of)m 12(IP)m 11(multicast)m t-rom.300 @sf 46 c 17(Some)m 11(OSPF)m 12(messages)m 11(are)m 11(multicast,)m 12(when)m 11(sent)m 12(over)m 11(multi-access)m 11(networks.)m 17 r 84 c -2(wo)m 11(distinct)m 104 1615 p (IP)s 10(multicast)m 9(addresses)m 10(are)m 10(used.)m 14(Packets)m 9(destined)m 10(to)m 10(these)m 10(multicast)m 9(addresses)m 10(should)m 10(never)m 10(be)m 10(forwarded.)m 13(Such)m 104 1665 p (packets)s 10(are)m 11(meant)m 10(to)m 10(travel)m 11 r 97 c 10(single)m 11(hop)m 10(only;)m 11(they)m 10(must)m 10(have)m 11(their)m 10(IP)m 11(TTL)m 10(set)m 10(to)m 11(1.)m t-bol.300 @sf 104 1748 p (AllSPFRouters)s t-rom.300 @sf 21(This)m 8(multicast)m 8(address)m 8(has)m 8(been)m 8(assigned)m 8(the)m 8(value)m 8(224.0.0.5.)m 13(All)m 9(routers)m 8(running)m 8(OSPF)m 8(should)m 195 1798 p (be)s 10(prepared)m 9(to)m 10(receive)m 9(packets)m 10(sent)m 10(to)m 9(this)m 10(address.)m 13(Hello)m 10(packets)m 9(are)m 10(always)m 10(sent)m 9(to)m 10(this)m 9(destination.)m 14(Also,)m 195 1848 p (certain)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 t-bol.300 @sf 104 1914 p (AllDRouters)s t-rom.300 @sf 21(This)m 12(multicast)m 13(address)m 12(has)m 13(been)m 12(assigned)m 13(the)m 12(value)m 13(224.0.0.6.)m 20(Both)m 13(the)m 12(Designated)m 13(Router)m 12(and)m 195 1964 p (Backup)s 12(Designated)m 11(Router)m 12(must)m 12(be)m 11(prepared)m 12(to)m 11(receive)m 12(packets)m 12(destined)m 11(to)m 12(this)m 11(address.)m 18(Certain)m 12(packets)m 195 2014 p (are)s 11(sent)m 10(to)m 10(this)m 11(address)m 10(during)m 11(the)m 10(\015ooding)m 10(procedure.)m cmsy10.300 @sf 62 2097 p 15 c t-ita.300 @sf 21(OSPF)m 13(is)m 14(IP)m 13(pr)m (otocol)s 12(number)m 13(89)m t-rom.300 @sf 46 c 23(This)m 13(number)m 14(has)m 13(been)m 13(registered)m 14(with)m 13(the)m 13(Network)m 14(Information)m 13(Center)m -1 r 46 c 21(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(1010].)m cmsy10.300 @sf 62 2230 p 15 c t-ita.300 @sf 21(Routing)m 12(pr)m -1(otocol)m 11(packets)m 12(ar)m 101 c 10(sent)m 12(with)m 12(IP)m 12 r 84 c (OS)s 11(of)m 12 r 48 c t-rom.300 @sf 46 c 18(The)m 12(OSPF)m 12(protocol)m 12(supports)m 12 r 84 c (OS-based)s 11(routing.)m 18(Routes)m 104 2280 p (to)s 9(any)m 10(particular)m 9(destination)m 10(may)m 9(vary)m 10(based)m 9(on)m 10 r 84 c (OS.)s 8(However)m 44 c 8(all)m 10(OSPF)m 9(routing)m 10(protocol)m 9(packets)m 10(are)m 9(sent)m 10(with)m 104 2329 p (the)s 10(IP)m 11 r 84 c (OS)s 9(\014eld)m 11(set)m 10(to)m 11(0.)m cmsy10.300 @sf 62 2412 p 15 c t-ita.300 @sf 21(Routing)m 8(pr)m -1(otocol)m 7(packets)m 8(ar)m -1 r 101 c 7(sent)m 8(with)m 8(IP)m 8(pr)m -1(ecedence)m 7(set)m 8(to)m 7(Internetwork)m 8(Contr)m (ol)s t-rom.300 @sf 46 c 12(OSPF)m 7(protocol)m 8(packets)m 8(should)m 104 2462 p (be)s 11(given)m 11(precedence)m 10(over)m 11(regular)m 11(IP)m 11(data)m 11(traf)m (\014c,)s 10(in)m 11(both)m 11(sending)m 11(and)m 11(receiving.)m 15(Setting)m 11(the)m 11(IP)m 11(precedence)m 11(\014eld)m 104 2512 p (in)s 10(the)m 11(IP)m 10(header)m 10(to)m 11(Internetwork)m 10(Control)m 11([RFC)m 10(791])m 11(may)m 10(help)m 10(implement)m 11(this)m 10(objective.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(80)m @eop 79 @bop0 79 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p (Refer)s (ences)s t-rom.300 @sf 0 304 p ([BBN])s 116(McQuillan,)m 7(J.M.,)m 8(Richer)m -1 r 44 c 7(I.)m 7(and)m 7(Rosen,)m 8(E.C.)m t-ita.300 @sf 7(ARP)m -5(ANET)m 6(Routing)m 7(Algorithm)m 7(Impr)m (ovements.)s t-rom.300 @sf 6(BBN)m 7 r 84 c -2(echnical)m 229 354 p (Report)s 10(3803,)m 11(April)m 10(1978.)m 0 437 p ([DEC])s 118(Digital)m 9(Equipment)m 10(Corporation.)m t-ita.300 @sf 9(Information)m 10(pr)m -1(ocessing)m 8(systems)m 10 r 123 c 9(Data)m 10(communications)m 9 r 123 c 10(Intermediate)m 229 487 p (System)s 10(to)m 11(Intermediate)m 10(System)m 11(Intra-Domain)m 10(Routing)m 11(Pr)m -1(otocol.)m t-rom.300 @sf 9(October)m 11(1987.)m 0 570 p ([McQuillan])s 21(McQuillan,)m 8(J.)m 8(et.al.)m t-ita.300 @sf 8(The)m 8(New)m 7(Routing)m 8(Algorithm)m 8(for)m 8(the)m 8(Arpanet.)m t-rom.300 @sf 7(IEEE)m 8 r 84 c (ransactions)s 7(on)m 7(Communications,)m 229 620 p (May)s 10(1980.)m 0 703 p ([Perlman])s 62(Perlman,)m 11(Radia.)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 10(Computer)m 10(Networks,)m 11(Dec.)m 10(1983.)m 0 786 p ([RFC)s 10(791])m 50(Postel,)m 10(Jon.)m t-ita.300 @sf 11(Internet)m 10(Pr)m (otocol.)s t-rom.300 @sf 9(September)m 11(1981)m 0 869 p ([RFC)s 10(944])m 50(ANSI)m 10(X3S3.3)m 10(86-60.)m t-ita.300 @sf 10(Final)m 11 r 84 c -3(ext)m 9(of)m 10(DIS)m 10(8473,)m 10(Pr)m (otocol)s 9(for)m 10(Pr)m (oviding)s 9(the)m 10(Connectionless-mode)m 10(Network)m 229 919 p (Service.)s t-rom.300 @sf 10(March)m 11(1986.)m 0 1002 p ([RFC)s 10(1010])m 29(Reynolds,)m 11(J.)m 10(and)m 10(Postel,)m 11(J.)m t-ita.300 @sf 10(Assigned)m 11(Numbers.)m t-rom.300 @sf 10(May)m 11(1987.)m 0 1085 p ([RFC)s 10 r 49 c 49 c -2(12])m 31(Deering,)m 11(S.E.)m t-ita.300 @sf 10(Host)m 10(extensions)m 11(for)m 10(IP)m 11(multicasting.)m t-rom.300 @sf 10(May)m 11(1988.)m 0 1168 p ([RS-85-153])s 21(Leiner)m -1 r 44 c 10(Dr)m -2 r 46 c 10(Barry)m 10(M.,)m 10(et.al.)m t-ita.300 @sf 11(The)m 10(DARP)m -4 r 65 c 9(Internet)m 11(Pr)m -1(otocol)m 10(Suite.)m t-rom.300 @sf 10(DDN)m 10(Protocol)m 11(Handbook,)m 10(April)m 11(1985.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(79)m @eop 78 @bop0 78 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21(The)m 9(cost)m 9(or)m 9(path)m 8(type)m 9(of)m 9 r 97 c 9(routing)m 9(table)m 9(entry)m 8(has)m 9(changed.)m 14(If)m 9(the)m 8(destination)m 9(described)m 9(by)m 9(this)m 9(entry)m 9(is)m 8 r 97 c 9(Network)m 104 245 p (or)s 9(AS)m 9(boundary)m 10(router)m -1 r 44 c 8(and)m 10(this)m 9(is)m 9(not)m 10(simply)m 9 r 97 c 9(change)m 9(of)m 10(AS)m 9(external)m 9(routes,)m 10(new)m 9(summary)m 9(link)m 10(advertisements)m 104 295 p (may)s 7(have)m 8(to)m 8(be)m 7(generated)m 8(\(potentially)m 8(one)m 7(for)m 8(each)m 8(attached)m 7(area,)m 9(including)m 7(the)m 8(backbone\).)m 13(See)m 8(Section)m 7(12.3.3)m 8(for)m 104 345 p (more)s 11(information.)m 14(If)m 11 r 97 c 11(previously)m 11(advertised)m 10(entry)m 11(has)m 11(been)m 11(deleted,)m 10(or)m 11(is)m 11(no)m 11(longer)m 10(advertisable)m 11(to)m 11 r 97 c 11(particular)m 104 394 p (area,)s 10(it)m 11(must)m 10(be)m 10(advertised)m 11(with)m 10(cost)m 11(LSIn\014nity)m -2 r 46 c cmsy10.300 @sf 62 477 p 15 c t-rom.300 @sf 21 r 65 c 12(routing)m 12(table)m 12(entry)m 12(associated)m 12(with)m 12 r 97 c 12(con\014gured)m 12(virtual)m 12(link)m 12(has)m 12(changed.)m 19(The)m 12(destination)m 12(of)m 12(such)m 12 r 97 c 12(routing)m 104 527 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 594 p (If)s 11(the)m 11(entry)m 12(indicates)m 11(that)m 11(the)m 11(area)m 12(border)m 11(router)m 11(is)m 11(newly)m 12(reachable)m 11(\(via)m 11 r 84 c (OS)s 11(0\),)m 11(the)m 11(corresponding)m 11(virtual)m 12(link)m 104 643 p (is)s 11(now)m 11(operational.)m 17(An)m t-bol.300 @sf 12(Interface)m 11(Up)m t-rom.300 @sf 11(event)m 12(should)m 11(be)m 11(generated)m 12(for)m 11(the)m 11(virtual)m 12(link,)m 11(which)m 12(will)m 11(cause)m 11 r 97 c 12(virtual)m 104 693 p (adjacency)s 14(to)m 14(begin)m 14(to)m 13(form)m 14(\(see)m 14(Section)m 14(10.3\).)m 25(At)m 13(this)m 14(time)m 14(the)m 14(virtual)m 14(interface')m -1 r 115 c 13(IP)m 14(address)m 14(and)m 13(the)m 14(virtual)m 104 743 p (neighbor)s 1 r 39 c -1 r 115 c 9(IP)m 11(address)m 10(are)m 11(also)m 10(calculated.)m 104 809 p (If)s 14(the)m 15(entry)m 15(indicates)m 15(that)m 14(the)m 15(area)m 15(border)m 14(router)m 15(is)m 15(no)m 15(longer)m 14(reachable)m 15(\(via)m 15 r 84 c (OS)s 14(0\),)m 15(the)m 15(virtual)m 15(link)m 15(and)m 14(its)m 104 859 p (associated)s 12(adjacency)m 13(should)m 13(be)m 12(destroyed.)m 21(This)m 12(means)m 13(an)m t-bol.300 @sf 13(Interface)m 12(Down)m t-rom.300 @sf 13(event)m 13(should)m 12(be)m 13(generated)m 12(for)m 13(the)m 104 909 p (associated)s 10(virtual)m 11(link.)m 104 975 p (If)s 10(the)m 11(cost)m 11(of)m 10(the)m 11(entry)m 11(has)m 10(changed,)m 11(and)m 11(there)m 10(is)m 11 r 97 c 10(fully)m 11(established)m 11(virtual)m 10(adjacency)m -1 r 44 c 9 r 97 c 11(new)m 11(router)m 10(links)m 11(adver-)m 104 1025 p (tisement)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 1162 p (16.8)s 50(Equal-cost)m 12(multipath)m t-rom.300 @sf 0 1258 p (The)s 11(OSPF)m 11(protocol)m 11(maintains)m 11(multiple)m 11(equal-cost)m 11(routes)m 11(to)m 10(all)m 11(destinations.)m 16(This)m 11(can)m 11(be)m 11(seen)m 11(in)m 10(the)m 11(steps)m 11(used)m 11(above)m 0 1307 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 1375 p (Each)s 10(one)m 9(of)m 10(the)m 9(multiple)m 10(routes)m 9(will)m 10(be)m 9(of)m 10(the)m 10(same)m 9(type)m 10(\(intra-area,)m 9(inter)m (-area,)s 9(or)m 10(AS)m 9(external\),)m 10(cost,)m 10(and)m 9(will)m 10(have)m 9(the)m 0 1425 p (same)s 10(associated)m 11(area.)m 14(However)m -1 r 44 c 9(each)m 11(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 10(router)m -1 r 46 c 0 1493 p (There)s 12(is)m 11(no)m 12(requirement)m 12(that)m 12 r 97 c 11(router)m 12(running)m 12(OSPF)m 12(keep)m 11(track)m 12(of)m 12(all)m 12(possible)m 11(equal-cost)m 12(routes)m 12(to)m 12 r 97 c 11(destination.)m 18(An)m 0 1542 p (implementation)s 11(may)m 11(choose)m 11(to)m 11(keep)m 11(only)m 11 r 97 c 11(\014xed)m 11(number)m 11(of)m 11(routes)m 11(to)m 11(any)m 11(given)m 11(destination.)m 16(This)m 11(does)m 11(not)m 11(af)m (fect)s 10(any)m 0 1592 p (of)s 10(the)m 11(algorithms)m 10(presented)m 11(in)m 10(this)m 10(speci\014cation.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(78)m @eop 77 @bop0 77 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21(Next,)m 11(look)m 11(up)m 11(the)m 10(routing)m 11(table)m 11(entry)m 11(for)m 11(the)m 10(destination)m 11(N.)m 11(If)m 11(no)m 11(entry)m 11(exists)m 10(for)m 11(N,)m 11(install)m 11(the)m 11(AS)m 10(external)m 11(path)m 104 245 p (to)s 11(N,)m 10(with)m 11(next)m 11(hop)m 11(equal)m 11(to)m 11(the)m 11(list)m 10(of)m 11(next)m 11(hops)m 11(to)m 11(router)m 11(ASBR,)m 11(and)m 10(advertising)m 11(router)m 11(equal)m 11(to)m 11(ASBR.)m 11(If)m 10(the)m 104 295 p (external)s 11(metric)m 12(type)m 11(is)m 11(1,)m 12(then)m 12(the)m 11(cost)m 11(is)m 12(equal)m 11(to)m 12(X+Y)m -5 r 46 c 11(Else,)m 11(the)m 12(link)m 11(state)m 12(component)m 11(of)m 12(the)m 11(route')m -1 r 115 c 10(cost)m 12(is)m 11(X,)m 104 345 p (and)s 10(the)m 11 r 84 c -2(ype)m 9 r 50 c 11(cost)m 10(is)m 10 r 89 c -4 r 46 c cmsy10.300 @sf 62 428 p 15 c t-rom.300 @sf 21(Else,)m 12(if)m 11(the)m 11(paths)m 12(present)m 11(in)m 12(the)m 11(table)m 11(are)m 12(not)m 11(AS)m 12(external)m 11(paths,)m 12(do)m 11(nothing)m 11(\(AS)m 12(external)m 11(paths)m 12(have)m 11(the)m 11(lowest)m 104 477 p (priority\).)s cmsy10.300 @sf 62 560 p 15 c t-rom.300 @sf 21(Otherwise,)m 8(compare)m 8(the)m 8(cost)m 7(of)m 8(this)m 8(new)m 7(AS)m 8(external)m 7(path)m 8(to)m 8(the)m 7(ones)m 8(present)m 8(in)m 7(the)m 8(table.)m 13 r 84 c -2(ype)m 7 r 49 c 7(paths)m 8(are)m 8(always)m 104 610 p (shorter)s 11(than)m 12 r 84 c -2(ype)m 11 r 50 c 12(paths.)m 17 r 84 c -2(ype)m 11 r 49 c 12(paths)m 12(are)m 11(compared)m 12(by)m 12(looking)m 11(at)m 12(the)m 12(sum)m 11(of)m 12(the)m 12(distance)m 12(to)m 11(the)m 12(advertising)m 104 660 p (router)s 13(and)m 14(the)m 13(advertised)m 14 r 84 c -2(ype)m 12 r 49 c 14(metric)m 13(\(X+Y\).)m 14 r 84 c -2(ype)m 12 r 50 c 14(paths)m 13(are)m 14(compared)m 13(by)m 14(looking)m 13(at)m 14(the)m 13(distance)m 13(to)m 14(the)m 104 710 p (advertising)s 10(routers,)m 11(and)m 10(then)m 10(if)m 11(necessary)m -2 r 44 c 10(the)m 10(advertised)m 10 r 84 c -2(ype)m 10 r 50 c 10(metrics.)m 104 776 p (If)s 9(the)m 9(new)m 9(path)m 9(is)m 10(shorter)m -1 r 44 c 8(it)m 10(replaces)m 9(the)m 9(present)m 9(paths)m 9(in)m 9(the)m 10(routing)m 9(table)m 9(entry)m -2 r 46 c 13(If)m 9(the)m 9(new)m 9(path)m 9(is)m 10(the)m 9(same)m 9(cost,)m 104 826 p (it)s 10(is)m 11(added)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 11(paths.)m t-bol.360 @sf 0 963 p (16.5)s 50(Incr)m (emental)s 12(updates)m 12 r 124 c 13(summary)m 12(links)m t-rom.300 @sf 0 1058 p (When)s 9 r 97 c 9(new)m 8(summary)m 9(link)m 9(advertisement)m 9(is)m 9(received,)m 9(it)m 9(is)m 9(not)m 8(necessary)m 9(to)m 9(recalculate)m 9(the)m 9(entire)m 9(routing)m 8(table.)m 14(Call)m 9(the)m 0 1108 p (destination)s 9(described)m 10(by)m 9(the)m 10(summary)m 9(link)m 10(advertisement)m 9(N,)m 10(and)m 9(let)m 10 r 65 c 9(be)m 9(the)m 10(area)m 9(to)m 10(which)m 9(the)m 10(advertisement)m 9(belongs.)m 0 1176 p (Look)s 10(up)m 10(the)m 10(routing)m 10(table)m 10(entry)m 10(for)m 10(N.)m 10(If)m 10(the)m 10(next)m 10(hop)m 10(to)m 10 r 78 c 10(is)m 10 r 97 c 10(virtual)m 10(link)m 10(through)m 10(Area)m 10 r 65 c 10(\(this)m 10(means)m 10(that)m 10(the)m 10(entry')m -1 r 115 c 0 1226 p (associated)s 11(area)m 10(is)m 11(the)m 11(backbone,)m 11(and)m 10(the)m 11(listed)m 11(next)m 10(hop)m 11(does)m 11(not)m 11(belong)m 10(to)m 11(the)m 11(backbone,)m 10(but)m 11(instead)m 11(belongs)m 11(to)m 10(Area)m 0 1276 p (A\),)s 9(the)m 9(real)m 10(next)m 9(hop)m 9(must)m 9(again)m 10(be)m 9(resolved.)m 13(This)m 10(means)m 9(running)m 9(the)m 9(algorithm)m 10(in)m 9(Section)m 9(16.3)m 9(for)m 10(destination)m 9 r 78 c 9(only)m -2 r 46 c 0 1343 p (Else,)s 11(if)m 12(there)m 11(is)m 11(an)m 12(intra-area)m 11(route)m 11(to)m 11(destination)m 12 r 78 c 11(nothing)m 11(need)m 11(be)m 12(done)m 11(\(intra-area)m 11(routes)m 11(always)m 12(take)m 11(precedence\).)m 0 1393 p (Otherwise,)s 11(if)m 11(Area)m 11 r 65 c 11(is)m 11(the)m 11(router)m 2 r 39 c -2 r 115 c 10(sole)m 11(attached)m 11(area,)m 11(or)m 11(Area)m 11 r 65 c 11(is)m 11(the)m 11(backbone,)m 12(the)m 11(procedure)m 11(in)m 11(Section)m 11(16.2)m 11(will)m 0 1443 p (have)s 11(to)m 11(be)m 10(performed,)m 11(but)m 11(only)m 11(for)m 11(those)m 11(summary)m 11(link)m 10(advertisements)m 11(whose)m 11(destination)m 11(is)m 11(N.)m 10(Before)m 11(this)m 11(procedure)m 0 1493 p (is)s 12(performed,)m 12(the)m 12(present)m 12(routing)m 13(table)m 12(entry)m 12(for)m 12 r 78 c 12(should)m 12(be)m 12(invalidated)m 12(\(but)m 12(kept)m 12(for)m 12(comparison)m 12(purposes\).)m 18(If)m 12(this)m 0 1542 p (procedure)s 8(leads)m 8(to)m 8 r 97 c 8(virtual)m 8(next)m 9(hop,)m 8(the)m 8(algorithm)m 8(in)m 8(Section)m 8(16.3)m 8(will)m 9(again)m 8(have)m 8(to)m 8(be)m 8(performed)m 8(in)m 8(order)m 8(to)m 8(calculate)m 0 1592 p (the)s 10(real)m 11(next)m 10(hop.)m 0 1660 p (If)s 11(N')m -1 r 115 c 9(routing)m 11(table)m 11(entry)m 11(changes,)m 11(and)m 11 r 78 c 10(is)m 11(an)m 11(AS)m 11(boundary)m 11(router)m -1 r 44 c 10(the)m 11(AS)m 11(external)m 10(links)m 11(will)m 11(have)m 11(to)m 11(be)m 10(reexamined)m 0 1710 p (\(Section)s 10(16.4\).)m t-bol.360 @sf 0 1846 p (16.6)s 50(Incr)m (emental)s 12(updates)m 12 r 124 c 13(AS)m 12(external)m 13(links)m t-rom.300 @sf 0 1942 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 1992 p (the)s 11(destination)m 11(described)m 11(by)m 11(the)m 11(AS)m 11(external)m 11(link)m 11(advertisement)m 11(N.)m 11(If)m 11(there)m 11(is)m 11(already)m 11(an)m 11(intra-area)m 11(or)m 11(inter)m (-area)s 10(route)m 0 2042 p (to)s 10(the)m 11(destination,)m 10(no)m 11(recalculation)m 10(is)m 10(necessary)m 11(\(these)m 10(routes)m 11(take)m 10(precedence\).)m 0 2109 p (Otherwise,)s 9(the)m 9(procedure)m 8(in)m 9(Section)m 8(16.4)m 9(will)m 8(have)m 9(to)m 9(be)m 8(performed,)m 9(but)m 9(only)m 8(for)m 9(those)m 8(AS)m 9(external)m 9(link)m 8(advertisements)m 0 2159 p (whose)s 9(destination)m 8(is)m 9(N.)m 9(Before)m 9(this)m 8(procedure)m 9(is)m 9(performed,)m 9(the)m 9(present)m 8(routing)m 9(table)m 9(entry)m 9(for)m 8 r 78 c 9(should)m 9(be)m 9(invalidated.)m t-bol.360 @sf 0 2296 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 2392 p (Changes)s 8(to)m 7(routing)m 8(table)m 7(entries)m 8(sometimes)m 8(cause)m 7(the)m 8(OSPF)m 7(area)m 8(border)m 7(routers)m 8(to)m 8(take)m 7(additional)m 8(actions.)m 13(These)m 7(routers)m 0 2441 p (need)s 10(to)m 11(act)m 10(on)m 11(the)m 10(following)m 10(routing)m 11(table)m 10(changes:)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(77)m @eop 76 @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 76 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (16.3)s 50(Resolving)m 12(virtual)m 13(next)m 12(hops)m t-rom.300 @sf 0 291 p (This)s 9(step)m 10(is)m 9(only)m 9(necessary)m 10(in)m 9(area-border)m 9(routers)m 10(having)m 9(con\014gured)m 9(virtual)m 10(links.)m 13(In)m 10(these)m 9(routers,)m 10(some)m 9(of)m 9(the)m 10(routing)m 0 341 p (table)s 13(entries)m 13(may)m 13(have)m 14(virtual)m 13(next)m 13(hops.)m 22(That)m 13(is,)m 14(one)m 13(or)m 13(more)m 13(of)m 14(the)m 13(next)m 13(hops)m 13(installed)m 13(in)m 13(Sections)m 14(16.1)m 13(and)m 13(16.2)m 0 390 p (may)s 10(be)m 10(over)m 10 r 97 c 10(virtual)m 10(link.)m 14(However)m 44 c 9(when)m 10(forwarding)m 10(data)m 10(traf)m (\014c)s 9(to)m 10 r 97 c 10(destination,)m 11(the)m 10(next)m 10(hops)m 10(must)m 10(always)m 10(be)m 10(on)m 10 r 97 c 0 440 p (directly)s 10(attached)m 11(network.)m 0 508 p (In)s 13(this)m 14(section,)m 14(each)m 14(virtual)m 13(next)m 14(hop)m 13(is)m 14(replaced)m 13(by)m 14 r 97 c 13(real)m 13(next)m 14(hop.)m 23(In)m 13(the)m 14(process)m 13 r 97 c 14(new)m 13(routing)m 14(table)m 13(distance)m 14(is)m 0 558 p (calculated)s 11(that)m 11(may)m 11(be)m 11(smaller)m 11(than)m 11(the)m 11(previously)m 11(calculated)m 11(distance.)m 16(In)m 11(this)m 11(case,)m 11(the)m 11(list)m 12(of)m 11(next)m 11(hops)m 11(is)m 11(pruned)m 11(so)m 0 608 p (that)s 11(only)m 11(those)m 12(giving)m 11(rise)m 11(to)m 11(the)m 11(new)m 12(shortest)m 11(distance)m 11(are)m 11(included,)m 12(and)m 11(the)m 11(routing)m 11(table)m 11(entry')m -1 r 115 c 10(distance)m 11(is)m 12(updated)m 0 657 p (accordingly)s -2 r 46 c 0 725 p (This)s 11(resolution)m 10(of)m 11(virtual)m 10(next)m 11(hops)m 11(is)m 10(done)m 11(only)m 10(for)m 11(Destination)m 10(types)m 11(Network)m 11(or)m 10(AS)m 11(Boundary)m 10(router)m -1 r 46 c 13(Suppose)m 11(that)m 0 775 p (one)s 10(of)m 10 r 97 c 10(routing)m 10(table)m 10(entry')m -2 r 115 c 9(next)m 10(hops)m 10(is)m 10 r 97 c 10(virtual)m 10(link.)m 14(This)m 9(is)m 10(determined)m 10(by)m 10(the)m 10(following)m 10(combination:)m 14(the)m 10(routing)m 0 825 p (table)s 13(entry')m -1 r 115 c 12(path)m 13(type)m 13(is)m 14(either)m 13(intra-area)m 13(or)m 13(inter)m (-area,)s 13(the)m 13(area)m 14(associated)m 13(with)m 13(the)m 13(routing)m 13(table)m 13(entry)m 14(must)m 13(be)m 13(the)m 0 874 p (backbone,)s 10(yet)m 11(the)m 10(next)m 11(hop)m 10(belongs)m 10(to)m 11 r 97 c 10(dif)m (ferent)s 10(area)m 10(\(the)m 11(virtual)m 10(link')m -1 r 115 c 9(transit)m 11(area\).)m 0 942 p (Let)s 12 r 78 c 12(be)m 12(the)m 12(above)m 12(entry')m -1 r 115 c 10(destination,)m 13(and)m 12 r 65 c 12(the)m 12(virtual)m 12(link')m -2 r 115 c 11(transit)m 12(area.)m 19(The)m 12(real)m 12(next)m 12(hop)m 12(\(and)m 12(new)m 12(distance\))m 12(is)m 0 992 p (calculated)s 9(as)m 9(follows.)m 13(Let)m 9 r 68 c 9(be)m 9 r 97 c 9(distance)m 9(counter)m 44 c 8(and)m 9(set)m 9(the)m 9(real)m 9(next)m 9(hop)m 9(NH)m 9(to)m 9(null.)m 13(Then,)m 9(look)m 9(up)m 9(all)m 9(the)m 9(summary)m 0 1042 p (link)s 10(advertisements)m 11(for)m 10 r 78 c 11(in)m 10(area)m 10 r 65 c -3 r 39 c -2 r 115 c 9(database,)m 10(performing)m 11(the)m 10(following)m 11(steps)m 10(for)m 10(each)m 11(advertisement:)m t-rom.210 @sf 1716 1027 p (20)s t-rom.300 @sf 52 1143 p (1.)s 21(Call)m 11(the)m 11(border)m 11(router)m 12(that)m 11(originated)m 11(the)m 12(advertisement)m 11(BR.)m 17(If)m 11(there)m 11(is)m 12(no)m 11(routing)m 11(table)m 12(entry)m 11(for)m 11(BR)m 12(having)m 11 r 65 c 104 1192 p (as)s 10(associated)m 11(area)m 10(\(i.e.,)m 10(BR)m 11(is)m 10(unreachable)m 11(through)m 10(Area)m 11(A\),)m 10(examine)m 10(the)m 11(next)m 10(advertisement.)m 52 1275 p (2.)s 21(Else,)m 7(let)m 8 r 88 c 7(be)m 7(the)m 8(distance)m 7(to)m 7(BR)m 8(via)m 7(Area)m 7(A.)m 8(If)m 7(the)m 7(cost)m 8(advertised)m 7(by)m 7(BR)m 8(\(call)m 7(it)m 7(Y\))m 8(to)m 7(the)m 7(destination)m 8(is)m 7(LSIn\014nity)m -2 r 44 c 104 1325 p (examine)s 10(the)m 11(next)m 10(summary)m 11(link)m 10(advertisement.)m 14(Else,)m 11(the)m 10(cost)m 11(to)m 10(destination)m 11 r 78 c 10(through)m 11(area)m 10(border)m 11(router)m 10(BR)m 11(is)m 104 1375 p (X+Y)s -5 r 46 c 52 1458 p (3.)s 21(If)m 11(next)m 12(hop)m 11(NH)m 12(is)m 11(null)m 12(or)m 11(X+Y)m 12(is)m 12(smaller)m 11(is)m 12(smaller)m 11(than)m 12(D,)m 11(set)m 12 r 68 c 11(to)m 12(X+Y)m 12(and)m 11(set)m 12(the)m 11(next)m 12(hop)m 11(NH)m 12(to)m 12(the)m 11(next)m 104 1508 p (hop)s 10(speci\014ed)m 11(in)m 10(router)m 10(BR')m -1 r 115 c 10(entry)m -2 r 46 c 0 1609 p (At)s 13(this)m 13(point,)m 13(the)m 13(real)m 13(next)m 13(hop)m 13(NH)m 13(should)m 13(be)m 12(set,)m 14(and)m 13(the)m 13(distance)m 13 r 68 c 12(calculated)m 13(should)m 13(be)m 13(less)m 13(than)m 13(or)m 13(equal)m 13(to)m 12(the)m 0 1659 p (cost)s 13(originally)m 14(speci\014ed)m 13(in)m 13(destination)m 13(N')m -1 r 115 c 12(routing)m 14(table)m 13(entry)m -2 r 46 c 22(This)m 13(same)m 13(calculation)m 13(should)m 14(be)m 13(done)m 13(for)m 13(all)m 14(of)m 13(N')m -1 r 115 c 0 1708 p (virtual)s 10(next)m 10(hops,)m 10(and)m 10(then)m 10(N')m -2 r 115 c 9(new)m 10(cost)m 10(set)m 10(to)m 10(the)m 10(minimum)m 10(calculated)m 10(distance,)m 10(with)m 10(the)m 10(its)m 10(new)m 10(set)m 10(of)m 10(next)m 9(hops)m 10(that)m 0 1758 p (combination)s 10(of)m 11(non-virtual)m 10(and)m 11(recalculated)m 10(next)m 10(hops)m 11(that)m 10(correspond)m 11(to)m 10(this)m 11(\(possibly)m 10(same)m 10(as)m 11(original\))m 10(distance.)m t-bol.360 @sf 0 1895 p (16.4)s 50(Calculating)m 12(AS)m 13(external)m 12 r 114 c (outes)s t-rom.300 @sf 0 1991 p (AS)s 13(external)m 14(routes)m 13(are)m 13(calculated)m 14(by)m 13(examining)m 13(AS)m 14(external)m 13(link)m 13(advertisements.)m 23(Each)m 14(of)m 13(the)m 13(AS)m 14(external)m 13(link)m 13(ad-)m 0 2040 p (vertisements)s 11(is)m 12(considered)m 11(in)m 12(turn.)m 16(Remember)m 12(that)m 11(the)m 11(destination)m 12(described)m 11(by)m 12(an)m 11(AS)m 11(external)m 12(link)m 11(advertisement)m 12(is)m 0 2090 p (always)s 10 r 97 c 11(network.)m 14(For)m 10(each)m 11(AS)m 10(external)m 10(link)m 11(advertisement:)m cmsy10.300 @sf 62 2199 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(cost)m 10(speci\014ed)m 11(by)m 10(the)m 11(advertisement)m 10(is)m 10(LSIn\014nity)m -1 r 44 c 9(then)m 10(examine)m 11(the)m 10(next)m 11(advertisement.)m cmsy10.300 @sf 62 2282 p 15 c t-rom.300 @sf 21(Call)m 8(the)m 7(destination)m 8(described)m 8(by)m 8(the)m 7(advertisement)m 8(N.)m 8(Look)m 8(up)m 7(the)m 8(routing)m 8(table)m 8(entry)m 7(for)m 8(the)m 8(AS)m 8(boundary)m 7(router)m 104 2332 p (\(ASBR\))s 12(that)m 12(originated)m 11(the)m 12(advertisement.)m 19(If)m 11(no)m 12(entry)m 12(exists)m 12(for)m 12(router)m 12(ASBR)m 12(\(i.e.,)m 12(ASBR)m 12(is)m 12(unreachable\),)m 12(do)m 104 2382 p (nothing)s 15(with)m 15(this)m 16(advertisement)m 15(and)m 15(consider)m 15(the)m 16(next)m 15(in)m 15(the)m 15(list.)m 29(Else,)m 16(this)m 15(advertisement)m 16(describes)m 15(an)m 15(AS)m 104 2432 p (external)s 11(path)m 11(to)m 12(destination)m 11(N.)m 11(Call)m 11(the)m 12(distance)m 11(to)m 11(router)m 11(ASBR)m 12(X,)m 11(and)m 11(the)m 12(cost)m 11(speci\014ed)m 11(in)m 11(the)m 12(advertisement)m 104 2482 p 89 c -5 r 46 c 10 r 88 c 10(is)m 11(in)m 10(terms)m 10(of)m 11(the)m 10(link)m 11(state)m 10(metric,)m 11(and)m 10 r 89 c 10(is)m 11 r 97 c 10 r 84 c -2(ype)m 10 r 49 c 10(or)m 11 r 50 c 10(external)m 10(metric.)m 0 2517 p 780 2 ru t-rom.180 @sf 33 2545 p (20)s t-rom.240 @sf 60 2557 p (Note)s 8(the)m 9(similarity)m 8(between)m 8(this)m 9(procedure)m 8(and)m 8(the)m 9(calculation)m 8(of)m 8(inter)m (-area)s 8(routes)m 8(by)m 9 r 97 c 8(router)m 8(internal)m 9(to)m 8(Area)m 8(A.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(76)m @eop 75 @bop0 75 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (The)s 8(speci\014cation)m 8(does)m 8(not)m 8(require)m 8(that)m 7(the)m 8(above)m 8(method)m 8(be)m 8(used)m 8(to)m 8(calculate)m 8(the)m 8(shortest)m 8(path)m 7(tree.)m 13(However)m 44 c 7(if)m 8(another)m 0 245 p (algorithm)s 10(is)m 10(used,)m 10(an)m 10(identical)m 9(tree)m 10(must)m 10(be)m 10(produced.)m 14(For)m 10(this)m 9(reason,)m 10(it)m 10(is)m 10(important)m 10(to)m 10(note)m 10(that)m 10(links)m 9(between)m 10(transit)m 0 295 p (vertices)s 10(must)m 11(be)m 10(bidirectional)m 10(in)m 10(ordered)m 11(to)m 10(be)m 10(included)m 11(in)m 10(the)m 10(above)m 10(tree.)m 14(It)m 11(should)m 10(also)m 10(be)m 11(mentioned)m 10(that)m 10(algorithms)m 0 345 p (exist)s 10(for)m 11(incrementally)m 10(updating)m 11(the)m 10(shortest-path)m 10(tree)m 11(\(see)m 10([BBN]\).)m t-bol.300 @sf 0 470 p (16.1.1)s 42(The)m 10(next)m 10(hop)m 11(calculation)m t-rom.300 @sf 0 563 p (This)s 12(section)m 11(explains)m 12(how)m 12(to)m 12(calculate)m 11(the)m 12(set)m 12(of)m 11(next)m 12(hops)m 12(as)m 12(each)m 11(vertex)m 12(is)m 12(added)m 12(to)m 11(the)m 12(shortest)m 12(path)m 11(tree.)m 18(Input)m 12(to)m 0 613 p (this)s 10(calculation)m 11(is)m 10(the)m 11(newly)m 10(added)m 10(vertex)m 11(\(also)m 10(called)m 11(the)m 10(destination\))m 11(and)m 10(its)m 10(parent)m 11(in)m 10(the)m 11(tree.)m 0 679 p (If)s 10(there)m 10(is)m 10(at)m 10(least)m 10(one)m 10(intervening)m 11(router)m 10(between)m 10(the)m 10(newly)m 10(added)m 10(vertex)m 10(and)m 10(the)m 10(root,)m 10(the)m 10(newly)m 10(added)m 11(vertex)m 10(simply)m 0 728 p (inherits)s 11(the)m 11(set)m 11(of)m 11(next)m 11(hops)m 10(from)m 11(the)m 11(parent.)m 16(Otherwise,)m 11(there)m 11(are)m 10(two)m 11(cases.)m 16(In)m 11(the)m 10(\014rst)m 11(case,)m 11(the)m 11(parent)m 11(vertex)m 11(is)m 11(the)m 0 778 p (root)s 12(\(the)m 12(calculating)m 13(router)m 12(itself\).)m 19(This)m 13(means)m 12(that)m 12(the)m 12(destination)m 13(is)m 12(either)m 12 r 97 c 12(directly)m 13(connected)m 12(network)m 12(or)m 12(directly)m 0 828 p (connected)s 8(router)m -1 r 46 c 12(The)m 9(next)m 8(hop)m 8(in)m 8(this)m 9(case)m 8(is)m 8(the)m 9(interface)m 8(indicated)m 8(by)m 9(the)m 8(newly)m 8(added)m 8(link.)m 14(No)m 8(IP)m 8(address)m 9(is)m 8(required)m 0 878 p (for)s 10(these)m 11(next)m 10(hops.)m 0 943 p (In)s 10(the)m 11(second)m 10(case,)m 11(the)m 10(newly)m 11(added)m 10(vertex)m 11(is)m 10 r 97 c 10(router)m 44 c 9(and)m 11(its)m 10(parent)m 11(vertex)m 10(is)m 10 r 97 c 11(network.)m 14(The)m 10(list)m 11(of)m 10(next)m 11(hops)m 10(is)m 10(then)m 0 993 p (determined)s 12(by)m 12(examining)m 12(the)m 12(newly)m 12(added)m 12(router)m 2 r 39 c -1 r 115 c 11(link)m 12(state)m 12(advertisement.)m 19(For)m 12(each)m 12(link)m 12(in)m 12(the)m 12(advertisement)m 12(that)m 0 1043 p (points)s 10(back)m 11(to)m 10(the)m 11(parent)m 10(network,)m 10(the)m 11(link')m -1 r 115 c 9(Link)m 10(Data)m 11(\014eld)m 10(provides)m 11(the)m 10(IP)m 11(address)m 10(of)m 10 r 97 c 11(next)m 10(hop.)m t-bol.360 @sf 0 1176 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 1270 p (The)s 9(inter)m (-area)s 7(routes)m 9(are)m 9(calculated)m 8(by)m 9(examining)m 8(summary)m 9(link)m 9(advertisements.)m 13(If)m 8(the)m 9(router)m 9(has)m 8(active)m 9(attachments)m 8(to)m 0 1320 p (multiple)s 10(areas,)m 11(only)m 10(backbone)m 10(summary)m 11(link)m 10(advertisements)m 10(are)m 11(examined.)m 14(Routers)m 10(attached)m 10(to)m 11 r 97 c 10(single)m 10(area)m 11(examine)m 0 1370 p (that)s 11(area')m -1 r 115 c 10(summary)m 12(links.)m 16(In)m 12(either)m 11(case,)m 12(the)m 11(summary)m 12(links)m 11(examined)m 11(below)m 12(are)m 11(all)m 11(part)m 12(of)m 11 r 97 c 11(single)m 12(area')m -2 r 115 c 11(link)m 11(state)m 0 1419 p (database)s 10(\(call)m 11(it)m 10(Area)m 11(A\).)m 0 1485 p (Summary)s 11(link)m 10(advertisements)m 11(are)m 11(originated)m 11(by)m 10(the)m 11(area)m 11(border)m 11(routers.)m 15(Each)m 10(summary)m 11(link)m 11(advertisement)m 11(in)m 10(Area)m 11 r 65 c 0 1535 p (is)s 12(considered)m 11(in)m 12(turn.)m 17(Remember)m 11(that)m 12(the)m 11(destination)m 12(described)m 11(by)m 12 r 97 c 11(summary)m 12(link)m 11(advertisement)m 12(is)m 11(either)m 12 r 97 c 11(network)m 0 1585 p (or)s 10(an)m 11(AS)m 10(boundary)m 11(router)m -2 r 46 c 13(For)m 11(each)m 10(summary)m 11(link)m 10(advertisement:)m cmsy10.300 @sf 62 1686 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(cost)m 10(speci\014ed)m 11(by)m 10(the)m 11(advertisement)m 10(is)m 10(LSIn\014nity)m -1 r 44 c 9(then)m 10(examine)m 11(the)m 10(next)m 11(advertisement.)m cmsy10.300 @sf 62 1767 p 15 c t-rom.300 @sf 21(If)m 10(the)m 11(advertisement)m 10(was)m 11(originated)m 10(by)m 11(the)m 10(router)m 10(itself,)m 11(examine)m 10(the)m 11(next)m 10(advertisement.)m cmsy10.300 @sf 62 1848 p 15 c t-rom.300 @sf 21(Else,)m 13(call)m 12(the)m 13(destination)m 12(described)m 13(by)m 12(the)m 12(advertisement)m 13(N,)m 12(and)m 13(the)m 12(area)m 13(border)m 12(originating)m 12(the)m 13(advertisement)m 104 1898 p (BR.)s 13(Look)m 9(up)m 10(the)m 9(routing)m 9(table)m 9(entry)m 9(for)m 9(BR)m 9(having)m 10 r 65 c 9(as)m 9(its)m 9(associated)m 9(area.)m 14(If)m 9(no)m 9(such)m 9(entry)m 9(exists)m 9(for)m 10(router)m 9(BR)m 104 1948 p (\(i.e.,)s 12(BR)m 12(is)m 12(unreachable)m 11(in)m 12(Area)m 12(A\),)m 12(do)m 11(nothing)m 12(with)m 12(this)m 12(advertisement)m 12(and)m 11(consider)m 12(the)m 12(next)m 12(in)m 12(the)m 11(list.)m 18(Else,)m 104 1998 p (this)s 11(advertisement)m 12(describes)m 11(an)m 12(inter)m (-area)s 11(path)m 11(to)m 12(destination)m 11(N,)m 12(whose)m 11(cost)m 12(is)m 11(the)m 12(distance)m 11(to)m 12(BR)m 11(plus)m 12(the)m 11(cost)m 104 2048 p (speci\014ed)s 10(in)m 11(the)m 10(advertisement.)m 14(Call)m 10(the)m 11(cost)m 10(of)m 11(this)m 10(inter)m (-area)s 10(path)m 10(IAC.)m cmsy10.300 @sf 62 2129 p 15 c t-rom.300 @sf 21(Next,)m 13(look)m 12(up)m 12(the)m 12(routing)m 12(table)m 12(entry)m 13(for)m 12(the)m 12(destination)m 12(N.)m 12(\(The)m 12(entry')m -1 r 115 c 11(Destination)m 12(type)m 12(is)m 13(either)m 12(Network)m 12(or)m 104 2178 p (AS)s 12(boundary)m 11(router)m -1(.\))m 17(If)m 12(no)m 12(entry)m 12(exists)m 12(for)m 11 r 78 c 12(or)m 12(if)m 12(the)m 12(entry')m -2 r 115 c 11(path)m 12(type)m 12(is)m 12(\\AS)m 12(external",)m 12(install)m 12(the)m 11(inter)m (-area)s 104 2228 p (path)s 9(to)m 10(N,)m 9(with)m 10(associated)m 9(area)m 10(A,)m 10(cost)m 9(IAC,)m 10(next)m 9(hop)m 10(equal)m 9(to)m 10(the)m 9(list)m 10(of)m 9(next)m 10(hops)m 9(to)m 10(router)m 10(BR,)m 9(and)m 10(advertising)m 104 2278 p (router)s 10(equal)m 11(to)m 10(BR.)m cmsy10.300 @sf 62 2359 p 15 c t-rom.300 @sf 21(Else,)m 9(if)m 10(the)m 9(paths)m 9(present)m 9(in)m 9(the)m 10(table)m 9(are)m 9(intra-area)m 9(paths,)m 10(do)m 9(nothing)m 9(with)m 9(the)m 10(advertisement)m 9(\(intra-area)m 9(paths)m 9(are)m 104 2409 p (always)s 10(preferred\).)m cmsy10.300 @sf 62 2490 p 15 c t-rom.300 @sf 21(Else,)m 15(the)m 13(paths)m 14(present)m 14(in)m 14(the)m 14(routing)m 13(table)m 14(are)m 14(also)m 14(inter)m (-area)s 13(paths.)m 24(Install)m 14(the)m 13(new)m 14(path)m 14(through)m 14(BR)m 14(if)m 13(it)m 14(is)m 104 2540 p (cheaper)s -1 r 44 c 11(overriding)m 11(the)m 11(paths)m 11(in)m 11(the)m 12(routing)m 11(table.)m 16(Otherwise,)m 12(if)m 11(the)m 11(new)m 11(path)m 12(is)m 11(the)m 11(same)m 11(cost,)m 12(add)m 11(it)m 11(to)m 12(the)m 11(list)m 104 2589 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(75)m @eop 74 @bop0 74 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 268 195 p 123 c t-rom.300 @sf 21(Equal)m 10(to)m 10(the)m 11(value)m 10(that)m 10(appears)m 10(for)m 10(vertex)m 10 r 87 c 10(on)m 10(the)m 11(the)m 10(candidate)m 10(list,)m 10(calculate)m 10(the)m 10(set)m 10(of)m 10(next)m 11(hops)m 310 245 p (that)s 13(result)m 13(from)m 13(using)m 13(the)m 12(advertised)m 13(link.)m 21(Input)m 13(to)m 13(this)m 13(calculation)m 13(is)m 13(the)m 13(destination)m 12(\(W\),)m 13(and)m 13(its)m 310 295 p (parent)s 9(\(V\).)m 9(This)m 9(calculation)m 8(is)m 9(shown)m 9(in)m 9(Section)m 9(16.1.1.)m 13(This)m 9(set)m 9(of)m 8(hops)m 9(should)m 9(be)m 9(added)m 9(to)m 8(the)m 9(next)m 310 345 p (hop)s 10(values)m 11(that)m 10(appear)m 11(for)m 10 r 87 c 11(on)m 10(the)m 10(candidate)m 11(list.)m t-bol.300 @sf 268 401 p 123 c t-rom.300 @sf 21(Less)m 11(than)m 11(the)m 10(value)m 11(that)m 11(appears)m 10(for)m 11(vertex)m 11 r 87 c 10(on)m 11(the)m 10(the)m 11(candidate)m 11(list,)m 11(or)m 10(if)m 11 r 87 c 10(does)m 11(not)m 11(yet)m 10(appear)m 310 451 p (on)s 16(the)m 15(candidate)m 16(list,)m 16(then)m 16(set)m 16(the)m 15(entry)m 16(for)m 15 r 87 c 16(on)m 15(the)m 16(candidate)m 15(list)m 16(to)m 15(indicate)m 16 r 97 c 15(distance)m 16(of)m 15 r 68 c 310 500 p (from)s 13(the)m 14(root.)m 22(Also)m 14(calculate)m 13(the)m 13(list)m 14(of)m 13(next)m 13(hops)m 14(that)m 13(result)m 14(from)m 13(using)m 13(the)m 14(advertised)m 13(link)m 13(\(see)m 310 550 p (Section)s 10(16.1.1\),)m 11(setting)m 10(the)m 11(next)m 10(hop)m 11(values)m 10(for)m 10 r 87 c 11(accordingly)m -2 r 46 c t-bol.300 @sf 0 628 p (Step)s 10 r 50 c t-rom.300 @sf 32(If)m 11(at)m 11(this)m 11(step)m 11(the)m 12(candidate)m 11(list)m 11(is)m 11(empty)m -1 r 44 c 10(the)m 11(shortest-path)m 11(tree)m 12(\(of)m 11(transit)m 11(vertices\))m 11(has)m 11(been)m 12(completely)m 11(built)m 141 678 p (and)s 10(this)m 9(stage)m 10(of)m 10(the)m 9(algorithm)m 10(terminates.)m 14(Otherwise,)m 9(choose)m 10(the)m 10(vertex)m 9(belonging)m 10(to)m 9(the)m 10(candidate)m 10(list)m 9(that)m 10(is)m 141 728 p (closest)s 11(to)m 10(the)m 10(root,)m 11(and)m 10(add)m 11(it)m 10(to)m 10(the)m 11(shortest-path)m 10(tree)m 11(\(removing)m 10(it)m 11(from)m 10(the)m 10(candidate)m 11(list)m 10(in)m 11(the)m 10(process\).)m t-bol.300 @sf 0 807 p (Step)s 10 r 51 c t-rom.300 @sf 32(Possibly)m 11(modify)m 12(the)m 11(routing)m 12(table.)m 17(For)m 12(those)m 11(routing)m 12(table)m 11(entries)m 12(modi\014ed,)m 12(the)m 11(associated)m 12(area)m 11(will)m 12(be)m 12(Area)m 141 857 p (A,)s 11(the)m 10(path)m 10(type)m 11(will)m 10(be)m 11(intra-area,)m 10(and)m 10(its)m 11(cost)m 10(will)m 11(be)m 10(equal)m 11(to)m 10(the)m 10(distance)m 11(from)m 10(the)m 11(root)m 10(to)m 10(the)m 11(vertex.)m 141 921 p (If)s 11(the)m 11(newly)m 11(added)m 11(vertex)m 11(is)m 11 r 97 c 11(router)m -1 r 44 c 10(multiple)m 11(routing)m 11(table)m 11(entries)m 11(may)m 11(be)m 11(added/modi\014ed,)m 11(or)m 11(none)m 11(at)m 10(all.)m 16(If)m 141 971 p (the)s 12(new)m 12(added)m 12(router)m 12(is)m 12(an)m 12(area)m 11(border)m 12(router)m 44 c 11 r 97 c 12(routing)m 12(table)m 12(entry)m 12(is)m 11(added)m 12(whose)m 12(destination)m 12(type)m 12(is)m 12(\\area)m 141 1021 p (border)s 9(router)m 2(".)m 13(In)m 10(addition,)m 9(if)m 9(the)m 10(newly)m 9(added)m 9(router)m 10(is)m 9(an)m 9(AS)m 9(boundary)m 10(router)m -1 r 44 c 9(the)m 9(routing)m 9(table)m 9(entry)m 10(of)m 9(type)m 141 1071 p (\\AS)s 11(boundary)m 10(router)m 2 r 34 c 11(for)m 10(the)m 11(router)m 10(is)m 11(located.)m 15(Since)m 10(routers)m 11(can)m 10(belong)m 11(to)m 11(more)m 10(than)m 11(one)m 11(area,)m 10(it)m 11(is)m 10(possible)m 141 1121 p (that)s 12(an)m 12(intra-area)m 12(route)m 12(of)m 12(equal)m 12(or)m 12(better)m 12(cost)m 12(already)m 12(exists)m 12(using)m 12(another)m 12(area.)m 19(In)m 12(this)m 12(case,)m 12(do)m 12(not)m 12(modify)m 141 1170 p (the)s 11(already)m 10(existing)m 10(entry)m -1 r 46 c 13(Otherwise,)m 10(install)m 10(the)m 11(new)m 10(values)m 11(for)m 10(the)m 10(AS)m 11(boundary)m 10(router)m -1 r 46 c 141 1235 p (If)s 11(the)m 11(newly)m 12(added)m 11(vertex)m 11(is)m 11 r 97 c 11(transit)m 11(network,)m 12(the)m 11(routing)m 11(table)m 11(entry)m 11(for)m 11(the)m 11(network)m 11(is)m 12(located.)m 16(The)m 11(entry')m -2 r 115 c 141 1285 p (destination)s 11(ID)m 11(is)m 11(the)m 11(IP)m 11(network)m 11(number)m -1 r 44 c 11(which)m 10(can)m 11(be)m 11(obtained)m 11(by)m 11(masking)m 11(the)m 11(vertex)m 11(identi\014er)m 11(\(Link)m 11(State)m 141 1335 p (ID\))s 14(with)m 13(its)m 13(associated)m 14(subnet)m 13(mask)m 14(\(found)m 13(in)m 14(the)m 13(associated)m 14(link)m 13(state)m 13(advertisement\).)m 23(If)m 14(the)m 13(routing)m 14(table)m 141 1385 p (entry)s 12(already)m 11(exists)m 12(\(i.e.,)m 11(there)m 12(is)m 11(already)m 12(an)m 11(intra-area)m 12(route)m 11(to)m 12(the)m 11(destination)m 12(installed)m 11(in)m 12(the)m 11(routing)m 12(table\),)m 141 1434 p (multiple)s 11(vertices)m 11(have)m 11(mapped)m 11(to)m 11(the)m 11(same)m 11(IP)m 11(network.)m 15(For)m 11(example,)m 11(this)m 11(can)m 11(occur)m 11(when)m 11 r 97 c 11(new)m 11(Designated)m 141 1484 p (Router)s 9(is)m 9(being)m 8(established.)m 14(In)m 9(this)m 8(case,)m 9(the)m 9(current)m 9(routing)m 9(table)m 9(entry)m 8(should)m 9(not)m 9(be)m 9(overwritten)m 8(\(because)m 9(the)m 141 1534 p (previously)s 11(found)m 10(route)m 10(will)m 11(be)m 10(shorter\).)m 14(Otherwise,)m 11 r 97 c 10(routing)m 10(table)m 11(entry)m 10(for)m 11(the)m 10(IP)m 10(network)m 11(should)m 10(be)m 11(added.)m t-bol.300 @sf 0 1613 p (Step)s 10 r 52 c t-rom.300 @sf 32(Iterate)m 10(the)m 10(algorithm)m 11(by)m 10(returning)m 11(to)m 10(Step)m 11(1.)m 0 1710 p (The)s 13(stub)m 13(networks)m 14(are)m 13(added)m 13(to)m 13(the)m 14(tree)m 13(in)m 13(the)m 13(procedure')m -1 r 115 c 12(second)m 14(stage.)m 22(In)m 13(this)m 13(stage,)m 14(all)m 14(router)m 13(vertices)m 13(are)m 13(again)m 0 1760 p (examined.)s 13(Those)m 7(that)m 7(have)m 7(been)m 7(determined)m 7(to)m 7(be)m 7(unreachable)m 7(in)m 7(the)m 7(above)m 7(\014rst)m 7(phase)m 7(are)m 7(discarded.)m 13(For)m 7(each)m 7(reachable)m 0 1809 p (router)s 14(vertex,)m 14(the)m 14(associated)m 13(router)m 14(links)m 13(advertisement)m 14(is)m 14(found)m 13(in)m 14(the)m 13(link)m 14(state)m 14(database.)m 23(Each)m 14(stub)m 13(network)m 14(link)m 0 1859 p (appearing)s 10(in)m 11(the)m 10(advertisement)m 11(is)m 10(then)m 10(examined.)m 0 1923 p (If)s 13(the)m 13(cost)m 13(of)m 13(the)m 14(stub)m 13(network)m 13(link)m 13(is)m 13(LSIn\014nity)m -2 r 44 c 13(the)m 13(link)m 13(should)m 14(not)m 13(be)m 13(used)m 13(for)m 13(data)m 13(traf)m (\014c.)s 21(In)m 14(this)m 13(case,)m 13(go)m 14(on)m 13(to)m 0 1973 p (examine)s 12(the)m 12(next)m 12(stub)m 12(network)m 12(link)m 12(in)m 11(the)m 12(advertisement.)m 19(Otherwise,)m 12(Calculate)m 12(the)m 12(distance)m 12 r 68 c 12(of)m 12(stub)m 12(network)m 12(from)m 0 2023 p (the)s 13(root.)m 22 r 68 c 13(is)m 13(equal)m 13(to)m 13(the)m 13(distance)m 13(from)m 13(the)m 13(root)m 13(to)m 13(the)m 13(router)m 13(vertex)m 13(\(calculated)m 13(in)m 13(stage)m 13(1\),)m 13(plus)m 13(the)m 13(stub)m 13(network)m 0 2072 p (link')s -1 r 115 c 10(advertised)m 11(cost.)m 16(Compare)m 11(this)m 11(cost)m 11(to)m 11(the)m 11(current)m 11(best)m 11(distance)m 11(to)m 11(the)m 11(stub)m 11(network.)m 16(This)m 11(is)m 11(done)m 11(by)m 11(looking)m 11(up)m 0 2122 p (the)s 9(network')m -1 r 115 c 8(current)m 9(routing)m 10(table)m 9(entry)m -2 r 46 c 13(If)m 9(the)m 9(calculated)m 9(distance)m 10 r 68 c 9(is)m 9(lar)m (ger)s -1 r 44 c 8(go)m 9(on)m 10(to)m 9(examine)m 9(the)m 9(next)m 10(stub)m 9(network)m 0 2172 p (link)s 10(in)m 11(the)m 10(advertisement.)m 0 2236 p (Otherwise,)s 9(the)m 9(stub)m 8(link)m 9(is)m 8(added)m 9(to)m 8(the)m 9(tree.)m 13(As)m 9 r 97 c 8(result,)m 9(the)m 9(corresponding)m 9(routing)m 8(table)m 9(entry)m 8(must)m 9(be)m 8(updated.)m 14(Calcu-)m 0 2286 p (late)s 8(the)m 8(set)m 9(of)m 8(next)m 8(hops)m 8(that)m 9(would)m 8(result)m 8(from)m 8(using)m 9(the)m 8(stub)m 8(network)m 8(link.)m 14(This)m 8(calculation)m 8(is)m 8(shown)m 9(in)m 8(Section)m 8(16.1.1;)m 0 2335 p (input)s 9(to)m 9(this)m 9(calculation)m 9(is)m 9(the)m 9(destination)m 9(\(the)m 9(stub)m 9(network\))m 9(and)m 9(the)m 10(parent)m 9(vertex)m 9(\(the)m 9(router)m 9(vertex\).)m 13(If)m 9(the)m 9(distance)m 9 r 68 c 0 2385 p (is)s 9(the)m 9(same)m 10(as)m 9(the)m 9(current)m 9(routing)m 10(table)m 9(distance,)m 9(simply)m 10(add)m 9(this)m 9(set)m 9(of)m 10(next)m 9(hops)m 9(to)m 9(the)m 10(routing)m 9(table)m 9(entry')m -1 r 115 c 8(list)m 9(of)m 10(next)m 0 2435 p (hops.)s 13(Otherwise,)m 10(set)m 9(the)m 9(routing)m 9(table)m 9(entry')m -1 r 115 c 8(distance)m 9(to)m 10(D,)m 9(and)m 9(set)m 9(the)m 9(entry')m -1 r 115 c 8(list)m 9(of)m 9(next)m 10(hops)m 9(to)m 9(the)m 9(newly)m 9(calculated)m 0 2485 p (set.)s 14(Then)m 10(go)m 11(on)m 10(to)m 11(examine)m 10(the)m 10(next)m 11(stub)m 10(network)m 11(link.)m 0 2549 p (When)s 11(the)m 11(list)m 11(of)m 11(reachable)m 11(router)m 11(links)m 11(is)m 12(exhausted,)m 11(the)m 11(second)m 11(stage)m 11(is)m 11(completed.)m 16(At)m 11(this)m 11(time,)m 11(all)m 11(intra-area)m 11(routes)m 0 2599 p (associated)s 10(with)m 11(Area)m 10 r 65 c 11(have)m 10(been)m 10(determined.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(74)m @eop 73 @bop0 cmmi10.300 @sf [ 40 28 -2 0 40.271] 77 @dc [<1E0E00319900607880E03880E03880E03880E01C00E01C00E01C00E01C00700E00700E00300E00 380E00180F000C0F0007170001E300> 24 18 -2 0 21.942] 97 @dc [<78780084C600E58100F38100F3808063808001C00001C00001C00001C00000E00000E00040E180 20E3C020F1E010F0C008C840078780> 24 18 -2 0 23.724] 120 @dc [ 32 28 -1 0 31.133] 65 @dc [<7E0000E18000F0E000F0600060700000700000380000380007380008F800183C00381C00381C00 381C00380E00380E00380E00380E001C07001C07000C07000E0700060780030780018B80007180> 24 26 -1 8 19.799] 103 @dc [<0F80306060106008E004E000E000E000E000E0007FC070303008380818040C08070801F0> 16 18 -2 0 19.328] 101 @dc 1 /cmmi8.300 @newfont cmmi8.300 @sf [<0000300000F00003C0000700001E0000780001E0000780000E00003C0000F00000F000003C0000 0E000007800001E000007800001E000007000003C00000F0000030> 24 22 -3 3 27.443] 60 @dc 73 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (The)s 12(procedure)m 11(will)m 12(be)m 12(explained)m 11(using)m 12(the)m 11(graph)m 12(terminology)m 12(that)m 11(was)m 12(introduced)m 12(in)m 11(Section)m 12(2.)m 17(The)m 12(area')m -1 r 115 c 10(link)m 12(state)m 0 245 p (database)s 10(is)m 11(represented)m 10(as)m 11 r 97 c 10(directed)m 11(graph.)m 14(The)m 10(graph')m -1 r 115 c 10(vertices)m 10(are)m 11(routers,)m 10(transit)m 11(networks)m 10(and)m 11(stub)m 10(networks.)m 14(The)m 0 295 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 345 p (Each)s 10(transit)m 10(vertex)m 10(has)m 9(an)m 10(associated)m 10(link)m 10(state)m 10(advertisement.)m 13(Throughout)m 10(the)m 10(shortest)m 10(path)m 10(calculation,)m 10(the)m 10(following)m 0 394 p (data)s 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 504 p 86 c -3(ertex)m 10(\(node\))m 10(ID)m t-rom.300 @sf 21(The)m 10(vertex')m -1 r 115 c 10(identi\014er)m -2 r 46 c 14(For)m 10(router)m 11(vertices)m 10(this)m 11(is)m 10(an)m 11(OSPF)m 11(Router)m 10(ID.)m 11(For)m 10(network)m 11(vertices,)m 10(this)m 11(is)m 104 553 p (the)s 10(IP)m 11(address)m 10(of)m 11(the)m 10(network')m -1 r 115 c 10(Designated)m 10(Router)m 11(\(the)m 10(actual)m 11(originator)m 10(of)m 11(the)m 10(advertisement\).)m 14(In)m 11(any)m 10(case,)m 11(the)m 104 603 p 86 c -4(ertex)m 10(ID)m 10(is)m 10(the)m 11(same)m 10(as)m 11(the)m 10(associated)m 10(link)m 11(state)m 10(advertisement')m -1 r 115 c 9(Link)m 11(State)m 10(ID.)m t-bol.300 @sf 0 686 p (Distance)s 10(to)m 11 r 114 c (oot)s t-rom.300 @sf 20(The)m 10(current)m 11(best)m 10(distance)m 11(from)m 10(the)m 10(root)m 11(to)m 10(the)m 11(vertex,)m 10(expressed)m 10(in)m 11(the)m 10(link)m 11(state)m 10(metric.)m t-bol.300 @sf 0 769 p (List)s 10(of)m 11(next)m 10(hops)m t-rom.300 @sf 21(the)m 12(list)m 12(of)m 12(next)m 12(hops)m 12(for)m 12(the)m 12(current)m 12(best)m 12(paths)m 12(from)m 12(the)m 12(root)m 12(to)m 12(this)m 12(vertex.)m 19(There)m 12(can)m 12(be)m 12(multiple)m 104 819 p (best)s 10(paths)m 11(due)m 10(to)m 10(the)m 11(equal-cost)m 10(multipath)m 11(capability)m -2 r 46 c 0 928 p (The)s 11(\014rst)m 12(stage)m 11(of)m 12(the)m 11(procedure)m 11(can)m 12(now)m 11(be)m 12(summarized)m 11(as)m 12(follows:)m 15(At)m 12(any)m 11(step,)m 12(there)m 11(is)m 12 r 97 c 11(list)m 12(of)m 11(candidate)m 11(vertices.)m 0 978 p (The)s 10(best)m 9(paths)m 10(from)m 9(the)m 10(root)m 9(to)m 10(these)m 9(vertices)m 10(have)m 9(not)m 10(been)m 9(found.)m 14(The)m 9(candidate)m 10(vertex)m 9(closest)m 10(to)m 9(the)m 10(root)m 9(is)m 10(added)m 9(to)m 0 1028 p (the)s 11(shortest-path)m 11(tree)m 12(\(and)m 11(the)m 11(routing)m 11(table\),)m 12(removed)m 11(from)m 11(the)m 11(candidate)m 12(list,)m 11(and)m 11(its)m 12(adjacent)m 11(vertices)m 11(are)m 11(examined)m 0 1078 p (for)s 11(possible)m 11(addition)m 11(to)m 11(the)m 11(candidate)m 11(list.)m 16(The)m 11(algorithm)m 11(then)m 12(iterates.)m 15(It)m 12(terminates)m 11(when)m 11(the)m 11(candidate)m 11(list)m 11(becomes)m 0 1127 p (empty)s -2 r 46 c 0 1195 p (This)s 11(is)m 12(described)m 11(in)m 12(detail)m 11(below)m -2 r 46 c 16(Remember)m 11(that)m 12(we)m 11(are)m 12(computing)m 11(the)m 11(shortest)m 12(path)m 11(tree)m 11(for)m 12(Area)m 11(A.)m 12(All)m 11(references)m 0 1245 p (to)s 10(link)m 11(state)m 10(database)m 11(lookup)m 10(below)m 10(are)m 11(from)m 10(Area)m 11 r 65 c -4 r 39 c -2 r 115 c 9(database.)m t-bol.300 @sf 0 1354 p (Step)s 10 r 48 c t-rom.300 @sf 32(Initialize)m 11(the)m 12(algorithm')m -1 r 115 c 10(data)m 12(structures.)m 17(Clear)m 12(the)m 12(list)m 11(of)m 12(candidate)m 12(vertices.)m 17(Initialize)m 12(the)m 12(shortest-path)m 11(tree)m 141 1404 p (to)s 11(only)m 10(the)m 10(root)m 11(\(which)m 10(is)m 11(the)m 10(router)m 10(itself\).)m t-bol.300 @sf 0 1487 p (Step)s 10 r 49 c t-rom.300 @sf 32(Call)m 12(the)m 13(vertex)m 13(just)m 12(added)m 13(to)m 13(the)m 13(tree)m 12(vertex)m 13 r 86 c -4 r 46 c 11(Examine)m 13(the)m 13(link)m 13(state)m 12(advertisement)m 13(associated)m 13(with)m 12(vertex)m 141 1537 p 86 c -4 r 46 c 11(This)m 12(is)m 12 r 97 c 12(lookup)m 12(in)m 13(the)m 12(area)m 12(link)m 12(state)m 12(database)m 12(based)m 12(on)m 13(the)m 12(vertex)m 12(identi\014er)m -1 r 46 c 18(Each)m 12(link)m 12(described)m 12(by)m 12(the)m 141 1587 p (advertisement)s 12(gives)m 12(the)m 12(cost)m 11(to)m 12(an)m 12(adjacent)m 12(vertex.)m 18(For)m 12(each)m 11(advertised)m 12(link,)m 12(\(say)m 12(it)m 12(joins)m 12(vertex)m 11 r 86 c 12(to)m 12(vertex)m 141 1636 p (W\):)s cmsy10.300 @sf 191 1719 p 15 c t-rom.300 @sf 21(If)m 12(this)m 12(is)m 12 r 97 c 12(link)m 12(to)m 13 r 97 c 12(stub)m 12(network,)m 13(examine)m 12(the)m 12(next)m 12(link)m 12(in)m 12(V')m -1 r 115 c 11(advertisement.)m 19(Links)m 13(to)m 12(stub)m 12(networks)m 232 1769 p (will)s 11(be)m 10(considered)m 11(in)m 10(the)m 11(second)m 10(stage)m 10(of)m 11(the)m 10(shortest)m 11(path)m 10(calculation.)m cmsy10.300 @sf 191 1836 p 15 c t-rom.300 @sf 21 r 87 c 14(is)m 15(then)m 14 r 97 c 14(transit)m 15(vertex)m 14(\(router)m 15(ot)m 14(transit)m 14(network\).)m 26(Look)m 15(up)m 14(the)m 15(vertex)m 14(W')m -1 r 115 c 13(advertisement)m 15(\(router)m 232 1885 p (links)s 12(or)m 12(network)m 12(links\))m 12(in)m 12(the)m 11(area)m 12(link)m 12(state)m 12(database.)m 18(If)m 12(the)m 12(advertisement)m 12(does)m 12(not)m 11(exist,)m 13(or)m 11(its)m 12(age)m 12(is)m cmr10.300 @sf 232 1935 p 61 c cmmi10.300 @sf 17 r 77 c 5(axAg)m 1 r 101 c t-rom.300 @sf 44 c 14(or)m 13(it)m 13(does)m 13(not)m 13(have)m 12 r 97 c 13(link)m 13(back)m 13(to)m 13(vertex)m 13 r 86 c -4 r 44 c 11(examine)m 13(the)m 13(next)m 13(link)m 13(in)m 13(V')m -1 r 115 c 11(advertisement.)m 232 1985 p (Both)s 11(ends)m 10(of)m 11 r 97 c 10(link)m 11(must)m 10(advertise)m 10(it)m 11(before)m 10(it)m 11(will)m 10(be)m 10(used)m 11(for)m 10(data)m 11(traf)m (\014c.)s t-rom.210 @sf 1470 1970 p (19)s cmsy10.300 @sf 191 2052 p 15 c t-rom.300 @sf 21(If)m 10(vertex)m 11 r 87 c 10(is)m 10(already)m 11(on)m 10(the)m 11(shortest-path)m 10(tree,)m 10(examine)m 11(the)m 10(next)m 11(link)m 10(in)m 11(the)m 10(advertisement.)m cmsy10.300 @sf 191 2118 p 15 c t-rom.300 @sf 21(If)m 12(the)m 13(cost)m 13(of)m 12(the)m 13(link)m 12(\(from)m 13 r 86 c 13(to)m 12(W\))m 13(is)m 12(LSIn\014nity)m -1 r 44 c 12(the)m 13(link)m 12(should)m 13(not)m 12(be)m 13(used)m 13(for)m 12(data)m 13(traf)m (\014c.)s 20(In)m 12(this)m 232 2168 p (case,)s 11(examine)m 10(the)m 11(next)m 10(link)m 11(in)m 10(the)m 10(advertisement.)m cmsy10.300 @sf 191 2234 p 15 c t-rom.300 @sf 21(Calculate)m 11(the)m 11(distance)m 12 r 68 c 11(of)m 11(vertex)m 12 r 87 c 11(from)m 11(the)m 11(root,)m 12(when)m 11(the)m 12(advertised)m 11(link)m 11(is)m 12(used.)m 16 r 68 c 11(is)m 12(equal)m 11(to)m 11(the)m 232 2284 p (distance)s 11(from)m 10(the)m 11(root)m 10(to)m 11(vertex)m 10 r 86 c -4 r 44 c 9(plus)m 10(the)m 11(advertised)m 10(link')m -1 r 115 c 9(cost.)m 14(If)m 11 r 68 c 10(is:)m t-bol.300 @sf 268 2350 p 123 c t-rom.300 @sf 21(Greater)m 9(than)m 9(the)m 8(value)m 9(that)m 9(already)m 9(appears)m 8(for)m 9(vertex)m 9 r 87 c 8(on)m 9(the)m 9(candidate)m 9(list,)m 9(then)m 8(examine)m 9(the)m 9(next)m 310 2400 p (link.)s 0 2427 p 780 2 ru t-rom.180 @sf 33 2455 p (19)s t-rom.240 @sf 60 2467 p (This)s 10(means)m 11(that)m 10(before)m 10(data)m 10(traf)m (\014c)s 10(will)m 10(\015ow)m 10(between)m 11 r 97 c 10(pair)m 10(of)m 10(neighboring)m 11(routers,)m 10(their)m 11(link)m 10(state)m 10(databases)m 10(must)m 11(be)m 10(synchronized.)m 17(Before)m 0 2506 p (synchronization)s 8(\(neighbor)m 9(state)m cmmi8.300 @sf 8 r 60 c t-rom.240 @sf 8(Full\),)m 9(neither)m 8(router)m 8(will)m 9(advertise)m 8(the)m 8(other)m 9(in)m 8(its)m 8(link)m 9(state)m 8(advertisements.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(73)m @eop 72 @bop0 72 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 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 306 p (This)s 10(section)m 9(details)m 10(the)m 9(OSPF)m 10(routing)m 10(table)m 9(calculation.)m 14(Using)m 9(its)m 10(attached)m 10(areas')m 9(link)m 10(state)m 9(databases)m 10(as)m 10(input,)m 9 r 97 c 10(router)m 0 356 p (runs)s 12(the)m 12(following)m 12(algorithm,)m 13(building)m 12(its)m 12(routing)m 12(table)m 12(step)m 12(by)m 12(step.)m 19(At)m 12(each)m 12(step,)m 12(the)m 12(router)m 12(must)m 12(access)m 12(individual)m 0 405 p (pieces)s 14(of)m 14(the)m 15(link)m 14(state)m 14(databases)m 14(\(e.g.,)m 15 r 97 c 15(router)m 14(links)m 14(advertisement)m 14(originated)m 14(by)m 15 r 97 c 14(certain)m 14(router\).)m 25(This)m 14(access)m 15(is)m 0 455 p (performed)s 9(by)m 9(the)m 9(lookup)m 9(function)m 9(discussed)m 9(in)m 10(Section)m 9(12.2.)m 13(The)m 9(lookup)m 9(process)m 9(may)m 9(return)m 9 r 97 c 9(link)m 10(state)m 9(advertisement)m 0 505 p (whose)s 10(LS)m 10(age)m 10(is)m cmr10.300 @sf 10 r 61 c t-rom.300 @sf 10(MaxAge.)m 14(Such)m 10(an)m 10(advertisement)m 10(should)m 10(not)m 10(be)m 10(used)m 11(in)m 10(the)m 10(routing)m 10(table)m 10(calculation,)m 10(and)m 10(is)m 10(treated)m 0 555 p (just)s 10(as)m 11(if)m 10(the)m 11(lookup)m 10(process)m 10(had)m 11(failed.)m 0 622 p (The)s 12(OSPF)m 11(routing)m 12(table')m -2 r 115 c 11(or)m (ganization)s 11(is)m 11(explained)m 12(in)m 11(Section)m 12 r 49 c -1(1.)m 16(The)m 12(\014rst)m 11(step)m 12(of)m 11(the)m 12(routing)m 11(table)m 12(calculation)m 11(is)m 12(to)m 0 672 p (invalidate)s 9(the)m 9(present)m 9(routing)m 9(table.)m 14(The)m 9(contents)m 9(of)m 9(the)m 9(old)m 9(table)m 9(should)m 9(be)m 9(remembered)m 9(however)m -1 r 44 c 8(so)m 10(that)m 9(routing)m 9(table)m 0 722 p (changes)s 10(can)m 11(be)m 10(identi\014ed.)m 0 790 p (Changes)s 11(made)m 12(to)m 11(the)m 11(routing)m 11(table)m 12(can)m 11(cause)m 11(the)m 11(OSPF)m 12(protocol)m 11(to)m 11(take)m 11(further)m 12(actions.)m 16(For)m 11(example,)m 12 r 97 c 11(change)m 11(to)m 11(an)m 0 840 p (intra-area)s 10(route)m 11(will)m 10(cause)m 11(an)m 10(area)m 10(border)m 11(router)m 10(to)m 11(originate)m 10(new)m 11(summary)m 10(link)m 10(advertisements)m 11(\(see)m 10(Section)m 11(12.3\).)m 0 907 p (The)s 10(routing)m 11(table)m 10(calculation)m 11(consists)m 10(of)m 10(the)m 11(following)m 10(steps.)m 52 1016 p (1.)s t-ita.300 @sf 21(The)m 11(pr)m -1(esent)m 11 r 114 c -1(outing)m 11(table)m 11(is)m 11(invalidated.)m t-rom.300 @sf 17(The)m 11(routing)m 12(table)m 11(is)m 11(built)m 12(again)m 11(from)m 11(scratch.)m 17(The)m 12(old)m 11(routing)m 11(table)m 12(is)m 104 1066 p (saved)s 10(for)m 11(comparison)m 10(purposes.)m 52 1149 p (2.)s t-ita.300 @sf 21(The)m 13(intra-ar)m (ea)s 12 r 114 c -1(outes)m 13(ar)m -1 r 101 c 13(calculated)m 14(by)m 13(building)m 14(the)m 13(shortest)m 14(path)m 13(tr)m (ee)s 12(for)m 14(each)m 13(attached)m 14(ar)m -1(ea.)m t-rom.300 @sf 22(In)m 14(particular)m -1 r 44 c 104 1199 p (all)s 12(routing)m 11(table)m 12(entries)m 12(whose)m 12(Destination)m 12(type)m 11(is)m 12(\\area)m 12(border)m 12(router)m 1 r 34 c 12(are)m 12(calculated)m 12(in)m 12(this)m 11(step.)m 19(This)m 11(step)m 12(is)m 104 1249 p (described)s 9(in)m 8(two)m 9(parts.)m 13(At)m 9(\014rst)m 9(the)m 9(tree)m 9(is)m 8(constructed)m 9(by)m 9(only)m 9(considering)m 8(those)m 9(links)m 9(between)m 9(routers)m 8(and)m 9(transit)m 104 1299 p (networks.)s 14(Then)m 10(the)m 10(stub)m 11(networks)m 10(are)m 11(incorporated)m 10(into)m 11(the)m 10(tree.)m 52 1382 p (3.)s t-ita.300 @sf 21(The)m 15(inter)m (-ar)s -2(ea)m 14 r 114 c (outes)s 14(ar)m -1 r 101 c 15(calculated,)m 16(thr)m -1(ough)m 15(examination)m 15(of)m 15(summary)m 15(link)m 15(advertisements.)m t-rom.300 @sf 28(If)m 15(the)m 15(router)m 16(is)m 104 1432 p (attached)s 14(to)m 14(multiple)m 14(areas)m 14(\(i.e.,)m 16(it)m 14(is)m 14(an)m 14(area)m 14(border)m 14(router\),)m 15(only)m 15(backbone)m 14(summary)m 14(link)m 14(advertisements)m 14(are)m 104 1481 p (examined.)s 52 1564 p (4.)s t-ita.300 @sf 21(For)m 13(those)m 13 r 114 c -1(outing)m 12(entries)m 13(whose)m 13(next)m 13(hop)m 13(is)m 13(over)m 13 r 97 c 13(virtual)m 13(link,)m 14 r 97 c 13 r 114 c -1(eal)m 12(\(physical\))m 13(next)m 14(hop)m 13(is)m 13(calculated.)m t-rom.300 @sf 21(The)m 104 1614 p (real)s 11(next)m 11(hop)m 11(will)m 12(be)m 11(on)m 11(one)m 11(of)m 12(the)m 11(router)m 1 r 39 c -1 r 115 c 10(directly)m 12(attached)m 11(networks.)m 16(This)m 11(step)m 12(only)m 11(concerns)m 11(routers)m 11(having)m 104 1664 p (con\014gured)s 10(virtual)m 11(links.)m 52 1747 p (5.)s t-ita.300 @sf 21(AS)m 10(external)m 11 r 114 c -1(outes)m 10(ar)m -1 r 101 c 10(calculated,)m 11(thr)m -1(ough)m 10(examination)m 10(of)m 11(AS)m 11(external)m 10(link)m 11(advertisements.)m t-rom.300 @sf 15(The)m 10(location)m 11(of)m 10(the)m 104 1797 p (AS)s 10(boundary)m 11(routers)m 10(\(which)m 10(originate)m 11(the)m 10(AS)m 11(external)m 10(link)m 11(advertisements\))m 10(has)m 10(been)m 11(determined)m 10(in)m 11(steps)m 10(2-4.)m 0 1906 p (Steps)s 14(2-5)m 14(are)m 15(explained)m 14(in)m 14(further)m 14(detail)m 15(below)m -2 r 46 c 24(The)m 14(explanations)m 15(describe)m 14(the)m 14(calculations)m 14(for)m 14 r 97 c 15(single)m 14 r 84 c (OS)s 13(only)m -1 r 46 c 0 1956 p (In)s 12(general,)m 12(each)m 12(calculation)m 11(must)m 12(be)m 12(performed)m 12(for)m 11(as)m 12(many)m 12 r 84 c (OS)s 11(values)m 12(as)m 11(there)m 12(are)m 12(dif)m (fering)s 11(routes.)m 18(Any)m 11(link)m 12(state)m 0 2006 p (advertisement)s 8(may)m 9(specify)m 8 r 97 c 8(separate)m 8(cost)m 9(for)m 8(each)m 8 r 84 c (OS)s 8(\(see)m 8(Section)m 8(12.4\).)m 14 r 65 c 8(cost)m 8(for)m 8 r 84 c (OS)s 8 r 48 c 8(must)m 9(always)m 8(be)m 8(speci\014ed.)m 0 2055 p (The)s 10(cost)m 11(of)m 10(any)m 11(other)m 10 r 84 c (OS,)s 10(when)m 10(not)m 11(speci\014ed,)m 10(defaults)m 10(to)m 11(the)m 10(cost)m 11(of)m 10 r 84 c (OS)s 10(0.)m t-bol.360 @sf 0 2192 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 2288 p (This)s 9(calculation)m 8(yields)m 9(the)m 9(set)m 8(of)m 9(intra-area)m 8(routes)m 9(associated)m 9(with)m 8(an)m 9(area)m 9(\(called)m 8(hereafter)m 9(Area)m 9(A\).)m 8 r 65 c 9(router)m 9(calculates)m 0 2338 p (the)s 11(shortest-path)m 11(tree)m 11(using)m 10(itself)m 11(as)m 11(the)m 11(root.)m t-rom.210 @sf 757 2323 p (18)s t-rom.300 @sf 803 2338 p (The)s 11(formation)m 11(of)m 11(the)m 11(shortest)m 11(path)m 11(tree)m 10(is)m 11(done)m 11(here)m 11(in)m 11(two)m 11(stages.)m 15(In)m 0 2387 p (the)s 12(\014rst)m 12(step,)m 12(only)m 12(links)m 12(between)m 12(routers)m 12(and)m 12(transit)m 12(networks)m 12(are)m 12(considered.)m 18(Using)m 12(the)m 12(Dijkstra)m 12(algorithm,)m 12 r 97 c 12(tree)m 12(is)m 0 2437 p (formed)s 11(from)m 11(this)m 11(subset)m 11(of)m 11(the)m 11(link)m 11(state)m 12(database.)m 15(In)m 11(the)m 12(second)m 11(step,)m 11(leaves)m 11(are)m 11(added)m 11(to)m 11(the)m 11(tree)m 11(by)m 11(considering)m 11(the)m 0 2487 p (links)s 10(to)m 11(stub)m 10(networks.)m 0 2514 p 780 2 ru t-rom.180 @sf 33 2542 p (18)s t-rom.240 @sf 60 2554 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 2593 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 11(Equal-cost)m 8(multipath)m 8(causes)m 9(the)m 8(algorithm)m 8(to)m 9(change)m 8(only)m 8(slightly)m -1 r 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(72)m @eop 71 @bop0 1 /cmr8.300 @newfont cmr8.300 @sf [ 24 10 -2 -3 27.443] 61 @dc 71 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)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 12(single)m 12(backbone)m 12(area)m 13(\(Area)m 12(ID)m 12 r 61 c 12(0\))m 12(cannot)m 12(be)m 13(disconnected,)m 12(or)m 12(some)m 12(areas)m 13(of)m 12(the)m 12(Autonomous)m 12(System)m 12(will)m 12(be-)m 0 356 p (come)s 11(unreachable.)m 16(This)m 11(is)m 12(because)m 11(all)m 11(inter)m (-area)s 10(traf)m (\014c)s 11(traverses)m 11(the)m 11(backbone.)m 16(The)m 11(backbone)m 11(is)m 11(also)m 12(responsible)m 11(for)m 0 405 p (distributing)s 10(the)m 11(inter)m (-area)s 9(routing)m 11(information.)m 0 473 p 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 10(links)m 11(can)m 10(be)m 10(con\014gured)m 10(through)m 11(non-backbone)m 10(areas.)m 14 r 86 c -2(ir-)m 0 523 p (tual)s 11(links)m 11(serve)m 12(to)m 11(connect)m 11(separate)m 11(components)m 11(of)m 12(the)m 11(backbone.)m 16(The)m 11(two)m 11(endpoints)m 12(of)m 11 r 97 c 11(virtual)m 11(link)m 11(are)m 12(area)m 11(border)m 0 573 p (routers.)s 16(The)m 11(virtual)m 10(link)m 11(must)m 11(be)m 11(con\014gured)m 11(in)m 11(both)m 11(routers.)m 16(The)m 11(con\014guration)m 11(information)m 11(in)m 11(each)m 11(router)m 11(consists)m 11(of)m 0 622 p (the)s 11(other)m 12(virtual)m 11(endpoint)m 11(\(the)m 12(other)m 11(area)m 11(border)m 12(router\),)m 11(and)m 11(the)m 12(non-backbone)m 11(area)m 11(the)m 12(two)m 11(routers)m 11(have)m 12(in)m 11(common)m 0 672 p (\(called)s 10(the)m 11(transit)m 10(area\).)m 0 740 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 790 p (two)s 12(area)m 12(border)m 12(routers.)m 19(An)m 12(attempt)m 12(is)m 12(made)m 12(to)m 12(establish)m 12(an)m 12(adjacency)m 12(over)m 12(the)m 12(virtual)m 12(link.)m 19(When)m 12(this)m 12(adjacency)m 12(is)m 0 840 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 889 p (the)s 10(backbone)m 11(area)m 10(will)m 11(\015ow)m 10(over)m 10(the)m 11(adjacency)m -2 r 46 c 13(Such)m 11(an)m 10(adjacency)m 10(has)m 11(been)m 10(referred)m 11(to)m 10(as)m 10 r 97 c 11(\\virtual)m 10(adjacency".)m 0 957 p (The)s 10(presence)m 10(of)m 9 r 97 c 10(virtual)m 10(link)m 10(can)m 9(be)m 10(detected)m 10(only)m 10(by)m 9(the)m 10(two)m 10(endpoint)m 10(routers.)m 13(These)m 10(two)m 10(routers)m 10(must)m 9(determine)m 10(the)m 0 1007 p (viability)s 10(and)m 11(cost)m 10(of)m 11(the)m 10(virtual)m 10(link.)m 14(The)m 11(mechanisms)m 10(behind)m 11(this)m 10(determination)m 10(are)m 11(as)m 10(follows:)m cmsy10.300 @sf 62 1116 p 15 c t-rom.300 @sf 21(In)m 7(each)m 8(endpoint)m 7(router)m 44 c 7(the)m 7(cost)m 7(and)m 8(viability)m 7(of)m 7(the)m 8(virtual)m 7(link)m 8(is)m 7(discovered)m 7(by)m 8(examining)m 7(the)m 8(routing)m 7(table)m 7(entry)m 104 1166 p (for)s 11(the)m 12(other)m 11(endpoint)m 11(router)m -1 r 46 c 16(\(The)m 11(entry')m -1 r 115 c 10(associated)m 12(area)m 11(must)m 11(be)m 12(the)m 11(con\014gured)m 12(transit)m 11(area\).)m 17(Actually)m -2 r 44 c 11(there)m 104 1216 p (may)s 9(be)m 10 r 97 c 9(separate)m 10(routing)m 9(table)m 10(entry)m 9(for)m 10(each)m 9 r 84 c -2(ype)m 9(of)m 9(Service.)m 14(These)m 9(are)m 10(called)m 9(the)m 10(virtual)m 9(link')m -1 r 115 c 8(corresponding)m 104 1266 p (routing)s 10(table)m 11(entries.)m cmsy10.300 @sf 62 1349 p 15 c t-rom.300 @sf 21(The)m t-bol.300 @sf 13(Interface)m 14(Up)m t-rom.300 @sf 13(event)m 13(occurs)m 14(for)m 13 r 97 c 13(virtual)m 14(link)m 13(when)m 14(its)m 13(corresponding)m 13 r 84 c (OS)s 13 r 48 c 13(routing)m 14(table)m 13(entry)m 13(becomes)m 104 1398 p (reachable.)s 14(Conversely)m -2 r 44 c 9(the)m t-bol.300 @sf 10(Interface)m 10(Down)m t-rom.300 @sf 10(event)m 11(occurs)m 10(when)m 10(its)m 10 r 84 c (OS)s 9 r 48 c 10(routing)m 11(table)m 10(entry)m 10(becomes)m 10(unreach-)m 104 1448 p (able.)s t-rom.210 @sf 199 1433 p (17)s t-rom.300 @sf 245 1448 p (In)s 11(other)m 10(words,)m 11(the)m 11(virtual)m 11(link')m -1 r 115 c 9(viability)m 11(is)m 11(determined)m 11(by)m 11(the)m 10(existence)m 11(of)m 11(an)m 11(intra-area)m 11(path,)m 11(through)m 104 1498 p (the)s 10(transit)m 11(area,)m 10(between)m 10(the)m 11(two)m 10(endpoints.)m cmsy10.300 @sf 62 1581 p 15 c t-rom.300 @sf 21 r 86 c -1(irtual)m 8(links)m 10(belong)m 9(to)m 10(the)m 10(backbone.)m 13(Only)m 10(routing)m 10(traf)m (\014c)s 9(for)m 9(the)m 10(backbone)m 10(area)m 9(should)m 10(be)m 10(traversing)m 9(the)m 10(associ-)m 104 1631 p (ated)s 10(virtual)m 11(adjacency)m -2 r 46 c cmsy10.300 @sf 62 1714 p 15 c t-rom.300 @sf 21 r 86 c -1(irtual)m 12(links)m 13(are)m 13(represented)m 13(as)m 13(UNNUMBERED)m 13(point-to-point)m 13(networks)m 13(in)m 13(backbone)m 13(router)m 13(links)m 13(advertise-)m 104 1764 p (ments.)s cmsy10.300 @sf 62 1847 p 15 c t-rom.300 @sf 21(AS)m 12(external)m 12(links)m 12(are)m 12(NEVER)m 12(\015ooded)m 12(over)m 12(virtual)m 12(adjacencies.)m 19(This)m 12(would)m 12(be)m 12(duplication)m 12(of)m 12(ef)m (fort,)s 11(since)m 12(the)m 104 1896 p (same)s 11(AS)m 11(external)m 12(links)m 11(are)m 11(already)m 12(\015ooded)m 11(throughout)m 11(the)m 12(virtual)m 11(link')m -1 r 115 c 10(transit)m 12(area.)m 16(For)m 12(this)m 11(same)m 11(reason,)m 12(AS)m 104 1946 p (external)s 9(link)m 9(advertisements)m 9(are)m 9(not)m 9(summarized)m 10(over)m 9(virtual)m 9(adjacencies)m 9(during)m 9(the)m 9(database)m 9(exchange)m 9(process.)m cmsy10.300 @sf 62 2029 p 15 c t-rom.300 @sf 21(The)m 11(cost)m 11(of)m 11 r 97 c 12(virtual)m 11(link)m 11(is)m 11(NOT)m 11(con\014gured.)m 16(It)m 12(is)m 11(de\014ned)m 11(to)m 11(be)m 11(the)m 11(cost)m 12(of)m 11(the)m 11(intra-area)m 11(path)m 11(between)m 11(the)m 11(two)m 104 2079 p (de\014ning)s 10(area)m 11(border)m 10(routers.)m 14(This)m 10(cost)m 11(appears)m 10(in)m 11(the)m 10(virtual)m 10(link')m -1 r 115 c 10(corresponding)m 10(routing)m 10(table)m 11(entry)m -2 r 46 c cmsy10.300 @sf 62 2162 p 15 c t-rom.300 @sf 21(Just)m 8(as)m 8(the)m 8(virtual)m 8(link')m -1 r 115 c 7(cost)m 8(and)m 8(viability)m 8(are)m 8(determined)m 8(by)m 8(the)m 8(routing)m 8(table)m 8(build)m 7(process)m 8(\(through)m 8(construction)m 104 2212 p (of)s 10(the)m 10(routing)m 11(table)m 10(entry)m 10(for)m 11(the)m 10(other)m 10(endpoint\),)m 11(so)m 10(are)m 10(the)m 11(IP)m 10(interface)m 10(address)m 11(for)m 10(the)m 10(virtual)m 11(interface)m 10(and)m 10(the)m 104 2262 p (virtual)s 10(neighbor)m 2 r 39 c -2 r 115 c 10(IP)m 10(address.)m 14(These)m 11(are)m 10(used)m 10(when)m 11(sending)m 10(protocol)m 11(packets)m 10(over)m 10(the)m 11(virtual)m 10(link.)m cmsy10.300 @sf 62 2345 p 15 c t-rom.300 @sf 21(The)m 11(time)m 10(between)m 11(link)m 10(state)m 10(retransmissions,)m 11(RxmtInterval,)m 11(is)m 10(con\014gured)m 11(for)m 10 r 97 c 11(virtual)m 10(link.)m 14(This)m 11(should)m 10(be)m 11(well)m 104 2395 p (over)s 9(the)m 10(expected)m 10(round-trip)m 9(delay)m 10(between)m 10(the)m 9(two)m 10(routers.)m 13(This)m 10(may)m 10(be)m 9(hard)m 10(to)m 10(estimate)m 9(for)m 10 r 97 c 10(virtual)m 9(link.)m 14(It)m 9(is)m 104 2444 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 0 2480 p 780 2 ru t-rom.180 @sf 33 2508 p (17)s t-rom.240 @sf 60 2519 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 11(This)m 8(is)m 9(because)m 8(all)m 8(routing)m 9(protocol)m 8(packets)m 8(are)m 9(sent)m 8(with)m 8 r 84 c (OS)s cmr8.300 @sf 61 c t-rom.240 @sf 9(0.)m 11(See)m 9(Appendix)m 8(A.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(71)m @eop 70 @bop0 70 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (time)s 9(between)m 9(retransmissions)m 9(is)m 9 r 97 c 8(con\014gurable)m 9(per)m (-interface)s 8(value,)m 10(RxmtInterval.)m 13(If)m 9(this)m 9(is)m 9(set)m 9(too)m 9(low)m 8(for)m 9(an)m 9(interface,)m 0 245 p (needless)s 11(retransmissions)m 11(will)m 11(ensue.)m 15(If)m 11(the)m 11(value)m 11(is)m 11(set)m 11(too)m 11(high,)m 11(the)m 11(speed)m 11(of)m 11(the)m 11(\015ooding,)m 11(in)m 11(the)m 11(face)m 11(of)m 11(lost)m 11(packets,)m 0 295 p (may)s 10(be)m 11(af)m (fected.)s 0 359 p (Several)s 12(retransmitted)m 11(advertisements)m 12(may)m 12(\014t)m 11(into)m 12 r 97 c 11(single)m 12(Link)m 12(State)m 11(Update)m 12(packet.)m 18(When)m 11(advertisements)m 12(are)m 12(to)m 11(be)m 0 409 p (retransmitted,)s 12(only)m 11(the)m 11(number)m 11(\014tting)m 12(in)m 11 r 97 c 11(single)m 12(Link)m 11(State)m 11(Update)m 12(packet)m 11(should)m 11(be)m 12(transmitted.)m 16(Another)m 12(packet)m 11(of)m 0 459 p (retransmissions)s 12(can)m 11(be)m 12(sent)m 11(when)m 12(some)m 11(of)m 12(the)m 12(advertisements)m 11(are)m 12(acknowledged,)m 12(or)m 11(on)m 12(the)m 11(next)m 12(\014ring)m 11(of)m 12(the)m 11(retrans-)m 0 509 p (mission)s 10(timer)m -1 r 46 c 0 573 p (Link)s 10(State)m 9(Update)m 10(Packets)m 10(carrying)m 10(retransmissions)m 9(are)m 10(always)m 10(sent)m 10(as)m 9(unicasts)m 10(\(directly)m 10(to)m 10(the)m 9(physical)m 10(address)m 10(of)m 10(the)m 0 623 p (neighbor\).)s 21(They)m 12(are)m 13(never)m 13(sent)m 13(as)m 12(multicasts.)m 21(Each)m 13(advertisement')m -2 r 115 c 12(LS)m 13(age)m 12(must)m 13(be)m 13(incremented)m 13(by)m 12(InfT)m (ransDelay)s 0 673 p (\(which)s 14(must)m 15(be)m cmmi10.300 @sf 14 r 62 c t-rom.300 @sf 20(0\))m 15(when)m 14(copied)m 14(into)m 15(the)m 14(outgoing)m 14(packet)m 15(\(until)m 14(the)m 14(LS)m 15(age)m 14(\014eld)m 15(reaches)m 14(its)m 14(maximum)m 15(value)m 14(of)m 0 722 p (MaxAge\).)s 0 787 p (If)s 12(the)m 13(adjacent)m 12(router)m 12(goes)m 13(down,)m 12(retransmissions)m 13(may)m 12(occur)m 12(until)m 12(the)m 13(adjacency)m 12(is)m 12(destroyed)m 13(by)m 12(the)m 12(Hello)m 13(Protocol.)m 0 836 p (When)s 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 968 p (13.7)s 50(Receiving)m 12(link)m 13(state)m 12(acknowledgments)m t-rom.300 @sf 0 1061 p (Many)s 9(consistency)m 10(checks)m 9(have)m 9(been)m 10(made)m 9(on)m 9 r 97 c 10(received)m 9(Link)m 9(State)m 10(Acknowledgment)m 9(packet)m 9(before)m 10(it)m 9(is)m 9(handed)m 10(to)m 9(the)m 0 1111 p (\015ooding)s 11(procedure.)m 14(In)m 10(particular)m 44 c 9(it)m 11(has)m 10(been)m 11(associated)m 10(with)m 11 r 97 c 11(particular)m 10(neighbor)m -1 r 46 c 13(If)m 11(this)m 10(neighbor)m 11(is)m 10(in)m 11 r 97 c 10(lesser)m 11(state)m 0 1160 p (than)s t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 44 c 11(the)m 10(packet)m 11(is)m 10(discarded.)m 0 1225 p (Otherwise,)s 10(for)m 11(each)m 10(acknowledgment)m 11(in)m 10(the)m 10(packet,)m 11(the)m 10(following)m 11(steps)m 10(are)m 11(performed:)m cmsy10.300 @sf 62 1323 p 15 c t-rom.300 @sf 21(Does)m 9(the)m 8(advertisement)m 8(acknowledged)m 9(have)m 8(an)m 9(instantiation)m 8(on)m 9(the)m t-bol.300 @sf 8(Link)m 9(state)m 8 r 114 c (etransmission)s 8(list)m t-rom.300 @sf 9(for)m 8(the)m 9(neigh-)m 104 1373 p (bor?)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 1453 p 15 c t-rom.300 @sf 21(If)m 12(the)m 12(acknowledgment)m 11(is)m 12(for)m 12(the)m 12(same)m 12(instantiation)m 12(that)m 11(is)m 12(contained)m 12(on)m 12(the)m 12(list,)m 12(remove)m 12(the)m 11(item)m 12(from)m 12(the)m 12(list)m 104 1503 p (and)s 10(examine)m 11(the)m 10(next)m 10(acknowledgment.)m 14(Otherwise:)m cmsy10.300 @sf 62 1582 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 t-bol.420 @sf 0 1736 p (14)s 58(Aging)m 15(The)m 14(Link)m 15(State)m 15(Database)m t-rom.300 @sf 0 1843 p (Each)s 15(link)m 15(state)m 15(advertisement)m 15(has)m 14(an)m 15(age)m 15(\014eld.)m 28(The)m 14(age)m 15(is)m 15(expressed)m 15(in)m 15(seconds.)m 27(An)m 15(advertisement')m -1 r 115 c 14(age)m 15(\014eld)m 15(is)m 0 1893 p (incremented)s 15(while)m 16(it)m 15(is)m 15(contained)m 15(in)m 16 r 97 c 15(router)m 1 r 39 c -1 r 115 c 14(database.)m 29(Also,)m 16(when)m 15(copied)m 16(into)m 15 r 97 c 15(Link)m 16(State)m 15(Update)m 15(Packet)m 15(for)m 0 1943 p (\015ooding)s 10(out)m 11 r 97 c 10(particular)m 11(interface,)m 10(the)m 10(advertisement')m -1 r 115 c 10(age)m 10(is)m 10(incremented)m 11(by)m 10(InfT)m (ransDelay)s -3 r 46 c 0 2007 p (An)s 15(advertisement')m -2 r 115 c 14(age)m 15(is)m 14(never)m 15(incremented)m 15(past)m 14(the)m 15(value)m 15(MaxAge.)m 26(As)m 15 r 97 c 15(router)m 14(ages)m 15(its)m 14(link)m 15(state)m 15(database,)m 15(an)m 0 2057 p (advertisement')s -1 r 115 c 7(age)m 8(may)m 8(reach)m 8(MaxAge.)m 13(At)m 8(this)m 8(time,)m 9(the)m 8(advertisement)m 8(is)m 8(re\015ooded)m 8(just)m 8(as)m 8(if)m 8(it)m 8(was)m 8 r 97 c 8(newly)m 8(originated)m 0 2107 p (advertisement.)s 28(This)m 15(\015ooding)m 15(process)m 15(is)m 15(described)m 15(in)m 16(Section)m 15(13.3.)m 28(In)m 15(addition,)m 16(when)m 15(adding)m 15(advertisements)m 15(to)m 15 r 97 c 0 2156 p (neighbor)s 2 r 39 c -2 r 115 c t-bol.300 @sf 13(Database)m 13(summary)m 14(list)m t-rom.300 @sf 44 c 15(those)m 13(advertisements)m 14(having)m 13(age)m 14(MaxAge)m 14(are)m 13(instead)m 14(added)m 13(to)m 14(the)m 14(neighbor)m 1 r 39 c -1 r 115 c t-bol.300 @sf 0 2206 p (Link)s 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 46 c 0 2271 p (It)s 10(will)m 10(be)m 10 r 97 c 10(relatively)m 10(rare)m 10(occurrence)m 10(for)m 10(an)m 10(advertisement')m -1 r 115 c 9(age)m 10(to)m 10(reach)m 10(MaxAge.)m 14(Usually)m -2 r 44 c 10(the)m 10(advertisement)m 10(will)m 10(be)m 0 2320 p (replaced)s 10(by)m 11 r 97 c 10(more)m 11(recent)m 10(instantiation)m 10(before)m 11(it)m 10(ages)m 11(out.)m 0 2385 p (Advertisements)s 11(having)m 11(age)m 11(MaxAge)m 12(are)m 11(not)m 11(used)m 11(in)m 11(the)m 11(routing)m 12(table)m 11(calculation.)m 16(When)m 11(such)m 11(an)m 11(advertisement)m 11(is)m 12(no)m 0 2435 p (longer)s 10(contained)m 11(on)m 10(any)m 11(neighbor)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(it)m 10(is)m 11(removed)m 10(entirely)m 11(from)m 10(the)m 10(link)m 11(state)m 10(database.)m 0 2499 p (When,)s 9(in)m 8(the)m 8(process)m 8(of)m 8(aging)m 8(the)m 8(link)m 8(state)m 8(database,)m 9(an)m 8(advertisement')m -1 r 115 c 7(age)m 8(hits)m 8 r 97 c 8(multiple)m 8(of)m 8(CheckAge,)m 9(its)m 8(checksum)m 0 2549 p (should)s 12(be)m 11(veri\014ed.)m 18(If)m 12(the)m 12(checksum)m 11(is)m 12(incorrect,)m 12 r 97 c 12(program)m 12(or)m 11(memory)m 12(error)m 12(has)m 11(been)m 12(detected,)m 12(and)m 12(at)m 12(the)m 11(very)m 12(least)m 0 2599 p (the)s 10(router)m 11(itself)m 10(should)m 11(be)m 10(restarted.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(70)m @eop 69 @bop0 69 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (multicasting\);)s 9(and)m 7(it)m 8(randomizes)m 7(the)m 8(acknowledgment)m 7(packets)m 8(sent)m 7(by)m 8(the)m 7(various)m 8(routers)m 7(attached)m 8(to)m 8 r 97 c 7(multi-access)m 8(net-)m 0 245 p (work.)s 14(The)m 11(\014xed)m 10(interval)m 11(between)m 10 r 97 c 11(router)m 1 r 39 c -1 r 115 c 10(delayed)m 10(transmissions)m 11(must)m 10(be)m 11(short)m 10(\(less)m 11(than)m 10(RxmtInterval\))m 11(or)m 10(needless)m 0 295 p (retransmissions)s 10(will)m 11(ensue.)m 0 362 p (Direct)s 12(acknowledgments)m 12(are)m 11(sent)m 12(to)m 12 r 97 c 12(particular)m 12(neighbor)m 11(in)m 12(response)m 12(to)m 12(the)m 11(receipt)m 12(of)m 12(duplicate)m 12(link)m 12(state)m 11(advertise-)m 0 412 p (ments.)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 11(received.)m 0 480 p (The)s 12(precise)m 11(procedure)m 12(for)m 12(sending)m 11(Link)m 12(State)m 12(Acknowledgment)m 11(packets)m 12(is)m 11(described)m 12(in)m 12(the)m 11(following)m 12(table.)m 18(The)m 11(cir-)m 0 530 p (cumstances)s 8(surrounding)m 8(the)m 8(receipt)m 8(of)m 8(the)m 9(advertisement)m 8(are)m 8(listed)m 8(in)m 8(the)m 8(left)m 8(column.)m 13(The)m 8(acknowledgment)m 8(action)m 8(then)m 0 580 p (taken)s 10(is)m 11(listed)m 10(in)m 11(one)m 10(of)m 11(the)m 10(two)m 11(right)m 10(columns.)m 14(This)m 11(action)m 10(depends)m 11(on)m 10(the)m 11(state)m 10(of)m 11(the)m 10(concerned)m 11(interface;)m 10(interfaces)m 0 629 p (in)s 10(state)m t-bol.300 @sf 11(Backup)m 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 10(states.)m 113 704 p 1725 2 ru 112 753 p 2 50 ru 575 r 2 50 ru 2 50 ru t-ita.300 @sf 1092 738 p (Action)s 10(taken)m 11(in)m 10(state)m 1836 753 p 2 50 ru 688 755 p 1150 2 ru 112 803 p 2 50 ru 277 788 p (Cir)s (cumstances)s 687 803 p 2 50 ru 912 788 p (Backup)s 1262 803 p 2 50 ru 1424 788 p (All)s 10(other)m 10(states)m 1836 803 p 2 50 ru 113 805 p 1725 2 ru 112 963 p 2 159 ru t-rom.300 @sf 138 840 p (Advertisement)s 72(has)m 73(been)m 138 890 p (\015ooded)s 16(back)m 17(out)m 17(receiving)m 16(in-)m 138 939 p (terface)s 7(\(see)m 7(Section)m 7(13,)m 8(step)m 7(2a\).)m 687 963 p 2 159 ru 712 840 p (No)s 11(acknowledgment)m 10(sent.)m 1262 963 p 2 159 ru 1287 840 p (No)s 11(acknowledgment)m 10(sent.)m 1836 963 p 2 159 ru 113 965 p 1725 2 ru 112 1165 p 2 200 ru 138 1000 p (Advertisement)s 21(is)m 22(more)m 21(recent)m 138 1050 p (than)s 10(database)m 10(copy)m -2 r 44 c 9(but)m 10(was)m 10(not)m 138 1099 p (\015ooded)s 16(back)m 17(out)m 17(receiving)m 16(in-)m 138 1149 p (terface)s 687 1165 p 2 200 ru 712 1000 p (Delayed)s 18(acknowledgment)m 17(sent)m 712 1050 p (if)s 15(advertisement)m 15(received)m 14(from)m 712 1099 p (DR,)s 11(otherwise)m 10(do)m 11(nothing.)m 1262 1165 p 2 200 ru 1287 1000 p (Delayed)s 11(acknowledgment)m 10(sent.)m 1836 1165 p 2 200 ru 113 1166 p 1725 2 ru 112 1375 p 2 209 ru 138 1201 p (Advertisement)s 138 1251 p (is)s 15 r 97 c 15(duplicate,)m 16(and)m 16(was)m 15(treated)m 138 1301 p (as)s 13(an)m 13(implied)m 13(acknowledgment)m 138 1351 p (\(see)s 10(Section)m 11(13,)m 10(step)m 10(3a\).)m 687 1375 p 2 209 ru 712 1201 p (Delayed)s 18(acknowledgment)m 17(sent)m 712 1251 p (if)s 15(advertisement)m 15(received)m 14(from)m 712 1301 p (DR,)s 11(otherwise)m 10(do)m 11(nothing.)m 1262 1375 p 2 209 ru 1287 1201 p (No)s 11(acknowledgment)m 10(sent.)m 1836 1375 p 2 209 ru 113 1376 p 1725 2 ru 112 1535 p 2 159 ru 138 1411 p (Advertisement)s 23(is)m 23 r 97 c 24(duplicate,)m 138 1461 p (and)s 17(was)m 17(not)m 16(treated)m 17(as)m 17(an)m 17(im-)m 138 1511 p (plied)s 10(acknowledgment.)m 687 1535 p 2 159 ru 712 1411 p (Direct)s 11(acknowledgment)m 10(sent.)m 1262 1535 p 2 159 ru 1287 1411 p (Direct)s 11(acknowledgment)m 10(sent.)m 1836 1535 p 2 159 ru 113 1536 p 1725 2 ru 0 1628 p (Delayed)s 12(acknowledgments)m 11(must)m 12(be)m 11(delivered)m 12(to)m 11(all)m 12(adjacent)m 11(routers)m 12(associated)m 11(with)m 12(the)m 11(interface.)m 17(On)m 12(broadcast)m 11(net-)m 0 1678 p (works,)s 8(this)m 7(is)m 7(accomplished)m 8(by)m 7(sending)m 7(the)m 7(delayed)m 7(Link)m 8(State)m 7(Acknowledgment)m 7(packets)m 7(as)m 8(multicasts.)m 12(The)m 8(Destination)m 0 1728 p (IP)s 11(address)m 11(used)m 11(depends)m 11(on)m 11(the)m 11(state)m 11(of)m 11(the)m 11(interface.)m 16(If)m 11(the)m 11(state)m 11(is)m t-bol.300 @sf 11(DR)m t-rom.300 @sf 11(or)m t-bol.300 @sf 11(Backup)m t-rom.300 @sf 44 c 12(the)m 11(destination)m 11(AllSPFRouters)m 11(is)m 0 1778 p (used.)s 16(In)m 11(other)m 11(states,)m 11(the)m 11(destination)m 11(AllDRouters)m 11(is)m 11(used.)m 16(On)m 11(non-broadcast)m 11(networks,)m 11(delayed)m 11(acks)m 11(must)m 11(be)m 11(unicast)m 0 1828 p (separately)s 10(over)m 11(each)m 10(adjacency)m 11(\(neighbor)m 10(whose)m 10(state)m 11(is)m cmmi10.300 @sf 10 r 62 c cmr10.300 @sf 61 c t-rom.300 @sf 11(Exchange\).)m 0 1895 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 1945 p (con\014guration)s 12(depicted)m 12(in)m 12(Figure)m 12(16.)m 18(Suppose)m 12 r 82 c -1(T4)m 11(has)m 12(been)m 12(elected)m 12(as)m 12(DR,)m 12(and)m 12 r 82 c -2(T3)m 11(as)m 12(Backup)m 12(for)m 12(the)m 12(network)m 12(N3.)m 0 1995 p (When)s 14(router)m 13 r 82 c -1(T4)m 12(\015oods)m 14 r 97 c 13(new)m 14(advertisement)m 14(to)m 13(network)m 14(N3,)m 14(it)m 14(is)m 13(received)m 14(by)m 14(routers)m 13 r 82 c -1(T1,)m 13 r 82 c -1(T2,)m 13(and)m 14 r 82 c -2(T3.)m 22(These)m 0 2045 p (routers)s 11(will)m 11(not)m 11(\015ood)m 11(the)m 11(advertisement)m 11(back)m 10(onto)m 11(net)m 11 r 82 c -1(T3,)m 10(but)m 11(they)m 11(still)m 11(must)m 11(ensure)m 11(that)m 10(their)m 11(topological)m 11(databases)m 0 2095 p (remain)s 8(synchronized)m 8(with)m 8(their)m 8(adjacent)m 8(neighbors.)m 13(So)m 8 r 82 c -2(T1,)m 8 r 82 c -2(T2,)m 8(and)m 8 r 82 c -2(T4)m 7(are)m 8(waiting)m 8(to)m 8(see)m 8(an)m 8(acknowledgment)m 8(from)m 0 2144 p 82 c -2(T3.)m 14(Likewise,)m 11 r 82 c -1(T4)m 9(and)m 11 r 82 c -2(T3)m 10(are)m 11(both)m 11(waiting)m 10(to)m 11(see)m 11(acknowledgments)m 10(from)m 11 r 82 c -1(T1)m 9(and)m 11 r 82 c -2(T2.)m 14(This)m 11(is)m 11(best)m 10(achieved)m 11(by)m 0 2194 p (sending)s 10(the)m 11(acknowledgments)m 10(as)m 11(multicasts.)m 0 2262 p (The)s 13(reason)m 13(that)m 13(the)m 13(acknowledgment)m 13(logic)m 13(for)m 13(Backup)m 13(DRs)m 13(is)m 13(slightly)m 14(dif)m (ferent)s 12(is)m 13(because)m 13(they)m 13(perform)m 13(dif)m (ferently)s 0 2312 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 2448 p (13.6)s 50(Retransmitting)m 12(link)m 13(state)m 12(advertisements)m t-rom.300 @sf 0 2544 p (Advertisements)s 12(\015ooded)m 13(out)m 12(an)m 13(adjacency)m 12(are)m 13(placed)m 12(on)m 13(the)m 12(adjacency')m -1 r 115 c t-bol.300 @sf 11(Link)m 13(state)m 12 r 114 c (etransmission)s 12(list)m t-rom.300 @sf 46 c 20(In)m 12(order)m 13(to)m 0 2594 p (ensure)s 14(that)m 13(\015ooding)m 14(is)m 14(reliable,)m 14(these)m 14(advertisements)m 14(are)m 14(retransmitted)m 13(until)m 14(they)m 14(are)m 13(acknowledged.)m 24(The)m 14(length)m 14(of)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(69)m @eop 68 @bop0 68 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 52 195 p (2.)s 21(The)m 7(router)m 8(must)m 7(now)m 8(decide)m 7(whether)m 8(to)m 7(\015ood)m 8(the)m 7(new)m 8(link)m 7(state)m 8(advertisement)m 8(out)m 7(this)m 8(interface.)m 13(If)m 7(in)m 8(the)m 7(previous)m 104 245 p (step,)s 9(the)m 9(link)m 9(state)m 9(advertisement)m 9(was)m 9(NOT)m 9(added)m 9(to)m 9(any)m 9(of)m 9(the)m t-bol.300 @sf 9(Link)m 9(state)m 9 r 114 c (etransmission)s 8(lists)m t-rom.300 @sf 44 c 9(there)m 9(is)m 9(no)m 9(need)m 104 295 p (to)s 10(\015ood)m 11(the)m 10(advertisement)m 10(and)m 11(the)m 10(next)m 11(interface)m 10(should)m 11(be)m 10(examined.)m 52 378 p (3.)s 21(If)m 8(the)m 8(new)m 8(advertisement)m 8(was)m 9(received)m 8(on)m 8(this)m 8(interface,)m 9(and)m 8(it)m 9(was)m 8(received)m 8(from)m 8(either)m 9(the)m 8(Designated)m 8(Router)m 8(or)m 104 428 p (the)s 7(Backup)m 8(Designated)m 7(Router)m -1 r 44 c 7(chances)m 8(are)m 7(all)m 7(the)m 8(neighbors)m 7(have)m 7(received)m 8(the)m 7(advertisement)m 8(already)m -2 r 46 c 12(Therefore,)m 104 477 p (examine)s 10(the)m 11(next)m 10(interface.)m 52 560 p (4.)s 21(If)m 10(the)m 11(new)m 11(advertisement)m 11(was)m 10(received)m 11(on)m 11(this)m 11(interface,)m 10(and)m 11(the)m 11(interface)m 11(state)m 10(is)m t-bol.300 @sf 11(Backup)m t-rom.300 @sf 11(\(i.e.,)m 11(the)m 11(router)m 10(itself)m 104 610 p (is)s 11(the)m 12(Backup)m 12(Designated)m 11(Router\),)m 12(examine)m 12(the)m 11(next)m 12(interface.)m 17(The)m 12(Designated)m 11(Router)m 12(will)m 11(do)m 12(the)m 12(\015ooding)m 11(on)m 104 660 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 743 p (5.)s 21(If)m 12(this)m 13(step)m 13(is)m 13(reached,)m 13(the)m 13(advertisement)m 13(must)m 13(be)m 13(\015ooded)m 13(out)m 12(the)m 13(interface.)m 21(Send)m 13 r 97 c 13(Link)m 13(State)m 13(Update)m 13(packet)m 104 793 p (\(with)s 12(the)m 13(new)m 13(advertisement)m 12(as)m 13(contents\))m 13(out)m 12(the)m 13(interface.)m 20(The)m 13(advertisement')m -1 r 115 c 11(LS)m 13(age)m 12(must)m 13(be)m 13(incremented)m 104 843 p (by)s 10(InfT)m (ransDelay)s 9(\(which)m 11(must)m 10(be)m cmmi10.300 @sf 11 r 62 c t-rom.300 @sf 11(0\))m 11(when)m 10(copied)m 11(into)m 10(the)m 11(outgoing)m 10(packet)m 10(\(until)m 11(the)m 10(LS)m 11(age)m 10(\014eld)m 11(reaches)m 10(its)m 104 892 p (maximum)s 10(value)m 11(of)m 10(MaxAge\).)m 104 959 p (On)s 12(broadcast)m 13(networks,)m 12(the)m 13(Link)m 12(State)m 13(Update)m 12(packets)m 12(are)m 13(multicast.)m 20(The)m 12(destination)m 12(IP)m 13(address)m 12(speci\014ed)m 13(for)m 104 1009 p (the)s 11(Link)m 12(State)m 11(Update)m 11(Packet)m 12(depends)m 11(on)m 11(the)m 12(state)m 11(of)m 12(the)m 11(interface.)m 17(If)m 11(the)m 11(interface)m 12(state)m 11(is)m t-bol.300 @sf 12(DR)m t-rom.300 @sf 11(or)m t-bol.300 @sf 11(Backup)m t-rom.300 @sf 44 c 12(the)m 104 1059 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 1125 p (On)s 10(non-broadcast,)m 10(multi-access)m 9(networks,)m 10(separate)m 10(Link)m 10(State)m 10(Update)m 9(packets)m 10(must)m 10(be)m 10(sent,)m 10(as)m 10(unicasts,)m 9(to)m 10(each)m 104 1175 p (adjacent)s 11(neighbor)m 11(\(i.e.,)m 12(those)m 11(in)m 11(state)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 11(or)m 12(greater\).)m 16(The)m 11(destination)m 11(IP)m 12(addresses)m 11(for)m 11(these)m 11(packets)m 11(are)m 104 1225 p (the)s 10(neighbors')m 11(IP)m 10(addresses.)m t-bol.360 @sf 0 1361 p (13.4)s 50(Receiving)m 12(self-originated)m 13(link)m 12(state)m t-rom.300 @sf 0 1457 p (It)s 15(is)m 15 r 97 c 14(common)m 15(occurrence)m 15(to)m 15(receive)m 15 r 97 c 15(self-originated)m 14(link)m 15(state)m 15(advertisement)m 15(via)m 15(the)m 14(\015ooding)m 15(procedure.)m 27(If)m 15(the)m 0 1507 p (advertisement)s 10(received)m 10(is)m 10 r 97 c 10(newer)m 10(instantiation)m 10(than)m 10(the)m 10(last)m 10(instantiation)m 10(that)m 10(the)m 10(router)m 10(actually)m 10(originated,)m 10(the)m 10(router)m 0 1557 p (must)s 10(take)m 11(special)m 10(action.)m 0 1624 p (The)s 13(reception)m 13(of)m 13(such)m 12(an)m 13(advertisement)m 13(indicates)m 13(that)m 13(there)m 13(are)m 13(link)m 13(state)m 12(advertisements)m 13(in)m 13(the)m 13(routing)m 13(domain)m 13(that)m 0 1674 p (were)s 8(originated)m 9(before)m 8(the)m 9(last)m 8(time)m 9(the)m 8(router)m 9(was)m 8(restarted.)m 13(In)m 9(this)m 8(case,)m 9(the)m 9(router)m 8(must)m 8(advance)m 9(the)m 8(sequence)m 9(number)m 0 1724 p (for)s 10(the)m 11(advertisement)m 10(one)m 11(past)m 10(the)m 10(received)m 11(sequence)m 10(number)m 44 c 9(and)m 10(originate)m 11 r 97 c 10(new)m 11(instantiation)m 10(of)m 11(the)m 10(advertisement.)m 0 1791 p (Note)s 11(also)m 10(that)m 11(if)m 10(the)m 11(type)m 10(of)m 11(the)m 10(advertisement)m 11(is)m 10(Summary)m 11(link)m 10(or)m 11(AS)m 10(external)m 11(link,)m 10(the)m 11(router)m 10(may)m 11(no)m 10(longer)m 11(have)m 10(an)m 0 1841 p (\(advertisable\))s 11(route)m 10(to)m 11(the)m 10(destination.)m 15(In)m 10(this)m 11(case,)m 11 r 97 c 10(new)m 11(advertisement)m 10(must)m 11(still)m 10(be)m 11(originated,)m 11(with)m 10(metric)m 11(equal)m 10(to)m 0 1891 p (LSIn\014nity)s -2 r 46 c t-bol.360 @sf 0 2028 p (13.5)s 50(Sending)m 12(Link)m 13(State)m 12(Acknowledgment)m 13(packets)m t-rom.300 @sf 0 2123 p (Each)s 14(newly)m 15(received)m 14(link)m 14(state)m 15(advertisement)m 14(must)m 14(be)m 15(acknowledged.)m 25(This)m 15(is)m 14(usually)m 14(done)m 15(by)m 14(sending)m 14(Link)m 15(State)m 0 2173 p (Acknowledgment)s 13(packets.)m 22(However)m 44 c 12(acknowledgments)m 13(can)m 14(also)m 13(be)m 13(accomplished)m 13(implicitly)m 13(by)m 13(sending)m 13(Link)m 14(State)m 0 2223 p (Update)s 10(packets)m 11(\(see)m 10(step)m 11(3a)m 10(of)m 10(Section)m 11(13\).)m 0 2291 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 2341 p (sent)s 11(back)m 11(out)m 11(the)m 11(interface)m 11(that)m 11(has)m 11(received)m 11(the)m 11(advertisements.)m 16(The)m 11(packet)m 11(can)m 11(be)m 11(sent)m 11(in)m 11(one)m 11(of)m 11(two)m 11(ways:)m 15(delayed)m 0 2390 p (and)s 12(sent)m 11(on)m 12(an)m 11(interval)m 12(timer)m -1 r 44 c 11(or)m 11(sent)m 12(directly)m 11(\(as)m 12 r 97 c 12(unicast\))m 11(to)m 12 r 97 c 11(particular)m 12(neighbor)m -2 r 46 c 17(The)m 11(particular)m 12(acknowledgment)m 0 2440 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 2508 p (Sending)s 11(delayed)m 10(acknowledgments)m 11(accomplishes)m 10(several)m 11(things:)m 14(it)m 11(facilitates)m 10(the)m 11(packaging)m 11(of)m 10(multiple)m 11(acknowledg-)m 0 2558 p (ments)s 10(in)m 9 r 97 c 10(single)m 9(packet;)m 10(it)m 10(enables)m 9 r 97 c 10(single)m 9(packet)m 10(to)m 10(indicate)m 9(acknowledgments)m 10(to)m 9(several)m 10(neighbors)m 9(at)m 10(once)m 10(\(through)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(68)m @eop 67 @bop0 /Times-Bold /t-bol.240 ReEncodeForTeX /t-bol.240 /t-bol.240 33.333265 TeXPSmakefont def 67 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (AS)s 10(external)m 11(link)m t-rom.300 @sf 21(The)m 16(best)m 17(route)m 17(to)m 17(the)m 16(destination)m 17(described)m 17(by)m 17(the)m 16(AS)m 17(external)m 17(link)m 17(advertisement)m 16(must)m 17(be)m 17(re-)m 104 245 p (examined)s 10(\(see)m 11(Section)m 10(16.6\).)m 0 354 p (Also,)s 8(any)m 8(old)m 8(version)m 8(of)m 7(the)m 8(advertisement)m 8(must)m 8(be)m 7(removed)m 8(from)m 8(the)m 8(database)m 7(when)m 8(the)m 8(new)m 8(advertisement)m 7(is)m 8(installed.)m 0 404 p (This)s 10(old)m 10(version)m 11(must)m 10(also)m 10(be)m 10(removed)m 10(from)m 11(all)m 10(lists)m 10(of)m 10(link)m 10(state)m 10(advertisements)m 11(\(e.g.,)m 10(the)m t-bol.300 @sf 10(Link)m 10(state)m 11 r 114 c (etransmission)s 0 454 p (lists)s t-rom.300 @sf 10(for)m 11(all)m 10(neighbors;)m 11(see)m 10(Section)m 10(10\).)m t-bol.360 @sf 0 590 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 686 p (When)s 16 r 97 c 15(new)m 16(\(and)m 15(more)m 16(recent\))m 15(advertisement)m 16(has)m 16(been)m 15(received,)m 17(it)m 16(must)m 15(be)m 16(\015ooded)m 15(out)m 16(some)m 16(set)m 15(of)m 16(the)m 15(router)m 2 r 39 c -2 r 115 c 0 736 p (interfaces.)s 14(The)m 10(set)m 11(of)m 10(interfaces)m 11(to)m 10(\015ood)m 10(the)m 11(advertisement)m 10(out)m 11(of)m 10(depends)m 10(on)m 11(the)m 10(type)m 11(of)m 10(advertisement:)m t-bol.300 @sf 0 845 p (AS)s 10(external)m 11(links)m t-rom.300 @sf 21(AS)m 12(external)m 12(links)m 12(are)m 12(\015ooded)m 12(throughout)m 13(the)m 12(entire)m 12(AS.)m 12(The)m 12(eligible)m 12(interfaces)m 13(are)m 12(all)m 12(interfaces,)m 104 895 p (regardless)s 10(of)m 11(associated)m 10(area,)m 10(yet)m 11(excluding)m 10(the)m 11(virtual)m 10(links.)m t-bol.300 @sf 0 978 p (All)s 10(other)m 11(types)m t-rom.300 @sf 21(All)m 11(other)m 12(types)m 12(are)m 12(speci\014c)m 11(to)m 12 r 97 c 12(single)m 11(area)m 12(\(Area)m 12(A\).)m 12(The)m 11(eligible)m 12(interfaces)m 12(are)m 12(all)m 11(those)m 12(interfaces)m 104 1028 p (associated)s 10(with)m 11(the)m 10(Area)m 10(A.)m 11(If)m 10(Area)m 11 r 65 c 10(is)m 11(the)m 10(backbone,)m 10(this)m 11(includes)m 10(all)m 11(the)m 10(virtual)m 10(links.)m 0 1137 p (Link)s 13(state)m 12(databases)m 13(must)m 13(remain)m 13(synchronized)m 12(over)m 13(all)m 13(adjacencies)m 13(associated)m 12(with)m 13(the)m 13(above)m 13(\\eligible)m 12(interfaces".)m 0 1187 p (This)s 9(is)m 9(accomplished)m 8(by)m 9(executing)m 9(the)m 9(following)m 8(steps)m 9(on)m 9(each)m 9(eligible)m 8(interface.)m 14(It)m 8(should)m 9(be)m 9(noted)m 9(that)m 8(this)m 9(procedure)m 0 1237 p (may)s 15(decide)m 14(not)m 15(to)m 14(\015ood)m 15 r 97 c 14(link)m 15(state)m 14(advertisement)m 15(out)m 14 r 97 c 15(particular)m 14(interface,)m 16(if)m 15(there)m 14(is)m 15 r 97 c 14(high)m 15(probability)m 14(that)m 15(the)m 0 1286 p (attached)s 11(neighbors)m 10(have)m 11(already)m 11(received)m 11(the)m 10(advertisement.)m 15(However)m 44 c 9(in)m 11(these)m 11(cases)m 11(the)m 10(\015ooding)m 11(procedure)m 11(must)m 10(be)m 0 1336 p (absolutely)s 11(sure)m 10(that)m 11(the)m 10(neighbors)m 11(eventually)m 11(do)m 10(receive)m 11(the)m 11(advertisement,)m 10(so)m 11(the)m 11(advertisement)m 10(is)m 11(still)m 10(added)m 11(to)m 11(each)m 0 1386 p (adjacency')s -1 r 115 c t-bol.300 @sf 9(Link)m 11(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 46 c 14(For)m 10(each)m 10(eligible)m 11(interface:)m 52 1495 p (1.)s 21(Each)m 10(of)m 11(the)m 11(neighbors)m 11(attached)m 11(to)m 11(this)m 11(interface)m 11(are)m 11(examined,)m 11(to)m 11(determine)m 11(whether)m 11(they)m 11(must)m 10(receive)m 11(the)m 11(new)m 104 1545 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 1628 p (\(a\))s 21(If)m 9(the)m 10(neighbor)m 9(is)m 10(in)m 9 r 97 c 10(lesser)m 9(state)m 10(than)m t-bol.300 @sf 9(Exchange)m t-rom.300 @sf 44 c 10(it)m 10(does)m 9(not)m 10(participate)m 9(in)m 10(\015ooding,)m 9(and)m 10(the)m 9(next)m 10(neighbor)m 195 1678 p (should)s 11(be)m 10(examined.)m 126 1744 p (\(b\))s 21(Else,)m 14(if)m 13(the)m 14(adjacency)m 13(is)m 14(not)m 14(yet)m 13(full)m 14(\(neighbor)m 13(state)m 14(is)m t-bol.300 @sf 13(Exchange)m t-rom.300 @sf 14(or)m t-bol.300 @sf 13(Loading)m t-rom.300 @sf (\),)s 15(examine)m 13(the)m t-bol.300 @sf 14(Link)m 13(state)m 195 1794 p 114 c (equest)s 9(list)m t-rom.300 @sf 9(associated)m 9(with)m 10(this)m 9(adjacency)m -1 r 46 c 12(If)m 9(there)m 10(is)m 9(an)m 10(instantiation)m 9(of)m 9(the)m 10(new)m 9(advertisement)m 10(on)m 9(the)m 9(list,)m 195 1844 p (it)s 10(indicates)m 9(that)m 9(the)m 10(neighboring)m 9(router)m 10(has)m 9(an)m 10(instantiation)m 9(of)m 9(the)m 10(advertisement)m 9(already)m -1 r 46 c 12(Compare)m 10(the)m 9(new)m 195 1894 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 1960 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(try)m 11(the)m 10(next)m 11(neighbor)m -2 r 46 c cmsy10.300 @sf 231 2018 p 15 c t-rom.300 @sf 21(If)m 9(the)m 8(two)m 9(copies)m 8(are)m 9(the)m 8(same)m 9(instantiation,)m 9(then)m 9(delete)m 8(the)m 9(advertisement)m 8(from)m 9(the)m t-bol.300 @sf 9(Link)m 8(state)m 9 r 114 c (equest)s 273 2068 p (list)s t-rom.300 @sf 44 c 10(and)m 11(try)m 10(the)m 10(next)m 11(neighbor)m -1 r 46 c t-rom.210 @sf 788 2053 p (16)s cmsy10.300 @sf 231 2126 p 15 c t-rom.300 @sf 21(Else,)m 14(the)m 12(new)m 13(advertisement)m 13(is)m 13(more)m 13(recent.)m 21(Delete)m 13(the)m 13(advertisement)m 13(from)m 13(the)m t-bol.300 @sf 13(Link)m 13(state)m 13 r 114 c (equest)s t-rom.300 @sf 273 2176 p (list.)s 128 2242 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(try)m 10(the)m 11(next)m 10(neighbor)m -1 r 46 c 126 2309 p (\(d\))s 21(At)m 11(this)m 12(point)m 11(we)m 12(are)m 12(not)m 11(positive)m 12(that)m 11(the)m 12(new)m 12(neighbor)m 11(has)m 12(an)m 11(up-to-date)m 12(instantiation)m 12(of)m 11(this)m 12(new)m 11(adver-)m 195 2359 p (tisement.)s 13(Add)m 9(the)m 8(new)m 9(advertisement)m 8(to)m 8(the)m t-bol.300 @sf 9(Link)m 8(state)m 9 r 114 c (etransmission)s 7(list)m t-rom.300 @sf 9(for)m 8(the)m 9(adjacency)m -2 r 46 c 12(This)m 9(ensures)m 195 2408 p (that)s 8(the)m 8(\015ooding)m 8(procedure)m 7(is)m 8(reliable;)m 9(the)m 8(advertisement)m 8(will)m 8(be)m 7(retransmitted)m 8(at)m 8(intervals)m 8(until)m 8(an)m 8(acknowl-)m 195 2458 p (edgment)s 12(is)m 11(seen)m 11(from)m 12(the)m 11(neighbor)m -1 r 46 c 16(Any)m 12(old)m 11(instantiations)m 12(of)m 11(the)m 11(advertisement)m 12(should)m 11(be)m 12(removed)m 11(from)m 195 2508 p (the)s t-bol.300 @sf 11(Link)m 10(state)m 10 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 10(at)m 11(this)m 10(time.)m 0 2535 p 780 2 ru t-rom.180 @sf 33 2563 p (16)s t-rom.240 @sf 60 2575 p (This)s 8(is)m 9(how)m 8(the)m t-bol.240 @sf 8(Link)m 9(state)m 8 r 114 c (equest)s 8(list)m t-rom.240 @sf 8(is)m 8(emptied,)m 9(which)m 8(eventually)m 8(causes)m 9(the)m 8(neighbor)m 8(state)m 9(to)m 8(transition)m 8(to)m t-bol.240 @sf 9(Full)m t-rom.240 @sf 46 c 11(See)m 8(Section)m 9(10.2.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(67)m @eop 66 @bop0 66 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 52 195 p (4.)s 21(Else,)m 8(the)m 7(database)m 7(copy)m 8(is)m 7(more)m 8(recent.)m 13(Note)m 7(an)m 7(unusual)m 8(event)m 7(to)m 8(network)m 7(management,)m 8(discard)m 8(the)m 7(advertisement)m 104 245 p (and)s 10(process)m 11(the)m 10(next)m 10(link)m 11(state)m 10(advertisement)m 11(contained)m 10(in)m 11(the)m 10(packet.)m t-bol.360 @sf 0 382 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 477 p (When)s 8 r 97 c 9(router)m 8(encounters)m 9(two)m 8(instantiations)m 8(of)m 9 r 97 c 8(link)m 9(state)m 8(advertisement,)m 9(it)m 8(must)m 9(determine)m 8(which)m 8(is)m 9(more)m 8(recent.)m 13(This)m 0 527 p (occurred)s 12(above)m 11(when)m 12(comparing)m 11 r 97 c 12(received)m 11(advertisement)m 12(to)m 11(the)m 12(database)m 11(copy)m -1 r 46 c 16(This)m 12(comparison)m 11(must)m 12(also)m 11(be)m 12(done)m 0 577 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 645 p 65 c 12(link)m 12(state)m 12(advertisement)m 12(is)m 11(identi\014ed)m 12(by)m 12(its)m 12(LS)m 12(type,)m 12(Link)m 12(State)m 12(ID)m 12(and)m 12(Advertising)m 12(Router)m -2 r 46 c 18(For)m 12(two)m 12(instantiations)m 0 694 p (of)s 13(the)m 13(same)m 13(advertisement,)m 14(the)m 13(LS)m 13(sequence)m 13(number)m -1 r 44 c 12(LS)m 13(age,)m 14(and)m 13(LS)m 13(checksum)m 13(\014elds)m 13(are)m 13(used)m 13(to)m 13(determine)m 13(which)m 0 744 p (instantiation)s 10(is)m 11(more)m 10(recent:)m cmsy10.300 @sf 62 853 p 15 c t-rom.300 @sf 21(The)m 9(advertisement)m 10(having)m 9(the)m t-ita.300 @sf 10(newer)m t-rom.300 @sf 9(LS)m 10(sequence)m 9(number)m 10(is)m 9(more)m 10(recent.)m 13(See)m 10(Section)m 9(12.1.4)m 10(for)m 9(an)m 10(explanation)m 104 903 p (of)s 10(the)m 11(LS)m 10(sequence)m 10(number)m 11(space.)m 14(If)m 10(both)m 11(instantiations)m 10(have)m 10(the)m 11(same)m 10(LS)m 11(sequence)m 10(number)m -1 r 44 c 10(then:)m cmsy10.300 @sf 62 986 p 15 c t-rom.300 @sf 21(If)m 14(the)m 15(two)m 14(instantiations)m 14(have)m 14(dif)m (ferent)s 14(LS)m 14(checksums,)m 15(then)m 15(the)m 14(instantiation)m 14(having)m 14(the)m 15(lar)m (ger)s 13(LS)m 14(checksum)m 104 1036 p (\(when)s 10(considered)m 11(as)m 10 r 97 c 10(16-bit)m 11(unsigned)m 10(integer\))m 11(is)m 10(considered)m 11(more)m 10(recent.)m cmsy10.300 @sf 62 1119 p 15 c t-rom.300 @sf 21(Else,)m 13(if)m 13(only)m 13(one)m 13(of)m 13(the)m 12(instantiations)m 13(is)m 13(of)m 13(age)m 13(MaxAge,)m 13(the)m 13(instantiation)m 13(of)m 13(age)m 12(MaxAge)m 13(is)m 13(considered)m 13(to)m 13(be)m 104 1169 p (more)s 10(recent.)m cmsy10.300 @sf 62 1252 p 15 c t-rom.300 @sf 21(Else,)m 11(if)m 11(the)m 10(ages)m 11(of)m 11(the)m 11(two)m 11(instantiations)m 10(dif)m (fer)s 10(by)m 11(more)m 11(than)m 11(MaxAgeDif)m (f,)s 10(the)m 11(instantiation)m 11(having)m 10(the)m 11(smaller)m 104 1302 p (\(younger\))s 10(age)m 11(is)m 10(considered)m 10(to)m 11(be)m 10(more)m 11(recent.)m cmsy10.300 @sf 62 1385 p 15 c t-rom.300 @sf 21(Else,)m 10(the)m 11(two)m 10(instantiations)m 11(are)m 10(considered)m 11(to)m 10(be)m 10(identical.)m t-bol.360 @sf 0 1521 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 1617 p (Installing)s 14 r 97 c 13(new)m 14(link)m 14(state)m 14(advertisement)m 13(in)m 14(the)m 14(database,)m 14(either)m 14(as)m 14(the)m 14(result)m 13(of)m 14(\015ooding)m 14(or)m 13 r 97 c 14(newly)m 14(self)m 14(originated)m 0 1667 p (advertisement,)s 10(may)m 9(cause)m 10(the)m 9(routing)m 10(table)m 9(structure)m 10(to)m 9(be)m 10(recalculated.)m 13(The)m 10(contents)m 9(of)m 10(the)m 9(new)m 10(advertisement)m 9(should)m 0 1717 p (be)s 13(compared)m 12(to)m 13(the)m 13(old)m 12(instantiation,)m 14(if)m 12(present.)m 21(If)m 13(there)m 12(is)m 13(no)m 13(dif)m (ference,)s 12(there)m 13(is)m 12(no)m 13(need)m 13(to)m 12(recalculate)m 13(the)m 13(routing)m 0 1766 p (table.)s 19(\(Note)m 12(that)m 11(even)m 12(if)m 12(the)m 12(contents)m 12(are)m 12(the)m 12(same,)m 13(the)m 12(LS)m 12(checksum)m 12(will)m 11(probably)m 12(be)m 12(dif)m (ferent,)s 12(since)m 12(the)m 12(checksum)m 0 1816 p (covers)s 10(the)m 11(LS)m 10(sequence)m 11(number)m -2(.\))m 0 1884 p (If)s 11(the)m 11(contents)m 10(are)m 11(dif)m (ferent,)s 10(the)m 11(following)m 11(pieces)m 11(of)m 11(the)m 11(routing)m 10(table)m 11(must)m 11(be)m 11(recalculated,)m 11(depending)m 11(on)m 10(the)m 11(LS)m 11(type)m 0 1934 p (\014eld:)s t-bol.300 @sf 0 2043 p (Router)s 10(links,)m 11(network)m 10(links)m t-rom.300 @sf 21(The)m 8(entire)m 9(routing)m 8(table)m 8(must)m 8(be)m 9(recalculated,)m 8(starting)m 9(with)m 8(the)m 8(shortest)m 8(path)m 9(calculations)m 104 2093 p (for)s 14(each)m 15(area)m 15(\(not)m 14(just)m 15(the)m 14(area)m 15(whose)m 15(topological)m 14(database)m 15(has)m 14(changed\).)m 27(The)m 14(reason)m 15(that)m 14(the)m 15(shortest)m 15(path)m 104 2143 p (calculation)s 10(cannot)m 10(be)m 10(restricted)m 10(to)m 10(the)m 10(single)m 9(changed)m 10(area)m 10(has)m 10(to)m 10(do)m 10(with)m 10(the)m 10(fact)m 10(that)m 10(AS)m 10(boundary)m 10(routers)m 10(may)m 104 2192 p (belong)s 10(to)m 11(multiple)m 10(areas.)m 14 r 65 c 11(change)m 10(in)m 11(the)m 10(area)m 11(currently)m 10(providing)m 11(the)m 10(best)m 11(route)m 10(may)m 11(force)m 10(the)m 11(router)m 10(to)m 11(use)m 10(an)m 104 2242 p (intra-area)s 10(route)m 11(provided)m 10(by)m 10 r 97 c 11(dif)m (ferent)s 10(area.)m t-rom.210 @sf 856 2227 p (15)s t-bol.300 @sf 0 2325 p (Summary)s 10(link)m t-rom.300 @sf 21(The)m 11(best)m 11(route)m 11(to)m 11(the)m 12(destination)m 11(described)m 11(by)m 11(the)m 11(summary)m 11(link)m 11(advertisement)m 11(must)m 11(be)m 11(re-examined)m 104 2375 p (\(see)s 12(Section)m 12(16.5\).)m 19(If)m 12(this)m 12(destination)m 13(is)m 12(an)m 12(AS)m 12(boundary)m 12(router)m 44 c 11(it)m 12(may)m 12(be)m 13(necessary)m 12(to)m 12(re-examine)m 12(all)m 12(the)m 12(AS)m 104 2425 p (external)s 10(link)m 11(advertisements.)m 0 2452 p 780 2 ru t-rom.180 @sf 33 2480 p (15)s t-rom.240 @sf 60 2492 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 2531 p (area.)s 16(In)m 11(fact,)m 10(there)m 10(are)m 10(incremental)m 10(algorithms)m 11(that)m 10(allow)m 10(an)m 10(implementation)m 10(to)m 10(recalculate)m 10(only)m 10 r 97 c 10(portion)m 10(of)m 11(the)m 10(shortest)m 10(path)m 10(tree)m 10([BBN].)m 10(These)m 0 2571 p (algorithms)s 8(are)m 9(beyond)m 8(the)m 8(scope)m 9(of)m 8(this)m 8(speci\014cation.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(66)m @eop 65 @bop0 65 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p (13)s 58(The)m 15(Flooding)m 14(Pr)m (ocedur)s -1 r 101 c t-rom.300 @sf 0 304 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 354 p (may)s 7(contain)m 7(several)m 7(distinct)m 7(advertisements,)m 8(and)m 7(\015oods)m 7(each)m 6(advertisement)m 7(one)m 7(hop)m 7(further)m 7(from)m 7(its)m 7(point)m 7(of)m 7(origination.)m 0 404 p 84 c -2 r 111 c 12(make)m 13(the)m 13(\015ooding)m 13(procedure)m 13(reliable,)m 13(each)m 13(advertisement)m 13(must)m 13(be)m 13(acknowledged)m 13(separately)m -2 r 46 c 21(Acknowledgments)m 0 453 p (are)s 13(transmitted)m 13(in)m 14(Link)m 13(State)m 13(Acknowledgment)m 13(packets.)m 22(Many)m 14(separate)m 13(acknowledgments)m 13(can)m 13(be)m 14(grouped)m 13(together)m 0 503 p (into)s 10 r 97 c 11(single)m 10(packet.)m 0 569 p (The)s 13(\015ooding)m 14(procedure)m 13(starts)m 13(when)m 14 r 97 c 13(Link)m 13(State)m 14(Update)m 13(packet)m 13(has)m 14(been)m 13(received.)m 22(Many)m 14(consistency)m 13(checks)m 13(have)m 0 619 p (been)s 11(made)m 12(on)m 11(the)m 11(received)m 11(packet)m 12(before)m 11(being)m 11(handed)m 11(to)m 12(the)m 11(\015ooding)m 11(procedure)m 11(\(see)m 12(Section)m 11(8.2\).)m 16(In)m 11(particular)m 44 c 10(the)m 0 669 p (Link)s 11(State)m 11(Update)m 10(packet)m 11(has)m 11(been)m 11(associated)m 11(with)m 11 r 97 c 10(particular)m 11(neighbor)m -1 r 44 c 10(and)m 11 r 97 c 11(particular)m 11(area.)m 15(If)m 11(the)m 11(neighbor)m 10(is)m 11(in)m 11 r 97 c 0 718 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 784 p (All)s 13(types)m 13(of)m 13(link)m 13(state)m 13(advertisements,)m 13(other)m 13(than)m 13(AS)m 13(external)m 13(links,)m 14(are)m 13(associated)m 13(with)m 13 r 97 c 13(speci\014c)m 13(area.)m 21(The)m 13(adver-)m 0 834 p (tisement)s 13(does)m 13(not)m 13(contain)m 13(an)m 13(area)m 13(\014eld,)m 14(however)m -1 r 44 c 13(and)m 13(the)m 13(area)m 13(must)m 13(be)m 13(deduced)m 13(from)m 13(the)m 13(Link)m 13(State)m 13(Update)m 13(packet)m 0 884 p (header)s -1 r 46 c 0 950 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 1053 p (1.)s 21 r 86 c -4(alidate)m 9(the)m 10(advertisement')m -1 r 115 c 9(link)m 10(state)m 10(checksum.)m 13(If)m 10(the)m 10(checksum)m 10(turns)m 10(out)m 10(to)m 10(be)m 10(invalid,)m 10(discard)m 10(the)m 10(advertise-)m 104 1103 p (ment)s 10(and)m 11(get)m 10(the)m 10(next)m 11(one)m 10(from)m 11(the)m 10(Link)m 11(State)m 10(Update)m 10(packet.)m 52 1184 p (2.)s 21(Find)m 9(the)m 9(instantiation)m 10(of)m 9(this)m 9(advertisement)m 10(that)m 9(is)m 9(currently)m 10(contained)m 9(in)m 9(the)m 10(router)m 1 r 39 c -1 r 115 c 8(link)m 10(state)m 9(database.)m 14(If)m 9(there)m 104 1234 p (is)s 8(no)m 9(database)m 9(copy)m -2 r 44 c 8(or)m 8(the)m 9(received)m 9(advertisement)m 8(is)m 9(more)m 8(recent)m 9(than)m 8(the)m 9(database)m 9(copy)m 8(\(see)m 9(Section)m 8(13.1)m 9(below)m 104 1284 p (for)s 10(the)m 11(determination)m 10(of)m 10(which)m 11(advertisement)m 10(is)m 11(more)m 10(recent\))m 11(the)m 10(following)m 10(steps)m 11(must)m 10(be)m 11(performed:)m 128 1365 p (\(a\))s 21(Immediately)m 14(\015ood)m 13(the)m 14(new)m 14(advertisement)m 14(out)m 14(some)m 14(subset)m 13(of)m 14(the)m 14(router)m 2 r 39 c -2 r 115 c 13(interfaces)m 14(\(see)m 14(Section)m 14(13.3\).)m 195 1415 p (In)s 12(some)m 11(cases)m 12(\(e.g.,)m 12(the)m 11(state)m 12(of)m 11(the)m 12(receiving)m 11(interface)m 12(is)m t-bol.300 @sf 11(DR)m t-rom.300 @sf 12(and)m 11(the)m 12(advertisement)m 11(was)m 12(received)m 11(from)m 12 r 97 c 195 1465 p (router)s 10(other)m 10(than)m 11(the)m 10(Backup)m 10(DR\))m 10(the)m 10(advertisement)m 10(will)m 10(be)m 11(\015ooded)m 10(back)m 10(out)m 10(the)m 10(receiving)m 10(interface.)m 14(This)m 195 1514 p (occurrence)s 11(should)m 10(be)m 10(noted)m 11(for)m 10(later)m 11(use)m 10(by)m 10(the)m 11(acknowledgment)m 10(process)m 11(\(Section)m 10(13.5\).)m 126 1579 p (\(b\))s 21(Remove)m 8(the)m 8(current)m 9(database)m 8(copy)m 9(from)m 8(all)m 9(lists)m 8(of)m 9(link)m 8(state)m 9(advertisements)m 8(\(e.g.,)m 9(from)m 8(all)m 9(neighbors')m t-bol.300 @sf 8(Link)m 195 1629 p (state)s 11 r 114 c (etransmission)s 9(lists)m t-rom.300 @sf (\).)s 128 1694 p (\(c\))s 21(Install)m 12(the)m 13(new)m 13(advertisement)m 12(in)m 13(the)m 12(link)m 13(state)m 12(database)m 13(\(replacing)m 12(the)m 13(current)m 13(database)m 12(copy\).)m 21(This)m 12(may)m 195 1744 p (cause)s 13(the)m 14(routing)m 13(table)m 13(calculation)m 14(to)m 13(be)m 13(scheduled.)m 23(The)m 13(advertisement)m 13(installation)m 14(process)m 13(is)m 13(discussed)m 195 1793 p (further)s 11(in)m 10(Section)m 10(13.2.)m 126 1858 p (\(d\))s 21(Possibly)m 11(acknowledge)m 12(the)m 12(receipt)m 12(of)m 11(the)m 12(advertisement)m 12(by)m 12(sending)m 12 r 97 c 11(Link)m 12(State)m 12(Acknowledgment)m 12(packet)m 195 1908 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 128 1973 p (\(e\))s 21(If)m 13(this)m 14(new)m 13(link)m 13(state)m 14(advertisement)m 13(indicates)m 14(that)m 13(it)m 13(was)m 14(originated)m 13(by)m 14(this)m 13(router)m 13(itself,)m 14(the)m 14(router)m 13(must)m 195 2022 p (advance)s 9(the)m 8(advertisement')m -1 r 115 c 7(link)m 9(state)m 8(sequence)m 9(number)m -1 r 44 c 8(and)m 8(issue)m 9 r 97 c 8(new)m 9(instantiation)m 8(of)m 9(the)m 8(advertisement)m 195 2072 p (\(see)s 11(Section)m 10(13.4\).)m 52 2154 p (3.)s 21(Else,)m 8(if)m 9(the)m 8(received)m 9(advertisement)m 8(is)m 8(the)m 9(same)m 8(instantiation)m 9(as)m 8(the)m 8(database)m 9(copy)m 8(\(i.e.,)m 9(neither)m 8(one)m 9(is)m 8(more)m 9(recent\))m 104 2203 p (the)s 10(following)m 11(two)m 10(steps)m 10(should)m 11(be)m 10(preformed:)m 128 2285 p (\(a\))s 21(If)m 11(the)m 11(advertisement)m 11(is)m 11(listed)m 11(in)m 11(the)m t-bol.300 @sf 11(Link)m 11(state)m 11 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 11(for)m 11(the)m 11(receiving)m 11(adjacency)m -1 r 44 c 10(the)m 11(router)m 195 2335 p (itself)s 14(is)m 15(expecting)m 14(an)m 14(acknowledgment)m 14(for)m 14(this)m 15(advertisement.)m 25(The)m 14(router)m 14(should)m 15(treat)m 14(the)m 14(received)m 14(ad-)m 195 2384 p (vertisement)s 12(as)m 12(an)m 11(acknowledgment,)m 12(by)m 12(removing)m 12(the)m 12(advertisement)m 11(from)m 12(the)m t-bol.300 @sf 12(Link)m 12(state)m 11 r 114 c (etransmission)s 195 2434 p (list)s t-rom.300 @sf 46 c 23(This)m 14(is)m 14(termed)m 13(an)m 14(\\implied)m 13(acknowledgment".)m 24(Its)m 13(occurrence)m 14(should)m 13(be)m 14(noted)m 14(for)m 13(later)m 14(use)m 13(by)m 14(the)m 195 2484 p (acknowledgment)s 11(process)m 10(\(Section)m 10(13.5\).)m 126 2549 p (\(b\))s 21(Possibly)m 11(acknowledge)m 12(the)m 12(receipt)m 12(of)m 11(the)m 12(advertisement)m 12(by)m 12(sending)m 12 r 97 c 11(Link)m 12(State)m 12(Acknowledgment)m 12(packet)m 195 2599 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(65)m @eop 64 @bop0 /Courier /c-med.270 ReEncodeForTeX /c-med.270 /c-med.270 37.499947 TeXPSmakefont def 64 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m c-med.270 @sf 157 195 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 241 p 59 c 23(originated)m 22(by)m 23(router)m 22(RT7)m 157 332 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 378 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 423 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 469 p (Advertising)s 23(Router)m 22 r 61 c 23(Router)m 22(RT7's)m 23(ID)m 337 515 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 560 p (TOS)s 23 r 61 c 22 r 48 c 337 606 p (metric)s 23 r 61 c 22 r 50 c t-bol.360 @sf 0 743 p (12.4)s 50 r 84 c (OS)s 12(metrics)m t-rom.300 @sf 0 838 p (In)s 12(each)m 12(type)m 12(of)m 12(link)m 12(state)m 12(advertisement,)m 12(dif)m (ferent)s 12(metrics)m 11(can)m 12(be)m 12(advertised)m 12(for)m 12(each)m 12(IP)m 12 r 84 c -2(ype)m 11(of)m 12(Service)m 12(\(T)m (OS\).)s 12(The)m 0 888 p 84 c (OS)s 10(\014elds)m 10(speci\014ed)m 10(in)m 11(the)m 10(link)m 11(state)m 10(advertisements)m 11(map)m 10(directly)m 10(to)m 11(the)m 10 r 84 c (OS)s 10(\014eld)m 10(in)m 11(the)m 10(IP)m 11(header)m -2 r 46 c 0 956 p 65 c 12(metric)m 13(for)m 12 r 84 c (OS)s 12 r 48 c 13(must)m 12(always)m 13(be)m 12(speci\014ed.)m 20(Metrics)m 13(for)m 12(other)m 13 r 84 c (OS)s 11(values)m 13(can)m 12(be)m 13(speci\014ed;)m 13(if)m 13(they)m 12(are)m 13(not,)m 13(these)m 0 1006 p (metrics)s 10(are)m 11(assumed)m 10(equal)m 11(to)m 10(the)m 10(metric)m 11(speci\014ed)m 10(for)m 11 r 84 c (OS)s 9(0.)m 0 1073 p (As)s 11(an)m 11(example,)m 11(suppose)m 10(the)m 11(point-to-point)m 11(link)m 11(between)m 11(routers)m 11 r 82 c -2(T3)m 10(and)m 11 r 82 c -2(T6)m 10(in)m 11(Figure)m 11(16)m 11(is)m 11 r 97 c 10(satellite)m 11(link.)m 15(The)m 11(AS)m 0 1123 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 1173 p (metric)s 10(arti\014cially)m 11(low)m 10(for)m 10(that)m 10 r 84 c (OS.)s 10(Router)m 10 r 82 c -1(T3)m 9(would)m 10(then)m 10(originate)m 11(the)m 10(following)m 10(router)m 10(links)m 11(advertisement)m 10(for)m 10(the)m 0 1223 p (backbone:)s c-med.270 @sf 157 1328 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 1419 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 1465 p (LS)s 23(type)m 22 r 61 c 23 r 49 c 382(;indicates)m 23(router)m 22(links)m 157 1510 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 1556 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.3)m 157 1602 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 1647 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 1693 p (#links)s 23 r 61 c 22 r 49 c 337 1739 p (Link)s 23(ID)m 22 r 61 c 23(18.10.0.6)m 202 r 59 c 23(Neighbor's)m 22(Router)m 23(ID)m 337 1784 p (Link)s 23(Data)m 22 r 61 c 23(0.0.0.0)m 202(;Interface)m 23(to)m 22(unnumbered)m 23(SL)m 337 1830 p (Type)s 23 r 61 c 22 r 49 c 450(;connects)m 23(to)m 22(router)m 337 1876 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 49 c 337 1921 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 56 c 517 1967 p (TOS)s 23 r 61 c 22 r 50 c 293(;High)m 22(bandwidth)m 517 2013 p (metric)s 23 r 61 c 22 r 49 c 225(;traffic)m 23(preferred)m t-rom.300 @sf 0 2122 p (Conversely)s -2 r 44 c 9(suppose)m 9(that)m 9(the)m 9(administrator)m 9(does)m 9(not)m 9(want)m 9(any)m 9(high)m 9(bandwidth)m 9(traf)m (\014c)s 8(to)m 9(go)m 9(over)m 9 r 97 c 9(certain)m 9(link.)m 13(The)m 9(cost)m 0 2172 p (of)s 10(the)m 11(link)m 10(for)m 11 r 84 c (OS)s 9 r 50 c 11(would)m 10(then)m 11(be)m 10(set)m 10(to)m 11(LSIn\014nity)m -2 r 46 c t-rom.210 @sf 899 2157 p (14)s t-rom.300 @sf 0 2239 p (Summary)s 12(link)m 11(advertisements)m 12(and)m 12(AS)m 11(external)m 12(link)m 12(advertisements)m 11(pertain)m 12(to)m 11 r 97 c 12(single)m 12(destination)m 11(\(IP)m 12(network)m 12(or)m 11(AS)m 0 2289 p (boundary)s 12(router\).)m 17(However)m -1 r 44 c 11(for)m 12 r 97 c 11(single)m 12(destination)m 12(there)m 11(may)m 12(be)m 11(separate)m 12(sets)m 11(of)m 12(paths,)m 12(and)m 12(therefore)m 11(separate)m 12(rout-)m 0 2339 p (ing)s 14(table)m 14(entries,)m 15(for)m 14(each)m 14 r 84 c -1(ype)m 13(of)m 14(Service.)m 25(All)m 14(these)m 14(entries)m 14(must)m 14(be)m 14(considered)m 14(when)m 14(building)m 15(the)m 14(summary)m 14(link)m 0 2389 p (advertisement)s 10(for)m 11(the)m 10(destination;)m 11 r 97 c 10(single)m 10(advertisement)m 11(must)m 10(specify)m 11(the)m 10(separate)m 11(costs)m 10(\(if)m 10(they)m 11(exist\))m 10(for)m 11(each)m 10 r 84 c (OS.)s 0 2425 p 780 2 ru t-rom.180 @sf 33 2452 p (14)s t-rom.240 @sf 60 2464 p 65 c 8(similar)m 8(technique)m 8(can)m 8(be)m 8(done)m 8(for)m 8(routers)m 8(that)m 8(are)m 8(unable)m 8(to)m 8(route)m 8(based)m 8(on)m 8 r 84 c -1(ype)m 7(of)m 8(Service,)m 8(yet)m 8(wish)m 8(to)m 8(run)m 8(the)m 8(OSPF)m 8(protocol.)m 11(Such)m 8(routers)m 0 2503 p (must)s 9(avoid)m 10(forwarding)m 9(IP)m 9(data)m 9(traf)m (\014c)s 9(with)m 9(non-zero)m 10 r 84 c (OS,)s 8(since)m 10(they)m 9(cannot)m 9(determine)m 10(the)m 9(best)m 9(route)m 9(\(and)m 10(so)m 9(cannot)m 9(be)m 9(sure)m 10(to)m 9(avoid)m 9(looping\))m 10(for)m 0 2543 p (the)s 7(packets)m 8(with)m 7(non-zero)m 7 r 84 c (OS.)s 7(These)m 7(routers)m 8(should)m 7(originate)m 7(router)m 8(links)m 7(advertisements)m 7(that)m 8(indicate)m 7(their)m 7(interfaces)m 7(are)m 8(unavailable)m 7(for)m 7(non-zero)m 0 2582 p 84 c (OS)s 8(traf)m (\014c.)s 10(This)m 9(is)m 8(again)m 8(accomplished)m 9(using)m 8(the)m 8(metric)m 9(LSIn\014nity)m -2 r 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(64)m @eop 63 @bop0 63 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (associated)s 12(with)m 12(some)m 12(non-backbone)m 12(area;)m 12(it)m 12(would)m 12(thus)m 12(no)m 12(longer)m 12(be)m 12(advertisable)m 12(to)m 12(the)m 12(backbone\),)m 12 r 97 c 12(new)m 12(summary)m 0 245 p (advertisement)s 10(must)m 11(be)m 10(advertised)m 11(with)m 10(metric)m 10(LSIn\014nity)m -1 r 46 c 0 310 p (As)s 13(an)m 13(example,)m 13(consider)m 13(again)m 13(the)m 13(area)m 13(con\014guration)m 12(in)m 13(Figure)m 13(6.)m 21(Routers)m 13 r 82 c -1(T3,)m 12 r 82 c -1(T4,)m 12 r 82 c -2(T7,)m 13 r 82 c -2(T10)m 12(and)m 13 r 82 c -1(T1)m -2 r 49 c 12(are)m 13(all)m 0 359 p (area)s 12(border)m 13(routers,)m 13(and)m 12(therefore)m 12(are)m 13(originating)m 12(summary)m 12(links)m 13(advertisements.)m 19(Consider)m 13(in)m 12(particular)m 13(router)m 12 r 82 c -2(T4.)m 0 409 p (Its)s 11(routing)m 12(table)m 11(was)m 11(calculated)m 11(as)m 12(the)m 11(second)m 11(example)m 12(in)m 11(Section)m 11 r 49 c (1.1.)s 15 r 82 c -1(T4)m 10(originates)m 11(summary)m 11(link)m 12(advertisements)m 0 459 p (into)s 14(both)m 15(the)m 14(backbone)m 15(and)m 14(Area)m 15(1.)m 26(Into)m 14(the)m 15(backbone,)m 15(router)m 15 r 82 c -2(T4)m 14(originates)m 14(separate)m 15(advertisements)m 14(for)m 15(each)m 14(of)m 0 509 p (the)s 14(networks)m 14(N1-N4.)m 25(Into)m 14(Area)m 14(1,)m 15(router)m 15 r 82 c -2(T4)m 13(originates)m 14(separate)m 14(advertisements)m 15(for)m 14(networks)m 14(N6-N8)m 14(and)m 14(the)m 14(AS)m 0 559 p (boundary)s 14(routers)m 14 r 82 c -2(T5,R)m -2(T7.)m 23(It)m 14(also)m 14(condenses)m 14(host)m 13(routes)m 14(Ia)m 14(and)m 14(Ib)m 14(into)m 14 r 97 c 14(single)m 14(summary)m 13(advertisement.)m 25(Finally)m -2 r 44 c 0 608 p (the)s 14(routes)m 14(to)m 14(networks)m 14(N9,N10,N1)m -1 r 49 c 13(and)m 14(host)m 14(H9)m 14(are)m 14(advertised)m 14(by)m 13 r 97 c 14(single)m 14(summary)m 14(link.)m 25(This)m 13(condensation)m 14(was)m 0 658 p (originally)s 10(performed)m 11(by)m 10(the)m 11(router)m 10 r 82 c -1(T1)m -2(1.)m 0 723 p (These)s 8(advertisements)m 7(are)m 8(illustrated)m 8(graphically)m 7(in)m 8(Figures)m 8 r 55 c 7(and)m 8(8.)m 13 r 84 c -2(wo)m 7(of)m 7(the)m 8(summary)m 8(link)m 7(advertisements)m 8(originated)m 0 773 p (by)s 11(router)m 11 r 82 c -1(T4)m 10(follow)m -2 r 46 c 15(The)m 11(actual)m 11(IP)m 11(addresses)m 12(for)m 11(the)m 11(networks)m 11(and)m 11(routers)m 11(in)m 11(question)m 11(have)m 11(been)m 12(assigned)m 11(in)m 11(Figure)m 0 823 p (16.)s c-med.270 @sf 157 918 p 59 c 23(summary)m 22(link)m 23(advertisement)m 22(for)m 23(network)m 22(N1,)m 157 963 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 1055 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 1100 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 1146 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 1192 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.4)m 157(;RT4's)m 23(ID)m 337 1237 p (TOS)s 23 r 61 c 22 r 48 c 337 1283 p (metric)s 23 r 61 c 22 r 52 c 157 1374 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 1420 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 1511 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 1557 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 1602 p (Link)s 23(State)m 22(ID)m 23 r 61 c 22(router)m 23(RT7's)m 22(ID)m 157 1648 p (Advertising)s 23(Router)m 22 r 61 c 23(192.1.1.4)m 157(;RT4's)m 23(ID)m 337 1694 p (TOS)s 23 r 61 c 22 r 48 c 337 1739 p (metric)s 23 r 61 c 22(14)m t-bol.300 @sf 0 1864 p (12.3.4)s 42(AS)m 10(external)m 10(links)m t-rom.300 @sf 0 1956 p (Each)s 14(AS)m 14(external)m 14(link)m 14(advertisement)m 13(describes)m 14 r 97 c 14(route)m 14(to)m 14 r 97 c 14(destination)m 14(that)m 14(is)m 14(external)m 13(to)m 14(the)m 14(AS.)m 14(AS)m 14(external)m 14(link)m 0 2006 p (advertisements)s 10(are)m 10(the)m 10(only)m 10(type)m 10(of)m 10(link)m 10(state)m 10(advertisements)m 10(that)m 10(are)m 10(\015ooded)m 10(throughout)m 10(the)m 10(entire)m 10(AS;)m 9(all)m 10(other)m 10(types)m 0 2056 p (of)s 8(link)m 7(state)m 8(advertisements)m 7(are)m 8(speci\014c)m 7(to)m 8 r 97 c 7(single)m 8(area.)m 13(AS)m 7(external)m 8(link)m 8(advertisements)m 7(are)m 8(originated)m 7(by)m 8(AS)m 7(boundary)m 0 2106 p (routers.)s 0 2170 p (An)s 11(AS)m 11(boundary)m 12(router)m 11(originates)m 11 r 97 c 11(single)m 11(AS)m 12(external)m 11(link)m 11(advertisement)m 11(for)m 11(each)m 12(external)m 11(route)m 11(that)m 11(it)m 11(has)m 12(learned,)m 0 2220 p (either)s 9(through)m 9(another)m 9(routing)m 9(protocol)m 9(\(such)m 9(as)m 9(EGP\),)m 9(or)m 10(through)m 9(con\014guration)m 9(information.)m 13 r 65 c 9(default)m 9(route)m 9(may)m 9(also)m 0 2270 p (be)s 10(advertised.)m 14(The)m 11(destination)m 10(for)m 11(the)m 10(default)m 10(route)m 11(is)m 10(de\014ned)m 11(to)m 10(be)m 10(DefaultDestination.)m 0 2335 p (The)s 11(metric)m 10(that)m 11(is)m 10(advertised)m 11(for)m 11(an)m 10(external)m 11(route)m 10(can)m 11(be)m 11(one)m 10(of)m 11(two)m 10(types.)m 15 r 84 c -2(ype)m 9 r 49 c 11(metrics)m 11(are)m 10(comparable)m 11(to)m 10(the)m 11(link)m 0 2384 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 0 2449 p (As)s 11(an)m 11(example,)m 11(consider)m 11(once)m 11(again)m 11(the)m 11(AS)m 11(pictured)m 11(in)m 10(Figure)m 11(6.)m 16(There)m 11(are)m 11(two)m 11(AS)m 11(boundary)m 11(routers:)m 14 r 82 c -1(T5)m 10(and)m 11 r 82 c -2(T7.)m 0 2499 p (Router)s 10 r 82 c -2(T5)m 9(originates)m 10(three)m 10(external)m 10(link)m 10(advertisements,)m 10(for)m 10(networks)m 10(N12-N14.)m 14(Router)m 10 r 82 c -2(T7)m 9(originates)m 10(two)m 10(external)m 0 2549 p (link)s 12(advertisements,)m 13(for)m 12(networks)m 12(N12)m 13(and)m 12(N15.)m 19(Assume)m 13(that)m 12 r 82 c -2(T7)m 12(has)m 12(learned)m 12(its)m 12(route)m 12(to)m 13(N12)m 12(via)m 12(EGP)m -3 r 44 c 11(and)m 12(that)m 12(it)m 0 2599 p (wishes)s 10(to)m 11(advertise)m 10 r 97 c 11 r 84 c -2(ype)m 9 r 50 c 11(metric)m 10(to)m 10(the)m 11(AS.)m 10 r 82 c -1(T7)m 9(would)m 11(then)m 10(originate)m 10(the)m 11(following)m 10(advertisement)m 11(for)m 10(N12:)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(63)m @eop 62 @bop0 62 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m c-med.270 @sf 157 195 p 59 c 23(network)m 22(links)m 23(advertisement)m 22(for)m 23(network)m 22(N3)m 157 286 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 332 p (LS)s 23(type)m 22 r 61 c 23 r 50 c 450(;indicates)m 22(network)m 23(links)m 157 378 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 423 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 469 p (Network)s 23(Mask)m 22 r 61 c 23(0xffffff00)m 337 515 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.4)m 90(;Router)m 22(ID)m 337 560 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.1)m 90(;Router)m 22(ID)m 337 606 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.2)m 90(;Router)m 22(ID)m 337 652 p (Attached)s 23(Router)m 22 r 61 c 23(192.1.1.3)m 90(;Router)m 22(ID)m t-bol.300 @sf 0 780 p (12.3.3)s 42(Summary)m 10(links)m t-rom.300 @sf 0 876 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 926 p (throughout)s 12 r 97 c 12(single)m 13(area)m 12(only)m -2 r 46 c 18(The)m 13(destination)m 12(described)m 12(is)m 12(one)m 12(that)m 13(is)m 12(external)m 12(to)m 12(the)m 12(area,)m 13(yet)m 12(still)m 12(belonging)m 13(to)m 12(the)m 0 975 p (Autonomous)s 10(System.)m 0 1043 p (Summary)s 10(links)m 11(advertisements)m 10(are)m 11(generated)m 10(by)m 11(area)m 10(border)m 11(routers.)m 14(The)m 11(precise)m 10(summary)m 11(routes)m 10(to)m 11(advertise)m 10(into)m 11(an)m 0 1093 p (area)s 12(are)m 13(determined)m 12(by)m 12(examining)m 12(the)m 13(routing)m 12(table)m 12(structure)m 12(\(see)m 13(Section)m 12 r 49 c -1(1\).)m 19(Only)m 12(intra-area)m 12(routes)m 12(are)m 13(advertised)m 0 1143 p (into)s 10(the)m 11(backbone.)m 14(Both)m 10(intra-area)m 11(and)m 10(inter)m (-area)s 10(routes)m 10(are)m 10(advertised)m 11(into)m 10(the)m 11(other)m 10(areas.)m 0 1210 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 cmsy10.300 @sf 62 1320 p 15 c t-rom.300 @sf 21(Only)m 12(Destination)m 11(types)m 12(of)m 11(network)m 12(and)m 11(AS)m 12(boundary)m 11(router)m 12(are)m 11(advertised)m 12(in)m 11(summary)m 12(link)m 11(advertisements.)m 18(If)m 104 1369 p (the)s 10(routing)m 11(table)m 10(entry')m -1 r 115 c 9(Destination)m 11(type)m 10(is)m 10(area)m 11(border)m 10(router)m 44 c 9(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 1452 p 15 c t-rom.300 @sf 21(AS)m 9(external)m 10(routes)m 9(are)m 10(never)m 9(advertised)m 10(in)m 9(summary)m 10(link)m 9(advertisements.)m 14(If)m 9(the)m 10(routing)m 9(table)m 10(entry)m 9(has)m 9(path)m 10(type)m 104 1502 p (AS)s 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 1585 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 10(the)m 9(area)m 10(associated)m 10(with)m 10(this)m 10(set)m 9(of)m 10(paths)m 10(is)m 10(the)m 9(Area)m 10 r 65 c 10(itself,)m 10(do)m 10(not)m 9(generate)m 10 r 97 c 10(summary)m 10(links)m 9(advertise-)m 104 1635 p (ment)s 10(for)m 11(the)m 10(route.)m t-rom.210 @sf 428 1620 p (13)s cmsy10.300 @sf 62 1718 p 15 c t-rom.300 @sf 21(Else,)m 14(if)m 13(the)m 13(destination)m 13(of)m 14(this)m 13(route)m 13(is)m 13(an)m 13(AS)m 13(boundary)m 14(router)m -1 r 44 c 13(generate)m 13 r 97 c 13 r 84 c -2(ype)m 12 r 52 c 13(link)m 14(state)m 13(advertisement)m 13(for)m 104 1768 p (the)s 12(destination,)m 12(with)m 11(Link)m 12(State)m 12(ID)m 12(equal)m 11(to)m 12(the)m 12(AS)m 11(boundary)m 12(router)m 2 r 39 c -2 r 115 c 11(ID)m 12(and)m 12(metric)m 11(equal)m 12(to)m 12(the)m 12(routing)m 11(table)m 104 1818 p (entry')s -2 r 115 c 10(cost.)m cmsy10.300 @sf 62 1901 p 15 c t-rom.300 @sf 21(Else,)m 15(the)m 14(Destination)m 15(type)m 14(is)m 14(network.)m 25(If)m 14(this)m 14(is)m 15(an)m 14(inter)m (-area)s 13(route,)m 15(generate)m 14 r 97 c 15 r 84 c -2(ype)m 13 r 51 c 14(advertisement)m 14(for)m 14(the)m 104 1951 p (destination,)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(and)m 10(metric)m 10(equal)m 11(to)m 10(the)m 11(routing)m 10(table)m 11(cost.)m cmsy10.300 @sf 62 2034 p 15 c t-rom.300 @sf 21(The)m 11(one)m 11(remaining)m 11(case)m 11(is)m 11(an)m 11(intra-area)m 10(route)m 11(to)m 11 r 97 c 11(network.)m 16(This)m 10(means)m 11(that)m 11(the)m 11(network)m 11(is)m 11(contained)m 11(in)m 11(one)m 11(of)m 104 2083 p (the)s 8(router)m 1 r 39 c -1 r 115 c 7(directly)m 8(attached)m 8(areas.)m 13(In)m 8(general,)m 8(this)m 8(information)m 8(must)m 8(be)m 8(condensed)m 8(before)m 8(appearing)m 8(in)m 8(summary)m 104 2133 p (link)s 11(advertisements.)m 15(Remember)m 11(that)m 11(an)m 10(area)m 11(has)m 11(been)m 11(de\014ned)m 11(as)m 11 r 97 c 11(list)m 11(of)m 10(address)m 11(ranges,)m 11(each)m 11(range)m 11(consisting)m 104 2183 p (of)s 9(an)m 8([address,mask])m 9(pair)m -1 r 46 c 12 r 65 c 9(single)m 9 r 84 c -2(ype)m 8 r 51 c 9(advertisement)m 8(must)m 9(be)m 9(made)m 9(for)m 9(each)m 9(range,)m 9(with)m 9(Link)m 8(State)m 9(ID)m 9(equal)m 104 2233 p (to)s 10(the)m 11(range')m -2 r 115 c 10(address)m 10(and)m 11(cost)m 10(equal)m 10(to)m 11(the)m 10(smallest)m 11(cost)m 10(of)m 10(any)m 11(of)m 10(the)m 11(component)m 10(networks.)m 0 2342 p (If)s 9 r 97 c 8(router)m 9(advertises)m 8 r 97 c 9(summary)m 8(advertisement)m 9(for)m 9 r 97 c 8(destination)m 9(which)m 8(then)m 9(becomes)m 8(unreachable,)m 9(the)m 9(router)m 8(must)m 9(then)m 0 2392 p (originate)s 9 r 97 c 8(new)m 9(summary)m 9(advertisement,)m 9(having)m 9(metric)m 8(LSIn\014nity)m -1 r 46 c 12(Also,)m 9(if)m 9(the)m 8(destination)m 9(is)m 9(still)m 9(reachable,)m 9(yet)m 8(cannot)m 0 2442 p (be)s 8(advertised)m 9(according)m 8(to)m 9(the)m 8(above)m 9(procedure)m 8(\(e.g.,)m 9(it)m 8(is)m 9(now)m 8(an)m 9(inter)m (-area)s 7(route,)m 9(when)m 9(it)m 8(used)m 9(to)m 8(be)m 9(an)m 8(intra-area)m 8(route)m 0 2477 p 780 2 ru t-rom.180 @sf 33 2505 p (13)s t-rom.240 @sf 60 2517 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 2556 p (the)s 8(backbone)m 9(area.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(62)m @eop 61 @bop0 61 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m c-med.270 @sf 157 195 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 286 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 332 p (LS)s 23(type)m 22 r 61 c 23 r 49 c 450(;indicates)m 22(router)m 23(links)m 157 378 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 423 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 469 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 515 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 560 p (#links)s 23 r 61 c 22 r 50 c 337 606 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 652 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 697 p (Type)s 23 r 61 c 22 r 50 c 450(;connects)m 23(to)m 22(transit)m 23(network)m 337 743 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 48 c 337 789 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 49 c 337 880 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 926 p (Link)s 23(Data)m 22 r 61 c 23(0xffffff00)m 135(;Network)m 22(mask)m 337 971 p (Type)s 23 r 61 c 22 r 51 c 450(;connects)m 23(to)m 22(stub)m 23(network)m 337 1017 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 48 c 337 1063 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 50 c 157 1154 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 1245 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 1291 p (LS)s 23(type)m 22 r 61 c 23 r 49 c 450(;indicates)m 22(router)m 23(links)m 157 1337 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 1382 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 1428 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 1474 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 1519 p (#links)s 23 r 61 c 22 r 49 c 337 1565 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 1611 p (Link)s 23(Data)m 22 r 61 c 23(0.0.0.0)m 202(;Interface)m 23(to)m 22(unnumbered)m 23(SL)m 337 1656 p (Type)s 23 r 61 c 22 r 49 c 450(;connects)m 23(to)m 22(router)m 337 1702 p 35 c 23(other)m 22(metrics)m 23 r 61 c 22 r 48 c 337 1748 p (TOS)s 23 r 48 c 22(metric)m 23 r 61 c 22 r 56 c t-bol.300 @sf 0 1870 p (12.3.2)s 42(Network)m 10(links)m t-rom.300 @sf 0 1961 p 65 c 13(network)m 12(links)m 13(advertisement)m 13(is)m 12(generated)m 13(for)m 13(every)m 12(transit)m 13(multi-access)m 13(network.)m 20(\(A)m 13(transit)m 13(network)m 12(is)m 13 r 97 c 13(network)m 0 2011 p (having)s 12(two)m 12(or)m 12(more)m 12(attached)m 12(routers\).)m 19(The)m 12(network)m 12(links)m 12(advertisement)m 12(describes)m 12(all)m 12(the)m 12(routers)m 12(that)m 12(are)m 12(attached)m 12(to)m 0 2060 p (the)s 10(network.)m 0 2123 p (The)s 11(Designated)m 11(Router)m 10(for)m 11(the)m 11(network)m 11(originates)m 11(the)m 10(advertisement.)m 15(The)m 11(Designated)m 11(Router)m 11(originates)m 10(an)m 11(advertise-)m 0 2173 p (ment)s 10(only)m 9(if)m 10(it)m 9(is)m 10(fully)m 10(adjacent)m 9(to)m 10(at)m 10(least)m 9(one)m 10(other)m 9(router)m 10(on)m 10(the)m 9(network.)m 14(The)m 10(network)m 9(links)m 10(advertisement)m 9(is)m 10(\015ooded)m 0 2223 p (throughout)s 11(the)m 10(area)m 11(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 11(routers)m 10(listed)m 11(in)m 10(the)m 11(advertisement)m 11(are)m 10(those)m 0 2273 p (that)s 9(are)m 9(fully)m 9(adjacent)m 9(to)m 9(the)m 8(Designated)m 9(Router)m 9(They)m 9(are)m 9(identi\014ed)m 9(in)m 9(the)m 9(advertisement)m 9(by)m 9(their)m 9(Router)m 8(IDs.)m 14(Each)m 9(link)m 0 2323 p (from)s 10(the)m 11(transit)m 10(network)m 11(to)m 10(an)m 10(attached)m 11(router)m 10(has)m 11(cost)m 10(0.)m 0 2386 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 0 2449 p (As)s 13(an)m 13(example,)m 14(again)m 14(consider)m 13(the)m 13(area)m 13(con\014guration)m 13(in)m 14(Figure)m 13(6.)m 22(Network)m 13(links)m 14(advertisements)m 13(are)m 13(originated)m 13(for)m 0 2499 p (network)s 10(N3)m 10(in)m 9(Area)m 10(1,)m 10(networks)m 10(N6)m 10(and)m 10(N8)m 9(in)m 10(Area)m 10(2,)m 10(and)m 10(network)m 9(N9)m 10(in)m 10(Area)m 10(3.)m 14(Assuming)m 9(that)m 10(router)m 10 r 82 c -2(T4)m 9(has)m 10(been)m 0 2549 p (selected)s 10(as)m 10(the)m 11(Designated)m 10(Router)m 10(for)m 10(network)m 11(N3,)m 10(the)m 10(following)m 10(network)m 11(links)m 10(advertisement)m 10(is)m 10(generated)m 10(by)m 11 r 82 c -2(T4)m 9(on)m 0 2599 p (behalf)s 10(of)m 11(network)m 10(N3)m 11(\(see)m 10(Figure)m 10(16)m 11(for)m 10(the)m 11(address)m 10(assignments\):)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(61)m @eop 60 @bop0 60 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (is)s 13(needed)m 13(by)m 13(the)m 13(routing)m 13(table)m 13(calculation\).)m 22(For)m 13(links)m 13(to)m 13(stub)m 13(networks,)m 14(this)m 13(\014eld)m 13(speci\014es)m 13(the)m 13(network')m -1 r 115 c 12(IP)m 13(address)m 0 245 p (mask.)s 0 313 p (Finally)s -2 r 44 c 10(the)m 10(cost)m 10(of)m 11(using)m 10(the)m 10(link)m 10(for)m 11(output)m 10(\(possibly)m 10(specifying)m 11 r 97 c 10(dif)m (ferent)s 9(cost)m 11(for)m 10(each)m 10(type)m 11(of)m 10(service\))m 10(is)m 11(speci\014ed.)m 0 362 p (The)s 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 430 p 84 c -2 r 111 c 9(describe)m 10(the)m 9(process)m 10(of)m 10(building)m 10(the)m 9(list)m 10(of)m 10(link)m 10(records,)m 10(suppose)m 9 r 97 c 10(router)m 10(wishes)m 10(to)m 10(build)m 9(router)m 10(links)m 10(advertisement)m 0 480 p (for)s 11(an)m 11(Area)m 11(A.)m 15(The)m 11(router)m 11(examines)m 11(its)m 11(collection)m 11(of)m 11(interface)m 11(data)m 11(structures.)m 15(For)m 11(each)m 11(interface,)m 11(the)m 11(following)m 11(steps)m 0 530 p (are)s 10(taken:)m cmsy10.300 @sf 62 639 p 15 c t-rom.300 @sf 21(If)m 8(the)m 9(attached)m 8(network)m 8(does)m 8(not)m 9(belong)m 8(to)m 8(Area)m 9(A,)m 8(no)m 8(links)m 8(are)m 9(added)m 8(to)m 8(the)m 9(advertisement,)m 8(and)m 9(the)m 8(next)m 8(interface)m 104 689 p (should)s 10(be)m 11(examined.)m cmsy10.300 @sf 62 772 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 10(Down,)m 11(no)m 10(links)m 11(are)m 10(added.)m cmsy10.300 @sf 62 855 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 938 p 123 c t-rom.300 @sf 20(If)m 10(the)m 10(neighboring)m 10(router)m 10(is)m 10(fully)m 10(adjacent,)m 10(add)m 10 r 97 c 10 r 84 c -2(ype)m 9 r 49 c 10(link)m 9(\(router\))m 10(whose)m 10(link)m 10(ID)m 10(is)m 10(the)m 10(Router)m 10(ID)m 10(of)m 10(the)m 195 988 p (neighboring)s 11(router)m 10(and)m 10(whose)m 11(Link)m 10(Data)m 11(speci\014es)m 10(the)m 10(interface)m 11(IP)m 10(address.)m t-bol.300 @sf 154 1054 p 123 c t-rom.300 @sf 20(If)m 11(the)m 11(neighboring)m 10(router)m 2 r 39 c -2 r 115 c 10(IP)m 11(address)m 10(is)m 11(known,)m 11(add)m 10 r 97 c 11 r 84 c -2(ype)m 10 r 51 c 10(link)m 11(\(stub)m 11(network\))m 10(whose)m 11(whose)m 10(link)m 11(ID)m 11(is)m 195 1104 p (the)s 10(neighbor)m 1 r 39 c -1 r 115 c 9(IP)m 10(address,)m 9(whose)m 10(Link)m 10(Data)m 10(is)m 10(the)m 9(mask)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 10(indicating)m 10 r 97 c 9(host)m 10(route,)m 10(and)m 10(whose)m 195 1154 p (cost)s 12(is)m 12(the)m 11(interface')m -1 r 115 c 11(con\014gured)m 12(output)m 11(cost.)m 18(In)m 12(the)m 12(case)m 12(of)m 11(an)m 12(unnumbered)m 12(serial)m 12(line,)m 12(the)m 12(neighbor)m 11(will)m 195 1203 p (not)s 11(have)m 10(an)m 10(IP)m 11(address)m 10(and)m 11(no)m 10(stub)m 10(link)m 11(should)m 10(be)m 11(added.)m cmsy10.300 @sf 62 1286 p 15 c t-rom.300 @sf 21(Else,)m 10(if)m 9(the)m 9(state)m 10(of)m 9(the)m 9(interface)m 10(is)m t-bol.300 @sf 9(Loopback)m t-rom.300 @sf 44 c 10(add)m 9 r 97 c 9 r 84 c -2(ype)m 9 r 51 c 9(link)m 9(\(stub)m 10(network\))m 9(whose)m 9(link)m 10(ID)m 9(is)m 9(the)m 10(IP)m 9(interface)m 104 1336 p (address,)s 10(whose)m 9(Link)m 10(Data)m 10(is)m 9(the)m 10(mask)m c-med.300 @sf 10(0xffffffff)m t-rom.300 @sf 10(indicating)m 9 r 97 c 10(host)m 10(route,)m 10(and)m 9(whose)m 10(cost)m 10(is)m 9(0.)m 14(Unnumbered)m 104 1386 p (serial)s 10(line)m 11(interfaces)m 10(do)m 10(not)m 11(generate)m 10(link)m 11(state)m 10(information)m 11(in)m t-bol.300 @sf 10(Loopback)m t-rom.300 @sf 10(state.)m cmsy10.300 @sf 62 1469 p 15 c t-rom.300 @sf 21(Else,)m 12(if)m 11(the)m 12(state)m 11(of)m 11(the)m 12(interface)m 11(is)m t-bol.300 @sf 12 r 87 c -2(aiting)m t-rom.300 @sf 44 c 11(add)m 12 r 97 c 11 r 84 c -2(ype)m 11 r 51 c 11(link)m 11(\(stub)m 12(network\))m 11(whose)m 12(link)m 11(ID)m 12(is)m 11(the)m 12(IP)m 11(network)m 104 1519 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 1602 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 1652 p (Designated)s 7(Router)m 44 c 7(or)m 8(if)m 8(the)m 7(router)m 8(itself)m 8(is)m 7(Designated)m 8(Router)m 8(and)m 8(is)m 7(fully)m 8(adjacent)m 8(to)m 7(at)m 8(least)m 8(one)m 8(other)m 7(router)m 44 c 7(add)m 104 1702 p 97 c 10(single)m 10 r 84 c -2(ype)m 10 r 50 c 10(link)m 10(\(transit)m 10(network\))m 10(whose)m 11(whose)m 10(link)m 10(ID)m 10(is)m 11(the)m 10(IP)m 10(interface)m 10(address)m 11(of)m 10(the)m 10(attached)m 10(network')m -1 r 115 c 104 1751 p (Designated)s 9(Router)m 10(\(which)m 10(may)m 9(be)m 10(the)m 10(router)m 9(itself\))m 10(and)m 10(whose)m 9(Link)m 10(Data)m 10(is)m 10(the)m 9(interface)m 10(IP)m 10(address.)m 13(Otherwise,)m 104 1801 p (add)s 10 r 97 c 11(link)m 10(as)m 10(if)m 11(the)m 10(interface)m 11(state)m 10(were)m t-bol.300 @sf 11 r 87 c -2(aiting)m t-rom.300 @sf 10(\(see)m 10(above\).)m 0 1910 p (Unless)s 9(speci\014ed)m 10(above,)m 9(the)m 10(cost)m 9(of)m 9(each)m 10(link)m 9(generated)m 9(is)m 10(equal)m 9(to)m 9(the)m 10(output)m 9(cost)m 9(of)m 10(the)m 9(associated)m 9(interface.)m 14(Note)m 9(that)m 0 1960 p (in)s 10(the)m 11(case)m 10(of)m 11(serial)m 10(lines,)m 10(multiple)m 11(links)m 10(may)m 11(be)m 10(generated)m 11(by)m 10 r 97 c 10(single)m 11(interface.)m 0 2028 p (After)s 15(consideration)m 14(of)m 15(all)m 15(the)m 15(router)m 14(interfaces,)m 16(host)m 15(links)m 15(are)m 14(added)m 15(to)m 15(the)m 15(advertisement)m 14(by)m 15(examining)m 15(the)m 15(list)m 14(of)m 0 2078 p (attached)s 11(hosts.)m 15 r 65 c 11(host)m 10(route)m 11(is)m 11(represented)m 11(as)m 10 r 97 c 11 r 84 c -2(ype)m 10 r 51 c 11(link)m 11(\(stub)m 10(network\))m 11(whose)m 11(link)m 11(ID)m 11(is)m 10(the)m 11(host')m -1 r 115 c 10(IP)m 10(address)m 11(and)m 0 2128 p (whose)s 10(Link)m 11(Date)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 2195 p (As)s 12(an)m 12(example,)m 13(consider)m 12(the)m 12(router)m 13(links)m 12(advertisements)m 12(generated)m 12(by)m 12(router)m 12 r 82 c -1(T3,)m 12(as)m 12(pictured)m 12(in)m 12(Figure)m 12(6.)m 20(The)m 12(area)m 0 2245 p (containing)s 12(router)m 11 r 82 c -1(T3)m 10(\(Area)m 12(1\))m 11(has)m 12(been)m 11(redrawn,)m 12(with)m 11(actual)m 12(network)m 11(addresses,)m 12(in)m 12(Figure)m 11(16.)m 17(Assume)m 12(that)m 11(the)m 12(last)m 0 2295 p (byte)s 14(of)m 13(all)m 14(of)m 14 r 82 c -2(T3')m -2 r 115 c 12(interface)m 14(addresses)m 14(is)m 13(3,)m 15(giving)m 13(it)m 14(the)m 14(interface)m 13(addresses)m 14(192.1.1.3)m 14(and)m 13(192.1.4.3,)m 15(and)m 13(that)m 14(the)m 0 2345 p (other)s 12(routers)m 12(have)m 12(similar)m 11(addressing)m 12(schemes.)m 18(In)m 12(addition,)m 12(assume)m 12(that)m 12(all)m 12(links)m 12(are)m 12(functional,)m 12(and)m 12(that)m 12(Router)m 11(IDs)m 0 2394 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 2462 p 82 c -2(T3)m 12(originates)m 13(two)m 13(router)m 13(links)m 13(advertisements,)m 14(one)m 13(for)m 13(Area)m 13 r 49 c 13(and)m 13(one)m 13(for)m 13(the)m 13(backbone.)m 21(Assume)m 13(that)m 13(router)m 13 r 82 c -2(T4)m 0 2512 p (has)s 11(been)m 11(selected)m 10(as)m 11(the)m 11(Designated)m 11(router)m 11(for)m 10(network)m 11(N3.)m 15 r 82 c -1(T3')m -3 r 115 c 10(two)m 11(router)m 11(advertisements)m 11(then)m 10(have)m 11(the)m 11(following)m 0 2562 p (values)s 10(\(refer)m 11(to)m 10(Section)m 11(A.7.1)m 10(for)m 10(the)m 11(\014eld)m 10(de\014nitions\).)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(60)m @eop 59 @bop0 59 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m cmsy10.300 @sf 62 195 p 15 c t-ita.300 @sf 21(An)m 15(attached)m 14(network')m -4 r 115 c 14(Designated)m 15(Router)m 14(changes.)m t-rom.300 @sf 27 r 65 c 15(new)m 15(router)m 14(links)m 15(advertisement)m 15(should)m 15(be)m 14(originated.)m 104 245 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 cmsy10.300 @sf 62 326 p 15 c t-ita.300 @sf 21(One)m 11(of)m 10(the)m 11(neighboring)m 10 r 114 c (outers)s 9(changes)m 11(to/fr)m -1(om)m 10(the)m 10(FULL)m 11(state.)m t-rom.300 @sf 14(This)m 10(may)m 11(mean)m 10(that)m 11(it)m 11(is)m 10(necessary)m 11(to)m 10(produce)m 104 376 p 97 c 11(new)m 12(instantiation)m 12(of)m 11(the)m 12(router)m 11(links)m 12(advertisement.)m 17(Also,)m 12(if)m 12(the)m 11(router)m 12(is)m 11(itself)m 12(the)m 12(Designated)m 11(Router)m 12(for)m 11(the)m 104 426 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 530 p (The)s 10(next)m 11(two)m 10(events)m 11(concern)m 10(area)m 10(border)m 11(routers)m 10(only)m -1 r 46 c cmsy10.300 @sf 62 633 p 15 c t-ita.300 @sf 21(An)m 9(intra-ar)m -1(ea)m 8(\(T)m -2(ype)m 8(1\))m 9 r 114 c (oute)s 8(has)m 9(been)m 9(added/deleted/modi\014ed)m t-rom.300 @sf 9(in)m 9(the)m 9(routing)m 9(table.)m 13(This)m 9(may)m 9(cause)m 9 r 97 c 9(new)m 9(instan-)m 104 683 p (tiation)s 9(of)m 10 r 97 c 10(summary)m 9(links)m 10(advertisement)m 9(\(for)m 10(this)m 10(route\))m 9(to)m 10(be)m 9(originated)m 10(in)m 10(each)m 9(attached)m 10(area)m 9(\(this)m 10(includes)m 10(the)m 104 733 p (backbone\).)s cmsy10.300 @sf 62 814 p 15 c t-ita.300 @sf 21(An)m 9(inter)m (-ar)s -1(ea)m 8(\(T)m -2(ype)m 8(2\))m 9 r 114 c (oute)s 8(has)m 9(been)m 9(added/deleted/modi\014ed)m t-rom.300 @sf 9(in)m 10(the)m 9(routing)m 9(table.)m 13(This)m 10(may)m 9(cause)m 9 r 97 c 9(new)m 9(instan-)m 104 864 p (tiation)s 10(of)m 10 r 97 c 10(summary)m 10(links)m 10(advertisement)m 11(\(for)m 10(this)m 10(route\))m 10(to)m 10(be)m 10(originated)m 10(in)m 10(each)m 11(attached)m 10(area)m 10(\(but)m 10(NEVER)m 10(for)m 104 914 p (the)s 10(backbone\).)m 0 1018 p (The)s 10(last)m 11(event)m 10(concerns)m 11(AS)m 10(boundary)m 10(routers)m 11(only)m -2 r 46 c cmsy10.300 @sf 62 1121 p 15 c t-ita.300 @sf 21(An)m 11(external)m 10 r 114 c (oute)s 9(gained)m 11(thr)m -1(ough)m 10(dir)m -1(ect)m 10(experience)m t-rom.300 @sf 10(with)m 11(an)m 11(external)m 10(routing)m 11(protocol)m 10(\(like)m 11(EGP\))m 10(changes.)m 15(This)m 104 1171 p (will)s 10(cause)m 11(the)m 10(AS)m 10(boundary)m 11(router)m 10(to)m 11(originate)m 10 r 97 c 11(new)m 10(instantiation)m 10(of)m 11(an)m 10(external)m 11(links)m 10(advertisement.)m 0 1275 p (The)s 12(construction)m 12(of)m 12(each)m 11(of)m 12(the)m 12(link)m 12(state)m 12(types)m 12(is)m 12(explained)m 11(below)m -1 r 46 c 17(Each)m 12(section)m 12(assumes)m 12(that)m 11(the)m 12(paths)m 12(do)m 12(not)m 12(vary)m 0 1325 p (based)s 10(on)m 11 r 84 c -2(ype)m 9(of)m 11(Service.)m 14(For)m 10(the)m 10(implications)m 11(of)m 10(separate)m 11(costs)m 10(for)m 11(separate)m 10 r 84 c (OS)s 10(values,)m 10(consult)m 10(Section)m 11(12.4.)m t-bol.300 @sf 0 1451 p (12.3.1)s 42(Router)m 10(links)m t-rom.300 @sf 0 1545 p 65 c 11(router)m 12(originates)m 11 r 97 c 11(router)m 11(links)m 12(advertisement)m 11(for)m 11(each)m 12(area)m 11(that)m 11(it)m 12(belongs)m 11(to.)m 16(Such)m 12(an)m 11(advertisement)m 11(describes)m 11(the)m 0 1594 p (collected)s 12(states)m 12(of)m 12(the)m 12(router)m 1 r 39 c -1 r 115 c 11(links)m 12(to)m 12(the)m 12(area.)m 18(The)m 12(advertisement)m 12(is)m 12(\015ooded)m 12(throughout)m 12(the)m 12(particular)m 12(area,)m 12(and)m 12(no)m 0 1644 p (further)s -1 r 46 c 0 1710 p (The)s 12(format)m 11(of)m 12 r 97 c 11(router)m 12(links)m 11(advertisement)m 12(is)m 11(shown)m 12(in)m 11(Appendix)m 12 r 65 c 11(\(Section)m 12(A.7.1\).)m 17(The)m 12(\014rst)m 11(20)m 12(bytes)m 11(of)m 12(the)m 11(adver-)m 0 1760 p (tisement)s 10(consist)m 11(of)m 10(the)m 11(generic)m 10(link)m 11(state)m 10(header)m 11(that)m 10(was)m 11(discussed)m 10(in)m 11(Section)m 10(12.1.)m 14(Router)m 11(links)m 10(advertisements)m 11(have)m 0 1810 p (LS)s 10(type)m 11 r 61 c 10(1.)m 0 1876 p 65 c 14(router)m 14(indicates)m 14(whether)m 14(it)m 14(is)m 14(an)m 14(area)m 14(border)m 14(router)m 44 c 14(or)m 14(an)m 14(AS)m 14(boundary)m 14(router)m -1 r 44 c 14(by)m 14(setting)m 14(the)m 14(appropriate)m 14(bits)m 14(in)m 0 1926 p (its)s 12(router)m 11(links)m 12(advertisements.)m 18(This)m 11(enables)m 12(paths)m 12(to)m 11(those)m 12(types)m 12(of)m 11(routers)m 12(to)m 12(be)m 11(saved)m 12(in)m 12(the)m 11(routing)m 12(table,)m 12(for)m 12(later)m 0 1975 p (processing)s 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 2041 p (The)s 12(router)m 13(links)m 12(advertisement)m 13(then)m 12(describes)m 12(the)m 13(router)m 1 r 39 c -1 r 115 c 11(working)m 13(links)m 12(to)m 13(the)m 12(area.)m 20(Each)m 12(link)m 13(is)m 12(typed.)m 20(These)m 12(link)m 0 2091 p (types)s 10(indicate)m 11(the)m 10(kind)m 10(of)m 10(entity)m 11(that)m 10(is)m 10(on)m 10(the)m 11(other)m 10(end)m 10(of)m 10(the)m 11(link.)m 14(Each)m 10(link)m 10(is)m 10(also)m 11(labelled)m 10(with)m 10(its)m 10(link)m 11(ID.)m 10(This)m 10(ID)m 0 2141 p (gives)s 11 r 97 c 10(name)m 11(to)m 10(the)m 11(entity)m 10(that)m 11(is)m 10(on)m 11(the)m 10(other)m 11(end)m 10(of)m 11(the)m 10(link.)m 14(The)m 11(following)m 10(table)m 11(summarizes)m 10(the)m 11(values)m 10(used)m 11(for)m 10(the)m 0 2191 p (type)s 10(and)m 11(Link)m 10(ID)m 11(\014elds:)m 307 2260 p 1337 2 ru 306 2309 p 2 50 ru t-ita.300 @sf 332 2294 p (Link)s 10(type)m 510 2309 p 2 50 ru 535 2294 p (Description)s 942 2309 p 2 50 ru 968 2294 p (Link)s 11(ID)m 1642 2309 p 2 50 ru 307 2311 p 1337 2 ru 306 2361 p 2 50 ru t-rom.300 @sf 398 2346 p 49 c 510 2361 p 2 50 ru 535 2346 p (Link)s 11(to)m 10(router)m 942 2361 p 2 50 ru 968 2346 p (Neighbor)s 11(Router)m 10(ID)m 1642 2361 p 2 50 ru 306 2411 p 2 50 ru 398 2396 p 50 c 510 2411 p 2 50 ru 535 2396 p (Link)s 11(to)m 10(transit)m 11(network)m 942 2411 p 2 50 ru 968 2396 p (Interface)s 11(address)m 10(of)m 10(Designated)m 11(Router)m 1642 2411 p 2 50 ru 306 2461 p 2 50 ru 398 2446 p 51 c 510 2461 p 2 50 ru 535 2446 p (Link)s 11(to)m 10(stub)m 11(network)m 942 2461 p 2 50 ru 968 2446 p (IP)s 11(network)m 10(number)m 1642 2461 p 2 50 ru 307 2462 p 1337 2 ru 0 2549 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 2599 p (links)s 10(to)m 10(routers)m 10(and)m 10(transit)m 10(networks,)m 10(this)m 10(\014eld)m 10(speci\014es)m 10(the)m 10(IP)m 10(interface)m 10(address)m 11(of)m 10(the)m 10(associated)m 10(router)m 10(interface)m 10(\(this)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(59)m @eop 58 @bop0 58 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (The)s 10(pieces)m 10(of)m 10(an)m 10(area)m 11(database)m 10(are:)m 13(the)m 11(router)m 10(links)m 10(advertisements,)m 10(network)m 10(links)m 10(advertisements,)m 10(and)m 11(summary)m 10(links)m 0 245 p (advertisements)s 10(for)m 10(the)m 10(area)m 10(\(all)m 10(listed)m 10(in)m 10(the)m 10(area)m 9(data)m 10(structure\))m 10(and)m 10(the)m 10(AS)m 10(external)m 10(link)m 10(advertisements)m 10(for)m 10(the)m 10(whole)m 0 295 p (Autonomous)s 10(System.)m 14(Note)m 11(that)m 10(the)m 11(AS)m 10(external)m 10(link)m 11(advertisements)m 10(are)m 11(common)m 10(to)m 10(all)m 11(area)m 10(databases.)m 0 360 p (An)s 13(implementation)m 14(of)m 13(OSPF)m 13(must)m 13(be)m 14(able)m 13(to)m 13(access)m 13(individual)m 14(pieces)m 13(of)m 13(an)m 13(area)m 14(database.)m 22(This)m 13(lookup)m 13(function)m 14(is)m 0 409 p (based)s 11(on)m 10(LS)m 11(type,)m 11(Link)m 10(State)m 11(ID)m 11(and)m 10(Advertising)m 11(Router)m -1 r 46 c t-rom.210 @sf 962 394 p (12)s t-rom.300 @sf 1008 409 p (There)s 11(will)m 11(be)m 10 r 97 c 11(single)m 11(instantiation)m 10(\(the)m 11(most)m 11(up-to-date\))m 0 459 p (of)s 12(each)m 11(link)m 12(state)m 11(advertisement)m 12(in)m 11(the)m 12(database.)m 17(Using)m 12(this)m 11(lookup)m 12(function,)m 12(the)m 11(router)m 12(can)m 12(determine)m 11(whether)m 12(it)m 11(has)m 0 509 p (itself)s 10(ever)m 11(originated)m 10 r 97 c 11(particular)m 10(link)m 10(state)m 11(advertisement,)m 10(and)m 11(if)m 10(so,)m 11(with)m 10(what)m 10(LS)m 11(sequence)m 10(number)m -1 r 46 c t-bol.360 @sf 0 642 p (12.3)s 50(Originating)m 12(link)m 13(state)m 12(advertisements)m t-rom.300 @sf 0 735 p 65 c 12(router)m 12(may)m 12(originate)m 12(many)m 11(types)m 12(of)m 12(link)m 12(state)m 12(advertisements.)m 18 r 65 c 12(router)m 12(originates)m 12 r 97 c 12(router)m 12(links)m 12(advertisement)m 11(for)m 0 785 p (each)s 14(area)m 14(to)m 14(which)m 15(it)m 14(belongs.)m 25(If)m 14(the)m 14(router)m 14(is)m 14(also)m 15(the)m 14(Designated)m 14(Router)m 14(for)m 14(one)m 14(of)m 15(its)m 14(attached)m 14(networks,)m 15(it)m 14(will)m 0 834 p (originate)s 10 r 97 c 11(link)m 10(state)m 11(packet)m 10(for)m 10(that)m 11(network.)m 0 899 p (Area)s 10(border)m 9(routers)m 10(originate)m 9 r 97 c 10(single)m 9(summary)m 10(links)m 9(advertisement)m 10(for)m 9(each)m 10(known)m 9(inter)m (-area)s 9(destination.)m 13(AS)m 10(bound-)m 0 949 p (ary)s 8(routers)m 8(originate)m 8 r 97 c 8(single)m 8(AS)m 9(external)m 8(links)m 8(advertisement)m 8(for)m 8(each)m 8(known)m 8(AS)m 8(external)m 8(destination.)m 13(Destinations)m 8(are)m 0 999 p (advertised)s 11(one)m 11(at)m 11 r 97 c 11(time)m 11(so)m 11(that)m 11(the)m 11(change)m 10(in)m 11(any)m 11(single)m 11(route)m 11(can)m 11(be)m 11(\015ooded)m 11(without)m 11(re\015ooding)m 11(the)m 11(entire)m 11(collection)m 0 1049 p (of)s 10(routes.)m 14(Remember)m 11(that)m 10(many)m 11(link)m 10(state)m 10(advertisements)m 11(can)m 10(be)m 11(contained)m 10(in)m 10 r 97 c 11(single)m 10(Link)m 11(State)m 10(Update)m 11(packet.)m 0 1114 p (As)s 13(an)m 12(example,)m 14(consider)m 12(router)m 13 r 82 c -1(T4)m 11(in)m 13(Figure)m 13(6.)m 21(It)m 12(is)m 13(an)m 13(area)m 13(border)m 12(router)m 44 c 12(having)m 13 r 97 c 12(connection)m 13(to)m 13(Area)m 12 r 49 c 13(and)m 13(the)m 0 1164 p (backbone.)s 25(Router)m 14 r 82 c -2(T4)m 13(originates)m 14 r 53 c 14(distinct)m 14(link)m 14(state)m 14(advertisements)m 14(into)m 14(the)m 14(backbone)m 14(\(one)m 14(router)m 14(links,)m 15(and)m 14(one)m 0 1213 p (summary)s 12(links)m 12(for)m 12(each)m 12(of)m 12(the)m 12(networks)m 12(N1-N4\).)m 19(Router)m 12 r 82 c -2(T4)m 11(will)m 12(also)m 12(originate)m 12 r 56 c 12(distinct)m 12(link)m 12(state)m 12(advertisements)m 0 1263 p (into)s 9(Area)m 8 r 49 c 9(\(one)m 9(router)m 8(links)m 9(and)m 9(seven)m 9(summary)m 8(link)m 9(advertisements)m 9(as)m 8(pictured)m 9(in)m 9(Figure)m 8(7\).)m 14(If)m 8 r 82 c -1(T4)m 8(has)m 8(been)m 9(selected)m 0 1313 p (as)s 10(Designated)m 11(Router)m 10(for)m 11(network)m 10(N3,)m 10(it)m 11(will)m 10(also)m 11(originate)m 10 r 97 c 11(link)m 10(state)m 10(advertisement)m 11(for)m 10(N3)m 11(into)m 10(Area)m 10(1.)m 0 1378 p (In)s 13(this)m 14(same)m 13(\014gure,)m 15(router)m 13 r 82 c -1(T5)m 12(will)m 14(be)m 13(originating)m 14 r 51 c 13(distinct)m 14(AS)m 13(external)m 14(links)m 13(advertisements)m 14(\(one)m 13(for)m 14(each)m 13(of)m 14(the)m 0 1428 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 0 1493 p (Whenever)s 12 r 97 c 11(new)m 12(instantiation)m 11(of)m 12 r 97 c 12(link)m 11(state)m 12(advertisement)m 11(is)m 12(originated,)m 12(its)m 12(LS)m 11(sequence)m 12(number)m 11(is)m 12(incremented,)m 12(its)m 0 1543 p (LS)s 10(age)m 10(is)m 10(set)m 10(to)m 10(0,)m 10(its)m 10(LS)m 10(checksum)m 10(is)m 9(calculated,)m 10(and)m 10(the)m 10(advertisement)m 10(is)m 10(added)m 10(to)m 10(the)m 10(link)m 10(state)m 10(database)m 10(and)m 10(\015ooded)m 0 1592 p (out)s 10(the)m 11(appropriate)m 10(interfaces.)m 14(See)m 11(Section)m 10(13.3)m 10(for)m 11(details.)m 0 1657 p (The)s 10(events)m 11(that)m 10(cause)m 11 r 97 c 10(new)m 10(instantiation)m 11(of)m 10 r 97 c 11(link)m 10(state)m 11(advertisement)m 10(to)m 10(be)m 11(originated)m 10(are:)m cmsy10.300 @sf 62 1757 p 15 c t-ita.300 @sf 21(The)m 14(LS)m 14 r 114 c -1(efr)m -2(esh)m 13(timer)m 14(\014ring)m t-rom.300 @sf 46 c 24(There)m 14(is)m 14 r 97 c 13(LS)m 14(refresh)m 14(timer)m 14(for)m 14(each)m 13(link)m 14(state)m 14(advertisement)m 14(that)m 13(the)m 14(router)m 14(has)m 104 1807 p (originated.)s 20(The)m 12(LS)m 13(refresh)m 12(timer)m 13(is)m 12(an)m 13(interval)m 12(timer)m -1 r 44 c 12(with)m 13(length)m 12(LSRefreshT)m (imer)s -2 r 46 c 19(This)m 12(periodic)m 12(updating)m 13(of)m 104 1857 p (link)s 15(state)m 14(advertisements)m 15(is)m 15(necessary)m 15(for)m 14(the)m 15(maintenance)m 15(of)m 15(the)m 14(LS)m 15(sequence)m 15(space.)m 27(The)m 15(LS)m 14(refresh)m 15(timer)m 104 1907 p (guarantees)s 11(periodic)m 12(originations)m 12(regardless)m 11(of)m 12(any)m 12(other)m 11(events)m 12(that)m 12(cause)m 12(new)m 11(instantiations.)m 18(There)m 12(is)m 11(one)m 12(ex-)m 104 1957 p (ception;)s 10(summary)m 11(link)m 10(and)m 11(AS)m 10(external)m 11(link)m 10(advertisements)m 11(that)m 10(are)m 11(solely)m 11(indicating)m 10(unreachability)m 11(should)m 10(not)m 104 2006 p (be)s 10(refreshed.)m 0 2106 p (When)s 14(whatever)m 14(is)m 14(being)m 14(described)m 14(by)m 14 r 97 c 14(link)m 14(state)m 14(advertisement)m 14(changes,)m 15 r 97 c 14(new)m 14(advertisement)m 14(is)m 14(originated.)m 25 r 84 c -2(wo)m 0 2156 p (instantiations)s 11(of)m 11(the)m 11(same)m 10(link)m 11(state)m 11(advertisement)m 11(may)m 11(not)m 11(be)m 11(originated)m 10(within)m 11(the)m 11(time)m 11(period)m 11(MinLSInterval.)m 15(This)m 0 2206 p (may)s 11(require)m 11(that)m 10(the)m 11(generation)m 11(of)m 11(the)m 11(next)m 11(instantiation)m 10(to)m 11(be)m 11(delayed)m 11(by)m 11(up)m 11(to)m 10(MinLSInterval.)m 15(The)m 11(following)m 11(events)m 0 2256 p (may)s 11(cause)m 12 r 97 c 11(router)m 11(to)m 11(originate)m 12 r 97 c 11(new)m 11(instantiation)m 11(of)m 12(an)m 11(advertisement.)m 16(These)m 12(events)m 11(should)m 11(cause)m 12(new)m 11(originations)m 0 2306 p (only)s 10(if)m 11(the)m 10(contents)m 11(of)m 10(the)m 10(new)m 11(advertisement)m 10(would)m 11(be)m 10(dif)m (ferent.)s cmsy10.300 @sf 62 2406 p 15 c t-ita.300 @sf 21(An)m 9(interface')m -4 r 115 c 8(state)m 9(changes)m t-rom.300 @sf 10(\(see)m 9(Section)m 9(9.1\).)m 14(This)m 9(may)m 9(mean)m 10(that)m 9(it)m 9(is)m 10(necessary)m 9(to)m 9(produce)m 9 r 97 c 10(new)m 9(instantiation)m 104 2456 p (of)s 10(the)m 11(router)m 10(links)m 10(advertisement.)m 0 2480 p 780 2 ru t-rom.180 @sf 33 2508 p (12)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 6(advertisement)m 7(must)m 6(be)m 6(found)m 6(based)m 7(solely)m 6(on)m 6(its)m 7(Link)m 6(State)m 6(ID.)m 6(The)m 7(lookup)m 6(in)m 6(this)m 7(case)m 6(is)m 6(still)m 6(well)m 7(de\014ned,)m 6(since)m 7(no)m 6(two)m 6(network)m 7(advertisements)m 0 2599 p (can)s 8(have)m 9(the)m 8(same)m 8(Link)m 9(State)m 8(ID.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(58)m @eop 57 @bop0 57 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (12.1.5)s 42(LS)m 10(age)m t-rom.300 @sf 0 290 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 340 p (is)s 11(set)m 12(to)m 11 r 48 c 12(when)m 11(the)m 11(link)m 12(state)m 11(advertisement)m 11(is)m 12(originated.)m 17(It)m 11(must)m 11(be)m 12(incremented)m 11(by)m 11(InfT)m (ransDelay)s 10(on)m 12(every)m 11(hop)m 12(of)m 0 389 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 456 p (The)s 10(age)m 9(of)m 10 r 97 c 9(link)m 10(state)m 9(advertisement)m 10(is)m 10(never)m 9(incremented)m 10(past)m 9(MaxAge.)m 14(Advertisements)m 10(having)m 9(age)m 10(MaxAge)m 9(are)m 10(not)m 0 506 p (used)s 11(in)m 10(the)m 11(routing)m 11(table)m 11(calculation.)m 14(When)m 11(an)m 11(advertisement')m -1 r 115 c 9(age)m 11(\014rst)m 11(reaches)m 11(MaxAge,)m 10(it)m 11(is)m 11(re\015ooded.)m 15 r 65 c 10(link)m 11(state)m 0 556 p (advertisement)s 8(of)m 9(age)m 8(MaxAge)m 9(is)m 8(\014nally)m 9(\015ushed)m 8(from)m 9(the)m 8(database)m 9(when)m 8(it)m 9(is)m 8(no)m 9(longer)m 8(contained)m 8(on)m 9(any)m 8(neighbor)m t-bol.300 @sf 9(Link)m 0 605 p (state)s 10 r 114 c (etransmission)s 10(lists)m t-rom.300 @sf 46 c 14(This)m 10(indicates)m 11(that)m 10(it)m 11(has)m 10(been)m 10(acknowledged)m 11(by)m 10(all)m 11(adjacent)m 10(neighbors.)m 0 672 p (Ages)s 12(are)m 12(examined)m 12(when)m 12 r 97 c 12(router)m 12(receives)m 12(two)m 12(instantiations)m 12(of)m 12 r 97 c 12(link)m 12(state)m 12(advertisement,)m 12(both)m 12(having)m 12(identical)m 12(se-)m 0 722 p (quence)s 10(numbers)m 11(and)m 10(checksums.)m 14(An)m 11(instantiation)m 10(of)m 10(age)m 11(MaxAge)m 10(is)m 11(then)m 10(always)m 11(accepted)m 10(as)m 10(most)m 11(recent;)m 10(this)m 11(allows)m 0 772 p (old)s 12(advertisements)m 13(to)m 12(be)m 12(\015ushed)m 12(quickly)m 13(from)m 12(the)m 12(routing)m 13(domain.)m 19(Otherwise,)m 13(if)m 12(the)m 12(ages)m 13(dif)m (fer)s 11(by)m 12(more)m 13(than)m 12(Max-)m 0 822 p (AgeDif)s (f,)s 10(the)m 10(instantiation)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 1280 807 p (10)s t-bol.300 @sf 0 948 p (12.1.6)s 42(LS)m 10(checksum)m t-rom.300 @sf 0 1043 p (This)s 14(\014eld)m 13(is)m 14(the)m 14(checksum)m 13(of)m 14(the)m 13(complete)m 14(contents)m 14(of)m 13(the)m 14(advertisement,)m 14(excepting)m 14(the)m 14(age)m 13(\014eld.)m 24(The)m 13(age)m 14(\014eld)m 14(is)m 0 1093 p (excepted)s 9(so)m 9(that)m 9(it)m 10(can)m 9(be)m 9(updated)m 9(easily)m -2 r 46 c 13(The)m 9(length)m 9(of)m 9(the)m 9(advertisement)m 10(is)m 9(also)m 9(indicated)m 9(in)m 9(the)m 9(link)m 9(state)m 10(header)m -2 r 46 c 13(The)m 0 1143 p (checksum)s 11(used)m 12(is)m 11(the)m 11(same)m 12(that)m 11(is)m 12(used)m 11(for)m 11(ISO)m 12(connectionless)m 11(datagrams;)m 12(it)m 11(is)m 12(commonly)m 11(referred)m 11(to)m 12(as)m 11(the)m 11(Fletcher)m 0 1193 p (checksum.)s 14(It)m 10(is)m 11(documented)m 10(in)m 11(Annex)m 10 r 67 c 10(of)m 11([RFC)m 10(994].)m 0 1259 p (The)s 9(checksum)m 9(is)m 9(used)m 9(to)m 9(detect)m 9(data)m 9(corruption)m 9(of)m 9(an)m 9(advertisement.)m 14(This)m 9(corruption)m 9(can)m 9(occur)m 9(while)m 9(an)m 9(advertisement)m 0 1309 p (is)s 8(being)m 8(\015ooded,)m 9(or)m 8(while)m 8(it)m 8(is)m 8(being)m 8(held)m 8(in)m 8 r 97 c 8(router)m 1 r 39 c -1 r 115 c 7(memory)m -2 r 46 c 12(The)m 8(LS)m 8(checksum)m 8(\014eld)m 8(cannot)m 8(take)m 8(on)m 8(the)m 8(value)m 8(of)m 8(zero;)m 0 1359 p (the)s 11(occurrence)m 10(of)m 11(such)m 10 r 97 c 11(value)m 10(should)m 11(be)m 10(considered)m 11 r 97 c 10(checksum)m 11(failure.)m 14(In)m 11(other)m 10(words,)m 11(calculation)m 10(of)m 11(the)m 11(checksum)m 0 1409 p (is)s 10(not)m 11(optional.)m 0 1475 p (The)s 14(checksum)m 13(of)m 14 r 97 c 14(link)m 13(state)m 14(advertisement)m 13(is)m 14(veri\014ed)m 14(in)m 13(two)m 14(cases:)m 20(a\))m 14(when)m 14(it)m 13(is)m 14(received)m 13(in)m 14 r 97 c 14(Link)m 13(State)m 14(Update)m 0 1525 p (Packet)s 9(and)m 9(b\))m 8(at)m 9(times)m 9(during)m 9(the)m 9(aging)m 9(of)m 8(the)m 9(link)m 9(state)m 9(database.)m 13(The)m 9(detection)m 9(of)m 9 r 97 c 9(checksum)m 9(failure)m 8(leads)m 9(to)m 9(separate)m 0 1575 p (actions)s 10(in)m 11(each)m 10(case.)m 14(See)m 11(Sections)m 10(13)m 10(and)m 11(14)m 10(for)m 11(more)m 10(details.)m 0 1642 p (Whenever)s 13(the)m 13(LS)m 14(sequence)m 13(number)m 13(\014eld)m 13(indicates)m 13(that)m 13(two)m 14(instantiations)m 13(of)m 13(an)m 13(advertisement)m 13(are)m 13(the)m 14(same,)m 13(the)m 14(LS)m 0 1691 p (checksum)s 13(\014eld)m 13(is)m 14(examined.)m 22(If)m 13(there)m 14(is)m 13 r 97 c 13(dif)m (ference,)s 13(the)m 13(instantiation)m 14(with)m 13(the)m 13(lar)m (ger)s 13(checksum)m 13(is)m 13(considered)m 13(to)m 14(be)m 0 1741 p (most)s 10(recent.)m t-rom.210 @sf 218 1726 p 49 c -1 r 49 c t-bol.360 @sf 0 1876 p (12.2)s 50(The)m 12(link)m 13(state)m 12(database)m t-rom.300 @sf 0 1971 p 65 c 9(router)m 10(has)m 9 r 97 c 10(separate)m 9(link)m 9(state)m 10(database)m 9(for)m 10(every)m 9(area)m 10(to)m 9(which)m 9(it)m 10(belongs.)m 13(The)m 10(link)m 9(state)m 10(database)m 9(has)m 9(been)m 10(referred)m 0 2021 p (to)s 11(elsewhere)m 10(in)m 11(the)m 10(text)m 11(as)m 11(the)m 10(topological)m 11(database.)m 14(All)m 11(routers)m 10(belonging)m 11(to)m 11(the)m 10(same)m 11(area)m 10(have)m 11(identical)m 11(topological)m 0 2071 p (databases)s 10(for)m 11(the)m 10(area.)m 0 2137 p (The)s 13(databases)m 13(for)m 12(each)m 13(individual)m 13(area)m 13(are)m 13(always)m 13(dealt)m 12(with)m 13(separately)m -1 r 46 c 20(The)m 13(shortest)m 12(path)m 13(calculation)m 13(is)m 13(performed)m 0 2187 p (separately)s 13(for)m 14(each)m 13(area)m 13(\(see)m 14(Section)m 13(16\).)m 23(Components)m 13(of)m 13(the)m 14(area)m 13(topological)m 13(database)m 13(are)m 14(\015ooded)m 13(throughout)m 13(the)m 0 2237 p (area)s 13(only)m -1 r 46 c 22(Finally)m -2 r 44 c 13(when)m 14(an)m 13(adjacency)m 14(\(belonging)m 13(to)m 14(Area)m 13(A\))m 14(is)m 13(being)m 14(brought)m 13(up,)m 15(only)m 13(the)m 14(database)m 13(for)m 14(Area)m 13 r 65 c 14(is)m 0 2287 p (synchronized)s 10(between)m 11(the)m 10(two)m 11(routers.)m 0 2321 p 780 2 ru t-rom.180 @sf 33 2349 p (10)s t-rom.240 @sf 60 2361 p (MaxAgeDif)s 102 c 12(is)m 12(an)m 13(architectural)m 12(constant.)m 24(It)m 12(indicates)m 13(the)m 12(maximum)m 13(dispersion)m 12(of)m 13(ages,)m 13(in)m 13(seconds,)m 13(that)m 13(can)m 12(occur)m 13(for)m 12 r 97 c 13(single)m 12(link)m 13(state)m 0 2400 p (instantiation)s 12(as)m 12(it)m 13(is)m 12(\015ooded)m 12(throughout)m 12(the)m 12(routing)m 12(domain.)m 23(If)m 12(two)m 12(advertisements)m 13(dif)m (fer)s 11(by)m 12(more)m 12(than)m 13(this,)m 13(they)m 12(are)m 12(assumed)m 12(to)m 12(be)m 13(dif)m (ferent)s 0 2440 p (instantiations)s 9(of)m 9(the)m 9(same)m 9(advertisement.)m 13(This)m 9(can)m 9(occur)m 9(when)m 9 r 97 c 9(router)m 8(restarts)m 9(and)m 9(loses)m 9(track)m 9(of)m 9(its)m 9(previous)m 9(sequence)m 9(number)m -1 r 46 c 12(See)m 9(Section)m 9(13.4)m 0 2479 p (for)s 8(more)m 9(details.)m t-rom.180 @sf 34 2508 p 49 c 49 c t-rom.240 @sf 60 2520 p (When)s 8(two)m 8(advertisements)m 8(have)m 8(dif)m (ferent)s 8(checksums,)m 8(they)m 8(are)m 8(assumed)m 8(to)m 8(be)m 8(separate)m 8(instantiations.)m 11(This)m 8(can)m 8(occur)m 8(when)m 8 r 97 c 8(router)m 8(restarts,)m 9(and)m 0 2559 p (loses)s 7(track)m 6(of)m 7(its)m 6(previous)m 7(sequence)m 7(number)m -1 r 46 c 9(In)m 7(this)m 7(case,)m 7(it)m 6(is)m 7(not)m 6(possible)m 7(to)m 7(determine)m 6(which)m 7(link)m 6(state)m 7(is)m 7(actually)m 6(newer)m -1 r 46 c 10(If)m 7(the)m 6(wrong)m 7(advertisement)m 0 2599 p (is)s 8(accepted)m 9(as)m 8(newer)m 44 c 7(the)m 8(originating)m 9(router)m 8(will)m 8(originate)m 9(another)m 8(instantiation.)m 11(See)m 8(Section)m 9(13.4)m 8(for)m 8(further)m 9(details.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(57)m @eop 56 @bop0 56 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 5394104 4604723 37364039 48349593 startTexFig %!PS-Adobe-1.0 %%Title: figure15-16.fig %%Creator: f2ps %%CreationDate: Fri May 5 11:49:31 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 82 70 568 735 %%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 186.000 470.000 10.000 180.000 0.000 arcn stroke newpath 186.000 390.000 10.000 180.000 0.000 arc stroke newpath 186.000 610.000 10.000 180.000 0.000 arcn stroke newpath 186.000 530.000 10.000 180.000 0.000 arc stroke newpath 386.000 680.000 10.000 -90.000 90.000 arc stroke newpath 306.000 680.000 10.000 -90.000 90.000 arcn stroke % Ellipse newpath 322 118 52 52 0 360 DrawEllipse stroke % Ellipse newpath 321 66 3 3 0 360 DrawEllipse stroke % Ellipse newpath 310 170 3 3 0 360 DrawEllipse stroke % Ellipse newpath 321 277 3 3 0 360 DrawEllipse stroke % Ellipse newpath 321 267 3 3 0 360 DrawEllipse stroke % Ellipse newpath 347 501 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 374 125 moveto 374 117 lineto stroke newpath 372.000 125.000 moveto 374.000 117.000 lineto 376.000 125.000 lineto stroke % Polyline newpath 321 277 moveto 321 172 lineto stroke newpath 319.000 180.000 moveto 321.000 172.000 lineto 323.000 180.000 lineto stroke % Polyline newpath 536 631 moveto 536 649 lineto stroke [4.000000] 0 setdash % Polyline newpath 96 360 moveto 416 360 lineto 416 730 lineto 96 730 lineto closepath stroke [] 0 setdash % Polyline newpath 346 630 moveto 346 670 lineto stroke % Polyline newpath 366 615 moveto 516 615 lineto stroke % Polyline newpath 346 535 moveto 346 600 lineto stroke % Polyline newpath 381 500 moveto 436 500 lineto stroke % Polyline newpath 276 430 moveto 321 475 lineto stroke % Polyline newpath 276 570 moveto 321 525 lineto stroke % Polyline newpath 196 570 moveto 236 570 lineto stroke % Polyline newpath 196 430 moveto 236 430 lineto stroke % Polyline newpath 516 600 moveto 556 600 lineto 556 630 lineto 516 630 lineto closepath stroke % Polyline newpath 436 485 moveto 476 485 lineto 476 515 lineto 436 515 lineto closepath stroke % Polyline newpath 326 600 moveto 366 600 lineto 366 630 lineto 326 630 lineto closepath stroke % Polyline newpath 236 555 moveto 276 555 lineto 276 585 lineto 236 585 lineto closepath stroke % Polyline newpath 236 415 moveto 276 415 lineto 276 445 lineto 236 445 lineto closepath stroke % Polyline newpath 196 390 moveto 196 470 lineto stroke % Polyline newpath 176 390 moveto 176 470 lineto stroke % Polyline newpath 196 530 moveto 196 610 lineto stroke % Polyline newpath 176 530 moveto 176 610 lineto stroke % Polyline newpath 386 670 moveto 306 670 lineto stroke % Polyline newpath 386 690 moveto 306 690 lineto stroke /Courier findfont 12.222222 scalefont setfont 501 609 moveto 1 -1 scale (6) show 1 -1 scale 544 647 moveto 1 -1 scale (7) show 1 -1 scale 375 611 moveto 1 -1 scale (8) show 1 -1 scale 352 648 moveto 1 -1 scale (2) show 1 -1 scale 335 593 moveto 1 -1 scale (1) show 1 -1 scale 222 565 moveto 1 -1 scale (3) show 1 -1 scale 219 425 moveto 1 -1 scale (3) show 1 -1 scale 420 496 moveto 1 -1 scale (1) show 1 -1 scale 280 551 moveto 1 -1 scale (1) show 1 -1 scale 153 770 moveto 1 -1 scale (Figure 16: Area 1 with IP addresses shown) show 1 -1 scale 145 320 moveto 1 -1 scale (Figure 15: The lollipop-shaped sequence space) show 1 -1 scale 330 281 moveto 1 -1 scale (-N) show 1 -1 scale 318 163 moveto 1 -1 scale (0) show 1 -1 scale 284 184 moveto 1 -1 scale (N-2) show 1 -1 scale 297 55 moveto 1 -1 scale (\(N-1\)/2) show 1 -1 scale 350 281 moveto 1 -1 scale (\(unused\)) show 1 -1 scale 280 271 moveto 1 -1 scale (-N+1) show 1 -1 scale 461 647 moveto 1 -1 scale (18.10.0.6) show 1 -1 scale 156 574 moveto 1 -1 scale (N2) show 1 -1 scale 156 432 moveto 1 -1 scale (N1) show 1 -1 scale 338 703 moveto 1 -1 scale (N4) show 1 -1 scale 370 467 moveto 1 -1 scale (N3) show 1 -1 scale 522 619 moveto 1 -1 scale (RT6) show 1 -1 scale 243 574 moveto 1 -1 scale (RT2) show 1 -1 scale 241 432 moveto 1 -1 scale (RT1) show 1 -1 scale 442 503 moveto 1 -1 scale (RT4) show 1 -1 scale 331 615 moveto 1 -1 scale (RT3) show 1 -1 scale 158 637 moveto 1 -1 scale (192.1.3) show 1 -1 scale 157 495 moveto 1 -1 scale (192.1.2) show 1 -1 scale 318 684 moveto 1 -1 scale (192.1.4) show 1 -1 scale 320 506 moveto 1 -1 scale (192.1.1) show 1 -1 scale 285 431 moveto 1 -1 scale (1) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1716(Page)m 12(56)m @eop 55 @bop0 cmmi10.300 @sf [<0000038000000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F0000 003C000000F0000000F00000003C0000000F00000003C0000000F00000003C0000000F00000003 C0000000F00000003C0000000F0000000380> 32 24 -3 2 32.286] 60 @dc cmsy10.300 @sf [ 32 2 -3 -9 32.286] 0 @dc cmmi10.300 @sf [ 40 28 -2 0 33.352] 78 @dc [<1E00230061C0E0C0E060E070E030E038E038E038701C701C701C701838183C183A3039E01C001C 001C001C000E000E000E000E00070007003F00> 16 29 -2 0 17.815] 98 @dc [<804020201010101070F0F060> 8 12 -4 8 11.531] 59 @dc cmr10.300 @sf [<004000800100020006000C000C0018001800300030007000600060006000E000E000E000E000E0 00E000E000E000E000E000E000E000600060006000700030003000180018000C000C0006000200 010000800040> 16 42 -3 11 16.143] 40 @dc [<800040002000100018000C000C000600060003000300038001800180018001C001C001C001C001 C001C001C001C001C001C001C001C0018001800180038003000300060006000C000C0018001000 200040008000> 16 42 -2 11 16.143] 41 @dc [<000600000006000000060000000600000006000000060000000600000006000000060000000600 00000600000006000000060000FFFFFFE0FFFFFFE0000600000006000000060000000600000006 00000006000000060000000600000006000000060000000600000006000000060000> 32 28 -2 4 32.286] 43 @dc 55 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (12.1.2)s 42(Link)m 10(State)m 10(ID)m t-rom.300 @sf 0 291 p (This)s 12(\014eld)m 12(identi\014es)m 12(the)m 12(piece)m 12(of)m 13(the)m 12(routing)m 12(domain)m 12(that)m 12(is)m 12(being)m 12(described)m 12(by)m 12(the)m 12(advertisement.)m 19(Depending)m 12(on)m 12(the)m 0 341 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(following)m 10(values:)m t-bol.300 @sf 0 450 p (Router)s 10(links)m t-rom.300 @sf 21(The)m 11(originating)m 10(router)m 2 r 39 c -2 r 115 c 10(Router)m 10(ID.)m t-bol.300 @sf 0 533 p (Network)s 10(links)m t-rom.300 @sf 21(The)m 10(IP)m 9(interface)m 10(address)m 9(of)m 10(the)m 9(Designated)m 10(Router)m 9(on)m 10(the)m 9(network.)m 14(Note)m 9(that)m 10(masking)m 9(this)m 10(ID)m 9(with)m 10(the)m 104 583 p (network')s -2 r 115 c 10(subnet)m 10(mask)m 11(yields)m 10(the)m 11(network')m -2 r 115 c 10(IP)m 10(address.)m t-bol.300 @sf 0 666 p (Summary)s 10(link)m t-rom.300 @sf 21(For)m 15 r 84 c -2(ype)m 14 r 51 c 15(advertisements,)m 16(the)m 15(destination)m 15(network')m -2 r 115 c 14(IP)m 15(address.)m 28(For)m 15 r 84 c -2(ype)m 13 r 52 c 15(advertisements,)m 16(the)m 104 715 p (Router)s 10(ID)m 11(of)m 10(the)m 10(described)m 11(AS)m 10(boundary)m 11(router)m -2 r 46 c t-bol.300 @sf 0 798 p (AS)s 10(external)m 11(link)m t-rom.300 @sf 21(The)m 10(destination)m 10(network')m -1 r 115 c 10(IP)m 10(address.)m t-bol.300 @sf 0 927 p (12.1.3)s 42(Advertising)m 10(Router)m t-rom.300 @sf 0 1023 p (This)s 10(\014eld)m 10(speci\014es)m 9(the)m 10(OSPF)m 10(Router)m 10(ID)m 9(of)m 10(the)m 10(advertisement')m -1 r 115 c 8(originator)m -1 r 46 c 13(For)m 9(router)m 10(links)m 10(advertisements,)m 10(this)m 10(\014eld)m 9(is)m 0 1072 p (identical)s 11(to)m 12(the)m 11(Link)m 11(State)m 12(ID)m 11(\014eld.)m 16(Network)m 12(link)m 11(advertisements)m 11(are)m 12(originated)m 11(by)m 11(the)m 12(network')m -2 r 115 c 11(Designated)m 11(Router)m -1 r 46 c 0 1122 p (Summary)s 15(link)m 16(advertisements)m 15(are)m 15(originated)m 15(by)m 16(area)m 15(border)m 15(routers.)m 29(Finally)m -2 r 44 c 16(AS)m 15(external)m 15(link)m 15(advertisements)m 16(are)m 0 1172 p (originated)s 10(by)m 11(AS)m 10(boundary)m 11(routers.)m t-bol.300 @sf 0 1300 p (12.1.4)s 42(LS)m 10(sequence)m 10(number)m t-rom.300 @sf 0 1396 p (The)s 7(sequence)m 8(number)m 7(\014eld)m 8(is)m 7 r 97 c 7(signed)m 8(32-bit)m 7(integer)m -1 r 46 c 12(It)m 7(is)m 7(used)m 8(to)m 7(detect)m 8(old)m 7(and)m 7(duplicate)m 8(link)m 7(state)m 7(advertisements.)m 13(The)m 0 1446 p (space)s 12(of)m 11(sequence)m 12(numbers)m 11(has)m 12 r 97 c 12(de\014ned)m 11(ordering.)m 18(Given)m 11(two)m 12(dif)m (ferent)s 11(sequence)m 11(numbers,)m 12(this)m 12(ordering)m 12(determines)m 0 1496 p (which)s 10(sequence)m 11(number)m 10(is)m 11(newer)m -2 r 46 c 13(In)m 11(the)m 10(text,)m 11(this)m 10(is)m 10(indicated)m 11(as)m t-ita.300 @sf 10(newer)m t-rom.300 @sf 46 c 0 1563 p (The)s 12(shape)m 11(of)m 12(the)m 12(sequence)m 12(number)m 11(space)m 12(is)m 12(shown)m 12(in)m 11(Figure)m 12(15.)m 18(This)m 12(sequence)m 12(number)m 11(space)m 12(has)m 12(been)m 12(described)m 11(in)m 0 1613 p ([Perlman])s 10(and)m 10([DEC].)m 10(It)m 10(is)m 10(often)m 10(referred)m 10(to)m 11(as)m 10(lollipop-shaped.)m 13(The)m 10(tail)m 11(of)m 10(the)m 10(sequence)m 10(space)m 10(is)m 10(ordered)m 10(linearly)m -2 r 44 c 9(and)m 0 1663 p (the)s 10(entire)m 11(circular)m 10(portion)m 11(of)m 10(the)m 10(sequence)m 11(space)m 10(is)m t-ita.300 @sf 11(newer)m t-rom.300 @sf 10(than)m 11(the)m 10(tail.)m 0 1731 p (The)s 13(precise)m 13(de\014nition)m 14(of)m t-ita.300 @sf 13(newer)m t-rom.300 @sf 13(is)m 13(as)m 14(follows.)m 22 r 84 c -2(wos)m 12(complement)m 14(arithmetic)m 13(is)m 13(used)m 13(in)m 13(the)m 14(de\014nitions.)m cmmi10.300 @sf 22 r 60 c t-rom.300 @sf 13(refers)m 14(the)m 0 1780 p (comparison)s 12(of)m 12(twos)m 12(complement)m 12(integers,)m 12(and)m cmsy10.300 @sf 12 r 0 c t-rom.300 @sf 12(refers)m 12(to)m 12(the)m 12(subtraction)m 12(of)m 12(twos)m 12(complement)m 12(integers.)m cmmi10.300 @sf 19 r 78 c t-rom.300 @sf 17(refers)m 12(to)m 0 1830 p (the)s 10(constant)m 11 r 50 c t-rom.210 @sf 231 1815 p (31)s t-rom.300 @sf 263 1830 p 46 c 14(Sequence)m 10(number)m cmmi10.300 @sf 10 r 97 c t-rom.300 @sf 11(is)m t-ita.300 @sf 10(newer)m t-rom.300 @sf 11(than)m 10(sequence)m 10(number)m cmmi10.300 @sf 11 r 98 c t-rom.300 @sf 10(if)m 11(one)m 10(of)m 11(the)m 10(following)m 10(holds:)m cmmi10.300 @sf 821 1948 p 98 c 12 r 60 c t-rom.300 @sf 12 r 48 c cmmi10.300 @sf 59 c 30 r 97 c 11 r 62 c 12 r 98 c t-rom.300 @sf 41(or)m cmmi10.300 @sf 612 2059 p 97 c 12 r 62 c t-rom.300 @sf 11 r 48 c cmmi10.300 @sf 59 c 30 r 98 c 12 r 62 c t-rom.300 @sf 11 r 48 c cmmi10.300 @sf 59 c 892 2031 p 78 c cmsy10.300 @sf 14 r 0 c t-rom.300 @sf 9 r 49 c 892 2049 p 110 2 ru 937 2087 p 50 c cmmi10.300 @sf 1018 2059 p 62 c cmr10.300 @sf 12 r 40 c cmmi10.300 @sf 97 c cmsy10.300 @sf 9 r 0 c cmmi10.300 @sf 9 r 98 c cmr10.300 @sf 41 c cmmi10.300 @sf 12 r 62 c t-rom.300 @sf 11 r 48 c 42(or)m cmmi10.300 @sf 673 2173 p 97 c 11 r 62 c t-rom.300 @sf 12 r 48 c cmmi10.300 @sf 59 c 30 r 98 c 11 r 62 c t-rom.300 @sf 12 r 48 c cmmi10.300 @sf 59 c cmr10.300 @sf 30 r 40 c cmmi10.300 @sf 97 c cmsy10.300 @sf 9 r 0 c cmmi10.300 @sf 9 r 98 c cmr10.300 @sf 41 c cmmi10.300 @sf 12 r 60 c cmsy10.300 @sf 11 r 0 c cmmi10.300 @sf 1163 2145 p 78 c cmsy10.300 @sf 14 r 0 c t-rom.300 @sf 9 r 49 c 1163 2163 p 110 2 ru 1207 2201 p 50 c 0 2277 p (The)s 10(sequence)m 9(number)m 10(of)m 9 r 97 c 10(link)m 10(state)m 9(advertisement)m 10(is)m 9(incremented)m 10(just)m 10(before)m 9 r 97 c 10(new)m 10(instantiation)m 9(of)m 10(the)m 9(advertisement)m 0 2326 p (is)s 11(originated.)m 16(When)m 10(the)m 11(sequence)m 11(number)m 11(increments)m 11(past)m cmmi10.300 @sf 11 r 78 c cmsy10.300 @sf 15 r 0 c t-rom.300 @sf 9(2,)m 11(it)m 11(becomes)m 11(0.)m 16(This)m 11(logic)m 11(yields)m 11(the)m 11(circular)m 11(part)m 11(of)m 0 2376 p (the)s 10(sequence)m 11(space.)m 14(The)m 10(sequence)m 11(number)m 10(value)m cmmi10.300 @sf 10 r 78 c cmsy10.300 @sf 14 r 0 c t-rom.300 @sf 9 r 49 c 11(is)m 10(illegal.)m 0 2444 p (The)s 12(sequence)m 12(number)m cmsy10.300 @sf 13 r 0 c cmmi10.300 @sf 78 c t-rom.300 @sf 16(is)m 13(reserved)m 12(\(and)m 12(unused\).)m 20(Therefore)m 12(the)m 12(oldest)m 12(sequence)m 12(number)m 13(is)m cmr10.300 @sf 12 r 40 c cmsy10.300 @sf 0 c cmmi10.300 @sf 78 c cmr10.300 @sf 15 r 43 c t-rom.300 @sf 11 r 49 c cmr10.300 @sf 41 c t-rom.300 @sf 46 c 19 r 65 c 13(router)m 0 2494 p (uses)s 12(this)m 11(sequence)m 12(number)m 12(the)m 12(\014rst)m 11(time)m 12(it)m 12(originates)m 12(any)m 11(link)m 12(state)m 12(advertisement.)m 18(The)m 12(router)m 11(may)m 12(then)m 12(promote)m 12(the)m 0 2543 p (sequence)s 12(number)m 12(if)m 12(its)m 12(link)m 12(state)m 12(advertisements)m 12(from)m 12 r 97 c 12(previous)m 12(instantiation)m 12(still)m 12(exist)m 12(in)m 12(the)m 12(Autonomous)m 12(System.)m 0 2593 p (This)s 10(is)m 11(covered)m 10(in)m 11(Section)m 10(13.4.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(55)m @eop 54 @bop0 54 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p (12)s 58(Link)m 15(State)m 14(Advertisements)m t-rom.300 @sf 0 306 p (Each)s 7(router)m 8(in)m 7(the)m 7(Autonomous)m 7(System)m 8(originates)m 7(one)m 7(or)m 8(more)m 7(link)m 7(state)m 7(advertisements.)m 13(There)m 8(are)m 7(four)m 7(distinct)m 7(types)m 8(of)m 0 356 p (link)s 8(state)m 9(advertisements,)m 9(which)m 8(are)m 8(described)m 9(in)m 8(Section)m 9(4.3.)m 13(The)m 8(collection)m 9(of)m 8(link)m 9(state)m 8(advertisements)m 8(forms)m 9(the)m 8(link)m 0 405 p (state)s 11(or)m 11(topological)m 11(database.)m 16(Each)m 11(separate)m 11(type)m 11(of)m 11(advertisement)m 11(has)m 11 r 97 c 11(separate)m 12(function.)m 15(Router)m 11(links)m 11(and)m 12(network)m 0 455 p (links)s 12(advertisements)m 12(describe)m 11(how)m 12(an)m 12(area')m -1 r 115 c 11(routers)m 11(and)m 12(networks)m 12(are)m 12(interconnected.)m 18(Summary)m 12(link)m 12(advertisements)m 0 505 p (provide)s 9 r 97 c 8(way)m 9(of)m 8(condensing)m 9(an)m 8(area')m -1 r 115 c 7(routing)m 9(information.)m 13(AS)m 9(external)m 8(advertisements)m 9(provide)m 8 r 97 c 9(way)m 9(of)m 8(transparently)m 0 555 p (advertising)s 10(externally-derived)m 11(routing)m 10(information)m 11(through)m 10(the)m 10(Autonomous)m 11(System.)m 0 622 p (Each)s 13(link)m 12(state)m 13(advertisement)m 12(begins)m 13(with)m 12 r 97 c 13(standard)m 12(20-byte)m 13(header)m -1 r 46 c 19(This)m 13(link)m 12(state)m 13(header)m 12(is)m 13(discussed)m 12(in)m 13(the)m 13(next)m 0 672 p (section.)s t-bol.360 @sf 0 809 p (12.1)s 50(The)m 12(Link)m 13(State)m 12(Header)m t-rom.300 @sf 0 905 p (This)s 12(link)m 13(state)m 12(header)m 13(contains)m 12(the)m 13(LS)m 12(type,)m 13(Link)m 13(State)m 12(ID)m 13(and)m 12(Advertising)m 13(Router)m 12(\014elds.)m 20(The)m 13(combination)m 12(of)m 13(these)m 0 954 p (three)s 10(\014elds)m 11(uniquely)m 10(identi\014es)m 11(the)m 10(link)m 10(state)m 11(advertisement.)m 0 1022 p (There)s 12(may)m 12(be)m 12(several)m 12(instantiations)m 12(of)m 12(an)m 12(advertisement)m 12(present)m 12(in)m 12(the)m 12(Autonomous)m 12(System,)m 13(all)m 12(at)m 12(the)m 12(same)m 12(time.)m 18(It)m 0 1072 p (must)s 8(then)m 7(be)m 8(determined)m 8(which)m 7(instantiation)m 8(is)m 8(more)m 7(recent.)m 13(This)m 8(determination)m 8(is)m 7(made)m 8(be)m 7(examining)m 8(the)m 8(LS)m 7(sequence,)m 0 1122 p (LS)s 10(checksum)m 11(and)m 10(LS)m 11(age)m 10(\014elds.)m 14(These)m 10(\014elds)m 11(are)m 10(also)m 11(contained)m 10(in)m 10(the)m 11(20-byte)m 10(link)m 11(state)m 10(header)m -1 r 46 c 0 1189 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(instantiation)m 10(is)m 10(not)m 11(important,)m 10(an)m 10(advertise-)m 0 1239 p (ment)s 10(is)m 10(referred)m 9(to)m 10(by)m 10(its)m 10(LS)m 9(type,)m 10(Link)m 10(State)m 10(ID)m 10(and)m 9(Advertising)m 10(Router)m 10(\(see)m 10(Link)m 10(State)m 9(Request)m 10(Packets\).)m 14(Otherwise,)m 0 1289 p (the)s 10(LS)m 11(sequence)m 10(number)m 44 c 9(LS)m 10(age)m 11(and)m 10(LS)m 11(checksum)m 10(\014elds)m 10(must)m 11(also)m 10(be)m 11(referenced.)m 0 1357 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(header)m 10(follows.)m t-bol.300 @sf 0 1485 p (12.1.1)s 42(LS)m 10(type)m t-rom.300 @sf 0 1581 p (The)s 12(LS)m 11(type)m 12(\014eld)m 12(dictates)m 11(the)m 12(format)m 12(and)m 11(function)m 12(of)m 12(the)m 11(link)m 12(state)m 12(advertisement.)m 17(Advertisements)m 12(of)m 12(dif)m (ferent)s 11(types)m 0 1631 p (have)s 13(dif)m (ferent)s 12(names)m 13(\(e.g.,)m 14(router)m 13(links)m 13(or)m 13(network)m 13(links\).)m 21(All)m 13(advertisement)m 13(types,)m 14(except)m 12(the)m 13(AS)m 13(external)m 13(link)m 13(ad-)m 0 1680 p (vertisements)s 13(\(LS)m 12(type)m cmr10.300 @sf 13 r 61 c t-rom.300 @sf 12(5\),)m 13(are)m 13(\015ooded)m 12(throughout)m 13 r 97 c 12(single)m 13(area)m 13(only)m -2 r 46 c 19(AS)m 13(external)m 12(link)m 13(advertisements)m 12(are)m 13(\015ooded)m 0 1730 p (throughout)s 10(the)m 11(entire)m 10(Autonomous)m 11(System.)m 14(Each)m 10(separate)m 10(advertisement)m 11(type)m 10(is)m 11(brie\015y)m 10(described)m 10(below:)m t-bol.300 @sf 0 1839 p (LS)s 10(type)m cmr10.300 @sf 11 r 61 c t-bol.300 @sf 10 r 49 c t-rom.300 @sf 21(These)m 12(are)m 11(the)m 12(router)m 12(links)m 12(advertisements.)m 17(They)m 12(describe)m 12(the)m 12(collected)m 11(states)m 12(of)m 12(the)m 11(router)m 2 r 39 c -1 r 115 c 10(interfaces.)m 104 1889 p (For)s 10(more)m 11(information,)m 10(consult)m 10(Section)m 11(12.3.1.)m t-bol.300 @sf 0 1972 p (LS)s 10(type)m cmr10.300 @sf 11 r 61 c t-bol.300 @sf 10 r 50 c t-rom.300 @sf 21(These)m 13(are)m 12(the)m 13(network)m 12(links)m 13(advertisements.)m 21(They)m 12(describe)m 13(the)m 12(set)m 13(of)m 13(routers)m 12(attached)m 13(to)m 12(the)m 13(network.)m 104 2022 p (For)s 10(more)m 11(information,)m 10(consult)m 10(Section)m 11(12.3.2)m t-bol.300 @sf 0 2105 p (LS)s 10(type)m cmr10.300 @sf 11 r 61 c t-bol.300 @sf 10 r 51 c 11(or)m 10 r 52 c t-rom.300 @sf 21(These)m 12(are)m 12(the)m 12(summary)m 13(link)m 12(advertisements.)m 19(They)m 12(describe)m 12(inter)m (-area)s 11(routes,)m 13(and)m 12(enable)m 12(the)m 13(con-)m 104 2155 p (densation)s 11(of)m 11(routing)m 11(information)m 11(at)m 11(area)m 11(borders.)m 16(Originated)m 11(by)m 11(area)m 11(border)m 12(routers,)m 11(the)m 11 r 84 c -2(ype)m 10 r 51 c 11(advertisements)m 104 2205 p (describe)s 10(routes)m 11(to)m 10(networks)m 10(while)m 11(the)m 10 r 84 c -2(ype)m 10 r 52 c 10(advertisements)m 11(describe)m 10(routes)m 10(to)m 11(AS)m 10(boundary)m 11(routers.)m t-bol.300 @sf 0 2288 p (LS)s 10(type)m cmr10.300 @sf 11 r 61 c t-bol.300 @sf 10 r 53 c t-rom.300 @sf 21(These)m 9(are)m 10(the)m 9(AS)m 9(external)m 9(link)m 10(advertisements.)m 13(Originated)m 10(by)m 9(AS)m 9(boundary)m 9(routers,)m 10(they)m 9(describe)m 10(routes)m 104 2338 p (to)s 10(destinations)m 11(external)m 10(to)m 10(the)m 11(Autonomous)m 10(System.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(54)m @eop 53 @bop0 53 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 205 338 p 1540 2 ru 205 388 p 2 50 ru t-ita.300 @sf 246 373 p 84 c -2(ype)m 363 388 p 2 50 ru 449 373 p (Dest)s 609 388 p 2 50 ru 635 373 p (Ar)s (ea)s 739 388 p 2 50 ru 764 373 p (Path)s 11 r 84 c -2(ype)m 955 388 p 2 50 ru 981 373 p (Cost)s 1082 388 p 2 50 ru 1107 373 p (Next)s 11(Hop\(s\))m 1334 388 p 2 50 ru 1360 373 p (Advertising)s 10(Router\(s\))m 1744 388 p 2 50 ru 205 389 p 1540 2 ru 205 439 p 2 50 ru t-rom.300 @sf 270 424 p 78 c 363 439 p 2 50 ru 462 424 p (N1)s 609 439 p 2 50 ru 664 424 p 49 c 739 439 p 2 50 ru 837 424 p 49 c 955 439 p 2 50 ru 1009 424 p 52 c 1082 439 p 2 50 ru 1173 424 p 82 c -2(T1)m 1334 439 p 2 50 ru 1529 424 p 42 c 1744 439 p 2 50 ru 205 489 p 2 50 ru 270 474 p 78 c 363 489 p 2 50 ru 462 474 p (N2)s 609 489 p 2 50 ru 664 474 p 49 c 739 489 p 2 50 ru 837 474 p 49 c 955 489 p 2 50 ru 1009 474 p 52 c 1082 489 p 2 50 ru 1173 474 p 82 c -2(T2)m 1334 489 p 2 50 ru 1529 474 p 42 c 1744 489 p 2 50 ru 205 539 p 2 50 ru 270 524 p 78 c 363 539 p 2 50 ru 462 524 p (N3)s 609 539 p 2 50 ru 664 524 p 49 c 739 539 p 2 50 ru 837 524 p 49 c 955 539 p 2 50 ru 1009 524 p 49 c 1082 539 p 2 50 ru 1198 524 p 42 c 1334 539 p 2 50 ru 1529 524 p 42 c 1744 539 p 2 50 ru 205 588 p 2 50 ru 270 574 p 78 c 363 588 p 2 50 ru 462 574 p (N4)s 609 588 p 2 50 ru 664 574 p 49 c 739 588 p 2 50 ru 837 574 p 49 c 955 588 p 2 50 ru 1009 574 p 51 c 1082 588 p 2 50 ru 1173 574 p 82 c -2(T3)m 1334 588 p 2 50 ru 1529 574 p 42 c 1744 588 p 2 50 ru 205 638 p 2 50 ru 257 623 p (BR)s 363 638 p 2 50 ru 451 623 p 82 c -1(T3)m 609 638 p 2 50 ru 664 623 p 49 c 739 638 p 2 50 ru 837 623 p 49 c 955 638 p 2 50 ru 1009 623 p 49 c 1082 638 p 2 50 ru 1198 623 p 42 c 1334 638 p 2 50 ru 1529 623 p 42 c 1744 638 p 2 50 ru 205 640 p 1540 2 ru 205 690 p 2 50 ru 270 675 p 78 c 363 690 p 2 50 ru 470 675 p (Ib)s 609 690 p 2 50 ru 664 675 p 48 c 739 690 p 2 50 ru 837 675 p 49 c 955 690 p 2 50 ru 999 675 p (22)s 1082 690 p 2 50 ru 1173 675 p 82 c -2(T5)m 1334 690 p 2 50 ru 1529 675 p 42 c 1744 690 p 2 50 ru 205 740 p 2 50 ru 270 725 p 78 c 363 740 p 2 50 ru 471 725 p (Ia)s 609 740 p 2 50 ru 664 725 p 48 c 739 740 p 2 50 ru 837 725 p 49 c 955 740 p 2 50 ru 999 725 p (27)s 1082 740 p 2 50 ru 1173 725 p 82 c -2(T5)m 1334 740 p 2 50 ru 1529 725 p 42 c 1744 740 p 2 50 ru 205 789 p 2 50 ru 257 774 p (BR)s 363 789 p 2 50 ru 451 774 p 82 c -1(T3)m 609 789 p 2 50 ru 664 774 p 48 c 739 789 p 2 50 ru 837 774 p 49 c 955 789 p 2 50 ru 999 774 p (21)s 1082 789 p 2 50 ru 1173 774 p 82 c -2(T5)m 1334 789 p 2 50 ru 1529 774 p 42 c 1744 789 p 2 50 ru 205 839 p 2 50 ru 257 824 p (BR)s 363 839 p 2 50 ru 451 824 p 82 c -1(T7)m 609 839 p 2 50 ru 664 824 p 48 c 739 839 p 2 50 ru 837 824 p 49 c 955 839 p 2 50 ru 999 824 p (14)s 1082 839 p 2 50 ru 1173 824 p 82 c -2(T5)m 1334 839 p 2 50 ru 1529 824 p 42 c 1744 839 p 2 50 ru 205 889 p 2 50 ru 257 874 p (BR)s 363 889 p 2 50 ru 441 874 p 82 c -2(T10)m 609 889 p 2 50 ru 664 874 p 48 c 739 889 p 2 50 ru 837 874 p 49 c 955 889 p 2 50 ru 999 874 p (22)s 1082 889 p 2 50 ru 1173 874 p 82 c -2(T5)m 1334 889 p 2 50 ru 1529 874 p 42 c 1744 889 p 2 50 ru 205 939 p 2 50 ru 257 924 p (BR)s 363 939 p 2 50 ru 442 924 p 82 c -2(T1)m -1 r 49 c 609 939 p 2 50 ru 664 924 p 48 c 739 939 p 2 50 ru 837 924 p 49 c 955 939 p 2 50 ru 999 924 p (25)s 1082 939 p 2 50 ru 1173 924 p 82 c -2(T5)m 1334 939 p 2 50 ru 1529 924 p 42 c 1744 939 p 2 50 ru 205 989 p 2 50 ru 230 974 p (ASBR)s 363 989 p 2 50 ru 451 974 p 82 c -1(T5)m 609 989 p 2 50 ru 664 974 p 48 c 739 989 p 2 50 ru 837 974 p 49 c 955 989 p 2 50 ru 1009 974 p 56 c 1082 989 p 2 50 ru 1198 974 p 42 c 1334 989 p 2 50 ru 1529 974 p 42 c 1744 989 p 2 50 ru 205 1038 p 2 50 ru 230 1023 p (ASBR)s 363 1038 p 2 50 ru 451 1023 p 82 c -1(T7)m 609 1038 p 2 50 ru 664 1023 p 48 c 739 1038 p 2 50 ru 837 1023 p 49 c 955 1038 p 2 50 ru 999 1023 p (14)s 1082 1038 p 2 50 ru 1173 1023 p 82 c -2(T5)m 1334 1038 p 2 50 ru 1529 1023 p 42 c 1744 1038 p 2 50 ru 205 1040 p 1540 2 ru 205 1090 p 2 50 ru 270 1075 p 78 c 363 1090 p 2 50 ru 462 1075 p (N6)s 609 1090 p 2 50 ru 664 1075 p 48 c 739 1090 p 2 50 ru 837 1075 p 50 c 955 1090 p 2 50 ru 999 1075 p (15)s 1082 1090 p 2 50 ru 1173 1075 p 82 c -2(T5)m 1334 1090 p 2 50 ru 1504 1075 p 82 c -2(T7)m 1744 1090 p 2 50 ru 205 1140 p 2 50 ru 270 1125 p 78 c 363 1140 p 2 50 ru 462 1125 p (N7)s 609 1140 p 2 50 ru 664 1125 p 48 c 739 1140 p 2 50 ru 837 1125 p 50 c 955 1140 p 2 50 ru 999 1125 p (19)s 1082 1140 p 2 50 ru 1173 1125 p 82 c -2(T5)m 1334 1140 p 2 50 ru 1504 1125 p 82 c -2(T7)m 1744 1140 p 2 50 ru 205 1190 p 2 50 ru 270 1175 p 78 c 363 1190 p 2 50 ru 462 1175 p (N8)s 609 1190 p 2 50 ru 664 1175 p 48 c 739 1190 p 2 50 ru 837 1175 p 50 c 955 1190 p 2 50 ru 999 1175 p (18)s 1082 1190 p 2 50 ru 1173 1175 p 82 c -2(T5)m 1334 1190 p 2 50 ru 1504 1175 p 82 c -2(T7)m 1744 1190 p 2 50 ru 205 1239 p 2 50 ru 270 1224 p 78 c 363 1239 p 2 50 ru 389 1224 p (N9-N1)s -1(1,H1)m 609 1239 p 2 50 ru 664 1224 p 48 c 739 1239 p 2 50 ru 837 1224 p 50 c 955 1239 p 2 50 ru 999 1224 p (26)s 1082 1239 p 2 50 ru 1173 1224 p 82 c -2(T5)m 1334 1239 p 2 50 ru 1494 1224 p 82 c -1(T1)m -2 r 49 c 1744 1239 p 2 50 ru 205 1241 p 1540 2 ru 205 1291 p 2 50 ru 270 1276 p 78 c 363 1291 p 2 50 ru 451 1276 p (N12)s 609 1291 p 2 50 ru 664 1276 p 42 c 739 1291 p 2 50 ru 837 1276 p 51 c 955 1291 p 2 50 ru 999 1276 p (16)s 1082 1291 p 2 50 ru 1173 1276 p 82 c -2(T5)m 1334 1291 p 2 50 ru 1463 1276 p 82 c -2(T5,R)m -2(T7)m 1744 1291 p 2 50 ru 205 1341 p 2 50 ru 270 1326 p 78 c 363 1341 p 2 50 ru 451 1326 p (N13)s 609 1341 p 2 50 ru 664 1326 p 42 c 739 1341 p 2 50 ru 837 1326 p 51 c 955 1341 p 2 50 ru 999 1326 p (16)s 1082 1341 p 2 50 ru 1173 1326 p 82 c -2(T5)m 1334 1341 p 2 50 ru 1504 1326 p 82 c -2(T5)m 1744 1341 p 2 50 ru 205 1390 p 2 50 ru 270 1375 p 78 c 363 1390 p 2 50 ru 451 1375 p (N14)s 609 1390 p 2 50 ru 664 1375 p 42 c 739 1390 p 2 50 ru 837 1375 p 51 c 955 1390 p 2 50 ru 999 1375 p (16)s 1082 1390 p 2 50 ru 1173 1375 p 82 c -2(T5)m 1334 1390 p 2 50 ru 1504 1375 p 82 c -2(T5)m 1744 1390 p 2 50 ru 205 1440 p 2 50 ru 270 1425 p 78 c 363 1440 p 2 50 ru 451 1425 p (N15)s 609 1440 p 2 50 ru 664 1425 p 42 c 739 1440 p 2 50 ru 837 1425 p 51 c 955 1440 p 2 50 ru 999 1425 p (23)s 1082 1440 p 2 50 ru 1173 1425 p 82 c -2(T5)m 1334 1440 p 2 50 ru 1504 1425 p 82 c -2(T7)m 1744 1440 p 2 50 ru 205 1442 p 1540 2 ru 472 1579 p 84 c -2(able)m 10(7:)m 13(Router)m 11 r 82 c -2(T4')m -2 r 115 c 9(routing)m 11(table)m 10(in)m 11(the)m 10(presence)m 11(of)m 10(areas.)m 221 1942 p 1509 2 ru 220 1992 p 2 50 ru t-ita.300 @sf 246 1977 p 84 c -2(ype)m 348 1992 p 2 50 ru 433 1977 p (Dest)s 594 1992 p 2 50 ru 620 1977 p (Ar)s -1(ea)m 723 1992 p 2 50 ru 749 1977 p (Path)s 10 r 84 c -2(ype)m 940 1992 p 2 50 ru 966 1977 p (Cost)s 1066 1992 p 2 50 ru 1092 1977 p (Next)s 10(Hop\(s\))m 1319 1992 p 2 50 ru 1344 1977 p (Advertising)s 11(Router\(s\))m 1728 1992 p 2 50 ru 221 1994 p 1509 2 ru 221 2004 p 1509 2 ru 220 2053 p 2 50 ru t-rom.300 @sf 270 2038 p 78 c 348 2053 p 2 50 ru 454 2038 p (Ib)s 594 2053 p 2 50 ru 649 2038 p 48 c 723 2053 p 2 50 ru 822 2038 p 49 c 940 2053 p 2 50 ru 983 2038 p (16)s 1066 2053 p 2 50 ru 1157 2038 p 82 c -1(T3)m 1319 2053 p 2 50 ru 1514 2038 p 42 c 1728 2053 p 2 50 ru 220 2103 p 2 50 ru 270 2088 p 78 c 348 2103 p 2 50 ru 455 2088 p (Ia)s 594 2103 p 2 50 ru 649 2088 p 48 c 723 2103 p 2 50 ru 822 2088 p 49 c 940 2103 p 2 50 ru 983 2088 p (21)s 1066 2103 p 2 50 ru 1157 2088 p 82 c -1(T3)m 1319 2103 p 2 50 ru 1514 2088 p 42 c 1728 2103 p 2 50 ru 220 2153 p 2 50 ru 257 2138 p (BR)s 348 2153 p 2 50 ru 436 2138 p 82 c -2(T3)m 594 2153 p 2 50 ru 649 2138 p 48 c 723 2153 p 2 50 ru 822 2138 p 49 c 940 2153 p 2 50 ru 994 2138 p 49 c 1066 2153 p 2 50 ru 1183 2138 p 42 c 1319 2153 p 2 50 ru 1514 2138 p 42 c 1728 2153 p 2 50 ru 220 2203 p 2 50 ru 257 2188 p (BR)s 348 2203 p 2 50 ru 425 2188 p 82 c -1(T10)m 594 2203 p 2 50 ru 649 2188 p 48 c 723 2203 p 2 50 ru 822 2188 p 49 c 940 2203 p 2 50 ru 983 2188 p (16)s 1066 2203 p 2 50 ru 1157 2188 p 82 c -1(T3)m 1319 2203 p 2 50 ru 1514 2188 p 42 c 1728 2203 p 2 50 ru 220 2253 p 2 50 ru 257 2238 p (BR)s 348 2253 p 2 50 ru 426 2238 p 82 c -1(T1)m -2 r 49 c 594 2253 p 2 50 ru 649 2238 p 48 c 723 2253 p 2 50 ru 822 2238 p 49 c 940 2253 p 2 50 ru 983 2238 p (19)s 1066 2253 p 2 50 ru 1157 2238 p 82 c -1(T3)m 1319 2253 p 2 50 ru 1514 2238 p 42 c 1728 2253 p 2 50 ru 221 2254 p 1509 2 ru 220 2304 p 2 50 ru 270 2289 p 78 c 348 2304 p 2 50 ru 373 2289 p (N9-N1)s (1,H1)s 594 2304 p 2 50 ru 649 2289 p 48 c 723 2304 p 2 50 ru 822 2289 p 50 c 940 2304 p 2 50 ru 983 2289 p (20)s 1066 2304 p 2 50 ru 1157 2289 p 82 c -1(T3)m 1319 2304 p 2 50 ru 1479 2289 p 82 c -2(T1)m -1 r 49 c 1728 2304 p 2 50 ru 221 2306 p 1509 2 ru 221 2316 p 1509 2 ru 494 2453 p 84 c -2(able)m 9(8:)m 14(Changes)m 11(resulting)m 10(from)m 10 r 97 c 11(con\014gured)m 10(virtual)m 11(link.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(53)m @eop 52 @bop0 52 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 265 201 p 1420 2 ru 265 251 p 2 50 ru t-ita.300 @sf 306 236 p 84 c -2(ype)m 423 251 p 2 50 ru 449 236 p (Dest)s 549 251 p 2 50 ru 575 236 p (Ar)s (ea)s 679 251 p 2 50 ru 704 236 p (Path)s 11 r 84 c -2(ype)m 895 251 p 2 50 ru 921 236 p (Cost)s 1022 251 p 2 50 ru 1047 236 p (Next)s 11(Hop\(s\))m 1274 251 p 2 50 ru 1300 236 p (Advertising)s 10(Router\(s\))m 1684 251 p 2 50 ru 265 252 p 1420 2 ru 265 302 p 2 50 ru t-rom.300 @sf 330 287 p 78 c 423 302 p 2 50 ru 462 287 p (N1)s 549 302 p 2 50 ru 604 287 p 48 c 679 302 p 2 50 ru 777 287 p 49 c 895 302 p 2 50 ru 939 287 p (10)s 1022 302 p 2 50 ru 1113 287 p 82 c -2(T3)m 1274 302 p 2 50 ru 1469 287 p 42 c 1684 302 p 2 50 ru 265 352 p 2 50 ru 330 337 p 78 c 423 352 p 2 50 ru 462 337 p (N2)s 549 352 p 2 50 ru 604 337 p 48 c 679 352 p 2 50 ru 777 337 p 49 c 895 352 p 2 50 ru 939 337 p (10)s 1022 352 p 2 50 ru 1113 337 p 82 c -2(T3)m 1274 352 p 2 50 ru 1469 337 p 42 c 1684 352 p 2 50 ru 265 402 p 2 50 ru 330 387 p 78 c 423 402 p 2 50 ru 462 387 p (N3)s 549 402 p 2 50 ru 604 387 p 48 c 679 402 p 2 50 ru 777 387 p 49 c 895 402 p 2 50 ru 949 387 p 55 c 1022 402 p 2 50 ru 1113 387 p 82 c -2(T3)m 1274 402 p 2 50 ru 1469 387 p 42 c 1684 402 p 2 50 ru 265 452 p 2 50 ru 330 437 p 78 c 423 452 p 2 50 ru 462 437 p (N4)s 549 452 p 2 50 ru 604 437 p 48 c 679 452 p 2 50 ru 777 437 p 49 c 895 452 p 2 50 ru 949 437 p 56 c 1022 452 p 2 50 ru 1113 437 p 82 c -2(T3)m 1274 452 p 2 50 ru 1469 437 p 42 c 1684 452 p 2 50 ru 265 501 p 2 50 ru 330 486 p 78 c 423 501 p 2 50 ru 470 486 p (Ib)s 549 501 p 2 50 ru 604 486 p 48 c 679 501 p 2 50 ru 777 486 p 49 c 895 501 p 2 50 ru 949 486 p 55 c 1022 501 p 2 50 ru 1138 486 p 42 c 1274 501 p 2 50 ru 1469 486 p 42 c 1684 501 p 2 50 ru 265 551 p 2 50 ru 330 536 p 78 c 423 551 p 2 50 ru 471 536 p (Ia)s 549 551 p 2 50 ru 604 536 p 48 c 679 551 p 2 50 ru 777 536 p 49 c 895 551 p 2 50 ru 939 536 p (12)s 1022 551 p 2 50 ru 1102 536 p 82 c -1(T10)m 1274 551 p 2 50 ru 1469 536 p 42 c 1684 551 p 2 50 ru 265 601 p 2 50 ru 330 586 p 78 c 423 601 p 2 50 ru 462 586 p (N6)s 549 601 p 2 50 ru 604 586 p 48 c 679 601 p 2 50 ru 777 586 p 49 c 895 601 p 2 50 ru 949 586 p 56 c 1022 601 p 2 50 ru 1102 586 p 82 c -1(T10)m 1274 601 p 2 50 ru 1469 586 p 42 c 1684 601 p 2 50 ru 265 651 p 2 50 ru 330 636 p 78 c 423 651 p 2 50 ru 462 636 p (N7)s 549 651 p 2 50 ru 604 636 p 48 c 679 651 p 2 50 ru 777 636 p 49 c 895 651 p 2 50 ru 939 636 p (12)s 1022 651 p 2 50 ru 1102 636 p 82 c -1(T10)m 1274 651 p 2 50 ru 1469 636 p 42 c 1684 651 p 2 50 ru 265 701 p 2 50 ru 330 686 p 78 c 423 701 p 2 50 ru 462 686 p (N8)s 549 701 p 2 50 ru 604 686 p 48 c 679 701 p 2 50 ru 777 686 p 49 c 895 701 p 2 50 ru 939 686 p (10)s 1022 701 p 2 50 ru 1102 686 p 82 c -1(T10)m 1274 701 p 2 50 ru 1469 686 p 42 c 1684 701 p 2 50 ru 265 751 p 2 50 ru 330 736 p 78 c 423 751 p 2 50 ru 462 736 p (N9)s 549 751 p 2 50 ru 604 736 p 48 c 679 751 p 2 50 ru 777 736 p 49 c 895 751 p 2 50 ru 939 736 p 49 c 49 c 1022 751 p 2 50 ru 1102 736 p 82 c -1(T10)m 1274 751 p 2 50 ru 1469 736 p 42 c 1684 751 p 2 50 ru 265 800 p 2 50 ru 330 785 p 78 c 423 800 p 2 50 ru 451 785 p (N10)s 549 800 p 2 50 ru 604 785 p 48 c 679 800 p 2 50 ru 777 785 p 49 c 895 800 p 2 50 ru 939 785 p (13)s 1022 800 p 2 50 ru 1102 785 p 82 c -1(T10)m 1274 800 p 2 50 ru 1469 785 p 42 c 1684 800 p 2 50 ru 265 850 p 2 50 ru 330 835 p 78 c 423 850 p 2 50 ru 452 835 p (N1)s -1 r 49 c 549 850 p 2 50 ru 604 835 p 48 c 679 850 p 2 50 ru 777 835 p 49 c 895 850 p 2 50 ru 939 835 p (14)s 1022 850 p 2 50 ru 1102 835 p 82 c -1(T10)m 1274 850 p 2 50 ru 1469 835 p 42 c 1684 850 p 2 50 ru 265 900 p 2 50 ru 330 885 p 78 c 423 900 p 2 50 ru 462 885 p (H1)s 549 900 p 2 50 ru 604 885 p 48 c 679 900 p 2 50 ru 777 885 p 49 c 895 900 p 2 50 ru 939 885 p (21)s 1022 900 p 2 50 ru 1102 885 p 82 c -1(T10)m 1274 900 p 2 50 ru 1469 885 p 42 c 1684 900 p 2 50 ru 265 950 p 2 50 ru 290 935 p (ASBR)s 423 950 p 2 50 ru 451 935 p 82 c -1(T5)m 549 950 p 2 50 ru 604 935 p 48 c 679 950 p 2 50 ru 777 935 p 49 c 895 950 p 2 50 ru 949 935 p 54 c 1022 950 p 2 50 ru 1113 935 p 82 c -2(T5)m 1274 950 p 2 50 ru 1469 935 p 42 c 1684 950 p 2 50 ru 265 1000 p 2 50 ru 290 985 p (ASBR)s 423 1000 p 2 50 ru 451 985 p 82 c -1(T7)m 549 1000 p 2 50 ru 604 985 p 48 c 679 1000 p 2 50 ru 777 985 p 49 c 895 1000 p 2 50 ru 949 985 p 56 c 1022 1000 p 2 50 ru 1102 985 p 82 c -1(T10)m 1274 1000 p 2 50 ru 1469 985 p 42 c 1684 1000 p 2 50 ru 265 1001 p 1420 2 ru 265 1051 p 2 50 ru 330 1036 p 78 c 423 1051 p 2 50 ru 451 1036 p (N12)s 549 1051 p 2 50 ru 604 1036 p 42 c 679 1051 p 2 50 ru 777 1036 p 51 c 895 1051 p 2 50 ru 939 1036 p (10)s 1022 1051 p 2 50 ru 1102 1036 p 82 c -1(T10)m 1274 1051 p 2 50 ru 1444 1036 p 82 c -2(T7)m 1684 1051 p 2 50 ru 265 1101 p 2 50 ru 330 1086 p 78 c 423 1101 p 2 50 ru 451 1086 p (N13)s 549 1101 p 2 50 ru 604 1086 p 42 c 679 1101 p 2 50 ru 777 1086 p 51 c 895 1101 p 2 50 ru 939 1086 p (14)s 1022 1101 p 2 50 ru 1113 1086 p 82 c -2(T5)m 1274 1101 p 2 50 ru 1444 1086 p 82 c -2(T5)m 1684 1101 p 2 50 ru 265 1151 p 2 50 ru 330 1136 p 78 c 423 1151 p 2 50 ru 451 1136 p (N14)s 549 1151 p 2 50 ru 604 1136 p 42 c 679 1151 p 2 50 ru 777 1136 p 51 c 895 1151 p 2 50 ru 939 1136 p (14)s 1022 1151 p 2 50 ru 1113 1136 p 82 c -2(T5)m 1274 1151 p 2 50 ru 1444 1136 p 82 c -2(T5)m 1684 1151 p 2 50 ru 265 1200 p 2 50 ru 330 1186 p 78 c 423 1200 p 2 50 ru 451 1186 p (N15)s 549 1200 p 2 50 ru 604 1186 p 42 c 679 1200 p 2 50 ru 777 1186 p 51 c 895 1200 p 2 50 ru 939 1186 p (17)s 1022 1200 p 2 50 ru 1102 1186 p 82 c -1(T10)m 1274 1200 p 2 50 ru 1444 1186 p 82 c -2(T7)m 1684 1200 p 2 50 ru 265 1202 p 1420 2 ru 437 1339 p 84 c -2(able)m 10(6:)m 14(The)m 10(routing)m 11(table)m 10(for)m 10(Router)m 11 r 82 c -2(T6)m 10(\(no)m 10(con\014gured)m 11(areas\).)m 0 1473 p (Router)s 12 r 82 c -1(T4)m 11(to)m 12(view)m 12(the)m 12(AS)m 12(as)m 12(the)m 13(concatenation)m 12(of)m 12(the)m 12(two)m 12(graphs)m 12(shown)m 12(in)m 13(Figures)m 12 r 55 c 12(and)m 12(8.)m 19(The)m 12(resulting)m 12(routing)m 0 1522 p (table)s 10(is)m 11(displayed)m 10(in)m 11 r 84 c -2(able)m 9(7.)m 0 1590 p (Again,)s 13(routers)m 12 r 82 c -1(T5)m 11(and)m 13 r 82 c -2(T7)m 12(are)m 12(AS)m 13(boundary)m 12(routers.)m 20(Routers)m 13 r 82 c -2(T3,)m 12 r 82 c -1(T4,)m 12 r 82 c -2(T7,)m 12 r 82 c -1(T10)m 11(and)m 13 r 82 c -2(T1)m -1 r 49 c 11(are)m 13(area)m 12(boundary)m 0 1640 p (routers.)s 13(Note)m 9(that)m 9(there)m 8(are)m 9(two)m 8(routing)m 9(entries)m 9(\(in)m 8(this)m 9(case)m 8(having)m 9(identical)m 9(paths\))m 8(for)m 9(router)m 9 r 82 c -2(T7,)m 8(in)m 9(its)m 8(dual)m 9(capacities)m 0 1690 p (as)s 12(an)m 12(area)m 13(border)m 12(router)m 12(and)m 12(an)m 13(AS)m 12(boundary)m 12(router)m -1 r 46 c 18(Note)m 12(also)m 13(that)m 12(there)m 12(are)m 12(two)m 13(routing)m 12(entries)m 12(for)m 12(the)m 13(area)m 12(border)m 0 1740 p (router)s 10 r 82 c -1(T3,)m 9(since)m 11(it)m 10(has)m 11(two)m 10(areas)m 10(in)m 11(common)m 10(with)m 11 r 82 c -2(T4)m 10(\(Area)m 10 r 49 c 10(and)m 11(the)m 10(backbone\).)m 0 1807 p (Backbone)s 11(paths)m 10(have)m 11(been)m 10(calculated)m 11(to)m 10(all)m 11(area)m 10(border)m 11(routers)m 11(\(BR\).)m 10(These)m 11(are)m 10(used)m 11(when)m 10(determining)m 11(the)m 10(inter)m (-area)s 0 1857 p (routes.)s 15(Note)m 11(that)m 11(all)m 11(of)m 10(the)m 11(inter)m (-area)s 10(routes)m 11(are)m 11(associated)m 11(with)m 11(the)m 10(backbone;)m 11(this)m 11(is)m 11(always)m 11(the)m 11(case)m 10(when)m 11(the)m 11(router)m 0 1907 p (is)s 10(itself)m 11(an)m 10(area)m 11(border)m 10(router)m -1 r 46 c 13(Note)m 11(also)m 10(that)m 11(the)m 10(backbone)m 10(path)m 11(to)m 10(router)m 11 r 82 c -2(T4)m 10(is)m 10(quite)m 11(long.)m 14(This)m 10(can)m 11(be)m 10(\014xed)m 11(\(below\))m 0 1957 p (by)s 12(con\014guring)m 11 r 97 c 12(virtual)m 12(link)m 11(between)m 12 r 82 c -2(T4)m 11(and)m 12 r 82 c -2(T3.)m 17(Such)m 11 r 97 c 12(virtual)m 12(link)m 11(would)m 12(also)m 11(lead)m 12(to)m 12 r 97 c 11(much)m 12(better)m 12(path)m 11(to)m 12(the)m 0 2007 p (networks)s 10(contained)m 11(in)m 10(Area)m 11(3.)m 0 2074 p (Routing)s 9(information)m 10(is)m 9(condensed)m 10(at)m 9(area)m 10(boundaries.)m 13(In)m 10(this)m 9(example,)m 10(we)m 9(assume)m 10(that)m 9(Area)m 10 r 51 c 9(has)m 10(been)m 9(de\014ned)m 10(so)m 9(that)m 0 2124 p (networks)s 12(N9-N1)m 49 c 11(and)m 13(the)m 12(host)m 13(route)m 12(to)m 12(N1)m 13(are)m 12(all)m 13(condensed)m 12(to)m 12 r 97 c 13(single)m 12(route)m 13(when)m 12(advertised)m 12(to)m 13(the)m 12(backbone)m 13(\(by)m 0 2174 p (router)s 10 r 82 c -1(T1)m -2(1\).)m 13(Note)m 11(that)m 10(the)m 11(cost)m 10(of)m 10(this)m 11(route)m 10(is)m 11(the)m 10(minimum)m 10(of)m 11(the)m 10(set)m 11(of)m 10(costs)m 11(to)m 10(its)m 10(individual)m 11(components.)m 0 2242 p (There)s 10(are)m 11(two)m 10(equal-cost)m 11(paths)m 10(to)m 10(network)m 11(N12.)m 14(However)m -1 r 44 c 10(they)m 10(both)m 10(use)m 11(the)m 10(same)m 11(next)m 10(hop)m 10(\(Router)m 11 r 82 c -2(T5\).)m 0 2318 p (As)s 11(mentioned)m 12(above,)m 12 r 97 c 11(few)m 12(routes)m 11(would)m 12(improve)m 11(if)m 11 r 97 c 12(virtual)m 11(link)m 12(to)m 11 r 82 c -1(T3)m 10(were)m 12(con\014gured.)m 17(The)m 11(routing)m 12(table)m 11(entries)m 0 2368 p (that)s 11(would)m 11(be)m 11(af)m (fected)s 10(by)m 11(this)m 11(change)m 11(are)m 11(displayed)m 11(in)m 11 r 84 c -2(able)m 10(8.)m 15(In)m 11(this)m 11(case,)m 11(the)m 11(virtual)m 11(link)m 11(would)m 11(be)m 10(associated)m 11(with)m 0 2418 p (the)s 12(\014rst)m 11(routing)m 12(table)m 11(entry)m 12(for)m 11(router)m 12 r 82 c -2(T3)m 11(appearing)m 12(in)m 11 r 84 c -2(able)m 11(7.)m 17(Note)m 12(that)m 11(this)m 12(entry')m -2 r 115 c 11(associated)m 12(area)m 11(is)m 12(equal)m 11(to)m 12(the)m 0 2468 p (virtual)s 10(link')m -1 r 115 c 10(transit)m 10(area)m 10(\(Area)m 11(1\).)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(52)m @eop 51 @bop0 51 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (The)s 11(rest)m 10(of)m 11(the)m 11(routing)m 11(table)m 10(entry)m 11(describes)m 11(the)m 11(set)m 10(of)m 11(paths)m 11(to)m 11(the)m 10(described)m 11(destination.)m 15(The)m 11(following)m 11(\014elds)m 10(pertain)m 0 245 p (to)s 10(the)m 11(set)m 10(of)m 11(paths)m 10(as)m 10 r 97 c 11(whole:)m t-bol.300 @sf 0 344 p (Path)s 10(type)m t-rom.300 @sf 21(There)m 15(are)m 15(three)m 14(possible)m 15(types)m 15(of)m 14(path\(s\))m 15(used)m 15(to)m 15(route)m 14(traf)m (\014c)s 14(to)m 15(the)m 15(destination,)m 16(listed)m 14(here)m 15(in)m 15(order)m 14(of)m 104 394 p (preference:)s 15(intra-area,)m 11(inter)m (-area,)s 10(or)m 11(AS)m 11(external.)m 15(Intra-area)m 11(paths)m 11(indicate)m 11(destinations)m 11(belonging)m 11(to)m 10(one)m 11(of)m 11(the)m 104 444 p (router)s 1 r 39 c -1 r 115 c 12(attached)m 14(areas.)m 22(Inter)m (-area)s 13(paths)m 13(are)m 14(paths)m 13(to)m 13(destinations)m 14(in)m 13(other)m 13(OSPF)m 14(areas.)m 22(These)m 14(are)m 13(discovered)m 104 493 p (through)s 11(the)m 11(examination)m 11(of)m 11(received)m 11(summary)m 10(link)m 11(advertisements.)m 16(AS)m 11(external)m 11(paths)m 11(are)m 11(paths)m 11(to)m 11(destinations)m 104 543 p (external)s 10(to)m 11(the)m 10(AS.)m 10(These)m 11(are)m 10(detected)m 11(through)m 10(the)m 11(examination)m 10(of)m 10(received)m 11(AS)m 10(external)m 11(link)m 10(advertisements.)m t-bol.300 @sf 0 626 p (Cost)s t-rom.300 @sf 21(The)m 9(cost)m 9(of)m 9(the)m 9(path\(s\))m 9(to)m 10(the)m 9(destination.)m 13(For)m 9(intra-area)m 10(and)m 9(inter)m (-area)s 8(paths,)m 9(this)m 9(cost)m 10(is)m 9(in)m 9(terms)m 9(of)m 9(the)m 9(link)m 9(state)m 104 676 p (metric.)s 13(For)m 10(AS)m 10(external)m 10(paths,)m 10(this)m 10(\014eld)m 10(indicates)m 10(the)m 10(link)m 9(state)m 10(metric)m 10(component)m 10(of)m 10(the)m 10(path')m -1 r 115 c 8(cost.)m 14(For)m 10 r 84 c -2(ype)m 9 r 49 c 104 725 p (external)s 10(metrics,)m 10(this)m 10(describes)m 11(the)m 10(path')m -2 r 115 c 10(entire)m 10(cost.)m 14(For)m 10 r 84 c -2(ype)m 9 r 50 c 10(external)m 11(metrics,)m 10(this)m 10(describes)m 10(the)m 10(distance)m 11(to)m 104 775 p (the)s 10(advertising)m 11(AS)m 10(boundary)m 10(router)m -1 r 46 c 0 874 p (For)s 10(AS)m 11(external)m 10(destinations,)m 11(the)m 10(following)m 10(\014elds)m 11(are)m 10(also)m 11(speci\014ed,)m 10(again)m 11(for)m 10(the)m 10(set)m 11(of)m 10(paths)m 11(as)m 10 r 97 c 10(whole:)m t-bol.300 @sf 0 981 p (External)s 10(metric)m 11(type)m t-rom.300 @sf 21(The)m 9(type)m 9(of)m 10(external)m 9(metric)m 9(type)m 10(advertised)m 9(by)m 9(the)m 10(AS)m 9(boundary)m 9(router\(s\).)m 14(Either)m 9 r 84 c -2(ype)m 9 r 49 c 9(\(com-)m 104 1031 p (parable)s 12(to)m 12(link)m 12(state\))m 12(or)m 12 r 84 c -2(ype)m 11 r 50 c 12(\(incomparable)m 11(to)m 12(link)m 12(state\).)m 19 r 84 c -2(ype)m 11 r 50 c 12(metrics)m 12(are)m 12(always)m 12(lar)m (ger)s 11(than)m 12(the)m 12(cost)m 12(of)m 104 1081 p (any)s 10(intra-area)m 11(or)m 10(inter)m (-area)s 10(path.)m t-bol.300 @sf 0 1163 p 84 c -2(ype)m 9 r 50 c 11(cost)m t-rom.300 @sf 21(For)m 13(path\(s\))m 14(described)m 14(by)m 14 r 84 c -2(ype)m 12 r 50 c 14(external)m 14(metrics,)m 15(the)m 13(cost)m 14(advertised)m 14(by)m 14(the)m 14(advertising)m 13(AS)m 14(boundary)m 104 1213 p (router\(s\).)s 0 1320 p (Multiple)s 9(equal-cost)m 10(paths)m 9(to)m 9 r 97 c 9(destination)m 10(are)m 9(stored)m 9(when)m 10(they)m 9(exist.)m 13(All)m 10(these)m 9(paths)m 9(must)m 9(be)m 10(associated)m 9(with)m 9(the)m 10(same)m 0 1370 p (area.)s 14(Each)m 10(one)m 11(of)m 10(the)m 11(paths)m 10(is)m 10(further)m 11(described)m 10(by)m 11(the)m 10(\014elds:)m t-bol.300 @sf 0 1477 p (Next)s 10(hop)m t-rom.300 @sf 21(The)m 11(router)m 12(interface)m 11(to)m 11(use)m 12(when)m 11(forwarding)m 11(traf)m (\014c)s 11(to)m 11(the)m 11(destination.)m 17(On)m 11(multi-access)m 11(networks,)m 12(the)m 11(next)m 104 1527 p (hop)s 10(also)m 11(includes)m 11(the)m 11(IP)m 10(address)m 11(of)m 11(the)m 10(next)m 11(router)m 11(\(if)m 10(any\))m 11(in)m 11(the)m 11(path)m 10(towards)m 11(the)m 11(destination.)m 14(This)m 11(next)m 11(router)m 104 1577 p (will)s 10(always)m 11(be)m 10(one)m 10(of)m 11(the)m 10(adjacent)m 11(neighbors.)m t-bol.300 @sf 0 1659 p (Advertising)s 10 r 114 c (outer)s t-rom.300 @sf 20 r 86 c -3(alid)m 10(only)m 12(for)m 12(inter)m (-area)s 11(and)m 11(AS)m 12(external)m 12(paths.)m 17(This)m 12(\014eld)m 12(indicates)m 11(the)m 12(Router)m 12(ID)m 11(of)m 12(the)m 12(router)m 104 1709 p (advertising)s 10(the)m 11(summary)m 10(link)m 10(or)m 11(external)m 10(link)m 11(that)m 10(led)m 11(to)m 10(this)m 10(path.)m t-bol.360 @sf 0 1845 p 49 c -2(1.1)m 49 r 84 c -2(wo)m 11(examples)m t-rom.300 @sf 0 1940 p (The)s 9(following)m 9(two)m 9(examples)m 9(are)m 8(based)m 9(on)m 9(the)m 9(network)m 9(map)m 9(presented)m 9(in)m 9(Figure)m 9(2.)m 13(The)m 9(corresponding)m 9(directed)m 9(graph)m 9(is)m 0 1990 p (shown)s 11(in)m 10(Figure)m 11(3.)m 15(Note)m 10(that)m 11(both)m 11(of)m 11(these)m 10(\014gures)m 11(show)m 11 r 97 c 10(single)m 11(metric)m 11(per)m 10(outbound)m 11(interface,)m 11(indicating)m 10(that)m 11(routes)m 0 2040 p (will)s 10(not)m 11(vary)m 10(based)m 11(on)m 10 r 84 c (OS.)s 0 2107 p (First,)s 12(assume)m 12(that)m 12(no)m 12(areas)m 12(are)m 12(con\014gured.)m 19(All)m 12(networks)m 12(and)m 12(routers)m 12(belong)m 12(to)m 12(the)m 12(backbone.)m 18(The)m 12(calculation)m 12(of)m 12(the)m 0 2156 p (routing)s 13(table)m 14(for)m 13(router)m 13 r 82 c -1(T6)m 12(proceeds)m 13(as)m 14(described)m 13(in)m 13(Section)m 14(2.1.)m 22(The)m 14(resulting)m 13(routing)m 13(table)m 14(is)m 13(shown)m 13(in)m 14 r 84 c -2(able)m 12(6.)m 0 2206 p (Destination)s 11(types)m 11(are)m 11(abbreviated:)m 14(Network)m 11(as)m 11(\\N",)m 11(area)m 11(border)m 11(router)m 11(as)m 11(\\BR")m 11(and)m 10(AS)m 11(boundary)m 11(router)m 11(as)m 11(\\ASBR".)m 0 2256 p (Intra-area)s 13(paths)m 13(are)m 13(indicated)m 13(by)m 13(the)m 13(value)m 13 r 49 c 13(in)m 12(the)m 13(path)m 13(type)m 13(\014eld,)m 14(inter)m (-area)s 12(paths)m 13(by)m 13(the)m 13(value)m 13(2,)m 13(and)m 13(AS)m 13(external)m 0 2306 p (paths)s 10(by)m 11(the)m 10(value)m 11(3.)m 0 2373 p (Since)s 13(there)m 12(are)m 13(no)m 12(areas)m 13(in)m 12(this)m 13(\014rst)m 12(example,)m 14(there)m 12(are)m 13(no)m 12(inter)m (-area)s 12(paths.)m 20(Routers)m 13 r 82 c -2(T5)m 12(and)m 12 r 82 c -1(T7)m 12(are)m 12(AS)m 13(boundary)m 0 2423 p (routers.)s 17(They)m 12(are)m 12(both)m 11(assumed)m 12(to)m 11(be)m 12(advertising)m 12 r 84 c -2(ype)m 10 r 49 c 12(external)m 11(metrics.)m 18(In)m 11(this)m 12(example,)m 12(there)m 12(are)m 11(no)m 12(instances)m 11(of)m 0 2473 p (multiple)s 10(equal-cost)m 11(shortest)m 10(paths.)m 0 2549 p (Next,)s 11(assume)m 11(that)m 11(areas)m 11(have)m 10(been)m 11(con\014gured)m 11(as)m 11(in)m 11(Figure)m 11(6.)m 15(The)m 11(following)m 11(example)m 10(describes)m 11(Router)m 11 r 82 c -1(T4')m -3 r 115 c 10(routing)m 0 2599 p (table)s 14(for)m 13(this)m 14(area)m 14(con\014guration.)m 24(Router)m 14 r 82 c -2(T4)m 13(has)m 14 r 97 c 13(connection)m 14(to)m 14(Area)m 14 r 49 c 13(and)m 14 r 97 c 14(backbone)m 14(connection.)m 23(This)m 14(causes)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(51)m @eop 50 @bop0 50 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 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 304 p (The)s 12(routing)m 12(table)m 11(data)m 12(structure)m 12(contains)m 12(all)m 11(the)m 12(information)m 12(necessary)m 12(to)m 12(forward)m 11(an)m 12(IP)m 12(data)m 12(packet)m 11(toward)m 12(its)m 12(desti-)m 0 354 p (nation.)s 14(Each)m 10(routing)m 10(table)m 10(entry)m 10(describes)m 10(the)m 10(collection)m 10(of)m 10(best)m 10(paths)m 10(to)m 10 r 97 c 10(particular)m 10(destination.)m 13(When)m 10(forwarding)m 10(an)m 0 404 p (IP)s 11(data)m 10(packet,)m 11(the)m 10(routing)m 11(table)m 11(entry)m 10(providing)m 11(the)m 10(best)m 11(match)m 10(for)m 11(the)m 11(packet')m -2 r 115 c 10(IP)m 10(destination)m 11(is)m 11(located.)m 14(The)m 11(routing)m 0 453 p (table)s 11(entry)m 11(indicates)m 11(the)m 11(next)m 11(hop)m 11(towards)m 11(the)m 11(packet')m -1 r 115 c 10(destination.)m 16(OSPF)m 11(also)m 11(provides)m 11(for)m 11(the)m 11(existence)m 11(of)m 11 r 97 c 11(default)m 0 503 p (route)s 12(\(Destination)m 13(ID)m 12 r 61 c 13(DefaultDestination\).)m 20(When)m 12(the)m 13(default)m 12(route)m 13(exists,)m 13(it)m 12(matches)m 13(all)m 12(IP)m 13(destinations)m 12(\(although)m 0 553 p (any)s 10(other)m 11(matching)m 10(entry)m 11(is)m 10 r 97 c 10(better)m 11(match\).)m 0 619 p (There)s 11(is)m 11 r 97 c 10(single)m 11(routing)m 11(table)m 11(in)m 11(each)m 10(router)m 44 c 10(built)m 10(out)m 11(of)m 11(the)m 11(link)m 11(state)m 10(information)m 11(obtained)m 11(from)m 11(each)m 10(attached)m 11(area.)m 0 669 p 65 c 12(router)m 11(begins)m 12(building)m 12(its)m 11(routing)m 12(table)m 11(by)m 12(examining)m 12(the)m 11(topological)m 12(database)m 12(\(router)m 11(links)m 12(and)m 12(network)m 11(links\))m 12(for)m 0 718 p (each)s 12(attached)m 12(area.)m 18(From)m 12(these)m 12(databases,)m 12(the)m 12(router)m 11(constructs)m 12 r 97 c 12(shortest-path)m 12(tree)m 12(for)m 12(each)m 12(area,)m 12(with)m 12(itself)m 11(as)m 12(each)m 0 768 p (tree')s -1 r 115 c 9(root.)m 14(This)m 10(yields)m 10(the)m 10(set)m 10(of)m 10(known)m 10(intra-area)m 10(routes.)m 14 r 65 c 10(byproduct)m 10(of)m 10(this)m 11(calculation)m 10(is)m 10(the)m 10(distance)m 10(to)m 10(all)m 10(routers)m 0 818 p (in)s 10(the)m 11(attached)m 10(areas.)m 0 884 p (In)s 14(particular)m -1 r 44 c 13(the)m 14(distance)m 13(to)m 14(all)m 13(area)m 14(border)m 14(routers)m 13(is)m 14(discovered.)m 23(By)m 14(examining)m 13(the)m 14(summary)m 13(link)m 14(advertisements)m 0 934 p (originated)s 12(by)m 12(these)m 12(area)m 12(border)m 11(routers,)m 13(all)m 12(inter)m (-area)s 11(routes)m 12(are)m 12(discovered,)m 12(as)m 12(well)m 12(as)m 11(the)m 12(routes)m 12(to)m 12(all)m 12(AS)m 12(boundary)m 0 984 p (routers.)s 28(Finally)m -1 r 44 c 15(by)m 15(examining)m 15(the)m 16(AS)m 15(external)m 15(link)m 15(advertisements)m 15(originated)m 16(by)m 15(these)m 15(AS)m 15(boundary)m 15(routers,)m 17(the)m 0 1033 p (complete)s 10(set)m 11(of)m 10(routes)m 11(is)m 10(discovered.)m 14(The)m 10(building)m 11(of)m 10(the)m 11(routing)m 10(table)m 10(is)m 11(discussed)m 10(in)m 11(greater)m 10(detail)m 11(in)m 10(Section)m 10(16.)m 0 1099 p (Some)s 11(of)m 11(the)m 11(routing)m 11(table)m 11(entries)m 11(describe)m 11(intermediate)m 11(destinations)m 11(used)m 11(in)m 10(the)m 11(construction)m 11(of)m 11(the)m 11(routing)m 11(table,)m 11(i.e.,)m 0 1149 p (the)s 11(area)m 12(border)m 11(routers)m 11(and)m 12(the)m 11(AS)m 11(boundary)m 12(routers.)m 16 r 65 c 11(routing)m 12(table)m 11(entry)m 11(can)m 12(be)m 11(identi\014ed)m 11(by)m 12 r 97 c 11(combination)m 11(of)m 12(the)m 0 1199 p (following)s 10(\014elds:)m t-bol.300 @sf 0 1302 p (Destination)s 10 r 84 c -2(ype)m t-rom.300 @sf 20(The)m 14(destination)m 15(can)m 14(be)m 14(one)m 15(of)m 14(three)m 14(types.)m 26(Only)m 14(the)m 15(\014rst)m 14(type,)m 15(Network,)m 16(is)m 14(actually)m 14(used)m 15(when)m 104 1352 p (forwarding)s 10(IP)m 11(data)m 10(traf)m (\014c.)s 13(The)m 11(other)m 10(destinations)m 10(are)m 11(used)m 10(solely)m 11(by)m 10(the)m 10(routing)m 11(table)m 10(build)m 11(process:)m t-bol.300 @sf 104 1433 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 1483 p (A,)s 11(B,)m 10(or)m 10(C\),)m 11(IP)m 10(subnets,)m 11(and)m 10(single)m 10(IP)m 11(hosts.)m 14(The)m 10(default)m 11(route)m 10(also)m 10(falls)m 11(in)m 10(this)m 11(category)m -2 r 46 c t-bol.300 @sf 104 1548 p (Ar)s (ea)s 9(border)m 11 r 114 c (outer)s t-rom.300 @sf 20(Routers)m 11(that)m 11(are)m 11(connected)m 11(to)m 11(multiple)m 11(OSPF)m 11(areas.)m 15(Such)m 11(routers)m 11(originate)m 11(summary)m 11(link)m 195 1598 p (advertisements.)s 14(These)m 10(routing)m 10(table)m 11(entries)m 10(are)m 10(used)m 10(when)m 11(calculating)m 10(the)m 10(inter)m (-area)s 10(routes.)m 13(These)m 11(routing)m 195 1647 p (table)s 11(entries)m 10(may)m 10(also)m 11(be)m 10(associated)m 11(with)m 10(con\014gured)m 10(virtual)m 11(links.)m t-bol.300 @sf 104 1712 p (AS)s 10(boundary)m 11 r 114 c (outer)s t-rom.300 @sf 20(Routers)m 12(that)m 13(originate)m 13(AS)m 13(external)m 13(link)m 13(advertisements.)m 21(These)m 12(routing)m 13(table)m 13(entries)m 13(are)m 195 1762 p (used)s 11(when)m 10(calculating)m 10(the)m 11(AS)m 10(external)m 11(routes.)m t-bol.300 @sf 0 1843 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 14(This)m 10(depends)m 11(on)m 10(the)m 11(destination')m -2 r 115 c 10(type.)m 14(For)m 11(networks,)m 10(the)m 11(iden-)m 104 1893 p (ti\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 1642 1878 p 57 c t-bol.300 @sf 0 1974 p (Addr)s (ess)s 10(Mask)m t-rom.300 @sf 20(Only)m 12(de\014ned)m 11(for)m 11(networks.)m 16(The)m 12(network')m -2 r 115 c 11(IP)m 11(address)m 11(together)m 11(with)m 11(its)m 12(address)m 11(mask)m 11(de\014nes)m 11 r 97 c 11(range)m 104 2024 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 2074 p (\\all)s 10(ones")m 11 r 40 c c-med.300 @sf (0xffffffff)s t-rom.300 @sf (\).)s t-bol.300 @sf 0 2155 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 t-bol.300 @sf 0 2237 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 2287 p (This)s 9(is)m 9(called)m 9(the)m 9(entry')m -1 r 115 c 8(associated)m 10(area.)m 13(For)m 9(sets)m 9(of)m 10(AS)m 9(external)m 9(paths,)m 9(this)m 9(\014eld)m 10(is)m 9(not)m 9(de\014ned.)m 13(For)m 10(destinations)m 104 2336 p (of)s 12(type)m 12(\\area)m 13(border)m 12(router)m 2(",)m 12(there)m 13(may)m 12(be)m 12(separate)m 13(sets)m 12(of)m 12(paths)m 13(\(and)m 12(therefore)m 12(separate)m 13(routing)m 12(table)m 12(entries\))m 104 2386 p (associated)s 13(with)m 12(each)m 13(of)m 13(several)m 13(areas.)m 21(This)m 12(will)m 13(happen)m 13(when)m 13(two)m 12(area)m 13(border)m 13(routers)m 13(share)m 12(multiple)m 13(areas)m 13(in)m 104 2436 p (common.)s 16(For)m 12(all)m 11(other)m 12(destination)m 11(types,)m 11(only)m 12(the)m 11(set)m 11(of)m 12(paths)m 11(associated)m 12(with)m 11(the)m 11(best)m 12(area)m 11(\(the)m 11(one)m 12(providing)m 104 2486 p (the)s 10(shortest)m 11(route\))m 10(is)m 10(kept.)m 0 2520 p 780 2 ru t-rom.180 @sf 45 2547 p 57 c t-rom.240 @sf 60 2559 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 2599 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(50)m @eop 49 @bop0 49 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 7564902 9275228 30720081 43942215 startTexFig %!PS-Adobe-1.0 %%Title: figure14.fig %%Creator: /usr/local/bin/f2ps %%CreationDate: Fri Aug 18 13:33:12 1989 %%For: jmoy@garland.proteon.com (Mohsin Lari) %%Pages: 1 %%BoundingBox: 115 141 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 1716(Page)m 12(49)m @eop 48 @bop0 48 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (transitions)s 12(into)m t-bol.300 @sf 11(Exchange)m t-rom.300 @sf 12(state\))m 12(is)m 11(listed)m 12(in)m 12(the)m 11(neighbor)m t-bol.300 @sf 12(Database)m 12(summary)m 11(list)m t-rom.300 @sf 46 c 18(When)m 12 r 97 c 12(new)m 11(packet)m 12(is)m 12(to)m 11(be)m 12(sent,)m 0 245 p (the)s 13(sequence)m 14(number)m 13(is)m 14(incremented,)m 14(and)m 13(the)m 14(\(new\))m 13(top)m 13(of)m 14(the)m t-bol.300 @sf 13(Database)m 14(summary)m 13(list)m t-rom.300 @sf 13(is)m 14(described)m 13(by)m 14(the)m 13(packet.)m 0 295 p (Items)s 10(are)m 11(removed)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(when)m 11(the)m 10(previous)m 11(packet)m 10(is)m 10(acknowledged.)m 0 362 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(packet)m 11(depends)m 10(on)m 10(whether)m 11(the)m 10(router)m 11(is)m 10(master)m 10(or)m 11(slave:)m t-bol.300 @sf 0 472 p (Master)s t-rom.300 @sf 21(Packets)m 12(are)m 13(sent)m 12(when)m 12(either)m 13(a\))m 12(the)m 13(slave)m 12(acknowledges)m 12(the)m 13(previous)m 12(packet)m 12(by)m 13(echoing)m 12(the)m 13(sequence)m 12(num-)m 148 521 p (ber)s 15(or)m 15(b\))m 14(RxmtInterval)m 15(seconds)m 15(elapse)m 15(without)m 14(an)m 15(acknowledgment,)m 16(in)m 15(which)m 14(case)m 15(the)m 15(previous)m 15(packet)m 14(is)m 148 571 p (retransmitted.)s t-bol.300 @sf 0 654 p (Slave)s t-rom.300 @sf 53(Packets)m 10(are)m 10(sent)m 10(only)m 10(in)m 10(response)m 10(to)m 10(packets)m 10(received)m 10(from)m 10(the)m 10(master)m -2 r 46 c 13(If)m 10(the)m 10(packet)m 10(received)m 10(from)m 10(the)m 10(master)m 148 704 p (is)s 10(new)m -1 r 44 c 9 r 97 c 11(new)m 10(packet)m 10(is)m 11(sent,)m 10(otherwise)m 11(the)m 10(previous)m 10(packet)m 11(is)m 10(resent.)m 0 813 p (In)s 13(states)m t-bol.300 @sf 13(Loading)m t-rom.300 @sf 13(and)m t-bol.300 @sf 13(Full)m t-rom.300 @sf 13(the)m 14(slave)m 13(must)m 13(resend)m 13(its)m 13(last)m 13(packet)m 13(in)m 13(response)m 13(to)m 13(duplicate)m 14(packets)m 13(received)m 13(from)m 13(the)m 0 863 p (master)s -1 r 46 c 12(For)m 10(this)m 10(reason)m 10(the)m 10(slave)m 10(must)m 10(wait)m 10(RouterDeadInterval)m 10(seconds)m 10(before)m 10(freeing)m 10(the)m 10(last)m 10(packet.)m 14(Reception)m 10(of)m 10 r 97 c 0 913 p (packet)s 10(from)m 11(the)m 10(master)m 11(after)m 10(this)m 10(interval)m 11(will)m 10(generate)m 11 r 97 c t-bol.300 @sf 10(Seq)m 11(Number)m 10(Mismatch)m t-rom.300 @sf 10(neighbor)m 11(event.)m t-bol.360 @sf 0 1050 p (10.9)s 50(Sending)m 12(Link)m 13(State)m 12(Request)m 13(Packets)m t-rom.300 @sf 0 1145 p (When)s 9(the)m 10(neighbor)m 9(enters)m 10(the)m 9(state)m t-bol.300 @sf 10(Loading)m t-rom.300 @sf 44 c 10(the)m 9(link)m 10(state)m 9(request)m 10(list)m 9(contains)m 10 r 97 c 9(list)m 10(of)m 9(those)m 9(link)m 10(state)m 9(advertisements)m 0 1195 p (that)s 10(should)m 10(be)m 10(obtained)m 10(from)m 11(the)m 10(neighbor)m -2 r 46 c 13(The)m 10(beginning)m 10(of)m 11(this)m 10(list)m 10(is)m 10(packaged)m 10(into)m 10 r 97 c 10(Link)m 10(State)m 10(Request)m 11(packet)m 10(for)m 0 1245 p (transmission)s 10(to)m 11(the)m 10(neighbor)m -1 r 46 c 0 1313 p (When)s 9(the)m 9(neighbor)m 9(satis\014es)m 9(this)m 9(request)m 9(by)m 9(sending)m 9(the)m 9(proper)m 9(Link)m 9(State)m 9(Update)m 9(packet\(s\),)m 9(the)m 9(link)m 9(state)m 9(request)m 9(list)m 9(is)m 0 1362 p (truncated)s 10(accordingly)m 11(and)m 10 r 97 c 10(new)m 11(Link)m 10(State)m 10(Request)m 11(packet)m 10(is)m 10(sent.)m 14(Unsatis\014ed)m 11(Link)m 10(State)m 10(Requests)m 11(are)m 10(retransmitted)m 0 1412 p (at)s 10(intervals)m 11(of)m 10(RxmtInterval.)m 14(There)m 11(should)m 10(be)m 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 1480 p (When)s 10(the)m 11(link)m 10(state)m 11(request)m 10(list)m 10(becomes)m 11(empty)m -2 r 44 c 10(the)m t-bol.300 @sf 10(Loading)m 10(Done)m t-rom.300 @sf 11(neighbor)m 10(event)m 11(is)m 10(generated.)m t-bol.360 @sf 0 1616 p (10.10)s 50(An)m 12(Example)m t-rom.300 @sf 0 1712 p (Figure)s 7(14)m 8(shows)m 7(an)m 7(example)m 8(of)m 7(an)m 7(adjacency)m 8(forming.)m 13(Routers)m 7 r 82 c -1(T1)m 6(and)m 7 r 82 c -1(T2)m 6(are)m 7(both)m 8(connected)m 7(to)m 8 r 97 c 7(broadcast)m 7(network.)m 0 1762 p (It)s 10(is)m 10(assumed)m 10(that)m 9 r 82 c -1(T2)m 9(is)m 10(the)m 10(Designated)m 9(Router)m 10(for)m 10(the)m 10(network,)m 10(and)m 10(that)m 10 r 82 c -2(T2)m 9(has)m 10 r 97 c 10(higher)m 10(Router)m 9(ID)m 10(that)m 10(router)m 10 r 82 c -2(T1.)m 0 1830 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 1897 p (At)s 12(the)m 12(beginning)m 12(of)m 12(Figure)m 13(14,)m 12(router)m 12 r 82 c -1(T1')m -3 r 115 c 12(interface)m 12(to)m 12(the)m 12(network)m 12(becomes)m 12(operational.)m 19(It)m 12(begins)m 12(sending)m 12(hellos,)m 0 1947 p (although)s 10(it)m 10(doesn')m 116 c 10(know)m 10(the)m 10(identity)m 10(of)m 10(the)m 10(Designated)m 10(Router)m 11(or)m 10(of)m 10(any)m 10(other)m 10(neighboring)m 10(routers.)m 14(Router)m 10 r 82 c -1(T2)m 9(hears)m 0 1997 p (this)s 11(hello)m 10(\(moving)m 11(the)m 11(neighbor)m 10(to)m t-bol.300 @sf 11(Init)m t-rom.300 @sf 11(state\),)m 11(and)m 10(in)m 11(its)m 11(next)m 10(hello)m 11(indicates)m 11(that)m 10(it)m 11(is)m 11(itself)m 10(the)m 11(Designated)m 11(Router)m 10(and)m 0 2047 p (that)s 10(it)m 9(has)m 10(heard)m 9(hellos)m 10(from)m 10 r 82 c -2(T1.)m 13(This)m 9(in)m 10(turn)m 9(causes)m 10 r 82 c -1(T1)m 8(to)m 10(go)m 9(to)m 10(state)m t-bol.300 @sf 10(ExStart)m t-rom.300 @sf 44 c 9(as)m 10(it)m 10(starts)m 9(to)m 10(bring)m 9(up)m 10(the)m 9(adjacency)m -1 r 46 c 0 2114 p 82 c -2(T1)m 10(begins)m 10(by)m 10(asserting)m 10(itself)m 10(as)m 10(the)m 10(master)m -1 r 46 c 13(When)m 10(it)m 10(sees)m 10(that)m 10 r 82 c -1(T2)m 9(is)m 10(indeed)m 10(the)m 10(master)m 44 c 9 r 82 c -2(T1)m 9(transitions)m 11(to)m 10(slave)m 10(state)m 0 2164 p (and)s 8(adopts)m 9(its)m 8(neighbor)m 2 r 39 c -1 r 115 c 7(sequence)m 8(number)m -1 r 46 c 12(Database)m 9(Description)m 8(packets)m 9(are)m 8(then)m 9(exchanged,)m 8(with)m 9(polls)m 8(coming)m 9(from)m 0 2214 p (the)s 9(master)m 10(\(R)m -2(T2\))m 8(and)m 10(responses)m 9(from)m 9(the)m 10(slave)m 9(\(R)m -1(T1\).)m 12(This)m 9(sequence)m 10(of)m 9(Database)m 9(Description)m 10(Packets)m 9(ends)m 9(when)m 10(both)m 0 2264 p (the)s 10(poll)m 11(and)m 10(associated)m 11(response)m 10(has)m 10(the)m 11(M-bit)m 10(of)m (f.)s 0 2332 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 2381 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 2431 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(48)m @eop 47 @bop0 47 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m cmsy10.300 @sf 154 195 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(Seq)m 11(Number)m 10(Mismatch)m t-rom.300 @sf 11(and)m 10(stop)m 11(processing)m 10(the)m 10(packet.)m t-bol.300 @sf 0 285 p (Loading)s 10(or)m 11(Full)m t-rom.300 @sf 21(In)m 14(this)m 15(state,)m 16(the)m 14(router)m 15(has)m 15(sent)m 14(and)m 15(received)m 15(an)m 14(entire)m 15(sequence)m 15(of)m 14(Database)m 15(Descriptions.)m 26(The)m 104 335 p (only)s 13(packets)m 14(received)m 13(should)m 14(be)m 13(duplicates)m 13(\(see)m 14(above\).)m 23(Any)m 13(other)m 14(packets)m 13(received,)m 14(including)m 14(the)m 13(reception)m 104 385 p (of)s 11 r 97 c 11(packet)m 11(with)m 11(the)m 12(Initialize\(I\))m 11(bit)m 11(set,)m 11(should)m 12(generate)m 11(the)m 11(neighbor)m 11(event)m t-bol.300 @sf 11(Seq)m 11(Number)m 12(Mismatch)m t-rom.300 @sf 46 c t-rom.210 @sf 1808 370 p 56 c t-rom.300 @sf 1841 385 p (Dupli-)s 104 435 p (cates)s 12(should)m 13(be)m 12(discarded)m 12(by)m 13(the)m 12(master)m -1 r 46 c 19(The)m 12(slave)m 12(must)m 13(respond)m 12(to)m 13(duplicates)m 12(by)m 12(repeating)m 13(the)m 12(last)m 13(Database)m 104 484 p (Description)s 10(packet)m 11(that)m 10(it)m 10(sent.)m 0 590 p (When)s 11(the)m 11(router)m 11(accepts)m 11 r 97 c 11(received)m 11(Database)m 11(Description)m 11(Packet)m 11(as)m 11(the)m 11(next)m 11(in)m 11(sequence)m 11(the)m 11(packet)m 11(contents)m 11(are)m 11(pro-)m 0 640 p (cessed)s 12(as)m 11(follows.)m 18(For)m 12(each)m 11(link)m 12(state)m 12(advertisement)m 11(listed,)m 12(the)m 12(router)m 12(looks)m 11(in)m 12(its)m 12(database)m 11(to)m 12(see)m 12(whether)m 11(it)m 12(also)m 12(has)m 0 690 p (an)s 11(instantiation)m 10(of)m 11(the)m 10(link)m 11(state)m 10(advertisement.)m 15(If)m 10(it)m 11(does)m 10(not,)m 11(or)m 11(if)m 10(the)m 11(database)m 10(copy)m 11(is)m 10(less)m 11(recent)m 11(\(see)m 10(Section)m 11(13.1\),)m 0 740 p (the)s 11(link)m 10(state)m 11(advertisement)m 10(is)m 11(put)m 11(on)m 10(the)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (equest)s 10(list)m t-rom.300 @sf 10(so)m 11(that)m 11(it)m 10(can)m 11(be)m 10(requested)m 11(when)m 11(the)m 10(neighbor)m 2 r 39 c -2 r 115 c 10(state)m 0 790 p (transitions)s 10(to)m t-bol.300 @sf 11(Loading)m t-rom.300 @sf 46 c 0 856 p (When)s 8(the)m 9(router)m 8(accepts)m 9 r 97 c 8(received)m 9(Database)m 8(Description)m 9(Packet)m 8(as)m 9(the)m 8(next)m 9(in)m 8(sequence,)m 9(it)m 9(also)m 8(performs)m 9(the)m 8(following)m 0 906 p (actions,)s 10(depending)m 11(on)m 10(whether)m 11(it)m 10(is)m 10(master)m 11(or)m 10(slave:)m t-bol.300 @sf 0 1012 p (Master)s t-rom.300 @sf 21(Increments)m 10(the)m 10(sequence)m 11(number)m -1 r 46 c 12(If)m 11(the)m 10(router)m 11(has)m 10(already)m 10(sent)m 11(its)m 10(entire)m 10(sequence)m 11(of)m 10(Database)m 10(Descriptions,)m 148 1062 p (and)s 11(the)m 11(just)m 11(accepted)m 11(packet)m 11(has)m 11(the)m 11(more)m 11(bit)m 11(\(M\))m 11(set)m 11(to)m 11(0,)m 12(the)m 11(neighbor)m 11(event)m t-bol.300 @sf 11(Exchange)m 11(Done)m t-rom.300 @sf 11(is)m 11(generated.)m 148 1112 p (Otherwise,)s 10(it)m 11(should)m 10(send)m 11 r 97 c 10(new)m 11(Database)m 10(Description)m 10(to)m 11(the)m 10(slave.)m t-bol.300 @sf 0 1194 p (Slave)s t-rom.300 @sf 53(Sets)m 12(the)m 11(sequence)m 12(number)m 12(to)m 11(the)m 12(sequence)m 12(number)m 11(appearing)m 12(in)m 12(the)m 11(received)m 12(packet.)m 18(The)m 11(slave)m 12(must)m 11(send)m 12 r 97 c 148 1244 p (Database)s 11(Description)m 11(in)m 10(reply)m -1 r 46 c 14(If)m 11(the)m 10(received)m 11(packet)m 11(has)m 11(the)m 10(more)m 11(bit)m 11(\(M\))m 11(set)m 11(to)m 10(0,)m 11(and)m 11(the)m 11(packet)m 11(to)m 11(be)m 10(sent)m 148 1294 p (by)s 10(the)m 10(slave)m 11(will)m 10(have)m 10(the)m 10(M-bit)m 10(set)m 10(to)m 11 r 48 c 10(also,)m 10(the)m 10(neighbor)m 10(event)m t-bol.300 @sf 11(Exchange)m 10(Done)m t-rom.300 @sf 10(is)m 10(generated.)m 14(Note)m 10(that)m 10(the)m 148 1343 p (slave)s 10(always)m 11(generates)m 10(this)m 11(event)m 10(\014rst.)m t-bol.360 @sf 0 1479 p (10.7)s 50(Receiving)m 12(Link)m 13(State)m 12(Request)m 13(Packets)m t-rom.300 @sf 0 1573 p (This)s 13(section)m 12(explains)m 13(the)m 13(detailed)m 13(processing)m 12(of)m 13(received)m 13(Link)m 13(State)m 12(Request)m 13(packets.)m 21(Received)m 13(Link)m 12(State)m 13(Request)m 0 1623 p (Packets)s 14(specify)m 14 r 97 c 15(list)m 14(of)m 14(link)m 14(state)m 14(advertisements)m 15(that)m 14(the)m 14(neighbor)m 14(wishes)m 14(to)m 15(receive.)m 25(Link)m 14(state)m 14(Request)m 14(Packets)m 0 1673 p (should)s 14(be)m 13(accepted)m 14(by)m 14(the)m 14(master)m 13(when)m 14(the)m 14(neighbor)m 14(is)m 13(in)m 14(states)m t-bol.300 @sf 14(Exchange)m t-rom.300 @sf 44 c t-bol.300 @sf 14(Loading)m t-rom.300 @sf 44 c 15(or)m t-bol.300 @sf 14(Full)m t-rom.300 @sf 46 c 24(Link)m 13(state)m 14(Request)m 0 1723 p (Packets)s 11(should)m 10(be)m 11(accepted)m 10(by)m 11(the)m 10(slave)m 11(when)m 10(the)m 11(neighbor)m 10(is)m 11(in)m 10(states)m t-bol.300 @sf 11(Loading)m t-rom.300 @sf 10(or)m t-bol.300 @sf 11(Full)m t-rom.300 @sf 46 c 14(In)m 10(all)m 11(other)m 10(states)m 11(Link)m 10(State)m 0 1773 p (requests)s 10(should)m 11(be)m 10(ignored.)m 0 1839 p (Each)s 9(link)m 9(state)m 8(advertisement)m 9(speci\014ed)m 9(in)m 9(the)m 8(Link)m 9(State)m 9(Request)m 9(packet)m 9(should)m 8(be)m 9(located)m 9(in)m 9(the)m 8(router)m 2 r 39 c -1 r 115 c 7(database,)m 10(and)m 0 1889 p (copied)s 11(into)m 11(Link)m 11(State)m 11(Update)m 11(packets)m 11(for)m 11(transmission)m 11(to)m 11(the)m 11(neighbor)m -1 r 46 c 14(These)m 11(link)m 11(state)m 11(advertisements)m 11(should)m 11(NOT)m 0 1939 p (be)s 11(placed)m 10(on)m 11(the)m t-bol.300 @sf 10(Link)m 11(state)m 11 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 10(for)m 11(the)m 10(neighbor)m -1 r 46 c 14(If)m 10 r 97 c 11(link)m 10(state)m 11(advertisement)m 11(cannot)m 10(be)m 11(found)m 10(in)m 11(the)m 0 1989 p (database,)s 12(something)m 12(has)m 12(gone)m 12(wrong)m 12(with)m 12(the)m 12(synchronization)m 12(procedure,)m 12(and)m 12(neighbor)m 12(event)m t-bol.300 @sf 12(BadLSReq)m t-rom.300 @sf 12(should)m 12(be)m 0 2039 p (generated.)s t-bol.360 @sf 0 2174 p (10.8)s 50(Sending)m 12(Database)m 13(Description)m 12(Packets)m t-rom.300 @sf 0 2269 p (This)s 9(section)m 9(describes)m 9(how)m 8(Database)m 9(Description)m 9(Packets)m 9(are)m 9(sent)m 9(to)m 9 r 97 c 9(neighbor)m -2 r 46 c 13(The)m 8(sending)m 9(of)m 9(these)m 9(packets)m 9(depends)m 0 2319 p (on)s 11(the)m 11(neighbor)m 1 r 39 c -1 r 115 c 10(state.)m 16(In)m 10(state)m t-bol.300 @sf 11(ExStart)m t-rom.300 @sf 11(the)m 11(router)m 11(sends)m 11(empty)m 11(Database)m 11(Description)m 11(packets,)m 11(with)m 11(the)m 11(initialize)m 11(\(I\),)m 0 2368 p (more)s 10(\(M\))m 11(and)m 10(master)m 11(\(MS\))m 10(bits)m 10(set.)m 14(These)m 11(packets)m 10(are)m 11(retransmitted)m 10(every)m 10(RxmtInterval)m 11(seconds.)m 0 2435 p (In)s 8(state)m t-bol.300 @sf 8(Exchange)m t-rom.300 @sf 8(the)m 8(Database)m 8(Description)m 8(Packets)m 8(actually)m 8(contain)m 8(summaries)m 8(of)m 7(the)m 8(link)m 8(state)m 8(information)m 8(contained)m 0 2485 p (in)s 14(the)m 14(router)m 1 r 39 c -1 r 115 c 13(database.)m 24(Each)m 14(link)m 14(state)m 14(advertisement)m 14(in)m 14(the)m 13(area')m -1 r 115 c 13(topological)m 14(database)m 14(\(at)m 14(the)m 13(time)m 14(the)m 14(neighbor)m 0 2520 p 780 2 ru 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(Seq)m 8(Number)m 9(Mismatch)m t-rom.240 @sf 8(event,)m 8(and)m 9(therefore)m 8(to)m 8(also)m 9(go)m 8(back)m 8(to)m t-bol.240 @sf 9(ExStart)m t-rom.240 @sf 8(state.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(47)m @eop 46 @bop0 46 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m cmsy10.300 @sf 62 195 p 15 c t-rom.300 @sf 21(Finally)m -2 r 44 c 10(the)m 11(Backup)m 11(Designated)m 10(Router)m 11(\014eld)m 11(in)m 11(the)m 10(Hello)m 11(Packet)m 11(is)m 11(examined.)m 15(If)m 10(the)m 11(neighbor)m 11(is)m 11(declaring)m 10(itself)m 104 245 p (to)s 11(be)m 12(backup)m 12(Designated)m 12(Router)m 11(\(backup)m 12(Designated)m 12(Router)m 12(\014eld)m 11 r 61 c 12(neighbor)m 12(ID\))m 11(and)m 12(it)m 12(had)m 12(not)m 11(previously)m -1 r 44 c 11(or)m 104 295 p (the)s 10(neighbor)m 11(is)m 10(not)m 11(declaring)m 11(itself)m 10(backup)m 11(Designated)m 10(Router)m 11(where)m 10(it)m 11(had)m 10(previously)m -1 r 44 c 9(the)m 11(receiving)m 10(interface')m -1 r 115 c 104 345 p (state)s 11(machine)m 11(is)m t-ita.300 @sf 12(scheduled)m t-rom.300 @sf 11(with)m 11(the)m 12(event)m t-bol.300 @sf 11(NeighborChange)m t-rom.300 @sf 46 c 17(In)m 11(any)m 11(case,)m 12(the)m 11(Backup)m 11(Designated)m 12(Router)m 11(item)m 104 394 p (in)s 10(the)m 11(neighbor)m 10(structure)m 10(is)m 11(set)m 10(accordingly)m -1 r 46 c t-bol.360 @sf 0 531 p (10.6)s 50(Receiving)m 12(Database)m 13(Description)m 12(Packets)m t-rom.300 @sf 0 627 p (This)s 15(section)m 15(explains)m 15(the)m 15(detailed)m 15(processing)m 15(of)m 15 r 97 c 15(received)m 15(Database)m 15(Description)m 15(packet.)m 27(The)m 15(incoming)m 15(Database)m 0 676 p (Description)s 13(Packet)m 13(has)m 12(already)m 13(been)m 13(associated)m 13(with)m 13 r 97 c 13(neighbor)m 12(and)m 13(receiving)m 13(interface)m 13(by)m 13(the)m 12(generic)m 13(input)m 13(packet)m 0 726 p (processing)s 10(\(Section)m 10(8.2\).)m 13(The)m 10(further)m 10(processing)m 10(of)m 9(the)m 10(Database)m 10(Description)m 10(Packet)m 10(depends)m 9(on)m 10(the)m 10(neighbor)m 10(state.)m 14(If)m 0 776 p (the)s 10(neighbor)m 2 r 39 c -1 r 115 c 9(state)m 10(is)m t-bol.300 @sf 11(Down)m t-rom.300 @sf 10(or)m t-bol.300 @sf 11(Attempt)m t-rom.300 @sf 10(the)m 11(packet)m 10(should)m 10(be)m 11(ignored.)m 14(Otherwise,)m 10(if)m 11(the)m 10(state)m 10(is:)m t-bol.300 @sf 0 885 p (Init)s t-rom.300 @sf 21(The)m 10(neighbor)m 10(state)m 9(machine)m 10(should)m 10(be)m t-ita.300 @sf 10(executed)m t-rom.300 @sf 10(with)m 10(the)m 10(event)m t-bol.300 @sf 10(2-W)m -2(ay)m 9(Received)m t-rom.300 @sf 46 c 14(This)m 10(causes)m 10(an)m 10(immediate)m 10(state)m 104 935 p (change)s 10(to)m 9(either)m 10(state)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 9(or)m 10(state)m t-bol.300 @sf 9(Exstart)m t-rom.300 @sf 46 c 14(The)m 10(processing)m 10(of)m 10(the)m 9(current)m 10(packet)m 10(should)m 10(then)m 10(continue)m 10(in)m 9(this)m 104 985 p (new)s 10(state.)m t-bol.300 @sf 0 1068 p (2-W)s -1(ay)m t-rom.300 @sf 19(The)m 15(packet)m 14(should)m 14(be)m 14(ignored.)m 26(Database)m 14(description)m 14(packets)m 14(are)m 15(used)m 14(only)m 14(for)m 14(the)m 14(purpose)m 15(of)m 14(bringing)m 14(up)m 104 1118 p (adjacencies.)s t-rom.210 @sf 320 1103 p 55 c t-bol.300 @sf 0 1201 p (ExStart)s t-rom.300 @sf 21(If)m 8(the)m 8(received)m 7(packet)m 8(matches)m 8(one)m 8(of)m 8(the)m 8(following)m 8(cases,)m 8(then)m 8(the)m 8(neighbor)m 8(state)m 8(machine)m 8(should)m 7(be)m t-ita.300 @sf 8(executed)m t-rom.300 @sf 104 1251 p (with)s 8(the)m 9(event)m t-bol.300 @sf 9(NegotiationDone)m t-rom.300 @sf 8(\(causing)m 9(the)m 9(state)m 8(to)m 9(transition)m 8(to)m t-bol.300 @sf 9(Exchange)m t-rom.300 @sf 41 c 9(and)m 8(the)m 9(packet)m 9(should)m 8(be)m 9(accepted)m 104 1300 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 1392 p 15 c t-rom.300 @sf 20(The)m 9(initialize\(I\),)m 8(more)m 8(\(M\))m 9(and)m 8(master\(MS\))m 8(bits)m 8(are)m 9(set,)m 9(the)m 8(contents)m 8(of)m 8(the)m 9(packet)m 8(are)m 8(empty)m -1 r 44 c 7(and)m 9(the)m 8(neigh-)m 195 1442 p (bor)s 2 r 39 c -2 r 115 c 11(Router)m 11(ID)m 11(is)m 11(lar)m (ger)s 11(than)m 11(the)m 11(router)m 1 r 39 c -1 r 115 c 10(own.)m 17(In)m 11(this)m 11(case)m 11(the)m 11(router)m 12(is)m 11(now)m 11(Slave.)m 16(Set)m 11(the)m 12(master/slave)m 195 1491 p (bit)s 11(to)m 10(slave,)m 10(and)m 11(set)m 10(the)m 11(sequence)m 10(number)m 10(to)m 11(that)m 10(speci\014ed)m 11(by)m 10(the)m 11(master)m -2 r 46 c cmsy10.300 @sf 154 1558 p 15 c t-rom.300 @sf 20(The)m 14(initialize\(I\))m 13(and)m 13(master\(MS\))m 14(bits)m 13(are)m 13(of)m (f,)s 13(the)m 14(packet')m -2 r 115 c 13(sequence)m 13(number)m 13(equals)m 14(the)m 13(router)m 1 r 39 c -1 r 115 c 12(own)m 14(se-)m 195 1608 p (quence)s 14(number)m 14(\(indicating)m 14(acknowledgment\))m 14(and)m 14(the)m 14(neighbor)m 2 r 39 c -1 r 115 c 13(Router)m 14(ID)m 14(is)m 14(smaller)m 14(than)m 14(the)m 14(router)m 2 r 39 c -2 r 115 c 195 1657 p (own.)s 14(In)m 10(this)m 11(case)m 10(the)m 11(router)m 10(is)m 10(Master)m -1 r 46 c t-bol.300 @sf 0 1749 p (Exchange)s t-rom.300 @sf 21(If)m 8(the)m 9(state)m 9(of)m 8(the)m 9(MS)m 8(bit)m 9(is)m 9(inconsistent)m 8(with)m 9(the)m 8(master/slave)m 9(state)m 9(of)m 8(the)m 9(connection,)m 9(generate)m 8(the)m 9(neighbor)m 104 1799 p (event)s t-bol.300 @sf 10(Seq)m 11(Number)m 10(Mismatch)m t-rom.300 @sf 10(and)m 11(stop)m 10(processing)m 11(the)m 10(packet.)m 14(Otherwise:)m cmsy10.300 @sf 154 1890 p 15 c t-rom.300 @sf 20(If)m 12(the)m 11(initialize\(I\))m 11(bit)m 11(is)m 12(set,)m 11(generate)m 11(the)m 11(neighbor)m 12(event)m t-bol.300 @sf 11(Seq)m 11(Number)m 11(Mismatch)m t-rom.300 @sf 12(and)m 11(stop)m 11(processing)m 11(the)m 195 1940 p (packet.)s cmsy10.300 @sf 154 2006 p 15 c t-rom.300 @sf 20(If)m 12(the)m 12(router)m 12(is)m 12(master)m -1 r 44 c 11(and)m 12(the)m 12(packet')m -2 r 115 c 11(sequence)m 12(number)m 12(equals)m 12(the)m 12(router)m 1 r 39 c -1 r 115 c 11(own)m 11(sequence)m 12(number)m 12(\(this)m 195 2056 p (packet)s 11(is)m 10(the)m 10(next)m 11(in)m 10(sequence\))m 11(the)m 10(packet)m 10(should)m 11(be)m 10(accepted)m 11(and)m 10(its)m 11(contents)m 10(processed)m 10(\(below\).)m cmsy10.300 @sf 154 2122 p 15 c t-rom.300 @sf 20(If)m 13(the)m 12(router)m 12(is)m 13(master)m -1 r 44 c 12(and)m 12(the)m 13(packet')m -2 r 115 c 12(sequence)m 12(number)m 13(is)m 12(one)m 12(less)m 13(than)m 12(the)m 12(router)m 2 r 39 c -1 r 115 c 11(sequence)m 12(number)m 44 c 195 2172 p (the)s 11(packet)m 10(is)m 10 r 97 c 11(duplicate.)m 14(Duplicates)m 10(should)m 10(be)m 11(discarded)m 10(by)m 11(the)m 10(master)m -1 r 46 c cmsy10.300 @sf 154 2239 p 15 c t-rom.300 @sf 20(If)m 9(the)m 8(router)m 8(is)m 8(slave,)m 9(and)m 8(the)m 8(packet')m -1 r 115 c 7(sequence)m 8(number)m 9(is)m 8(one)m 8(more)m 8(than)m 9(the)m 8(router)m 1 r 39 c -1 r 115 c 7(own)m 9(sequence)m 8(number)m 195 2288 p (\(this)s 11(packet)m 10(is)m 10(the)m 11(next)m 10(in)m 11(sequence\))m 10(the)m 10(packet)m 11(should)m 10(be)m 11(accepted)m 10(and)m 11(its)m 10(contents)m 10(processed)m 11(\(below\).)m cmsy10.300 @sf 154 2355 p 15 c t-rom.300 @sf 20(If)m 8(the)m 9(router)m 8(is)m 8(slave,)m 8(and)m 8(the)m 8(packet')m -1 r 115 c 7(sequence)m 8(number)m 8(is)m 9(equal)m 8(to)m 8(the)m 8(router)m 1 r 39 c -1 r 115 c 7(sequence)m 8(number)m 44 c 7(the)m 8(packet)m 195 2405 p (is)s 10 r 97 c 9(duplicate.)m 14(The)m 9(slave)m 10(must)m 9(respond)m 10(to)m 10(duplicates)m 9(by)m 10(repeating)m 9(the)m 10(last)m 9(Database)m 10(Description)m 9(packet)m 10(that)m 195 2454 p (it)s 11(sent.)m 0 2482 p 780 2 ru t-rom.180 @sf 45 2509 p 55 c t-rom.240 @sf 60 2521 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 2560 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(46)m @eop 45 @bop0 45 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (The)s 9(adjacency-forming)m 9(decision)m 9(occurs)m 8(in)m 9(two)m 9(places)m 9(in)m 9(the)m 9(neighbor)m 9(state)m 9(machine.)m 13(First,)m 9(when)m 9(bidirectional)m 9(commu-)m 0 245 p (nication)s 10(is)m 10(initially)m 11(established)m 10(with)m 10(the)m 10(neighbor)m -1 r 44 c 10(and)m 10(secondly)m -2 r 44 c 9(when)m 10(the)m 11(identity)m 10(of)m 10(the)m 10(attached)m 10(network')m -1 r 115 c 9(\(Backup\))m 0 295 p (Designated)s 11(Router)m 12(changes.)m 17(If)m 11(the)m 12(decision)m 11(is)m 12(made)m 11(to)m 12(not)m 11(attempt)m 12(an)m 11(adjacency)m -1 r 44 c 10(the)m 12(state)m 11(of)m 12(the)m 11(neighbor)m 12(communi-)m 0 345 p (cation)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 412 p (An)s 10(adjacency)m 11(should)m 10(be)m 11(established)m 10(with)m 10 r 97 c 11(\(bidirectional\))m 10(neighbor)m 11(if)m 10(at)m 11(least)m 10(one)m 10(of)m 11(the)m 10(following)m 11(conditions)m 10(holds:)m 300 521 p 45 c 10(The)m 11(underlying)m 10(network)m 11(type)m 10(is)m 10(point-to-point)m 300 571 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 621 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 671 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 721 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 770 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 907 p (10.5)s 50(Receiving)m 12(Hello)m 13(packets)m t-rom.300 @sf 0 1003 p (This)s 14(section)m 13(explains)m 14(the)m 13(detailed)m 14(processing)m 13(of)m 14 r 97 c 13(received)m 14(Hello)m 13(packet.)m 24(\(See)m 13(Section)m 14(A.4)m 13(for)m 14(the)m 14(format)m 13(of)m 14(Hello)m 0 1053 p (packets.\))s 14(The)m 9(generic)m 10(input)m 10(processing)m 9(of)m 10(OSPF)m 10(packets)m 9(will)m 10(have)m 10(checked)m 9(the)m 10(validity)m 10(of)m 9(the)m 10(IP)m 10(header)m 9(and)m 10(the)m 10(OSPF)m 0 1102 p (packet)s 9(header)m -2 r 46 c 13(Next,)m 9(the)m 8(values)m 9(of)m 8(the)m t-bol.300 @sf 9(Network)m 9(Mask)m t-rom.300 @sf 44 c t-bol.300 @sf 9(HelloInt)m t-rom.300 @sf 44 c 9(and)m t-bol.300 @sf 8(DeadInt)m t-rom.300 @sf 9(\014elds)m 9(in)m 8(the)m 9(received)m 8(Hello)m 9(packet)m 9(must)m 0 1152 p (be)s 10(checked)m 10(against)m 10(the)m 11(values)m 10(con\014gured)m 10(for)m 10(the)m 10(receiving)m 10(interface.)m 14(Any)m 10(mismatch)m 10(causes)m 11(processing)m 10(to)m 10(stop)m 10(and)m 10(the)m 0 1202 p (packet)s 10(to)m 11(be)m 10(dropped.)m 14(In)m 11(other)m 10(words,)m 10(the)m 11(above)m 10(\014elds)m 11(are)m 10(really)m 10(describing)m 11(the)m 10(attached)m 11(network')m -2 r 115 c 10(con\014guration.)m 0 1270 p (The)s 11(source)m 10(of)m 11(the)m 11(Hello)m 10(Packet)m 11(is)m 11(then)m 10(matched)m 11(to)m 10(one)m 11(of)m 11(the)m 10(receiving)m 11(interface')m -1 r 115 c 9(neighbors.)m 15(The)m 11(source)m 10(is)m 11(identi\014ed)m 0 1320 p (either)s 11(by)m 10(the)m 11(Router)m 10(ID)m 11(found)m 10(in)m 11(the)m 11(OSPF)m 10(packet)m 11(header)m 10(or)m 11(by)m 10(IP)m 11(source)m 10(address)m 11(found)m 11(in)m 10(the)m 11(Hello')m -2 r 115 c 10(IP)m 11(header)m -2 r 46 c 14(The)m 0 1369 p (interface')s -1 r 115 c 9(current)m 11(list)m 10(of)m 10(neighbors)m 11(is)m 10(contained)m 11(in)m 10(the)m 10(interface')m -1 r 115 c 10(data)m 10(structure.)m 0 1437 p (If)s 13 r 97 c 13(matching)m 13(neighbor)m 12(structure)m 13(cannot)m 13(be)m 13(found,)m 14(\(i.e.,)m 13(this)m 13(is)m 13(the)m 13(\014rst)m 13(time)m 12(the)m 13(neighbor)m 13(has)m 13(been)m 13(detected\),)m 13(one)m 13(is)m 0 1487 p (created.)s 14(When)m 10(it)m 11(is)m 10(created,)m 10(the)m 11(neighbor)m 10(structure')m -1 r 115 c 9(Neighbor)m 10(ID)m 11(and)m 10(Neighbor)m 11(IP)m 10(address)m 10(are)m 11(set.)m 14(The)m 10(initial)m 10(state)m 11(of)m 0 1537 p (the)s 10(neighbor)m 11(is)m 10(set)m 11(to)m t-bol.300 @sf 10(Down)m t-rom.300 @sf 46 c 0 1604 p (Now)s 7(the)m 7(rest)m 7(of)m 7(the)m 7(Hello)m 7(Packet)m 7(is)m 7(examined,)m 7(generating)m 7(events)m 7(to)m 7(be)m 7(given)m 7(to)m 7(the)m 7(neighbor)m 7(and)m 7(interface)m 7(state)m 7(machines.)m 0 1654 p (These)s 12(state)m 12(machines)m 12(are)m 12(speci\014ed)m 12(either)m 12(to)m 12(be)m t-ita.300 @sf 12(executed)m t-rom.300 @sf 12(or)m t-ita.300 @sf 12(scheduled)m t-rom.300 @sf 12(\(see)m 12(Section)m 12(4.4\).)m 19(For)m 11(example,)m 13(by)m 12(specifying)m 0 1704 p (below)s 8(that)m 9(the)m 8(neighbor)m 8(state)m 9(machine)m 8(be)m t-ita.300 @sf 8(executed)m t-rom.300 @sf 8(in)m 9(line,)m 9(several)m 8(neighbor)m 8(state)m 8(transitions)m 9(may)m 8(be)m 8(ef)m (fected)s 8(by)m 8 r 97 c 9(single)m 0 1754 p (received)s 10(Hello:)m cmsy10.300 @sf 62 1863 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(Hello)m 10(Received)m t-rom.300 @sf 46 c cmsy10.300 @sf 62 1946 p 15 c t-rom.300 @sf 21(Then)m 14(the)m 13(list)m 14(of)m 13(neighbors)m 14(contained)m 13(in)m 14(the)m 14(Hello)m 13(Packet)m 14(is)m 13(examined.)m 24(If)m 13(the)m 14(router)m 13(itself)m 14(appears)m 14(in)m 13(this)m 14(list,)m 104 1996 p (the)s 11(neighbor)m 11(state)m 12(machine)m 11(should)m 11(be)m t-ita.300 @sf 12(executed)m t-rom.300 @sf 11(with)m 11(the)m 12(event)m t-bol.300 @sf 11(2-W)m -1(ay)m 10(Received)m t-rom.300 @sf 46 c 17(Otherwise,)m 11(the)m 11(neighbor)m 12(state)m 104 2046 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(ay)m 10(Received)m t-rom.300 @sf 44 c 10(and)m 11(the)m 10(processing)m 10(of)m 11(the)m 10(packet)m 11(stops.)m cmsy10.300 @sf 62 2129 p 15 c t-rom.300 @sf 21(Next,)m 12(the)m 12(Hello)m 12(packet')m -1 r 115 c 11(Router)m 12(Priority)m 12(\014eld)m 12(is)m 12(examined.)m 18(If)m 12(this)m 12(\014eld)m 12(is)m 12(dif)m (ferent)s 11(than)m 12(the)m 12(one)m 12(previously)m 12(re-)m 104 2178 p (ceived)s 9(from)m 9(the)m 9(neighbor)m 44 c 8(the)m 9(receiving)m 9(interface')m -1 r 115 c 8(state)m 9(machine)m 9(is)m t-ita.300 @sf 10(scheduled)m t-rom.300 @sf 9(with)m 9(the)m 9(event)m t-bol.300 @sf 9(NeighborChange)m t-rom.300 @sf 46 c 104 2228 p (In)s 10(any)m 11(case,)m 10(the)m 10(Router)m 11(Priority)m 10(\014eld)m 11(in)m 10(the)m 11(neighbor)m 10(data)m 10(structure)m 11(should)m 10(be)m 11(set)m 10(accordingly)m -2 r 46 c cmsy10.300 @sf 62 2311 p 15 c t-rom.300 @sf 21(Next)m 15(the)m 15(Designated)m 16(Router)m 15(\014eld)m 15(in)m 15(the)m 16(Hello)m 15(Packet)m 15(is)m 15(examined.)m 29(If)m 15(the)m 15(neighbor)m 15(is)m 16(declaring)m 15(itself)m 15(to)m 15(be)m 104 2361 p (Designated)s 13(Router)m 14(\(Designated)m 14(Router)m 13(\014eld)m 14 r 61 c 13(neighbor)m 14(ID\))m 14(and)m 13(it)m 14(had)m 13(not)m 14(previously)m -2 r 44 c 14(or)m 13(the)m 14(neighbor)m 13(is)m 14(not)m 104 2411 p (declaring)s 10(itself)m 11(Designated)m 10(Router)m 11(where)m 10(it)m 11(had)m 10(previously)m -2 r 44 c 10(the)m 10(receiving)m 11(interface')m -1 r 115 c 9(state)m 11(machine)m 10(is)m t-ita.300 @sf 11(scheduled)m t-rom.300 @sf 104 2461 p (with)s 15(the)m 16(event)m t-bol.300 @sf 15(NeighborChange)m t-rom.300 @sf 46 c 29(In)m 16(any)m 15(case,)m 17(the)m 16(Designated)m 15(Router)m 16(item)m 15(in)m 16(the)m 15(neighbor)m 16(structure)m 15(is)m 16(set)m 104 2511 p (accordingly)s -2 r 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(45)m @eop 44 @bop0 44 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 375 195 p (of)s 11(link)m 10(state)m 11(advertisements.)m 14(Then)m 10(the)m 11(router)m 10(increments)m 11(the)m 11(sequence)m 10(number)m 11(for)m 10(this)m 375 245 p (neighbor)s -1 r 44 c 9(declares)m 9(itself)m 9(master)m 10(\(sets)m 9(the)m 9(master/slave)m 10(bit)m 9(to)m 9(master\),)m 10(and)m 9(starts)m 9(sending)m 375 295 p (Database)s 12(Description)m 12(Packets,)m 13(with)m 12(the)m 13(initialize)m 12(\(I\),)m 12(more)m 12(\(M\))m 13(and)m 12(master)m 12(\(MS\))m 12(bits)m 375 345 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 10(\(see)m 11(Section)m 10(10.8\).)m 161 454 p (State\(s\):)s 75(Any)m 11(state)m 191 512 p (Event:)s t-bol.300 @sf 75(KillNbr)m t-rom.300 @sf 123 570 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 628 p (Action:)s 75(The)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 11(Database)m 10(summary)m 11(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 11(state)m 11 r 114 c (equest)s 375 678 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(timer)m 10(is)m 10(disabled.)m 161 787 p (State\(s\):)s 75(Any)m 11(state)m 191 845 p (Event:)s t-bol.300 @sf 75(LLDown)m t-rom.300 @sf 123 903 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 961 p (Action:)s 75(The)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 11(Database)m 10(summary)m 11(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 11(state)m 11 r 114 c (equest)s 375 1011 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(timer)m 10(is)m 10(disabled.)m 161 1120 p (State\(s\):)s 75(Any)m 11(state)m 191 1179 p (Event:)s t-bol.300 @sf 75(Inactivity)m 11 r 84 c (imer)s t-rom.300 @sf 123 1237 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 1295 p (Action:)s 75(The)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 11(Database)m 10(summary)m 11(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 11(state)m 11 r 114 c (equest)s 375 1345 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 1454 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 1512 p (Event:)s t-bol.300 @sf 75(1-W)m -1(ay)m 9(Received)m t-rom.300 @sf 123 1570 p (New)s 10(state:)m t-bol.300 @sf 75(Init)m t-rom.300 @sf 175 1628 p (Action:)s 75(The)m t-bol.300 @sf 11(Link)m 10(state)m 11 r 114 c (etransmission)s 10(list)m t-rom.300 @sf 44 c t-bol.300 @sf 11(Database)m 10(summary)m 11(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 10(Link)m 11(state)m 11 r 114 c (equest)s 375 1678 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 1787 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 1845 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 1903 p (New)s 10(state:)m 75(No)m 11(state)m 10(change.)m 175 1961 p (Action:)s 75(No)m 10(action)m 11(required.)m 161 2071 p (State\(s\):)s t-bol.300 @sf 75(Init)m t-rom.300 @sf 191 2129 p (Event:)s t-bol.300 @sf 75(1-W)m -1(ay)m 9 r 114 c (eceived)s t-rom.300 @sf 123 2187 p (New)s 10(state:)m 75(No)m 11(state)m 10(change.)m 175 2245 p (Action:)s 75(No)m 10(action)m 11(required.)m t-bol.360 @sf 0 2382 p (10.4)s 50(Whether)m 12(to)m 13(become)m 12(adjacent)m t-rom.300 @sf 0 2477 p (Adjacencies)s 15(are)m 14(established)m 15(with)m 15(some)m 15(subset)m 14(of)m 15(the)m 15(router)m 1 r 39 c -1 r 115 c 14(neighbors.)m 27(Routers)m 14(connected)m 15(by)m 15(point-to-point)m 15(net-)m 0 2527 p (works)s 12(and)m 12(virtual)m 12(links)m 12(always)m 12(become)m 12(adjacent.)m 18(On)m 12(multi-access)m 12(networks,)m 12(all)m 12(routers)m 12(become)m 12(adjacent)m 12(to)m 12(both)m 12(the)m 0 2577 p (Designated)s 10(Router)m 11(and)m 10(the)m 11(Backup)m 10(Designated)m 10(Router)m -1 r 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(44)m @eop 43 @bop0 43 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 375 195 p (network)s 13(links)m 13(and)m 13(summary)m 13(links)m 13(contained)m 13(in)m 13(the)m 13(area)m 13(structure,)m 13(along)m 13(with)m 13(the)m 13(AS)m 375 245 p (external)s 13(links)m 13(contained)m 13(in)m 13(the)m 13(global)m 13(structure.)m 21(AS)m 13(external)m 13(link)m 13(advertisements)m 13(are)m 375 295 p (omitted)s 8(from)m 9 r 97 c 8(virtual)m 9(neighbor)m 1 r 39 c -1 r 115 c t-bol.300 @sf 7(Database)m 9(summary)m 8(list)m t-rom.300 @sf 46 c 14(Advertisements)m 8(whose)m 8(age)m 375 345 p (is)s 8(equal)m 8(to)m 8(MaxAge)m 8(are)m 8(instead)m 8(added)m 8(to)m 8(the)m 8(neighbor)m 1 r 39 c -1 r 115 c t-bol.300 @sf 7(Link)m 8(state)m 8 r 114 c (etransmission)s 7(list)m t-rom.300 @sf 46 c 375 394 p 65 c 13(summary)m 13(of)m 13(the)m t-bol.300 @sf 12(Database)m 13(summary)m 13(list)m t-rom.300 @sf 13(will)m 13(be)m 13(sent)m 12(to)m 13(the)m 13(neighbor)m 13(in)m 13(Database)m 375 444 p (Description)s 12(packets.)m 20(Each)m 12(Database)m 12(Description)m 13(Packet)m 12(has)m 12 r 97 c 13(sequence)m 12(number)m -1 r 44 c 12(and)m 375 494 p (is)s 15(explicitly)m 15(acknowledged.)m 27(Only)m 14(one)m 15(Database)m 15(Description)m 15(Packet)m 15(is)m 14(allowed)m 15(out-)m 375 544 p (standing)s 13(at)m 13(any)m 12(one)m 13(time.)m 21(For)m 13(more)m 13(detail)m 13(on)m 13(the)m 13(sending)m 12(and)m 13(receiving)m 13(of)m 13(Database)m 375 594 p (Description)s 10(packets,)m 11(see)m 10(Sections)m 11(10.8)m 10(and)m 10(10.6.)m 161 699 p (State\(s\):)s t-bol.300 @sf 75(Exchange)m t-rom.300 @sf 191 757 p (Event:)s t-bol.300 @sf 75(Exchange)m 11(Done)m t-rom.300 @sf 123 815 p (New)s 10(state:)m t-bol.300 @sf 75(Loading)m t-rom.300 @sf 175 873 p (Action:)s 75(Start)m 14(sending)m 13(Link)m 14(State)m 14(Request)m 14(packets)m 14(to)m 13(the)m 14(neighbor)m 14(\(see)m 14(Section)m 13(10.9\).)m 24(These)m 375 923 p (are)s 10(requests)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 10(\(which)m 10(were)m 11(discovered)m 10(in)m 375 973 p (the)s t-bol.300 @sf 14(Exchange)m t-rom.300 @sf 13(state\).)m 23(These)m 14(advertisements)m 14(are)m 13(listed)m 14(in)m 13(the)m t-bol.300 @sf 14(Link)m 13(state)m 14 r 114 c (equest)s 13(list)m t-rom.300 @sf 375 1023 p (associated)s 10(with)m 11(the)m 10(neighbor)m -1 r 46 c 161 1128 p (State\(s\):)s t-bol.300 @sf 75(Loading)m t-rom.300 @sf 191 1186 p (Event:)s t-bol.300 @sf 75(Loading)m 11(Done)m t-rom.300 @sf 123 1244 p (New)s 10(state:)m t-bol.300 @sf 75(Full)m t-rom.300 @sf 175 1303 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 1408 p (State\(s\):)s t-bol.300 @sf 75(2-W)m -1(ay)m t-rom.300 @sf 191 1466 p (Event:)s t-bol.300 @sf 75(AdjOK?)m t-rom.300 @sf 123 1524 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 1582 p (Action:)s 75(Determine)m 13(whether)m 13(an)m 14(adjacency)m 13(should)m 13(be)m 13(formed)m 13(with)m 14(the)m 13(neighboring)m 13(router)m 13(\(see)m 375 1632 p (Section)s 12(10.4\).)m 19(If)m 12(not,)m 12(the)m 12(neighbor)m 12(state)m 12(remains)m 12(at)m t-bol.300 @sf 12(2-W)m -1(ay)m t-rom.300 @sf 46 c 17(Otherwise,)m 13(transition)m 11(the)m 375 1682 p (neighbor)s 13(state)m 13(to)m t-bol.300 @sf 14(Exchange)m t-rom.300 @sf 13(and)m 13(perform)m 13(the)m 14(actions)m 13(associated)m 13(with)m 13(the)m 14(above)m 13(state)m 375 1732 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(ay)m 9(Received)m t-rom.300 @sf 46 c 161 1837 p (State\(s\):)s t-bol.300 @sf 75(ExStart)m t-rom.300 @sf 11(or)m 10(greater)m 191 1895 p (Event:)s t-bol.300 @sf 75(AdjOK?)m t-rom.300 @sf 123 1953 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 2012 p (Action:)s 75(Determine)m 11(whether)m 12(the)m 11(neighboring)m 12(router)m 11(should)m 12(still)m 11(be)m 11(adjacent.)m 17(If)m 12(yes,)m 12(there)m 11(is)m 11(no)m 375 2061 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 2120 p (Otherwise,)s 9(the)m 9(\(possibly)m 9(partially)m 9(formed\))m 9(adjacency)m 9(must)m 9(be)m 9(destroyed.)m 13(The)m 9(neighbor)m 375 2169 p (state)s 12(transitions)m 11(to)m t-bol.300 @sf 12(2-W)m -1(ay)m t-rom.300 @sf 46 c 16(The)m t-bol.300 @sf 12(Link)m 11(state)m 12 r 114 c (etransmission)s 11(list)m t-rom.300 @sf 44 c t-bol.300 @sf 12(Database)m 11(summary)m 375 2219 p (list)s 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 11(of)m 10(link)m 10(state)m 11(advertisements.)m 161 2325 p (State\(s\):)s t-bol.300 @sf 75(Exchange)m t-rom.300 @sf 11(or)m 10(greater)m 191 2383 p (Event:)s t-bol.300 @sf 75(Seq)m 11(Number)m 10(Mismatch)m t-rom.300 @sf 123 2441 p (New)s 10(state:)m t-bol.300 @sf 75(ExStart)m t-rom.300 @sf 175 2499 p (Action:)s 75(The)m 12(\(possibly)m 12(partially)m 12(formed\))m 12(adjacency)m 12(is)m 12(torn)m 12(down,)m 12(and)m 12(then)m 12(an)m 12(attempt)m 12(is)m 12(made)m 375 2549 p (at)s 14(reestablishment.)m 26(The)m 14(neighbor)m 14(state)m 15(\014rst)m 14(transitions)m 14(to)m t-bol.300 @sf 15(ExStart)m t-rom.300 @sf 46 c 25(The)m t-bol.300 @sf 14(Link)m 15(state)m 375 2599 p 114 c (etransmission)s 11(list)m t-rom.300 @sf 44 c t-bol.300 @sf 12(Database)m 11(summary)m 12(list)m t-rom.300 @sf 11(and)m t-bol.300 @sf 12(Link)m 11(state)m 12 r 114 c (equest)s 10(list)m t-rom.300 @sf 12(are)m 11(cleared)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(43)m @eop 42 @bop0 42 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 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 9(an)m 10(hello)m 9(to)m 10(the)m 9(neighbor)m 9(\(this)m 10(neighbor)m 9(is)m 9(always)m 10(associated)m 9(with)m 10 r 97 c 9(non-broadcast)m 375 419 p (network\))s 10(and)m 11(start)m 10(the)m 11(inactivity)m 10(timer)m 11(for)m 10(the)m 11(neighbor)m -1 r 46 c 13(The)m 10(timer)m 2 r 39 c -1 r 115 c 9(later)m 10(\014ring)m 11(would)m 375 469 p (indicate)s 10(that)m 11(communication)m 10(with)m 11(the)m 10(neighbor)m 10(was)m 11(not)m 10(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(Hello)m 11(Received)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 13(the)m 13(inactivity)m 13(timer)m 13(for)m 14(the)m 13(neighbor)m -1 r 44 c 13(since)m 13(the)m 13(neighbor)m 13(has)m 13(now)m 13(been)m 13(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(Hello)m 11(Received)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 11(the)m 11(inactivity)m 11(timer)m 11(for)m 12(the)m 11(neighbor)m -2 r 46 c 15(The)m 11(timer)m 2 r 39 c -1 r 115 c 10(later)m 11(\014ring)m 11(would)m 11(indicate)m 11(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(Hello)m 11(Received)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 12(the)m 11(inactivity)m 12(timer)m 12(for)m 12(the)m 11(neighbor)m 44 c 11(since)m 11(the)m 12(neighbor)m 12(has)m 12(again)m 11(been)m 12(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(ay)m 9(Received)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 14(whether)m 15(an)m 14(adjacency)m 15(should)m 14(be)m 15(established)m 14(with)m 15(the)m 14(neighbor)m 15(\(see)m 14(Sec-)m 375 1802 p (tion)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 11(\(an)m 10(adjacency)m 11(should)m 11(be)m 10(established\))m 11(the)m 11(neighbor)m 10(state)m 11(transitions)m 11(to)m t-bol.300 @sf 10(ExS-)m 375 1910 p (tart)s t-rom.300 @sf 46 c 29(Upon)m 15(entering)m 15(this)m 16(state,)m 16(the)m 15(router)m 16(increments)m 15(the)m 15(sequence)m 16(number)m 15(for)m 15(this)m 375 1960 p (neighbor)s -1 r 46 c 19(If)m 12(this)m 13(is)m 12(the)m 12(\014rst)m 13(time)m 12(that)m 13(an)m 12(adjacency)m 13(has)m 12(been)m 12(attempted,)m 13(the)m 13(sequence)m 375 2010 p (number)s 14(should)m 14(be)m 14(assigned)m 13(some)m 14(unique)m 14(value)m 14(\(like)m 14(the)m 14(time)m 13(of)m 14(day)m 14(clock\).)m 24(It)m 14(then)m 375 2060 p (declares)s 10(itself)m 9(master)m 10(\(sets)m 10(the)m 9(master/slave)m 10(bit)m 10(to)m 9(master\),)m 10(and)m 10(starts)m 10(sending)m 9(Database)m 375 2110 p (Description)s 12(Packets,)m 13(with)m 13(the)m 12(initialize)m 13(\(I\),)m 12(more)m 12(\(M\))m 13(and)m 12(master)m 13(\(MS\))m 12(bits)m 12(set.)m 20(This)m 375 2159 p (Database)s 13(Description)m 12(Packet)m 13(should)m 12(be)m 13(otherwise)m 13(empty)m -2 r 46 c 19(This)m 13(Database)m 13(Description)m 375 2209 p (Packet)s 12(should)m 12(be)m 12(retransmitted)m 12(at)m 12(intervals)m 12(of)m 12(RxmtInterval)m 12(until)m 12(the)m 12(next)m 13(state)m 12(is)m 12(en-)m 375 2259 p (tered)s 10(\(see)m 11(Section)m 21(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(NegDone)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 15(router)m 15(must)m 15(list)m 15(the)m 15(contents)m 15(of)m 16(its)m 15(entire)m 15(area)m 15(link)m 15(state)m 15(database)m 15(in)m 15(the)m 15(neigh-)m 375 2592 p (bor)s t-bol.300 @sf 11(Database)m 11(summary)m 10(list)m t-rom.300 @sf 46 c 16(The)m 10(area)m 11(link)m 11(state)m 11(database)m 11(consists)m 11(of)m 10(the)m 11(router)m 11(links,)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(42)m @eop 41 @bop0 41 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (2-W)s -1(ay)m 9(Received)m t-rom.300 @sf 21(Bidirectional)m 11(communication)m 11(has)m 12(been)m 11(realized)m 11(between)m 11(the)m 12(two)m 11(neighboring)m 11(routers.)m 17(This)m 11(is)m 11(indi-)m 104 245 p (cated)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 t-bol.300 @sf 0 324 p (NegotiationDone)s t-rom.300 @sf 21(The)m 11(Master/Slave)m 12(relationship)m 12(has)m 11(been)m 12(negotiated,)m 12(and)m 12(sequence)m 11(numbers)m 12(have)m 12(been)m 12(exchanged.)m 104 374 p (This)s 13(signals)m 13(the)m 12(start)m 13(of)m 13(the)m 13(sending/receiving)m 13(of)m 13(Database)m 13(Description)m 13(packets.)m 21(For)m 13(more)m 13(information)m 13(on)m 13(the)m 104 424 p (generation)s 10(of)m 11(this)m 10(event,)m 10(consult)m 11(Section)m 10(10.8.)m t-bol.300 @sf 0 503 p (Exchange)s 10(Done)m t-rom.300 @sf 21(Both)m 13(routers)m 12(have)m 12(successfully)m 13(transmitted)m 12 r 97 c 13(full)m 12(sequence)m 12(of)m 13(Database)m 12(Description)m 13(packets.)m 20(Each)m 104 553 p (router)s 11(now)m 11(knows)m 11(what)m 12(parts)m 11(of)m 11(its)m 11(link)m 11(state)m 12(database)m 11(are)m 11(out)m 11(of)m 12(date.)m 16(For)m 11(more)m 11(information)m 11(on)m 12(the)m 11(generation)m 104 603 p (of)s 10(this)m 11(event,)m 10(consult)m 10(Section)m 11(10.8.)m t-bol.300 @sf 0 682 p (Seq)s 10(Number)m 11(Mismatch)m t-rom.300 @sf 21 r 65 c 10(Database)m 9(Description)m 10(packet)m 10(has)m 10(been)m 10(received)m 10(that)m 10(either)m 10(a\))m 10(has)m 10(an)m 10(unexpected)m 9(sequence)m 104 732 p (number)s 13(or)m 13(b\))m 13(unexpectedly)m 13(has)m 13(the)m 14(Init)m 13(bit)m 13(set.)m 22(This)m 13(indicates)m 13(that)m 13(some)m 13(error)m 13(has)m 14(occurred)m 13(during)m 13(adjacency)m 104 782 p (establishment.)s t-bol.300 @sf 0 861 p (BadLSReq)s t-rom.300 @sf 21 r 65 c 9(Link)m 10(State)m 9(Request)m 9(has)m 10(been)m 9(received)m 10(for)m 9 r 97 c 10(link)m 9(state)m 9(advertisement)m 10(not)m 9(contained)m 10(in)m 9(the)m 10(database.)m 13(This)m 104 911 p (indicates)s 10(an)m 11(error)m 10(in)m 10(the)m 11(synchronization)m 10(process.)m t-bol.300 @sf 0 991 p (Loading)s 10(Done)m t-rom.300 @sf 21(Link)m 11(State)m 12(Updates)m 11(have)m 11(been)m 12(received)m 11(for)m 11(all)m 12(out-of-date)m 11(portions)m 11(of)m 12(the)m 11(database.)m 16(This)m 12(is)m 11(indicated)m 104 1040 p (by)s 10(the)m 11(link)m 10(state)m 10(request)m 11(list)m 10(becoming)m 11(empty)m -2 r 44 c 9(after)m 11(processing)m 10 r 97 c 11(Link)m 10(State)m 10(Update.)m t-bol.300 @sf 0 1120 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)m 11(with)m 10(the)m 11(neighbor)m -2 r 46 c 13(This)m 104 1170 p (event)s 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 1266 p (The)s 11(following)m 10(events)m 11(cause)m 10(well)m 11(developed)m 11(neighbors)m 10(to)m 11(revert)m 10(to)m 11(lesser)m 11(states.)m 14(Unlike)m 11(the)m 10(above)m 11(events,)m 11(these)m 10(events)m 0 1316 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 1412 p (1-W)s -1(ay)m t-rom.300 @sf 19(An)m 13(Hello)m 12(packet)m 12(has)m 12(been)m 12(received)m 12(from)m 12(the)m 13(neighbor)m -1 r 44 c 11(in)m 13(which)m 12(this)m 12(router)m 12(is)m 12(not)m 12(mentioned.)m 19(This)m 12(indicates)m 104 1462 p (there)s 10(is)m 11(communication)m 10(with)m 10(the)m 11(neighbor)m 10(is)m 11(not)m 10(bidirectional.)m t-bol.300 @sf 0 1541 p (KillNbr)s t-rom.300 @sf 21(This)m 12(is)m 13(an)m 13(indication)m 13(that)m 12(all)m 13(communication)m 13(with)m 12(the)m 13(neighbor)m 13(is)m 12(now)m 13(impossible,)m 13(forcing)m 13(the)m 13(neighbor)m 12(to)m 104 1591 p (revert)s 10(to)m 11(Down)m 10(state.)m t-bol.300 @sf 0 1670 p (Inactivity)s 10 r 84 c (imer)s t-rom.300 @sf 20(The)m 11(inactivity)m 11 r 84 c -1(imer)m 10(has)m 10(\014red.)m 14(This)m 11(means)m 11(that)m 10(no)m 11(Hello)m 10(packets)m 11(have)m 10(been)m 11(seen)m 10(recently)m 11(from)m 10(the)m 104 1720 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 1800 p (LLDown)s t-rom.300 @sf 21(This)m 13(is)m 13(an)m 13(indication)m 13(from)m 13(the)m 13(lower)m 13(level)m 13(protocols)m 13(that)m 13(the)m 13(neighbor)m 13(is)m 13(now)m 13(unreachable.)m 21(For)m 13(example,)m 104 1850 p (on)s 12(an)m 12(X.25)m 12(network)m 12(this)m 11(could)m 12(be)m 12(indicated)m 12(by)m 12(an)m 12(X.25)m 12(clear)m 12(indication)m 12(with)m 12(appropriate)m 12(cause)m 12(and)m 12(diagnostic)m 104 1899 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 2030 p (10.3)s 50(The)m 12(Neighbor)m 13(state)m 12(machine)m t-rom.300 @sf 0 2122 p 65 c 10(detailed)m 9(description)m 10(of)m 9(the)m 10(neighbor)m 9(state)m 10(changes)m 9(follows.)m 14(Each)m 10(state)m 9(change)m 10(is)m 9(invoked)m 10(by)m 9(an)m 10(event)m 9(\(Section)m 10(10.2\).)m 0 2172 p (This)s 13(event)m 14(may)m 13(produce)m 13(dif)m (ferent)s 13(ef)m (fects,)s 13(depending)m 13(on)m 13(the)m 14(current)m 13(state)m 13(of)m 13(the)m 14(neighbor)m -2 r 46 c 22(For)m 13(this)m 13(reason,)m 14(the)m 14(state)m 0 2222 p (machine)s 12(below)m 11(is)m 12(or)m (ganized)s 11(by)m 12(current)m 11(neighbor)m 12(state)m 12(and)m 11(received)m 12(event.)m 18(Each)m 12(entry)m 11(in)m 12(the)m 12(state)m 11(machine)m 12(describes)m 0 2272 p (the)s 10(resulting)m 11(new)m 10(neighbor)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 2335 p (When)s 13(an)m 14(neighbor)m 1 r 39 c -1 r 115 c 12(state)m 14(changes,)m 14(it)m 13(may)m 14(be)m 13(necessary)m 14(to)m 13(rerun)m 13(the)m 14(Designated)m 13(Router)m 14(election)m 13(algorithm.)m 23(This)m 13(is)m 0 2385 p (determined)s 13(by)m 14(whether)m 13(the)m 14(interface)m t-bol.300 @sf 13(Neighbor)m 13(Change)m t-rom.300 @sf 14(event)m 13(is)m 14(generated)m 13(\(see)m 13(Section)m 14(9.2\).)m 23(Also,)m 14(if)m 13(the)m 14(Interface)m 0 2435 p (is)s 15(in)m t-bol.300 @sf 16(DR)m t-rom.300 @sf 15(state)m 15(\(the)m 15(router)m 16(is)m 15(itself)m 15(Designated)m 16(Router\),)m 16(changes)m 15(in)m 16(neighbor)m 15(state)m 15(may)m 16(cause)m 15 r 97 c 15(new)m 15(network)m 16(links)m 0 2485 p (advertisement)s 10(to)m 11(be)m 10(originated)m 11(\(see)m 10(Section)m 10(12.3\).)m 0 2549 p (When)s 12(the)m 12(neighbor)m 12(state)m 12(machine)m 12(needs)m 12(to)m 11(invoke)m 12(the)m 12(interface)m 12(state)m 12(machine,)m 13(it)m 11(should)m 12(be)m 12(done)m 12(as)m 12 r 97 c t-ita.300 @sf 12(scheduled)m t-rom.300 @sf 12(task)m 0 2599 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(41)m @eop 40 @bop0 40 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (The)s 11(graph)m 11(in)m 11(Figure)m 10(13)m 11(shows)m 11(the)m 11(forming)m 11(of)m 11(an)m 11(adjacency)m -2 r 46 c 14(Not)m 11(every)m 11(two)m 11(neighboring)m 10(routers)m 11(become)m 11(adjacent)m 11(\(see)m 0 245 p (Section)s 13(10.4\).)m 24(The)m 13(adjacency)m 13(starts)m 14(to)m 13(form)m 14(when)m 13(the)m 14(neighbor)m 13(is)m 14(in)m 13(state)m t-bol.300 @sf 14(ExStart)m t-rom.300 @sf 46 c 23(After)m 13(the)m 14(two)m 13(routers)m 14(discover)m 0 295 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 345 p (procedure,)s 8(and)m 8(the)m 7(two)m 8(neighboring)m 7(routers)m 8(begin)m 7(synchronizing)m 8(their)m 7(databases.)m 13(When)m 8(this)m 7(synchronization)m 8(is)m 7(\014nished,)m 0 394 p (the)s 11(neighbor)m 11(is)m 10(in)m 11(state)m t-bol.300 @sf 11(Full)m t-rom.300 @sf 11(and)m 11(we)m 10(say)m 11(that)m 11(the)m 11(two)m 10(routers)m 11(are)m 11(fully)m 11(adjacent.)m 15(At)m 11(this)m 10(point)m 11(the)m 11(adjacency)m 11(is)m 11(listed)m 10(in)m 0 444 p (link)s 10(state)m 11(advertisements.)m 0 510 p (For)s 8 r 97 c 8(more)m 8(detailed)m 8(description)m 8(of)m 8(neighbor)m 9(state)m 8(changes,)m 8(together)m 8(with)m 8(the)m 8(additional)m 9(actions)m 8(involved)m 8(in)m 8(each)m 8(change,)m 0 560 p (see)s 10(Section)m 11(10.3.)m t-bol.300 @sf 0 665 p (Down)s t-rom.300 @sf 21(This)m 7(is)m 8(the)m 7(initial)m 7(state)m 8(of)m 7 r 97 c 8(neighbor)m 7(conversation.)m 13(It)m 7(indicates)m 8(that)m 7(there)m 8(has)m 7(been)m 8(no)m 7(recent)m 7(information)m 8(received)m 104 715 p (from)s 10(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 10(may)m 11(still)m 10(be)m 10(sent)m 10(to)m 11(\\Down")m 10(neighbors,)m 10(although)m 104 764 p (at)s 10 r 97 c 11(reduced)m 10(frequency)m 10(\(see)m 11(Section)m 10(9.5.1\).)m t-bol.300 @sf 0 846 p (Attempt)s t-rom.300 @sf 21(This)m 10(state)m 9(is)m 10(only)m 10(valid)m 10(for)m 10(neighbors)m 10(attached)m 10(non-broadcast)m 9(networks)m 10(\(or)m 10(neighbors)m 10(associated)m 10(with)m 10(virtual)m 104 896 p (links\).)s 20(It)m 12(indicates)m 12(that)m 13(no)m 12(recent)m 13(information)m 12(has)m 12(been)m 13(received)m 12(from)m 13(the)m 12(neighbor)m -1 r 44 c 12(but)m 13(that)m 12 r 97 c 12(more)m 13(concerted)m 104 946 p (ef)s (fort)s 10(should)m 12(be)m 11(made)m 11(to)m 12(contact)m 11(the)m 11(neighbor)m -1 r 46 c 16(This)m 11(is)m 11(done)m 12(by)m 11(sending)m 11(the)m 12(neighbor)m 11(Hello)m 12(packets)m 11(at)m 11(intervals)m 104 996 p (of)s 10(HelloInterval)m 11(\(see)m 10(Section)m 10(9.5.1\).)m t-bol.300 @sf 0 1077 p (Init)s t-rom.300 @sf 21(In)m 11(this)m 12(state,)m 12(an)m 11(Hello)m 12(packet)m 12(has)m 11(recently)m 12(been)m 11(seen)m 12(from)m 11(the)m 12(neighbor)m -1 r 46 c 16(However)m -1 r 44 c 11(bidirectional)m 12(communication)m 104 1127 p (has)s 15(not)m 15(yet)m 15(been)m 14(established)m 15(with)m 15(the)m 15(neighbor)m 15(\(i.e.,)m 16(the)m 15(router)m 15(itself)m 15(did)m 15(not)m 15(appear)m 15(in)m 15(the)m 15(neighbor)m 1 r 39 c -1 r 115 c 14(Hello)m 104 1177 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 1259 p (2-W)s -1(ay)m t-rom.300 @sf 19(In)m 11(this)m 11(state,)m 10(communication)m 11(between)m 10(the)m 11(two)m 10(routers)m 11(is)m 10(bidirectional.)m 15(This)m 10(has)m 11(been)m 10(assured)m 11(by)m 10(the)m 11(operation)m 104 1308 p (of)s 8(the)m 8(Hello)m 8(Protocol.)m 13(This)m 8(is)m 8(the)m 8(most)m 8(advanced)m 8(state)m 8(short)m 8(of)m 8(beginning)m 8(adjacency)m 8(establishment.)m 13(The)m 8(\(Backup\))m 104 1358 p (Designated)s 10(Router)m 11(is)m 10(selected)m 10(from)m 11(the)m 10(set)m 11(of)m 10(neighbors)m 11(in)m 10(state)m 10(2-W)m -2(ay)m 9(or)m 11(greater)m -1 r 46 c t-bol.300 @sf 0 1440 p (ExStart)s t-rom.300 @sf 21(This)m 11(is)m 12(the)m 12(\014rst)m 11(step)m 12(in)m 12(creating)m 11(an)m 12(adjacency)m 11(between)m 12(the)m 12(two)m 11(neighboring)m 12(routers.)m 18(The)m 11(goal)m 12(of)m 11(this)m 12(step)m 12(is)m 104 1490 p (to)s 9(decide)m 10(which)m 9(router)m 10(is)m 9(the)m 10(master)m -1 r 44 c 9(and)m 9(to)m 10(decide)m 9(upon)m 9(the)m 10(initial)m 9(sequence)m 10(number)m -1 r 46 c 12(Neighbor)m 10(conversations)m 9(in)m 104 1540 p (this)s 10(state)m 11(or)m 10(greater)m 10(are)m 11(called)m 10(adjacencies.)m t-bol.300 @sf 0 1621 p (Exchange)s t-rom.300 @sf 21(In)m 8(this)m 8(state)m 8(the)m 8(router)m 8(is)m 8(describing)m 9(its)m 8(entire)m 8(link)m 8(state)m 8(database)m 8(by)m 8(sending)m 8(Database)m 8(Description)m 8(packets)m 9(to)m 104 1671 p (the)s 10(neighbor)m -1 r 46 c 13(Each)m 11(Database)m 10(Description)m 11(Packet)m 10(has)m 11 r 97 c 10(sequence)m 11(number)m -1 r 44 c 10(and)m 10(is)m 11(explicitly)m 11(acknowledged.)m 14(Only)m 104 1721 p (one)s 10(Database)m 10(Description)m 10(Packet)m 10(is)m 10(allowed)m 10(outstanding)m 10(at)m 10(any)m 10(one)m 10(time.)m 14(All)m 10(adjacencies)m 10(in)m 10(this)m 10(state)m 10(or)m 10(greater)m 104 1771 p (are)s 10(used)m 10(by)m 10(the)m 10(\015ooding)m 10(procedure.)m 14(In)m 10(fact,)m 10(these)m 10(adjacencies)m 10(are)m 11(fully)m 10(capable)m 10(of)m 10(transmitting)m 10(and)m 10(receiving)m 10(all)m 104 1821 p (types)s 10(of)m 11(OSPF)m 10(routing)m 10(protocol)m 11(packets.)m t-bol.300 @sf 0 1902 p (Loading)s t-rom.300 @sf 21(In)m 11(this)m 10(state,)m 11(Link)m 11(State)m 11(Request)m 10(packets)m 11(are)m 11(sent)m 11(to)m 10(the)m 11(neighbor)m 11(asking)m 11(for)m 10(the)m 11(more)m 11(recent)m 11(advertisements)m 104 1952 p (that)s 10(have)m 11(been)m 10(discovered)m 10(in)m 11(the)m t-bol.300 @sf 10(Exchange)m t-rom.300 @sf 11(state.)m t-bol.300 @sf 0 2034 p (Full)s t-rom.300 @sf 21(In)m 12(this)m 12(state,)m 13(the)m 12(neighboring)m 13(routers)m 12(are)m 12(fully)m 13(adjacent.)m 19(These)m 12(adjacencies)m 13(will)m 12(now)m 12(appear)m 13(in)m 12(router)m 12(links)m 12(and)m 104 2084 p (network)s 10(links)m 11(advertisements.)m t-bol.360 @sf 0 2218 p (10.2)s 50(Events)m 12(causing)m 13(neighbor)m 12(state)m 13(changes)m t-rom.300 @sf 0 2313 p (State)s 12(changes)m 12(can)m 11(be)m 12(ef)m (fected)s 11(by)m 12 r 97 c 12(number)m 11(of)m 12(events.)m 18(These)m 12(events)m 12(are)m 11(shown)m 12(in)m 12(the)m 12(labels)m 11(of)m 12(the)m 12(arcs)m 12(in)m 11(Figures)m 12(12)m 0 2362 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 2467 p (Hello)s 10(Received)m t-rom.300 @sf 21 r 65 c 11(Hello)m 10(packet)m 10(has)m 11(been)m 10(received)m 11(from)m 10 r 97 c 11(neighbor)m -2 r 46 c t-bol.300 @sf 0 2549 p (Start)s t-rom.300 @sf 21(This)m 8(is)m 9(an)m 9(indication)m 8(that)m 9(Hello)m 8(Packets)m 9(should)m 9(now)m 8(be)m 9(sent)m 9(to)m 8(the)m 9(neighbor)m 8(at)m 9(intervals)m 9(of)m 8(HelloInterval)m 9(seconds.)m 104 2599 p (This)s 10(event)m 11(is)m 10(generated)m 10(only)m 11(for)m 10(neighbors)m 11(associated)m 10(with)m 11(non-broadcast)m 10(networks.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(40)m @eop 39 @bop0 39 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 6709739 5854576 30325391 50257264 startTexFig %!PS-Adobe-1.0 %%Title: ../ospf-fig/figure12-13.fig %%Creator: f2ps %%CreationDate: Fri Oct 27 14:55:18 1989 %%For: jmoy@sonny.proteon.com (John Moy,,2478,) %%Pages: 1 %%BoundingBox: 102 89 461 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 % Ellipse newpath 163 480 33 33 0 360 DrawEllipse stroke % Ellipse newpath 307 482 33 33 0 360 DrawEllipse stroke % Ellipse newpath 454 482 33 33 0 360 DrawEllipse stroke % Ellipse newpath 455 605 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 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 341 480 moveto 420 480 lineto stroke newpath 412.000 478.000 moveto 420.000 480.000 lineto 412.000 482.000 lineto stroke % Polyline newpath 454 516 moveto 454 572 lineto stroke newpath 456.000 564.000 moveto 454.000 572.000 lineto 452.000 564.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 113 671 moveto 1 -1 scale (* Event Seq Number Mismatch 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 Inactivity Timer forces Down State) show 1 -1 scale 472 551 moveto 1 -1 scale (Done) show 1 -1 scale 461 534 moveto 1 -1 scale (Loading) show 1 -1 scale 358 471 moveto 1 -1 scale (Done) show 1 -1 scale 351 455 moveto 1 -1 scale (Exchng) show 1 -1 scale 206 470 moveto 1 -1 scale (NegDone) show 1 -1 scale 114 777 moveto 1 -1 scale (Figure 13: Neighbor state changes \(Database Exchange\)) show 1 -1 scale 430 485 moveto 1 -1 scale (Loading) show 1 -1 scale 440 609 moveto 1 -1 scale (Full) show 1 -1 scale 136 484 moveto 1 -1 scale (ExStart) show 1 -1 scale 283 483 moveto 1 -1 scale (Exchng) 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 1716(Page)m 12(39)m @eop 38 @bop0 38 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (Sequence)s 10(Number)m t-rom.300 @sf 21 r 65 c 12(32-bit)m 12(number)m 12(identifying)m 12(individual)m 12(Database)m 12(Description)m 12(packets.)m 18(When)m 12(the)m 12(neighbor)m 12(state)m 104 245 p (ExStart)s 10(is)m 11(entered,)m 10(the)m 10(sequence)m 11(number)m 10(should)m 10(be)m 11(set)m 10(to)m 11 r 97 c 10(value)m 10(not)m 11(previously)m 10(seen)m 10(by)m 11(the)m 10(neighboring)m 11(router)m -2 r 46 c 104 295 p (One)s 13(possible)m 13(scheme)m 12(is)m 13(to)m 13(use)m 13(the)m 13(machine')m -1 r 115 c 12(time)m 12(of)m 13(day)m 13(counter)m -1 r 46 c 20(The)m 13(sequence)m 13(number)m 13(is)m 13(then)m 12(incremented)m 104 345 p (by)s 10(the)m 11(master)m 11(with)m 10(each)m 11(new)m 11(Database)m 10(Description)m 11(packet)m 11(sent.)m 14(The)m 11(slave')m -2 r 115 c 10(sequence)m 11(number)m 10(indicates)m 11(the)m 11(last)m 104 394 p (packet)s 10(received)m 11(from)m 10(the)m 10(master)m -1 r 46 c 13(Only)m 10(one)m 11(packet)m 10(is)m 11(allowed)m 10(outstanding)m 11(at)m 10 r 97 c 10(time.)m t-bol.300 @sf 0 475 p (Neighbor)s 10(ID)m t-rom.300 @sf 21(The)m 11(router)m 10(ID)m 10(of)m 11(the)m 10(neighboring)m 11(router)m -2 r 46 c t-bol.300 @sf 0 556 p (Neighbor)s 10(priority)m t-rom.300 @sf 21(The)m 10(router)m 9(priority)m 9(of)m 9(the)m 10(neighboring)m 9(router)m -1 r 46 c 12(Contained)m 10(in)m 9(the)m 9(neighbor)m 2 r 39 c -1 r 115 c 8(Hello)m 9(packets,)m 10(this)m 9(item)m 104 606 p (is)s 10(used)m 11(when)m 10(selecting)m 10(the)m 11(Designated)m 10(Router)m 11(for)m 10(the)m 11(attached)m 10(network.)m t-bol.300 @sf 0 686 p (Neighbor)s 10(IP)m 11(addr)m (ess)s t-rom.300 @sf 20(The)m 10(IP)m 10(address)m 10(of)m 11(the)m 10(neighboring)m 10(router)m 2 r 39 c -2 r 115 c 10(interface)m 10(to)m 10(the)m 10(attached)m 10(network.)m 14(Used)m 10(as)m 11(the)m 10(Des-)m 104 736 p (tination)s 11(IP)m 11(address)m 12(when)m 11(protocol)m 11(packets)m 12(are)m 11(sent)m 11(as)m 12(unicasts)m 11(along)m 11(this)m 12(adjacency)m -2 r 46 c 15(Also)m 12(used)m 11(to)m 11(construct)m 12(the)m 104 786 p (link)s 10(state)m 10(Originating)m 10(ID)m 11(for)m 10(the)m 10(attached)m 10(network)m 11(if)m 10(the)m 10(neighboring)m 10(router)m 11(is)m 10(selected)m 10(to)m 10(be)m 11(Designated)m 10(Router)m -1 r 46 c 104 836 p (The)s 11(neighbor)m 12(IP)m 11(address)m 11(is)m 12(learned)m 11(when)m 12(Hello)m 11(packets)m 12(are)m 11(received)m 11(from)m 12(the)m 11(neighbor)m 44 c 10(or)m 12(is)m 11(con\014gured)m 12(if)m 11(this)m 104 886 p (is)s 10 r 97 c 11(virtual)m 10(adjacency)m 10(\(see)m 11(Section)m 10(C.4\).)m t-bol.300 @sf 0 966 p (Neighbor)s 1 r 39 c -1 r 115 c 10(Designated)m 10(Router)m t-rom.300 @sf 21(The)m 13(neighbor)m 1 r 39 c -1 r 115 c 12(idea)m 12(of)m 13(the)m 13(Designated)m 13(Router)m -1 r 46 c 20(If)m 12(this)m 13(is)m 13(the)m 13(neighbor)m 12(itself,)m 14(this)m 13(is)m 104 1016 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 1097 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 8(neighbor)m 1 r 39 c -1 r 115 c 6(idea)m 8(of)m 7(the)m 8(Backup)m 7(Designated)m 8(Router)m -1 r 46 c 12(If)m 7(this)m 8(is)m 7(the)m 8(neighbor)m 104 1147 p (itself,)s 11(this)m 11(is)m 10(important)m 11(in)m 11(the)m 11(local)m 11(calculation)m 10(of)m 11(the)m 11(Backup)m 11(Designated)m 11(Router)m -2 r 46 c 14(De\014ned)m 11(only)m 11(on)m 11(multi-access)m 104 1196 p (networks.)s 0 1297 p (The)s 14(next)m 14(set)m 14(of)m 13(variables)m 14(are)m 14(lists)m 14(of)m 14(link)m 14(state)m 13(advertisements.)m 24(These)m 14(lists)m 14(describe)m 14(subsets)m 14(of)m 14(the)m 13(area)m 14(topological)m 0 1347 p (database.)s 29(There)m 15(are)m 15(four)m 16(distinct)m 15(types)m 16(of)m 15(link)m 15(state)m 16(advertisements)m 15(in)m 15(an)m 16(area)m 15(topological)m 15(database:)m 24(router)m 15(links,)m 0 1397 p (network)s 13(links,)m 13(and)m 13(summary)m 13(links)m 13(\(all)m 12(stored)m 13(in)m 13(the)m 13(area)m 13(data)m 12(structure\),)m 14(and)m 12(AS)m 13(external)m 13(links)m 13(\(stored)m 13(in)m 12(the)m 13(global)m 0 1447 p (data)s 10(structure\).)m t-bol.300 @sf 0 1548 p (Link)s 10(state)m 11 r 114 c (etransmission)s 9(list)m t-rom.300 @sf 21(The)m 12(list)m 11(of)m 11(link)m 11(state)m 12(advertisements)m 11(that)m 11(have)m 12(been)m 11(\015ooded)m 11(but)m 11(not)m 12(but)m 11(not)m 11(acknowl-)m 104 1598 p (edged)s 15(on)m 16(this)m 15(adjacency)m -2 r 46 c 28(These)m 16(will)m 15(be)m 15(retransmitted)m 16(at)m 15(intervals)m 16(until)m 15(they)m 15(are)m 16(acknowledged,)m 17(or)m 15(until)m 15(the)m 104 1647 p (adjacency)s 10(is)m 11(destroyed.)m t-bol.300 @sf 0 1728 p (Database)s 10(summary)m 11(list)m t-rom.300 @sf 21(The)m 13(complete)m 13(list)m 13(of)m 13(link)m 14(state)m 13(advertisements)m 13(that)m 13(make)m 13(up)m 13(the)m 14(area)m 13(topological)m 13(database,)m 104 1778 p (at)s 13(the)m 13(moment)m 14(the)m 13(neighbor)m 13(goes)m 13(into)m 14(Database)m 13(Exchange)m 13(state.)m 23(This)m 13(list)m 13(is)m 13(sent)m 14(to)m 13(the)m 13(neighbor)m 14(in)m 13(Database)m 104 1828 p (Description)s 10(packets.)m t-bol.300 @sf 0 1908 p (Link)s 10(state)m 11 r 114 c (equest)s 9(list)m t-rom.300 @sf 21(The)m 13(list)m 13(of)m 13(link)m 13(state)m 13(advertisements)m 13(that)m 13(need)m 13(to)m 13(be)m 13(received)m 12(from)m 13(this)m 13(neighbor)m 13(in)m 13(order)m 13(to)m 104 1958 p (synchronize)s 11(the)m 12(two)m 11(neighbors')m 11(topological)m 12(databases.)m 17(This)m 11(list)m 11(is)m 12(created)m 11(as)m 11(Database)m 12(Description)m 11(packets)m 12(are)m 104 2008 p (received.)s 14(The)m 10(neighbor)m 10(is)m 11(later)m 10(sent)m 11(Link)m 10(State)m 11(Request)m 10(packets)m 10(until)m 11(the)m 10(initialization)m 11(list)m 10(becomes)m 10(empty)m -1 r 46 c t-bol.360 @sf 0 2141 p (10.1)s 50(Neighbor)m 12(states)m t-rom.300 @sf 0 2234 p (The)s 11(state)m 10(of)m 11 r 97 c 10(neighbor)m 11(\(really)m -2 r 44 c 10(the)m 10(state)m 11(of)m 10 r 97 c 11(conversation)m 10(being)m 11(held)m 11(with)m 10 r 97 c 11(neighboring)m 10(router\))m 11(is)m 10(documented)m 11(in)m 10(the)m 0 2284 p (following)s 13(sections.)m 21(The)m 13(states)m 13(are)m 12(listed)m 13(in)m 13(order)m 13(of)m 13(progressing)m 13(functionality)m -2 r 46 c 20(For)m 13(example,)m 13(the)m 13(inoperative)m 13(state)m 13(is)m 0 2334 p (listed)s 8(\014rst,)m 8(followed)m 8(by)m 8 r 97 c 7(list)m 8(of)m 8(intermediates)m 8(states)m 7(before)m 8(the)m 8(\014nal,)m 8(fully)m 8(functional)m 8(state)m 7(is)m 8(achieved.)m 13(The)m 8(speci\014cation)m 0 2384 p (makes)s 10(use)m 9(of)m 10(this)m 10(ordering)m 9(by)m 10(sometimes)m 9(making)m 10(references)m 10(such)m 9(as)m 10(\\those)m 10(neighbors/adjacencies)m 9(in)m 10(state)m 9(greater)m 10(than)m 0 2434 p (X".)s 12(Figures)m 12(12)m 12(and)m 12(13)m 12(show)m 12(the)m 12(graph)m 12(of)m 12(neighbor)m 12(state)m 12(changes.)m 18(The)m 12(arcs)m 12(of)m 12(the)m 12(graphs)m 12(are)m 12(labelled)m 12(with)m 12(the)m 12(event)m 0 2484 p (causing)s 10(the)m 11(state)m 10(change.)m 14(The)m 11(neighbor)m 10(events)m 10(are)m 11(documented)m 10(in)m 11(the)m 10(next)m 10(section.)m 0 2549 p (The)s 11(graph)m 12(in)m 11(Figure)m 12(12)m 11(show)m 12(the)m 11(state)m 12(changes)m 11(ef)m (fected)s 11(by)m 11(the)m 12(Hello)m 11(Protocol.)m 17(The)m 11(Hello)m 12(Protocol)m 11(is)m 12(responsible)m 11(for)m 0 2599 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(38)m @eop 37 @bop0 37 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (other)s 12(end)m 11(of)m 12(the)m 11(virtual)m 12(link\))m 11(every)m 12(HelloInterval)m 12(seconds.)m 17(On)m 11(non-broadcast)m 12(networks,)m 12(the)m 11(sending)m 12(of)m 12(Hello)m 11(packets)m 0 245 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 373 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 469 p (Static)s 13(con\014guration)m 12(information)m 13(is)m 13(necessary)m 13(in)m 12(order)m 13(for)m 13(the)m 13(Hello)m 12(Protocol)m 13(to)m 13(function)m 13(on)m 12(non-broadcast)m 13(networks)m 0 519 p (\(see)s 11(Section)m 10(C.5\).)m 15(Every)m 10(attached)m 11(router)m 10(which)m 11(is)m 11(eligible)m 10(to)m 11(become)m 10(Designated)m 11(Router)m 10(has)m 11 r 97 c 11(con\014gured)m 10(list)m 11(of)m 10(all)m 11(of)m 0 569 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 636 p (The)s 13(interface)m 13(state)m 13(must)m 13(be)m 13(at)m 13(least)m t-bol.300 @sf 13 r 87 c -1(aiting)m t-rom.300 @sf 12(for)m 13(any)m 13(hellos)m 13(to)m 13(be)m 13(sent.)m 22(Hellos)m 13(are)m 13(then)m 13(sent)m 13(directly)m 13(\(as)m 13(unicasts\))m 13(to)m 0 686 p (some)s 12(subset)m 11(of)m 12 r 97 c 12(router)m 1 r 39 c -1 r 115 c 10(neighbors.)m 18(Sometimes)m 12(an)m 11(hello)m 12(is)m 11(sent)m 12(periodically)m 12(on)m 11 r 97 c 12(timer;)m 12(at)m 12(other)m 11(times)m 12(it)m 12(is)m 11(sent)m 12(as)m 11 r 97 c 0 736 p (response)s 9(to)m 8 r 97 c 9(received)m 9(hello.)m 13 r 65 c 8(router)m 2 r 39 c -1 r 115 c 7(hello-sending)m 9(behavior)m 9(varies)m 8(depending)m 9(on)m 8(whether)m 9(the)m 9(router)m 8(itself)m 9(is)m 9(eligible)m 0 786 p (to)s 10(become)m 11(Designated)m 10(Router)m -1 r 46 c 0 853 p (If)s 13(the)m 13(router)m 13(is)m 13(eligible)m 13(to)m 14(become)m 13(Designated)m 13(Router)m -1 r 44 c 13(it)m 13(must)m 13(periodically)m 13(send)m 13(hellos)m 13(to)m 13(all)m 13(neighbors)m 13(that)m 14(are)m 13(also)m 0 903 p (eligible.)s 26(In)m 15(addition,)m 15(if)m 15(the)m 14(router)m 15(is)m 14(itself)m 15(the)m 14(Designated)m 15(Router)m 14(or)m 15(Backup)m 14(Designated)m 15(Router)m -1 r 44 c 15(it)m 14(must)m 15(also)m 14(send)m 0 953 p (periodic)s 12(hellos)m 11(to)m 12(all)m 11(other)m 12(neighbors.)m 17(This)m 12(means)m 11(that)m 12(any)m 11(two)m 12(eligible)m 11(routers)m 12(are)m 12(always)m 11(exchanging)m 12(hellos,)m 12(which)m 0 1003 p (is)s 11(necessary)m 10(for)m 11(the)m 10(correct)m 11(operation)m 10(of)m 11(the)m 11(Designated)m 10(Router)m 11(election)m 10(algorithm.)m 15 r 84 c -2 r 111 c 9(minimize)m 11(the)m 11(number)m 10(of)m 11(hellos)m 0 1053 p (sent,)s 10(the)m 11(number)m 10(of)m 11(eligible)m 10(routers)m 10(on)m 11 r 97 c 10(non-broadcast)m 11(network)m 10(should)m 11(be)m 10(kept)m 10(small.)m 0 1120 p (If)s 15(the)m 15(router)m 15(is)m 15(not)m 15(eligible)m 15(to)m 15(become)m 15(Designated)m 14(Router)m 44 c 15(it)m 15(must)m 15(periodically)m 15(send)m 15(hellos)m 15(to)m 15(both)m 15(the)m 14(Designated)m 0 1170 p (Router)s 10(and)m 10(the)m 10(Backup)m 10(Designated)m 10(Router)m 10(\(if)m 11(they)m 10(exist\).)m 13(It)m 10(must)m 11(also)m 10(send)m 10(an)m 10(hello)m 10(in)m 10(reply)m 10(to)m 10(an)m 10(hello)m 10(received)m 10(from)m 0 1220 p (any)s 13(eligible)m 12(neighbor)m 13(\(other)m 13(than)m 12(the)m 13(current)m 13(Designated)m 12(Router)m 13(and)m 13(Backup)m 12(Designated)m 13(Router\).)m 21(This)m 12(is)m 13(needed)m 13(to)m 0 1270 p (establish)s 10(an)m 11(initial)m 10(bidirectional)m 11(relationship)m 10(with)m 10(any)m 11(potential)m 10(Designated)m 11(Router)m -2 r 46 c 0 1337 p (When)s 10(sending)m 9(Hello)m 10(packets)m 9(periodically)m 10(to)m 9(any)m 10(neighbor)m -1 r 44 c 9(the)m 9(interval)m 10(between)m 10(hellos)m 9(is)m 10(determined)m 9(by)m 10(the)m 9(neighbor)m 2 r 39 c -1 r 115 c 0 1387 p (state.)s 21(If)m 12(the)m 13(neighbor)m 12(is)m 13(in)m 13(state)m t-bol.300 @sf 12(Down)m t-rom.300 @sf 44 c 14(hellos)m 12(are)m 13(sent)m 12(every)m 13(PollInterval)m 13(seconds.)m 20(Otherwise,)m 13(hellos)m 13(are)m 13(sent)m 12(every)m 0 1437 p (HelloInterval)s 10(seconds.)m t-bol.420 @sf 0 1595 p (10)s 58(The)m 15(Neighbor)m 14(Data)m 15(Structur)m 101 c t-rom.300 @sf 0 1706 p (An)s 11(OSPF)m 11(router)m 11(converses)m 10(with)m 11(its)m 11(neighboring)m 11(routers.)m 15(Each)m 11(separate)m 11(conversation)m 11(is)m 11(described)m 11(by)m 11 r 97 c 11(\\neighbor)m 10(data)m 0 1755 p (structure".)s 13(Each)m 9(conversation)m 8(is)m 8(bound)m 9(to)m 8 r 97 c 8(particular)m 9(OSPF)m 8(router)m 8(interface,)m 9(and)m 8(is)m 9(identi\014ed)m 8(either)m 8(by)m 9(the)m 8(neighboring)m 0 1805 p (router)s 2 r 39 c -2 r 115 c 15(OSPF)m 15(router)m 15(ID)m 16(or)m 15(by)m 16(its)m 15(Neighbor)m 16(IP)m 15(address)m 15(\(see)m 16(below\).)m 29(Thus)m 15(if)m 16(the)m 15(OSPF)m 15(router)m 16(and)m 15(another)m 16(router)m 0 1855 p (have)s 10(multiple)m 10(attached)m 10(networks)m 10(in)m 11(common,)m 10(multiple)m 10(conversations)m 10(ensue,)m 10(each)m 10(described)m 10(by)m 10 r 97 c 10(unique)m 11(neighbor)m 10(data)m 0 1905 p (structure.)s 14(Each)m 10(separate)m 11(conversation)m 10(is)m 11(loosely)m 10(referred)m 10(to)m 11(in)m 10(the)m 11(text)m 10(as)m 10(being)m 11 r 97 c 10(separate)m 11(\\neighbor)m 1(".)m 0 1973 p (The)s 13(neighbor)m 13(data)m 12(structure)m 13(contains)m 13(all)m 13(information)m 13(pertinent)m 12(to)m 13(the)m 13(forming)m 13(or)m 13(formed)m 13(adjacency)m 12(between)m 13(the)m 13(two)m 0 2022 p (neighbors.)s 21(\(However)m -1 r 44 c 13(remember)m 13(that)m 12(not)m 13(all)m 13(neighbors)m 13(become)m 13(adjacent.\))m 21(An)m 12(adjacency)m 13(can)m 13(be)m 13(viewed)m 13(as)m 12 r 97 c 13(highly)m 0 2072 p (developed)s 10(conversation)m 11(between)m 10(two)m 11(routers.)m t-bol.300 @sf 0 2181 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(the)m 10(next)m 11(section.)m t-bol.300 @sf 0 2264 p (Inactivity)s 10 r 84 c (imer)s t-rom.300 @sf 20 r 65 c 13(single)m 12(shot)m 13(timer)m 12(whose)m 13(\014ring)m 12(indicates)m 13(that)m 12(no)m 13(Hello)m 12(Packet)m 13(has)m 12(been)m 13(seen)m 12(from)m 13(this)m 12(neighbor)m 104 2314 p (recently)s -2 r 46 c t-bol.300 @sf 0 2397 p (Master/Slave)s t-rom.300 @sf 21(When)m 9(the)m 10(two)m 9(neighbors)m 10(are)m 10(exchanging)m 9(databases,)m 10(they)m 9(form)m 10 r 97 c 9(Master)m 10(Slave)m 10(relationship.)m 13(The)m 10(Master)m 104 2447 p (sends)s 13(the)m 13(\014rst)m 14(Database)m 13(Description)m 13(Packet,)m 14(and)m 14(is)m 13(the)m 13(only)m 13(part)m 14(that)m 13(is)m 13(allowed)m 14(to)m 13(retransmit.)m 22(The)m 14(slave)m 13(can)m 104 2497 p (only)s 10(respond)m 11(to)m 10(the)m 11(master)m 2 r 39 c -2 r 115 c 10(Database)m 10(Description)m 11(Packets.)m 14(The)m 11(master/slave)m 10(relationship)m 11(is)m 11(negotiated)m 10(in)m 11(state)m t-bol.300 @sf 104 2547 p (ExStart)s t-rom.300 @sf 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(37)m @eop 36 @bop0 36 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 104 195 p (longer)s 12(be)m 11(eligible)m 12(for)m 12(Backup)m 12(Designated)m 12(Router)m 12(election.)m 18(Among)m 12(other)m 11(things,)m 13(this)m 11(will)m 12(ensure)m 12(that)m 12(no)m 12(router)m 104 245 p (will)s 10(declare)m 11(itself)m 10(both)m 10(Backup)m 11(Designated)m 10(Router)m 11(and)m 10(Designated)m 11(Router)m -2 r 46 c t-rom.210 @sf 1351 230 p 53 c t-rom.300 @sf 52 325 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 375 p (See)s 12(Sections)m 13(7.3)m 13(and)m 12(7.4)m 13(for)m 12(the)m 13(additional)m 13(duties)m 12(this)m 13(would)m 13(entail.)m 20(The)m 13(router)m 1 r 39 c -1 r 115 c 11(interface)m 13(state)m 13(should)m 12(be)m 13(set)m 104 424 p (accordingly)s -2 r 46 c 19(If)m 12(the)m 12(router)m 12(itself)m 13(is)m 12(now)m 12(Designated)m 13(Router)m -1 r 44 c 12(the)m 12(new)m 12(interface)m 12(state)m 13(is)m t-bol.300 @sf 12(DR)m t-rom.300 @sf 46 c 12(If)m 13(the)m 12(router)m 12(itself)m 12(is)m 104 474 p (now)s 12(Backup)m 13(Designated)m 12(Router)m 44 c 12(the)m 12(new)m 12(interface)m 13(state)m 12(is)m t-bol.300 @sf 13(Backup)m t-rom.300 @sf 46 c 20(Otherwise,)m 13(the)m 12(new)m 13(interface)m 12(state)m 13(is)m t-bol.300 @sf 12(DR)m 104 524 p (Other)s t-rom.300 @sf 46 c 52 604 p (6.)s 21(If)m 11(the)m 12(attached)m 12(network)m 12(is)m 12(non-broadcast,)m 12(and)m 12(the)m 12(router)m 12(itself)m 12(has)m 12(just)m 11(become)m 12(\(Backup\))m 12(Designated)m 12(Router)m -1 r 44 c 12(it)m 104 654 p (must)s 7(start)m 8(sending)m 7(hellos)m 7(to)m 8(those)m 7(neighbors)m 7(that)m 8(are)m 7(not)m 8(eligible)m 7(to)m 7(become)m 8(Designated)m 7(Router)m 7(\(see)m 8(Section)m 7(9.5.1\).)m 104 704 p (This)s 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 11(for)m 10(each)m 10(neighbor)m 11(having)m 10 r 97 c t-bol.300 @sf 11(Router)m 10(Priority)m t-rom.300 @sf 10(of)m 11(0.)m 52 783 p (7.)s 21(If)m 15(the)m 15(above)m 16(calculations)m 15(have)m 16(caused)m 15(the)m 16(identity)m 15(of)m 16(the)m 15(\(Backup\))m 16(Designated)m 15(Router)m 16(to)m 15(change,)m 17(the)m 15(set)m 16(of)m 104 833 p (adjacencies)s 11(associated)m 12(with)m 11(this)m 12(interface)m 11(will)m 12(need)m 11(to)m 12(be)m 11(modi\014ed.)m 17(Some)m 12(adjacencies)m 11(may)m 12(need)m 11(to)m 11(be)m 12(formed,)m 104 883 p (and)s 10(others)m 11(may)m 11(need)m 10(to)m 11(be)m 10(broken.)m 15 r 84 c -2 r 111 c 9(accomplish)m 11(this,)m 10(invoke)m 11(the)m 11(event)m t-bol.300 @sf 10(AdjOK?)m t-rom.300 @sf 11(on)m 10(all)m 11(neighbors)m 11(whose)m 10(state)m 104 933 p (is)s 10(at)m 11(least)m t-bol.300 @sf 10(2-W)m -1(ay)m t-rom.300 @sf 46 c 13(This)m 10(will)m 10(cause)m 11(their)m 10(eligibility)m 11(for)m 10(adjacency)m 11(to)m 10(be)m 10(reexamined)m 11(\(see)m 10(Sections)m 11(10.3)m 10(and)m 10(10.4\).)m 0 1031 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 1081 p (Router)s 14(to)m 13(Designated)m 14(Router)m -1 r 44 c 13(when)m 14(the)m 13(current)m 14(Designated)m 13(Router)m 14(fails.)m 23(This)m 14(orderly)m 13(transition)m 14(is)m 13(ensured)m 14(through)m 0 1131 p (the)s 11(introduction)m 12(of)m 11(hysteresis:)m 15(no)m 12(new)m 11(Backup)m 11(router)m 12(can)m 11(be)m 11(chosen)m 11(until)m 12(the)m 11(old)m 11(Backup)m 11(accepts)m 12(its)m 11(new)m 11(Designated)m 0 1180 p (Router)s 10(responsibilities.)m 0 1245 p (If)s 11(Router)m 11 r 88 c 10(is)m 11(not)m 11(itself)m 11(eligible)m 11(to)m 10(become)m 11(Designated)m 11(Router)m -1 r 44 c 10(it)m 11(is)m 11(possible)m 11(that)m 10(neither)m 11 r 97 c 11(Backup)m 11(Designated)m 11(Router)m 0 1294 p (nor)s 10 r 97 c 9(Designated)m 10(Router)m 10(will)m 9(be)m 10(selected)m 9(in)m 10(the)m 10(above)m 9(procedure.)m 14(Note)m 10(also)m 9(that)m 10(if)m 9(Router)m 10 r 88 c 10(is)m 9(the)m 10(only)m 10(attached)m 9(router)m 0 1344 p (that)s 13(is)m 13(eligible)m 13(to)m 12(become)m 13(Designated)m 13(Router)m -1 r 44 c 13(it)m 13(will)m 13(select)m 12(itself)m 13(as)m 13(Designated)m 13(Router)m 13(and)m 13(there)m 12(will)m 13(be)m 13(no)m 13(Backup)m 0 1394 p (Designated)s 10(Router)m 11(for)m 10(the)m 11(network.)m t-bol.360 @sf 0 1526 p (9.5)s 50(Sending)m 12(Hello)m 13(packets)m t-rom.300 @sf 0 1618 p (Hello)s 13(packets)m 12(are)m 13(sent)m 12(out)m 13(each)m 12(functioning)m 13(router)m 12(interface.)m 20(They)m 13(are)m 12(used)m 13(to)m 12(discover)m 13(and)m 12(maintain)m 13(neighbor)m 12(rela-)m 0 1668 p (tionships.)s t-rom.210 @sf 181 1653 p 54 c t-rom.300 @sf 219 1668 p (On)s 12(multi-access)m 13(networks,)m 13(hellos)m 13(are)m 12(also)m 13(used)m 13(to)m 12(elect)m 13(the)m 12(Designated)m 13(Router)m 13(and)m 12(Backup)m 13(Designated)m 0 1718 p (Router)s -1 r 44 c 10(and)m 10(in)m 11(that)m 10(way)m 10(determine)m 11(what)m 10(adjacencies)m 11(should)m 10(be)m 10(formed.)m 0 1782 p (The)s 11(format)m 11(of)m 11 r 97 c 11(Hello)m 11(packet)m 11(is)m 11(detailed)m 11(in)m 11(Section)m 11(A.4.)m 15(The)m 11(Hello)m 11(Packet)m 11(contains)m 11(the)m 11(router)m 1 r 39 c -1 r 115 c 10(Router)m 11(Priority)m 11(\(used)m 0 1832 p (in)s 10(choosing)m 9(the)m 10(Designated)m 10(Router\),)m 10(and)m 9(the)m 10(interval)m 10(between)m 9(Hello)m 10(broadcasts)m 10(\(HelloInterval\).)m 13(The)m 10(Hello)m 10(Packet)m 9(also)m 0 1882 p (indicates)s 13(how)m 13(often)m 13 r 97 c 13(neighbor)m 13(must)m 13(be)m 13(heard)m 13(from)m 13(to)m 13(remain)m 13(active)m 13(\(RouterDeadInterval\).)m 22(Both)m 13(HelloInterval)m 13(and)m 0 1932 p (RouterDeadInterval)s 10(must)m 11(be)m 10(the)m 11(same)m 10(for)m 10(all)m 11(routers)m 10(attached)m 11(to)m 10 r 97 c 11(common)m 10(network.)m 0 1996 p (In)s 11(order)m 12(to)m 11(ensure)m 11(two-way)m 11(communication)m 12(between)m 11(adjacent)m 11(routers,)m 12(the)m 11(Hello)m 12(packet)m 11(contains)m 11(the)m 11(list)m 12(of)m 11(all)m 11(routers)m 0 2046 p (from)s 10(which)m 11(hellos)m 10(have)m 10(been)m 11(seen)m 10(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 10(choice)m 11(for)m 10(Designated)m 0 2096 p (Router)s 10(and)m 11(Backup)m 10(Designated)m 11(Router)m -2 r 46 c 13 r 65 c 11(value)m 10(of)m 11 r 48 c 10(in)m 10(these)m 11(\014elds)m 10(means)m 11(that)m 10(one)m 10(has)m 11(not)m 10(yet)m 11(been)m 10(selected.)m 0 2160 p (On)s 13(broadcast)m 12(networks)m 13(and)m 13(physical)m 13(point-to-point)m 12(networks,)m 13(Hello)m 13(packets)m 13(are)m 13(sent)m 12(every)m 13(HelloInterval)m 13(seconds)m 12(to)m 0 2210 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 2242 p 780 2 ru t-rom.180 @sf 45 2270 p 53 c t-rom.240 @sf 60 2282 p (It)s 10(is)m 10(instructive)m 10(to)m 10(see)m 10(what)m 9(happens)m 10(when)m 10(the)m 10(Designated)m 10(Router)m 10(for)m 10(the)m 10(network)m 10(crashes.)m 15(Call)m 10(the)m 10(Designated)m 10(Router)m 10(for)m 10(the)m 10(network)m 10 r 82 c -1(T1,)m 0 2321 p (and)s 10(the)m 10(the)m 10(Backup)m 10(Designated)m 10(Router)m 10 r 82 c -1(T2.)m 15(If)m 10(router)m 10 r 82 c -1(T1)m 8(crashes)m 10(\(or)m 10(maybe)m 10(its)m 10(interface)m 10(to)m 10(the)m 10(network)m 10(dies\),)m 10(the)m 10(other)m 10(routers)m 10(on)m 10(the)m 10(network)m 0 2361 p (will)s 10(detect)m 10 r 82 c -1(T1')m -1 r 115 c 9(absence)m 10(within)m 10(RouterDeadInterval)m 10(seconds.)m 17(All)m 10(routers)m 11(may)m 10(not)m 10(detect)m 10(this)m 10(at)m 11(precisely)m 10(the)m 10(same)m 10(time;)m 11(the)m 10(routers)m 11(that)m 10(detect)m 0 2400 p 82 c -1(T1')m -2 r 115 c 8(absence)m 9(before)m 9 r 82 c -1(T2)m 8(does)m 9(will,)m 10(for)m 9 r 97 c 9(time,)m 9(select)m 9 r 82 c -1(T2)m 8(to)m 9(be)m 9(both)m 9(Designated)m 9(Router)m 9(and)m 9(Backup)m 10(Designated)m 9(Router)m -1 r 46 c 12(When)m 9 r 82 c -1(T2)m 8(detects)m 9(that)m 0 2440 p 82 c -1(T1)m 8(is)m 9(gone)m 9(it)m 8(will)m 9(move)m 9(itself)m 9(to)m 9(Designated)m 9(Router)m -1 r 46 c 12(At)m 9(this)m 8(time,)m 9(the)m 9(remaining)m 9(router)m 9(having)m 9(highest)m 9(Router)m 9(Priority)m 9(will)m 8(be)m 9(selected)m 9(as)m 9(Backup)m 0 2479 p (Designated)s 8(Router)m -1 r 46 c t-rom.180 @sf 45 2508 p 54 c t-rom.240 @sf 60 2520 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 2559 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 2599 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(36)m @eop 35 @bop0 35 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 161 195 p (State\(s\):)s 75(Any)m 11(State)m 191 253 p (Event:)s t-bol.300 @sf 75(Interface)m 11(Down)m t-rom.300 @sf 123 311 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 369 p (Action:)s 75(All)m 10(interface)m 10(variables)m 10(are)m 10(reset,)m 10(and)m 10(interface)m 10(timers)m 10(disabled.)m 13(Also,)m 10(all)m 10(neighbor)m 10(con-)m 375 419 p (nections)s 13(associated)m 14(with)m 13(the)m 13(interface)m 14(are)m 13(destroyed.)m 23(This)m 13(is)m 13(done)m 14(by)m 13(generating)m 13(the)m 375 469 p (event)s t-bol.300 @sf 10(KillNbr)m t-rom.300 @sf 11(on)m 10(all)m 11(associated)m 10(neighbors)m 10(\(see)m 11(Section)m 10(10.2\).)m 161 578 p (State\(s\):)s 75(Any)m 11(State)m 191 636 p (Event:)s t-bol.300 @sf 75(Loop)m 11(Ind)m t-rom.300 @sf 123 694 p (New)s 10(state:)m t-bol.300 @sf 75(Loopback)m t-rom.300 @sf 175 753 p (Action:)s 75(Since)m 11(this)m 10(interface)m 11(is)m 11(no)m 10(longer)m 11(connected)m 10(to)m 11(the)m 11(attached)m 10(network)m 11(the)m 11(actions)m 10(associ-)m 375 802 p (ated)s 10(with)m 11(the)m 10(above)m t-bol.300 @sf 11(Interface)m 10(Down)m t-rom.300 @sf 10(event)m 11(are)m 10(executed.)m 161 912 p (State\(s\):)s t-bol.300 @sf 75(Loopback)m t-rom.300 @sf 191 970 p (Event:)s t-bol.300 @sf 75(Unloop)m 11(Ind)m t-rom.300 @sf 123 1028 p (New)s 10(state:)m t-bol.300 @sf 75(Down)m t-rom.300 @sf 175 1086 p (Action:)s 75(No)m 10(actions)m 9(are)m 10(necessary)m -2 r 46 c 13(For)m 10(example,)m 10(the)m 9(interface)m 10(variables)m 10(have)m 9(already)m 10(been)m 10(reset)m 375 1136 p (upon)s 13(entering)m 14(the)m t-bol.300 @sf 13(Loopback)m t-rom.300 @sf 13(state.)m 23(Note)m 14(that)m 13(reception)m 13(of)m 14(an)m t-bol.300 @sf 13(Interface)m 14(Up)m t-rom.300 @sf 13(event)m 13(is)m 375 1186 p (necessary)s 10(before)m 11(the)m 10(interface)m 11(again)m 10(becomes)m 10(fully)m 11(functional.)m t-bol.360 @sf 0 1322 p (9.4)s 50(Electing)m 12(the)m 13(Designated)m 12(Router)m t-rom.300 @sf 0 1418 p (The)s 13(Designated)m 13(Router)m 13(calculation)m 13(proceeds)m 14(as)m 13(follows:)m 19(Call)m 13(the)m 13(router)m 13(doing)m 13(the)m 14(calculation)m 13(Router)m 13(X.)m 13(The)m 13(list)m 13(of)m 0 1468 p (neighbors)s 13(attached)m 13(to)m 13(the)m 13(network)m 12(and)m 13(having)m 13(established)m 13(bidirectional)m 13(communication)m 13(with)m 13(Router)m 13 r 88 c 13(is)m 13(examined.)m 0 1518 p (This)s 12(list)m 12(is)m 12(precisely)m 12(the)m 12(collection)m 12(of)m 12(Router)m 12(X')m -1 r 115 c 11(neighbors)m 11(\(on)m 12(this)m 12(network\))m 12(whose)m 12(state)m 12(is)m 12(greater)m 12(than)m 12(or)m 12(equal)m 12(to)m t-bol.300 @sf 0 1567 p (2-W)s -1(ay)m t-rom.300 @sf 11(\(see)m 13(Section)m 13(10.1\).)m 21(Router)m 13 r 88 c 13(itself)m 12(is)m 13(also)m 13(considered)m 13(to)m 12(be)m 13(on)m 13(the)m 13(list.)m 21(Discard)m 12(all)m 13(routers)m 13(from)m 13(the)m 13(list)m 12(that)m 0 1617 p (are)s 10(ineligible)m 9(to)m 10(become)m 10(Designated)m 10(Router)m -2 r 46 c 13(\(Routers)m 10(having)m 10(Router)m 9(Priority)m 10(of)m 10 r 48 c 10(are)m 9(ineligible)m 10(to)m 10(become)m 9(Designated)m 0 1667 p (Router.\))s 14(The)m 10(following)m 11(steps)m 10(are)m 11(then)m 10(executed,)m 10(considering)m 11(only)m 10(those)m 11(routers)m 10(that)m 10(remain)m 11(on)m 10(the)m 11(list:)m 52 1776 p (1.)s 21(Note)m 10(the)m 11(current)m 11(values)m 11(for)m 10(the)m 11(network')m -1 r 115 c 10(Designated)m 10(Router)m 11(and)m 11(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 14(This)m 11(is)m 11(used)m 10(later)m 104 1826 p (for)s 10(comparison)m 11(purposes.)m 52 1909 p (2.)s 21(Calculate)m 13(the)m 13(new)m 13(Backup)m 13(Designated)m 13(Router)m 14(for)m 13(the)m 13(network)m 13(as)m 13(follows.)m 22(If)m 13(one)m 14(or)m 13(more)m 13(of)m 13(the)m 13(routers)m 13(have)m 104 1959 p (declared)s 12(themselves)m 12(Backup)m 12(Designated)m 12(Router)m 12(\(they)m 12(have)m 12(listed)m 12(themselves)m 12(as)m 12(Backup)m 12(Designated)m 12(Router)m 12(in)m 104 2009 p (their)s 14(Hello)m 14(Packets\))m 14(the)m 15(one)m 14(having)m 14(highest)m 14(Router)m 15(Priority)m 14(is)m 14(declared)m 14(to)m 15(be)m 14(Backup)m 14(Designated)m 14(Router)m -1 r 46 c 24(In)m 104 2058 p (case)s 12(of)m 13 r 97 c 12(tie,)m 13(the)m 13(one)m 12(having)m 12(the)m 13(highest)m 12(Router)m 13(ID)m 12(is)m 13(chosen.)m 20(If)m 12(no)m 13(routers)m 12(have)m 13(declared)m 12(themselves)m 13(Backup)m 104 2108 p (Designated)s 9(Router)m -1 r 44 c 9(choose)m 9(the)m 9(router)m 9(having)m 9(highest)m 9(Router)m 10(Priority)m -2 r 44 c 8(excluding)m 9(those)m 10(routers)m 9(who)m 9(have)m 9(declared)m 104 2158 p (themselves)s 10(Designated)m 11(Router)m -1 r 44 c 9(and)m 11(again)m 10(use)m 11(the)m 10(Router)m 10(ID)m 11(to)m 10(break)m 11(ties.)m 52 2241 p (3.)s 21(Calculate)m 12(the)m 12(new)m 13(Designated)m 12(Router)m 13(for)m 12(the)m 13(network)m 12(as)m 13(follows.)m 20(If)m 12(one)m 13(or)m 12(more)m 13(of)m 12(the)m 13(routers)m 12(have)m 13(declared)m 104 2291 p (themselves)s 9(Designated)m 8(Router)m 9(\(they)m 9(have)m 9(listed)m 8(themselves)m 9(as)m 9(Designated)m 9(Router)m 8(in)m 9(their)m 9(Hello)m 9(Packets\))m 8(the)m 9(one)m 104 2341 p (having)s 11(highest)m 11(Router)m 11(Priority)m 11(is)m 11(declared)m 11(to)m 11(be)m 11(Designated)m 11(Router)m -1 r 46 c 15(In)m 11(case)m 11(of)m 11 r 97 c 11(tie,)m 11(the)m 11(one)m 11(having)m 11(the)m 11(highest)m 104 2391 p (Router)s 15(ID)m 16(is)m 15(chosen.)m 30(If)m 15(no)m 16(routers)m 16(have)m 15(declared)m 16(themselves)m 15(Designated)m 16(Router)m -1 r 44 c 16(promote)m 16(the)m 15(new)m 16(Backup)m 104 2440 p (Designated)s 10(Router)m 11(to)m 10(Designated)m 10(Router)m -1 r 46 c 52 2523 p (4.)s 21(If)m 8(Router)m 9 r 88 c 9(is)m 9(now)m 9(newly)m 9(the)m 9(\(Backup\))m 9(Designated)m 8(Router)m 44 c 8(or)m 9(is)m 9(now)m 9(no)m 8(longer)m 9(the)m 9(\(Backup\))m 9(Designated)m 9(Router)m -1 r 44 c 104 2573 p (repeat)s 10(steps)m 10 r 50 c 10(and)m 10(3.)m 14(For)m 10(example,)m 10(if)m 11(Router)m 10 r 88 c 10(is)m 10(now)m 10(the)m 10(Designated)m 10(Router)m 44 c 9(when)m 10(step)m 10 r 50 c 10(is)m 10(repeated)m 10 r 88 c 11(will)m 10(no)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(35)m @eop 34 @bop0 34 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (9.3)s 50(The)m 12(Interface)m 13(state)m 12(machine)m t-rom.300 @sf 0 289 p 65 c 11(detailed)m 11(description)m 10(of)m 11(the)m 11(interface)m 11(state)m 11(changes)m 11(follows.)m 15(Each)m 11(state)m 10(change)m 11(is)m 11(invoked)m 11(by)m 11(an)m 11(event)m 10(\(Section)m 11(9.2\).)m 0 339 p (This)s 13(event)m 14(may)m 13(produce)m 13(dif)m (ferent)s 13(ef)m (fects,)s 13(depending)m 13(on)m 13(the)m 14(current)m 13(state)m 13(of)m 13(the)m 14(interface.)m 22(For)m 13(this)m 14(reason,)m 14(the)m 13(state)m 0 389 p (machine)s 12(below)m 12(is)m 11(or)m (ganized)s 12(by)m 11(current)m 12(interface)m 12(state)m 12(and)m 12(received)m 11(event.)m 18(Each)m 12(entry)m 12(in)m 12(the)m 12(state)m 12(machine)m 11(describes)m 0 439 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 505 p (When)s 9(an)m 9(interface')m -1 r 115 c 8(state)m 9(changes,)m 10(it)m 9(may)m 9(be)m 9(necessary)m 9(to)m 9(originate)m 10 r 97 c 9(new)m 9(router)m 9(links)m 9(advertisement.)m 14(See)m 9(Section)m 9(12.3)m 0 555 p (for)s 10(more)m 11(details.)m 0 621 p (Some)s 11(of)m 11(the)m 11(required)m 10(actions)m 11(below)m 11(involve)m 11(generating)m 11(events)m 11(for)m 10(the)m 11(neighbor)m 11(state)m 11(machine.)m 15(For)m 11(example,)m 11(when)m 11(an)m 0 671 p (interface)s 13(becomes)m 13(inoperative,)m 14(all)m 13(neighbor)m 13(connections)m 13(associated)m 14(with)m 13(the)m 13(interface)m 13(must)m 13(be)m 13(destroyed.)m 22(For)m 13(more)m 0 720 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 825 p (State\(s\):)s t-bol.300 @sf 75(Down)m t-rom.300 @sf 191 883 p (Event:)s t-bol.300 @sf 75(Interface)m 11(Up)m t-rom.300 @sf 123 941 p (New)s 10(state:)m 75(Depends)m 11(on)m 10(action)m 11(routine)m 175 999 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 1049 p (interface.)s 17(If)m 11(the)m 12(attached)m 11(network)m 12(is)m 11 r 97 c 12(physical)m 11(point-to-point)m 11(network)m 12(or)m 11(virtual)m 12(link,)m 375 1099 p (the)s 14(interface)m 13(state)m 14(transitions)m 13(to)m t-bol.300 @sf 14(Point-to-Point)m t-rom.300 @sf 46 c 23(Else,)m 14(if)m 14(the)m 13(router)m 14(is)m 14(not)m 13(eligible)m 14(to)m 375 1148 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 1206 p (Otherwise,)s 14(the)m 12(attached)m 13(network)m 13(is)m 13(multi-access)m 13(and)m 13(the)m 13(router)m 13(is)m 13(eligible)m 13(to)m 13(become)m 375 1256 p (Designated)s 10(Router)m -1 r 46 c 13(In)m 10(this)m 10(case,)m 10(in)m 10(an)m 11(attempt)m 10(to)m 10(discover)m 10(the)m 10(attached)m 10(network')m -1 r 115 c 9(Des-)m 375 1306 p (ignated)s 14(Router)m 13(the)m 14(interface)m 14(state)m 14(is)m 13(set)m 14(to)m t-bol.300 @sf 14 r 87 c -2(aiting)m t-rom.300 @sf 13(and)m 14(the)m 14(single)m 13(shot)m t-bol.300 @sf 14 r 87 c -1(ait)m 12 r 84 c (imer)s t-rom.300 @sf 375 1356 p (is)s 13(started.)m 22(If)m 14(in)m 13(addition)m 13(the)m 13(attached)m 14(network)m 13(is)m 13(non-broadcast,)m 14(examine)m 13(the)m 13(con\014g-)m 375 1406 p (ured)s 10(list)m 10(of)m 10(neighbors)m 10(for)m 10(this)m 10(interface)m 10(and)m 10(generate)m 10(the)m 10(neighbor)m 11(event)m t-bol.300 @sf 10(Start)m t-rom.300 @sf 10(for)m 10(each)m 375 1456 p (neighbor)s 10(that)m 11(is)m 10(also)m 11(eligible)m 10(to)m 10(become)m 11(Designated)m 10(Router)m -1 r 46 c 161 1560 p (State\(s\):)s t-bol.300 @sf 75 r 87 c -1(aiting)m t-rom.300 @sf 191 1618 p (Event:)s t-bol.300 @sf 75(Backup)m 11(Seen)m t-rom.300 @sf 123 1676 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 1734 p (Action:)s 75(Calculate)m 13(the)m 13(attached)m 13(network')m -2 r 115 c 12(Backup)m 13(Designated)m 13(Router)m 13(and)m 12(Designated)m 13(Router)m 44 c 375 1784 p (as)s 11(shown)m 12(in)m 11(Section)m 12(9.4.)m 16(As)m 12 r 97 c 11(result)m 12(of)m 11(this)m 11(calculation,)m 12(the)m 11(new)m 12(state)m 11(of)m 12(the)m 11(interface)m 375 1834 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 1938 p (State\(s\):)s t-bol.300 @sf 75 r 87 c -1(aiting)m t-rom.300 @sf 191 1996 p (Event:)s t-bol.300 @sf 75 r 87 c -1(ait)m 9 r 84 c (imer)s t-rom.300 @sf 123 2054 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 2112 p (Action:)s 75(Calculate)m 13(the)m 13(attached)m 13(network')m -2 r 115 c 12(Backup)m 13(Designated)m 13(Router)m 13(and)m 12(Designated)m 13(Router)m 44 c 375 2162 p (as)s 11(shown)m 12(in)m 11(Section)m 12(9.4.)m 16(As)m 12 r 97 c 11(result)m 12(of)m 11(this)m 11(calculation,)m 12(the)m 11(new)m 12(state)m 11(of)m 12(the)m 11(interface)m 375 2212 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 2316 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 2374 p (Event:)s t-bol.300 @sf 75(Neighbor)m 11(Change)m t-rom.300 @sf 123 2432 p (New)s 10(state:)m 75(Depends)m 11(upon)m 10(action)m 11(routine.)m 175 2490 p (Action:)s 75(Recalculate)m 9(the)m 8(attached)m 9(network')m -1 r 115 c 8(Backup)m 8(Designated)m 9(Router)m 9(and)m 9(Designated)m 8(Router)m 44 c 375 2540 p (as)s 11(shown)m 12(in)m 11(Section)m 12(9.4.)m 16(As)m 12 r 97 c 11(result)m 12(of)m 11(this)m 11(calculation,)m 12(the)m 11(new)m 12(state)m 11(of)m 12(the)m 11(interface)m 375 2590 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(34)m @eop 33 @bop0 33 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (DR)s t-rom.300 @sf 21(In)m 14(this)m 15(state,)m 16(this)m 14(router)m 15(itself)m 14(is)m 15(the)m 15(Designated)m 14(Router)m 15(on)m 15(the)m 14(attached)m 15(network.)m 26(Adjacencies)m 15(are)m 14(established)m 104 245 p (to)s 12(all)m 13(other)m 13(routers)m 12(attached)m 13(to)m 13(the)m 12(network.)m 21(The)m 12(router)m 13(must)m 13(also)m 12(originate)m 13 r 97 c 13(network)m 12(links)m 13(advertisement)m 12(for)m 104 295 p (the)s 12(network)m 12(node.)m 19(The)m 13(advertisement)m 12(will)m 12(contain)m 12(links)m 12(to)m 13(all)m 12(routers)m 12(\(including)m 12(the)m 13(Designated)m 12(Router)m 12(itself\))m 104 345 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 481 p (9.2)s 50(Events)m 12(causing)m 13(interface)m 12(state)m 13(changes)m t-rom.300 @sf 0 577 p (State)s 11(changes)m 10(can)m 11(be)m 10(ef)m (fected)s 10(by)m 10 r 97 c 11(number)m 10(of)m 11(events.)m 14(These)m 11(events)m 10(are)m 11(pictured)m 10(as)m 11(the)m 10(labelled)m 11(arcs)m 10(in)m 11(Figure)m 10 r 49 c (1.)s 13(The)m 0 627 p (label)s 10(de\014nitions)m 10(are)m 10(listed)m 10(below)m -2 r 46 c 13(For)m 10 r 97 c 10(detailed)m 10(explanation)m 10(of)m 10(the)m 10(ef)m (fect)s 9(os)m 10(these)m 10(events)m 10(on)m 10(OSPF)m 9(protocol)m 10(operation,)m 0 676 p (consult)s 10(Section)m 11(9.3.)m t-bol.300 @sf 0 786 p (Interface)s 10(Up)m t-rom.300 @sf 21(Lower)m (-level)s 6(protocols)m 7(have)m 7(indicated)m 7(that)m 8(the)m 7(network)m 7(interface)m 7(is)m 7(operational.)m 12(This)m 8(enables)m 7(the)m 7(interface)m 104 835 p (to)s 12(transition)m 12(out)m 12(of)m 11(Down)m 12(state.)m 19(On)m 12(virtual)m 12(links,)m 12(the)m 12(interface)m 12(operational)m 12(indication)m 12(is)m 12(actually)m 11 r 97 c 12(result)m 12(of)m 12(the)m 104 885 p (shortest)s 10(path)m 11(calculation)m 10(\(see)m 10(Section)m 11(16.7\).)m t-bol.300 @sf 0 968 p 87 c -1(ait)m 9 r 84 c (imer)s t-rom.300 @sf 20(The)m 16 r 87 c -2(ait)m 14(timer)m 16(has)m 16(\014red,)m 17(indicating)m 16(the)m 15(end)m 16(of)m 16(the)m 16(waiting)m 16(period)m 15(that)m 16(is)m 16(required)m 16(before)m 15(electing)m 16 r 97 c 104 1018 p (\(Backup\))s 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 1101 p (Backup)s 10(seen)m t-rom.300 @sf 21(The)m 10(router)m 10(has)m 10(detected)m 9(the)m 10(existence)m 10(or)m 10(non-existence)m 10(of)m 10 r 97 c 9(Backup)m 10(Designated)m 10(Router)m 10(for)m 10(the)m 9(network.)m 104 1151 p (This)s 12(is)m 13(done)m 12(in)m 12(one)m 13(of)m 12(two)m 12(ways.)m 20(First,)m 13 r 97 c 12(Hello)m 13(Packet)m 12(may)m 13(be)m 12(received)m 12(from)m 13 r 97 c 12(neighbor)m 12(claiming)m 13(to)m 12(be)m 13(itself)m 104 1201 p (the)s 11(Backup)m 12(Designated)m 12(Router)m -2 r 46 c 17(Alternatively)m -2 r 44 c 11 r 97 c 12(Hello)m 11(Packet)m 12(may)m 11(be)m 12(received)m 12(from)m 11 r 97 c 12(neighbor)m 11(claiming)m 12(to)m 12(be)m 104 1251 p (itself)s 12(the)m 11(Designated)m 12(Router)m -1 r 44 c 12(and)m 11(indicating)m 12(that)m 12(there)m 12(is)m 12(no)m 11(Backup.)m 18(In)m 12(either)m 12(case)m 12(there)m 12(must)m 11(be)m 12(bidirectional)m 104 1300 p (communication)s 12(with)m 11(the)m 12(neighbor)m -1 r 44 c 11(i.e.,)m 13(the)m 11(router)m 12(must)m 12(also)m 12(appear)m 11(in)m 12(the)m 12(neighbor)m 1 r 39 c -1 r 115 c 11(Hello)m 12(Packet.)m 18(This)m 11(event)m 104 1350 p (signals)s 10(an)m 11(end)m 10(to)m 10(the)m 11 r 87 c -2(aiting)m 9(state.)m t-bol.300 @sf 0 1433 p (Neighbor)s 10(Change)m t-rom.300 @sf 21(There)m 12(has)m 13(been)m 12 r 97 c 12(change)m 13(in)m 12(the)m 12(set)m 12(of)m 13(bidirectional)m 12(neighbors)m 12(associated)m 12(with)m 13(the)m 12(interface.)m 19(The)m 104 1483 p (\(Backup\))s 12(Designated)m 13(Router)m 12(needs)m 13(to)m 13(be)m 12(recalculated.)m 20(The)m 13(following)m 12(neighbor)m 13(changes)m 13(lead)m 12(to)m 13(the)m t-bol.300 @sf 12(Neighbor)m 104 1533 p (Change)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 1624 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 1674 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 1740 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 1790 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 1857 p 15 c t-rom.300 @sf 20(One)m 8(of)m 7(the)m 8(bidirectional)m 7(neighbors)m 8(is)m 7(newly)m 8(declaring)m 7(itself)m 8(as)m 7(\(Backup\))m 7(Designated)m 8(Router)m -1 r 46 c 12(This)m 7(is)m 7(detected)m 195 1906 p (through)s 11(examination)m 10(of)m 10(that)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(Hello)m 11(Packets.)m cmsy10.300 @sf 154 1973 p 15 c t-rom.300 @sf 20(One)m 14(of)m 13(the)m 13(bidirectional)m 14(neighbors)m 13(is)m 14(no)m 13(longer)m 13(declaring)m 14(itself)m 13(as)m 13(\(Backup\))m 14(Designated)m 13(Router)m -1 r 46 c 22(This)m 13(is)m 195 2023 p (again)s 11(detected)m 10(through)m 10(examination)m 11(of)m 10(that)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(Hello)m 11(Packets.)m cmsy10.300 @sf 154 2089 p 15 c t-rom.300 @sf 20(The)m 12(advertised)m t-bol.300 @sf 11(Router)m 11(Priority)m t-rom.300 @sf 11(for)m 11 r 97 c 11(bidirectional)m 12(neighbor)m 11(has)m 11(changed.)m 16(This)m 11(is)m 12(again)m 11(detected)m 11(through)m 195 2139 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 2230 p (Loop)s 10(Ind)m t-rom.300 @sf 21(An)m 15(indication)m 14(has)m 14(been)m 15(received)m 14(that)m 14(the)m 15(interface)m 14(is)m 15(now)m 14(looped)m 14(back)m 15(to)m 14(itself.)m 26(This)m 14(indication)m 15(can)m 14(be)m 104 2280 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 2363 p (Unloop)s 10(Ind)m t-rom.300 @sf 21(An)m 9(indication)m 9(has)m 10(been)m 9(received)m 9(that)m 9(the)m 9(interface)m 9(is)m 10(no)m 9(longer)m 9(looped)m 9(back.)m 13(As)m 10(with)m 9(the)m t-bol.300 @sf 9(Loop)m 9(Ind)m t-rom.300 @sf 9(event,)m 104 2413 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 2496 p (Interface)s 10(Down)m t-rom.300 @sf 21(Lower)m (-level)s 8(protocols)m 10(indicate)m 9(that)m 9(this)m 9(interface)m 9(is)m 9(no)m 9(longer)m 9(functional.)m 14(No)m 9(matter)m 9(what)m 9(the)m 9(current)m 104 2546 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(33)m @eop 32 @bop0 32 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (RxmtInterval)s t-rom.300 @sf 21(The)m 12(number)m 13(of)m 12(seconds)m 12(between)m 13(link)m 12(state)m 12(advertisement)m 13(retransmissions,)m 13(for)m 12(adjacencies)m 13(belonging)m 104 245 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 324 p (Authentication)s 10(key)m t-rom.300 @sf 21(This)m 11(con\014gured)m 10(data)m 11(allows)m 11(the)m 10(authentication)m 11(procedure)m 11(to)m 10(generate)m 11(and/or)m 10(verify)m 11(the)m 11(authenti-)m 104 373 p (cation)s 8(\014eld)m 9(in)m 9(the)m 8(OSPF)m 9(header)m -1 r 46 c 12(The)m 9(authentication)m 8(key)m 9(can)m 9(be)m 8(con\014gured)m 9(on)m 9 r 97 c 8(per)m (-interface)s 8(basis.)m 13(For)m 9(example,)m 104 423 p (if)s 12(the)m 11(authentication)m 12(type)m 12(indicates)m 12(simple)m 12(password,)m 12(the)m 12(authentication)m 12(key)m 12(would)m 11(be)m 12 r 97 c 12(64-bit)m 12(password.)m 18(This)m 104 473 p (key)s 9(would)m 10(be)m 9(inserted)m 10(directly)m 10(into)m 9(the)m 10(OSPF)m 9(header)m 10(when)m 9(originating)m 10(routing)m 10(protocol)m 9(packets,)m 10(and)m 9(there)m 10(could)m 104 523 p (be)s 10 r 97 c 11(separate)m 10(password)m 10(for)m 11(each)m 10(network.)m t-bol.360 @sf 0 653 p (9.1)s 50(Interface)m 12(states)m t-rom.300 @sf 0 744 p (The)s 15(various)m 14(states)m 15(that)m 15(router)m 15(interface)m 14(may)m 15(attain)m 15(is)m 14(documented)m 15(in)m 15(this)m 15(section.)m 26(The)m 15(states)m 15(are)m 15(listed)m 14(in)m 15(order)m 15(of)m 0 793 p (progressing)s 12(functionality)m -1 r 46 c 18(For)m 13(example,)m 13(the)m 12(inoperative)m 12(state)m 13(is)m 12(listed)m 13(\014rst,)m 12(followed)m 13(by)m 12 r 97 c 13(list)m 12(of)m 12(intermediates)m 13(states)m 0 843 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 893 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 956 p (Figure)s 13 r 49 c -1 r 49 c 12(shows)m 12(the)m 13(graph)m 13(of)m 12(interface)m 13(state)m 13(changes.)m 20(The)m 13(arcs)m 13(of)m 12(the)m 13(graph)m 13(are)m 12(labelled)m 13(with)m 13(the)m 12(event)m 13(causing)m 12(the)m 0 1006 p (state)s 14(change.)m 23(These)m 14(events)m 14(are)m 13(documented)m 14(in)m 14(Section)m 14(9.2.)m 23(The)m 14(interface)m 14(state)m 13(table)m 14(is)m 14(described)m 13(in)m 14(more)m 14(detail)m 13(in)m 0 1056 p (Section)s 10(9.3.)m t-bol.300 @sf 0 1149 p (Down)s t-rom.300 @sf 21(This)m 14(is)m 14(the)m 13(initial)m 14(interface)m 14(state.)m 25(In)m 13(this)m 14(state,)m 15(the)m 14(lower)m (-level)s 13(protocols)m 14(have)m 14(indicated)m 14(that)m 14(the)m 14(interface)m 13(is)m 104 1199 p (unusable.)s 13(No)m 9(protocol)m 9(traf)m (\014c)s 8(at)m 9(all)m 9(will)m 8(be)m 9(sent)m 9(or)m 9(received)m 9(on)m 9(such)m 8 r 97 c 9(interface.)m 14(In)m 8(this)m 9(state,)m 9(interface)m 9(parameters)m 104 1249 p (should)s 10(be)m 11(set)m 11(to)m 10(their)m 11(initial)m 11(values.)m 14(All)m 11(interface)m 11(timers)m 10(should)m 11(be)m 11(disabled,)m 10(and)m 11(there)m 11(should)m 10(be)m 11(no)m 11(adjacencies)m 104 1298 p (associated)s 10(with)m 11(the)m 10(interface.)m t-bol.300 @sf 0 1377 p (Loopback)s t-rom.300 @sf 21(In)m 15(this)m 16(state,)m 17(the)m 15(router)m 2 r 39 c -1 r 115 c 14(interface)m 16(to)m 15(the)m 16(network)m 15(is)m 16(looped)m 16(back.)m 29(The)m 16(interface)m 15(may)m 16(be)m 15(looped)m 16(back)m 104 1427 p (in)s 14(hardware)m 14(or)m 14(software.)m 24(The)m 14(interface)m 14(will)m 14(be)m 14(unavailable)m 14(for)m 14(regular)m 14(data)m 14(traf)m (\014c.)s 24(However)m 44 c 13(it)m 14(may)m 14(still)m 14(be)m 104 1477 p (desirable)s 9(to)m 10(gain)m 9(information)m 9(on)m 10(the)m 9(quality)m 10(of)m 9(this)m 9(interface,)m 10(either)m 9(through)m 10(sending)m 9(ICMP)m 10(pings)m 9(to)m 9(the)m 10(interface)m 104 1527 p (or)s 12(through)m 12(something)m 12(like)m 12 r 97 c 12(bit)m 12(error)m 12(test.)m 18(For)m 12(this)m 12(reason,)m 13(IP)m 12(packets)m 12(may)m 12(still)m 12(be)m 12(addressed)m 12(to)m 12(an)m 12(interface)m 12(in)m 104 1576 p (Loopback)s 13(state.)m 22 r 84 c -2 r 111 c 12(facilitate)m 13(this,)m 14(such)m 13(interfaces)m 13(are)m 13(advertised)m 13(in)m 13(router)m 13(links)m 14(advertisements)m 13(as)m 13(single)m 13(host)m 104 1626 p (routes,)s 10(whose)m 11(destination)m 10(is)m 10(the)m 11(IP)m 10(interface)m 11(address.)m t-rom.210 @sf 989 1611 p 52 c t-bol.300 @sf 0 1705 p 87 c -1(aiting)m t-rom.300 @sf 19(In)m 11(this)m 11(state,)m 10(the)m 11(router)m 11(is)m 10(trying)m 11(to)m 10(determine)m 11(the)m 11(identity)m 10(of)m 11(the)m 10(Backup)m 11(Designated)m 11(Router)m 10(for)m 11(the)m 10(network.)m 104 1755 p 84 c -2 r 111 c 11(do)m 12(this,)m 13(the)m 12(router)m 13(monitors)m 12(the)m 12(Hellos)m 12(it)m 13(receives.)m 19(The)m 12(router)m 13(is)m 12(not)m 12(allowed)m 12(to)m 13(elect)m 12 r 97 c 12(Backup)m 12(Designated)m 104 1804 p (Router)s 13(nor)m 13(Designated)m 14(Router)m 13(until)m 14(it)m 13(transitions)m 13(out)m 14(of)m 13 r 87 c -2(aiting)m 12(state.)m 23(This)m 13(prevents)m 13(unnecessary)m 14(changes)m 13(of)m 104 1854 p (\(Backup\))s 10(Designated)m 11(Router)m -2 r 46 c t-bol.300 @sf 0 1933 p (Point-to-point)s t-rom.300 @sf 21(In)m 12(this)m 12(state,)m 12(the)m 12(interface)m 13(is)m 12(operational,)m 12(and)m 12(connects)m 12(either)m 12(to)m 12 r 97 c 12(physical)m 12(point-to-point)m 13(network)m 12(or)m 104 1983 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 2032 p (Hellos)s 10(are)m 11(sent)m 10(to)m 10(the)m 11(neighbor)m 10(every)m 11(HelloInterval)m 10(seconds.)m t-bol.300 @sf 0 2111 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 2161 p (Router)s -2 r 46 c 15(In)m 11(this)m 11(state,)m 11(the)m 11(router)m 11(itself)m 11(has)m 11(not)m 10(been)m 11(selected)m 11(Backup)m 11(Designated)m 11(Router)m 11(either)m -1 r 46 c 14(The)m 11(router)m 11(forms)m 104 2211 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 2289 p (Backup)s t-rom.300 @sf 21(In)m 11(this)m 11(state,)m 11(the)m 11(router)m 11(itself)m 11(is)m 11(the)m 11(Backup)m 11(Designated)m 11(Router)m 11(on)m 11(the)m 11(attached)m 11(network.)m 15(It)m 11(will)m 11(be)m 11(promoted)m 104 2339 p (to)s 11(Designated)m 11(Router)m 11(when)m 11(the)m 11(present)m 12(Designated)m 11(Router)m 11(fails.)m 16(The)m 11(router)m 11(establishes)m 11(adjacencies)m 11(to)m 11(all)m 12(other)m 104 2389 p (routers)s 9(attached)m 10(to)m 9(the)m 9(network.)m 14(The)m 9(Backup)m 10(Designated)m 9(Router)m 9(performs)m 10(slightly)m 9(dif)m (ferent)s 9(functions)m 9(during)m 9(the)m 104 2439 p (Flooding)s 10(Procedure,)m 10(as)m 10(compared)m 10(to)m 10(the)m 10(Designated)m 10(Router)m 10(\(see)m 10(Section)m 10(13.3\).)m 13(See)m 10(Section)m 10(7.4)m 10(for)m 10(more)m 10(details)m 104 2488 p (on)s 10(the)m 11(functions)m 10(performed)m 10(by)m 11(the)m 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c 0 2520 p 780 2 ru t-rom.180 @sf 45 2547 p 52 c t-rom.240 @sf 60 2559 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 2599 p (regardless)s 8(of)m 9(such)m 8(an)m 8(interface')m -1 r 115 c 8(state.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(32)m @eop 31 @bop0 31 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (State)s t-rom.300 @sf 21(The)m 10(functional)m 11(level)m 11(of)m 10(an)m 11(interface.)m 15(State)m 11(determines)m 10(whether)m 11(or)m 11(not)m 10(full)m 11(adjacencies)m 11(are)m 10(allowed)m 11(to)m 11(form)m 10(over)m 104 245 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(link)m 10(state)m 10(advertisement.)m t-bol.300 @sf 0 326 p (IP)s 10(interface)m 11(addr)m (ess)s t-rom.300 @sf 20(The)m 8(IP)m 9(address)m 9(associated)m 8(with)m 9(the)m 8(interface.)m 14(This)m 8(appears)m 9(as)m 8(the)m 9(IP)m 9(source)m 8(address)m 9(in)m 8(all)m 9(routing)m 104 376 p (protocol)s 12(packets)m 11(originated)m 12(over)m 12(this)m 12(interface.)m 18(Interfaces)m 12(to)m 12(unnumbered)m 12(point-to-point)m 11(networks)m 12(do)m 12(not)m 12(have)m 104 426 p (an)s 10(associated)m 11(IP)m 10(address.)m t-bol.300 @sf 0 507 p (IP)s 10(interface)m 11(mask)m t-rom.300 @sf 21(This)m 11(indicates)m 11(the)m 11(portion)m 12(of)m 11(the)m 11(IP)m 11(interface)m 12(address)m 11(that)m 11(identi\014es)m 11(the)m 11(attached)m 12(network.)m 16(This)m 11(is)m 104 557 p (often)s 13(referred)m 14(to)m 13(as)m 13(the)m 14(subnet)m 13(mask.)m 23(Masking)m 13(the)m 14(IP)m 13(interface)m 14(address)m 13(with)m 13(this)m 14(value)m 13(yields)m 13(the)m 14(IP)m 13(network)m 104 607 p (number)s 10(of)m 11(the)m 10(attached)m 10(network.)m t-bol.300 @sf 0 688 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 20(The)m 10(area)m 10(ID)m 11(to)m 10(which)m 10(the)m 10(attached)m 10(network)m 10(belongs.)m 13(All)m 10(routing)m 10(protocol)m 10(packets)m 11(originating)m 10(from)m 10(the)m 10(inter-)m 104 738 p (face)s 10(are)m 11(labelled)m 10(with)m 10(this)m 11(area)m 10(ID.)m t-bol.300 @sf 0 820 p (HelloInterval)s t-rom.300 @sf 21(The)m 11(length)m 12(of)m 11(time,)m 12(in)m 11(seconds,)m 12(between)m 12(the)m 11(Hello)m 12(packets)m 11(that)m 12(the)m 11(router)m 12(sends)m 11(on)m 12(the)m 11(interface.)m 17(Ad-)m 104 869 p (vertised)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 951 p (RouterDeadInterval)s t-rom.300 @sf 21(The)m 15(number)m 15(of)m 16(seconds)m 15(before)m 16(the)m 15(router)m 1 r 39 c -1 r 115 c 15(neighbors)m 15(will)m 15(declare)m 16(it)m 15(down,)m 17(when)m 15(they)m 15(stop)m 104 1001 p (hearing)s 10(the)m 11(router)m 1 r 39 c -1 r 115 c 9(hellos.)m 14(Advertised)m 11(in)m 10(Hello)m 10(packets)m 11(sent)m 10(out)m 11(this)m 10(interface.)m t-bol.300 @sf 0 1082 p (InfT)s -2(ransDelay)m t-rom.300 @sf 20(The)m 10(estimated)m 11(number)m 11(of)m 11(seconds)m 10(it)m 11(takes)m 11(to)m 11(transmit)m 11 r 97 c 10(Link)m 11(State)m 11(Update)m 11(Packet)m 10(over)m 11(this)m 11(interface.)m 104 1132 p (Link)s 10(state)m 10(advertisements)m 10(contained)m 10(in)m 9(the)m 10(update)m 10(packet)m 10(will)m 10(have)m 10(their)m 10(age)m 10(incremented)m 10(by)m 10(this)m 10(amount)m 10(before)m 104 1182 p (transmission.)s 15(This)m 11(value)m 11(should)m 10(take)m 11(into)m 11(account)m 11(transmission)m 11(and)m 11(propagation)m 10(delays;)m 11(it)m 11(must)m 11(be)m 11(greater)m 11(than)m 104 1232 p (zero.)s t-bol.300 @sf 0 1313 p (Router)s 10(Priority)m t-rom.300 @sf 21(An)m 11(8-bit)m 12(unsigned)m 11(integer)m -2 r 46 c 16(When)m 11(two)m 11(routers)m 11(attached)m 11(to)m 11 r 97 c 12(network)m 11(both)m 11(attempt)m 11(to)m 11(become)m 11(Desig-)m 104 1363 p (nated)s 9(Router)m -1 r 44 c 9(the)m 9(one)m 9(with)m 9(the)m 9(highest)m 10(Router)m 9(Priority)m 9(takes)m 9(precedence.)m 14 r 65 c 9(router)m 9(whose)m 9(Router)m 9(Priority)m 10(is)m 9(set)m 9(to)m 104 1413 p 48 c 10(is)m 11(ineligible)m 11(to)m 10(become)m 11(Designated)m 11(Router)m 11(on)m 10(the)m 11(attached)m 11(network.)m 14(Advertised)m 11(in)m 11(Hello)m 10(packets)m 11(sent)m 11(out)m 10(this)m 104 1462 p (interface.)s t-bol.300 @sf 0 1544 p (Hello)s 10 r 84 c (imer)s t-rom.300 @sf 20(An)m 12(interval)m 12(timer)m 11(that)m 12(causes)m 12(the)m 11(interface)m 12(to)m 11(send)m 12 r 97 c 12(Hello)m 11(packet.)m 18(This)m 11(timer)m 12(\014res)m 12(every)m 11(HelloInterval)m 104 1594 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 1675 p 87 c -1(ait)m 9 r 84 c (imer)s t-rom.300 @sf 20 r 65 c 15(single)m 14(shot)m 15(timer)m 15(that)m 14(causes)m 15(the)m 15(interface)m 14(to)m 15(exit)m 15(the)m 14 r 87 c -2(aiting)m 14(state,)m 15(and)m 15(as)m 15 r 97 c 14(consequence)m 15(select)m 14 r 97 c 104 1725 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 1806 p (List)s 10(of)m 11(neighboring)m 10 r 114 c (outers)s t-rom.300 @sf 20(The)m 9(other)m 10(routers)m 9(attached)m 9(to)m 9(this)m 9(network.)m 14(On)m 9(multi-access)m 9(networks,)m 9(this)m 9(list)m 10(is)m 9(formed)m 104 1856 p (by)s 12(the)m 12(Hello)m 12(Protocol.)m 18(Adjacencies)m 12(will)m 12(be)m 12(formed)m 12(to)m 12(some)m 12(of)m 12(these)m 12(neighbors.)m 19(The)m 12(set)m 12(of)m 12(adjacent)m 12(neighbors)m 104 1906 p (can)s 10(be)m 11(determined)m 10(by)m 10(an)m 11(examination)m 10(of)m 11(all)m 10(of)m 11(the)m 10(neighbors')m 10(states.)m t-bol.300 @sf 0 1987 p (Designated)s 10(Router)m t-rom.300 @sf 21(The)m 11(Designated)m 11(Router)m 10(selected)m 11(for)m 10(the)m 11(attached)m 11(network.)m 14(The)m 11(Designated)m 11(Router)m 10(is)m 11(selected)m 11(on)m 104 2037 p (all)s 8(multi-access)m 9(networks)m 8(by)m 9(the)m 8(Hello)m 8(Protocol.)m 14 r 84 c -2(wo)m 7(pieces)m 9(of)m 8(identi\014cation)m 9(are)m 8(kept)m 8(for)m 9(the)m 8(Designated)m 9(Router:)m 104 2087 p (its)s 12(Router)m 12(ID)m 13(and)m 12(its)m 13(interface)m 12(IP)m 12(address)m 13(on)m 12(the)m 12(network.)m 20(The)m 12(Designated)m 13(Router)m 12(advertises)m 12(link)m 13(state)m 12(for)m 12(the)m 104 2137 p (network.)s 17(The)m 12(network)m 12(link)m 12(state)m 11(advertisement)m 12(is)m 12(labelled)m 11(with)m 12(the)m 12(Designated)m 11(Router)m 2 r 39 c -1 r 115 c 10(IP)m 12(address.)m 18(This)m 11(item)m 104 2187 p (is)s 10(initialized)m 11(to)m 10(0,)m 10(which)m 11(indicates)m 10(the)m 11(lack)m 10(of)m 11 r 97 c 10(Designated)m 10(Router)m -1 r 46 c t-bol.300 @sf 0 2268 p (Backup)s 10(Designated)m 11(Router)m t-rom.300 @sf 21(The)m 7(Backup)m 8(Designated)m 7(Router)m 8(is)m 7(also)m 8(selected)m 8(on)m 7(all)m 8(multi-access)m 7(networks)m 8(by)m 7(the)m 8(Hello)m 104 2318 p (Protocol.)s 17(All)m 12(routers)m 12(on)m 11(the)m 12(attached)m 12(network)m 11(become)m 12(adjacent)m 12(to)m 11(both)m 12(the)m 12(Designated)m 11(Router)m 12(and)m 12(the)m 11(Backup)m 104 2368 p (Designated)s 12(Router)m -1 r 46 c 17(The)m 12(Backup)m 12(Designated)m 12(Router)m 12(becomes)m 12(Designated)m 12(Router)m 12(when)m 12(the)m 12(current)m 12(Designated)m 104 2417 p (Router)s 10(fails.)m 14(Initialized)m 10(to)m 11 r 48 c 10(indicating)m 11(the)m 10(lack)m 11(of)m 10 r 97 c 10(Backup)m 11(Designated)m 10(Router)m -1 r 46 c t-bol.300 @sf 0 2499 p (Interface)s 10(output)m 11(cost\(s\))m t-rom.300 @sf 21(The)m 14(cost)m 14(of)m 14(sending)m 14 r 97 c 13(packet)m 14(on)m 14(the)m 14(interface,)m 15(expressed)m 14(in)m 14(the)m 14(link)m 14(state)m 14(metric.)m 25(This)m 14(is)m 104 2549 p (advertised)s 11(as)m 11(the)m 11(link)m 11(cost)m 11(for)m 11(this)m 12(interface)m 11(in)m 11(the)m 11(router)m 11(links)m 11(advertisement.)m 16(There)m 11(may)m 11(be)m 11 r 97 c 11(separate)m 12(cost)m 11(for)m 104 2599 p (each)s 10(IP)m 11 r 84 c -2(ype)m 9(of)m 11(Service.)m 13(The)m 11(cost)m 10(of)m 11(an)m 10(interface)m 10(must)m 11(be)m 10(greater)m 11(than)m 10(zero.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(31)m @eop 30 @bop0 30 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 154 195 p 123 c t-ita.300 @sf 20(Match)m 14(the)m 14(Ar)m (ea)s 12(ID)m 14(of)m 14(the)m 14 r 114 c (eceiving)s 13(interface)m t-rom.300 @sf 46 c 24(In)m 14(this)m 14(case,)m 15(the)m 13(packet)m 14(has)m 14(been)m 14(sent)m 14(over)m 14 r 97 c 14(single)m 14(hop.)m 195 245 p (Therefore,)s 14(the)m 13(packet')m -2 r 115 c 12(IP)m 13(source)m 13(address)m 13(must)m 13(be)m 13(on)m 13(the)m 13(same)m 13(network)m 13(as)m 13(the)m 12(receiving)m 13(interface.)m 22(This)m 195 295 p (can)s 9(be)m 9(determined)m 9(by)m 9(comparing)m 9(the)m 10(packet')m -2 r 115 c 8(IP)m 9(source)m 9(address)m 9(to)m 10(the)m 9(interface')m -2 r 115 c 8(IP)m 9(address,)m 10(after)m 9(masking)m 195 345 p (both)s 11(addresses)m 10(with)m 10(the)m 11(interface)m 10(mask.)m t-bol.300 @sf 154 410 p 123 c t-ita.300 @sf 20(Indicate)m 10(the)m 10(backbone.)m t-rom.300 @sf 13(In)m 10(this)m 10(case,)m 9(the)m 10(packet)m 10(has)m 10(been)m 9(sent)m 10(over)m 10 r 97 c 9(virtual)m 10(link.)m 14(The)m 9(receiving)m 10(router)m 10(must)m 195 459 p (be)s 10(an)m 9(area)m 10(border)m 9(router)m 44 c 8(and)m 10(the)m 9(router)m 10(ID)m 10(speci\014ed)m 9(in)m 10(the)m 9(packet)m 10(\(the)m 9(source)m 10(router\))m 9(must)m 10(be)m 9(the)m 10(other)m 10(end)m 195 509 p (of)s 10 r 97 c 9(con\014gured)m 10(virtual)m 10(link.)m 14(The)m 9(receiving)m 10(interface)m 10(must)m 9(also)m 10(attach)m 10(to)m 9(the)m 10(virtual)m 10(link')m -2 r 115 c 9(con\014gured)m 10(transit)m 195 559 p (area.)s 15(If)m 11(all)m 11(of)m 10(these)m 11(checks)m 11(succeed,)m 11(the)m 11(packet)m 10(is)m 11(accepted)m 11(and)m 11(is)m 10(from)m 11(now)m 11(on)m 11(associated)m 11(with)m 10(the)m 11(virtual)m 195 609 p (link)s 11(\(and)m 10(the)m 10(backbone)m 11(area\).)m cmsy10.300 @sf 62 690 p 15 c t-rom.300 @sf 21(Packets)m 13(whose)m 12(IP)m 13(destination)m 13(is)m 12(AllDRouters)m 13(should)m 12(only)m 13(be)m 13(accepted)m 12(if)m 13(the)m 12(state)m 13(of)m 13(the)m 12(receiving)m 13(interface)m 13(is)m t-bol.300 @sf 104 740 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 822 p 15 c t-rom.300 @sf 21(The)m 10(Authentication)m 11(type)m 10(speci\014ed)m 11(must)m 10(match)m 11(the)m 10(authentication)m 10(type)m 11(speci\014ed)m 10(for)m 11(the)m 10(associated)m 10(area.)m 0 926 p (Next,)s 15(the)m 14(packet)m 14(must)m 14(be)m 14(authenticated.)m 25(This)m 14(depends)m 14(on)m 14(the)m 14(authentication)m 14(type)m 14(speci\014ed)m 14(\(see)m 14(Appendix)m 14(D\).)m 14(The)m 0 976 p (authentication)s 14(procedure)m 15(may)m 14(use)m 15(an)m 14(Authentication)m 15(key)m -2 r 44 c 14(which)m 15(can)m 14(be)m 15(con\014gured)m 14(on)m 14 r 97 c 15(per)m (-interface)s 13(basis.)m 26(If)m 15(the)m 0 1026 p (authentication)s 10(fails,)m 11(the)m 10(packet)m 11(should)m 10(be)m 10(discarded.)m 0 1092 p (If)s 14(the)m 13(packet)m 14(type)m 13(is)m 14(Hello,)m 14(it)m 14(should)m 14(then)m 13(be)m 14(further)m 13(processed)m 14(by)m 13(the)m 14(Hello)m 14(Protocol)m 13(\(see)m 14(Section)m 13(10.5\).)m 24(All)m 13(other)m 0 1142 p (packet)s 12(types)m 13(are)m 12(sent)m 13(only)m 12(on)m 12(adjacencies.)m 20(This)m 13(means)m 12(the)m 13(packet)m 12(must)m 12(have)m 13(been)m 12(sent)m 13(by)m 12(one)m 12(of)m 13(the)m 12(router)m 2 r 39 c -2 r 115 c 12(active)m 0 1192 p (neighbors.)s 22(The)m 13(sender)m 13(is)m 13(identi\014ed)m 13(by)m 13(the)m 13(Router)m 13(ID)m 13(\(source)m 13(router\))m 13(found)m 13(in)m 13(the)m 13(OSPF)m 13(header)m -2 r 46 c 21(The)m 13(data)m 13(structure)m 0 1241 p (associated)s 10(with)m 9(the)m 10(receiving)m 10(interface)m 10(contains)m 9(the)m 10(list)m 10(of)m 10(active)m 9(neighbors.)m 14(Packets)m 10(not)m 10(matching)m 9(any)m 10(active)m 10(neighbor)m 0 1291 p (are)s 10(discarded.)m 0 1357 p (At)s 11(this)m 11(point)m 11(all)m 11(received)m 11(protocol)m 11(packets)m 11(are)m 11(associated)m 12(with)m 11(an)m 11(active)m 11(neighbor)m -2 r 46 c 15(For)m 11(the)m 11(further)m 11(input)m 11(processing)m 11(of)m 0 1407 p (speci\014c)s 10(packet)m 11(types,)m 10(consult)m 11(the)m 10(sections:)m 477 1476 p 996 2 ru 477 1526 p 2 50 ru t-ita.300 @sf 502 1511 p 84 c -2(ype)m 604 1526 p 2 50 ru 630 1511 p (Packet)s 10(name)m 1002 1526 p 2 50 ru 1028 1511 p (detailed)s 10(section)m 11(\(r)m -1(eceive\))m 1472 1526 p 2 50 ru 477 1528 p 996 2 ru 477 1578 p 2 50 ru t-rom.300 @sf 531 1563 p 49 c 604 1578 p 2 50 ru 630 1563 p (Hello)s 1002 1578 p 2 50 ru 1028 1563 p (Section)s 10(10.5)m 1472 1578 p 2 50 ru 477 1627 p 2 50 ru 531 1613 p 50 c 604 1627 p 2 50 ru 630 1613 p (Database)s 10(description)m 1002 1627 p 2 50 ru 1028 1613 p (Section)s 10(10.6)m 1472 1627 p 2 50 ru 477 1677 p 2 50 ru 531 1662 p 51 c 604 1677 p 2 50 ru 630 1662 p (Link)s 10(state)m 11(request)m 1002 1677 p 2 50 ru 1028 1662 p (Section)s 10(10.7)m 1472 1677 p 2 50 ru 477 1727 p 2 50 ru 531 1712 p 52 c 604 1727 p 2 50 ru 630 1712 p (Link)s 10(state)m 11(update)m 1002 1727 p 2 50 ru 1028 1712 p (Section)s 10(13)m 1472 1727 p 2 50 ru 477 1777 p 2 50 ru 531 1762 p 53 c 604 1777 p 2 50 ru 630 1762 p (Link)s 10(state)m 11(ack)m 1002 1777 p 2 50 ru 1028 1762 p (Section)s 10(13.7)m 1472 1777 p 2 50 ru 477 1779 p 996 2 ru t-bol.420 @sf 0 1904 p 57 c 58(The)m 15(Interface)m 14(Data)m 15(Structur)m 101 c t-rom.300 @sf 0 2013 p (An)s 12(OSPF)m 11(interface)m 12(is)m 12(the)m 11(connection)m 12(between)m 11 r 97 c 12(router)m 12(and)m 11 r 97 c 12(network.)m 18(There)m 11(is)m 12 r 97 c 11(single)m 12(OSPF)m 12(interface)m 11(structure)m 12(for)m 0 2063 p (each)s 14(attached)m 14(network;)m 16(each)m 14(interface)m 14(structure)m 15(has)m 14(at)m 14(most)m 14(one)m 14(IP)m 14(interface)m 14(address)m 14(\(see)m 14(below\).)m 25(The)m 15(support)m 14(for)m 0 2113 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 2179 p (An)s 12(OSPF)m 12(interface)m 13(can)m 12(be)m 12(considered)m 12(to)m 13(belong)m 12(to)m 12(the)m 12(area)m 12(that)m 13(contains)m 12(the)m 12(attached)m 12(network.)m 20(All)m 12(routing)m 12(protocol)m 0 2229 p (packets)s 11(originated)m 12(by)m 11(the)m 11(router)m 11(over)m 12(this)m 11(interface)m 11(are)m 12(labelled)m 11(with)m 11(the)m 12(interface')m -2 r 115 c 11(area)m 11(number)m -1 r 46 c 15(One)m 11(or)m 12(more)m 11(router)m 0 2279 p (adjacencies)s 12(may)m 12(develop)m 11(over)m 12(an)m 12(interface.)m 18 r 65 c 12(router)m 1 r 39 c -1 r 115 c 11(link)m 12(state)m 12(advertisements)m 11(re\015ect)m 12(the)m 12(state)m 12(of)m 12(its)m 11(interfaces)m 12(and)m 0 2329 p (their)s 10(associated)m 11(adjacencies.)m 0 2395 p (The)s 9(following)m 9(data)m 9(items)m 9(are)m 9(associated)m 9(with)m 9(an)m 9(interface.)m 14(Note)m 9(that)m 9 r 97 c 9(number)m 9(of)m 9(these)m 9(items)m 9(are)m 9(actually)m 9(con\014guration)m 0 2445 p (for)s 10(the)m 11(attached)m 10(network;)m 11(those)m 10(items)m 10(must)m 11(be)m 10(the)m 11(same)m 10(for)m 11(all)m 10(routers)m 10(connected)m 11(to)m 10(the)m 11(network.)m t-bol.300 @sf 0 2549 p 84 c -2(ype)m t-rom.300 @sf 20(The)m 10(kind)m 10(of)m 11(network)m 10(to)m 11(which)m 10(the)m 10(interface)m 11(attaches.)m 14(Its)m 10(value)m 11(is)m 10(either)m 10(broadcast,)m 11(non-broadcast)m 10(yet)m 11(still)m 10(multi-)m 104 2599 p (access,)s 10(point-to-point)m 11(or)m 10(virtual)m 10(link.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(30)m @eop 29 @bop0 29 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (belonging)s 11(to)m 12(the)m 11(router)m -1 r 46 c 16(For)m 12(this)m 11(reason,)m 12(there)m 11(must)m 12(be)m 11(at)m 12(least)m 11(one)m 11(IP)m 12(address)m 11(assigned)m 12(to)m 11(the)m 12(router)m -2 r 46 c t-rom.210 @sf 1691 180 p 50 c t-rom.300 @sf 1724 195 p (Note)s 12(that,)m 11(for)m 0 245 p (most)s 9(purposes,)m 9(virtual)m 8(links)m 9(act)m 9(precisely)m 9(the)m 8(same)m 9(as)m 9(unnumbered)m 8(point-to-point)m 9(networks.)m 13(However)m 44 c 8(each)m 9(virtual)m 8(link)m 0 295 p (does)s 11(have)m 10(an)m t-bol.300 @sf 11(interface)m 11(IP)m 11(addr)m (ess)s t-rom.300 @sf 9(\(discovered)m 11(during)m 11(the)m 11(routing)m 10(table)m 11(build)m 11(process\))m 10(which)m 11(is)m 11(used)m 11(as)m 10(the)m 11(IP)m 11(source)m 0 345 p (when)s 10(sending)m 11(packets)m 10(over)m 11(the)m 10(virtual)m 10(link.)m 0 412 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(packet)m 11(types,)m 10(consult)m 11(the)m 10(sections:)m 467 486 p 1016 2 ru 466 536 p 2 50 ru t-ita.300 @sf 492 521 p 84 c -2(ype)m 594 536 p 2 50 ru 620 521 p (Packet)s 10(name)m 992 536 p 2 50 ru 1018 521 p (detailed)s 10(section)m 11(\(transmit\))m 1482 536 p 2 50 ru 467 538 p 1016 2 ru 466 588 p 2 50 ru t-rom.300 @sf 521 573 p 49 c 594 588 p 2 50 ru 620 573 p (Hello)s 992 588 p 2 50 ru 1018 573 p (Section)s 10(9.5)m 1482 588 p 2 50 ru 466 638 p 2 50 ru 521 623 p 50 c 594 638 p 2 50 ru 620 623 p (Database)s 10(description)m 992 638 p 2 50 ru 1018 623 p (Section)s 10(10.8)m 1482 638 p 2 50 ru 466 687 p 2 50 ru 521 672 p 51 c 594 687 p 2 50 ru 620 672 p (Link)s 10(state)m 11(request)m 992 687 p 2 50 ru 1018 672 p (Section)s 10(10.9)m 1482 687 p 2 50 ru 466 737 p 2 50 ru 521 722 p 52 c 594 737 p 2 50 ru 620 722 p (Link)s 10(state)m 11(update)m 992 737 p 2 50 ru 1018 722 p (Section)s 10(13.3)m 1482 737 p 2 50 ru 466 787 p 2 50 ru 521 772 p 53 c 594 787 p 2 50 ru 620 772 p (Link)s 10(state)m 11(ack)m 992 787 p 2 50 ru 1018 772 p (Section)s 10(13.5)m 1482 787 p 2 50 ru 467 789 p 1016 2 ru t-bol.360 @sf 0 906 p (8.2)s 50(Receiving)m 12(pr)m (otocol)s 12(packets)m t-rom.300 @sf 0 1002 p (Whenever)s 12 r 97 c 12(protocol)m 12(packet)m 13(is)m 12(received)m 12(by)m 12(the)m 12(router)m 12(it)m 13(is)m 12(marked)m 12(with)m 12(the)m 12(interface)m 12(it)m 13(was)m 12(received)m 12(on.)m 19(For)m 12(routers)m 0 1051 p (that)s 9(have)m 9(virtual)m 10(links)m 9(con\014gured,)m 9(it)m 9(may)m 10(not)m 9(be)m 9(immediately)m 9(obvious)m 9(which)m 10(interface)m 9(to)m 9(associate)m 9(the)m 9(packet)m 10(with.)m 13(For)m 0 1101 p (example,)s 10(consider)m 11(the)m 10(router)m 11 r 82 c -2(T1)m -1 r 49 c 9(depicted)m 10(in)m 11(Figure)m 10(6.)m 14(If)m 11 r 82 c -2(T1)m -1 r 49 c 9(receives)m 10(an)m 11(OSPF)m 10(protocol)m 11(packet)m 10(on)m 11(its)m 10(interface)m 10(to)m 0 1151 p (network)s 12(N8,)m 13(it)m 12(may)m 13(want)m 12(to)m 12(associate)m 13(the)m 12(packet)m 12(with)m 13(the)m 12(interface)m 12(to)m 13(area)m 12(2,)m 13(or)m 12(with)m 13(the)m 12(virtual)m 12(link)m 13(to)m 12(router)m 12 r 82 c -1(T19)m 0 1201 p (\(which)s 9(is)m 10(part)m 9(of)m 9(the)m 10(backbone\).)m 13(In)m 10(the)m 9(following,)m 9(we)m 10(assume)m 9(that)m 9(the)m 10(packet)m 9(is)m 9(initially)m 10(associated)m 9(with)m 9(the)m 10(non-virtual)m 0 1251 p (link.)s t-rom.210 @sf 89 1236 p 51 c t-rom.300 @sf 0 1318 p (In)s 11(order)m 11(for)m 11(the)m 12(packet)m 11(to)m 11(be)m 11(accepted)m 11(at)m 11(the)m 11(IP)m 11(level,)m 12(it)m 11(must)m 11(pass)m 11 r 97 c 11(number)m 11(of)m 12(tests,)m 11(even)m 11(before)m 11(the)m 11(packet)m 11(is)m 12(passed)m 0 1368 p (to)s 10(OSPF)m 11(for)m 10(processing:)m cmsy10.300 @sf 62 1477 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 1560 p 15 c t-rom.300 @sf 21(The)m 11(packet')m -2 r 115 c 10(IP)m 10(destination)m 11(address)m 10(must)m 11(be)m 10(the)m 11(IP)m 10(address)m 11(of)m 10(the)m 11(receiving)m 10(interface,)m 11(or)m 10(one)m 11(of)m 10(the)m 11(IP)m 10(multicast)m 104 1610 p (addresses)s 10(AllSPFRouters)m 11(or)m 10(AllDRouters.)m cmsy10.300 @sf 62 1693 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 1776 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 1826 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 1935 p (Next,)s 16(the)m 14(OSPF)m 15(packet)m 15(header)m 14(is)m 15(veri\014ed.)m 27(The)m 14(\014elds)m 15(speci\014ed)m 14(in)m 15(the)m 15(header)m 14(must)m 15(match)m 15(those)m 14(con\014gured)m 15(for)m 15(the)m 0 1985 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 2094 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(1.)m cmsy10.300 @sf 62 2177 p 15 c t-rom.300 @sf 21(The)m 11(16-bit)m 10(checksum)m 11(of)m 11(the)m 11(OSPF)m 10(packet')m -1 r 115 c 10(contents)m 10(must)m 11(be)m 11(veri\014ed.)m 15(Remember)m 10(that)m 11(the)m 11(64-bit)m 10(authentication)m 104 2227 p (\014eld)s 10(must)m 11(be)m 10(excluded)m 10(from)m 11(the)m 10(checksum)m 11(calculation.)m cmsy10.300 @sf 62 2310 p 15 c t-rom.300 @sf 21(The)m 11(Area)m 12(ID)m 11(found)m 12(in)m 11(the)m 11(OSPF)m 12(header)m 11(must)m 11(be)m 12(veri\014ed.)m 17(If)m 11(both)m 11(of)m 12(the)m 11(following)m 11(cases)m 12(fail,)m 11(the)m 12(packet)m 11(should)m 104 2360 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 0 2396 p 780 2 ru t-rom.180 @sf 45 2423 p 50 c t-rom.240 @sf 60 2435 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 2474 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.180 @sf 45 2503 p 51 c t-rom.240 @sf 60 2515 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(29)m @eop 28 @bop0 28 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p 56 c 58(Pr)m (otocol)s 14(Packet)m 14(Pr)m (ocessing)s t-rom.300 @sf 0 305 p (This)s 10(section)m 11(discusses)m 10(the)m 10(general)m 10(processing)m 11(of)m 10(routing)m 10(protocol)m 10(packets.)m 14(It)m 11(is)m 10(very)m 10(important)m 10(that)m 11(the)m 10(router)m 10(topolog-)m 0 354 p (ical)s 12(databases)m 12(remain)m 12(synchronized.)m 19(For)m 12(this)m 12(reason,)m 12(routing)m 12(protocol)m 12(packets)m 12(should)m 12(get)m 12(preferential)m 12(treatment)m 12(over)m 0 404 p (ordinary)s 10(data)m 11(packets,)m 10(both)m 11(in)m 10(sending)m 10(and)m 11(receiving.)m 0 471 p (Routing)s 15(protocol)m 14(packets)m 15(are)m 15(sent)m 14(along)m 15(adjacencies)m 15(only)m 14(\(with)m 15(the)m 15(exception)m 14(of)m 15(Hello)m 14(packets,)m 16(which)m 15(are)m 14(used)m 15(to)m 0 521 p (discover)s 12(the)m 12(adjacencies\).)m 19(This)m 12(means)m 12(that)m 12(all)m 12(protocol)m 12(packets)m 12(travel)m 12 r 97 c 12(single)m 12(IP)m 12(hop,)m 12(except)m 12(those)m 12(sent)m 12(over)m 12(virtual)m 0 570 p (links.)s 0 637 p (All)s 12(routing)m 12(protocol)m 12(packets)m 13(begin)m 12(with)m 12 r 97 c 12(standard)m 12(header)m -1 r 46 c 18(The)m 12(sections)m 12(below)m 12(give)m 13(the)m 12(details)m 12(on)m 12(how)m 12(to)m 12(\014ll)m 13(in)m 12(and)m 0 687 p (verify)s 11(this)m 12(standard)m 11(header)m -1 r 46 c 16(Then,)m 11(for)m 12(each)m 11(packet)m 11(type,)m 12(the)m 12(section)m 11(is)m 11(listed)m 12(that)m 11(gives)m 11(more)m 12(details)m 11(on)m 12(that)m 11(particular)m 0 736 p (packet)s 10(type')m -1 r 115 c 10(processing.)m t-bol.360 @sf 0 872 p (8.1)s 50(Sending)m 12(pr)m (otocol)s 12(packets)m t-rom.300 @sf 0 966 p (When)s 10 r 97 c 10(router)m 10(sends)m 10 r 97 c 10(routing)m 9(protocol)m 10(packet,)m 10(it)m 10(\014lls)m 10(in)m 10(the)m 10(\014elds)m 10(of)m 10(that)m 10(standard)m 10(header)m 9(as)m 10(follows.)m 14(For)m 10(more)m 10(details)m 0 1016 p (on)s 10(the)m 11(header)m 10(format)m 11(consult)m 10(Section)m 10(A.2:)m t-bol.300 @sf 0 1121 p 86 c -3(ersion)m 10 r 35 c t-rom.300 @sf 61(Set)m 11(to)m 10(1,)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 1203 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 1285 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(header)m -1 r 46 c t-bol.300 @sf 0 1367 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 1449 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 84(The)m 10(area)m 11(that)m 10(the)m 10(packet)m 11(is)m 10(being)m 11(sent)m 10(into.)m t-bol.300 @sf 0 1531 p (Checksum)s t-rom.300 @sf 40(The)m 15(standard)m 15(IP)m 14(16-bit)m 15(one')m -2 r 115 c 14(complement)m 14(checksum)m 15(of)m 15(the)m 14(entire)m 15(OSPF)m 14(packet,)m 16(excluding)m 14(the)m 15(64-bit)m 228 1581 p (authentication)s 12(\014eld.)m 20(This)m 12(checksum)m 13(should)m 12(be)m 12(calculated)m 13(before)m 12(handing)m 12(the)m 13(packet)m 12(to)m 13(the)m 12(appropriate)m 228 1631 p (authentication)s 10(procedure.)m t-bol.300 @sf 0 1713 p (Autype)s 10(and)m 11(Authentication)m t-rom.300 @sf 21(Each)m 10(OSPF)m 10(packet)m 10(exchange)m 9(is)m 10(authenticated.)m 14(Authentication)m 10(types)m 10(are)m 10(assigned)m 10(by)m 10(the)m 228 1762 p (protocol)s 10(and)m 10(documented)m 10(in)m 10(Appendix)m 10(D.)m 10 r 65 c 10(dif)m (ferent)s 9(authentication)m 10(scheme)m 10(can)m 10(be)m 10(used)m 10(for)m 10(each)m 10(OSPF)m 228 1812 p (area.)s 19(The)m 12(64-bit)m 13(authentication)m 12(\014eld)m 12(is)m 12(set)m 12(by)m 13(the)m 12(appropriate)m 12(authentication)m 12(procedure)m 12(\(determined)m 13(by)m 228 1862 p (Autype\).)s 28(This)m 15(procedure)m 15(should)m 15(be)m 15(the)m 15(last)m 15(called)m 15(when)m 15(forming)m 15(the)m 15(packet)m 15(to)m 15(be)m 15(sent.)m 28(The)m 15(setting)m 228 1912 p (of)s 15(the)m 14(authentication)m 15(\014eld)m 15(is)m 14(determined)m 15(by)m 15(the)m 14(packet)m 15(contents)m 15(and)m 14(the)m 15(authentication)m 15(key)m 14(\(which)m 15(is)m 228 1962 p (con\014gurable)s 10(on)m 11 r 97 c 10(per)m (-interface)s 10(basis\).)m 0 2067 p (The)s 8(IP)m 8(destination)m 9(address)m 8(for)m 8(the)m 8(packet)m 8(is)m 9(selected)m 8(as)m 8(follows.)m 13(On)m 8(physical)m 8(point-to-point)m 9(networks,)m 8(the)m 8(IP)m 9(destination)m 0 2117 p (is)s 12(always)m 12(set)m 12(to)m 12(the)m 12(the)m 12(address)m 12(AllSPFRouters.)m 19(On)m 12(all)m 12(other)m 12(network)m 12(types)m 12(\(including)m 12(virtual)m 12(links\),)m 12(the)m 12(majority)m 12(of)m 0 2167 p (OSPF)s 11(packets)m 11(are)m 11(sent)m 11(as)m 11(unicasts,)m 11(i.e.,)m 11(sent)m 11(directly)m 11(to)m 11(the)m 11(other)m 11(end)m 11(of)m 11(the)m 11(adjacency)m -2 r 46 c 15(In)m 11(this)m 11(case,)m 11(the)m 11(IP)m 11(destination)m 0 2216 p (is)s 13(just)m 13(the)m t-bol.300 @sf 13(neighbor)m 13(IP)m 13(addr)m (ess)s t-rom.300 @sf 13(associated)m 13(with)m 13(the)m 13(other)m 13(end)m 13(of)m 13(the)m 14(adjacency)m 13(\(see)m 13(Section)m 13(10\).)m 22(The)m 13(only)m 13(packets)m 0 2266 p (not)s 12(sent)m 11(as)m 12(unicasts)m 11(are)m 12(on)m 12(broadcast)m 11(networks;)m 12(on)m 12(these)m 12(networks)m 11(Hello)m 12(packets)m 12(are)m 11(sent)m 12(to)m 11(the)m 12(multicast)m 12(destination)m 0 2316 p (AllSPFRouters,)s 10(the)m 10(Designated)m 10(Router)m 10(and)m 10(its)m 10(Backup)m 10(send)m 10(both)m 10(Link)m 10(State)m 10(Update)m 10(Packets)m 10(and)m 10(Link)m 10(State)m 10(Acknowl-)m 0 2366 p (edgment)s 9(Packets)m 9(to)m 8(the)m 9(multicast)m 9(address)m 9(AllSPFRouters,)m 9(while)m 9(all)m 9(other)m 9(routers)m 8(send)m 9(both)m 9(their)m 9(Link)m 9(State)m 9(Update)m 8(and)m 0 2416 p (Link)s 10(State)m 11(Acknowledgment)m 10(Packets)m 11(to)m 10(the)m 10(multicast)m 11(address)m 10(AllDRouters.)m 0 2482 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 2549 p (The)s 9(IP)m 9(source)m 9(address)m 9(should)m 8(be)m 9(set)m 9(to)m 9(the)m 9(IP)m 9(address)m 9(of)m 9(the)m 9(sending)m 8(interface.)m 14(Interfaces)m 9(to)m 9(unnumbered)m 9(point-to-point)m 0 2599 p (networks)s 8(have)m 8(no)m 8(associated)m 7(IP)m 8(address.)m 13(On)m 8(these)m 8(interfaces,)m 8(the)m 8(IP)m 8(source)m 8(should)m 8(be)m 7(set)m 8(to)m 8(any)m 8(of)m 8(the)m 8(other)m 7(IP)m 8(addresses)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(28)m @eop 27 @bop0 27 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 2828615 6380830 33417134 47757557 startTexFig %!PS-Adobe-1.0 %%Title: figure10-11.fig %%Creator: f2ps %%CreationDate: Fri May 12 18:54:41 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 43 97 508 726 %%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 (Nbr Chgs) show 1 -1 scale 48 512 moveto 1 -1 scale (Unloop Ind) show 1 -1 scale 168 736 moveto 1 -1 scale (* Loop Ind 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 398 509 moveto 1 -1 scale (Nbr) show 1 -1 scale 391 522 moveto 1 -1 scale (Chgs) show 1 -1 scale 397 586 moveto 1 -1 scale (Nbr) show 1 -1 scale 390 602 moveto 1 -1 scale (Chgs) show 1 -1 scale 168 719 moveto 1 -1 scale (* Interface Down forces Down state) show 1 -1 scale showpage $F2psEnd endTexFig 0 2723 p (Moy)s 1716(Page)m 12(27)m @eop 26 @bop0 26 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (Section)s 10 r 50 c 9(of)m 10(this)m 9(document)m 10(discusses)m 9(the)m 10(directed)m 9(graph)m 10(representation)m 10(of)m 9(an)m 10(area.)m 13(Router)m 10(nodes)m 9(are)m 10(labelled)m 10(with)m 9(their)m 0 245 p (Router)s 12(ID.)m 12(Broadcast)m 12(network)m 12(nodes)m 12(are)m 12(actually)m 12(labelled)m 12(with)m 12(the)m 11(IP)m 12(address)m 12(of)m 12(their)m 12(Designated)m 12(Router)m -1 r 46 c 17(It)m 12(follows)m 0 295 p (that)s 13(when)m 13(the)m 12(Designated)m 13(Router)m 13(changes,)m 14(it)m 12(appears)m 13(as)m 13(if)m 13(the)m 13(network)m 13(node)m 12(on)m 13(the)m 13(graph)m 13(is)m 13(replaced)m 12(by)m 13(an)m 13(entirely)m 0 345 p (new)s 12(node.)m 20(This)m 12(will)m 13(cause)m 12(the)m 13(network)m 12(and)m 12(all)m 13(its)m 12(attached)m 12(routers)m 13(to)m 12(originate)m 12(new)m 13(link)m 12(state)m 13(advertisements.)m 19(Until)m 0 394 p (the)s 11(topological)m 12(databases)m 11(again)m 11(conver)m (ge,)s 11(some)m 12(temporary)m 11(loss)m 11(of)m 12(connectivity)m 11(may)m 11(result.)m 17(This)m 11(may)m 12(result)m 11(in)m 11(ICMP)m 0 444 p (unreachable)s 13(messages)m 14(being)m 13(sent)m 13(in)m 13(response)m 14(to)m 13(data)m 13(traf)m (\014c.)s 22(For)m 13(that)m 13(reason,)m 14(the)m 13(Designated)m 14(Router)m 13(should)m 13(change)m 0 494 p (only)s 11(infrequently)m -2 r 46 c 14(Router)m 11(Priorities)m 11(should)m 11(be)m 11(con\014gured)m 11(so)m 11(that)m 11(the)m 11(most)m 10(dependable)m 11(router)m 11(on)m 11 r 97 c 11(network)m 11(eventually)m 0 544 p (becomes)s 10(Designated)m 11(Router)m -1 r 46 c t-bol.360 @sf 0 680 p (7.4)s 50(The)m 12(Backup)m 13(Designated)m 12(Router)m t-rom.300 @sf 0 776 p (In)s 12(order)m 12(to)m 12(make)m 12(the)m 12(transition)m 12(to)m 12 r 97 c 12(new)m 12(Designated)m 12(Router)m 12(smoother)m -1 r 44 c 12(there)m 12(is)m 12 r 97 c 12(Backup)m 12(Designated)m 12(Router)m 12(for)m 12(each)m 0 826 p (multi-access)s 14(network.)m 24(The)m 14(Backup)m 14(Designated)m 14(Router)m 13(is)m 14(also)m 14(adjacent)m 14(to)m 14(all)m 14(routers)m 14(on)m 13(the)m 14(network,)m 15(and)m 14(becomes)m 0 876 p (Designated)s 12(Router)m 12(when)m 13(the)m 12(previous)m 12(Designated)m 12(Router)m 12(fails.)m 19(If)m 12(there)m 13(were)m 12(no)m 12(Backup)m 12(Designated)m 12(Router)m 44 c 11(when)m 12 r 97 c 0 926 p (new)s 10(Designated)m 10(Router)m 10(became)m 10(necessary)m -2 r 44 c 9(new)m 10(adjacencies)m 10(would)m 10(have)m 10(to)m 10(be)m 10(formed)m 10(between)m 10(the)m 10(router)m 10(and)m 10(all)m 10(other)m 0 975 p (routers)s 11(attached)m 11(to)m 11(the)m 11(network.)m 15(Part)m 11(of)m 11(the)m 11(adjacency)m 11(forming)m 11(process)m 11(is)m 11(the)m 11(synchronizing)m 11(of)m 11(topological)m 11(databases,)m 0 1025 p (which)s 13(can)m 14(potentially)m 13(take)m 13(quite)m 14 r 97 c 13(long)m 13(time.)m 23(During)m 13(this)m 13(time,)m 14(the)m 14(network)m 13(would)m 13(not)m 13(be)m 14(available)m 13(for)m 13(transit)m 14(data)m 0 1075 p (traf)s (\014c.)s 14(The)m 11(Backup)m 11(Designated)m 10(obviates)m 11(the)m 11(need)m 10(to)m 11(form)m 11(these)m 11(adjacencies,)m 10(since)m 11(they)m 11(already)m 11(exist.)m 15(This)m 10(means)m 11(the)m 0 1125 p (period)s 14(of)m 13(disruption)m 14(in)m 14(transit)m 14(traf)m (\014c)s 13(lasts)m 13(only)m 14(as)m 14(long)m 14(as)m 13(it)m 14(take)m 14(to)m 14(\015ood)m 13(the)m 14(new)m 14(link)m 14(state)m 13(advertisements)m 14(\(which)m 0 1175 p (announce)s 10(the)m 11(new)m 10(Designated)m 11(Router\).)m 0 1242 p (The)s 7(Backup)m 7(Designated)m 7(Router)m 7(does)m 7(not)m 7(generate)m 7 r 97 c 7(network)m 7(links)m 7(advertisement)m 7(for)m 8(the)m 7(network.)m 12(\(If)m 7(it)m 7(did,)m 8(the)m 7(transition)m 0 1292 p (to)s 14 r 97 c 13(new)m 14(Designated)m 14(Router)m 13(would)m 14(be)m 14(even)m 13(faster)m -1 r 46 c 22(However)m 44 c 13(this)m 14(is)m 14 r 97 c 13(tradeof)m 102 c 13(between)m 14(database)m 13(size)m 14(and)m 14(speed)m 13(of)m 0 1342 p (conver)s (gence)s 10(when)m 10(the)m 10(Designated)m 11(Router)m 10(disappears.\))m 0 1410 p (The)s 11(Backup)m 11(Designated)m 11(Router)m 11(is)m 11(also)m 11(elected)m 12(by)m 11(the)m 11(Hello)m 11(Protocol.)m 16(Each)m 11(Hello)m 11(Packet)m 11(has)m 11 r 97 c 11(\014eld)m 11(that)m 11(speci\014es)m 11(the)m 0 1459 p (Backup)s 10(Designated)m 11(Router)m 10(for)m 11(the)m 10(network.)m 0 1527 p (In)s 13(some)m 12(steps)m 13(of)m 12(the)m 13(\015ooding)m 12(procedure,)m 13(the)m 13(Backup)m 12(Designated)m 13(Router)m 12(plays)m 13 r 97 c 12(passive)m 13(role,)m 13(letting)m 13(the)m 12(Designated)m 0 1577 p (Router)s 16(do)m 15(more)m 16(of)m 15(the)m 16(work.)m 29(This)m 16(cuts)m 15(down)m 16(on)m 15(the)m 16(amount)m 15(of)m 16(local)m 16(routing)m 15(traf)m (\014c.)s 29(See)m 15(Section)m 16(13.3)m 15(for)m 16(more)m 0 1627 p (information.)s t-bol.360 @sf 0 1763 p (7.5)s 50(The)m 12(graph)m 13(of)m 12(adjacencies)m t-rom.300 @sf 0 1859 p (An)s 10(adjacency)m 11(is)m 10(bound)m 11(to)m 10(the)m 11(network)m 10(that)m 11(the)m 10(two)m 11(routers)m 10(have)m 11(in)m 10(common.)m 14(If)m 11(two)m 10(routers)m 11(have)m 10(multiple)m 11(networks)m 10(in)m 0 1909 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 1977 p (One)s 13(can)m 12(picture)m 13(the)m 12(collection)m 13(of)m 12(adjacencies)m 13(on)m 13 r 97 c 12(network)m 13(as)m 12(forming)m 13(an)m 12(undirected)m 13(graph.)m 20(The)m 13(vertices)m 12(consist)m 13(of)m 0 2026 p (routers,)s 11(with)m 11(an)m 12(edge)m 11(joining)m 11(two)m 11(routers)m 11(if)m 11(they)m 11(are)m 12(adjacent.)m 16(The)m 11(graph)m 11(of)m 11(adjacencies)m 11(describes)m 11(the)m 11(\015ow)m 11(of)m 12(routing)m 0 2076 p (protocol)s 10(packets,)m 11(and)m 10(in)m 11(particular)m 10(Link)m 10(State)m 11(Updates,)m 10(through)m 11(the)m 10(Autonomous)m 11(System.)m 0 2144 p 84 c -2(wo)m 14(graphs)m 14(are)m 15(possible,)m 15(depending)m 15(on)m 15(whether)m 14(the)m 15(common)m 14(network)m 15(is)m 15(multi-access.)m 26(On)m 15(physical)m 14(point-to-point)m 0 2194 p (networks)s 13(\(and)m 13(virtual)m 13(links\),)m 13(the)m 13(two)m 13(routers)m 13(joined)m 13(by)m 13(the)m 13(network)m 13(will)m 13(be)m 13(adjacent)m 13(after)m 13(their)m 13(databases)m 13(have)m 13(been)m 0 2243 p (synchronized.)s 14(On)m 9(multi-access)m 10(networks,)m 10(both)m 10(the)m 9(Designated)m 10(Router)m 10(and)m 10(the)m 9(Backup)m 10(Designated)m 10(Router)m 9(are)m 10(adjacent)m 0 2293 p (to)s 10(all)m 11(other)m 10(routers)m 11(attached)m 10(to)m 10(the)m 11(network,)m 10(and)m 11(these)m 10(account)m 11(for)m 10(all)m 10(adjacencies.)m 0 2361 p (These)s 11(graphs)m 11(are)m 11(shown)m 11(in)m 11(Figure)m 11(10.)m 16(The)m 11(Backup)m 11(Designated)m 11(Router)m 11(performs)m 11 r 97 c 11(lesser)m 11(function)m 11(during)m 11(the)m 11(\015ooding)m 0 2411 p (procedure)s 8(than)m 9(the)m 8(Designated)m 8(Router)m 8(\(see)m 9(Section)m 8(13.3\).)m 13(This)m 8(is)m 9(the)m 8(reason)m 8(for)m 9(the)m 8(dashed)m 8(lines)m 9(connecting)m 8(the)m 8(Backup)m 0 2461 p (Designated)s 10(Router)m -1 r 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(26)m @eop 25 @bop0 25 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (7.2)s 50(The)m 12(Synchr)m (onization)s 12(of)m 13(Databases)m t-rom.300 @sf 0 287 p (In)s 14(an)m 13(SPF-based)m 14(routing)m 13(algorithm,)m 15(it)m 14(is)m 13(very)m 14(important)m 13(for)m 14(all)m 14(routers')m 13(topological)m 14(databases)m 13(to)m 14(stay)m 14(synchronized.)m 0 337 p (OSPF)s 11(simpli\014es)m 11(this)m 11(by)m 11(requiring)m 11(only)m 11(adjacent)m 11(routers)m 12(to)m 11(remain)m 11(synchronized.)m 15(The)m 12(synchronization)m 11(process)m 11(begins)m 0 387 p (as)s 11(soon)m 11(as)m 11(the)m 11(routers)m 11(attempt)m 11(to)m 11(bring)m 11(up)m 11(the)m 11(adjacency)m -1 r 46 c 14(Each)m 11(router)m 11(describes)m 11(its)m 11(database)m 11(by)m 11(sending)m 11 r 97 c 11(sequence)m 11(of)m 0 437 p (Database)s 9(Description)m 9(packets)m 9(to)m 9(its)m 9(neighbor)m -1 r 46 c 12(Each)m 9(Database)m 9(Description)m 9(Packet)m 9(describes)m 9 r 97 c 9(set)m 9(of)m 9(link)m 9(state)m 9(advertise-)m 0 486 p (ments)s 12(belonging)m 11(to)m 12(the)m 11(database.)m 17(When)m 12(the)m 11(neighbor)m 12(sees)m 11 r 97 c 12(link)m 11(state)m 12(advertisement)m 11(that)m 12(is)m 11(more)m 12(recent)m 12(than)m 11(its)m 12(own)m 0 536 p (instantiation)s 10(of)m 11(the)m 10(same)m 11(advertisement,)m 10(it)m 10(makes)m 11 r 97 c 10(note)m 11(that)m 10(this)m 11(newer)m 10(advertisement)m 10(should)m 11(be)m 10(requested.)m 0 600 p (This)s 11(sending)m 12(and)m 11(receiving)m 12(of)m 11(Database)m 11(Description)m 12(packets)m 11(is)m 11(called)m 12(the)m 11(\\Database)m 12(Exchange)m 11(Process".)m 17(During)m 11(this)m 0 650 p (process,)s 11(the)m 11(two)m 11(routers)m 10(form)m 11 r 97 c 11(master/slave)m 11(relationship.)m 15(Each)m 11(Database)m 11(Description)m 11(Packet)m 10(has)m 11 r 97 c 11(sequence)m 11(number)m -1 r 46 c 0 700 p (Database)s 7(Description)m 8(Packets)m 7(sent)m 8(by)m 7(the)m 8(master)m 7(\(polls\))m 7(are)m 8(acknowledged)m 7(by)m 8(the)m 7(slave)m 8(through)m 7(echoing)m 8(of)m 7(the)m 7(sequence)m 0 750 p (number)s -1 r 46 c 17(Both)m 12(polls)m 12(and)m 12(their)m 13(responses)m 12(contain)m 12(summaries)m 12(of)m 12(link)m 12(state)m 12(data.)m 18(The)m 12(master)m 12(is)m 12(the)m 12(only)m 12(one)m 13(allowed)m 12(to)m 0 799 p (retransmit)s 15(Database)m 15(Description)m 15(Packets.)m 27(It)m 15(does)m 15(so)m 15(only)m 15(at)m 15(\014xed)m 15(intervals,)m 16(the)m 15(length)m 15(of)m 15(which)m 15(is)m 14(the)m 15(con\014gured)m 0 849 p (constant)s 10(RxmtInterval.)m 0 913 p (Each)s 12(Database)m 12(Description)m 12(contains)m 12(an)m 12(indication)m 12(that)m 12(there)m 12(are)m 12(more)m 12(packets)m 12(to)m 12(follow)m 12 r 124 c 12(the)m 12(M-bit.)m 19(The)m 12(Database)m 0 963 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 1027 p (After)s 13(the)m 12(Database)m 13(Exchange)m 12(Process)m 13(is)m 13(over)m -1 r 44 c 12(each)m 13(router)m 12(has)m 13 r 97 c 13(list)m 12(of)m 13(those)m 13(link)m 12(state)m 13(advertisements)m 12(for)m 13(which)m 13(the)m 0 1077 p (neighbor)s 7(has)m 7(more)m 7(up)m 8(to)m 7(date)m 7(instantiations.)m 13(These)m 7(are)m 7(then)m 7(requested)m 7(in)m 7(Link)m 8(State)m 7(Request)m 7(Packets.)m 13(Link)m 7(State)m 7(Request)m 0 1127 p (packets)s 11(that)m 12(are)m 11(not)m 12(satis\014ed)m 11(are)m 11(retransmitted)m 12(at)m 11(\014xed)m 12(intervals)m 11(of)m 11(time)m 12(RxmtInterval.)m 17(When)m 11(all)m 11(Link)m 12(State)m 11(Requests)m 0 1176 p (have)s 13(been)m 12(satis\014ed,)m 13(the)m 13(databases)m 13(are)m 12(synchronized)m 13(and)m 12(the)m 13(routers)m 13(are)m 12(fully)m 13(adjacent.)m 20(At)m 13(this)m 12(time)m 13(the)m 13(adjacency)m 12(is)m 0 1226 p (fully)s 10(functional)m 11(and)m 10(is)m 11(advertised)m 10(in)m 10(the)m 11(two)m 10(routers')m 11(link)m 10(state)m 11(advertisements.)m 0 1290 p (The)s 12(adjacency)m 13(is)m 12(used)m 12(by)m 13(the)m 12(\015ooding)m 13(procedure)m 12(as)m 12(soon)m 13(as)m 12(the)m 12(Database)m 13(Exchange)m 12(Process)m 13(begins.)m 19(This)m 13(simpli\014es)m 0 1340 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 1472 p (7.3)s 50(The)m 12(Designated)m 13(Router)m t-rom.300 @sf 0 1564 p (Every)s 13(multi-access)m 13(network)m 13(has)m 14 r 97 c 13(Designated)m 13(Router)m -1 r 46 c 21(The)m 13(Designated)m 13(Router)m 13(performs)m 13(two)m 13(main)m 14(functions)m 13(for)m 13(the)m 0 1613 p (routing)s 10(protocol:)m cmsy10.300 @sf 62 1710 p 15 c t-rom.300 @sf 21(The)m 11(Designated)m 11(Router)m 11(originates)m 11 r 97 c 12(network)m 11(links)m 11(advertisement)m 11(on)m 11(behalf)m 11(of)m 11(the)m 11(network.)m 16(This)m 11(advertisement)m 104 1760 p (lists)s 15(the)m 14(set)m 15(of)m 15(routers)m 15(\(including)m 14(the)m 15(Designated)m 15(Router)m 15(itself\))m 14(currently)m 15(attached)m 15(to)m 14(the)m 15(network.)m 27(The)m 15(Link)m 104 1810 p (State)s 10(ID)m 10(for)m 10(this)m 10(advertisement)m 10(\(see)m 10(Section)m 10(12.1.2\))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 1860 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 1939 p 15 c t-rom.300 @sf 21(The)m 11(Designated)m 12(router)m 11(becomes)m 12(adjacent)m 11(to)m 12(all)m 11(other)m 11(routers)m 12(on)m 11(the)m 12(network.)m 17(Since)m 11(the)m 11(link)m 12(state)m 11(databases)m 12(are)m 104 1989 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 2039 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 2136 p (The)s 12(Designated)m 12(Router)m 12(is)m 12(elected)m 12(by)m 12(the)m 12(Hello)m 12(Protocol.)m 18 r 65 c 12(router)m 2 r 39 c -1 r 115 c 11(Hello)m 12(Packet)m 12(contains)m 12(its)m 12(Router)m 12(Priority)m -2 r 44 c 11(which)m 0 2186 p (is)s 12(con\014gurable)m 13(on)m 12 r 97 c 13(per)m (-interface)s 11(basis.)m 20(In)m 13(general,)m 13(when)m 12 r 97 c 13(router)m 1 r 39 c -1 r 115 c 11(interface)m 13(to)m 12 r 97 c 13(network)m 12(\014rst)m 12(becomes)m 13(functional,)m 0 2236 p (it)s 14(checks)m 15(to)m 14(see)m 14(whether)m 14(there)m 15(is)m 14(currently)m 14 r 97 c 14(Designated)m 15(Router)m 14(for)m 14(the)m 15(network.)m 25(If)m 14(there)m 15(is,)m 15(it)m 14(accepts)m 14(that)m 15(Desig-)m 0 2285 p (nated)s 11(Router)m -1 r 44 c 10(regardless)m 11(of)m 11(its)m 11(Router)m 11(Priority)m -2 r 46 c 14(\(This)m 11(makes)m 11(it)m 11(harder)m 11(to)m 11(predict)m 11(the)m 11(identity)m 10(of)m 11(the)m 11(Designated)m 11(Router)m -1 r 44 c 0 2335 p (but)s 12(ensures)m 12(that)m 12(the)m 13(Designated)m 12(Router)m 12(changes)m 12(less)m 12(often.)m 19(See)m 13(below)m -2(.\))m 18(Otherwise,)m 13(the)m 12(router)m 12(itself)m 12(becomes)m 12(Desig-)m 0 2385 p (nated)s 11(Router)m 11(if)m 11(it)m 10(has)m 11(the)m 11(highest)m 11(Router)m 11(Priority)m 11(on)m 11(the)m 10(network.)m 16 r 65 c 11(more)m 10(detailed)m 11(\(and)m 11(more)m 11(accurate\))m 11(description)m 11(of)m 0 2435 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 2499 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 2549 p (networks,)s 12(the)m 12(Designated)m 12(Router)m 11(multicasts)m 12(its)m 12(Link)m 12(State)m 11(Update)m 12(Packets)m 12(to)m 12(the)m 11(address)m 12(AllSPFRouters,)m 12(rather)m 12(than)m 0 2599 p (sending)s 10(separate)m 11(packets)m 10(over)m 11(each)m 10(adjacency)m -2 r 46 c h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(25)m @eop 24 @bop0 24 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 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 9(router)m 9(links)m 9(advertisement)m 9(is)m 9(generated)m 9(by)m 9(each)m 9(router)m 9(in)m 9(the)m 9(area.)m 13(It)m 9(describes)m 104 245 p (the)s 10(state)m 11(of)m 10(the)m 10(router)m 2 r 39 c -1 r 115 c 9(interfaces)m 11(to)m 10(the)m 10(area.)m t-bol.300 @sf 0 328 p (List)s 10(of)m 11(network)m 10(links)m 11(advertisements)m t-rom.300 @sf 20(One)m 15(network)m 15(links)m 15(advertisement)m 15(is)m 14(generated)m 15(for)m 15(each)m 15(transit)m 15(multi-access)m 104 378 p (network)s 10(in)m 11(the)m 10(area.)m 14(It)m 10(describes)m 11(the)m 10(set)m 11(of)m 10(routers)m 10(currently)m 11(connected)m 10(to)m 11(the)m 10(network.)m t-bol.300 @sf 0 461 p (List)s 10(of)m 11(summary)m 10(links)m 11(advertisements)m t-rom.300 @sf 20(Summary)m 12(link)m 11(advertisements)m 11(originate)m 12(from)m 11(the)m 11(area')m -1 r 115 c 10(area)m 12(border)m 11(routers.)m 104 511 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 594 p (Shortest-path)s 10(tr)m (ee)s t-rom.300 @sf 20(The)m 9(shortest-path)m 8(tree)m 9(for)m 8(the)m 9(area,)m 8(with)m 9(this)m 8(router)m 9(itself)m 8(as)m 8(root.)m 14(Derived)m 8(from)m 9(the)m 8(collected)m 8(router)m 104 643 p (links)s 10(and)m 11(network)m 10(links)m 10(advertisements)m 11(by)m 10(the)m 11(Dijkstra)m 10(algorithm.)m t-bol.300 @sf 0 726 p (Authentication)s 10(type)m t-rom.300 @sf 21(The)m 11(type)m 12(of)m 11(authentication)m 11(used)m 11(for)m 11(this)m 12(area.)m 16(Authentication)m 11(types)m 11(are)m 12(de\014ned)m 11(in)m 11(Appendix)m 11(E.)m 104 776 p (All)s 9(OSPF)m 10(packet)m 10(exchanges)m 10(are)m 9(authenticated.)m 14(Dif)m (ferent)s 9(authentication)m 10(schemes)m 9(may)m 10(be)m 10(used)m 9(in)m 10(dif)m (ferent)s 9(areas.)m 0 885 p (Unless)s 12(otherwise)m 11(speci\014ed,)m 12(the)m 12(remaining)m 11(sections)m 12(of)m 11(this)m 12(document)m 11(refer)m 12(to)m 11(the)m 12(operation)m 12(of)m 11(the)m 12(protocol)m 11(in)m 12 r 97 c 11(single)m 0 935 p (area.)s t-bol.420 @sf 0 1093 p 55 c 58(Bringing)m 15(Up)m 14(Adjacencies)m t-rom.300 @sf 0 1204 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 1254 p (two)s 12(neighboring)m 11(routers)m 12(will)m 11(become)m 12(adjacent.)m 17(This)m 12(section)m 11(covers)m 12(the)m 12(generalities)m 11(involved)m 12(in)m 11(creating)m 12(adjacencies.)m 0 1303 p (For)s 10(further)m 11(details)m 10(consult)m 11(Section)m 10(10.)m t-bol.360 @sf 0 1440 p (7.1)s 50(The)m 12(Hello)m 13(Pr)m (otocol)s t-rom.300 @sf 0 1536 p (The)s 9(Hello)m 9(Protocol)m 8(is)m 9(responsible)m 9(for)m 9(establishing)m 9(and)m 8(maintaining)m 9(neighbor)m 9(relationships.)m 13(It)m 9(also)m 9(ensures)m 9(that)m 9(commu-)m 0 1586 p (nication)s 10(between)m 10(neighbors)m 9(is)m 10(bidirectional.)m 14(Hello)m 10(packets)m 9(are)m 10(sent)m 10(periodically)m 10(out)m 10(all)m 9(router)m 10(interfaces.)m 14(Bidirectional)m 0 1635 p (communication)s 10(is)m 11(indicated)m 10(when)m 11(the)m 10(router)m 10(sees)m 11(itself)m 10(listed)m 11(in)m 10(the)m 11(neighbor)m 1 r 39 c -1 r 115 c 9(Hello)m 11(Packet.)m 0 1703 p (On)s 12(multi-access)m 13(networks,)m 13(the)m 12(Hello)m 13(Protocol)m 12(elects)m 13 r 97 c 12(Designated)m 13(Router)m 12(for)m 13(the)m 12(network.)m 20(Among)m 13(other)m 12(things,)m 13(the)m 0 1753 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 1821 p (The)s 12(Hello)m 11(Protocol)m 12(works)m 11(dif)m (ferently)s 11(on)m 12(broadcast)m 12(networks,)m 11(as)m 12(compared)m 12(to)m 11(non-broadcast)m 12(networks.)m 17(On)m 12(broadcast)m 0 1870 p (networks,)s 9(each)m 10(router)m 9(advertises)m 9(itself)m 9(by)m 9(periodically)m 10(multicasting)m 9(Hello)m 9(Packets.)m 13(This)m 10(allows)m 9(neighbors)m 9(to)m 9(be)m 9(discov-)m 0 1920 p (ered)s 12(dynamically)m -2 r 46 c 19(These)m 12(Hello)m 12(Packets)m 12(contain)m 12(the)m 12(router)m 2 r 39 c -1 r 115 c 11(view)m 12(of)m 12(the)m 12(Designated)m 12(Router)m 2 r 39 c -1 r 115 c 11(identity)m -2 r 44 c 12(and)m 12(the)m 12(list)m 12(of)m 0 1970 p (routers)s 10(whose)m 11(Hellos)m 10(have)m 11(been)m 10(seen)m 10(recently)m -1 r 46 c 0 2038 p (On)s 9(non-broadcast)m 10(networks)m 9(some)m 9(con\014guration)m 9(information)m 10(is)m 9(necessary)m 9(for)m 10(the)m 9(operation)m 9(of)m 10(the)m 9(Hello)m 9(Protocol.)m 14(Each)m 0 2087 p (router)s 10(that)m 10(may)m 11(potentially)m 10(become)m 10(Designated)m 10(Router)m 10(has)m 11 r 97 c 10(list)m 10(of)m 10(all)m 10(other)m 11(routers)m 10(attached)m 10(to)m 10(the)m 10(network.)m 14 r 65 c 10(router)m 44 c 0 2137 p (having)s 13(Designated)m 13(Router)m 13(potential,)m 13(sends)m 13(hellos)m 13(to)m 12(all)m 13(other)m 13(potential)m 13(Designated)m 13(Routers)m 13(when)m 12(its)m 13(interface)m 13(to)m 13(the)m 0 2187 p (non-broadcast)s 10(network)m 10(\014rst)m 10(becomes)m 11(operational.)m 13(This)m 10(is)m 11(an)m 10(attempt)m 10(to)m 10(\014nd)m 10(the)m 10(Designated)m 10(Router)m 10(for)m 11(the)m 10(network.)m 13(If)m 0 2237 p (the)s 10(router)m 11(itself)m 10(is)m 11(elected)m 10(Designated)m 10(Router)m 44 c 9(it)m 11(begins)m 10(sending)m 10(hellos)m 11(to)m 10(all)m 11(other)m 10(routers)m 11(attached)m 10(to)m 10(the)m 11(network.)m 0 2305 p (After)s 15 r 97 c 15(neighbor)m 14(has)m 15(been)m 15(discovered,)m 16(bidirectional)m 14(communication)m 15(ensured,)m 16(and)m 15(\(if)m 15(on)m 14 r 97 c 15(multi-access)m 15(network\))m 15 r 97 c 0 2354 p (Designated)s 15(Router)m 16(elected,)m 16 r 97 c 16(decision)m 15(is)m 15(made)m 16(regarding)m 15(whether)m 15(or)m 15(not)m 16(an)m 15(adjacency)m 15(should)m 16(be)m 15(formed)m 15(with)m 16(the)m 0 2404 p (neighbor)s 14(\(see)m 13(Section)m 14(10.4\).)m 23(An)m 14(attempt)m 14(is)m 13(always)m 14(made)m 13(to)m 14(establish)m 14(adjacencies)m 13(over)m 14(point-to-point)m 14(networks)m 13(and)m 0 2454 p (virtual)s 10(links.)m 13(The)m 10(\014rst)m 10(step)m 9(in)m 10(bringing)m 10(up)m 9(an)m 10(adjacency)m 9(is)m 10(to)m 10(synchronize)m 9(the)m 10(neighbors')m 10(topological)m 9(databases.)m 14(This)m 10(is)m 0 2504 p (covered)s 10(in)m 11(the)m 10(next)m 11(section.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(24)m @eop 23 @bop0 23 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 783 p 30785863 18779374 65781 20589690 45652541 48415375 startTexFig %!PS-Adobe-1.0 %%Title: foo %%Creator: /usr/local/bin/f2ps %%CreationDate: Fri Aug 18 11:27:16 1989 %%For: jmoy@garland.proteon.com (Mohsin Lari) %%Pages: 1 %%BoundingBox: 1 313 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 1716(Page)m 12(23)m @eop 22 @bop0 22 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p 86 c -1(irtual)m 10(links)m 10(con\014gur)m (ed)s t-rom.300 @sf 20(The)m 12(virtual)m 12(links)m 11(con\014gured)m 12(with)m 11(this)m 12(router)m 12(as)m 11(one)m 12(endpoint.)m 18(The)m 11(router)m 12(itself)m 11(must)m 12(be)m 12(an)m 104 245 p (area)s 12(border)m 13(router)m -2 r 46 c 19 r 86 c -1(irtual)m 11(links)m 13(are)m 12(identi\014ed)m 13(by)m 12(the)m 12(Router)m 13(ID)m 12(of)m 13(the)m 12(other)m 13(endpoint)m 12 r 123 c 12(which)m 13(is)m 12(another)m 13(area)m 104 295 p (border)s 12(router)m -1 r 46 c 18(These)m 12(two)m 12(endpoint)m 12(routers)m 13(must)m 12(be)m 12(attached)m 12(to)m 12 r 97 c 12(common)m 13(area,)m 12(called)m 12(the)m 13(virtual)m 12(link')m -1 r 115 c 11(transit)m 104 345 p (area.)s 21 r 86 c -1(irtual)m 11(links)m 13(are)m 13(part)m 13(of)m 13(the)m 13(backbone,)m 13(and)m 13(behave)m 13(as)m 13(if)m 13(they)m 13(were)m 12(unnumbered)m 13(point-to-point)m 13(networks)m 104 394 p (between)s 10(the)m 11(two)m 11(routers.)m 14 r 65 c 11(virtual)m 10(link)m 11(uses)m 10(the)m 11(intra-area)m 11(routing)m 10(of)m 11(its)m 11(transit)m 10(area)m 11(to)m 10(forward)m 11(packets.)m 14 r 86 c -1(irtual)m 104 444 p (links)s 10(are)m 11(brought)m 10(up)m 10(and)m 11(down)m 10(through)m 11(the)m 10(building)m 11(of)m 10(the)m 10(shortest-path)m 11(trees)m 10(for)m 11(the)m 10(transit)m 10(area.)m t-bol.300 @sf 0 525 p (List)s 10(of)m 11(external)m 10 r 114 c (outes)s t-rom.300 @sf 20(These)m 12(are)m 12(routes)m 12(to)m 12(destinations)m 13(external)m 12(to)m 12(the)m 12(Autonomous)m 12(System,)m 12(that)m 12(have)m 12(been)m 12(gained)m 104 575 p (either)s 9(through)m 9(direct)m 9(experience)m 9(with)m 9(another)m 10(routing)m 9(protocol)m 9(\(such)m 9(as)m 9(EGP\),)m 9(or)m 9(through)m 9(con\014guration)m 10(informa-)m 104 625 p (tion,)s 9(or)m 8(through)m 8 r 97 c 8(combination)m 9(of)m 8(the)m 8(two)m 9(\(e.g.,)m 8(dynamic)m 9(external)m 8(info.)m 13(to)m 9(be)m 8(advertised)m 8(by)m 9(OSPF)m 8(with)m 8(con\014gured)m 104 675 p (metric\).)s 18(Any)m 12(router)m 11(having)m 12(these)m 12(external)m 12(routes)m 11(is)m 12(called)m 12(an)m 12(AS)m 12(boundary)m 11(router)m -1 r 46 c 17(These)m 12(routes)m 12(are)m 11(advertised)m 104 725 p (by)s 10(the)m 11(router)m 10(to)m 10(the)m 11(entire)m 10(AS)m 11(through)m 10(AS)m 11(external)m 10(link)m 10(advertisements.)m t-bol.300 @sf 0 806 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 11(of)m 12(the)m 11(topological)m 11(database.)m 17(These)m 12(have)m 11(have)m 12(originated)m 11(from)m 11(the)m 12(AS)m 104 856 p (boundary)s 12(routers.)m 19(They)m 12(comprise)m 12(routes)m 12(to)m 12(destinations)m 12(external)m 12(to)m 12(the)m 12(Autonomous)m 12(System.)m 19(Note)m 12(that,)m 12(if)m 13(the)m 104 906 p (router)s 10(is)m 10(itself)m 10(an)m 10(AS)m 10(boundary)m 10(router)m -1 r 44 c 9(some)m 10(of)m 10(these)m 10(AS)m 10(external)m 10(link)m 10(advertisements)m 10(have)m 10(been)m 10(self)m 10(originated.)m t-bol.300 @sf 0 987 p (The)s 10 r 114 c (outing)s 10(table)m t-rom.300 @sf 21(Derived)m 12(from)m 13(the)m 13(topological)m 12(database.)m 20(Each)m 13(destination)m 13(that)m 12(the)m 13(router)m 12(can)m 13(forward)m 13(to)m 12(is)m 13(repre-)m 104 1037 p (sented)s 13(by)m 13 r 97 c 13(cost)m 13(and)m 13 r 97 c 13(set)m 13(of)m 13(paths.)m 21 r 65 c 13(path)m 13(is)m 13(described)m 13(by)m 13(its)m 13(type)m 13(and)m 13(next)m 13(hop.)m 22(For)m 13(more)m 13(information,)m 13(see)m 104 1087 p (Section)s 10 r 49 c (1.)s 0 1190 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 1240 p (in)s 11(Figure)m 11(6.)m 15(Note)m 11(that)m 11(router)m 11 r 82 c -1(T10)m 9(has)m 11 r 97 c 11(virtual)m 11(link)m 11(con\014gured)m 11(to)m 11(router)m 11 r 82 c -2(T1)m -1(1,)m 10(with)m 11(Area)m 11 r 50 c 11(as)m 11(the)m 11(link')m -2 r 115 c 10(transit)m 11(area.)m 0 1289 p (This)s 10(is)m 10(indicated)m 9(by)m 10(the)m 10(dashed)m 10(in)m 10(Figure)m 9(9.)m 14(When)m 10(the)m 10(virtual)m 10(link)m 9(becomes)m 10(active,)m 10(through)m 10(the)m 10(building)m 10(of)m 9(the)m 10(shortest)m 0 1339 p (path)s 10(tree)m 11(for)m 10(Area)m 11(2,)m 10(it)m 10(becomes)m 11(an)m 10(interface)m 11(to)m 10(the)m 11(backbone)m 10(\(see)m 10(the)m 11(two)m 10(backbone)m 11(interfaces)m 10(depicted)m 10(in)m 11(Figure)m 10(9\).)m t-bol.420 @sf 0 1495 p 54 c 58(The)m 15(Ar)m (ea)s 13(Data)m 15(Structur)m 101 c t-rom.300 @sf 0 1603 p (The)s 10(area)m 10(data)m 11(structure)m 10(contains)m 10(all)m 10(the)m 11(information)m 10(used)m 10(to)m 10(run)m 10(the)m 11(basic)m 10(routing)m 10(algorithm.)m 14(Remember)m 10(that)m 10(each)m 11(area)m 0 1653 p (maintains)s 10(its)m 11(own)m 10(topological)m 11(database.)m 14(Router)m 10(interfaces)m 10(and)m 11(adjacencies)m 10(belong)m 11(to)m 10 r 97 c 10(single)m 11(area.)m 0 1719 p (The)s 12(backbone)m 12(has)m 11(all)m 12(the)m 12(properties)m 12(of)m 12(an)m 12(area.)m 18(For)m 11(that)m 12(reason)m 12(it)m 12(is)m 12(also)m 12(represented)m 11(by)m 12(an)m 12(area)m 12(data)m 12(structure.)m 18(Note)m 0 1769 p (that)s 10(some)m 11(items)m 10(in)m 11(the)m 10(structure)m 10(apply)m 11(dif)m (ferently)s 10(to)m 10(the)m 10(backbone)m 11(than)m 10(to)m 11(areas.)m 0 1835 p (The)s 9(area)m 9(topological)m 9(\(or)m 8(link)m 9(state\))m 9(database)m 9(consists)m 9(of)m 9(the)m 9(collection)m 8(of)m 9(router)m 9(links,)m 9(network)m 9(links)m 9(and)m 9(summary)m 9(links)m 0 1884 p (advertisements)s 10(that)m 9(have)m 10(originated)m 10(from)m 9(the)m 10(area')m -1 r 115 c 9(routers.)m 13(This)m 10(information)m 10(is)m 9(\015ooded)m 10(throughout)m 10 r 97 c 9(single)m 10(area)m 10(only)m -2 r 46 c 0 1934 p (The)s 10(list)m 11(of)m 10(AS)m 11(external)m 10(advertisements)m 10(is)m 11(also)m 10(considered)m 11(to)m 10(be)m 11(part)m 10(of)m 10(each)m 11(area')m -1 r 115 c 9(topological)m 10(database.)m t-bol.300 @sf 0 2037 p (Ar)s (ea)s 10(ID)m t-rom.300 @sf 20 r 65 c 12(32)m 11(bit)m 11(number)m 12(identifying)m 11(the)m 11(area.)m 17 r 48 c 11(is)m 12(reserved)m 11(for)m 11(the)m 12(area)m 11(ID)m 11(of)m 11(the)m 12(backbone.)m 16(If)m 12(assigning)m 11(subnetted)m 104 2087 p (networks)s 10(as)m 11(separate)m 10(areas,)m 10(the)m 11(IP)m 10(network)m 11(number)m 10(could)m 11(be)m 10(used)m 10(as)m 11(the)m 10(Area)m 11(ID.)m t-bol.300 @sf 0 2169 p (List)s 10(of)m 11(component)m 10(addr)m (ess)s 10(ranges)m t-rom.300 @sf 21(The)m 13(address)m 13(ranges)m 13(that)m 14(de\014ne)m 13(the)m 13(area.)m 23(Each)m 13(address)m 13(range)m 13(is)m 14(speci\014ed)m 13(by)m 13(an)m 104 2218 p ([address,mask])s 11(pair)m -1 r 46 c 16(Each)m 12(network)m 11(is)m 12(then)m 11(assigned)m 11(to)m 12(an)m 11(area)m 12(depending)m 11(on)m 12(the)m 11(address)m 12(range)m 11(that)m 12(it)m 11(falls)m 12(into)m 104 2268 p (\(speci\014ed)s 13(address)m 13(ranges)m 13(are)m 13(not)m 13(allowed)m 13(to)m 14(overlap\).)m 22(As)m 13(an)m 13(example,)m 14(if)m 13(an)m 13(IP)m 13(subnetted)m 13(network)m 13(is)m 13(to)m 13(be)m 13(its)m 104 2318 p (own)s 9(separate)m 10(OSPF)m 10(area,)m 9(the)m 10(area)m 10(is)m 9(de\014ned)m 10(to)m 9(consist)m 10(of)m 10 r 97 c 9(single)m 10(address)m 9(range)m 10 r 45 c 10(an)m 9(IP)m 10(network)m 9(number)m 10(with)m 10(its)m 104 2368 p (natural)s 10(\(class)m 11(A,)m 10 r 66 c 10(or)m 11(C\))m 10(mask.)m t-bol.300 @sf 0 2449 p (Associated)s 10 r 114 c (outer)s 10(interfaces)m t-rom.300 @sf 21(This)m 12(router)m 1 r 39 c -1 r 115 c 11(interfaces)m 12(connecting)m 12(to)m 13(the)m 12(area.)m 18 r 65 c 13(router)m 12(interface)m 12(belongs)m 12(to)m 12(one)m 12(and)m 104 2499 p (only)s 14(one)m 14(area)m 14(\(or)m 14(the)m 14(backbone\).)m 25(For)m 14(the)m 14(backbone)m 14(structure)m 14(this)m 14(list)m 15(includes)m 14(all)m 14(the)m 14(virtual)m 14(adjacencies.)m 25 r 65 c 104 2549 p (virtual)s 12(adjacency)m 13(is)m 12(identi\014ed)m 12(by)m 13(the)m 12(router)m 13(ID)m 12(of)m 12(its)m 13(other)m 12(endpoint;)m 14(its)m 12(cost)m 13(is)m 12(the)m 12(cost)m 13(of)m 12(the)m 13(intra-area)m 12(route)m 104 2599 p (that)s 10(exists)m 11(between)m 10(the)m 10(two)m 11(routers.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(22)m @eop 21 @bop0 21 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (4.4)s 50(Basic)m 12(implementation)m 13 r 114 c (equir)s -1(ements)m t-rom.300 @sf 0 290 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 399 p 84 c (imers)s t-rom.300 @sf 20 r 84 c -2(wo)m 13(dif)m (ferent)s 14(kind)m 14(of)m 15(timers)m 14(are)m 14(required.)m 26(The)m 14(\014rst)m 14(kind,)m 16(called)m 14(single)m 14(shot)m 15(timers,)m 15(\014re)m 14(once)m 15(and)m 14(cause)m 14 r 97 c 104 448 p (protocol)s 11(event)m 11(to)m 12(be)m 11(processed.)m 16(The)m 12(second)m 11(kind,)m 12(called)m 11(interval)m 11(timers,)m 12(\014re)m 11(at)m 11(continuous)m 11(intervals.)m 17(These)m 11(are)m 104 498 p (used)s 12(for)m 13(the)m 12(sending)m 13(of)m 12(packets)m 13(at)m 13(regular)m 12(intervals.)m 20 r 65 c 13(good)m 12(example)m 13(of)m 12(this)m 13(is)m 13(the)m 12(regular)m 13(broadcast)m 12(of)m 13(Hello)m 104 548 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 t-bol.300 @sf 0 631 p (IP)s 10(multicast)m t-rom.300 @sf 21(Certain)m 10(OSPF)m 10(packets)m 9(use)m 10(IP)m 10(multicast.)m 14(Support)m 9(for)m 10(receiving)m 10(and)m 10(sending)m 9(IP)m 10(multicasts,)m 10(along)m 10(with)m 10(the)m 104 680 p (appropriate)s 13(lower)m (-level)s 13(protocol)m 13(support,)m 14(is)m 13(required.)m 23(These)m 13(IP)m 14(multicast)m 13(packets)m 14(never)m 13(travel)m 13(more)m 14(than)m 13(one)m 104 730 p (hop.)s 14(For)m 10(information)m 10(on)m 11(IP)m 10(multicast,)m 11(see)m 10([RFC)m 11 r 49 c -1 r 49 c -2(12].)m t-bol.300 @sf 0 813 p (Lower)s -1(-level)m 10(pr)m (otocol)s 10(support)m t-rom.300 @sf 20(The)m 8(lower)m 8(level)m 8(protocols)m 7(referred)m 8(to)m 8(here)m 8(are)m 7(the)m 8(network)m 8(access)m 8(protocols,)m 8(such)m 8(as)m 7(the)m 104 863 p (Ethernet)s 9(data)m 9(link)m 9(layer)m -1 r 46 c 12(Indications)m 10(must)m 9(be)m 9(passed)m 9(from)m 9(from)m 9(these)m 10(protocols)m 9(to)m 9(OSPF)m 9(as)m 9(the)m 9(network)m 10(interface)m 104 913 p (goes)s 13(up)m 13(and)m 14(down.)m 22(For)m 14(example,)m 14(on)m 13(an)m 13(ethernet)m 13(it)m 14(would)m 13(be)m 13(valuable)m 14(to)m 13(know)m 13(when)m 14(the)m 13(ethernet)m 13(transceiver)m 104 962 p (cable)s 10(becomes)m 11(unplugged.)m t-bol.300 @sf 0 1045 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 18(that)m 19(non-broadcast)m 18(networks)m 18(are)m 18(multi-access)m 19(networks)m 104 1095 p (such)s 11(as)m 10 r 97 c 11(X.25)m 11(PDN.)m 10(On)m 11(these)m 11(networks,)m 11(the)m 10(Hello)m 11(Protocol)m 11(must)m 11(be)m 10(aided)m 11(by)m 11(providing)m 11(an)m 10(indication)m 11(to)m 11(OSPF)m 104 1145 p (when)s 9(an)m 9(attempt)m 10(is)m 9(made)m 10(to)m 9(send)m 9 r 97 c 10(packet)m 9(to)m 9 r 97 c 10(dead)m 9(or)m 9(non-existent)m 10(router)m -2 r 46 c 13(For)m 9(example,)m 10(on)m 9 r 97 c 9(PDN)m 10 r 97 c 9(dead)m 9(router)m 104 1195 p (may)s 9(be)m 9(indicated)m 9(by)m 9(the)m 9(reception)m 9(of)m 9 r 97 c 9(X.25)m 10(clear)m 9(with)m 9(an)m 9(appropriate)m 9(cause)m 9(and)m 9(diagnostic,)m 9(and)m 9(this)m 9(information)m 104 1244 p (would)s 10(be)m 11(passed)m 10(to)m 10(OSPF)m -2 r 46 c t-bol.300 @sf 0 1327 p (List)s 10(manipulation)m 11(primitives)m t-rom.300 @sf 21(Much)m 11(of)m 12(the)m 11(OSPF)m 12(functionality)m 11(is)m 11(described)m 12(in)m 11(terms)m 12(of)m 11(its)m 12(operation)m 11(on)m 12(lists)m 11(of)m 12(link)m 104 1377 p (state)s 15(advertisements.)m 28(For)m 15(example,)m 16(the)m 16(advertisements)m 15(that)m 15(will)m 15(be)m 15(retransmitted)m 15(to)m 15(an)m 16(adjacent)m 15(router)m 15(until)m 104 1427 p (acknowledged)s 15(are)m 15(described)m 15(as)m 15 r 97 c 15(list.)m 27(Any)m 16(particular)m 15(advertisement)m 15(may)m 15(be)m 15(on)m 15(many)m 15(such)m 15(lists.)m 27(An)m 15(OSPF)m 104 1477 p (implementation)s 13(needs)m 14(to)m 14(be)m 14(able)m 13(to)m 14(manipulate)m 14(these)m 13(lists,)m 15(adding)m 13(and)m 14(deleting)m 14(constituent)m 14(advertisements)m 13(as)m 104 1526 p (necessary)s -2 r 46 c t-bol.300 @sf 0 1609 p 84 c -3(asking)m 10(support)m t-rom.300 @sf 20(Certain)m 13(procedures)m 13(described)m 13(in)m 14(this)m 13(speci\014cation)m 13(invoke)m 13(other)m 13(procedures.)m 21(At)m 14(times,)m 13(these)m 13(other)m 104 1659 p (procedures)s 11(should)m 11(be)m 11(executed)m 11(in-line,)m 12(that)m 11(is,)m 11(before)m 11(the)m 12(current)m 11(procedure)m 11(is)m 11(\014nished.)m 16(This)m 11(is)m 11(indicated)m 12(in)m 11(the)m 104 1709 p (text)s 11(by)m 12(instructions)m 11(to)m t-ita.300 @sf 12(execute)m t-rom.300 @sf 11 r 97 c 12(procedure.)m 17(At)m 11(other)m 12(times,)m 11(the)m 12(other)m 11(procedures)m 12(are)m 11(to)m 12(be)m 11(executed)m 12(only)m 11(when)m 104 1758 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.420 @sf 0 1916 p 53 c 58(Pr)m (otocol)s 14(Data)m 14(Structur)m (es)s t-rom.300 @sf 0 2026 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 2076 p (following)s 11(list)m 11(comprises)m 11(the)m 11(top-level)m 11(OSPF)m 11(data)m 11(structures.)m 16(Any)m 11(initialization)m 11(that)m 11(needs)m 11(to)m 11(be)m 11(done)m 11(is)m 11(noted.)m 16(Areas,)m 0 2126 p (OSPF)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 2234 p (Router)s 10(ID)m t-rom.300 @sf 21 r 97 c 9(32-bit)m 9(number)m 8(that)m 9(uniquely)m 9(identi\014es)m 8(this)m 9(router)m 9(in)m 9(the)m 8(AS.)m 9(One)m 9(possible)m 8(implementation)m 9(strategy)m 9(would)m 104 2284 p (be)s 10(to)m 11(use)m 10(the)m 10(smallest)m 11(IP)m 10(interface)m 11(address)m 10(belonging)m 11(to)m 10(the)m 10(router)m -1 r 46 c t-bol.300 @sf 0 2366 p (Pointers)s 10(to)m 11(ar)m (ea)s 9(structur)m (es)s t-rom.300 @sf 21(Each)m 11(one)m 12(of)m 12(the)m 12(areas)m 12(to)m 11(which)m 12(the)m 12(router)m 12(is)m 12(connected)m 11(has)m 12(its)m 12(own)m 12(data)m 12(structure.)m 18(This)m 104 2416 p (data)s 12(structure)m 12(describes)m 12(the)m 11(working)m 12(of)m 12(the)m 12(basic)m 12(algorithm.)m 18(Remember)m 12(that)m 12(each)m 12(area)m 12(runs)m 12 r 97 c 12(separate)m 12(copy)m 12(of)m 104 2466 p (the)s 10(basic)m 11(algorithm.)m t-bol.300 @sf 0 2549 p (Pointer)s 10(to)m 11(the)m 10(backbone)m 11(structur)m 101 c t-rom.300 @sf 20(The)m 7(basic)m 8(algorithm)m 7(operates)m 7(on)m 8(the)m 7(backbone)m 8(as)m 7(if)m 7(it)m 8(were)m 7(an)m 8(area.)m 13(For)m 7(this)m 7(reason)m 104 2599 p (the)s 10(backbone)m 11(is)m 10(represented)m 10(as)m 11(an)m 10(area)m 11(structure.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(21)m @eop 20 @bop0 20 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)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 291 p (The)s 16(OSPF)m 16(protocol)m 16(runs)m 16(directly)m 16(over)m 16(IP)m -3 r 44 c 15(using)m 16(IP)m 16(protocol)m 16(89.)m 31(OSPF)m 16(does)m 16(not)m 16(provide)m 16(any)m 16(explicit)m 16(fragmenta-)m 0 341 p (tion/reassembly)s 15(support.)m 29(When)m 16(fragmentation)m 15(is)m 15(necessary)m -1 r 44 c 15(IP)m 16(fragmentation/reassembly)m 15(is)m 15(used.)m 29(OSPF)m 15(protocol)m 0 390 p (packets)s 10(have)m 10(been)m 10(designed)m 10(so)m 10(that)m 10(lar)m (ge)s 9(protocol)m 10(packets)m 10(can)m 10(generally)m 10(be)m 10(split)m 10(into)m 10(several)m 10(smaller)m 10(protocol)m 10(packets.)m 0 440 p (This)s 10(practice)m 11(is)m 10(recommended;)m 11(IP)m 10(fragmentation)m 10(should)m 11(be)m 10(avoided)m 11(whenever)m 10(possible.)m 0 508 p (Routing)s 8(protocol)m 7(packets)m 8(should)m 7(always)m 8(be)m 7(sent)m 8(with)m 7(the)m 8(IP)m 7 r 84 c (OS)s 7(\014eld)m 7(set)m 8(to)m 7(0.)m 13(If)m 8(at)m 7(all)m 8(possible,)m 8(routing)m 8(protocol)m 7(packets)m 0 558 p (should)s 9(be)m 9(given)m 9(preference)m 9(over)m 9(regular)m 9(IP)m 9(data)m 9(traf)m (\014c,)s 9(both)m 9(when)m 9(being)m 9(sent)m 9(and)m 9(received.)m 13(As)m 9(an)m 9(aid)m 9(to)m 9(accomplishing)m 0 608 p (this,)s 14(OSPF)m 14(protocol)m 13(packets)m 13(should)m 14(have)m 13(their)m 14(IP)m 13(precedence)m 14(\014eld)m 13(set)m 14(to)m 13(the)m 13(value)m 14(Internetwork)m 13(Control)m 14(\(see)m 13([RFC)m 0 657 p (791]\).)s 0 725 p (All)s 12(OSPF)m 12(protocol)m 12(packets)m 12(share)m 12 r 97 c 12(common)m 12(protocol)m 12(header)m 12(that)m 12(is)m 12(described)m 11(in)m 12(Appendix)m 12(A.)m 12(OSPF)m 12(de\014nes)m 12(the)m 12(fol-)m 0 775 p (lowing)s 10(packet)m 11(types.)m 14(Their)m 10(formats)m 11(are)m 10(also)m 10(described)m 11(in)m 10(Appendix)m 11(A.)m 436 849 p 1078 2 ru 435 899 p 2 50 ru t-ita.300 @sf 461 884 p 84 c -2(ype)m 563 899 p 2 50 ru 589 884 p (Packet)s 10(name)m 970 899 p 2 50 ru 996 884 p (Pr)s -1(otocol)m 10(function)m 1513 899 p 2 50 ru 436 901 p 1078 2 ru 435 950 p 2 50 ru t-rom.300 @sf 490 935 p 49 c 563 950 p 2 50 ru 589 935 p (Hello)s 970 950 p 2 50 ru 996 935 p (Discover/maintain)s 10(neighbors)m 1513 950 p 2 50 ru 435 1000 p 2 50 ru 490 985 p 50 c 563 1000 p 2 50 ru 589 985 p (Database)s 10(Description)m 970 1000 p 2 50 ru 996 985 p (Summarize)s 10(database)m 11(contents)m 1513 1000 p 2 50 ru 435 1050 p 2 50 ru 490 1035 p 51 c 563 1050 p 2 50 ru 589 1035 p (Link)s 10(State)m 11(Request)m 970 1050 p 2 50 ru 996 1035 p (Database)s 10(download)m 1513 1050 p 2 50 ru 435 1100 p 2 50 ru 490 1085 p 52 c 563 1100 p 2 50 ru 589 1085 p (Link)s 10(State)m 11(Update)m 970 1100 p 2 50 ru 996 1085 p (Database)s 10(update)m 1513 1100 p 2 50 ru 435 1150 p 2 50 ru 490 1135 p 53 c 563 1150 p 2 50 ru 589 1135 p (Link)s 10(State)m 11(Ack)m 970 1150 p 2 50 ru 996 1135 p (Flooding)s 10(acknowledgment)m 1513 1150 p 2 50 ru 436 1151 p 1078 2 ru 0 1243 p (OSPF')s -1 r 115 c 12(Hello)m 13(protocol)m 13(uses)m 13(Hello)m 12(packets)m 13(to)m 13(discover)m 13(and)m 13(maintain)m 13(neighbor)m 13(relationships.)m 22(The)m 13(Database)m 13(Descrip-)m 0 1293 p (tion)s 14(and)m 13(Link)m 14(State)m 13(Request)m 14(packets)m 14(are)m 13(used)m 14(in)m 13(the)m 14(forming)m 13(of)m 14(adjacencies.)m 23(OSPF')m -1 r 115 c 13(reliable)m 13(update)m 14(mechanism)m 13(is)m 0 1343 p (implemented)s 10(by)m 11(the)m 10(Link)m 11(State)m 10(Update)m 10(and)m 11(Link)m 10(State)m 11(Acknowledgment)m 10(packets.)m 0 1411 p (Each)s 12(Link)m 13(State)m 12(Update)m 13(packet)m 12(carries)m 13 r 97 c 12(set)m 13(of)m 12(new)m 13(link)m 12(state)m 13(advertisements)m 12(one)m 13(hop)m 12(further)m 13(away)m 12(from)m 13(their)m 12(point)m 0 1460 p (of)s 11(origination.)m 17 r 65 c 11(single)m 11(Link)m 12(State)m 11(Update)m 11(packet)m 12(may)m 11(contain)m 11(the)m 12(link)m 11(state)m 11(advertisements)m 11(of)m 12(several)m 11(routers.)m 17(Each)m 0 1510 p (advertisement)s 13(is)m 12(tagged)m 13(with)m 12(the)m 13(ID)m 12(of)m 13(the)m 13(originating)m 12(router)m 13(and)m 12 r 97 c 13(checksum)m 12(of)m 13(its)m 13(link)m 12(state)m 13(contents.)m 20 r 65 c 13(link)m 12(state)m 0 1560 p (advertisement)s 10(can)m 11(be)m 10(one)m 11(of)m 10(four)m 10(types,)m 11(dividing)m 10(the)m 11(topological)m 10(database)m 11(into)m 10(four)m 10(parts:)m t-bol.300 @sf 0 1669 p (Router)s 10(links)m 11(advertisement)m t-rom.300 @sf 21(Originated)m 17(by)m 18(all)m 18(routers.)m 37(This)m 18(advertisement)m 17(describes)m 18(the)m 18(collected)m 18(states)m 18(of)m 18(the)m 104 1719 p (router)s 1 r 39 c -1 r 115 c 9(interfaces)m 11(to)m 10(an)m 11(area.)m 14(Flooded)m 10(throughout)m 10 r 97 c 11(single)m 10(area)m 11(only)m -2 r 46 c t-bol.300 @sf 0 1802 p (Network)s 10(links)m 11(advertisement)m t-rom.300 @sf 21(Originated)m 8(by)m 9(broadcast)m 8(networks.)m 14(This)m 8(advertisement)m 9(contains)m 9(the)m 8(list)m 9(of)m 9(routers)m 8(con-)m 104 1852 p (nected)s 10(to)m 11(the)m 10(network.)m 14(Flooded)m 10(throughout)m 11 r 97 c 10(single)m 11(area)m 10(only)m -2 r 46 c t-bol.300 @sf 0 1935 p (Summary)s 10(link)m 11(advertisement)m t-rom.300 @sf 21(Originated)m 9(by)m 10(area)m 10(border)m 10(routers,)m 10(and)m 10(\015ooded)m 10(throughout)m 10(their)m 10(associated)m 9(areas.)m 14(De-)m 104 1985 p (scribes)s 10 r 97 c 11(route)m 10(to)m 10 r 97 c 11(destination)m 10(outside)m 11(the)m 10(area,)m 11(yet)m 10(still)m 10(inside)m 11(the)m 10(AS)m 11(\(i.e.,)m 10(an)m 10(inter)m (-area)s 10(route\).)m t-bol.300 @sf 0 2068 p (AS)s 10(external)m 11(link)m 10(advertisement)m t-rom.300 @sf 21(Originated)m 7(by)m 7(AS)m 7(boundary)m 7(routers,)m 8(and)m 7(\015ooded)m 7(throughout)m 7(the)m 7(AS.)m 8(Contains)m 7 r 97 c 7(route)m 104 2118 p (to)s 10 r 97 c 11(destination)m 10(in)m 10(another)m 11(Autonomous)m 10(System.)m 0 2227 p (As)s 12(mentioned)m 11(above,)m 12(OSPF)m 12(routing)m 11(packets)m 12(\(with)m 11(the)m 12(exception)m 11(of)m 12(Hellos\))m 11(are)m 12(sent)m 12(only)m 11(over)m 12(adjacencies.)m 17(Note)m 12(that)m 0 2277 p (this)s 11(means)m 11(that)m 11(all)m 12(protocol)m 11(packets)m 11(travel)m 11 r 97 c 11(single)m 11(IP)m 12(hop,)m 11(except)m 11(those)m 11(that)m 11(are)m 11(sent)m 12(over)m 11(virtual)m 11(adjacencies.)m 16(The)m 11(IP)m 0 2326 p (source)s 12(address)m 12(of)m 12(an)m 12(OSPF)m 12(protocol)m 12(packet)m 12(is)m 12(one)m 12(end)m 12(of)m 12 r 97 c 13(router)m 12(adjacency)m -2 r 44 c 11(and)m 12(the)m 12(IP)m 12(destination)m 12(address)m 13(is)m 12(either)m 0 2376 p (the)s 10(other)m 11(end)m 10(of)m 11(the)m 10(adjacency)m 10(or)m 11(an)m 10(IP)m 11(multicast)m 10(address.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(20)m @eop 19 @bop0 19 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p 52 c 58(Functional)m 15(Summary)m t-rom.300 @sf 0 306 p 65 c 14(separate)m 15(copy)m 14(of)m 15(the)m 14(basic)m 15(routing)m 14(algorithm)m 14(runs)m 15(in)m 14(each)m 15(area.)m 25(Routers)m 15(having)m 14(interfaces)m 15(to)m 14(multiple)m 15(areas)m 14(run)m 0 356 p (multiple)s 10(copies)m 11(of)m 10(the)m 11(basic)m 10(algorithm.)m 14 r 65 c 10(brief)m 11(summary)m 10(of)m 11(the)m 10(basic)m 10(algorithm)m 11(follows.)m 0 423 p (When)s 11 r 97 c 10(router)m 11(starts,)m 11(it)m 10(\014rst)m 11(initializes)m 11(the)m 10(routing)m 11(protocol)m 11(data)m 10(structures.)m 15(The)m 10(router)m 11(then)m 11(waits)m 10(for)m 11(indications)m 11(from)m 0 473 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 541 p 65 c 13(router)m 12(then)m 13(uses)m 13(the)m 12(Hello)m 13(Protocol)m 13(to)m 12(acquire)m 13(neighbors.)m 20(The)m 13(router)m 13(sends)m 12(Hello)m 13(packets)m 13(to)m 12(its)m 13(neighbors,)m 13(and)m 13(in)m 0 591 p (turn)s 13(receives)m 12(their)m 13(Hello)m 13(packets.)m 20(On)m 13(broadcast)m 12(networks,)m 14(the)m 12(router)m 13(dynamically)m 12(detects)m 13(its)m 13(neighboring)m 12(routers)m 13(by)m 0 640 p (sending)s 11(its)m 10(Hello)m 11(packets)m 11(to)m 11(the)m 10(multicast)m 11(address)m 11(AllSPFRouters.)m 15(On)m 11(multi-access)m 10(networks,)m 11(the)m 11(Hello)m 11(Protocol)m 10(also)m 0 690 p (elects)s 10 r 97 c 11(Designated)m 10(router)m 11(for)m 10(the)m 10(network.)m 0 758 p (The)s 13(router)m 14(will)m 13(attempt)m 14(to)m 13(form)m 14(adjacencies)m 13(with)m 14(some)m 13(of)m 14(its)m 13(newly)m 14(acquired)m 13(neighbors.)m 23 r 84 c -2(opological)m 13(databases)m 13(are)m 0 808 p (synchronized)s 11(between)m 11(pairs)m 11(of)m 11(adjacent)m 12(routers.)m 16(On)m 11(multi-access)m 11(networks,)m 11(the)m 11(Designated)m 11(Router)m 11(determines)m 12(which)m 0 857 p (routers)s 10(should)m 11(become)m 10(adjacent.)m 0 925 p (Adjacencies)s 12(control)m 11(the)m 12(distribution)m 11(of)m 12(routing)m 11(protocol)m 12(packets.)m 17(Routing)m 11(protocol)m 12(packets)m 11(may)m 12(be)m 11(sent)m 12(and)m 11(received)m 0 975 p (only)s 10(on)m 11(adjacencies.)m 14(In)m 10(particular)m -1 r 44 c 10(distribution)m 10(of)m 11(topological)m 10(database)m 11(updates)m 10(proceeds)m 10(along)m 11(adjacencies.)m 0 1043 p 65 c 11(router)m 12(periodically)m 11(advertises)m 12(its)m 11(state,)m 12(which)m 11(is)m 11(also)m 12(called)m 11(link)m 11(state.)m 17(Link)m 12(state)m 11(is)m 11(also)m 12(advertised)m 11(when)m 11 r 97 c 12(router)m 1 r 39 c -1 r 115 c 0 1092 p (state)s 12(changes.)m 21 r 65 c 12(router)m 2 r 39 c -2 r 115 c 12(adjacencies)m 12(are)m 13(re\015ected)m 12(in)m 13(the)m 12(contents)m 13(of)m 12(its)m 13(link)m 12(state)m 13(advertisements.)m 20(This)m 12(relationship)m 0 1142 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 1210 p (Link)s 7(state)m 8(advertisements)m 7(are)m 7(\015ooded)m 8(throughout)m 7(the)m 7(area.)m 13(The)m 8(\015ooding)m 7(algorithm)m 7(is)m 8(reliable,)m 7(ensuring)m 8(that)m 7(all)m 7(routers)m 8(in)m 0 1260 p (an)s 8(area)m 8(have)m 8(exactly)m 8(the)m 7(same)m 8(topological)m 8(database.)m 13(This)m 8(database)m 8(consists)m 8(of)m 8(the)m 8(collection)m 7(of)m 8(link)m 8(state)m 8(advertisements)m 0 1310 p (received)s 12(from)m 12(each)m 11(router)m 12(belonging)m 12(to)m 12(the)m 12(area.)m 18(From)m 12(this)m 11(database)m 12(each)m 12(router)m 12(calculates)m 12 r 97 c 11(shortest-path)m 12(tree,)m 12(with)m 0 1359 p (itself)s 10(as)m 11(root.)m 14(This)m 10(shortest-path)m 11(tree)m 10(in)m 10(turn)m 11(yields)m 10 r 97 c 11(routing)m 10(table)m 10(for)m 11(the)m 10(protocol.)m t-bol.360 @sf 0 1496 p (4.1)s 50(Inter)m -1(-ar)m -1(ea)m 12 r 114 c (outing)s t-rom.300 @sf 0 1592 p (The)s 9(previous)m 9(section)m 10(described)m 9(the)m 9(operation)m 9(of)m 9(the)m 10(protocol)m 9(within)m 9 r 97 c 9(single)m 10(area.)m 13(For)m 9(intra-area)m 9(routing,)m 10(no)m 9(other)m 9(rout-)m 0 1642 p (ing)s 8(information)m 8(is)m 9(pertinent.)m 13(In)m 8(order)m 8(to)m 8(be)m 8(able)m 9(to)m 8(route)m 8(to)m 8(destinations)m 8(outside)m 8(of)m 9(the)m 8(area,)m 8(the)m 9(area)m 8(border)m 8(routers)m 8(inject)m 0 1691 p (additional)s 9(routing)m 10(information)m 9(into)m 9(the)m 9(area.)m 14(This)m 9(additional)m 9(information)m 10(is)m 9 r 97 c 9(distillation)m 10(of)m 9(the)m 9(rest)m 9(of)m 10(the)m 9(Autonomous)m 0 1741 p (System')s -1 r 115 c 9(topology)m -2 r 46 c 0 1809 p (This)s 10(distillation)m 10(is)m 9(accomplished)m 10(as)m 10(follows:)m 13(Each)m 10(area)m 10(border)m 10(router)m 9(is)m 10(by)m 10(de\014nition)m 10(connected)m 9(to)m 10(the)m 10(backbone.)m 14(Each)m 0 1859 p (area)s 12(border)m 13(router)m 12(summarizes)m 12(the)m 13(topology)m 12(of)m 12(its)m 13(attached)m 12(areas)m 12(for)m 13(transmission)m 12(on)m 12(the)m 13(backbone,)m 12(and)m 13(hence)m 12(to)m 12(all)m 0 1908 p (other)s 12(area)m 11(border)m 12(routers.)m 18 r 65 c 12(area)m 11(border)m 12(router)m 12(then)m 12(has)m 11(complete)m 12(topological)m 12(information)m 12(concerning)m 11(the)m 12(backbone,)m 0 1958 p (and)s 11(the)m 10(area)m 11(summaries)m 11(from)m 10(each)m 11(of)m 11(the)m 10(other)m 11(area)m 11(border)m 10(routers.)m 15(From)m 10(this)m 11(information,)m 11(the)m 11(router)m 10(calculates)m 11(paths)m 0 2008 p (to)s 10(all)m 10(destinations)m 10(not)m 10(contained)m 10(in)m 10(its)m 10(attached)m 10(areas.)m 14(The)m 10(router)m 10(then)m 10(advertises)m 10(these)m 10(paths)m 10(to)m 10(its)m 10(attached)m 10(areas.)m 14(This)m 0 2058 p (enables)s 10(the)m 11(area')m -1 r 115 c 9(internal)m 10(routers)m 11(to)m 10(pick)m 11(the)m 10(best)m 10(exit)m 11(router)m 10(when)m 11(forwarding)m 10(traf)m (\014c)s 10(to)m 10(destinations)m 11(in)m 10(other)m 10(areas.)m t-bol.360 @sf 0 2195 p (4.2)s 50(AS)m 12(external)m 13 r 114 c (outes)s t-rom.300 @sf 0 2290 p (Routers)s 13(that)m 13(have)m 14(information)m 13(regarding)m 13(other)m 13(Autonomous)m 14(Systems)m 13(can)m 13(\015ood)m 13(this)m 13(information)m 14(throughout)m 13(the)m 13(AS.)m 0 2340 p (These)s 10(routes)m 11(are)m 10(distributed)m 11(verbatim)m 10(to)m 10(every)m 11(participating)m 10(router)m -1 r 46 c 0 2408 p 84 c -2 r 111 c 14(utilize)m 15(this)m 15(information,)m 16(the)m 15(path)m 14(to)m 15(all)m 15(routers)m 15(advertising)m 15(such)m 15(externally)m 15(derived)m 14(information)m 15(must)m 15(be)m 15(known)m 0 2458 p (throughout)s 13(the)m 14(AS.)m 13(For)m 13(that)m 13(reason,)m 14(the)m 14(locations)m 13(of)m 13(these)m 13(AS)m 14(boundary)m 13(routers)m 13(are)m 14(summarized)m 13(by)m 13(the)m 13(area)m 14(border)m 0 2507 p (routers.)s h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(19)m @eop 18 @bop0 18 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (In)s 12(the)m 12(previous)m 12(section,)m 12(an)m 12(area)m 12(was)m 12(described)m 11(as)m 12 r 97 c 12(list)m 12(of)m 12(address)m 12(ranges.)m 18(Any)m 12(particular)m 12(address)m 12(range)m 12(must)m 12(still)m 11(be)m 0 245 p (completely)s 12(contained)m 13(in)m 12 r 97 c 12(single)m 12(component)m 13(of)m 12(the)m 12(area)m 12(partition.)m 20(This)m 12(has)m 12(to)m 13(do)m 12(with)m 12(the)m 12(way)m 13(the)m 12(area)m 12(contents)m 12(are)m 0 295 p (summarized)s 10(to)m 9(the)m 10(backbone.)m 14(Also,)m 9(the)m 10(backbone)m 10(itself)m 9(must)m 10(not)m 9(partition.)m 14(If)m 10(it)m 9(does,)m 10(parts)m 10(of)m 9(the)m 10(Autonomous)m 10(System)m 0 345 p (will)s 10(become)m 11(unreachable.)m 0 412 p (Another)s 8(way)m 8(to)m 9(think)m 8(about)m 8(area)m 8(partitions)m 8(is)m 9(to)m 8(look)m 8(at)m 8(the)m 9(Autonomous)m 8(System)m 8(graph)m 8(that)m 8(was)m 9(introduced)m 8(in)m 8(Section)m 8(2.)m 0 462 p (Area)s 11(IDs)m 11(can)m 11(be)m 11(viewed)m 11(as)m 12(colors)m 11(for)m 11(the)m 11(graph')m -1 r 115 c 10(edges.)m t-rom.210 @sf 934 447 p 49 c t-rom.300 @sf 966 462 p (Each)s 11(edge)m 11(of)m 11(the)m 12(graph)m 11(connects)m 11(to)m 11 r 97 c 11(network,)m 11(or)m 11(is)m 11(itself)m 12 r 97 c 0 512 p (point-to-point)s 10(network.)m 14(In)m 11(either)m 10(case,)m 11(the)m 10(edge)m 10(is)m 11(colored)m 10(with)m 11(the)m 10(network')m -1 r 115 c 9(Area)m 11(ID.)m 0 580 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 629 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 697 p (When)s 9(the)m 8(AS)m 9(topology)m 8(changes,)m 9(one)m 9(of)m 9(the)m 8(areas)m 9(may)m 8(become)m 9(partitioned.)m 13(The)m 9(graph)m 9(of)m 8(the)m 9(AS)m 8(will)m 9(then)m 9(have)m 8(multiple)m 0 747 p (regions)s 10(of)m 9(the)m 10(same)m 9(color)m 10(\(Area)m 10(ID\).)m 9(The)m 10(routing)m 9(in)m 10(the)m 10(Autonomous)m 9(System)m 10(will)m 9(continue)m 10(to)m 10(function)m 9(as)m 10(long)m 10(as)m 9(these)m 0 797 p (regions)s 10(of)m 11(same)m 10(color)m 11(are)m 10(connected)m 10(by)m 11(the)m 10(single)m 11(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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(18)m @eop 17 @bop0 17 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p 65 c 13(failure)m 13(of)m 12(the)m 13(line)m 13(between)m 13(routers)m 12 r 82 c -1(T6)m 12(and)m 12 r 82 c -1(T10)m 12(will)m 12(cause)m 13(the)m 13(backbone)m 13(to)m 12(become)m 13(disconnected.)m 21(Con\014guring)m 0 245 p (another)s 11(virtual)m 12(link)m 11(between)m 11(routers)m 11 r 82 c -1(T7)m 10(and)m 11 r 82 c -1(T10)m 10(will)m 11(give)m 12(the)m 11(backbone)m 11(more)m 11(connectivity)m 12(and)m 11(more)m 11(resistance)m 11(to)m 0 295 p (such)s 13(failures.)m 23(Also,)m 13 r 97 c 14(virtual)m 13(link)m 13(between)m 13 r 82 c -1(T7)m 12(and)m 13 r 82 c -1(T10)m 12(would)m 13(allow)m 13 r 97 c 14(much)m 13(shorter)m 13(path)m 13(between)m 13(the)m 14(third)m 13(area)m 0 345 p (\(containing)s 10(N9\))m 11(and)m 10(the)m 11(router)m 10 r 82 c -1(T7,)m 9(which)m 10(is)m 11(advertising)m 10 r 97 c 11(good)m 10(route)m 10(to)m 11(external)m 10(network)m 11(N12.)m t-bol.360 @sf 0 478 p (3.5)s 50(IP)m 12(subnetting)m 13(support)m t-rom.300 @sf 0 572 p (OSPF)s 14(attaches)m 14(an)m 15(IP)m 14(address)m 14(mask)m 14(to)m 14(each)m 14(advertised)m 15(route.)m 25(The)m 14(mask)m 14(indicates)m 14(the)m 15(range)m 14(of)m 14(addresses)m 14(being)m 14(de-)m 0 622 p (scribed)s 12(by)m 13(the)m 12(particular)m 12(route.)m 19(For)m 13(example,)m 12 r 97 c 13(summary)m 12(advertisement)m 12(for)m 12(the)m 13(destination)m 12(128.185.0.0)m 12(with)m 12 r 97 c 13(mask)m 0 672 p (of)s c-med.300 @sf 10(0xffff0000)m t-rom.300 @sf 9(actually)m 10(is)m 9(describing)m 10 r 97 c 9(single)m 10(route)m 9(to)m 10(the)m 10(collection)m 9(of)m 10(destinations)m 9(128.185.0.0)m 10 r 45 c 9(128.185.255.255.)m 0 722 p (Similarly)s -2 r 44 c 12(host)m 13(routes)m 12(are)m 12(always)m 13(advertised)m 12(with)m 13 r 97 c 12(mask)m 13(of)m c-med.300 @sf 12(0xffffffff)m t-rom.300 @sf 44 c 13(indicating)m 12(the)m 13(presence)m 12(of)m 13(only)m 12 r 97 c 12(single)m 0 771 p (destination.)s 0 837 p (Including)s 12(the)m 12(mask)m 11(with)m 12(each)m 12(advertised)m 12(destination)m 12(enables)m 11(the)m 12(implementation)m 12(of)m 12(what)m 12(is)m 11(commonly)m 12(referred)m 12(to)m 12(as)m 0 887 p (variable-length)s 8(subnet)m 9(masks.)m 13(This)m 8(means)m 8(that)m 8 r 97 c 9(single)m 8(IP)m 8(class)m 8(A,)m 9(B,)m 8(or)m 8 r 67 c 8(network)m 9(number)m 8(can)m 8(be)m 8(broken)m 9(up)m 8(into)m 8(many)m 0 937 p (subnets)s 10(of)m 10(various)m 9(sizes.)m 14(For)m 10(example,)m 10(the)m 9(network)m 10(128.185.0.0)m 10(could)m 10(be)m 9(broken)m 10(up)m 10(into)m 10(64)m 9(variable-sized)m 10(subnets:)m 14(16)m 0 987 p (subnets)s 11(of)m 10(size)m 11(4K,)m 10(16)m 11(subnets)m 10(of)m 11(size)m 10(256,)m 11(and)m 11(32)m 10(subnets)m 11(of)m 10(size)m 11(8.)m 14(The)m 11(following)m 10(table)m 11(shows)m 10(some)m 11(of)m 11(the)m 10(resulting)m 0 1036 p (network)s 10(addresses)m 11(together)m 10(with)m 11(their)m 10(masks:)m 530 1104 p 890 2 ru 529 1154 p 2 50 ru t-ita.300 @sf 555 1139 p (Network)s 11(addr)m -1(ess)m 859 1154 p 2 50 ru 885 1139 p (IP)s 10(addr)m (ess)s 9(mask)m 1183 1154 p 2 50 ru 1208 1139 p (Subnet)s 11(size)m 1419 1154 p 2 50 ru 530 1156 p 890 2 ru 529 1206 p 2 50 ru t-rom.300 @sf 586 1191 p (128.185.16.0)s 859 1206 p 2 50 ru c-med.300 @sf 897 1191 p (0xfffff000)s 1183 1206 p 2 50 ru t-rom.300 @sf 1276 1191 p (4K)s 1419 1206 p 2 50 ru 529 1255 p 2 50 ru 596 1240 p (128.185.1.0)s 859 1255 p 2 50 ru c-med.300 @sf 897 1240 p (0xffffff00)s 1183 1255 p 2 50 ru t-rom.300 @sf 1270 1240 p (256)s 1419 1255 p 2 50 ru 529 1305 p 2 50 ru 596 1290 p (128.185.0.8)s 859 1305 p 2 50 ru c-med.300 @sf 897 1290 p (0xfffffff8)s 1183 1305 p 2 50 ru t-rom.300 @sf 1291 1290 p 56 c 1419 1305 p 2 50 ru 530 1307 p 890 2 ru 0 1393 p (There)s 13(are)m 13(many)m 13(possible)m 13(ways)m 12(of)m 13(dividing)m 13(up)m 13 r 97 c 13(class)m 13(A,)m 13(B,)m 13(and)m 13 r 67 c 13(network)m 12(into)m 13(variable)m 13(sized)m 13(subnets.)m 21(The)m 13(precise)m 0 1442 p (procedure)s 11(for)m 11(doing)m 11(so)m 10(is)m 11(beyond)m 11(the)m 11(scope)m 11(of)m 11(this)m 11(speci\014cation.)m 15(The)m 11(speci\014cation)m 11(however)m 11(establishes)m 10(the)m 11(following)m 0 1492 p (guideline:)s 13(When)m 9(an)m 8(IP)m 9(packet)m 8(is)m 9(forwarded,)m 9(it)m 9(is)m 8(always)m 9(forwarded)m 8(to)m 9(the)m 9(network)m 8(that)m 9(is)m 8(the)m 9(best)m 9(match)m 8(for)m 9(the)m 8(packet')m -1 r 115 c 0 1542 p (destination.)s 17(Here)m 11(best)m 12(match)m 11(is)m 12(synonymous)m 11(with)m 12(the)m 11(longest)m 12(or)m 11(most)m 11(speci\014c)m 12(match.)m 17(For)m 11(example,)m 12(the)m 12(default)m 11(route)m 0 1592 p (with)s 15(destination)m 16(of)m 15(0.0.0.0)m 15(and)m 15(mask)m c-med.300 @sf 16(0x00000000)m t-rom.300 @sf 15(is)m 15(always)m 15 r 97 c 16(match)m 15(for)m 15(every)m 15(IP)m 16(destination.)m 28 r 89 c -3(et)m 14(it)m 15(is)m 15(always)m 0 1642 p (less)s 13(speci\014c)m 13(than)m 13(any)m 13(other)m 13(match.)m 22(Subnet)m 14(masks)m 13(must)m 13(be)m 13(assigned)m 13(so)m 13(that)m 13(the)m 13(best)m 13(match)m 13(for)m 13(any)m 14(IP)m 13(destination)m 13(is)m 0 1691 p (unambiguous.)s 0 1757 p (The)s 14(OSPF)m 13(area)m 14(concept)m 13(is)m 14(modelled)m 14(after)m 13(an)m 14(IP)m 14(subnetted)m 13(network.)m 24(OSPF)m 13(areas)m 14(have)m 14(been)m 13(loosely)m 14(de\014ned)m 13(to)m 14(be)m 14 r 97 c 0 1807 p (collection)s 10(of)m 11(networks.)m 14(In)m 10(actuality)m -1 r 44 c 9(an)m 10(OSPF)m 11(area)m 10(is)m 11(speci\014ed)m 10(to)m 11(be)m 10 r 97 c 10(list)m 11(of)m 10(address)m 11(ranges)m 10(\(see)m 11(Section)m 10(C.2)m 11(for)m 10(more)m 0 1857 p (details\).)s 17(Each)m 11(address)m 11(range)m 12(is)m 11(de\014ned)m 12(as)m 11(an)m 11([address,mask])m 12(pair)m -2 r 46 c 16(Many)m 11(separate)m 12(networks)m 11(may)m 12(then)m 11(be)m 11(contained)m 12(in)m 0 1907 p 97 c 12(single)m 12(address)m 12(range,)m 12(just)m 12(as)m 12 r 97 c 12(subnetted)m 12(network)m 12(is)m 11(composed)m 12(of)m 12(many)m 12(separate)m 12(subnets.)m 19(Area)m 11(border)m 12(routers)m 12(then)m 0 1956 p (summarize)s 13(the)m 12(area)m 13(contents)m 12(\(for)m 13(distribution)m 12(to)m 13(the)m 12(backbone\))m 13(by)m 12(advertising)m 13 r 97 c 12(single)m 13(route)m 13(for)m 12(each)m 13(address)m 12(range.)m 0 2006 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 2072 p (For)s 9(example,)m 9(an)m 9(IP)m 9(subnetted)m 9(network)m 9(can)m 10(be)m 9(con\014gured)m 9(as)m 9 r 97 c 9(single)m 9(OSPF)m 9(area.)m 13(In)m 9(that)m 9(case,)m 9(the)m 10(area)m 9(would)m 9(be)m 9(de\014ned)m 0 2122 p (as)s 13 r 97 c 14(single)m 13(address)m 14(range:)m 20 r 97 c 13(class)m 14(A,)m 13(B,)m 14(or)m 13 r 67 c 14(network)m 13(number)m 14(along)m 13(with)m 14(its)m 13(natural)m 14(IP)m 13(mask.)m 24(Inside)m 13(the)m 13(area,)m 15(any)m 0 2172 p (number)s 9(of)m 9(variable)m 10(sized)m 9(subnets)m 9(could)m 9(be)m 9(de\014ned.)m 14(External)m 9(to)m 9(the)m 10(area,)m 9 r 97 c 9(single)m 10(route)m 9(for)m 9(the)m 9(entire)m 9(subnetted)m 10(network)m 0 2221 p (would)s 11(be)m 12(distributed,)m 12(hiding)m 11(even)m 12(the)m 11(fact)m 11(that)m 12(the)m 11(network)m 12(is)m 11(subnetted)m 12(at)m 11(all.)m 17(The)m 12(cost)m 11(of)m 12(this)m 11(route)m 12(is)m 11(the)m 11(minimum)m 0 2271 p (of)s 10(the)m 11(set)m 10(of)m 11(costs)m 10(to)m 10(the)m 11(component)m 10(subnets.)m t-bol.360 @sf 0 2405 p (3.6)s 50(Partitions)m 12(of)m 13(ar)m (eas)s t-rom.300 @sf 0 2499 p (OSPF)s 11(does)m 11(not)m 10(actively)m 11(attempt)m 11(to)m 11(repair)m 11(area)m 10(partitions.)m 15(When)m 11(an)m 11(area)m 11(becomes)m 11(partitioned,)m 11(each)m 10(component)m 11(simply)m 0 2549 p (becomes)s 12 r 97 c 12(separate)m 12(area.)m 19(The)m 12(backbone)m 12(then)m 12(performs)m 12(routing)m 12(between)m 12(the)m 12(new)m 12(areas.)m 19(Some)m 12(destinations)m 12(reachable)m 0 2599 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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(17)m @eop 16 @bop0 16 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 652 432 p 647 2 ru 651 481 p 2 50 ru t-ita.300 @sf 677 466 p (Ar)s -1(ea)m 9(bor)m (der)s 902 481 p 2 50 ru 928 466 p (dist)s 10(fr)m (om)s 1100 481 p 2 50 ru 1126 466 p (dist)s 10(fr)m (om)s 1298 481 p 2 50 ru 651 531 p 2 50 ru 677 516 p 114 c -1(outer)m 902 531 p 2 50 ru 967 516 p (RT3)s 1100 531 p 2 50 ru 1165 516 p (RT4)s 1298 531 p 2 50 ru 652 533 p 647 2 ru 651 583 p 2 50 ru t-rom.300 @sf 677 568 p (to)s 10 r 82 c -2(T3)m 902 583 p 2 50 ru 992 568 p 42 c 1100 583 p 2 50 ru 1179 568 p (21)s 1298 583 p 2 50 ru 651 632 p 2 50 ru 677 618 p (to)s 10 r 82 c -2(T4)m 902 632 p 2 50 ru 981 618 p (22)s 1100 632 p 2 50 ru 1189 618 p 42 c 1298 632 p 2 50 ru 651 682 p 2 50 ru 677 667 p (to)s 10 r 82 c -2(T7)m 902 682 p 2 50 ru 981 667 p (20)s 1100 682 p 2 50 ru 1179 667 p (14)s 1298 682 p 2 50 ru 651 732 p 2 50 ru 677 717 p (to)s 10 r 82 c -2(T10)m 902 732 p 2 50 ru 981 717 p (15)s 1100 732 p 2 50 ru 1179 717 p (22)s 1298 732 p 2 50 ru 651 782 p 2 50 ru 677 767 p (to)s 10 r 82 c -2(T1)m -1 r 49 c 902 782 p 2 50 ru 981 767 p (18)s 1100 782 p 2 50 ru 1179 767 p (25)s 1298 782 p 2 50 ru 651 832 p 2 50 ru 251 r 2 50 ru 198 r 2 50 ru 198 r 2 50 ru 651 882 p 2 50 ru 677 867 p (to)s 10(Ia)m 902 882 p 2 50 ru 981 867 p (20)s 1100 882 p 2 50 ru 1179 867 p (27)s 1298 882 p 2 50 ru 651 931 p 2 50 ru 677 916 p (to)s 10(Ib)m 902 931 p 2 50 ru 981 916 p (15)s 1100 931 p 2 50 ru 1179 916 p (22)s 1298 931 p 2 50 ru 651 981 p 2 50 ru 251 r 2 50 ru 198 r 2 50 ru 198 r 2 50 ru 651 1031 p 2 50 ru 677 1016 p (to)s 10 r 82 c -2(T5)m 902 1031 p 2 50 ru 981 1016 p (14)s 1100 1031 p 2 50 ru 1189 1016 p 56 c 1298 1031 p 2 50 ru 651 1081 p 2 50 ru 677 1066 p (to)s 10 r 82 c -2(T7)m 902 1081 p 2 50 ru 981 1066 p (20)s 1100 1081 p 2 50 ru 1179 1066 p (14)s 1298 1081 p 2 50 ru 652 1082 p 647 2 ru 434 1219 p 84 c -1(able)m 9(4:)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 655 1770 p 641 2 ru 654 1820 p 2 50 ru t-ita.300 @sf 681 1805 p (Destination)s 900 1820 p 2 50 ru 926 1805 p (RT3)s 10(adv)m -2 r 46 c 1097 1820 p 2 50 ru 1123 1805 p (RT4)s 10(adv)m -2 r 46 c 1294 1820 p 2 50 ru 655 1822 p 641 2 ru 654 1872 p 2 50 ru t-rom.300 @sf 739 1857 p (Ia,Ib)s 900 1872 p 2 50 ru 979 1857 p (15)s 1097 1872 p 2 50 ru 1176 1857 p (22)s 1294 1872 p 2 50 ru 654 1921 p 2 50 ru 752 1906 p (N6)s 900 1921 p 2 50 ru 979 1906 p (16)s 1097 1921 p 2 50 ru 1176 1906 p (15)s 1294 1921 p 2 50 ru 654 1971 p 2 50 ru 752 1956 p (N7)s 900 1971 p 2 50 ru 979 1956 p (20)s 1097 1971 p 2 50 ru 1176 1956 p (19)s 1294 1971 p 2 50 ru 654 2021 p 2 50 ru 752 2006 p (N8)s 900 2021 p 2 50 ru 979 2006 p (18)s 1097 2021 p 2 50 ru 1176 2006 p (18)s 1294 2021 p 2 50 ru 654 2071 p 2 50 ru 680 2056 p (N9-N1)s -1(1,H1)m 900 2071 p 2 50 ru 979 2056 p (19)s 1097 2071 p 2 50 ru 1176 2056 p (26)s 1294 2071 p 2 50 ru 654 2121 p 2 50 ru 246 r 2 50 ru 197 r 2 50 ru 197 r 2 50 ru 654 2170 p 2 50 ru 742 2155 p 82 c -1(T5)m 900 2170 p 2 50 ru 979 2155 p (14)s 1097 2170 p 2 50 ru 1186 2155 p 56 c 1294 2170 p 2 50 ru 654 2220 p 2 50 ru 742 2205 p 82 c -1(T7)m 900 2220 p 2 50 ru 979 2205 p (20)s 1097 2220 p 2 50 ru 1176 2205 p (14)s 1294 2220 p 2 50 ru 655 2222 p 641 2 ru 395 2359 p 84 c -2(able)m 10(5:)m 13(Destinations)m 11(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 h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(16)m @eop 15 @bop0 15 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 3289088 5196759 32298844 48744284 startTexFig %!PS-Adobe-1.0 %%Title: figure7-8.fig %%Creator: f2ps %%CreationDate: Wed Jul 5 17:50:37 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 50 79 491 741 %%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 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 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 242 93 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 154 700 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 56 694 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 133 703 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 1716(Page)m 12(15)m @eop 14 @bop0 14 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (In)s 9(Figure)m 10(6,)m 9(routers)m 10 r 82 c -2(T1,)m 9 r 82 c -2(T2,)m 9 r 82 c -2(T5,)m 9 r 82 c -2(T6,)m 9 r 82 c -2(T8,)m 9 r 82 c -2(T9)m 9(and)m 9 r 82 c -1(T12)m 8(are)m 9(internal)m 10(routers.)m 13(Routers)m 9 r 82 c -1(T3,)m 8 r 82 c -1(T4,)m 8 r 82 c -1(T7,)m 9 r 82 c -2(T10)m 8(and)m 0 245 p 82 c -2(T1)m -1 r 49 c 9(are)m 11(area)m 10(border)m 11(routers.)m 14(Finally)m 10(as)m 10(before,)m 11(routers)m 10 r 82 c -1(T5)m 9(and)m 11 r 82 c -2(T7)m 9(are)m 11(AS)m 10(boundary)m 11(routers.)m 0 313 p (Figure)s 9 r 55 c 9(shows)m 9(the)m 8(resulting)m 9(topological)m 9(database)m 9(for)m 9(the)m 9(Area)m 9(1.)m 13(The)m 9(\014gure)m 9(completely)m 9(describes)m 9(that)m 8(area')m -1 r 115 c 8(intra-area)m 0 362 p (routing.)s 16(It)m 11(also)m 11(shows)m 11(the)m 11(complete)m 11(view)m 11(of)m 11(the)m 11(internet)m 11(for)m 11(the)m 11(two)m 11(internal)m 11(routers)m 11 r 82 c -1(T1)m 10(and)m 11 r 82 c -2(T2.)m 15(It)m 11(is)m 11(the)m 11(job)m 11(of)m 11(the)m 0 412 p (area)s 10(border)m 11(routers,)m 10 r 82 c -2(T3)m 10(and)m 10 r 82 c -2(T4,)m 10(to)m 10(advertise)m 10(into)m 10(Area)m 11 r 49 c 10(the)m 10(distances)m 10(to)m 11(all)m 10(destinations)m 10(external)m 11(to)m 10(the)m 10(area.)m 14(These)m 0 462 p (are)s 13(indicated)m 13(in)m 13(Figure)m 13 r 55 c 13(by)m 13(the)m 13(dashed)m 14(stub)m 13(routes.)m 21(Also,)m 14 r 82 c -1(T3)m 12(and)m 13 r 82 c -2(T4)m 12(must)m 13(advertise)m 14(into)m 13(Area)m 13 r 49 c 13(the)m 13(location)m 13(of)m 0 512 p (the)s 12(AS)m 13(boundary)m 12(routers)m 13 r 82 c -2(T5)m 11(and)m 13 r 82 c -2(T7.)m 19(Finally)m -2 r 44 c 12(external)m 13(advertisements)m 12(from)m 12 r 82 c -1(T5)m 11(and)m 13 r 82 c -2(T7)m 11(are)m 13(\015ooded)m 12(throughout)m 0 562 p (the)s 10(entire)m 11(AS,)m 10(and)m 10(in)m 11(particular)m 10(throughout)m 11(Area)m 10(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 9(database,)m 10(and)m 11(yield)m 0 611 p (routes)s 10(to)m 11(networks)m 10(N12-N15.)m 0 679 p (Routers)s 12 r 82 c -1(T3)m 11(and)m 12 r 82 c -2(T4)m 11(must)m 12(also)m 12(summarize)m 12(Area)m 12(1')m -1 r 115 c 11(topology)m 12(for)m 12(distribution)m 12(to)m 12(the)m 12(backbone.)m 19(Their)m 12(backbone)m 12(ad-)m 0 729 p (vertisements)s 13(are)m 13(shown)m 12(in)m 13 r 84 c -2(able)m 12(3.)m 21(These)m 13(summaries)m 13(show)m 13(which)m 12(networks)m 13(are)m 13(contained)m 13(in)m 13(Area)m 12 r 49 c 13(\(i.e.,)m 14(networks)m 0 779 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 682 885 p 586 2 ru 681 935 p 2 50 ru t-ita.300 @sf 707 920 p (Network)s 872 935 p 2 50 ru 898 920 p (RT3)s 11(adv)m -2 r 46 c 1070 935 p 2 50 ru 1095 920 p (RT4)s 11(adv)m -2 r 46 c 1267 935 p 2 50 ru 682 936 p 586 2 ru 681 986 p 2 50 ru t-rom.300 @sf 752 971 p (N1)s 872 986 p 2 50 ru 961 971 p 52 c 1070 986 p 2 50 ru 1159 971 p 52 c 1267 986 p 2 50 ru 681 1036 p 2 50 ru 752 1021 p (N2)s 872 1036 p 2 50 ru 961 1021 p 52 c 1070 1036 p 2 50 ru 1159 1021 p 52 c 1267 1036 p 2 50 ru 681 1086 p 2 50 ru 752 1071 p (N3)s 872 1086 p 2 50 ru 961 1071 p 49 c 1070 1086 p 2 50 ru 1159 1071 p 49 c 1267 1086 p 2 50 ru 681 1136 p 2 50 ru 752 1121 p (N4)s 872 1136 p 2 50 ru 961 1121 p 50 c 1070 1136 p 2 50 ru 1159 1121 p 51 c 1267 1136 p 2 50 ru 682 1137 p 586 2 ru 380 1274 p 84 c -2(able)m 10(3:)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 1383 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 1433 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 1483 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 1550 p (Again,)s 15(routers)m 14 r 82 c -2(T3,)m 14 r 82 c -2(T4,)m 14 r 82 c -2(T7,)m 14 r 82 c -1(T10)m 12(and)m 14 r 82 c -1(T1)m -2 r 49 c 13(are)m 14(area)m 14(border)m 13(routers.)m 25(As)m 13(routers)m 14 r 82 c -1(T3)m 13(and)m 13 r 82 c -1(T4)m 13(did)m 13(above,)m 15(they)m 0 1600 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 1650 p (stubs)s 9(that)m 9(appear)m 9(in)m 8(Figure)m 9(8.)m 14(Routers)m 9 r 82 c -2(T5)m 8(and)m 9 r 82 c -2(T7)m 8(are)m 9(AS)m 9(boundary)m 9(routers;)m 9(their)m 9(externally)m 9(derived)m 9(information)m 9(also)m 0 1700 p (appears)s 10(on)m 11(the)m 10(graph)m 11(in)m 10(Figure)m 10 r 56 c 11(as)m 10(stubs.)m 0 1767 p (The)s 12(backbone)m 12(enables)m 12(the)m 12(exchange)m 12(of)m 12(summary)m 12(information)m 12(between)m 11(area)m 12(border)m 12(routers.)m 19(Every)m 12(area)m 12(border)m 12(router)m 0 1817 p (hears)s 13(the)m 13(area)m 13(summaries)m 13(from)m 14(all)m 13(other)m 13(area)m 13(border)m 13(routers.)m 22(It)m 13(then)m 13(forms)m 13 r 97 c 13(picture)m 14(of)m 13(the)m 13(distance)m 13(to)m 13(all)m 13(networks)m 0 1867 p (outside)s 9(of)m 10(its)m 9(area)m 10(by)m 9(examining)m 9(the)m 10(collected)m 9(advertisements,)m 10(and)m 9(adding)m 9(in)m 10(the)m 9(backbone)m 10(distance)m 9(to)m 9(each)m 10(advertising)m 0 1917 p (router)s -1 r 46 c 0 1985 p (Again)s 11(using)m 10(routers)m 11 r 82 c -1(T3)m 9(and)m 11 r 82 c -1(T4)m 9(as)m 11(an)m 11(example,)m 10(the)m 11(procedure)m 11(goes)m 11(as)m 10(follows:)m 15(They)m 10(\014rst)m 11(calculate)m 11(the)m 11(SPF)m 10(tree)m 11(for)m 0 2034 p (the)s 11(backbone.)m 17(This)m 12(gives)m 11(the)m 12(distances)m 11(to)m 12(all)m 11(other)m 11(area)m 12(border)m 11(routers.)m 17(Also)m 12(noted)m 11(are)m 11(the)m 12(distances)m 11(to)m 12(networks)m 11(and)m 0 2084 p (AS)s 10(boundary)m 11(routers)m 10(that)m 11(belong)m 10(to)m 10(the)m 11(backbone.)m 14(These)m 10(calculation)m 11(are)m 10(shown)m 10(in)m 11 r 84 c -2(able)m 9(4.)m 0 2161 p (Next,)s 16(by)m 15(looking)m 15(at)m 15(the)m 15(area)m 15(summaries)m 15(from)m 15(these)m 15(area)m 15(border)m 15(routers,)m 16 r 82 c -1(T3)m 14(and)m 15 r 82 c -2(T4)m 14(can)m 16(determine)m 15(the)m 15(distance)m 0 2211 p (to)s 13(all)m 13(networks)m 13(outside)m 14(their)m 13(area.)m 22(These)m 13(distances)m 13(are)m 13(then)m 14(advertised)m 13(internally)m 13(to)m 13(the)m 13(area)m 13(by)m 13 r 82 c -1(T3)m 12(and)m 13 r 82 c -1(T4.)m 21(The)m 0 2261 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(5.)m 0 2329 p (This)s 8(information)m 9(enables)m 8(an)m 8(internal)m 8(router)m 9(in)m 8(Area)m 8(1,)m 9(such)m 8(as)m 8 r 82 c -1(T1,)m 8(to)m 8(choose)m 8(an)m 8(area)m 9(border)m 8(router)m 8(intelligently)m -2 r 46 c 13(Router)m 0 2379 p 82 c -2(T1)m 10(would)m 11(use)m 10 r 82 c -1(T4)m 9(for)m 11(traf)m (\014c)s 10(to)m 11(network)m 10(N6,)m 11 r 82 c -2(T3)m 10(for)m 11(traf)m (\014c)s 10(to)m 10(network)m 11(N10,)m 10(and)m 11(would)m 11(load)m 10(share)m 11(between)m 11(the)m 10(two)m 0 2428 p (for)s 10(traf)m (\014c)s 10(to)m 10(network)m 11(N8.)m 0 2496 p (One)s 9(more)m 9(iteration)m 10(of)m 9(the)m 9(same)m 9(logic)m 10(enables)m 9(router)m 9 r 82 c -1(T1)m 8(to)m 9(decide)m 9(between)m 10(routing)m 9(towards)m 9 r 82 c -2(T5)m 9(or)m 9 r 82 c -2(T7)m 9(when)m 9(sending)m 0 2546 p (to)s 10 r 97 c 11(destination)m 10(in)m 11(another)m 10(Autonomous)m 10(System)m 11(\(one)m 10(of)m 11(the)m 10(networks)m 11(N12-N15\).)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(14)m @eop 13 @bop0 13 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 4144250 4407377 37364039 48810065 startTexFig %!PS-Adobe-1.0 %%Title: figure6.fig %%Creator: f2ps %%CreationDate: Wed Jul 5 13:56:24 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 63 67 568 742 %%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 365 540 moveto 598 540 lineto 598 777 lineto 365 777 lineto closepath stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 70 406 moveto 272 406 lineto 272 776 lineto 70 776 lineto closepath stroke [] 0 setdash [4.000000] 0 setdash % Polyline newpath 73 56 moveto 339 56 lineto 339 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 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 534 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 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 1716(Page)m 12(13)m @eop 12 @bop0 12 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (3.2)s 50(Inter)m -1(-ar)m -1(ea)m 12 r 114 c (outing)s t-rom.300 @sf 0 291 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 341 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 390 p (source)s 12(and)m 12(destination)m 12(areas,)m 12(and)m 12(then)m 12(another)m 12(intra-area)m 12(path)m 12(to)m 11(the)m 12(destination.)m 19(The)m 12(algorithm)m 12(\014nds)m 11(the)m 12(set)m 12(of)m 12(such)m 0 440 p (paths)s 10(that)m 11(have)m 10(the)m 11(smallest)m 10(cost.)m 0 508 p (Looking)s 14(at)m 14(this)m 14(another)m 14(way)m -2 r 44 c 14(inter)m (-area)s 14(routing)m 14(can)m 14(be)m 14(pictured)m 14(as)m 14(forcing)m 14 r 97 c 14(star)m 14(con\014guration)m 14(on)m 14(the)m 14(Autonomous)m 0 558 p (System,)s 10(with)m 11(the)m 10(backbone)m 11(as)m 10(hub)m 10(and)m 11(and)m 10(each)m 11(of)m 10(the)m 11(areas)m 10(as)m 10(spokes.)m 0 625 p (The)s 11(topology)m 11(of)m 10(the)m 11(backbone)m 11(dictates)m 11(the)m 11(backbone)m 11(paths)m 10(used)m 11(between)m 11(areas.)m 15(The)m 11(topology)m 11(of)m 11(the)m 11(backbone)m 10(can)m 11(be)m 0 675 p (enhanced)s 9(by)m 10(adding)m 9(virtual)m 9(links.)m 14(This)m 9(gives)m 10(the)m 9(system)m 9(administrator)m 10(some)m 9(control)m 9(over)m 10(the)m 9(routes)m 9(taken)m 10(by)m 9(inter)m (-area)s 0 725 p (traf)s (\014c.)s 0 793 p (The)s 14(correct)m 13(area)m 14(border)m 13(router)m 14(to)m 13(use)m 14(as)m 13(the)m 14(packet)m 13(exits)m 14(the)m 13(source)m 14(area)m 13(is)m 14(chosen)m 13(in)m 14(exactly)m 13(the)m 14(same)m 13(way)m 14(routers)m 0 843 p (advertising)s 15(external)m 15(routes)m 16(are)m 15(chosen.)m 28(Each)m 15(area)m 15(border)m 15(router)m 16(in)m 15(an)m 15(area)m 15(summarizes)m 15(for)m 15(the)m 16(area)m 15(its)m 15(cost)m 15(to)m 15(all)m 0 892 p (networks)s 11(external)m 10(to)m 11(the)m 11(area.)m 15(After)m 11(the)m 10(SPF)m 11(tree)m 11(is)m 11(calculated)m 10(for)m 11(the)m 11(area,)m 11(routes)m 10(to)m 11(all)m 11(other)m 11(networks)m 10(are)m 11(calculated)m 0 942 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 1079 p (3.3)s 50(Classi\014cation)m 12(of)m 13 r 114 c (outers)s t-rom.300 @sf 0 1174 p (Before)s 10(the)m 11(introduction)m 10(of)m 11(areas,)m 10(the)m 11(only)m 10(OSPF)m 10(routers)m 11(having)m 10 r 97 c 11(specialized)m 10(function)m 11(were)m 10(those)m 10(advertising)m 11(external)m 0 1224 p (routing)s 13(information,)m 14(such)m 13(as)m 13(router)m 13 r 82 c -1(T5)m 12(in)m 13(Figure)m 13(2.)m 22(When)m 14(the)m 13(AS)m 13(is)m 13(split)m 13(into)m 13(OSPF)m 14(areas,)m 13(the)m 13(routers)m 14(are)m 13(further)m 0 1274 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 1383 p (Internal)s 10 r 114 c (outers)s t-rom.300 @sf 20 r 65 c 11(router)m 11(with)m 10(all)m 11(directly)m 11(connected)m 10(networks)m 11(belonging)m 11(to)m 10(the)m 11(same)m 11(area.)m 15(Routers)m 10(with)m 11(only)m 11(back-)m 104 1433 p (bone)s 10(interfaces)m 11(also)m 10(belong)m 10(to)m 11(this)m 10(category)m -1 r 46 c 12(These)m 11(routers)m 10(run)m 11 r 97 c 10(single)m 11(copy)m 10(of)m 10(the)m 11(basic)m 10(routing)m 11(algorithm.)m t-bol.300 @sf 0 1516 p (Ar)s (ea)s 10(border)m 10 r 114 c (outers)s t-rom.300 @sf 20(Any)m 12(router)m 11(that)m 12(is)m 12(not)m 11(an)m 12(internal)m 11(router)m -1 r 46 c 16(Border)m 12(routers)m 12(run)m 11(multiple)m 12(copies)m 11(of)m 12(the)m 12(basic)m 11(algo-)m 104 1566 p (rithm,)s 8(one)m 8(copy)m 7(for)m 8(each)m 7(attached)m 8(area)m 8(and)m 7(an)m 8(additional)m 8(copy)m 7(for)m 8(the)m 7(backbone.)m 13(Area)m 8(border)m 8(routers)m 7(condense)m 8(the)m 104 1616 p (topological)s 8(information)m 9(of)m 9(their)m 8(attached)m 9(areas)m 9(for)m 8(distribution)m 9(to)m 9(the)m 8(backbone.)m 14(The)m 8(backbone)m 9(in)m 9(turn)m 8(distributes)m 104 1666 p (the)s 10(information)m 11(to)m 10(the)m 10(other)m 11(areas.)m t-bol.300 @sf 0 1749 p (Backbone)s 10 r 114 c (outers)s t-rom.300 @sf 20 r 65 c 10(router)m 9(that)m 9(has)m 9(an)m 9(interface)m 9(to)m 9(the)m 9(backbone.)m 14(This)m 9(includes)m 9(all)m 9(routers)m 9(that)m 10(interface)m 9(to)m 9(more)m 9(than)m 104 1798 p (one)s 11(area)m 12(\(i.e.,)m 12(area)m 11(border)m 12(routers\).)m 17(However)m -1 r 44 c 11(backbone)m 11(routers)m 12(do)m 11(not)m 12(have)m 11(to)m 12(be)m 11(area)m 12(border)m 11(routers.)m 17(Routers)m 104 1848 p (with)s 10(all)m 11(interfaces)m 10(connected)m 10(to)m 11(the)m 10(backbone)m 11(are)m 10(considered)m 11(to)m 10(be)m 10(internal)m 11(routers.)m t-bol.300 @sf 0 1931 p (AS)s 10(boundary)m 11 r 114 c (outers)s t-rom.300 @sf 20 r 65 c 9(router)m 9(that)m 8(exchanges)m 9(routing)m 9(information)m 9(with)m 9(routers)m 9(belonging)m 8(to)m 9(other)m 9(Autonomous)m 9(Sys-)m 104 1981 p (tems.)s 13(Such)m 10 r 97 c 10(router)m 10(has)m 10(AS)m 10(external)m 10(routes)m 9(that)m 10(are)m 10(advertised)m 10(throughout)m 10(the)m 10(Autonomous)m 10(System.)m 13(The)m 10(path)m 10(to)m 104 2031 p (each)s 11(AS)m 12(boundary)m 11(router)m 12(is)m 11(known)m 12(by)m 11(every)m 11(router)m 12(in)m 11(the)m 12(AS.)m 11(This)m 12(classi\014cation)m 11(is)m 12(completely)m 11(independent)m 12(of)m 104 2081 p (the)s 12(previous)m 12(classi\014cations:)m 17(AS)m 12(boundary)m 12(routers)m 12(may)m 13(be)m 12(internal)m 12(or)m 12(area)m 12(border)m 12(routers,)m 13(and)m 12(may)m 12(or)m 12(may)m 12(not)m 104 2130 p (participate)s 10(in)m 11(the)m 10(backbone.)m t-bol.360 @sf 0 2267 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 2363 p (Figure)s 14 r 54 c 14(shows)m 14 r 97 c 14(sample)m 14(area)m 15(con\014guration.)m 24(The)m 15(\014rst)m 14(area)m 14(consists)m 14(of)m 14(networks)m 14(N1-N4,)m 15(along)m 14(with)m 14(their)m 14(attached)m 0 2413 p (routers)s 12 r 82 c -1(T1-R)m -3(T4.)m 19(The)m 13(second)m 12(area)m 12(consists)m 13(of)m 12(networks)m 12(N6-N8,)m 13(along)m 13(with)m 12(their)m 12(attached)m 13(routers)m 12 r 82 c -1(T7,)m 12 r 82 c -2(T8,)m 12 r 82 c -2(T10,)m 0 2462 p 82 c -2(T1)m -1(1.)m 15(The)m 11(third)m 11(area)m 12(consists)m 11(of)m 11(networks)m 11(N9-N1)m 49 c 10(and)m 11(host)m 11(H1,)m 12(along)m 11(with)m 11(their)m 11(attached)m 11(routers)m 11 r 82 c -1(T9,)m 10 r 82 c -1(T1)m -2(1,)m 11 r 82 c -2(T12.)m 0 2512 p (The)s 10(third)m 10(area)m 9(has)m 10(been)m 10(con\014gured)m 10(so)m 9(that)m 10(networks)m 10(N9-N1)m -1 r 49 c 9(and)m 10(host)m 10(H1)m 9(will)m 10(all)m 10(be)m 10(grouped)m 10(into)m 9 r 97 c 10(single)m 10(route,)m 10(when)m 0 2562 p (advertised)s 10(external)m 11(to)m 10(the)m 11(area)m 10(\(see)m 10(Section)m 11(3.5)m 10(for)m 11(more)m 10(details\).)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(12)m @eop 11 @bop0 11 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.360 @sf 0 195 p (2.3)s 50(Equal-cost)m 12(multipath)m t-rom.300 @sf 0 291 p (The)s 11(above)m 11(discussion)m 10(has)m 11(been)m 11(simpli\014ed)m 11(by)m 10(considering)m 11(only)m 11 r 97 c 11(single)m 11(route)m 10(to)m 11(any)m 11(destination.)m 15(In)m 11(reality)m -2 r 44 c 10(if)m 10(multiple)m 0 341 p (equal-cost)s 12(routes)m 11(to)m 12 r 97 c 11(destination)m 12(exist,)m 12(they)m 11(are)m 12(all)m 11(discovered)m 12(and)m 12(used.)m 17(This)m 11(requires)m 12(no)m 12(conceptual)m 11(changes)m 12(to)m 11(the)m 0 390 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 458 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.420 @sf 0 616 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 727 p (OSPF)s 13(allows)m 12(collections)m 13(of)m 12(contiguous)m 13(networks)m 12(and)m 13(hosts)m 12(to)m 13(be)m 12(grouped)m 13(together)m -2 r 46 c 20(Such)m 12 r 97 c 13(group,)m 13(together)m 12(with)m 13(the)m 0 776 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 826 p (basic)s 10(SPF)m 10(routing)m 11(algorithm.)m 13(This)m 11(means)m 10(that)m 10(each)m 10(area)m 10(has)m 11(its)m 10(own)m 10(topological)m 10(database)m 10(and)m 11(corresponding)m 10(graph,)m 10(as)m 0 876 p (explained)s 10(in)m 11(the)m 10(previous)m 11(section.)m 0 944 p (The)s 13(topology)m 12(of)m 13(an)m 12(area)m 13(is)m 12(invisible)m 13(from)m 12(the)m 13(outside)m 12(of)m 13(the)m 12(area.)m 20(Conversely)m -1 r 44 c 12(routers)m 12(internal)m 13(to)m 12 r 97 c 13(given)m 12(area)m 13(know)m 0 994 p (nothing)s 14(of)m 14(the)m 14(detailed)m 14(topology)m 15(external)m 14(to)m 14(the)m 14(area.)m 25(This)m 14(isolation)m 14(of)m 14(knowledge)m 14(enables)m 14(the)m 14(protocol)m 14(to)m 15(ef)m (fect)s 13 r 97 c 0 1043 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(SPF)m 10(domain.)m 0 1111 p 87 c -1(ith)m 10(the)m 11(introduction)m 11(of)m 10(areas,)m 11(it)m 11(is)m 11(no)m 10(longer)m 11(true)m 11(that)m 11(all)m 10(routers)m 11(in)m 11(the)m 10(AS)m 11(have)m 11(an)m 11(identical)m 10(topological)m 11(database.)m 15 r 65 c 0 1161 p (router)s 8(actually)m 8(has)m 8 r 97 c 8(separate)m 8(topological)m 9(database)m 8(for)m 8(each)m 8(area)m 8(it)m 8(is)m 8(connected)m 8(to.)m 13(\(Routers)m 8(connected)m 9(to)m 8(multiple)m 8(areas)m 0 1211 p (are)s 11(called)m 11(area)m 12(border)m 11(routers\).)m 16 r 84 c -2(wo)m 10(routers)m 12(belonging)m 11(to)m 11(the)m 11(same)m 11(area)m 12(have,)m 11(for)m 11(that)m 11(area,)m 12(identical)m 11(area)m 11(topological)m 0 1260 p (databases.)s 0 1328 p (Routing)s 13(in)m 13(the)m 13(Autonomous)m 13(System)m 13(takes)m 13(place)m 13(on)m 13(two)m 13(levels,)m 14(depending)m 13(on)m 13(whether)m 13(the)m 13(source)m 13(and)m 13(destination)m 13(of)m 0 1378 p 97 c 13(packet)m 14(reside)m 13(in)m 14(the)m 13(same)m 13(area)m 14(\(intra-area)m 13(routing)m 13(is)m 14(used\))m 13(or)m 14(dif)m (ferent)s 12(areas)m 14(\(inter)m (-area)s 12(routing)m 13(is)m 14(used\).)m 23(In)m 13(intra-)m 0 1428 p (area)s 9(routing,)m 9(the)m 9(packet)m 9(is)m 9(routed)m 9(solely)m 9(on)m 9(information)m 9(obtained)m 9(within)m 9(the)m 9(area;)m 9(no)m 9(routing)m 9(information)m 9(obtained)m 9(from)m 0 1478 p (outside)s 9(the)m 8(area)m 9(can)m 8(be)m 9(used.)m 13(This)m 9(protects)m 9(intra-area)m 8(routing)m 9(from)m 8(the)m 9(injection)m 9(of)m 8(bad)m 9(routing)m 8(information.)m 14 r 87 c -3 r 101 c 8(discuss)m 0 1527 p (inter)s (-area)s 10(routing)m 10(in)m 10(Section)m 11(3.2.)m t-bol.360 @sf 0 1664 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 1760 p (The)s 8(backbone)m 9(consists)m 8(of)m 8(those)m 8(networks)m 9(not)m 8(contained)m 8(in)m 8(any)m 9(area,)m 8(their)m 8(attached)m 9(routers,)m 8(and)m 9(those)m 8(routers)m 8(that)m 8(belong)m 0 1810 p (to)s 10(multiple)m 11(areas.)m 14(The)m 10(backbone)m 11(must)m 10(be)m 10(contiguous.)m 0 1877 p (It)s 10(is)m 10(possible)m 10(to)m 10(de\014ne)m 10(areas)m 10(in)m 9(such)m 10 r 97 c 10(way)m 10(that)m 10(the)m 10(backbone)m 10(is)m 10(no)m 10(longer)m 10(contiguous.)m 14(In)m 9(this)m 10(case)m 10(the)m 10(system)m 10(adminis-)m 0 1927 p (trator)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 1995 p 86 c -2(irtual)m 10(links)m 11(can)m 11(be)m 10(con\014gured)m 11(between)m 11(any)m 10(two)m 11(backbone)m 11(routers)m 11(that)m 10(have)m 11(an)m 11(interface)m 10(to)m 11 r 97 c 11(common)m 11(non-backbone)m 0 2045 p (area.)s 22 r 86 c -1(irtual)m 12(links)m 14(belong)m 13(to)m 13(the)m 13(backbone.)m 23(The)m 13(protocol)m 13(treats)m 14(two)m 13(routers)m 13(joined)m 13(by)m 14 r 97 c 13(virtual)m 13(link)m 14(as)m 13(if)m 13(they)m 13(were)m 0 2094 p (connected)s 12(by)m 12(an)m 12(unnumbered)m 12(point-to-point)m 12(network.)m 18(On)m 12(the)m 12(graph)m 12(of)m 12(the)m 12(backbone,)m 12(two)m 12(such)m 12(routers)m 12(are)m 12(joined)m 12(by)m 0 2144 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 2194 p (virtual)s 10(link)m 11(uses)m 10(intra-area)m 11(routing)m 10(only)m -2 r 46 c 0 2262 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 0 2329 p (The)s 10(backbone)m 10(itself)m 9(has)m 10(all)m 10(of)m 10(the)m 9(properties)m 10(of)m 10(an)m 10(area.)m 13(The)m 10(topology)m 10(of)m 10(the)m 10(backbone)m 9(is)m 10(invisible)m 10(to)m 10(each)m 9(of)m 10(the)m 10(areas,)m 0 2379 p (while)s 8(the)m 9(backbone)m 8(itself)m 9(knows)m 8(nothing)m 9(of)m 8(the)m 9(topology)m 8(of)m 8(the)m 9(areas.)m 13(Before)m 9(the)m 8(addition)m 8(of)m 9(virtual)m 8(links,)m 9(the)m 9(backbone)m 0 2429 p (has)s 9(potentially)m 9(several)m 9(components.)m 14(Routing)m 9(within)m 9(any)m 9(one)m 9(of)m 9(these)m 10(components)m 9(cannot)m 9(be)m 9(in\015uenced)m 9(by)m 9(information)m 0 2479 p (gained)s 10(from)m 10(any)m 10(of)m 10(the)m 10(areas.)m 13(Routing)m 10(along)m 10(virtual)m 10(links)m 10(is)m 10(of)m 10(course)m 10(dictated)m 10(by)m 10(the)m 10(topology)m 10(of)m 10(the)m 10(associated)m 10(areas.)m h-med.300 @sf 0 2723 p (Moy)s 1719(Page)m 12 r 49 c -2 r 49 c @eop 10 @bop0 10 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)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 346 1188 p 84 c -2(able)m 9(1:)m 14(The)m 10(portion)m 11(of)m 10(router)m 2 r 39 c -2 r 115 c 10 r 82 c -2(T6)m 10(routing)m 10(table)m 11(listing)m 10(local)m 10(destinations.)m 0 1322 p (router)s 11(advertising)m 10(the)m 11(shortest)m 11(route)m 11(is)m 10(discovered,)m 11(and)m 11(the)m 11(next)m 10(hop)m 11(to)m 11(the)m 10(advertising)m 11(router)m 11(becomes)m 11(the)m 10(next)m 11(hop)m 11(to)m 0 1371 p (the)s 10(destination.)m 0 1439 p (Both)s 9(Router)m 10 r 82 c -2(T5)m 8(and)m 10 r 82 c -2(T7)m 9(are)m 9(advertising)m 9(an)m 10(external)m 9(route)m 9(to)m 9(destination)m 10(network)m 9(N12.)m 14(Router)m 9 r 82 c -2(T7)m 9(is)m 9(preferred)m 9(since)m 0 1489 p (it)s 9(is)m 8(advertising)m 9(N12)m 8(at)m 9 r 97 c 9(distance)m 8(of)m 9(10)m 8(\(8+2\))m 9(to)m 9(Router)m 8 r 82 c -1(T6,)m 8(which)m 8(is)m 9(better)m 8(than)m 9(router)m 9 r 82 c -2(T5')m -2 r 115 c 7(14)m 9(\(6+8\).)m 13 r 84 c -2(able)m 8 r 50 c 9(shows)m 0 1539 p (the)s 10(entries)m 11(that)m 10(are)m 11(added)m 10(to)m 10(the)m 11(routing)m 10(table)m 11(when)m 10(external)m 11(routes)m 10(are)m 10(examined:)m 650 1645 p 651 2 ru 649 1695 p 2 50 ru t-ita.300 @sf 675 1680 p (Destination)s 893 1695 p 2 50 ru 919 1680 p (Next)s 10(Hop)m 1101 1695 p 2 50 ru 1127 1680 p (Distance)s 1299 1695 p 2 50 ru 650 1696 p 651 2 ru 649 1746 p 2 50 ru t-rom.300 @sf 736 1731 p (N12)s 893 1746 p 2 50 ru 952 1731 p 82 c -2(T10)m 1101 1746 p 2 50 ru 1180 1731 p (10)s 1299 1746 p 2 50 ru 649 1796 p 2 50 ru 736 1781 p (N13)s 893 1796 p 2 50 ru 962 1781 p 82 c -1(T5)m 1101 1796 p 2 50 ru 1180 1781 p (14)s 1299 1796 p 2 50 ru 649 1846 p 2 50 ru 736 1831 p (N14)s 893 1846 p 2 50 ru 962 1831 p 82 c -1(T5)m 1101 1846 p 2 50 ru 1180 1831 p (14)s 1299 1846 p 2 50 ru 649 1896 p 2 50 ru 736 1881 p (N15)s 893 1896 p 2 50 ru 952 1881 p 82 c -2(T10)m 1101 1896 p 2 50 ru 1180 1881 p (17)s 1299 1896 p 2 50 ru 650 1897 p 651 2 ru 320 2034 p 84 c -2(able)m 9(2:)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 2143 p (Processing)s 13(of)m 13 r 84 c -2(ype)m 11 r 50 c 13(external)m 13(metrics)m 13(is)m 12(simpler)m -1 r 46 c 20(The)m 13(AS)m 13(boundary)m 12(router)m 13(advertising)m 13(the)m 13(shortest)m 12(external)m 13(route)m 13(is)m 0 2193 p (chosen,)s 13(regardless)m 12(of)m 12(the)m 12(internal)m 13(distance)m 12(to)m 12(the)m 13(AS)m 12(boundary)m 12(router)m -1 r 46 c 18(Suppose)m 12(in)m 13(our)m 12(example)m 12(both)m 12(router)m 13 r 82 c -2(T5)m 11(and)m 0 2243 p (router)s 11 r 82 c -2(T7)m 10(were)m 10(advertising)m 11 r 84 c -2(ype)m 9 r 50 c 11(external)m 11(routes.)m 14(Then)m 10(all)m 11(traf)m (\014c)s 10(destined)m 10(for)m 11(network)m 10(N12)m 11(would)m 11(be)m 10(forwarded)m 11(to)m 0 2292 p (router)s 11 r 82 c -2(T7,)m 11(since)m 10 r 50 c cmmi10.300 @sf 13 r 60 c t-rom.300 @sf 13(8.)m 15(When)m 11(several)m 11(equal-cost)m 11 r 84 c -2(ype)m 10 r 50 c 11(routes)m 11(exist,)m 11(the)m 11(internal)m 11(distance)m 11(to)m 11(the)m 11(advertising)m 11(routers)m 0 2342 p (is)s 10(used)m 11(to)m 10(break)m 11(the)m 10(tie.)m 0 2410 p (Both)s 13 r 84 c -2(ype)m 12 r 49 c 13(and)m 12 r 84 c -2(ype)m 12 r 50 c 13(external)m 13(metrics)m 13(can)m 13(be)m 12(present)m 13(in)m 13(the)m 13(AS)m 13(at)m 13(the)m 12(same)m 13(time.)m 21(In)m 13(that)m 13(event,)m 14 r 84 c -2(ype)m 11 r 49 c 13(external)m 0 2460 p (metrics)s 10(always)m 11(take)m 10(precedence.)m h-med.300 @sf 0 2723 p (Moy)s 1716(Page)m 12(10)m @eop 9 @bop0 9 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 3354869 10130391 34338078 44863160 startTexFig %!PS-Adobe-1.0 %%Title: figure5.fig %%Creator: f2ps %%CreationDate: Wed Jul 5 13:56:08 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 51 154 522 682 %%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 1739(Page)m 12 r 57 c @eop 8 @bop0 8 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 3486433 4867850 34666987 47691776 startTexFig %!PS-Adobe-1.0 %%Title: figure3-4.fig %%Creator: f2ps %%CreationDate: Wed Jul 5 13:55:51 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 53 74 527 725 %%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 1739(Page)m 12 r 56 c @eop 7 @bop0 7 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (one)s 12(joining)m 12(routers)m 12 r 82 c -1(T6)m 11(and)m 12 r 82 c -2(T10.)m 18(Routers)m 13 r 82 c -2(T5)m 11(and)m 12 r 82 c -1(T7)m 11(have)m 12(EGP)m 12(connections)m 12(to)m 12(other)m 12(Autonomous)m 12(Systems.)m 19 r 65 c 0 245 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 312 p 65 c 9(cost)m 9(is)m 9(associated)m 8(with)m 9(the)m 9(output)m 9(side)m 9(of)m 9(each)m 8(router)m 9(interface.)m 14(This)m 8(cost)m 9(is)m 9(con\014gurable)m 9(by)m 9(the)m 9(system)m 8(administrator)m -1 r 46 c 0 362 p (The)s 12(lower)m 12(the)m 12(cost,)m 12(the)m 12(more)m 12(likely)m 12(the)m 12(interface)m 12(is)m 12(to)m 12(be)m 12(used)m 12(to)m 12(forward)m 12(data)m 12(traf)m (\014c.)s 18(Costs)m 12(are)m 12(also)m 12(associated)m 12(with)m 0 412 p (the)s 10(externally)m 11(derived)m 10(routing)m 11(data)m 10(\(e.g.,)m 10(the)m 11(EGP-learned)m 10(routes\).)m 0 479 p (The)s 12(directed)m 11(graph)m 12(resulting)m 12(from)m 12(the)m 11(map)m 12(in)m 12(Figure)m 11 r 50 c 12(is)m 12(depicted)m 12(in)m 11(Figure)m 12(3.)m 18(Arcs)m 12(are)m 11(labelled)m 12(with)m 12(the)m 12(cost)m 11(of)m 12(the)m 0 529 p (corresponding)s 14(router)m 14(output)m 14(interface.)m 24(Arcs)m 14(having)m 14(no)m 14(labelled)m 14(cost)m 14(have)m 14 r 97 c 14(cost)m 14(of)m 14(0.)m 24(Note)m 14(that)m 14(arcs)m 14(leading)m 14(from)m 0 579 p (networks)s 10(to)m 11(routers)m 10(always)m 11(have)m 10(cost)m 11(0;)m 10(they)m 10(are)m 11(signi\014cant)m 10(nonetheless.)m 14(Note)m 11(also)m 10(that)m 10(the)m 11(externally)m 10(derived)m 11(routing)m 0 629 p (data)s 10(appears)m 11(on)m 10(the)m 11(graph)m 10(as)m 10(stubs.)m 0 696 p (The)s 11(topological)m 10(database)m 11(\(or)m 11(what)m 10(has)m 11(been)m 11(referred)m 10(to)m 11(above)m 11(as)m 10(the)m 11(directed)m 11(graph\))m 10(is)m 11(pieced)m 11(together)m 10(from)m 11(link)m 11(state)m 0 746 p (advertisements)s 11(generated)m 12(by)m 11(the)m 11(routers.)m 17(The)m 11(neighborhood)m 11(of)m 12(each)m 11(transit)m 11(vertex)m 12(is)m 11(represented)m 11(in)m 12 r 97 c 11(single,)m 12(separate)m 0 796 p (link)s 11(state)m 12(advertisement.)m 16(Figure)m 11 r 52 c 12(shows)m 11(graphically)m 11(the)m 11(link)m 12(state)m 11(representation)m 11(of)m 11(the)m 12(two)m 11(kinds)m 11(of)m 11(transit)m 12(vertices:)m 0 845 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 895 p (Network)s 11(N6)m 11(is)m 10 r 97 c 11(broadcast)m 11(network)m 11(with)m 11(three)m 10(attached)m 11(routers.)m 15(The)m 11(cost)m 11(of)m 11(all)m 10(links)m 11(from)m 11(network)m 11(N6)m 10(to)m 11(its)m 11(attached)m 0 945 p (routers)s 10(is)m 9(0.)m 14(Note)m 9(that)m 10(the)m 9(link)m 10(state)m 9(advertisement)m 10(for)m 9(network)m 10(N6)m 9(is)m 10(actually)m 9(generated)m 10(by)m 9(one)m 10(of)m 10(the)m 9(attached)m 10(routers:)m 0 995 p (the)s 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 1131 p (2.1)s 50(The)m 12(shortest-path)m 13(tr)m (ee)s t-rom.300 @sf 0 1226 p (When)s 13(no)m 13(OSPF)m 13(areas)m 13(are)m 13(con\014gured,)m 13(each)m 13(router)m 13(in)m 13(the)m 13(Autonomous)m 13(System)m 13(has)m 13(an)m 12(identical)m 13(topological)m 13(database,)m 0 1276 p (leading)s 12(to)m 11(an)m 12(identical)m 12(graphical)m 11(representation.)m 18 r 65 c 11(router)m 12(generates)m 12(its)m 11(routing)m 12(table)m 12(from)m 11(this)m 12(graph)m 12(by)m 11(calculating)m 12 r 97 c 0 1326 p (tree)s 12(of)m 12(shortest)m 11(paths)m 12(with)m 12(the)m 12(router)m 12(itself)m 11(as)m 12(root.)m 18(Obviously)m -1 r 44 c 11(the)m 11(shortest-path)m 12(tree)m 12(depends)m 12(on)m 12(the)m 11(router)m 12(doing)m 12(the)m 0 1376 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 1443 p (The)s 9(tree)m 8(gives)m 9(the)m 8(entire)m 9(route)m 9(to)m 8(any)m 9(destination)m 8(network)m 9(or)m 9(host.)m 13(However)m -1 r 44 c 8(only)m 9(the)m 8(next)m 9(hop)m 9(to)m 8(the)m 9(destination)m 8(is)m 9(used)m 0 1493 p (in)s 11(the)m 12(forwarding)m 11(process.)m 17(Note)m 11(also)m 11(that)m 12(the)m 11(best)m 11(route)m 12(to)m 11(any)m 11(router)m 12(has)m 11(also)m 11(been)m 12(calculated.)m 16(For)m 12(the)m 11(processing)m 11(of)m 0 1543 p (external)s 11(data,)m 11(we)m 10(note)m 11(the)m 11(next)m 11(hop)m 10(and)m 11(distance)m 11(to)m 11(any)m 11(router)m 10(advertising)m 11(external)m 11(routes.)m 15(The)m 11(resulting)m 10(routing)m 11(table)m 0 1592 p (for)s 10(router)m 11 r 82 c -2(T6)m 9(is)m 11(pictured)m 10(in)m 10 r 84 c -2(able)m 10(1.)m 14(Note)m 10(that)m 10(there)m 11(is)m 10 r 97 c 10(separate)m 10(route)m 11(for)m 10(each)m 10(end)m 11(of)m 10 r 97 c 10(numbered)m 11(serial)m 10(line)m 10(\(in)m 11(this)m 0 1642 p (case,)s 10(the)m 11(serial)m 10(line)m 11(between)m 10(routers)m 10 r 82 c -1(T6)m 9(and)m 11 r 82 c -2(T10\).)m 0 1717 p (Routes)s 11(to)m 10(networks)m 11(belonging)m 11(to)m 11(other)m 10(AS'es)m 11(\(such)m 11(as)m 10(N12\))m 11(appear)m 11(as)m 10(dashed)m 11(lines)m 11(on)m 11(the)m 10(shortest)m 11(path)m 11(tree)m 10(in)m 11(Figure)m 0 1767 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 1903 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 1998 p (After)s 9(the)m 10(tree)m 9(is)m 9(created)m 9(the)m 10(external)m 9(routing)m 9(information)m 10(is)m 9(examined.)m 13(This)m 10(external)m 9(routing)m 9(information)m 10(may)m 9(originate)m 0 2048 p (from)s 12(another)m 11(routing)m 12(protocol)m 11(such)m 12(as)m 11(EGP)m -3 r 44 c 10(or)m 12(be)m 12(statically)m 11(con\014gured)m 12(\(static)m 11(routes\).)m 18(Default)m 11(routes)m 12(are)m 11(also)m 12 r 97 c 12(form)m 0 2098 p (of)s 10(external)m 11(routing)m 10(information.)m 0 2165 p (External)s 8(routing)m 8(information)m 8(is)m 8(\015ooded)m 8(unaltered)m 8(throughout)m 8(the)m 9(AS.)m 8(In)m 8(our)m 8(example,)m 8(all)m 8(the)m 8(routers)m 9(in)m 8(the)m 8(Autonomous)m 0 2215 p (System)s 10(know)m 11(that)m 10(router)m 11 r 82 c -2(T7)m 10(has)m 10(two)m 10(external)m 11(routes,)m 10(with)m 11(metrics)m 10 r 50 c 10(and)m 11(9.)m 0 2282 p (OSPF)s 11(supports)m 12(two)m 11(types)m 12(of)m 11(external)m 11(metrics.)m 17 r 84 c -2(ype)m 10 r 49 c 12(external)m 11(metrics)m 12(are)m 11(equivalent)m 11(to)m 12(the)m 11(link)m 11(state)m 12(metric.)m 17 r 84 c -2(ype)m 10 r 50 c 0 2332 p (external)s 11(metrics)m 11(are)m 12(greater)m 11(than)m 11(the)m 11(cost)m 11(of)m 11(any)m 12(path)m 11(internal)m 11(to)m 11(the)m 11(AS.)m 11(Use)m 12(of)m 11 r 84 c -2(ype)m 10 r 50 c 11(external)m 11(metrics)m 11(assumes)m 12(that)m 0 2382 p (routing)s 11(between)m 11(AS'es)m 11(is)m 11(the)m 11(major)m 11(cost)m 11(of)m 11(routing)m 11 r 97 c 11(packet,)m 11(and)m 11(eliminates)m 11(the)m 11(need)m 11(for)m 11(conversion)m 11(of)m 10(external)m 11(costs)m 0 2432 p (to)s 10(internal)m 11(link)m 10(state)m 11(metrics.)m 0 2499 p (Here)s 12(is)m 11(an)m 12(example)m 12(of)m 11 r 84 c -2(ype)m 11 r 49 c 12(external)m 12(metric)m 11(processing.)m 18(Suppose)m 12(that)m 11(the)m 12(routers)m 12 r 82 c -2(T7)m 11(and)m 11 r 82 c -1(T5)m 11(in)m 11(our)m 12(example)m 12(are)m 0 2549 p (advertising)s 12 r 84 c -2(ype)m 11 r 49 c 13(external)m 12(metrics.)m 19(For)m 12(each)m 12(external)m 12(route,)m 13(the)m 12(distance)m 12(to)m 12(Router)m 12 r 82 c -1(T6)m 11(is)m 12(calculated)m 12(as)m 12(the)m 13(sum)m 12(of)m 0 2599 p (the)s 11(external)m 12(route')m -2 r 115 c 11(cost)m 11(and)m 11(the)m 12(distance)m 11(of)m 11(the)m 12(advertising)m 11(router)m 11(to)m 12(Router)m 11 r 82 c -1(T6.)m 15(For)m 12(every)m 11(external)m 11(destination,)m 12(the)m h-med.300 @sf 0 2723 p (Moy)s 1739(Page)m 12 r 55 c @eop 6 @bop0 6 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 5394104 4604723 37364039 48086466 startTexFig %!PS-Adobe-1.0 %%Title: figure2.fig %%Creator: f2ps %%CreationDate: Wed Jul 5 13:55:28 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 82 70 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 1739(Page)m 12 r 54 c @eop 5 @bop0 5 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m 0 199 p 30785863 38600707 5394104 7630684 34469642 47954903 startTexFig %!PS-Adobe-1.0 %%Title: figure1.fig %%Creator: f2ps %%CreationDate: Fri Jun 30 13:41:50 1989 %%For: jmoy@winston.proteon.com (John Moy) %%Pages: 1 %%BoundingBox: 82 116 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 1739(Page)m 12 r 53 c @eop 4 @bop0 4 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-rom.300 @sf 0 195 p (The)s 9(vertices)m 8(of)m 9(the)m 8(graph)m 9(can)m 9(be)m 8(further)m 9(typed)m 9(according)m 8(to)m 9(function.)m 13(Only)m 9(some)m 8(of)m 9(these)m 8(types)m 9(carry)m 9(transit)m 8(data)m 9(traf)m (\014c;)s 0 245 p (that)s 11(is,)m 11(traf)m (\014c)s 10(that)m 10(is)m 11(neither)m 11(locally)m 10(originated)m 11(nor)m 11(locally)m 11(destined.)m 14 r 86 c -3(ertices)m 10(that)m 10(can)m 11(carry)m 11(transit)m 10(traf)m (\014c)s 10(are)m 11(indicated)m 0 295 p (on)s 10(the)m 11(graph)m 10(by)m 11(having)m 10(both)m 10(incoming)m 11(and)m 10(outgoing)m 11(edges.)m 627 369 p 696 2 ru 626 419 p 2 50 ru t-ita.300 @sf 652 404 p 86 c -4(ertex)m 10(type)m 860 419 p 2 50 ru 895 404 p 86 c -4(ertex)m 10(name)m 1133 419 p 2 50 ru 1159 404 p 84 c -1(ransit?)m 1322 419 p 2 50 ru 627 420 p 696 2 ru 626 470 p 2 50 ru t-rom.300 @sf 734 455 p 49 c 860 470 p 2 50 ru 941 455 p (Router)s 1133 470 p 2 50 ru 1201 455 p (yes)s 1322 470 p 2 50 ru 626 520 p 2 50 ru 734 505 p 50 c 860 520 p 2 50 ru 925 505 p (Network)s 1133 520 p 2 50 ru 1201 505 p (yes)s 1322 520 p 2 50 ru 626 570 p 2 50 ru 734 555 p 51 c 860 570 p 2 50 ru 886 555 p (Stub)s 10(network)m 1133 570 p 2 50 ru 1208 555 p (no)s 1322 570 p 2 50 ru 627 572 p 696 2 ru 0 664 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 764 p (Point-to-point)s 10(networks)m t-rom.300 @sf 21 r 65 c 12(network)m 11(that)m 12(joins)m 11 r 97 c 12(single)m 12(pair)m 11(of)m 12(routers.)m 17 r 65 c 12(56Kb)m 11(serial)m 12(line)m 11(is)m 12(an)m 12(example)m 11(of)m 12 r 97 c 11(point-)m 104 814 p (to-point)s 10(network.)m t-bol.300 @sf 0 897 p (Br)s (oadcast)s 10(networks)m t-rom.300 @sf 20(Networks)m 15(supporting)m 14(many)m 14(\(more)m 14(than)m 14(two\))m 14(attached)m 15(routers,)m 15(together)m 14(with)m 14(the)m 14(capability)m 14(to)m 104 947 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 997 p (dynamically)s 11(on)m 11(these)m 10(nets)m 11(using)m 11(the)m 11(Hello)m 11(Protocol.)m 15(The)m 11(Hello)m 11(Protocol)m 11(itself)m 11(takes)m 11(advantage)m 11(of)m 11(the)m 10(broadcast)m 104 1047 p (capability)s -2 r 46 c 14(The)m 11(protocol)m 11(makes)m 11(further)m 11(use)m 10(of)m 11(multicast)m 11(capabilities,)m 11(if)m 11(they)m 11(exist.)m 15(An)m 11(ethernet)m 11(is)m 10(an)m 11(example)m 11(of)m 104 1097 p 97 c 10(broadcast)m 11(network.)m t-bol.300 @sf 0 1180 p (Non-br)s (oadcast)s 10(networks)m t-rom.300 @sf 20(Networks)m 11(supporting)m 11(many)m 10(\(more)m 11(than)m 10(two\))m 11(attached)m 11(routers,)m 10(but)m 11(having)m 10(no)m 11(broadcast)m 11(ca-)m 104 1229 p (pability)s -2 r 46 c 13(Neighboring)m 9(routers)m 9(are)m 9(discovered)m 9(on)m 9(these)m 9(nets)m 10(using)m 9(the)m 9(Hello)m 9(Protocol.)m 14(However)m -1 r 44 c 8(due)m 9(to)m 10(the)m 9(lack)m 9(of)m 104 1279 p (broadcast)s 11(capability)m -1 r 44 c 11(some)m 11(con\014guration)m 12(information)m 11(is)m 12(necessary)m 12(for)m 11(the)m 12(correct)m 12(operation)m 11(of)m 12(the)m 11(Hello)m 12(Proto-)m 104 1329 p (col.)s 14(On)m 10(these)m 10(networks,)m 10(OSPF)m 11(protocol)m 10(packets)m 10(that)m 10(are)m 10(normally)m 11(multicast)m 10(need)m 10(to)m 10(be)m 11(sent)m 10(to)m 10(each)m 10(neighboring)m 104 1379 p (router)s -1 r 44 c 10(in)m 10(turn.)m 14(An)m 10(X.25)m 11(Public)m 10(Data)m 10(Network)m 11(\(PDN\))m 10(is)m 11(an)m 10(example)m 11(of)m 10 r 97 c 10(non-broadcast)m 11(network.)m 0 1480 p (The)s 12(neighborhood)m 12(of)m 12(each)m 12(network)m 12(node)m 13(in)m 12(the)m 12(graph)m 12(depends)m 12(on)m 12(whether)m 12(the)m 12(network)m 12(has)m 12(multi-access)m 12(capabilities)m 0 1530 p (\(either)s 13(broadcast)m 13(or)m 14(non-broadcast\))m 13(and,)m 14(if)m 13(so,)m 14(the)m 13(number)m 13(of)m 13(routers)m 14(having)m 13(an)m 13(interface)m 13(to)m 13(the)m 14(network.)m 22(The)m 13(three)m 0 1579 p (cases)s 15(are)m 16(depicted)m 15(in)m 16(Figure)m 15(1.)m 29(Rectangles)m 16(indicate)m 15(routers.)m 29(Circles)m 15(and)m 16(oblongs)m 15(indicate)m 16(multi-access)m 15(networks.)m 0 1629 p (Router)s 12(names)m 12(are)m 12(pre\014xed)m 12(with)m 12(the)m 12(letters)m 12 r 82 c -1 r 84 c 11(and)m 12(network)m 12(names)m 12(with)m 12(N.)m 12(Router)m 12(interface)m 12(names)m 12(are)m 12(pre\014xed)m 12(by)m 12(I.)m 0 1679 p (Lines)s 9(between)m 10(routers)m 9(indicate)m 10(point-to-point)m 9(networks.)m 14(The)m 9(left)m 10(side)m 9(of)m 9(the)m 10(\014gure)m 9(shows)m 10 r 97 c 9(network)m 10(with)m 9(its)m 9(connected)m 0 1729 p (routers,)s 10(with)m 11(the)m 10(resulting)m 11(graph)m 10(shown)m 10(on)m 11(the)m 10(right.)m 0 1796 p 84 c -2(wo)m 10(routers)m 10(joined)m 11(by)m 10 r 97 c 11(point-to-point)m 10(network)m 11(are)m 10(represented)m 11(in)m 10(the)m 11(directed)m 10(graph)m 11(as)m 10(being)m 11(directly)m 10(connected)m 11(by)m 11 r 97 c 0 1846 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 1896 p (Such)s 12 r 97 c 12(point-to-point)m 13(network)m 12(is)m 12(called)m 12(unnumbered.)m 20(The)m 12(graphical)m 12(representation)m 12(of)m 13(point-to-point)m 12(networks)m 12(is)m 12(de-)m 0 1946 p (signed)s 10(so)m 9(that)m 10(unnumbered)m 9(networks)m 10(can)m 9(be)m 10(supported)m 9(naturally)m -1 r 46 c 12(When)m 10(interface)m 9(addresses)m 10(exist,)m 10(they)m 9(are)m 10(modelled)m 9(as)m 0 1996 p (stub)s 9(routes.)m 14(Note)m 9(that)m 9(each)m 9(router)m 10(would)m 9(then)m 9(have)m 9 r 97 c 9(stub)m 10(connection)m 9(to)m 9(the)m 9(other)m 9(router)m 2 r 39 c -1 r 115 c 8(interface)m 9(address)m 9(\(see)m 9(Figure)m 0 2046 p (1\).)s 0 2113 p (When)s 14(multiple)m 15(routers)m 14(are)m 14(attached)m 14(to)m 15 r 97 c 14(multi-access)m 14(network,)m 16(the)m 14(directed)m 14(graph)m 15(shows)m 14(all)m 14(routers)m 14(bidirectionally)m 0 2163 p (connected)s 9(to)m 10(the)m 9(network)m 10(vertex)m 9(\(again,)m 10(see)m 9(Figure)m 9(1\).)m 14(If)m 9(only)m 10 r 97 c 9(single)m 9(router)m 10(is)m 9(attached)m 10(to)m 9 r 97 c 9(multi-access)m 10(network,)m 9(the)m 0 2213 p (network)s 10(will)m 11(appear)m 10(in)m 11(the)m 10(directed)m 10(graph)m 11(as)m 10 r 97 c 11(stub)m 10(connection.)m 0 2281 p (Each)s 12(network)m 13(\(stub)m 12(or)m 12(transit\))m 12(in)m 13(the)m 12(graph)m 12(has)m 13(an)m 12(IP)m 12(address)m 13(and)m 12(associated)m 12(network)m 12(mask.)m 20(The)m 12(mask)m 13(indicates)m 12(the)m 0 2330 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 2380 p (stub)s 11(networks.)m 16(The)m 11(network)m 11(mask)m 11(for)m 11 r 97 c 11(host)m 11(route)m 11(is)m 11(always)m c-med.300 @sf 11(0xffffffff)m t-rom.300 @sf 44 c 11(which)m 11(indicates)m 11(the)m 11(presence)m 11(of)m 11 r 97 c 11(single)m 0 2430 p (node.)s 0 2498 p (Figure)s 13 r 50 c 14(shows)m 13 r 97 c 13(sample)m 14(map)m 13(of)m 13(an)m 13(Autonomous)m 14(System.)m 22(The)m 14(rectangle)m 13(labelled)m 13(H1)m 14(indicates)m 13 r 97 c 13(host,)m 14(which)m 13(has)m 14 r 97 c 0 2547 p (SLIP)s 12(connection)m 13(to)m 12(router)m 13 r 82 c -2(T12.)m 19(Router)m 13 r 82 c -2(T12)m 12(is)m 12(therefore)m 13(advertising)m 12 r 97 c 13(host)m 12(route.)m 20(Lines)m 13(between)m 12(routers)m 13(indicate)m 0 2597 p (physical)s 13(point-to-point)m 12(networks.)m 21(The)m 13(only)m 12(point-to-point)m 13(network)m 13(that)m 12(has)m 13(been)m 13(assigned)m 12(interface)m 13(addresses)m 13(is)m 12(the)m h-med.300 @sf 0 2723 p (Moy)s 1739(Page)m 12 r 52 c @eop 3 @bop0 3 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)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 9(the)m 9(OSPF)m 9(protocol.)m 13(Examples)m 9(of)m 9(these)m 9(are)m 9(the)m 8(X.25)m 9(packet)m 9(and)m 9(frame)m 9(levels)m 9(for)m 9(PDNs,)m 9(and)m 9(the)m 9(ethernet)m 9(data)m 104 295 p (link)s 10(layer)m 11(for)m 10(ethernets.)m t-bol.360 @sf 0 428 p (1.3)s 50(Brief)m 12(history)m 13(of)m 12(SPF-based)m 13 r 114 c (outing)s 12(technology)m t-rom.300 @sf 0 521 p (OSPF)s 9(is)m 9(an)m 9(SPF-based)m 9(routing)m 8(protocol.)m 14(Such)m 9(protocols)m 9(are)m 8(also)m 9(referred)m 9(to)m 9(in)m 9(the)m 9(literature)m 9(as)m 9(link-state)m 8(or)m 9(distributed-)m 0 571 p (database)s 14(protocols.)m 26(This)m 14(section)m 14(gives)m 14 r 97 c 14(brief)m 15(description)m 14(of)m 14(the)m 14(developments)m 15(in)m 14(SPF-based)m 14(technology)m 14(that)m 15(have)m 0 621 p (in\015uenced)s 10(the)m 11(OSPF)m 10(protocol.)m 0 686 p (The)s 8(\014rst)m 9(SPF-based)m 8(routing)m 9(protocol)m 8(was)m 9(developed)m 8(for)m 9(use)m 8(in)m 9(the)m 8(ARP)m -3(ANET)m 8(packet)m 8(switching)m 9(network.)m 13(This)m 9(protocol)m 0 736 p (is)s 13(described)m 14(in)m 13([McQuillan].)m 23(It)m 13(has)m 14(formed)m 13(the)m 13(starting)m 14(point)m 13(for)m 13(all)m 14(other)m 13(SPF-based)m 14(protocols.)m 22(The)m 14(homogeneous)m 0 786 p (Arpanet)s 10(environment,)m 9(i.e.,)m 10(single-vendor)m 10(packet)m 9(switches)m 10(connected)m 9(by)m 10(synchronous)m 10(serial)m 9(lines,)m 10(simpli\014ed)m 9(the)m 10(design)m 0 836 p (and)s 10(implementation)m 11(of)m 10(the)m 11(original)m 10(protocol.)m 0 901 p (Modi\014cations)s 7(to)m 7(this)m 7(protocol)m 7(were)m 7(proposed)m 7(in)m 7([Perlman].)m 13(These)m 7(modi\014cations)m 7(dealt)m 7(with)m 7(increasing)m 7(the)m 7(fault)m 7(tolerance)m 0 951 p (of)s 15(the)m 15(routing)m 15(protocol)m 15(through,)m 16(among)m 15(other)m 15(things,)m 16(adding)m 15 r 97 c 15(checksum)m 15(to)m 15(the)m 15(link)m 15(state)m 15(advertisements)m 15(\(thereby)m 0 1001 p (detecting)s 13(database)m 12(corruption\).)m 21(The)m 12(paper)m 13(also)m 12(included)m 13(means)m 13(for)m 12(reducing)m 13(the)m 12(routing)m 13(traf)m (\014c)s 12(overhead)m 12(in)m 13(an)m 12(SPF-)m 0 1051 p (based)s 7(protocol.)m 13(This)m 7(was)m 7(accomplished)m 7(by)m 7(going)m 7(to)m 7 r 97 c 7(lollipop-shaped)m 7(sequence)m 7(space)m 7(and)m 7(synchronizing)m 7(the)m 7(topological)m 0 1100 p (database)s 9(over)m 9(newly)m 9(formed)m 9(adjacencies,)m 10(enabling)m 9(the)m 9(interval)m 9(between)m 9(link)m 9(state)m 10(advertisements)m 9(to)m 9(be)m 9(increased)m 9(by)m 9(an)m 0 1150 p (order)s 10(of)m 11(magnitude.)m 0 1216 p (An)s 9(SPF-based)m 8(algorithm)m 9(has)m 9(also)m 8(been)m 9(proposed)m 9(for)m 8(use)m 9(as)m 8(an)m 9(ISO)m 9(IS-IS)m 8(routing)m 9(protocol.)m 13(This)m 9(protocol)m 9(is)m 8(described)m 9(in)m 0 1265 p ([DEC].)s 10(The)m 9(protocol)m 10(includes)m 10(methods)m 10(for)m 9(data)m 10(and)m 10(routing)m 9(traf)m (\014c)s 9(reduction)m 10(when)m 10(operating)m 9(over)m 10(broadcast)m 10(networks.)m 0 1315 p (This)s 9(is)m 9(accomplished)m 9(by)m 9(election)m 9(of)m 9 r 97 c 9(Designated)m 9(Router)m 9(for)m 9(each)m 9(broadcast)m 9(network,)m 9(which)m 9(then)m 9(originates)m 9 r 97 c 9(link)m 9(state)m 0 1365 p (advertisement)s 10(for)m 11(the)m 10(network.)m 0 1430 p (The)s 8(OSPF)m 8(subcommittee)m 8(of)m 9(the)m 8(IETF)m 8(has)m 8(extended)m 8(this)m 8(work)m 8(in)m 9(developing)m 8(the)m 8(OSPF)m 8(protocol.)m 13(The)m 8(Designated)m 8(Router)m 0 1480 p (concept)s 11(has)m 11(been)m 11(greatly)m 11(enhanced)m 11(to)m 11(further)m 10(reduce)m 11(the)m 11(amount)m 11(of)m 11(routing)m 11(traf)m (\014c)s 10(required.)m 16(Multicast)m 11(capabilities)m 11(are)m 0 1530 p (utilized)s 9(for)m 10(additional)m 9(routing)m 9(bandwidth)m 9(reduction.)m 14(An)m 9(area)m 10(routing)m 9(scheme)m 9(has)m 9(been)m 10(developed)m 9(enabling)m 9(information)m 0 1580 p (hiding/protection/reduction.)s 20(Finally)m -2 r 44 c 12(the)m 12(algorithm)m 13(has)m 12(been)m 13(modi\014ed)m 12(for)m 12(ef)m (\014cient)s 12(operation)m 12(in)m 13(the)m 12(internet)m 12(environ-)m 0 1630 p (ment.)s t-bol.360 @sf 0 1763 p (1.4)s 50(Organization)m 12(of)m 13(this)m 12(document)m t-rom.300 @sf 0 1856 p (The)s 11(\014rst)m 11(three)m 10(sections)m 11(of)m 11(this)m 11(speci\014cation)m 11(give)m 10 r 97 c 11(general)m 11(overview)m 11(of)m 10(the)m 11(protocol')m -1 r 115 c 10(capabilities)m 11(and)m 10(functions.)m 15(Sec-)m 0 1906 p (tions)s 13(4-16)m 12(explain)m 13(the)m 12(protocol')m -1 r 115 c 12(mechanisms)m 12(in)m 13(detail.)m 20(Packet)m 13(formats,)m 13(protocol)m 12(constants,)m 14(con\014guration)m 12(items)m 13(and)m 0 1956 p (required)s 10(management)m 11(statistics)m 10(are)m 11(speci\014ed)m 10(in)m 10(the)m 11(appendices.)m 0 2021 p (Labels)s 9(such)m 9(as)m 9(HelloInterval)m 9(encountered)m 9(in)m 9(the)m 9(text)m 9(refer)m 9(to)m 9(protocol)m 9(constants.)m 13(They)m 9(may)m 9(or)m 9(may)m 9(not)m 9(be)m 9(con\014gurable.)m 0 2071 p (The)s 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 11(are)m 10(explained)m 10(in)m 11(Appendix)m 10(C.)m 0 2136 p (The)s 12(detailed)m 13(speci\014cation)m 12(of)m 12(the)m 12(protocol)m 13(is)m 12(presented)m 12(in)m 12(terms)m 13(of)m 12(data)m 12(structures.)m 20(This)m 12(is)m 12(done)m 12(in)m 13(order)m 12(to)m 12(make)m 12(the)m 0 2186 p (explanation)s 14(more)m 13(precise.)m 24(Implementations)m 14(of)m 14(the)m 13(protocol)m 14(are)m 14(required)m 13(to)m 14(support)m 14(the)m 13(functionality)m 14(described,)m 15(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(paper)m -2 r 46 c 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 12(database)m 11(of)m 12(the)m 12(Autonomous)m 11(System')m -1 r 115 c 11(topology)m 11(describes)m 12 r 97 c 11(directed)m 12(graph.)m 18(The)m 11(vertices)m 12(of)m 12(the)m 11(graph)m 12(consist)m 11(of)m 0 2549 p (routers)s 8(and)m 8(networks.)m 14 r 65 c 8(graph)m 8(edge)m 8(connects)m 9(two)m 8(routers)m 8(when)m 8(they)m 8(are)m 9(attached)m 8(via)m 8 r 97 c 8(physical)m 9(point-to-point)m 8(network.)m 0 2599 p (An)s 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 11(router)m 10(has)m 10(an)m 11(interface)m 10(on)m 11(the)m 10(network.)m h-med.300 @sf 0 2723 p (Moy)s 1739(Page)m 12 r 51 c @eop 2 @bop0 2 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)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 287 p (Here)s 11(is)m 11 r 97 c 11(collection)m 11(of)m 11(de\014nitions)m 11(for)m 11(terms)m 11(that)m 12(have)m 11 r 97 c 11(speci\014c)m 11(meaning)m 11(to)m 11(the)m 11(protocol)m 11(and)m 11(that)m 11(are)m 11(used)m 11(throughout)m 0 337 p (the)s 10(text.)m 14(The)m 11(reader)m 10(unfamiliar)m 11(with)m 10(the)m 10(Internet)m 11(Protocol)m 10(Suite)m 11(is)m 10(referred)m 10(to)m 11([RS-85-153])m 10(for)m 11(an)m 10(introduction)m 11(to)m 10(IP)m -4 r 46 c t-bol.300 @sf 0 434 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 513 p (Autonomous)s 10(System)m t-rom.300 @sf 21 r 65 c 12(group)m 11(of)m 11(routers)m 12(exchanging)m 11(routing)m 12(information)m 11(via)m 11 r 97 c 12(common)m 11(routing)m 12(protocol.)m 17(Abbrevi-)m 104 563 p (ated)s 10(as)m 11(AS.)m t-bol.300 @sf 0 643 p (Internal)s 10(Gateway)m 11(Pr)m (otocol)s t-rom.300 @sf 20(The)m 13(routing)m 12(protocol)m 13(spoken)m 13(by)m 12(the)m 13(routers)m 13(belonging)m 12(to)m 13(an)m 13(Autonomous)m 13(system.)m 20(Ab-)m 104 692 p (breviated)s 11(as)m 11(IGP)m -3 r 46 c 10(Each)m 11(Autonomous)m 11(System)m 12(has)m 11 r 97 c 11(single)m 11(IGP)m -3 r 46 c 10(Dif)m (ferent)s 11(Autonomous)m 11(Systems)m 11(may)m 11(be)m 12(running)m 104 742 p (dif)s (ferent)s 9(IGPs.)m t-bol.300 @sf 0 822 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 872 p (router)s 10(within)m 11(an)m 10(Autonomous)m 10(System.)m t-bol.300 @sf 0 951 p (Network)s t-rom.300 @sf 21(In)m 12(this)m 13(paper)m -1 r 44 c 12(an)m 13(IP)m 12(network)m 13(or)m 12(subnet.)m 20(It)m 13(is)m 12(possible)m 13(for)m 12(one)m 13(physical)m 12(network)m 13(to)m 12(be)m 13(assigned)m 13(multiple)m 12(IP)m 104 1001 p (network/subnet)s 12(numbers.)m 18 r 87 c -2 r 101 c 10(consider)m 12(these)m 12(to)m 12(be)m 12(separate)m 12(networks.)m 18(Point-to-point)m 12(physical)m 12(networks)m 12(are)m 11(an)m 104 1051 p (exception)s 10 r 45 c 10(they)m 9(are)m 10(considered)m 10 r 97 c 10(single)m 10(network)m 10(no)m 10(matter)m 9(how)m 10(many)m 10(\(if)m 10(any)m 10(at)m 10(all\))m 10(IP)m 10(network/subnet)m 9(numbers)m 104 1100 p (are)s 10(assigned)m 11(to)m 10(them.)m t-bol.300 @sf 0 1180 p (Network)s 10(mask)m t-rom.300 @sf 21 r 65 c 13(32-bit)m 13(number)m 12(indicating)m 13(the)m 13(range)m 12(of)m 13(IP)m 13(addresses)m 12(residing)m 13(on)m 13 r 97 c 12(single)m 13(IP)m 13(network/subnet.)m 20(This)m 104 1230 p (speci\014cation)s 15(displays)m 15(network)m 15(masks)m 15(as)m 15(hexadecimal)m 16(numbers.)m 28(For)m 15(example,)m 16(the)m 15(network)m 15(mask)m 16(for)m 15 r 97 c 15(class)m 104 1280 p 67 c 15(IP)m 14(network)m 15(is)m 15(displayed)m 15(as)m c-med.300 @sf 15(0xffffff00)m t-rom.300 @sf 46 c 27(Such)m 15 r 97 c 14(mask)m 15(is)m 15(often)m 15(displayed)m 15(elsewhere)m 15(in)m 14(the)m 15(literature)m 15(as)m 104 1329 p (255.255.255.0.)s t-bol.300 @sf 0 1409 p (Multi-access)s 10(networks)m t-rom.300 @sf 21(Those)m 14(physical)m 15(networks)m 14(that)m 14(support)m 14(the)m 14(attachment)m 14(of)m 15(multiple)m 14(\(more)m 14(than)m 14(two\))m 14(routers.)m 104 1459 p (Each)s 10(pair)m 10(of)m 10(routers)m 10(on)m 10(such)m 11 r 97 c 10(network)m 10(is)m 10(assumed)m 10(to)m 10(be)m 10(able)m 10(to)m 11(communicate)m 10(directly)m 10(\(multi-drop)m 10(networks)m 10(are)m 104 1509 p (excluded\).)s t-bol.300 @sf 0 1588 p (Interface)s t-rom.300 @sf 21(The)m 15(connection)m 15(between)m 15 r 97 c 16(router)m 15(and)m 15(one)m 15(of)m 15(its)m 16(attached)m 15(networks.)m 28(An)m 15(interface)m 15(has)m 16(state)m 15(information)m 104 1638 p (associated)s 7(with)m 8(it,)m 8(which)m 8(is)m 8(obtained)m 7(from)m 8(the)m 7(underlying)m 8(lower)m 8(level)m 7(protocols)m 8(and)m 8(the)m 7(routing)m 8(protocol)m 8(itself.)m 13(An)m 104 1688 p (interface)s 9(to)m 10 r 97 c 9(network)m 10(has)m 9(associated)m 10(with)m 9(it)m 10 r 97 c 9(single)m 9(IP)m 10(address)m 9(and)m 10(mask)m 9(\(unless)m 10(the)m 9(network)m 10(is)m 9(an)m 10(unnumbered)m 104 1738 p (point-to-point)s 10(network\).)m 14(An)m 10(interface)m 11(is)m 10(sometimes)m 11(also)m 10(referred)m 11(to)m 10(as)m 10 r 97 c 11(link.)m t-bol.300 @sf 0 1817 p (Neighboring)s 10 r 114 c (outers)s t-rom.300 @sf 20 r 84 c -1(wo)m 10(routers)m 12(that)m 11(have)m 12(interfaces)m 11(to)m 12 r 97 c 12(common)m 11(network.)m 18(On)m 11(multi-access)m 12(networks,)m 12(neighbors)m 104 1867 p (are)s 10(dynamically)m 11(discovered)m 10(by)m 10(the)m 11(Hello)m 10(Protocol.)m t-bol.300 @sf 0 1947 p (Adjacency)s t-rom.300 @sf 21 r 65 c 10(relationship)m 10(formed)m 10(between)m 10(selected)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(infor-)m 104 1996 p (mation.)s 14(Not)m 10(every)m 10(two)m 11(pairs)m 10(of)m 11(neighboring)m 10(routers)m 11(become)m 10(adjacent.)m t-bol.300 @sf 0 2076 p (Link)s 10(state)m 11(advertisement)m t-rom.300 @sf 21(Refers)m 11(to)m 12(the)m 11(local)m 12(state)m 11(of)m 12 r 97 c 12(router)m 11(or)m 12(network.)m 17(This)m 12(includes)m 11(the)m 12(state)m 11(of)m 12(the)m 11(router)m 2 r 39 c -1 r 115 c 10(in-)m 104 2126 p (terfaces)s 9(and)m 9(adjacencies.)m 14(Each)m 9(link)m 9(state)m 10(advertisement)m 9(is)m 9(\015ooded)m 9(throughout)m 10(the)m 9(routing)m 9(domain.)m 14(The)m 9(collected)m 104 2176 p (link)s 10(state)m 11(advertisements)m 10(of)m 10(all)m 11(routers)m 10(and)m 11(networks)m 10(forms)m 11(the)m 10(protocol')m -1 r 115 c 9(topological)m 10(database.)m t-bol.300 @sf 0 2255 p (Hello)s 10(pr)m (otocol)s t-rom.300 @sf 20(The)m 10(part)m 9(of)m 9(the)m 9(OSPF)m 9(protocol)m 9(used)m 9(to)m 9(establish)m 9(and)m 9(maintain)m 9(neighbor)m 9(relationships.)m 14(On)m 9(multi-access)m 104 2305 p (networks)s 10(the)m 11(Hello)m 10(protocol)m 10(can)m 11(also)m 10(dynamically)m 11(discover)m 10(neighboring)m 11(routers.)m t-bol.300 @sf 0 2384 p (Designated)s 10(Router)m t-rom.300 @sf 21(Each)m 12(multi-access)m 13(network)m 12(that)m 12(has)m 13(at)m 12(least)m 12(two)m 13(attached)m 12(routers)m 12(has)m 13 r 97 c 12(Designated)m 12(Router)m -1 r 46 c 18(The)m 104 2434 p (Designated)s 12(Router)m 13(generates)m 12 r 97 c 13(link)m 12(state)m 13(advertisement)m 12(for)m 12(the)m 13(multi-access)m 12(network)m 13(and)m 12(has)m 13(other)m 12(special)m 13(re-)m 104 2484 p (sponsibilities)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 13(Designated)m 14(Router)m 14(concept)m 14(enables)m 13 r 97 c 14(reduction)m 14(in)m 13(the)m 14(number)m 14(of)m 13(adjacencies)m 14(required)m 14(on)m 14 r 97 c 13(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 h-med.300 @sf 0 2723 p (Moy)s 1739(Page)m 12 r 50 c @eop 1 @bop0 1 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.420 @sf 0 195 p 49 c 58(Intr)m (oduction)s t-rom.300 @sf 0 306 p (This)s 11(document)m 10(is)m 11 r 97 c 11(speci\014cation)m 10(of)m 11(the)m 11(Open)m 10(Shortest)m 11(Path)m 10(First)m 11(\(OSPF\))m 11(internet)m 10(routing)m 11(protocol.)m 15(OSPF)m 10(is)m 11(classi\014ed)m 0 356 p (as)s 9(an)m 9(Internal)m 8(Gateway)m 9(Protocol)m 9(\(IGP\).)m 9(This)m 9(means)m 9(that)m 8(it)m 9(distributes)m 9(routing)m 9(information)m 9(between)m 9(routers)m 8(belonging)m 9(to)m 0 405 p 97 c 11(single)m 11(Autonomous)m 11(System.)m 15(The)m 11(OSPF)m 11(protocol)m 11(is)m 11(based)m 11(on)m 10(SPF)m 11(or)m 11(link-state)m 11(technology)m -2 r 46 c 15(This)m 11(is)m 11 r 97 c 10(departure)m 11(from)m 0 455 p (the)s 10(Bellman-Ford)m 11(base)m 10(used)m 11(by)m 10(traditional)m 10(internet)m 11(routing)m 10(protocols.)m 0 523 p (The)s 12(OSPF)m 12(protocol)m 12(was)m 12(developed)m 11(by)m 12(the)m 12(OSPF)m 12(working)m 12(group)m 12(of)m 12(the)m 12(Internet)m 12(Engineering)m 12 r 84 c -2(ask)m 11(Force.)m 18(It)m 12(has)m 12(been)m 0 573 p (designed)s 11(expressly)m 11(for)m 11(the)m 10(internet)m 11(environment,)m 11(including)m 11(explicit)m 11(support)m 11(for)m 11(IP)m 11(subnetting,)m 11 r 84 c (OS-based)s 10(routing)m 11(and)m 0 622 p (the)s 12(tagging)m 11(of)m 12(externally-derived)m 11(routing)m 12(information.)m 17(OSPF)m 12(also)m 11(provides)m 12(for)m 12(the)m 11(authentication)m 12(of)m 11(routing)m 12(updates,)m 0 672 p (and)s 14(utilizes)m 13(IP)m 14(multicast)m 14(when)m 14(sending/receiving)m 13(the)m 14(updates.)m 24(In)m 14(addition,)m 14(much)m 14(work)m 14(has)m 13(been)m 14(done)m 14(to)m 14(produce)m 13 r 97 c 0 722 p (protocol)s 10(that)m 11(reponds)m 10(quickly)m 11(to)m 10(topology)m 10(changes,)m 11(yet)m 10(involves)m 11(small)m 10(amounts)m 11(of)m 10(routing)m 10(protocol)m 11(traf)m (\014c.)s 0 790 p (The)s 11(author)m 10(would)m 11(like)m 11(to)m 11(thank)m 10(Rob)m 11(Coltun,)m 11(Milo)m 11(Medin,)m 10(Mike)m 11(Petry)m 11(and)m 11(the)m 10(rest)m 11(of)m 11(the)m 11(OSPF)m 10(working)m 11(group)m 11(for)m 11(the)m 0 840 p (ideas)s 10(and)m 11(support)m 10(they)m 11(have)m 10(given)m 10(to)m 11(this)m 10(project.)m t-bol.360 @sf 0 976 p (1.1)s 50(Pr)m (otocol)s 12(overview)m t-rom.300 @sf 0 1072 p (OSPF)s 8(routes)m 8(IP)m 8(packets)m 8(based)m 8(solely)m 8(on)m 9(the)m 8(destination)m 8(IP)m 8(address)m 8(and)m 8(IP)m 8 r 84 c -2(ype)m 7(of)m 8(Service)m 8(found)m 8(in)m 8(the)m 9(IP)m 8(packet)m 8(header)m -2 r 46 c 0 1122 p (IP)s 9(packets)m 8(are)m 9(routed)m 8(\\as)m 9(is")m 8 r 123 c 9(they)m 8(are)m 9(not)m 8(encapsulated)m 9(in)m 8(any)m 9(further)m 8(protocol)m 9(headers)m 8(as)m 9(they)m 8(transit)m 9(the)m 8(Autonomous)m 0 1172 p (System.)s 13(OSPF)m 9(is)m 8 r 97 c 9(dynamic)m 8(routing)m 9(protocol.)m 13(It)m 9(quickly)m 8(detects)m 9(topological)m 8(changes)m 9(in)m 8(the)m 9(AS)m 9(\(such)m 8(as)m 9(router)m 8(interface)m 0 1221 p (failures\))s 12(and)m 12(calculates)m 12(new)m 12(loop-free)m 12(routes)m 12(after)m 12 r 97 c 12(period)m 12(of)m 12(conver)m (gence.)s 18(This)m 12(period)m 12(of)m 12(conver)m (gence)s 11(is)m 12(short)m 12(and)m 0 1271 p (involves)s 10 r 97 c 11(minimum)m 10(of)m 11(routing)m 10(traf)m (\014c.)s 0 1339 p (In)s 13(an)m 13(SPF-based)m 13(routing)m 13(protocol,)m 13(each)m 13(router)m 13(maintains)m 13 r 97 c 13(database)m 13(describing)m 13(the)m 13(Autonomous)m 13(System')m -1 r 115 c 12(topology)m -2 r 46 c 0 1389 p (Each)s 10(participating)m 10(router)m 9(has)m 10(an)m 10(identical)m 10(database.)m 13(Each)m 10(individual)m 10(piece)m 10(of)m 9(this)m 10(database)m 10(is)m 10 r 97 c 9(particular)m 10(router)m 2 r 39 c -2 r 115 c 9(local)m 0 1438 p (state)s 10(\(e.g.,)m 10(the)m 10(router)m 2 r 39 c -2 r 115 c 9(usable)m 10(interfaces)m 10(and)m 10(reachable)m 10(neighbors\).)m 14(The)m 10(router)m 10(distributes)m 10(its)m 10(local)m 10(state)m 10(throughout)m 10(the)m 0 1488 p (Autonomous)s 10(System)m 11(by)m 10(\015ooding.)m 0 1556 p (All)s 12(routers)m 11(run)m 12(the)m 12(exact)m 12(same)m 11(algorithm,)m 12(in)m 12(parallel.)m 18(From)m 12(the)m 11(topological)m 12(database,)m 12(each)m 12(router)m 12(constructs)m 11 r 97 c 12(tree)m 12(of)m 0 1606 p (shortest)s 9(paths)m 9(with)m 8(itself)m 9(as)m 9(root.)m 13(This)m 9(shortest-path)m 9(tree)m 9(gives)m 9(the)m 8(route)m 9(to)m 9(each)m 9(destination)m 9(in)m 8(the)m 9(Autonomous)m 9(System.)m 0 1656 p (Externally)s 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 1723 p (OSPF)s 9(calculates)m 9(separate)m 9(routes)m 8(for)m 9(each)m 9 r 84 c -2(ype)m 8(of)m 9(Service)m 9(\(T)m (OS\).)s 8(When)m 9(several)m 9(equal-cost)m 9(routes)m 9(to)m 8 r 97 c 9(destination)m 9(exist,)m 0 1773 p (traf)s (\014c)s 10(is)m 10(distributed)m 10(equally)m 11(among)m 10(them.)m 14(The)m 11(cost)m 10(of)m 10 r 97 c 11(route)m 10(is)m 11(described)m 10(by)m 11 r 97 c 10(single)m 10(dimensionless)m 11(metric.)m 0 1841 p (OSPF)s 12(allows)m 11(sets)m 12(of)m 11(networks)m 12(to)m 12(be)m 11(grouped)m 12(together)m -1 r 46 c 16(Such)m 12 r 97 c 11(grouping)m 12(is)m 12(called)m 11(an)m 12(area.)m 17(The)m 12(topology)m 12(of)m 11(an)m 12(area)m 12(is)m 0 1891 p (hidden)s 12(from)m 13(the)m 12(rest)m 13(of)m 12(the)m 12(Autonomous)m 13(System.)m 20(This)m 12(information)m 12(hiding)m 13(enables)m 12 r 97 c 13(signi\014cant)m 12(reduction)m 12(in)m 13(routing)m 0 1940 p (traf)s (\014c.)s 15(Also,)m 11(routing)m 11(within)m 11(the)m 11(area)m 11(is)m 11(determined)m 11(only)m 11(by)m 11(the)m 11(area')m -1 r 115 c 10(own)m 10(topology)m -1 r 44 c 10(lending)m 11(the)m 11(area)m 11(protection)m 11(from)m 0 1990 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 r 97 c 11(IP)m 10(subnetted)m 10(network.)m 0 2058 p (OSPF)s 7(enables)m 8(the)m 7(\015exible)m 7(con\014guration)m 8(of)m 7(IP)m 7(subnets.)m 13(Each)m 7(route)m 8(distributed)m 7(by)m 7(OSPF)m 8(has)m 7 r 97 c 7(destination)m 8(and)m 7(mask.)m 13 r 84 c -2(wo)m 0 2108 p (dif)s (ferent)s 11(subnets)m 12(of)m 12(the)m 12(same)m 12(IP)m 12(network)m 12(number)m 12(may)m 12(have)m 11(dif)m (ferent)s 12(sizes)m 12(\(i.e.,)m 12(dif)m (ferent)s 11(masks\).)m 18(This)m 12(is)m 12(commonly)m 0 2158 p (referred)s 10(to)m 10(as)m 10(variable)m 10(length)m 10(subnets.)m 14 r 65 c 10(packet)m 10(is)m 10(routed)m 10(to)m 10(the)m 10(best)m 10(\(i.e.,)m 10(longest)m 10(or)m 11(most)m 10(speci\014c\))m 10(match.)m 13(Host)m 10(routes)m 0 2207 p (are)s 10(considered)m 11(to)m 10(be)m 11(subnets)m 10(whose)m 10(masks)m 11(are)m 10(\\all)m 11(ones")m 10 r 40 c c-med.300 @sf (0xffffffff)s t-rom.300 @sf (\).)s 0 2275 p (All)s 7(OSPF)m 8(protocol)m 7(exchanges)m 7(are)m 8(authenticated.)m 12(This)m 8(means)m 7(that)m 7(only)m 8(trusted)m 7(routers)m 7(can)m 8(participate)m 7(in)m 7(the)m 8(Autonomous)m 0 2325 p (System')s -1 r 115 c 10(routing.)m 18 r 65 c 11(variety)m 12(of)m 12(authentication)m 11(schemes)m 12(can)m 11(be)m 12(used;)m 12 r 97 c 12(single)m 11(authentication)m 12(scheme)m 12(is)m 11(con\014gured)m 12(for)m 0 2375 p (each)s 10(area.)m 14(This)m 11(enables)m 10(some)m 11(areas)m 10(to)m 10(use)m 11(much)m 10(stricter)m 11(authentication)m 10(than)m 10(others.)m 0 2442 p (Externally)s 8(derived)m 8(routing)m 8(data)m 7(\(e.g.,)m 9(routes)m 8(learned)m 7(from)m 8(the)m 8(Exterior)m 8(Gateway)m 8(Protocol)m 8(\(EGP\)\))m 8(is)m 7(passed)m 8(transparently)m 0 2492 p (throughout)s 10(the)m 9(Autonomous)m 10(System.)m 13(This)m 10(externally)m 10(derived)m 9(data)m 10(is)m 9(kept)m 10(separate)m 9(from)m 10(the)m 10(OSPF)m 9(protocol')m -1 r 115 c 8(link)m 10(state)m 0 2542 p (data.)s 15(Each)m 11(external)m 11(route)m 10(can)m 11(also)m 11(be)m 11(tagged)m 11(by)m 11(the)m 10(advertising)m 11(router)m 44 c 9(enabling)m 11(the)m 11(passing)m 11(of)m 11(additional)m 10(information)m 0 2592 p (between)s 10(routers)m 11(on)m 10(the)m 11(boundaries)m 10(of)m 10(the)m 11(Autonomous)m 10(System.)m h-med.300 @sf 0 2723 p (Moy)s 1739(Page)m 12 r 49 c @eop 4 @bop0 cmmi10.300 @sf [<60F0F060> 8 4 -4 0 11.531] 58 @dc 4 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p 65 c 32(Packet)m 11(Formats)m 1564(80)m t-rom.300 @sf 62 263 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(80)m 62 330 p (A.2)s 35(The)m 10(OSPF)m 11(packet)m 10(header)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 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(81)m 62 398 p (A.3)s 35(The)m 10(Link)m 11(State)m 10(Advertisement)m 11(header)m cmmi10.300 @sf 34 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(82)m 62 466 p (A.4)s 35(The)m 10(Hello)m 11(packet)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 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 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 46(83)m 62 534 p (A.5)s 35(The)m 10(Database)m 11(Description)m 10(packet)m cmmi10.300 @sf 11 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 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(84)m 62 601 p (A.6)s 35(The)m 10(Link)m 11(State)m 10(Request)m 11(packet)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 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 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(85)m 62 669 p (A.7)s 35(The)m 10(Link)m 11(State)m 10(Update)m 11(packet)m cmmi10.300 @sf 32 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 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(86)m 158 737 p (A.7.1)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 46(87)m 158 804 p (A.7.2)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 46(89)m 158 872 p (A.7.3)s 41(Summary)m 10(links)m 11(advertisements)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 20 r 58 c 21 r 58 c 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(90)m 158 940 p (A.7.4)s 41(AS)m 10(external)m 11(links)m 10(advertisements)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 t-rom.300 @sf 46(91)m 62 1007 p (A.8)s 35(The)m 10(Link)m 11(State)m 10(Acknowledgment)m 11(packet)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 21 r 58 c 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 t-bol.300 @sf 0 1117 p 66 c 35(Ar)m (chitectural)s 9(Constants)m 1418(93)m 0 1226 p 67 c 32(Con\014gurable)m 11(Constants)m 1423(94)m t-rom.300 @sf 62 1294 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 46(94)m 62 1361 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 46(94)m 62 1429 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 46(94)m 62 1497 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 46(95)m 62 1564 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 47(96)m 62 1632 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 46(96)m t-bol.300 @sf 0 1741 p 68 c 32(Requir)m (ed)s 10(Statistics)m 1510(97)m t-rom.300 @sf 62 1809 p (D.1)s 35(Logging)m 10(messages)m cmmi10.300 @sf 28 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 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 1877 p (D.2)s 35(Cumulative)m 10(statistics)m cmmi10.300 @sf 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 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(99)m t-bol.300 @sf 0 1986 p 69 c 35(Authentication)m 1558(102)m t-rom.300 @sf 62 2054 p (E.1)s 40(Autype)m 10 r 48 c 10 r 123 c 11(No)m 10(authentication)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 20 r 58 c 21 r 58 c 21 r 58 c 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 62 2122 p (E.2)s 40(Autype)m 10 r 49 c 10 r 123 c 11(Simple)m 10(password)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 21 r 58 c t-rom.300 @sf 25(102)m h-med.300 @sf 0 2723 p (Moy)s 1732(Page)m 12(iv)m @eop 3 @bop0 3 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p (12)s 21(Link)m 10(State)m 11(Advertisements)m 1371(54)m t-rom.300 @sf 62 261 p (12.1)s 23(The)m 11(Link)m 10(State)m 11(Header)m cmmi10.300 @sf 22 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 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 t-rom.300 @sf 47(54)m 158 327 p (12.1.1)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(54)m 158 392 p (12.1.2)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(55)m 158 458 p (12.1.3)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(55)m 158 524 p (12.1.4)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(55)m 158 590 p (12.1.5)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(57)m 158 656 p (12.1.6)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(57)m 62 721 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(57)m 62 787 p (12.3)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(58)m 158 853 p (12.3.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(59)m 158 919 p (12.3.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(61)m 158 985 p (12.3.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(62)m 158 1050 p (12.3.4)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(63)m 62 1116 p (12.4)s 23 r 84 c (OS)s 10(metrics)m cmmi10.300 @sf 29 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 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(64)m t-bol.300 @sf 0 1224 p (13)s 21(The)m 10(Flooding)m 11(Pr)m (ocedur)s -1 r 101 c 1414(65)m t-rom.300 @sf 62 1289 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(66)m 62 1355 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(66)m 62 1421 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(67)m 62 1487 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(68)m 62 1553 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(68)m 62 1618 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(69)m 62 1684 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(70)m t-bol.300 @sf 0 1792 p (14)s 21(Aging)m 10(The)m 11(Link)m 10(State)m 10(Database)m 1288(70)m 0 1899 p (15)s 21 r 86 c -1(irtual)m 10(Links)m 1605(71)m 0 2006 p (16)s 21(Calculation)m 10(Of)m 11(The)m 10(Routing)m 10 r 84 c -2(able)m 1239(72)m t-rom.300 @sf 62 2072 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(72)m 158 2138 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(75)m 62 2204 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(75)m 62 2270 p (16.3)s 23(Resolving)m 11(virtual)m 10(next)m 11(hops)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 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 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(76)m 62 2335 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(76)m 62 2401 p (16.5)s 23(Incremental)m 11(updates)m 10 r 124 c 11(summary)m 10(links)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 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(77)m 62 2467 p (16.6)s 23(Incremental)m 11(updates)m 10 r 124 c 11(AS)m 10(external)m 10(links)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 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 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(77)m 62 2533 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(77)m 62 2599 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(78)m h-med.300 @sf 0 2723 p (Moy)s 1735(Page)m 11(iii)m @eop 2 @bop0 2 @bop1 h-med.300 @sf 0 50 p (RFC)s 12 r 49 c -3(131)m 698(OSPF)m 699(October)m 11(1989)m t-bol.300 @sf 0 195 p 53 c 42(Pr)m (otocol)s 9(Data)m 11(Structur)m (es)s 1402(21)m 0 304 p 54 c 42(The)m 10(Ar)m (ea)s 10(Data)m 10(Structur)m 101 c 1401(22)m 0 414 p 55 c 42(Bringing)m 10(Up)m 10(Adjacencies)m 1402(24)m t-rom.300 @sf 62 481 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(24)m 62 549 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(25)m 62 617 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(25)m 62 685 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(26)m 62 752 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(26)m t-bol.300 @sf 0 862 p 56 c 42(Pr)m (otocol)s 9(Packet)m 11(Pr)m (ocessing)s 1365(28)m t-rom.300 @sf 62 929 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(28)m 62 997 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(29)m t-bol.300 @sf 0 1106 p 57 c 42(The)m 10(Interface)m 10(Data)m 11(Structur)m 101 c 1326(30)m t-rom.300 @sf 62 1174 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(32)m 62 1242 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(33)m 62 1309 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(34)m 62 1377 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(35)m 62 1445 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(36)m 158 1512 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(37)m t-bol.300 @sf 0 1622 p (10)s 21(The)m 10(Neighbor)m 11(Data)m 10(Structur)m 101 c 1322(37)m t-rom.300 @sf 62 1689 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(38)m 62 1757 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(40)m 62 1825 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(41)m 62 1892 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(44)m 62 1960 p (10.5)s 23(Receiving)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 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(45)m 62 2028 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(46)m 62 2096 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(47)m 62 2163 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(47)m 62 2231 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(48)m 62 2299 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(48)m t-bol.300 @sf 0 2408 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(50)m t-rom.300 @sf 62 2476 p 49 c (1.1)s 23 r 84 c -2(wo)m 10(examples)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 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 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(51)m h-med.300 @sf 0 2723 p (Moy)s 1744(Page)m 11(ii)m @eop 1 @bop0 /Times-Roman /t-rom.510 ReEncodeForTeX /t-rom.510 /t-rom.510 70.833212 TeXPSmakefont def 1 @bop1 h-med.300 @sf 0 31 p (Network)s 12 r 87 c (orking)s 10(Group)m 1384(J.)m 11(Moy)m 0 71 p (Request)s 12(for)m 11(Comments:)m 16 r 49 c -2(131)m 1167(Proteon,)m 12(Inc.)m 1698 111 p (October)s 11(1989)m t-rom.510 @sf 633 391 p (The)s 17(OSPF)m 18(Speci\014cation)m t-bol.420 @sf 0 653 p (Status)s 15(of)m 14(this)m 15(Memo)m t-rom.300 @sf 0 763 p (This)s 12(RFC)m 11(suggests)m 12 r 97 c 12(proposed)m 12(protocol)m 11(for)m 12(the)m 12(Internet)m 11(community)m -1 r 44 c 11(and)m 11(requests)m 12(discussion)m 12(and)m 12(suggestions)m 11(for)m 12(im-)m 0 813 p (provements.)s 14(Distribution)m 10(of)m 11(this)m 10(memo)m 11(is)m 10(unlimited.)m t-bol.420 @sf 0 971 p (Contents)s t-bol.300 @sf 0 1082 p 49 c 42(Intr)m (oduction)s 1639 r 49 c t-rom.300 @sf 62 1149 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 1217 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 1285 p (1.3)s 44(Brief)m 11(history)m 10(of)m 10(SPF-based)m 11(routing)m 10(technology)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 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 21 r 58 c 21 r 58 c 21 r 58 c 20 r 58 c 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 1352 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 1462 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 1529 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 55 c 62 1597 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 55 c 62 1665 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 t-bol.300 @sf 0 1774 p 51 c 42(Splitting)m 10(the)m 10(AS)m 11(into)m 10(Ar)m (eas)s 1372 r 49 c -2 r 49 c t-rom.300 @sf 62 1842 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 47 r 49 c 49 c 62 1909 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 1977 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(12)m 62 2045 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(12)m 62 2113 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 2180 p (3.6)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(17)m t-bol.300 @sf 0 2290 p 52 c 42(Functional)m 10(Summary)m 1467(19)m t-rom.300 @sf 62 2357 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(19)m 62 2425 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(19)m 62 2493 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(20)m 62 2560 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 h-med.300 @sf 0 2723 p (Moy)s 1753(Page)m 12 r 105 c @eop @end