⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irdpd.8

📁 操作系统设计与实现源码
💻 8
字号:
%!PS-Adobe-1.0%%Creator: devps (Pipeline Associates, Inc.)%%CreationDate: Fri Sep 13 14:23:52 1996%%Pages: (atend)%%DocumentFonts: (atend)/devps 180 dict def devps begin/res 10.000000 def/y_offset 843 def/X{exch}bind def/mm {transform round X round X itransform} bind def/r{rmoveto}bind def/m{moveto}bind def/l{lineto}bind def/rl{rlineto}bind def/st{stroke}bind def/gs{gsave}bind def/gr{grestore}bind def/cp{currentpoint}bind def/np{newpath}bind def/ct{curveto}bind defsystemdict /setpacking known { /savepacking currentpacking def true setpacking } if/m0{0 0 moveto}bind def/xc{//res div}bind def/yc{//res neg div //y_offset add}bind def/lc{yc X xc X l st}bind def/mc{yc X xc X m}bind def/el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def/ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def/sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def/V{//res neg div //y_offset addcurrentpoint pop Xm}bind def/H{//res div0 transform X round X itransform popcurrentpoint X popmoveto}bind def/h{//res div 0 r}bind def/v{//res neg div 0 X r}bind def/S{X H show}bind def/A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def/psize 10 def/height 0 def/cheight { height 0 ne { height } { psize } ifelse } bind def/slant 0 def/FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def    [psize 0 cheight slant sin slant cos div mul cheight 0 0]    makefont setfont}bind def/shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fillgr}bind def1 setlinecap/resolution res 72 mul def/startFig {	/SavedState save def	userdict maxlength dict begin	currentpoint transform	DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap		setlinewidth setmatrix	itransform moveto	/ury exch def	/urx exch def	/lly exch def	/llx exch def	/y exch 72 mul resolution div def	/x exch 72 mul resolution div def		currentpoint /cy exch def /cx exch def	/sx x urx llx sub div def	/sy y ury lly sub div def	sx sy scale	cx sx div llx sub	cy sy div 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}bind  def/clipFig {	currentpoint 6 2 roll	newpath 4 copy	4 2 roll moveto	6 -1 roll exch lineto	exch lineto	exch lineto	closepath clip	newpath	moveto}bind  def/doclip { llx lly urx ury clipFig } def/endFig {	end SavedState restore}bind  def/globalstart {	fontnum psize slant height resolution currentpoint 	pagesave restore gsave }bind  def/globalend {	grestore moveto	/resolution exch def /height exch def	/slant exch def /psize exch def /fontnum exch def	F	/pagesave save def}bind  def/fontnum 1 def systemdict /setpacking known { savepacking setpacking} ifend/BP{save mark devps begin m0/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecapcurrentlinejoin currentdash currentgray currentmiterlimit ] cvx def}bind def/EP{end cleartomark restore showpage}def/Encoding-1 256 array def0 1 255 {Encoding-1 exch /.notdef put} forEncoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-BEncoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-bEncoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accentsEncoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessiEncoding-1dup 8#41 /copyright putdup 8#42 /registered putdup 8#43 /trademark putdup 8#44 /logicalnot putdup 8#45 /Eth putdup 8#46 /eth putdup 8#47 /Thorn putdup 8#50 /thorn putdup 8#51 /brokenbar putdup 8#52 /degree putdup 8#53 /divide putdup 8#54 /multiply putdup 8#55 /minus putdup 8#56 /onehalf putdup 8#57 /onequarter putdup 8#60 /threequarters putdup 8#101 /Aacute putdup 8#102 /Acircumflex putdup 8#103 /Adieresis putdup 8#104 /Agrave putdup 8#105 /Aring putdup 8#106 /Atilde putdup 8#107 /Ccedilla putdup 8#110 /Eacute putdup 8#111 /Ecircumflex putdup 8#112 /Edieresis putdup 8#113 /Egrave putdup 8#114 /Iacute putdup 8#115 /Icircumflex putdup 8#116 /Idieresis putdup 8#117 /Igrave putdup 8#120 /Ntilde putdup 8#121 /Oacute putdup 8#122 /Ocircumflex putdup 8#123 /Odieresis putdup 8#124 /Ograve putdup 8#125 /Otilde putdup 8#126 /Scaron putdup 8#127 /Uacute putdup 8#130 /Ucircumflex putdup 8#131 /Udieresis putdup 8#132 /Ugrave putdup 8#133 /Ydieresis putdup 8#134 /Zcaron putdup 8#135 /aacute putdup 8#136 /acircumflex putdup 8#137 /adieresis putdup 8#140 /agrave putdup 8#141 /aring putdup 8#142 /atilde putdup 8#143 /ccedilla putdup 8#144 /eacute putdup 8#145 /ecircumflex putdup 8#146 /edieresis putdup 8#147 /egrave putdup 8#150 /iacute putdup 8#151 /icircumflex putdup 8#152 /idieresis putdup 8#153 /igrave putdup 8#154 /ntilde putdup 8#155 /oacute putdup 8#156 /ocircumflex putdup 8#157 /odieresis putdup 8#160 /ograve putdup 8#161 /otilde putdup 8#162 /scaron putdup 8#163 /uacute putdup 8#164 /ucircumflex putdup 8#165 /udieresis putdup 8#166 /ugrave putdup 8#167 /ydieresis putdup 8#170 /zcaron putpop/Enc-dict 30 dict defEnc-dict /tmpstr1 50 string putEnc-dict /tmpstr2 50 string putEnc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put/AEnc-def { % arguments: the original font's name, encoding nrEnc-dict begintmpstr2 cvs /Enc-no exch def % Remember the number in a stringdup /OrigName exch def % remember the namefindfont dup maxlength dict /newdict exch def % get dictionary for new font{ exch dup /FID ne   { exch newdict 3 1 roll put }   { pop pop } % Ignore FID   ifelse} forallnewdict begin/Encoding  tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval  cvn load  def % Replace encodingcurrentdict /UniqueID known{ /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueIDend % newdict/FNlength OrigName tmpstr1 cvs length def % convert name, remember lengthFNlength 1 add Enc-no length add stringdup 0 OrigName tmpstr1 cvs putintervaldup FNlength (-) putintervaldup FNlength 1 add Enc-no putintervaldup 0 tmpstr1 0 FNlength getinterval putinterval % Add old namecvn dup newdict /FontName 3 2 roll put newdict definefontend % Enc-dict} def/Times-Roman 1 AEnc-def pop/R-1{/Times-Roman-1 FF}def/Times-Bold 1 AEnc-def pop/B-1{/Times-Bold-1 FF}def/R{/Times-Roman FF}def/B{/Times-Bold FF}def/I{/Times-Italic FF}def%%EndProlog%%Page: 1 1BP/slant 0 def/height 0 def480 V10 R720(IRDPD)S1031(\()S1073(8)S1131(\))S2696(Eighth)S(Edition)296 2989 A4816(IRDPD)S5127(\()S5169(8)S5227(\))S960 V9 R720(N)S722(NA)S790(AM)S858(ME)S940(E)S1080 V10 R(irdpd)212 1080 A10 R-11317(-)S10 R1399(internet)S1732(router)S1998(discovery)S2414(protocol)S2774(daemon)S1248 V9 R720(S)S722(SY)S774(YN)S842(NO)S910(OP)S978(PS)S1030(SI)S1082(IS)S1115(S)S1368 V10 B(irdpd)241 1080 A10 R1359([)S10 B-11393(-)S10 B1450(bsd)S10 R1601(])S1673([)S10 B-11707(-)S10 B1764(U)S10 I(udp-device)442 1875 A10 R2325(])S2397([)S10 B-12431(-)S10 B2488(I)S10 I2565(ip-device)S10 R2943(])S3015([)S10 B-13049(-)S10 B3106(o)S10 I3194(priority-offset)S10 R3761(])S1536 V9 R720(D)S722(DE)S790(ES)S848(SC)S900(CR)S962(RI)S1024(IP)S1057(PT)S1109(TI)S1167(IO)S1200(ON)S1268(N)S1656 V10 B(Irdpd)252 1080 A10 R(looks)217 1363 A1611(for)S1760(routers.)S2121(This)S(should)267 2331 A2629(be)S2755(a)S2831(simple)S3130(task,)S3348(but)S3507(many)S3761(routers)S4072(are)S4228(hard)S4439(to)S4549(\256nd)S(because)319 4737 A5088(they)S1776 V1080(do)S1208(not)S1364(implement)S1822(the)S1973(router)S2242(discovery)S2661(protocol.)S3074(This)S3281(daemon)S3627(collects)S3963(information)S4465(that)S4643(routers)S4950(do)S5077(send)S1896 V1080(out)S1233(and)S1403(makes)S1685(it)S1766(available.)S2064 V1080(At)S1210(startup)S10 B(irdpd)241 1513 A10 R1783(sends)S2035(out)S2192(several)S2507(router)S2777(solicitation)S3254(broadcasts.)S3759(A)S(good)200 3862 A4092(router)S(should)267 4363 A(respond)318 4660 A5008(to)S5116(this)S2184 V1080(with)S1284(a)S1354(router)S1620(advertisement.)S2352 V1080(If)S1181(a)S1259(router)S1534(advertisement)S2133(arrives)S2442(then)S2649(no)S2783(more)S3024(solicitations)S3544(are)S3702(sent.)S3948(The)S4139(TCP/IP)S4476(server)S4757(has)S4925(\256lled)S5166(its)S2472 V1080(routing)S1403(table)S1632(with)S1844(the)S2000(info)S2195(from)S2424(the)S2580(advertisement,)S3203(so)S3325(it)S3414(now)S3620(has)S3786(at)S3891(least)S4108(one)S4285(router.)S4608(If)S4708(the)S4863(advertise-)S2592 V1080(ment)S1306(is)S1398(sent)S1585(by)S1710(a)S1780(genuine)S2123(router)S2390(\(the)S2573(sender)S2862(is)S2955(in)S3059(the)S3208(table\))S3464(then)S3663(the)S10 B(irdpd)241 3812 A10 R4079(daemon)S4423(goes)S4633(dormant)S4994(for)S5138(the)S2712 V1080(time)S1284(the)S1432(advert)S1709(is)S1801(valid.)S2077(Routers)S2415(send)S2624(new)S2817(adverts)S3133(periodically,)S3664(keeping)S4007(the)S4155(daemon)S4498(silent.)S2880 V1080(Otherwise)S10 B(irdpd)241 1535 A10 R(will)157 1816 A2013(listen)S2272(for)S2431(RIP)S2629(\(Router)S2978(Information)S3500(Protocol\))S3916(packets.)S4309(These)S4591(packets)S4934(are)S5099(sent)S3000 V1080(between)S1441(routers)S1746(to)S1849(exchange)S2254(routing)S2569(information.)S10 B(Irdpd)252 3119 A10 R3396(uses)S3594(this)S3764(information)S4264(to)S4367(build)S4598(a)S4668(routing)S4983(table.)S3168 V1080(Every)S1353(now)S1558(and)S1735(then)S1940(a)S2017(router)S2290(advertisement)S2887(is)S2986(sent)S3180(to)S3290(the)S3445(local)S3673(host)S3872(to)S3982(give)S4187(it)S4275(router)S4548(information)S5055(build)S3288 V1080(from)S1301(the)S1449(RIP)S1631(packets.)S3456 V1080(Lastly,)S1398(if)S1501(a)S1587(router)S1869(solicitation)S2357(arrives)S2673(and)S2860(there)S3104(is)S3213(no)S3355(router)S(around)279 3638 A3959(that)S4152(sends)S4417(advertisements,)S5088(then)S3576 V10 B(irdpd)241 1080 A10 R1354(sends)S1610(an)S1738(advertisement)S2336(to)S2447(the)S2603(requestor.)S3061(Note)S3290(that)S3474(this)S3652(is)S3752(a)S3830(direct)S4093(violation)S4482(of)S(RFC1256,)415 4598 A5045(as)S5161(no)S3696 V1080(host)S1273(is)S(supposed)373 1366 A1765(to)S1869(sent)S2057(those)S2295(adverts.)S2662(But)S2833(alas)S3016(the)S3165(world)S3426(is)S3519(not)S3674(always)S3981(perfect,)S4314(and)S4486(those)S4725(adverts)S5043(make)S3816 V(booting)306 1080 A1426(hosts)S1672(\256nd)S1868(routers)S2188(quickly)S2529(with)S2748(this)S2932(help)S3144(from)S3379(their)S3603(brothers.)S4022(\(Of)S4202(course,)S4529(they)S(will)157 4741 A4937(lose)S5138(the)S3936 V1080(router)S(soon)189 1346 A1560(if)S1647(they)S(don't)212 1845 A2082(have)S2297(an)S10 B(irdpd)241 2417 A10 R2683(daemon)S3026(themselves.\))S4104 V9 R720(O)S722(OP)S790(PT)S842(TI)S900(IO)S933(ON)S1001(NS)S1069(S)S4224 V10 B-11080(-)S10 B1137(b)S10 R1440(Broadcast)S1871(advertisements)S2503(instead)S2816(of)S2928(sending)S3269(them)S3499(to)S3606(the)S3758(local)S3983(host)S4179(only.)S4436(This)S4644(may)S4846(be)S4970(used)S5183(to)S4344 V1440(keep)S(\(non-Minix\))497 1655 A2177(hosts)S2408(alive)S2629(on)S2754(a)S2824(net)S(without)307 2972 A3304(adverts.)S4512 V10 B-11080(-)S10 B1137(s)S10 R1440(Be)S1577(silent,)S1845(do)S1970(not)S2123(send)S2332(advertisements)S2961(to)S3064(hosts)S3295(that)S3471(ask)S3630(for)S3773(them.)S4680 V10 B-11080(-)S10 B1137(d)S10 R(Debug)268 1440 A1747(mode,)S2034(tell)S2202(where)S2488(info)S2689(is)S2795(coming)S3135(from)S3371(and)S3556(where)S3843(it)S3939(is)S4046(sent.)S(Debugging)446 4298 A4784(can)S4964(also)S5166(be)S4800 V1440(turned)S1722(on)S1847(at)S1945(runtime)S2283(by)S2408(sending)S2745(signal)S10 B3010(SIGUSR1)S10 R3460(or)S3569(turned)S3851(off)S3994(with)S10 B4198(SIGUSR2)S10 R4623(.)S4968 V10 B-11080(-)S10 B1137(o)S10 I1212(priority-offset)S5088 V10 R1440(Offset)S1729(used)S1949(to)S2064(make)S2319(the)S2479(gateway's)S2925(preferences)S3428(collected)S3829(from)S4062(RIP)S4256(packets)S(look)178 4595 A4810(worse)S5088(than)S5208 V1440(those)S(found)234 1677 A1936(in)S2039(genuine)S2382(router)S2648(adverts.)S3014(By)S3156(default)S10 B(-1024)234 3461 A10 R3695(.)S5376 V9 R720(S)S722(SE)S774(EE)S832(E)S913(A)S915(AL)S983(LS)S1041(SO)S1093(O)S5496 V10 B1080(set_net_default)S10 R1736(\(8\),)S10 B1904(boot)S10 R2094(\(8\),)S10 B2262(inetd)S10 R2481(\(8\),)S10 B2649(nonamed)S10 R3046(\(8\),)S10 B3214(rarpd)S10 R3466(\(8\).)S5664 V9 R720(B)S722(BU)S784(UG)S852(GS)S920(S)S5784 V10 R1080(Under)S1361(standard)S1731(Minix)S2005(this)S2179(daemon)S2526(can't)S2757(listen)S3004(to)S3111(two)S3291(both)S3498(IRDP)S3757(and)S3931(RIP)S4117(at)S4219(the)S4372(same)S4609(time,)S4843(so)S4962(it)S5048(starts)S5904 V1080(out)S1242(with)S1455(IRDP.)S1769(It)S1865(switches)S2245(over)S2457(to)S2568(RIP)S2758(if)S2853(it)S2942(can't)S3177(\256nd)S3366(a)S3444(router,)S3743(or)S3860(if)S3955(it)S4044(threatens)S4441(to)S4552(lose)S4747(its)S4875(router.)S5199(It)S6024 V1080(does)S1289(not)S1442(switch)S1730(back.)S6192 V10 B(Irdpd)252 1080 A10 R1360(may)S1561(help)S1762(a)S1835(host)S2030(that)S(should)267 2209 A2504(not)S2660(be)S2783(helped,)S3104(i.e.)S3255(if)S3345(it)S3429(doesn't)S3753(have)S3971(an)S10 B(irdpd)241 4094 A10 R4363(daemon)S4710(with)S4918(RIP)S5104(col-)S6312 V1080(lecting)S1392(trickery.)S1794(It)S(will)157 1894 A2089(make)S2345(System)S2679(Administrators)S3321(pull)S3515(out)S3681(their)S3904(remaining)S4350(hair)S4545(trying)S4823(to)S4939(\256nd)S5133(out)S6432 V1080(why)S1278(a)S1348(host)S1540(can)S(access)258 1705 A1988(outside)S2303(networks)S2697(for)S2840(a)S2910(some)S3147(time)S3351(after)S(boot,)203 3562 A3790(but)S3943(goes)S4152(blind)S4383(afterwards.)S6600 V9 R720(A)S722(AU)S790(UT)S858(TH)S916(HO)S984(OR)S1052(R)S6720 V10 R1080(Kees)S1307(J.)S1396(Bot)S1566(\(kjb@cs.vu.nl\))S7903 V720(Page)S941(1)S4455(September)S4911(13,)S(1996)200 5061 A8143 VEP%%Trailer%%DocumentFonts: Times-Roman Times-Bold Times-Italic%%Pages: 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -