




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、XORP:An Open Platform for Network ResearchMark HandleyOrion HodsonEddie KohlerICSI Center for Internet Research, Berkeley, Californiamjh, hodson, kohler A BSTRACTNetwork researchers face a signicantproblem when deploying software in routers, either for experimentation or for pilot deploy-men
2、t. Router platforms are generally not open systems, in either the open-source or the open-API sense. In this paper we discuss the problems this poses, and present an eXtensible Open Router Plat-form (XORPthat we are developing to address these issues. Key goals are extensibility, performance and rob
3、ustness. We show that different parts of a router need to prioritize these differently, and examine techniques by which we can satisfy these often conictinggoals. We aim for XORP to be both a research tool and a stable deployment platform, thus easing the transition of new ideas from the lab to the
4、real world.1V ALIDATING I NTERNET R ESEARCHA yawning gap exists between research and practice concerning Internet routing and forwarding disciplines. The savvy researcher has the tools of theory and simulation at hand, but validating results in the real world is hard. Why should this be so?For netwo
5、rk applications research, we have access to languages, APIs, and systems that make development and deployment easy. For end-to-end protocol research, we have access to open source operating systems, such as Linux and FreeBSD. End-to-end proto-cols can be simulated and implemented in these systems. A
6、nd since these operating systems are used in both research and production environments, migration from the research to the production envi-ronment is feasible. TCP SACK provides an excellent example 8.Unfortunately the same cannot be said of router software. Router vendors do not provide APIsthat al
7、low third party applications to run on their hardware. Thus, even conducting a pilot study in a production network requires the router vendor to implement the protocol. Unless the router vendor perceives a reward in return for the effort, they are unlikely to invest resources in the protocol im-plem
8、entation. Similarly, customers are unlikely to request a feature unless they have faith in existing research results or can experi-ment in their own environment. A catch-22situation exists of not being able to prototype and deploy new experimental protocols in any kind of realistic environment. Even
9、 when vendors can be con-vinced to implement, it is not uncommon for initial implementa-tions of a protocol to be found wanting, and the path to improving the protocols is often difcultand slow. Finally, network operators are almost always reluctant to deploy experimental services in pro-duction net
10、works for fear of destabilizing their existing (hopefullymoney-making services.Thus, we believe the difcultyin validating Internet research is largely attributable to the absence of open Internet routers for re-Network testbeds rarely resulted in good network research. One notable exception was DART
11、net 3,which used programmable routers that network researchers had access to. Among its achieve-ments, DARTnet demonstrated IP multicast and audio and video conferencing over IP. It worked well because the network users were also the network researchers and so there was less tension involved in runn
12、ing experiments.Over recent years, the majority of network research that involved testing protocols has taken place in network simulators such as ns . Among the desirable properties of simulators is the complete con-trol they provide over all the parameters of a system, and so a large range of scena
13、rios can be examined. Within the research commu-nity the ns simulator has been particularly successful 1. Many re-searchers have contributed to improve ns itself, but an even greater number have used it in their research. Many published results are supported by publicly available simulation code and
14、 scripts. This has allowed for the direct comparison of contemporary networking algorithms and allowed for independent vericationof results. It could therefore be argued that ns has increased the rigor of network research.Conversely, it could equally well be argued that simulators make it too easy t
15、o run experiments and are responsible for numerous papers that bear little, or no, relationship to real networks. Accord-ingly there is understandable doubt about any claims until theyvebeen demonstrated in the real world.Even in skilled hands, simulators have limits. When work re-quires access to r
16、eal trafcpatterns, or needs to interact with real routing protocols, or relates to deployed implementations warts-and-all, there is no substitute for real-world experimentation.2A RCHITECTUREANDR EQUIREMENTSWevehopefully convinced you that Internet research would be better off if changes and extensi
17、ons could be provisionally deployed. No simulation or testing environment can provide similarly useful lessonsorconvince conservative router vendors that extensions work well enough to deserve real-world deployment. We want a routing infrastructure that is at least partially open to research ex-tens
18、ions. The infrastructure must, further, meet Internet robustness standards to merit deployment even on research networks like Abi-lene. But how can we make this happen? There are several possi-bilities:Individual researchers could convince big router vendors to implement their extensions. To put it
19、succinctly, this seems unlikely. Vendors could open their internal APIs for experimental use. This also seems unlikelyvendorsprobably consider their APIs to be trade secrets, and dontwant to facilitate an open market in routing software. Furthermore, legacy code inside most routers isntparticularly
20、easy to extend. Researchers could deploy currently available routing dae-mons such as Zebra 14,MRTd 13or GateD 10,on a conventional PC running an operating system such as Linux or FreeBSD. The principle problems here are extensibility, performance, and robustness. The forwarding paths on these opera
21、ting systems are not optimally designed for performance under heavy load, or for extensibility. The routing daemons are not as robust as we would like, and not generally de-signed with extensibility as a high priority. Finally, they dontpaths, such as the FreeBSD forwarding path with AltQ queuing ex
22、tensions 2or an alternative extensible forwarding path such as Scout 11.Some forwarding path choices may inuencethe functionality available for end users to extend or change. But for many aspects of research, such as routing protocol experiments that dontrequire access to the forwarding path, a conv
23、entional FreeBSD lower level would sufce. FEA = forwarding engine abstractionF IGURE 1XORPHigh-level ProcessesFigure 1shows how a XORP routersuser-level processes and Click forwarding path ttogether. The shared user-level processes are the XORP architecturesmost innovative feature. Four core pro-ces
24、ses are particularly worthy of comment:the router manager , the nder, the routing information base , and the forwarding engine ab-straction .The router manager process manages the router as a whole. It maintains congurationinformation; starts other processes, such as routing protocols, as required b
25、y the conguration;and restarts failed processes as necessary.The nderprocess stores mappings between abstracted appli-cation requests, such as “Howmany interfaces does this router have?”,and the particular IPC calls necessary to answer those re-quests. Think of it as an IPC redirector:when an applic
26、ation wishes to make an IPC call, it consults the nderto discover how to do it. The application typically caches this information so future calls circumvent the nder.Furthermore, the ndercan instruct appli-cations to update contact information. Thus it is easy to change how application requests are
27、handled at run-time. We can trace XORPscommunication pattern by asking the nderto map ab-stract requests to sequences of IPCs, some for tracing and some for doing the work. XORP processes can communicate without boot-strapping using the nder,but since XRLs are relatively low cost we have not found t
28、his necessary to date.The routing information base process (RIBreceives routes from the routing processes, and arbitrates which routes should be propa-gated into the forwarding path, or redistributed to other routing pro-cesses. The forwarding path is managed by the forwarding engine abstraction pro
29、cess (FEA.The FEA abstracts the details of how the forwarding path of the router is implemented and as a result, the routing processes are agnostic to whether the forwarding plane is Click based, a conventional UNIX kernel, or an alternative method. The FEA manages the networking interfaces and forw
30、arding table in the router, and provides information to routing processes about the interface properties and events occurring on interfaces, such asan interface being taken down. As with the nder,XORP processes can bypass the FEA when required.4S OLVING D ESIGN C HALLENGESThis section shows how we a
31、ddress the four design challenges of traditional router features, extensibility, robustness, and perfor-mance. Space constraints prevent inclusion of much detail, but we do describe our IPC mechanism, XORP Resource Locators (XRLs,at length.4.1FeaturesTo be successful, a router platform needs to be h
32、ave good sup-port for the routing and management protocols that are in wide-spread use today. The minimal list of routing and routing-support protocols is:OSPF BGP4+RIPv2/RIPngintra-domain inter-domain intra-domain routing. routing.Integrated routing.PIM-SM/SSMIS-IS IGMPv3/MLDmulticast intra-domain
33、local multicast routing.routing. PPP for point-to-point links (asmembership.per RFC 1812.With the exception of IS-IS, all of these are currently being worked upon within XORP. The aim is for both IPv4and IPv6support. MPLS is deliberately omitted at this stage. The multi-process ar-chitecture helps u
34、s to leverage existing code where appropriate; our OSPF and RIP implementations are derived from John MoysOSPFd 9and BSDsrouted respectively.For management interfaces, we are pursuing a command line in-terface resembling that of Juniper and intend to support SNMP.4.2ExtensibilityOpen interfaces are
35、the key to extensibility. Interfaces must ex-ist at any point where an extension might plug in, and those in-terfaces must be relatively easy to use. XORPsdesign encourages the construction of useful interfaces through multi-process design. A routing protocol process, for example, must communicate w
36、ith other processes to install routes and discover information about the router itself. Open inter-process interfaces, built in to the system from the beginning, form the basic source of user-level XORPsextensibility.Most inter-process communication within XORP takes place via XORP Resource Locators
37、, or XRLs. XRLs resemble the WebsURLs. They specify in human-readable form the type of IPC trans-port desired (the“protocol”,the abstract name for the entity being communicated with, the method being invoked, and a list of named arguments. Unlike URLs, they can also specify the nature of the respons
38、e expected.As an example, the general form of one of the XRLs for the forwarding engine abstraction (FEAprocess might be rendered in human readable form as:The initial nder:portion speciesthe protocol; in this case the actual protocol has not yet been resolved. The rsttime this XRL is called, the cl
39、ient XRL library contacts the nder,which responds with a redirection to a new XRL containing the actual protocol to be used, together with all the parameters needed to contact the current FEA. Subsequent communication then goes directly between the client and the FEA process. If the FEA restarts, th
40、e clientsXRL calls to the old FEA will fail, and it can consult the nderto update the redirection.The XRL library, which all of our processes link against, takes an XRL and performs argument marshaling, then it invokes the spec-iedtransport mechanism, and handles the response or any failure that mig
41、ht occur. Unlike many RPC or remote method invocation mechanisms, XRLs donttry and hide from the programmer that off-process communication is taking place. While this makes the programmersjob harder at rst,it is essential for robustness that the programmer is made aware that the failure modes of IPC
42、 are different from those of a local procedure call. To help the program-mer and improve performance, an IDL and a stub generator exist, so most XRL clients never need to parse the human readable form. The original motivation for XRLs was to encapsulate existing protocols within our consistent IPC f
43、ramework. For example, we might wish to run third-party software that uses SNMPv3for con-guration.To integrate this software into our XRL-based manage-ment framework, we might write an SNMP protocolfamilyfor the XRL client library. Then XORP processes could transparently interoperate with the third-
44、party software via XRLs that start with snmp:.XRLs are general enough to encompass simple communi-cation with the kernel via ioctl s, and even signaling via kill(. At the present time, we have not had a need to add this functional-ity, but should the need arise, our architecture would support it. Th
45、e current XRL library supports XORP-specicprotocols for remote procedure call, one layered over TCP and the other over UDP, and a local procedure call mechanism for intra-process communication.One of the biggest issues faced by an extensible router is the integration of separately maintained compone
46、nts into a coherent system. Consider the interaction between management mechanisms such as a command-line interface (CLIand a new routing protocol. The author of each of the management processes has no knowledge of future routing protocols. At the same time, the author of each routing protocol has n
47、o knowledge of future management mecha-nisms. Our solution is for all management, including initial con-guration,to take place using XRLs. To add support for a specicmanagement mechanism, such as SNMP or a command-line in-terface, the protocol implementor writes simple text lesthat map management re
48、quests to XRL calls. These thin mapping lesare easy enough to write that third parties might add them as new man-agement interfaces become available.To get more concrete, our congurationmanager has a strict hi-erarchy of congurationparameters, which is directly reectedin our default CLI. A fragment
49、of a router congurationlemight look like:protocols ospf hello-interval:30The congurationmanager takes a directory of template les,which denethe possible congurableparameters for each XORP routing protocol, and generates mappings of congurationparame-ters to XRL dispatches. The designer of a new rout
50、ing protocol can simply add a template lespecifying the new functionality pro-vided. Thus, the template entry for OSPF might contain the frag-ment:hello-interval:uint %set:xrl “ospf/ospf/1.0/setinterval?if:txt=$(IFNAME&interval:i32=$(VALUE”;%get:xrl “ospf/ospf/1.0/hello2of Networksor high-speed
51、processors network 5interfaces, are interface typically cards containing a numberforwarding. and some together with a proces-forwarding Typically specialized the programmable hardware for performing off-loaded very well, but more network complex processor functionality can perform needs simple to be
52、 sor 12.to be handled by software running on the host proces-are protected from each other and can have their resources con-strained according to administrative preference. Furthermore, rout-ing processes can crash without affecting the kernel, forwarding plane, or each other. And if a routing proto
53、col does crash, the RIB will remove its routes from the forwarding engine, and optionally inform the re-starting routing process of the routes it previously held.Multiple processes are used in Zebra 14and Ciscosproposed ENA router operating system, but not by some of the larger com-mercial vendors t
54、oday.A signicantaspect of robustness is security. One benetof be-ing forwarding-path agnostic is that we can abstract privileged op-erations, such as sending on a raw socket, into the FEA via XRLs. This allows us to run many routing protocols in a sandbox. They have no interaction with the outside w
55、orld except through XRLs and packets, and so an exploitable vulnerability in a routing proto-col is far more difcultto escalate into full control of the router. Robustness in the forwarding path is also important, but solu-tions such as memory protection that work well in user-space are not acceptab
56、le. In the Click forwarding path robustness comes from the granularity and simplicity of Clickscomponents. Each element is small enough to be well understood and tested in isolation. And since many of Clickscomponents can be run and debugged in user-space, condenceabout their robustness can be attai
57、ned before be-ing used in the kernel.5S UMMARYWe believe that much good Internet research is being frustrated by an inability to deploy experimental router software at points in the network where it makes most sense. These problems affect a wide range of research, including routing protocols themsel
58、ves, ac-tive queue management schemes, and so-called “middlebox”func-tionality such as our own trafcnormalizer 4.Many of these prob-lems would not exist if the router software market more closely re-sembled the end-system software market, which has well denedAPIs for application software, and high p
59、erformance reliable open-source operating systems that permit kernel protocol experimenta-tion. Our vision for XORP is to provide just such an open platform; one that is stable and fully featured enough for serious production use (initiallyon edge-routers, but designed from the very outset to support extensibility and experimenta
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北斗監(jiān)控考試題及答案
- 保險(xiǎn)高考試題及答案
- 老年教育個(gè)性化課程設(shè)置與多元教學(xué)模式創(chuàng)新研究報(bào)告
- 安全實(shí)踐操作試題及答案
- 2025年鄉(xiāng)村振興戰(zhàn)略下職業(yè)技能培訓(xùn)的多元化發(fā)展報(bào)告
- 中國(guó)歷史災(zāi)難課件
- 國(guó)企法律思維培訓(xùn)課件
- 周末表?yè)P(yáng)小學(xué)生的課件
- 寵物專業(yè)入學(xué)教育
- 中國(guó)剪紙分類
- (2025春新版本)人教版七年級(jí)生物下冊(cè)全冊(cè)教案
- 醫(yī)院殘疾評(píng)定管理制度
- 雜志分揀打包服務(wù)合同4篇
- 2025年D-對(duì)羥基苯甘氨酸項(xiàng)目市場(chǎng)調(diào)查研究報(bào)告
- 2024-2025 學(xué)年八年級(jí)英語(yǔ)下學(xué)期期末模擬卷 (常州專用)解析卷
- 航空發(fā)動(dòng)機(jī)關(guān)鍵部件項(xiàng)目運(yùn)營(yíng)管理手冊(cè)(范文)
- 2025年中國(guó)社區(qū)O2O商業(yè)模式市場(chǎng)分析報(bào)告
- 高考語(yǔ)文專題復(fù)習(xí) -語(yǔ)用新題型得名方式、構(gòu)詞方式辨析
- 預(yù)防強(qiáng)對(duì)流天氣安全教育
- 高低壓變配電工程方案投標(biāo)文件(技術(shù)方案)
- 水泥檢測(cè)試題及答案
評(píng)論
0/150
提交評(píng)論