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)
腾讯云双十一活动已于今天正式开启了,多重优惠享不停,首购服务器低至0.4折,比如1C2G5M轻量应用服务器仅48元/年起,2C4G8M也仅70元/年起;个人及企业用户还可以一键领取3500-7000元满减券,用于支付新购、续费、升级等各项账单;企业用户还可以以首年1年的价格注册.COM域名。活动页面:https://cloud.tencent.com/act/double11我们分享的信息仍然以秒...
由于行业需求和自媒体的倾向问题,对于我们个人站长建站的方向还是有一些需要改变的。传统的个人网站建站内容方向可能会因为自媒体的分流导致个人网站很多行业不再成为流量的主导。于是我们很多个人网站都在想办法进行重新更换行业,包括前几天也有和网友在考虑是不是换个其他行业做做。这不有重新注册域名重新更换。鉴于快速上手的考虑还是采用香港服务器,这不腾讯云和阿里云早已不是新账户,考虑到新注册UCLOUD账户还算比...
pacificrack在最新的7月促销里面增加了2个更加便宜的,一个月付1.5美元,一个年付12美元,带宽都是1Gbps。整个系列都是PR-M,也就是魔方的后台管理。2G内存起步的支持Windows 7、10、Server 2003\2008\2012\2016\2019以及常规版本的Linux!官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7月秒杀VP...
www.6633.us为你推荐
金评媒朱江喜剧明星“朱江”的父亲叫什么?同ip网站查询怎么查自己的服务器挂着哪些网站同ip网站查询服务器禁PING 是不是就可以解决同IP网站查询问题比肩工场比肩成局 什么意思www.kkk.comwww.kkk103.com网站产品质量有保证吗rawtools佳能单反照相机的RAW、5.0M 是什么意思?丑福晋谁有好看的言情小说介绍下同ip域名什么是同主机域名www.yahoo.com.hk香港有什么网页avtt4.comwww.51kao4.com为什么进不去啊?
双线虚拟主机 如何申请域名 tk域名 国外网站代理服务器 域名转向 刀片服务器的优势 泉州移动 美国网站服务器 重庆双线服务器托管 免费邮件服务器 架设邮件服务器 河南移动梦网 ebay注册 英雄联盟台服官网 九零网络 ncp asp介绍 侦探online web服务器有哪些 godaddy域名 更多