




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Ethane:TakingControloftheEnterpriseMartìnCasado,MichaelJ.Freedman,JustinPettit,JianyingLuo,
ScottShenkerACMSIGCOMM,2007PresentedbyYeTianforCourseCS05112OverviewMotivationOverviewofEthaneDesignEthaneinMoreDetailThePOL-ETHPolicyLanguagePrototypeandPerformanceMotivationEnterprise
networkRunawide
varietyof
applications
and
protocolsOperate
understrict
reliabilityand
securityconstraintsMotivationNeedmanualconfigurationExpensiveanderror-prone62%ofnetworkdowntimeinmulti-vendornetworkscomesfromhuman-error80%ofITbudgetsisspentonmaintenanceandoperationsNetworkmanagementapproachesIntroducesproprietarymiddle-boxes,placedatnetworkchoke-points.E.g,firewallAddfunctionalitytoexistingnetworks.E.g.,addACLonswitchOnlyhidethecomplexity,notreduceit.MotivationQuestion:Howcouldwechangetheenterprisenetworkarchitecturetomakeitmoremanageable?Threefundamentalprinciples:Thenetworkshouldbegovernedbypoliciesdeclaredoverhigh-levelnames.Policyshoulddeterminethepaththatpacketsfollow.Policymightrequirepacketstopassthroughanintermediatemiddlebox;Trafficcanreceivemoreappropriateserviceifitspathiscontrolled;Thenetworkshouldenforceastrongbindingbetweenapacketanditsorigin.DesiredRealityGovernedbypoliciesdeclaredoverhigh-levelnames.Governedbylow-levelnames
suchasIPaddressandMACaddressDeterminethepath
DeterminenexthopStrongbindingbetweenpacketsandoriginOnlyinspect
destinationaddressinroutingCurrentapproachLevel-2:forwardingtable,oneentryperdestinationMACaddressLevel-3:routingtable,oneentryperIPaddressprefixOverviewMotivationOverviewofEthaneDesignEthaneinMoreDetailThePOL-ETHPolicyLanguagePrototypeandPerformanceOverviewEthanecontrolsthenetworkbynotallowinganycommunicationbetweenend-hostswithoutexplicitpermission.TwocomponentsAcentralController
ContainstheglobalnetworkpolicyandtopologyPerformsroutecomputationforpermittedflows.AsetofEthaneswitchesSimpleanddumbConsistingofasimpleflowtableandasecurechanneltotheControllerForwardpacketsundertheinstructionoftheController.Names,Bindings,andPolicyLanguageKeepthenamespaceconsistentascomponentsjoin,leaveandmovearoundthenetwork.How(machine–address–user)Ethanetakesoverallthebindingofaddresses,behaveasaDHCPserverMachineisregisteredonthenetworkUsersarerequiredtoauthenticatewiththenetworkSuchastheonesinWiFihotpot.Benefits:TheControllercankeeptrackofwhereanyentityislocated;TheControllercanjournalallbindingsandflow-entriesinalogfornetworkeventreconstruction.EthaneinUseRegistrationAllswitches,users,andhostsareregisteredattheControllerwiththecredentialsnecessarytoauthenticatethem.EthaneinUseBootstrapSwitchesbootstrapconnectivitybycreatingaspanningtreerootedattheController.EachswitchauthenticateswithandcreatesasecurechanneltotheController.EthaneinUseAuthenticationUserAjoinsthenetworkwithhostA,switch1initiallyforwardallofhostA’spacketstotheController;HostAsendsaDHCPrequesttotheController.TheControllerbindshostAtoIPA,IPAtoMACA,andMACAtoaphysicalportonswitch1.UserAopensawebbrowser,whosetrafficisdirectedtotheController,andauthenticatesthroughaweb-form.EthaneinUseFlowSetupSwitch1forwardsthepackettotheControllerafterdeterminingthatthepacketdoesnotmatchanyactiveentriesinitsflowtable.TheControllerdecideswhethertoallowordenytheflow,orrequireittotraverseasetofwaypoints.TheControllercomputestheflow’spath,addsanewentrytotheflowtablesofalltheSwitchesalongthepath.EthaneinUseForwardingIfpathisallowed,theControllersendsthepacketbacktoswitch1whichforwardsitbasedonthenewflowentry.SubsequentpacketsfromtheflowareforwardeddirectlybytheSwitch,andarenotsenttotheController.Theflow-entryiskeptintheswitchuntilittimesout.OverviewMotivationOverviewofEthaneDesignEthaneinMoreDetailThePOL-ETHPolicyLanguagePrototypeandPerformanceAnEthaneNetworkEthaneSwitchAnEthaneswitchismuchsimplerthanconventionalEthernetswitchDoesn’tneedtolearnaddresses,supportVLANs,checkforsource-addressspoofing,orkeepflow-levelstatistics(?).Iflayer3,doesn’tneedtorunroutingprotocolssuchasOSPF,ISIS,andRIP.Ethaneswitch’sflowtablecanbemuchsmallerthantheforwardingtableinanequivalentEthernetswitch.Ethernetswitchneedstorememberalltheaddressesit’slikelytoencounter.EthaneSwitchonlyneedstokeeptrackofflowsin-progress.FlowTableandFlowEntriesTwocommontypesofentryintheflowtable:Per-flowentriesforflowsthatshouldbeforwarded,Per-hostentriesformisbehavinghostswhosepacketsshouldbedropped.EntriesareremovedbecauseTimeoutduetoinactivityRevokedbytheController.LocalSwitchManagerToestablishandmaintainthesecurechanneltotheControllerTwoways:ForSwitchesthatarepartofthesamephysicalnetworkastheController,useMinimumSpanningTreeprotocol.FortheSwitchthatisnotwithinthesamebroadcastdomainastheController,createanIPtunneltoit.Switchesmaintainalistofneighboringswitchesbybroadcastingandreceivingneighbor-discoverymessages.NeighborlistsaresenttotheControllerperiodicallyevery15seconds.ControllerTheControllerholdsthepolicyfile,whichiscompiledintoafastlookuptableTheroutecomputation
usesthenetwork
topologytopickthe
flow’sroute.Thetopologyis
maintainedbythe
switchmanager,which
receiveslinkupdates
fromtheSwitches.ControllerRegistrationAllentitiesthataretobenamedbythenetwork(i.e.,hosts,protocols,switches,users,andaccesspoints7)mustberegistered.Theymakeupthepolicynamespaceandisusedtostaticallycheckthepolicy.Authentication.Doesnotspecifyaparticularhostauthenticationmechanism:e.g.,802.1XControllerTrackingbindingsTrackallthebindingsbetweennames,addresses,andphysicalportsonthenetworkeventasswitches,hosts,andusersjoin,leave,andmovearoundthenetwork.ControllerNamespaceinterfaceIncurrentnetworks,itisalmostimpossibletofigureoutuseractivitiesveryquicklyAnEthaneControllercanjournalalltheauthenticationandbindinginformation,itispossibletodetermineexactlywhichusersentapacket,whenitwassent,thepathittook,anditsdestination.ControllerPermissionCheckandAccessGrantingUponreceivingapacket,theControllerchecksthepolicytoseewhatactionsapplytoitEnforcingResourceLimitsControllercanlimitaflow’srate,limittherateatwhichnewflowsaresetup,orlimitthenumberofIPaddressesallocated.BroadcastandMulticastHandlingmulticast:TheSwitchkeepsabitmapforeachflowtoindicatewhichportsthepacketsaretobesenttoalongthepath.TheControllercancalculatethemulticasttreeandassigntheappropriatebitsduringpathsetup.Example,a24-bitbitmapfor24portsonaswitch,0/1meanspacketshouldbeforwarded/droppedoncorrespondingportHandlingbroadcastdiscoveryprotocols:Ahostistryingtofindaserveroranaddress;e.g,ARP,DHCPGiventhattheControllerknowsall,itcanreplytoarequestwithoutcreatinganewflowandbroadcastingthetraffic.ReplicatingtheController:Fault-ToleranceandScalabilityThreetechniquesforreplicatingColdstandby:BackupControllerssitidly-bywaitingtotakeoverifneeded.Iffailure,thenetworkwillconvergeonanewrootforMST.Thebackupsneedonlycontaintheregistrationstateandthenetworkpolicy.Themainadvantageissimplicity;thedownsideisthathosts,switches,andusersneedtore-authenticateandre-bindupontheprimary’sfailure.Pathsneedtobere-computed.ReplicatingtheControllerWarm-standby:aseparateMSTiscreatedforeveryController.TheControllersmonitoroneanother’slivenessand,upondetectingtheprimary’sfailure,asecondaryControllertakesoverbasedonastaticordering.NeedtoreplicatebindingsacrossControllers.Somenewusersandhostsneedtore-authenticate.ReplicatingtheControllerFully-replication:twoormoreactiveControllers.ASwitchneedonlyauthenticateitselftooneControllerandcanthenspreaditsflow-requestsovertheControllers(e.g.,hashingorround-robin)Gossiptoprovideaweakly-consistentorderingoverevents.OthersLinkfailureTheSwitchremovesallflowtableentriestiedtothefailedportandsendsitsnewlink-stateinformationtotheController.TheControllerlearnsthenewtopology.BootstrapingOnstartup,thenetworkcreatesaminimumspanningtreewiththeControlleradvertisingitselfastheroot.IfaSwitchfindsashorterpathtotheController,itattemptstwo-wayauthenticationbeforeadvertisingthatpathasavalidroute.OverviewMotivationOverviewofEthaneDesignEthaneinMoreDetailThePOL-ETHPolicyLanguagePrototypeandPerformanceOverviewEthanenetworkpolicyisdeclaredasasetofrules,eachconsistingofaconditionandacorrespondingaction.
ExampleCondition:iftheuserinitiatingtheflowis“bob”andtheflowprotocolis“HTTP”andtheflowdestinationishost“websrv”Action:Actionsincludeallow,deny,waypoints,andoutbound-only.Rulesareindependentanddon’tcontainanintrinsicorderingExampleTwoparts:
group
declarationsandrules#Groups—desktops=["griffin","roo"];laptops=["glaptop","rlaptop"];phones=["gphone","rphone"];server=["http_server","nfs_server"];private=["desktops","laptops"];computers=["private","server"];students=["bob","bill","pete"];profs=["plum"];group=["students","profs"];waps=["wap1","wap2"];ExampleRules#Rules—[(hsrc=in("server")^(hdst=in("private"))]:deny;#Donotallowphonesandprivatecomputerstocommunicate[(hsrc=in("phones")^(hdst=in("computers"))]:deny;[(hsrc=in("computers")^(hdst=in("phones"))]:deny;#NAT-likeprotectionforlaptops[(hsrc=in("laptops")]:outbound-only;#Norestrictionsondesktopscommunicatingwitheachother[(hsrc=in("desktops")^(hdst=in("desktops"))]:allow;#Forwireless,non-groupmemberscanusehttpthrough#aproxy.Groupmembershaveunrestrictedaccess.[(apsrc=in("waps"))^(user=in("group"))]:allow;[(apsrc=in("waps"))^(protocol="http)]:waypoints("http-proxy");[(apsrc=in("waps"))]:deny;[]:allow;#Default-on:bydefaultallowflowsOverviewMotivationOverviewofEthaneDesignEthaneinMoreDetailThePOL-ETHPolicyLanguagePrototypeandPerformanceReviewImplementation:SwitchThreedifferentEthaneSwitches:An802.11gwirelessaccesspoint(basedonacommercialaccesspoint)Awired4-portGigabitEthernetSwitchthatforwardspacketsatline-speed(basedontheNetFPGAprogrammableswitchplatformandwritteninVerilog)Awired4-portEthernetSwitchinLinuxonadesktopPCFlowtableThemaintable—forpacketsthatshouldbeforwarded—has8,192flowentriesAsecondtablewith32Kentries–forreturnrouteofoutboundtrafficImplementation:ControllerPolicycompiler:asource-to-sourcecompilerthatgeneratesC++fromaPol-Ethpolicyfile.ImplementedtheControlleronastandardLinuxPCRegistration:standarddatabaseAuthentication:useuniversityauthenticationsystemBindJournalandNamespaceInterface:useBerkeleyDBforthelog,keyedbytimestampsRouteComputation:usinganallpairsshortestpathalgorithm.DeploymentStanfordCSdepartment19Ethaneswitches:11wiredand8wireless;About300hostsPolicyNon-serversareprotectedfromoutboundconnectionsfromservers.Workstationscancommunicateuninhibited.HostsmustregisteraMACaddress,butnouserauthentication.Wirelessnodesdonotrequireuserauthentication.DeploymentPolicyTheVoIPphonesarerestrictedfromcommunicatingwithnon-phonesandarestaticallyboundtoasingleaccesspointtopreventmobility.Performance:ControllerScalabilityExperiment:30-40newflowrequestspersecondwithapeakof750flowrequestspersecond.AsingleControllercouldcomfortablyhandle10,000newflowrequestspersecond.PerformanceDuringFailuresControllerfailure:measurethecompletiontimeof275consecutiveHTTPrequests,retrieving63MBintotal,undercold-standbyfailurerecoveryWhiletherequestswereongoing,wecrashedtheControllerandrestarteditmultipletimes.PerformanceDuringFailuresLinkfailure:Alloutstandingflowsre-contacttheControllerinordertore-establishthepathCreatedatopologywithredundantpaths—sothenetworkcanwithstandalink-failure—andmeasuredthelatenciesexperiencedbypackets.PerformanceDuringFailuresPathre-convergesinunder40ms,butapacketcouldbedelayeduptoasecondwhiletheControllerhandlestheflurryofrequests.Performance:FlowTableSizingUsetwonetworkdatabase:An8,000-hostnetworkatLawrenceBerkeleyNationalLABA22,000-hostnetworkatStanfordActiveflowsNeverexceed500Performance:FlowTableSizingSwitchesclosertotheedgewillseeanumberofflowsproportionaltothenumberofhoststheyconnectto.ASwitchat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度工傷人員傷殘?jiān)u定及賠償協(xié)議
- 2025年度集體合同協(xié)商中的勞動(dòng)爭(zhēng)議處理
- 2025年度幼兒園保安聘用合同標(biāo)準(zhǔn)范本
- 二零二五年度專業(yè)護(hù)工針對(duì)心血管疾病病人護(hù)理合同
- 2025年度中小企業(yè)發(fā)展基金借款連帶擔(dān)保人合同
- 2025年度單位食堂承包及員工滿意度提升協(xié)議
- 2025年度知識(shí)產(chǎn)權(quán)股份代持許可使用協(xié)議
- 2025年度國(guó)際文化交流項(xiàng)目合作誠(chéng)意金協(xié)議
- 2025年度工程監(jiān)理個(gè)人勞動(dòng)合同(工程質(zhì)量安全管理)
- 2025年度航空航天器復(fù)合材料維修合同
- 湖南科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試參考試題庫(kù)(含答案)
- 玻璃分化板制作工藝
- 虹吸現(xiàn)象講解
- 設(shè)備采購(gòu)計(jì)劃書
- 長(zhǎng)興縣合溪水庫(kù)清淤工程(一期)環(huán)境影響報(bào)告
- 粒籽源永久性植入治療放射防護(hù)要求
- 新聞選題申報(bào)單
- 醫(yī)學(xué)倫理審查申請(qǐng)表
- 《計(jì)算機(jī)安全基礎(chǔ)》課件
- 養(yǎng)老院行業(yè)現(xiàn)狀分析-2023年中國(guó)養(yǎng)老院行業(yè)市場(chǎng)發(fā)展前景研究報(bào)告-智研咨詢
- 住房公積金貸款申請(qǐng)書
評(píng)論
0/150
提交評(píng)論