Sign-inhere:http://tinyurl.
com/nanog57-rosterWorkshopSlides:http://tinyurl.
com/nanog57-slidescopyrightIndianaUniversityOpenflow90minutesIndianaCenterforNetworkTranslationalResearchandEducationtheresearcharmofInstructorsStevenWallacessw@iu.
eduChrisSmallchsmall@indiana.
edu31October2012Toolsthatwe'llbeusingtoday.
.
.
AmazonWebServices(EC2)OpenVSwitch-theOpenVSwitchdistributionincludesanOFcontroller(i.
e.
,ovs-controller)andausefulcommand-lineutilityovs-ofclt.
WireShark-anopensourcenetwork"sniffer"Mininet-opensourcevirtualnetworkondesktopTeachingHTMLtoexplaintheWWWOpenFlow'spromiseisitsapplication,notitsinternalworkingsYetmuchoftodayisaboutOpenFlow'sinternalworkings,andverylittlewillbepolishedexamplesofitsapplication.
LogisticsOpentherosterspreadsheet(http://tinyurl.
com/nanog57-roster)Findyourrownumber,callitXOpentwoterminalwindowsvia:sshopenflow@vmX.
training.
incntre.
orgUsername:openflowPassword:openflowPointyourbrowserto:http://vmX.
training.
incntre.
org:8090/guacamole%pWhatisOpenFlowIt'saprotocolforcontroltheforwardingbehaviorofEthernetswitchesinaSoftwareDefinedNetworkInitiallyreleasedbytheCleanSlateProgramatStanford,itsspecificationisnowmaintainedbytheOpenNetworkingForumMostoftoday'smaterialisbasedontheOpenFlow1.
0specificationInApril2012,OpenFlow1.
3wasapproved(seealso4/2012ONFwhitepaper)EthernetSwitchTable-based(e.
g.
,TCAM/CAM)high-speedforwardingengineEmbeddedOperatingSystemDataPlaneControlPlaneFeaturesValueAddCLI,SNMP,TFTPOpenFlowControllerTable-based(e.
g.
,TCAM/CAM)high-speedforwardingengineEmbeddedOperatingSystemimplementsOpenFlowDataPlaneControlPlaneFeaturesValueAddOpenFlowProtocolOpenFlowControllerFeaturesValueAddOpenFlowProtocolEachswitchconnectsdirectlywithOFControllerFlowTableHeaderFieldsCountersActionsIngressPortEthernetSourceAddrEthernetDestAddrEthernetTypeVLANidVLANPriorityIPSourceAddrIPDestAddrIPProtocolIPToSICMPtypeICMPcodePerFlowCountersReceivedPacketsReceivedBytesDurationsecondsDurationnanoseccondsForward(All,Controller,Local,Table,IN_port,Port#Normal,Flood)EnqueueDropModify-FieldPriorityFlowTableHeaderFieldsCountersActionsIfingressport==2DroppacketifIP_addr==129.
79.
1.
1re-writeto10.
0.
1.
1,forwardport3ifEthAddr==00:45:23addVLANid110,forwardport2ifingressport==4forwardport5,6ifEthType==ARPforwardCONTROLLERIfingressport==2&&EthType==ARPforwardNORMALPriority327683276832768327683276840000SpecialPortsController(sendspackettothecontroller)Normal(sendspackettonon-openflowfunctionofswitch)Local(canbeusedforin-bandcontrollerconnection)Flood(floodthepacketusingnormalpipeline)FlowTableHeaderFieldsCountersActionsIfingressport==2DroppacketifIP_addr==129.
79.
1.
1re-writeto10.
0.
1.
1,forwardport3Priority3276832768EachFlowTableentryhastwotimers:idle_timeoutsecondsofnomatchingpacketsafterwhichtheflowisremovedzeromeansnevertimeouthard_timeoutsecondsafterwhichtheflowisremovedzeromeannevertimeoutIfbothidle_timeoutandhard_timeoutareset,thentheflowisremovedwhenthefirstofthetwoexpires.
PopulatingtheFlowTableProactiveRulesarerelativelystatic,controllerplacesrulesinswitchbeforetheyarerequired.
ReactiveRulesaredynamic.
Packetswhichhavenomatcharesenttothecontroller(packetin).
Controllercreatesappropriateruleandsendspacketbacktoswitch(packetout)forprocessing.
ControllerandSwitchCommunicationMode-Controllervs.
ListenerTCPCommunication,whoinitiatesconversationModeandPopulatingFlowTableindependentExampleapplication:topologydiscoveryOpenFlowControllerBootstrappinganewswitchSwitchrequiresminimalinitialconfiguration(e.
g.
,IPaddress,defaultGW,andOpenFlowcontroller)Switchconnectstocontroller.
Controllerrequeststhingslikealistofports,etc.
Controllerproceedstodeterminetheswitch'slocation.
BootstrappinganewswitchControllerproactivelyplacesaruleintheswitch.
Ifether_type=LLDP,actions=output:controllerThenthecontrollercreatesanLLDPpacket,sendsittotheswitch,andinstructstheswitchtosenditoutaport(repeatforallports).
Sinceallswitchesinthecontroller'snetworkhavearuletosendLLDPpacketstothecontroller,thecontrollerisabletodeterminethetopology.
OpenFlow1.
0to1.
1FlowTableHeaderFieldsCountersActionsPriorityMatchFieldsPriorityCountersInstructionsCookie1.
01.
1mediadatapacketActionSetNewDataStructureinPipelineGroupIDTypeCountersActionBuckets.
.
.
.
.
.
.
.
.
.
PacketProcessing1.
0Doespacketmatchflowtableentry,ifso,performaction.
1.
1Doespacketmatchflowtableentry,ifso,lookatinstructions.
.
.
Actionsvs.
Instructions1.
1Flowentriescontaininstructions.
Instructionsmaybeimmediateaction(s),orinstructionsmaysetactionsintheactionsetInstructionscanalsochangepipelineprocessing:GototableXGotogrouptableentryxMoreTables1.
1AllowsformultipleflowtablesIncludesagrouptablewithmultiplegrouptabletypesInstructionscanjumptoothertables,butonlyinapositivedirectionOpenFlowQoSOF1.
0Optionalaction"Enqueue"Forwardspacketthroughaqueueattachedtoaport.
ThebehaviorofthequeueisdeterminedoutsidethescopeofOF.
HeaderfieldscanincludeVLANpriorityandIPToS,sotheycanbematchedagainstandre-written.
OpenFlowQoSOF1.
3Stufffrom1.
0Newtable"MeterTable"MeterIdentifierMeterBandsCounters32bitintegerusedtoidentifythemeterlistofmeterbandseachbandspecifiesrateandbehaviorOpenFlowQoS(1.
3cont.
)MeterIdentifierMeterBandsCountersMatchFieldsPriorityCountersInstructionsTimeoutsTimeoutsCookeNewinstructionMetermeter_idBandTypeRateCountersTypeSpecificArgumentsdroporremarkDSCPkb/sburstOpenFlowQoS(1.
3cont.
)MeterIdentifierMeterBandsCountersBandTypeRateCountersTypeSpecificArgumentsdroporremarkDSCPkb/sburstOneormoreMeterBandsperMeterTableEntry"themeterappliesthemeterbandwiththehighestconfiguredratethatislowerthanthecurrentmeasuredrate"Hands-onwithOpenFlow(quickreviewofthetable)HeaderFieldsCountersActionsIngressPortEthernetSourceAddrEthernetDestAddrEthernetTypeVLANidVLANPriorityIPSourceAddrIPDestAddrIPProtocolIPToSICMPtypeICMPcodePerFlowCountersReceivedPacketsReceivedBytesDurationsecondsDurationnanoseccondsForward(All,Controller,Local,Table,IN_port,Port#Normal,Flood)EnqueueDropModify-FieldPriorityHands-onwithOpenFlowOpenFlowControllerNormallyswitchinitiatesaconnectiontoitscontrollerAlthoughnotpartoftheOFspec,manyswitchessupportapassiveOFconnection,wheretheswitchlistensforaconnection.
ovs-ofctlWe'regoingtouseovs-ofctltoquerytheswitch'sstatus.
NewerversionsofOpenVSwitchdonotsupportremotepassiveconnections.
Somehardwaresupportspassiveconnectionandsomedoesn't.
Wewilluselocalconnectionsinthishands-ondemonstrationMininetWewillbeusingMininettosimulateswitchesandhostsinanetwork.
MininetusesOpenVSwitchastheswitchandcreatesLXCContainerVMsashostsOncestarted,themininetprompt"mininet>"allowscommandstoberunonitsvirtualhosts.
Forexamplemininet>h2pingh3causeshosth2topinghosth3Hosth2IP:10.
0.
0.
2eth0Hosth3IP:10.
0.
0.
3eth0Switchs1eth1eth2dp0Tostartmininetandconstructasimplenetwork,runthefollowinginoneoftheterminalwindows:$sudomn--mac--switchovsk--controllerremoteOpenFlowSwitchPeriodicallyattemptingtoconnecttocontrolleronlo:6633Alsolisteningondp0GettingWireSharkReady(somethinginterestingcomingup)configureWireSharktocaptureonthe"lo"interfaceType"of"(withoutthequotes)intheWireSharkFilterAbitaboutovs-ofctlpackagedwithopenvswitch-commonalternativetodpctl(openflowreferencecontroller)command-lineutilitythatsendsbasicOpenflowmessagesusefulforviewingswitchportandflowstats,plusmanuallyinsertingflowentriestoolforearlydebuggingTalksdirectlytotheswitchThisdoesnotrequireacontrollerSwitchmustsupportalistenerport(normallyviaTCP,butinourcaseviadp0FirstStep!
Run:$sudoovs-ofctlshowdp0The'show'commandconnectstotheswitchandprintsoutportstateandOFcapabilitiesWhatweretheresultsType:$sudoovs-ofctldump-flowsdp0Needtosudowhenusingalocaldatapathsocket(dp0)becauseMininet/OpenVSwitchcreatesitasrootNoflowStartthepingagainusingmininetandrecheckovs-ofctl-show$sudoovs-ofctlshowdp0OFPT_FEATURES_REPLY(xid=0x1):ver:0x1,dpid:0000000000000001n_tables:255,n_buffers:256features:capabilities:0xc7,actions:0xfff1(s1-eth1):addr:3a:e2:98:4e:fe:aaconfig:0state:0current:10GB-FDCOPPER2(s1-eth2):addr:36:29:c4:d7:a4:c1config:0state:0current:10GB-FDCOPPERLOCAL(dp0):addr:ca:5d:78:2d:b6:40config:PORT_DOWNstate:LINK_DOWNOFPT_GET_CONFIG_REPLY(xid=0x3):frags=normalmiss_send_len=0ovs-ofctldump-flowssudoovs-ofctldump-flowsdp0GivesusinformationabouttheflowsinstalledRuleitselfTimeoutsActionsPacketsandbytesprocessedbyflowovs-ofctldump-flows$sudoovs-ofctldump-flowsdp01.
NXST_FLOWreply(xid=0x4):2.
cookie=0x0,duration=30.
625s,table=4,n_packets=0,n_bytes=2612,idle_timeout=180,priority=33000,in_port=1actions=output:23.
cookie=0x0,duration=22.
5s,table=4,n_packets=0,n_bytes=2612,idle_timeout=180,priority=33000,in_port=2actions=output:1ovs-ofctldump-ports$sudoovs-ofctldump-portsdp0-Givesphysicalportinformation-Rx,txcounters-Errorcounters1.
OFPST_PORTreply(xid=0x1):14ports2.
port2:rxpkts=25211,bytes=3856488,drop=0,errs=0,frame=0,over=0,crc=0txpkts=7144,bytes=767594,drop=0,errs=0,coll=03.
port5:rxpkts=18235,bytes=3142702,drop=0,errs=0,frame=0,over=0,crc=0txpkts=0,bytes=0,drop=0,errs=0,coll=0Hosth2IP:10.
0.
0.
2eth0Hosth3IP:10.
0.
0.
3eth0Switchs1eth1eth2dp0OpenFlowSwitchPeriodicallyattemptingtoconnecttocontrolleronlo:6633Alsolisteningondp0Exercise#1Solet'sseeifthenetworkisworking.
Pingh2fromh3usingthefollowingcommand:mininet>h2pingh3Afterabityoucantypecontrol-Ctostoptheping.
WhathappenedIntheotherterminalwindowsstarttheovs-controller:$sudoovs-controllerptcp:&Nowtrythepingsagain.
CheckoutWireShark!
Hosth2IP:10.
0.
0.
2eth0Hosth3IP:10.
0.
0.
3eth0Switchs1eth1eth2dp0ovs-controllerLearningSwitchOpenflowLearningSwitchCheckflowtable$sudoovs-ofctldump-flowsdp0LearningSwitchWhatisthestateoftheflowtableWhatistheovs-controllerworkflowWhathappenswhenabroadcastpacketgetssentMulticastControl-Covs-controllerInthatwindowwhereyoustartedovs-controller,enter"fg"thenacontrol-Ctokillthecontroller.
We'llgetbacktoitlater.
Exercise#2Usingovs-ofctltoinsertsimple,port-basedrulesLet'smakesureswitchhasnoexistingflows:$sudoovs-ofctldel-flowsdp0Hosth2IP:10.
0.
0.
2eth0ovs-ofctlprocess$sudoovs-ofctladd-flowdp0idle_timeout=180,priority=33000,in_port=1,actions=output:2$sudoovs-ofctladd-flowdp0idle_timeout=180,priority=33000,in_port=2,actions=output:1mininet>h2pingh3Hosth3IP:10.
0.
0.
3eth0Switchs1eth1eth2dp0Port-basedRulesDothepingsworkWhatdoyouseewith$sudoovs-ofctldump-flowsdp0DothecountersincreaseasexpectedWhat'sgoingonwiththetimeoutsExercise#3-Movingupthestack.
.
.
Firstrulewasport-based.
NextruleisIPsourceaddress-based.
type:$sudoovs-ofctladd-flowdp0idle_timeout=180,priority=33001,dl_type=0x800,nw_src=10.
0.
0.
2,actions=output:2$sudoovs-ofctladd-flowdp0idle_timeout=180,priority=33001,dl_type=0x800,nw_src=10.
0.
0.
3,actions=output:1Hosth2IP:10.
0.
0.
2eth0ovs-ofctlprocessHosth3IP:10.
0.
0.
3eth0Switchs1eth1eth2dp0IPAddress-basedRulesDothepingsworkDidtheport-basedrulestimeoutIftherearenoport-basedrules,whywouldthepingsfailCanyouverifythishypothesisbylookingatthecountersExampleofOpenFlow'sGameChangingPotentialif"FloorPlanEntropy"hasgotyourbisectionbandwidthdown,buildfattreenetworksbasedonlow-costswitchesbyprogrammingthenetworkforthedatacenterviaOpenflow(e.
g.
,PortLand)
HostKvm商家我们也不用多介绍,这个服务商来自国内某商家,旗下也有多个品牌的,每次看到推送信息都是几个服务商品牌一起推送的。当然商家还是比较稳定的,商家品牌比较多,这也是国内商家一贯的做法,这样广撒网。这次看到黑五优惠活动发布了,针对其主打的香港云服务器提供终身6折的优惠,其余机房服务器依然是8折,另还有充值50美元赠送5美元的优惠活动,有需要的可以看看。HostKvm是一个创建于2013年的...
达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...
LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...
www.6633.us为你推荐
云计算什么是云计算?同ip网站查询怎么查自己的服务器挂着哪些网站冯媛甑冯媛甄 康熙来了百度关键词工具如何通过百度官方工具提升关键词排名www.585ccc.com手机ccc认证查询,求网址www.ijinshan.com金山毒霸的网站是多少www.k8k8.com谁能给我几个街污网站我去自己学dpscycleDPScycle插件为什么没有猎人模块 最好详细点ename.com怎么样才能拥有自己的网站啊?就想WWW.XXXX.COM的那种!干支论坛2018天干地支数值是多少?
什么是域名 域名转让网 怎么申请域名 西安电信测速 a2hosting 分销主机 godaddy支付宝 mobaxterm info域名 2017年黑色星期五 免费网络电视 台湾谷歌网址 免费网站申请 天互数据 web服务器架设 刀片服务器是什么 最好的免费空间 天翼云盘 能外链的相册 申请免费空间和域名 更多