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

📄 pospaper.ps

📁 xorp源码hg
💻 PS
📖 第 1 页 / 共 5 页
字号:
13F0A34819F84A81A4B518FCB06C19F8A26E5DA36C19F06E92B5FCA36C6D4A14E06E5C6C6E4914C06F5B6C02F0013F148003FC90B6FC6C91B812006C606C606D5F6D5F6D5F010717806D94C7FC010016FC021F15E0020392C8FCDA001F13E046477CC44F>I<EE0FFC93B512C0271FFF800714F048D9C01F14FC48D9E07F14FFB500F1B77E02F38202F78291B87E85A285DBF00780ED80014AC76C7F02F8804A80711480A2831AC0A283A31AE083B14D14C0A54D1480A35F1A005F6E4A5B6E5C6E91B55A6E1303DBE01F5C92B75A61A26102F793C7FC02F35D02F15DDAF07F14F06F14C0030F49C8FC030113C092CBFCB3A56C5B6C5B6C5B436078C351>I<EE0F80D81FFFEC7FC04890388001FF48EBC007B56C5A5D5D5D92B5FC14E114E3A214E7A202EF1480EEE00091B5C7FC15FC15F05D5D5D92C8FC5C5CA25CA45CB3B16C5B6C5B6C5B2A4478C335>114 D<91381FFFE049B512FE010FECFFC0013F15F84915FE48B812804817C05AA25A481780ECF00002C0130F4849130391C8FC173F48EE1F0083170694C7FCA2808014F014FC6CEBFFF0EDFF8016F06C15FE707E6C8217F06C826C826C826C826D16806D16C0130F010316E01300021F15F014001507DB007F13F8161F8282001881123C123E123F7F487E01F016F06D5C13FED9FFC0131F02FC017F13E0B9FC18C0A218806C1700001F5E00075E00015E6C6C15E0010F158001014AC7FCD9000F13E035477CC43D>I<90380FFF80497F497F497FB0001FB712F048824882B87EA56C5E6C5E6C5EC66C01F0C8FCB3B3A381170C171E6D153E6F13FE9238FE07FF92B6FCA26D1680A27F18006D15FC6D15F06D15806D4AC7FC6E13E0DA0FFCC8FC31577DD43A>I<D83FFEDB07FC923803FFC0486C6CDA1FFF030F13E06E4A6D5CB54B6D4A13F0806C5113E094B57EA2806C7291B512C05E806C1D80735B5E806C5014004C80A2806C4C6D495B160F6E5C6C64735B161F15806C64726D5AEE3FF815C06C73485B167F846D01E001F05F745A16FFA26D6D6E5E05E06EB5FC15F1A26D01F96E01F95C17C0A26D01FB96C7FC92B56D90B6FC1780A26D62841700A26D705D5EA26D62845EA26D62855E6E496E5C6E496E5C020F49020791C8FC64427DC16B>119 DE%EndDVIPSBitmapFontend%%EndProlog%%BeginSetup%%Feature: *Resolution 600dpiTeXDict begin%%EndSetup%%Page: 1 11 0 bop 344 76 a Ft(X)l(ORP:)52 b(An)h(Op)t(en)f(Platfo)l(rm)g(fo)l(r)h(Net)l(w)l(o)l(rk)f(Resea)l(rch)885 267 y Fs(Ma)m(rk)33b(Handley)227 b(Orion)33 b(Ho)s(dson)227 b(Eddie)33 b(Kohler)1007416 y Fr(ICSI)28 b(Center)g(fo)n(r)g(Internet)f(Resea)n(rch,)g(Berk)n(eley)-7 b(,)28 b(Califo)n(rnia)1410 532 y Fq(f)p Fr(mjh,)f(ho)r(dson,)g(k)n(ohler)p Fq(g)p Fr(@icir.o)n(rg)625 801 y Fo(A)tFp(B)t(S)t(T)t(R)t(AC)t(T)-77 924 y Fn(Netw)o(ork)21b(researchers)h(f)o(ace)f(a)g(signi\002cant)g(problem)g(when)h(deplo)o(ying)-152 1011 y(softw)o(are)h(in)f(routers,)f(either)h(for)g(e)o(xperimentation)i(or)e(for)g(pilot)f(deplo)o(y-)-1521098 y(ment.)27 b(Router)g(platforms)h(are)f(generally)g(not)h(open)g(systems,)f(in)g(either)-152 1185 y(the)17 b(open-source)i(or)d(the)h(open-API)g(sense.)g(In)g(this)f(paper)i(we)e(discuss)i(the)-1521273 y(problems)24 b(this)e(poses,)h(and)h(present)f(an)g(eXtensible)g(Open)g(Router)g(Plat-)-152 1360 y(form)g(\(XORP\))e(that)i(we)g(are)f(de)n(v)o(eloping)j(to)d(address)i(these)f(issues.)f(K)n(e)o(y)-1521447 y(goals)h(are)g(e)o(xtensibility)-5 b(,)22 b(performance)i(and)f(rob)o(ustness.)g(W)-6 b(e)22 b(sho)n(w)h(that)-152 1534y(dif)n(ferent)j(parts)g(of)g(a)g(router)g(need)h(to)e(prioritize)h(these)g(dif)n(ferently)-5 b(,)26 b(and)-152 1621 y(e)o(xamine)18b(techniques)g(by)g(which)f(we)g(can)h(satisfy)f(these)g(often)g(con\003icting)-152 1708 y(goals.)27 b(W)-6 b(e)27 b(aim)f(for)h(XORP)f(to)g(be)h(both)h(a)e(research)i(tool)e(and)i(a)f(stable)-1521796 y(deplo)o(yment)d(platform,)d(thus)h(easing)g(the)g(transition)f(of)h(ne)n(w)g(ideas)g(from)-152 1883 y(the)d(lab)g(to)g(the)g(real)g(w)o(orld.)-150 2067 y Fo(1)96 b(V)-7 b Fp(A)t(L)t(I)t(D)r(A)m(T)t(I)t(N)t(G)31 b Fo(I)t Fp(N)t(T)t(E)t(R)t(N)t(E)t(T)d Fo(R)tFp(E)t(S)t(E)t(A)t(R)t(C)t(H)-77 2189 y Fn(A)20 b(ya)o(wning)g(gap)h(e)o(xists)e(between)i(research)f(and)h(practice)f(concerning)-1522276 y(Internet)25 b(routing)g(and)h(forw)o(arding)f(disciplines.)g(The)g(sa)o(vvy)g(researcher)-152 2363 y(has)17 b(the)f(tools)g(of)h(theory)g(and)f(simulation)h(at)f(hand,)h(b)o(ut)f(v)n(alidating)h(results)-152 2451 y(in)i(the)g(real)g(w)o(orld)g(is)g(hard.)g(Why)f(should)i(this)f(be)g(so?)-77 2538 y(F)o(or)f(netw)o(ork)i(applications)g(research,)g(we)f(ha)o(v)o(e)g(access)g(to)g(languages,)-152 2625 y(APIs,)27 b(and)h(systems)f(that)h(mak)o(e)g(de)n(v)o(elopment)h(and)f(deplo)o(yment)h(easy)-5 b(.)-152 2712y(F)o(or)26 b(end-to-end)i(protocol)f(research,)g(we)f(ha)o(v)o(e)g(access)h(to)f(open)i(source)-152 2799 y(operating)21b(systems,)e(such)h(as)g(Linux)g(and)g(FreeBSD.)e(End-to-end)i(proto-)-152 2887 y(cols)d(can)f(be)h(simulated)g(and)f(implemented)i(in)e(these)g(systems.)h(And)f(since)-152 2974 y(these)25b(operating)h(systems)f(are)g(used)g(in)g(both)g(research)h(and)f(production)-152 3061 y(en)m(vironments,)e(migration)f(from)f(the)h(research)g(to)g(the)f(production)i(en)m(vi-)-152 3148y(ronment)c(is)e(feasible.)g(TCP)g(SA)m(CK)f(pro)o(vides)j(an)f(e)o(xcellent)g(e)o(xample)g([8].)-77 3235 y(Unfortunately)f(the)g(same)f(cannot)h(be)g(said)f(of)h(router)f(softw)o(are.)g(Router)-1523322 y(v)o(endors)30 b(do)g(not)f(pro)o(vide)h(API')l(s)d(that)i(allo)n(w)g(third)g(party)g(applications)-152 3410 y(to)f(run)f(on)h(their)f(hardw)o(are.)h(Thus,)g(e)n(v)o(en)g(conducting)h(a)e(pilot)h(study)g(in)-152 3497 y(a)23 b(production)i(netw)o(ork)f(requires)f(the)h(router)f(v)o(endor)h(to)f(implement)h(the)-152 3584y(protocol.)d(Unless)g(the)g(router)g(v)o(endor)h(percei)n(v)o(es)f(a)g(re)n(w)o(ard)g(in)g(return)g(for)-152 3671 y(the)h(ef)n(fort,)g(the)o(y)g(are)g(unlik)o(ely)h(to)f(in)m(v)o(est)g(resources)h(in)e(the)h(protocol)h(im-)-152 3758 y(plementation.)c(Similarly)-5b(,)16 b(customers)i(are)g(unlik)o(ely)g(to)g(request)g(a)f(feature)-152 3845 y(unless)30 b(the)o(y)g(ha)o(v)o(e)f(f)o(aith)g(in)g(e)o(xisting)h(research)f(results)h(or)f(can)g(e)o(xperi-)-1523933 y(ment)24 b(in)f(their)h(o)n(wn)g(en)m(vironment.)g(A)f(catch-22)i(situation)f(e)o(xists)f(of)g(not)-152 4020 y(being)g(able)g(to)f(prototype)i(and)f(deplo)o(y)h(ne)n(w)e(e)o(xperimental)h(protocols)h(in)-152 4107 y(an)o(y)d(kind)h(of)e(realistic)g(en)m(vironment.)i(Ev)o(en)f(when)g(v)o(endors)h(can)f(be)g(con-)-152 4194 y(vinced)28b(to)e(implement,)g(it)g(is)g(not)g(uncommon)j(for)d(initial)f(implementa-)-152 4281 y(tions)c(of)g(a)f(protocol)i(to)e(be)h(found)h(w)o(anting,)f(and)g(the)g(path)g(to)g(impro)o(ving)-1524368 y(the)f(protocols)h(is)e(often)h(dif)n(\002cult)g(and)g(slo)n(w)-5b(.)20 b(Finally)-5 b(,)19 b(netw)o(ork)i(operators)-1524456 y(are)d(almost)h(al)o(w)o(ays)g(reluctant)f(to)g(deplo)o(y)i(e)o(xperimental)f(services)f(in)g(pro-)-152 4543 y(duction)k(netw)o(orks)g(for)e(fear)h(of)g(destabilizing)g(their)g(e)o(xisting)g(\(hopefully)-152 4630 y(mone)o(y-making\))g(services.)-77 4717 y(Thus,)h(we)h(belie)n(v)o(e)g(the)f(dif)n(\002culty)h(in)f(v)n(alidating)h(Internet)g(research)g(is)-152 4804 y(lar)o(gely)i(attrib)o(utable)f(to)h(the)f(absence)i(of)f(open)h(Internet)e(routers)h(for)g(re-)p-152 4894 1993 4 v -152 4990 a Fm(First)16 b(W)-5 b(orkshop)15b(on)g(Hot)g(T)-5 b(opics)15 b(in)g(Netw)o(orks,)h(Princeton,)h(Ne)n(w)e(Jerse)o(y)l(,)g(October)-152 5064 y(28\22629,)j(2002)-1525139 y(Permission)g(to)g(mak)o(e)f(digital)j(or)d(hard)g(copies)i(of)e(all)h(or)f(part)h(of)f(this)g(w)o(ork)h(for)f(an)o(y)-1525214 y(purpose)h(is)f(granted)i(without)g(fee)f(pro)o(vided)h(that)f(copies)g(bear)g(this)g(notice)h(and)f(the)-152 5288y(full)g(citation)i(on)d(the)h(\002rst)f(page.)-152 5363y(Cop)o(yright)154 5361 y(c)134 5363 y Fl(\015)f Fm(2002)h(International)k(Computer)e(Science)g(Institute)2040801 y Fn(searchers)31 b(to)f(e)o(xperiment)h(with)e(and)i(deplo)o(y)g(ne)n(w)g(w)o(ork)g(on.)f(Routing)2040 889 y(toolkits)i(e)o(xist,)f(b)o(ut)g(typically)h(the)o(y)g(implement)g(a)f(subset)h(of)g(IP)e(rout-)2040 976 y(ing)19 b(functionality)g(and)g(are)f(rarely)g(used)h(in)f(production)i(en)m(vironments\227)2040 1063 y(routing)h(and)h(forw)o(arding)f(research)h(requires)f(access)g(to)f(real)h(production)20401150 y(traf)n(\002c)32 b(and)h(routing)g(information)g(to)f(be)h(v)n(alidated.)g(Similarly)-5 b(,)31 b(open-)2040 1237 y(source-based)f(testbed)e(netw)o(orks)g(such)h(as)f(CAIRN)f([1])g(pro)o(vide)i(v)n(alu-)2040 1324 y(able)21 b(tools)g(for)f(the)h(researcher)m(,)g(b)o(ut)g(the)o(y)g(rarely)g(pro)o(vide)g(a)g(realistic)f(test)20401412 y(en)m(vironment)h(and)e(are)g(usually)h(limited)e(to)h(a)g(small)g(number)h(of)f(sites)g(due)2040 1499 y(to)24 b(cost.)g(A)g(recent)g(spate)h(of)f(research)h(in)f(open,)h(e)o(xtensible)f(forw)o(arding)2040 1586 y(paths)19 b(is)e(mo)o(ving)i(in)f(the)g(right)g(direction)h([6,)e(11],)h(b)o(ut)g(a)g(truly)g(e)o(xtensible,)20401673 y(production-quality)h(router)e(w)o(ould)g(need)h(routing)g(daemons,)f(forw)o(arding)2040 1760 y(information)i(bases,)f(management)h(interf)o(aces,)f(and)h(so)f(on)g(in)g(addition)g(to)20401847 y(a)h(forw)o(arding)h(path.)2115 1935 y(Ho)n(w)d(then)h(can)g(we)f(enable)h(a)f(pathw)o(ay)h(that)f(permits)h(research)f(and)h(e)o(x-)2040 2022 y(perimentation)25 b(to)g(be)f(performed)i(in)e(production)i(en)m(vironments)g(whilst)2040 2109 y(minimally)21 b(impacting)h(e)o(xisting)f(netw)o(ork)h(services?)f(In)g(part,)g(this)g(is)f(the)20402196 y(same)f(problem)h(that)f(Acti)n(v)o(e)g(Netw)o(orks)g(attempted)h(to)f(solv)o(e,)g(b)o(ut)f(we)h(be-)2040 2283 y(lie)n(v)o(e)h(that)f(a)h(much)g(more)g(conserv)n(ati)n(v)o(e)h(approach)g(is)e(more)h(lik)o(ely)g(to)f(see)2040 2371 y(real-w)o(orld)g(usage.)21152458 y(W)-6 b(e)17 b(en)m(vision)j(an)e(inte)o(grated)h(open-source)h(softw)o(are)e(router)h(platform,)2040 2545 y(running)27b(on)f(commodity)g(hardw)o(are,)h(that)e(is)g(viable)h(as)f(a)h(research)g(and)2040 2632 y(as)d(a)g(production)i(platform.)e(The)g(softw)o(are)h(architecture)f(should)i(be)e(de-)20402719 y(signed)i(with)f(e)o(xtensibility)g(as)g(a)g(primary)h(goal)f(and)h(should)g(permit)f(e)o(x-)2040 2806 y(perimental)e(protocol)h(deplo)o(yment)h(with)d(minimal)h(risk)g(to)g(e)o(xisting)g(ser)o(-)2040 2894 y(vices)16 b(using)h(that)e(router)l(.)h(Internet)g(researchers)g(needing)h(access)g(to)e(router)2040 2981y(softw)o(are)21 b(could)g(then)f(share)h(a)f(common)i(platform)e(for)g(e)o(xperimentation)2040 3068 y(deplo)o(yed)k(in)d(places)i(where)f(real)f(traf)n(\002c)g(conditions)i(e)o(xist.)f(Researchers)20403155 y(w)o(orking)i(on)g(no)o(v)o(el)f(router)h(hardw)o(are)g(could)g(also)f(use)g(the)g(mature)h(soft-)2040 3242 y(w)o(are)e(from)g(this)f(platform)h(to)g(test)f(their)h(hardw)o(are)h(in)e(real)h(netw)o(orks.)g(In)2040 3329 y(these)g(w)o(ays,)h(the)f(loop)h(between)f(research)h(and)g(realistic)e(real-w)o(orld)h(e)o(x-)2040 3417 y(perimentation)j(can)g(be)g(closed,)g(and)g(inno)o(v)n(ation)h(can)f(tak)o(e)g(place)g(much)2040 3504 y(more)19 b(freely)-5 b(.)2040 3686 yFo(1.1)91 b(Alter)o(nati)o(v)o(es)2115 3808 y Fn(Ha)o(ving)32b(moti)n(v)n(ated)h(the)f(need)h(for)e(an)i(open)g(router)f(on)g(which)g(net-)2040 3896 y(w)o(ork)19 b(research)f(can)h(be)f(deplo)o(yed,)i(we)d(discuss)i(the)f(alternati)n(v)o(es)g(in)g(more)20403983 y(detail\227simulations)h(and)h(netw)o(ork)f(testbeds.)21154070 y(First,)k(we)h(note)g(that)h(it)e(has)i(not)f(al)o(w)o(ays)h(been)h(so)e(dif)n(\002cult)g(to)g(deplo)o(y)2040 4157y(e)o(xperimental)19 b(w)o(ork)g(on)g(the)f(Internet.)g(Prior)g(to)g(the)g(adv)o(ent)h(of)f(the)h(W)-6 b(orld)2040 4244 y(W)m(ide)15b(W)-6 b(eb,)15 b(the)g(Net)g(w)o(as)g(predominantly)i(non-commercial.)f(Most)g(of)f(its)2040 4332 y(users)22 b(came)h(from)f(uni)n(v)o(ersities)g(and)h(other)g(research)f(labs.)g(Whilst)f(there)20404419 y(w)o(as)28 b(a)h(tension)f(between)h(conducting)h(research)f(and)g(pro)o(viding)g(a)f(net-)2040 4506 y(w)o(orking)f(service,)f(researchers)h(could)f(ha)o(v)o(e)g(access)h(to)f(the)g(netw)o(ork)g(to)2040 4593 y(run)17 b(e)o(xperiments,)g(de)n(v)o(elop)g(and)g(test)f(ne)n(w)h(protocols,)g(and)g(so)f(forth.)g(W)m(ith)20404680 y(the)24 b(adv)o(ent)i(of)e(the)g(W)-6 b(eb,)24b(the)g(netw)o(ork)i(gre)n(w)e(rapidly)h(and)g(commercial)20404767 y(ISPs)19 b(emer)o(ged.)i(Ev)o(en)f(the)h(academic)g(parts)f(of)h(the)f(netw)o(ork)h(became)h(re-)2040 4855 y(luctant)28b(to)f(perform)h(netw)o(orking)h(e)o(xperiments)f(for)g(fear)f(of)h(disrupting)2040 4942 y(re)o(gular)18 b(traf)n(\002c.)f(In)h(the)g(commercial)g(parts)g(of)g(the)g(netw)o(ork,)g(where)g(inter)o(-)20405029 y(esting)24 b(scaling)g(phenomena)i(started)e(to)g(emer)o(ge,)g(it)f(w)o(as)h(nearly)g(impos-)2040 5116 y(sible)d(to)g(do)g(an)o(y)g(form)g(of)g(e)o(xperimentation.)h(Gro)n(wth)f(w)o(as)g(so)g(rapid)h(that)2040 5203 y(it)e(w)o(as)g(all)g(ISPs)f(could)i(do)g(to)g(k)o(eep)g(up)g(with)f(pro)o(visioning.)h(These)g(prob-)2040 5290y(lems)26 b(were)g(recognised,)g(and)h(tw)o(o)f(main)g(solutions)g(emer)o(ged:)h(netw)o(ork)2040 5378 y(testbeds)20 b(and)f(netw)o(ork)h(simulators.)p eop%%Page: 2 22 1 bop -77 -69 a Fn(Netw)o(ork)21 b(testbeds)g(rarely)f(resulted)h(in)g(good)g(netw)o(ork)h(research.)e(One)-152 19 y(notable)33b(e)o(xception)f(w)o(as)g(D)m(AR)l(Tnet)f([3],)g(which)h(used)g(programmable)-152 106 y(routers)20 b(that)f(netw)o(ork)h(researchers)h(had)f(access)g(to.)f(Among)h(its)f(achie)n(v)o(e-)-152193 y(ments,)28 b(D)m(AR)l(Tnet)e(demonstrated)j(IP)d(multicast)i(and)g(audio)g(and)g(video)-152 280 y(conferencing)33 b(o)o(v)o(er)e(IP)-8b(.)29 b(It)h(w)o(ork)o(ed)h(well)f(because)i(the)f(netw)o(ork)g(users)-152 367 y(were)e(also)h(the)f(netw)o(ork)h(researchers)g(and)f(so)h(there)f(w)o(as)g(less)g(tension)-152 454 y(in)m(v)o(olv)o(ed)20b(in)f(running)h(e)o(xperiments.)-77 542 y(Ov)o(er)c(recent)h(years,)f(the)g(majority)g(of)g(netw)o(ork)h(research)g(that)f(in)m(v)o(olv)o(ed)-152 629 y(testing)k(protocols)h(has)g(tak)o(en)g(place)f(in)h(netw)o(ork)g(simulators)f(such)h(as)f Fk(ns)p Fn(.)-152716 y(Among)i(the)f(desirable)h(properties)f(of)h(simulators)f(is)f(the)h(complete)h(con-)-152 803 y(trol)c(the)o(y)g(pro)o(vide)h(o)o(v)o(er)g(all)e(the)i(parameters)f(of)g(a)h(system,)f(and)g(so)h(a)f(lar)o(ge)-152 890 y(range)25 b(of)e(scenarios)i(can)f(be)g(e)o(xamined.)g(W)m(ithin)f(the)h(research)g(commu-)-152 977 y(nity)j(the)fFk(ns)h Fn(simulator)f(has)h(been)h(particularly)e(successful)1479950 y Fj(1)1514 977 y Fn(.)f(Man)o(y)j(re-)-152 1065y(searchers)20 b(ha)o(v)o(e)f(contrib)o(uted)h(to)f(impro)o(v)o(e)gFk(ns)h Fn(itself,)d(b)o(ut)i(an)h(e)n(v)o(en)f(greater)-1521152 y(number)25 b(ha)o(v)o(e)f(used)g(it)f(in)h(their)f(research.)h(Man)o(y)h(published)g(results)f(are)-152 1239 y(supported)j(by)f(publicly)g(a)o(v)n(ailable)f(simulation)h(code)g(and)g(scripts.)f(This)-152 1326 y(has)19 b(allo)n(wed)g(for)f(the)g(direct)g(comparison)i(of)e(contemporary)i(netw)o(orking)-1521413 y(algorithms)28 b(and)g(allo)n(wed)g(for)f(independent)j(v)o(eri\002cation)d(of)g(results.)g(It)-152 1500 y(could)18b(therefore)f(be)g(ar)o(gued)g(that)g Fk(ns)g Fn(has)g(increased)h(the)e(rigor)h(of)g(netw)o(ork)-152 1588 y(research.)-77 1675y(Con)m(v)o(ersely)-5 b(,)18 b(it)f(could)h(equally)g(well)f(be)h(ar)o(gued)g(that)f(simulators)h(mak)o(e)-152 1762 y(it)28b Fk(too)g(easy)h Fn(to)f(run)h(e)o(xperiments)g(and)g(are)f(responsible)h(for)f(numerous)-152 1849 y(papers)20 b(that)f(bear)g(little,)e(or)i(no,)g(relationship)g(to)g(real)g(netw)o(orks.)g(Accord-)-152 1936 y(ingly)k(there)e(is)h(understandable)i(doubt)f(about)f(an)o(y)g(claims)g(until)g(the)o(y')l(v)o(e)-1522023 y(been)e(demonstrated)g(in)f(the)g(real)g(w)o(orld.)-772111 y(Ev)o(en)30 b(in)f(skilled)g(hands,)h(simulators)g(ha)o(v)o(e)f(limits.)f(When)i(w)o(ork)g(re-)-152 2198 y(quires)24b(access)h(to)e(real)h(traf)n(\002c)f(patterns,)g(or)h(needs)g(to)g(interact)g(with)f(real)-152 2285 y(routing)31 b(protocols,)f(or)g(relates)g(to)f(deplo)o(yed)j(implementations)f(w)o(arts-)-1522372 y(and-all,)19 b(there)g(is)g(no)g(substitute)g(for)g(real-w)o(orld)g(e)o(xperimentation.)-150 2555 y Fo(2)96 b(A)tFp(R)t(C)t(H)t(I)t(T)t(E)t(C)t(T)t(U)t(R)t(E)31 b(A)t(N)t(D)cFo(R)t Fp(E)t(Q)s(U)t(I)t(R)t(E)t(M)t(E)t(N)t(T)t(S)-772678 y Fn(W)-6 b(e')l(v)o(e)22 b(hopefu

⌨️ 快捷键说明

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