WiMAX Tutorial

Transcription

WiMAX Tutorial
WiMAX Tutorial
GREE‐SC 2013
Ivan Seskar, Associate Director
WINLAB
Rutgers, The State University of New Jersey
Contact: seskar (at) winlab (dot) rutgers (dot) edu
WINLAB
Hardware
GRID
VPN Gateway to
Wide-Area Testbed
Gigabit backbone
Front-end
Servers
80 ft ( 20 nodes )
70 ft m ( 20 nodes )
Data
switch
Application Servers
(User applications/
Delay nodes/
Mobility Controllers /
Mobile Nodes)
Control switch
SA1
SA2
SAP
RF/Spectrum Measurements
IS1
IS2
ISQ
Interference Sources
Back-end servers
Internet VPN Gateway
/ Firewall
Radio Node
Version0:COTS:
Intel/Atheros Intel/Atheros
miniPCI
miniPCI
802.11
802.11
a/b/g
a/b/g
•Proofofconcept
•Prototypingplatform
1 Ghz
Version2:Custom
design:
•Functionalrequirements
512 MB
RAM
•Manageability
•Powerconsumption
•Cost
Otherattached
devices:
•Bluetooth
CPU
VIA
C3 1Ghz
20 GB
DISK
Gigabit
Ethernet
22.1Mhz
110
VAC
Gigabit
Ethernet
(control)
Power
Supply
•ZigBee
•GNURadio
PCI
+5v standby
Serial
Console
pwr/reset
volt/temp
CPU
Rabbit Semi
RCM3700
(data)
10 BaseT
Ethernet
(CM)
RJ11 NodeIdBox
Radio Node Photo Album
ORBIT Radio Node
with integrated Chassis Manager
Non-Grid Node
Chassis Manager
ORBIT Radio Node (Version 3)
•
•
•
•
•
•
•
Core2Quadwith
Q35Express
chipset
4GBDDR2
2x Gigabit
Ethernetports
PCI‐ExpressX16
Mini‐PCIsocket
8xUSB2.0
2xCOM
•
•
•
•
•
•
•
•
Core2Duowith
GM45 chipset
8 GBDDR3
2x Gigabit
Ethernetports
PCI‐ExpressX16
PCIExpressmini
socket
Mini‐PCIsocket
8xUSB2.0
2xCOM
Devices: 802.11 a/b/g
•
•
•
•
BasedonAtheros Dual
BandRadio‐on‐a‐Chip
(5212)
Dual‐diversitywith0‐18
dBm (1dBm steps)
PCI2.3andPCCard7.1
hostinterfaceswith
DMAsupport
Drivers:madwifi and
ath5k
•
•
•
IntelDualBand
2915ABG
Dual‐diversitywith‐12‐
+20dBm (1dBm steps)
Drivers:ipw2200
Devices: 802.11n and Bluetooth
•
•
•
•
Belkin F8T003
andF8T010
Bluetoothv1.1
compliant
Rangeof 10m
(100m)
Driver:BlueZ
•
•
•
•
•
Netgear WNDA3100
BasedonAtheros
AR9170+AR9104
2x2MIMO
6.5‐ 300Mbps
Driver:ath9k
•
•
•
•
•
•
D‐LINKDWA‐140
BasedonRalink
RT2870
2x2MIMO
20/40MHzsupport
6.5‐ 300Mbps
Driver*: rt2x00
Devices: USRP/USRP2 with GNU Radio Platform
“Pentium”basedSDR:Open‐sourceGNURadioSoftware‐ signal
processingcodeonhostcomputerinC++(includingFSK,PSK,AM,ASK,
NBFM.WBFM,802.11)
•
•
•
•
IF0‐100MHz
(50MHztransmit)
– 128MS/sDAC
– 64MS/sADC
USBbus(W=8
MHz)
Channelizer code
inAltera Cyclone
FPGA
2RFboardslots

IF‐200MHz(80MHz
receive)

100MS/s14‐bitdual
(IQ)ADCs
400MS/s16‐bitdual
(IQ)DACs

GigabitEthernet(W=25
MHz)

BiggerFPGAw/Multipliers
(XilinxSpartan3)with1
MBhigh‐speedon‐board
SRAMandhighspeed
serialexpansioninterface

1RFboardslot
SelectionofRFdaughtercards (DC‐5.9GHz):DC‐30MHz,50‐870MHz(Rxonly),800‐
2400MHz(Rxonly),400‐500MHz,800‐1000MHz,1150‐1450MHz,1500‐2100MHz,
2300‐2900MHz,2400‐2500+4900‐5840and50‐2200MHz
ZigBee Motes
Processor : Atmega
(4MHz), MSP430 (8MHz)
Memory: 512 kb
Peripherals:Integrated
ADC,DAC,SupplyVoltage
Supervisor,andDMA
Controller
Wireless Radio – CC2420 250kbps2.4GHzIEEE
802.15.4(ZigBee)Chipcon WirelessTransceiver
(now Texas Instruments)
Sensors - Temperature, Light, Humidity
USB port - ProgramminganddatacollectionviaUSB
WARP Platform (Rice University)
•
•
•
•
•
•
XilinxVirtex‐IIPro(Xilinx
XC2VP70)FPGA
10/100Ethernet
4DaughtercardSlots
RS‐232UART
16‐bitDigitalI/O
Radiodauthercard
–
–
–
–
2x160MS/s16‐bitDAC
2x65MS/s14‐bitdual‐ADC
dual‐bandISM/UNIIRF(2400‐
2500MHz,4900‐5875MHz)‐
MIMOcapable
20or40MHzbasebandbandwidth
Designflows:
•Real‐time– OFDM
•Non‐real‐time(interfacesforMATLAB
)– SISOandMIMO
Mobile Platforms
ORBITNode
Intel5150/5350
mini‐PCIexpresscardfor
laptopswithLinuxdriver
HTCEVO4G
Androidbased
portableplatform
RF Interference grid
• Numberofantennas
providingspatial
distributionofinterference
sources(BW=40MHz,
f0=250KHz– 6GHz)
• Ideally@eachantenna,feed
isalinearcombinationof2‐8
sources(costissue)
• Varietyofinterferencetypes
• AbilitytoobserveactualRF
signals
Cable 3 = 112 ft
Cable 4 = 118 ft
America Microwave AGH-2550DD
DC
Power-one
HAD 12-0.4-A
±12V @ 0.4A
Minicircuits
ZRON-8G
DC
America Microwave AGH-2550DD
Power-one
HB 12-1.5-A
15V @ 1.5A
Minicircuits
ZRON-8G
America Microwave AGH-2550DD
Agilent 87106B
SW 1
Miteq
PD4-2000/18000-30S
DB50 Connector
Minicircuits
ZRON-8G
ESG
America Microwave AGH-2550DD
Slot 1
Minicircuits
ZRON-8G
Agilent 34952A
Slot 2
Agilent 34945EXT
(W‐CDMA,cdma2000,1xEV‐DO/DV,
TD‐SCDMA,cdmaOne,WiMax,
GSM/EDGE,GPRS/EGPRS,802.11,
Bluetooth,GPS,enhancedmultitone,
NPR,AWGN,orupto8secofarbitrary
waveformgeneration)
Cable 1 = 89 ft
Cable 2 = 53 ft
Node
Ant 1
Ant 2
Agilent 34946A
Slot 3
RS-232
SW 2
VSA
Agilent 34945A
Agilent 34980A
Agilent 87106B
ORBIT Grid
ORBIT: Field Trial Plan (Phase II)
3G Coverage Area
802.11
Access Points / Radio Routers
3G Base Station
RU BUS Route
(Lines A & H)
Software
Control Panel
Reservation System
Auto‐approval
• Twostagealgorithm:
– “Earlybird”– runsonceaday(at2PM)andresolves
conflictsandapprovesfirsttwohoursforallusersfor
thenextday
• (e.g ifyouaskforyourfirstslotdailyslotfrom10‐12thenext
day,at2PMadayearlieryouwillknowwheather yougotit).
– “Justintime”– forreservationsmadeafter2PMorfor
morethan2hoursperdayperdomain,theslotswillbe
automaticallyapprovedatthebeginningoftheslot.
• Conflictsareresolvedbasedonusageinthelasttwo
weeks
– (thelessyou(ab)useitthemorelikelyyouaretogetit
).
• Beawareofmajorconferencedeadlines
Status Page
First Exercise: Scheduler, Login (ssh) and Status Page
ORBIT Management Framework
OMFisaframeworktouse andmanage experimental
platforms(testbeds)
Use
‐ support“experimentcycles” &scientificrigor
- validation,accuracy&reproducibility
Manage
- easeoperationandmaintenancetasks
- optimizeresourceutilizationinside/across
testbeds
WrittenmostlyinRuby
OMF Workflow
OMFTasks:
1. Controllingexperiments
2. Managingthetestbed
3. Measuringandcollecting
results
OMF ‐ Experimenter View
Testbed(s)
Experiment
Description
Node1
OMLClient
Experiment
Controller
(NodeHandler)
Console
Aggregate
Managers
(GridServices)
Server(s)
ResourceController
(NodeAgent)
….
DB
NodeK
Control&Management
Network
AppsA
AppsA
AppsA
OMLClient
ResourceController
(NodeAgent)
ExperimentalNetwork(s)
AppsA
AppsA
AppsA
OMF Command (aka “NodeHandler”)
omf [SUBCOMMAND][ARGUMENT]...
Subcommand
Description
omf help
Displaythehelpforusingomf commands.
omfexec
Executeanexperimentscript.
omfload
Loadadiskimageonagivensetofnodes.
omfsave
Saveadiskimagefromagivennodeintoa
file.
omftell
SwitchagivensetofnodesON/OFF.
omfstat
Returnsthestatusofagivensetofnodes
Second Exercise: Basic OMF commands
omf {tell, stat, load}
ORBIT Measurement Library
HardwarewithdedicatedNICforcontrol/instrumentation
Experimentersmeasurenode,network&application
performance(i.e.alotofnumbers).
Howtocollectthesenumbersinreal‐time,ina
distributedenvironmentlikeORBIT?
OMLdesigngoal:distributedsoftware
infrastructuretocollectmeasurementsinreal‐
timewhileprovidingflexible(anddynamic)way
tomodifythecollectionprocess.
Orbit Measurement Library (OML)
• Pushbasedarchitecture
• Allexperimentdatainoneplace– including
metadata
• Separationofconcerns
– Instrumentation
– Collection
• Minimizecollectionoverhead
– ApplicationCPUtime
– Experimentaltrafficinterference
• Proxyserverfordisconnectedoperation
OML Client + Server
Measurement
points
Measurement
streams
Filters
Application
orService
Databasetables
OML
Server
File
Database
(SQL)
OMLclientlibrary
OML – Measurement Collection
Experiment Node
Experiment Node
Application
Application
Experiment Node
Application
Application
Measurements
OML Server
OML Server
30
Experimental Support
Applications
Filters
• TrafficGeneration/Measurements
– OTG…TrafficGenerator
– Iperf
• Monitoring
–
–
–
–
–
Libtrace
Libsigar
SpectrumAnalyzer
GPS
(Weather)
• Components
– TinyOS/Motes
– (GnuRadio)


Plug‐in
Architecture
User
extensibility
CurrentList
 Stddev
 Average
 First
 Histogram
OML2 Functions
• omlc_init() – usedforOMLinitialization
omlc_init(arg(0),&argc,argv,o_log);
• oml_add_mp()– calledtoregistereach
measurementpointwiththecontainer
oml_mp=omlc_add_mp("udp_out",oml_def);
• omlc_start() ‐ usedtostartthelocalcollection
daemon
• omlc_process() – usedtospecifythestagesat
whichtocollectthemeasurementpoints
omlc_process(oml_mp,v);
OMF Experiment Description Language (OEDL)
• Domain‐specificLanguagebasedonRuby
• Twopartsofexperimentdescription(ED):
– Resourcerequirementsandconfiguration:
specifiesexperimentalresources
– Taskdescription:state‐machine that
enumeratestaskstoperform
• Atthemomentnodesareidentifiedbytheir
2D“location”(coordinatesinthegrid)
OEDL Commands
8groups:
• Top‐levelcommands
• Topology‐specificcommands
• Group‐specificcommands
• Prototype‐specificcommands
• Application‐specificcommands
• Execution‐specificcommands
• ResourcePaths
• Testbed‐specificcommands
OEDL Top‐level Commands: defProperty
defProperty(name,initialValue,description)
•
•
•
name:nameoftheproperty.Thisnamewillbeusedtoreferto
thispropertyinanyconsecutiveOEDLcommands.
initialValue:theinitialvalueoftheproperty.Thisalso
determinesthetypeoftheproperty.
description:Textualdescription.UsedinExperiment
Controller'shelpmessage,aswellasforthedefaultweb
interface.
Usage:
defProperty('rate',300,'Bitspersecondsentfromsender')
defProperty('packetSize',1024,'Sizeofpacketssentfromsender')
OEDL Top‐level Commands: prop
prop.propName
prop.propName =newValue
•
•
propName:Nameofexperimentproperty.
newValue:Newvaluetoassigntotheproperty.
Usage:
defProperty('rate',300,'Bitspersecondsentfrom
sender')…
'rate'=>prop.rate
…
[500,1000,2000].each{|newRate|
prop.rate =newRate 14
}
OEDL Top‐level Commands: logging
debug(arg1,...)
info(arg1,...)
warn(arg1,...)
error(arg1,...)
•
arg1:Noneormorestringstobelogged
Usage:
info("Starting")
debug(i,"resource(s)areup")
Note:DEBUGandINFOlognormalprogressandcanbeignored,while
WARNINGandERRORreportonabnormalbehavior.
OEDL Top‐level Commands: wait
wait(time)
•
time:pauseexperimentexecutionfortimeseconds
Usage:
whenAllInstalled {
...
[500,1000,2000].each{|newRate|
prop.rate =newRate
wait30
}
}
OEDL Topology Commands: defTopology
Usedtospecifytopologyconsistingofasetof
nodesandlinkseachwithcertaincharacteristics
defTopology(name,arrayOfNodes =nil,&block=nil)
• name:Nameofthedefinedtopology.
• arrayOfNodes:(optional)arrayofresources(e.g.nodes)to
includeinthistopology.
– thelistofvaliddefinitionpatternsare:
• [x,y]:Describesasinglenodeatlocationx@y
• [x1..x2,y]:Describesasetofnodesalongalinestartingatx1@yand
[email protected],[2..4,5]definesthenodes[2,5],[3,5],[4,5].
• [x,y1..y2]:Sameasprevious,butfortheycoordinate.
• [x1..x2,y1..y2]:Thisdefinesarectangleareaofnodeswithinthegrid.
• [[x1,y1],[x2,y2],[x3,y3]]:Anarbitrarylonglistofsinglenodes.
• block:(optional)ablockofcommandsthatcanbeusedto
build/configurethistopology.
OEDL Topology Commands: defTopology (cont’d)
TopologySub‐Commands
addNode(x,y)
removeNode(x,y)
addLink(x,y,spec)
RemoveLink(x,y)
size()
getNode(index)
Description
Addnodeatlocationx@y tothetopology.
Removenodeatlocationx@yfromthetopology.
Addsalinkbetweennodesxandyandconfiguresitwiththecharacteristicsdefinedin
the'spec'.'spec'isahashwiththefollowingvalidkeys{:rate,:per,:delay,:asymmetric}
Seversthelinkbetweennodesxandy.
Returnthenumberofnodesinthistopology.
Returnthenodeatthepositionindexinthistopology.Returnnilifindexisgreater
thanthenumberofnodesinthetopology.
getFirstNode()
getLastNode()
getRandomNode()
Returnthenodeatthe1stpositioninthistopology.
setStrict()
unsetStrict()
hasNode(x,y)
Setthestrictflagforthistopology.Bydefault,thestrictflagisNOTsetforatopology.
Returnthenodeatthelastpositioninthistopology.
Returnarandomnodefromthistopology.
Returnauniquerandomnodefromthistopology. Whenalltheavailablenodesinthis
getUniqueRandomNode() topologyhavebeendrawn,thismethodwillreturnnilandoutputawarningmessage
totheconsole.
Executethecommandsinblockoneachnodewithinthistopology.
eachNode(&block)
Clearthe"strict"flag.Bydefault,thestrictflagisNOTsetforatopology.
Returntrueifthenodeatlocationx@y ispartofthistopology,returnfalseotherwise.
OEDL Topology Commands: defTopology (cont’d)
defTopology('test:topo:circle'){|t|
nodeNum =8
xCenter =10
yCenter =10
radius=nodeNum
#usesimple4‐wayalgorithmtopickthenodes
r2 =radius*radius
t.addNode(xCenter,yCenter +radius)
t.addNode(xCenter,yCenter ‐ radius)
(1..radius).each{|x|
y=(Math.sqrt(r2 ‐ x*x)+0.5).to_i
t.addNode(xCenter +x,yCenter +y)
t.addNode(xCenter +x,yCenter ‐ y)
t.addNode(xCenter ‐ x,yCenter +y)
t.addNode(xCenter ‐ x,yCenter ‐ y)
}
}
OEDL Group Commands: defGroup
defGroup(groupName,selector,&block=nil)
• groupName:nameofthedefinedsetofresources
• selector:selectstheresourcestobecontainedinthisset.
GroupselectorcanbealsodefinedwithtopologyURI(i.e.
setofnodesthatformthetopology)
• block:instructionsforallresourcesinthegroup
Usage:
defGroup('sender1',[1,1])#setcontains1resource
defGroup('sender2',[2,1..8])#setcontains8resources[2,1],[2,2],...[2,8]
defGroup('sender',['sender1','sender2',[3,1..8]]){|node|
node.prototype("test:proto:sender",{
'destinationHost'=>'192.168.1.1',
…
}
node.net.w0.mode="master"#802.11MasterMode
}
OEDL Group Commands: defGroup (cont’d)
addApplication
Installanapplicationonanode
exec
Executeacommandonallnodesinthisgroup.
image
Checkwhetheranodebootsintherequiredimage.
(notavailableinversion4.4oftheNH)
netmask
Thisisthenetworkmaskresourcepath.
onNodeUp
Executeablockofcommandswhenanodeisup.
pxeImage(...)
InstructsaresourcetobootfromanetworkPXEimage
(recommendedforexpertusersonly).
OEDL Group Commands: group and allGroups
group(groupSelector).command()
group(groupSelector).resource_path =value
group(groupSelector).resource_path {...}
•
•
•
•
groupSelector: setofresourcestouse.
command:commandtorunforthatset.
resource_path:istheparametertobeset
value: isthevaluetoassigntotheresourcepath
parameter
Usage:
group('sender1').startApplications
group(['s1','r1']).net.w0.essid="orbit"
allGroups.net.w0{|w|
w.essid ="orbit“
}
Resource Paths
• Aresourcepathallowstheaccessandthe
valueassignmentofaspecificconfiguration
parameterofaresource
• CanbeusedinanysectionoftheED.
• Followahierarchicalorganization:
<resource_selector>.<hierarchical_path>
allGroups.net.w0.type=g
Setofallnodesdefined
intheEDaretheresource
Network
parameter
Setitto802.11g
Typeattribute
Ofthefirst
wirelessdevice
net ‐ network resource path
– {e0,e1}Ethernetinterface
•
•
•
•
arp =true|false En/disableARP
forward=true|false Enableforwarding
ip =address/netmask IPaddressofinterface
up=true|false En/disableinterface
– {w0,w1}Wirelessinterface
• Alltheabove
• channel(intel only)=1..11;36,40,44,48,52,56,60,64,149,153,
157,161
• frequency(intel only)=2.412..2.462GHz(5Mhz steps);5.18GHz
(20Mhzsteps)
• essid =arbitrarystring
• mode=master|managed|monitor,ad‐hoc(intel only)
• rts (atheros only)=packetSizeThreshold [bytes]
• rate(intel only)=1,5,11;6,9,12,18,24,36,48,54
• tx_power =‐12..15dBm (intel),0..20dBm (atheros)
• type=a/b/g
OEDL Testbed Commands (ORBIT): antenna
Thiscommandenablesyoutoinjectarbitrarywaveforminto
thegrid
antenna(selector).signal.resource =value
antenna(selector).signal{}
• selector:expressiontoselectthe
antennaset.
• signal:pathtonoisegenerator.
• resource:antennaparametersthatcan
beconfiguredare:
bandwidth:Bandwidthofsignal
channel:802.11channel
power:outputpowerindbM
on:onwhensettotrueandoffwhenset
tofalse.
– value:valuetoassigntoparameter.
–
–
–
–
Usage:
antenna(4,4).signal{|s|
s.bandwidth =20
s.channel =36
s.power =prop.noisePower
}
hello‐world‐wireless.rb
defProperty('res1','node1‐1.grid.orbit‐lab.org',"IDof
sendernode")
defProperty('res2','node1‐2.grid.orbit‐lab.org',"IDof
receivernode")
defProperty('duration',60,"Durationofthe
experiment")
defGroup('Sender',property.res1)do|node|
node.addApplication("test:app:otg2")do|app|
app.setProperty('udp:local_host','192.168.0.2')
app.setProperty('udp:dst_host','192.168.0.3')
app.setProperty('udp:dst_port',3000)
app.measure('udp_out',:samples=>1)
end
node.net.w0.mode="adhoc"
node.net.w0.type='g'
node.net.w0.channel="6"
node.net.w0.essid="helloworld"
node.net.w0.ip="192.168.0.2"
end
defGroup('Receiver',property.res2)do|node|
node.addApplication("test:app:otr2")do|app|
app.setProperty('udp:local_host','192.168.0.3')
app.setProperty('udp:local_port',3000)
app.measure('udp_in',:samples=>1)
end
node.net.w0.mode="adhoc"
node.net.w0.type='g'
node.net.w0.channel="6"
node.net.w0.essid="helloworld"
node.net.w0.ip="192.168.0.3"
end
onEvent(:ALL_UP_AND_INSTALLED)do|event|
info"ThisismyfirstOMFexperiment"
wait10
allGroups.startApplications
info"AllmyApplicationsarestartednow..."
waitproperty.duration
allGroups.stopApplications
info"AllmyApplicationsarestoppednow."
Experiment.done
end
Third Exercise: “Hello World” (wireless)
omf exec test:exp:tutorial:hello‐world‐wireless ‐‐ ‐‐res1 node1‐
1.sb1.orbit‐lab.org ‐‐res2 node1‐2.sb1.orbit‐lab.org
IEEE 802.16 (WiMax, WiBro)
802.16 Key Features
• CommonMACwithmultiple(subscriber)adaptive
PHYtechnologies
• SupportforbothTDDandFDD
• Modulardesign
• Multiplenetworktopoplogies:bothsigle‐hopand
multi‐hop(PtP,PmPandMesh)
• Multipleantennatechnologies:omni,
directional/sectorized,adaptiveandMIMO
• Multipleencapsulatedprotocolpayloads
• Flexibletransmissionpolicies(ARQ)
• IntegratedQoS
• 802.16‐2004
802.16 Standards
– 802.16‐2001/802.16REVd
– 802.16a/b(2‐11Ghz,Mesh,non‐line‐of‐sigth)
– 802.16c(detailedsystemprofiles)
•
•
•
•
•
•
•
•
802.16e:MobileWirelessMAN
802.16f:ManagementInformationBase
802.16g:ManagementPlaneProceduresandServices
802.16h:ImprovedCoexistenceMechanismsforLicense‐
ExemptOperation
802.16i:MobileManagementInformationBase
802.16j:MobileMultihopRelay
802.16/Conformance0X:ConformanceTestStandards
802.16.2:LicensedCoexistence
– 802.16.2‐2001– WirelessMAN‐SC
– 802.16.2‐2004– exandedfor16afrequencies
IEEE 802.16 Reference Model
ServiceAccessPoints
MAC
•ATMCS
•EthernetCS
•IPCS
ServiceSpecific
ConvergenceSublayer
(CS)
MACSAP
MACCommon
PartSublayer
(MACCPS)
SecuritySublayer
PHY
PHYSAP
PhysicalLayer
Data/ControlPlane
ManagementEntity
ServiceSpecific
Syblayers
ManagementEntity
MacCommonPart
Sublayer
SecuritySublayer
ManagementEntity
PHYLayer
ManagementPlane
NetworkManagementSystem
CSSAP
802.16 PHY Parameters
Parameters
Values
Bandwidth(MHz)
7
5
10
SamplingFrequency (MHz)
8
5.6
11.2
FFT Size
1024
512
1024
Subcarrierspacing(kHz)
7.81
10.93
10.93
Symboltime(μs)
128
91.4
91.4
Guardtime(μs)
16
11.4
11.4
OFDMAsymboltime(μs)
144
102.8
102.8
BW
7
5
10
Path
DL
UL
DL
UL
DL
UL
Usedsubcarriers
840
840
420
408
840
840
Datasubcarriers
720
560
360
272
720
560
Sub‐channels
30
35
15
17
30
35
802.16 MAC
• Connectionorienteded
– ConnectionID(CID),ServiceFlows(SF)
• Channelaccess:
– UL‐MAP‐ definesuplinkchannelaccessanddataburst
profiles
– DL‐MAP‐ definesdownlinkdataburstprofiles
– UL‐MAPandDL‐MAParebothtransmittedinthe
beginningofeachdownlinksubframe(FDDandTDD).
• CShidesdetailsofpayloadprotocolfromMACby:
– MappingpayloadprotocolPDUtoMACserviceflow
throughsetofconfiguredrules‐ classifiers
– Compressingredundantpayloadprotocolheaders
– DeliveringMSDUtoMAC
OFDMA Frame Structure
Frame1
Frame2
Frame3
…
Framek
…
Framej
Frame...
Adaptive
DownlinkSub‐frame
UplinkSub‐frame
time
802.16 Bandwidth requests and allocations
• Requests
– Using”contentionrequestopportunities”asaresponseto
multicastorbroadcastpoll
– Bysending”BWrequest”inanallreadygrantedslot
– PiggybackaBWrequestmessageonadatapacket
• Twomodesofallocations:
• GrantPerSubscriberStation(GPSS)
• GrantPerConnection(GPC)
• DecisionbasedonrequestedbandwidthandQoS
requirementsvsavailableresourcesandarerealized
throughtheUL‐MAP.
QoS Classes
SF Class
Target Traffic
CBRreal‐time
Parameters
ertPS
VoIPwithsilence
suppression
maximumsustainedrate,maximum
latencyandtoleratedjitter
rtPS
Variablebitrate
real‐time
Non‐real‐timeVBR
trafficwithnodelay
guarantee
Everything else
minimumreservedtrafficrate,
maximumsustainedtrafficrate
UGS
nrtPS
BE
maximumsustainedrate,maximum
latencyandtoleratedjitter
minimumrate
minimumreservedtrafficrate,
maximumsustainedtrafficrate(not
guaranteed)
802.16 Scheduling
• Downlinkschedulingissimple– queuesin
BS
• Uplinkscheduling
– QueuesaredistributedamongSSs.
– QueuestatesandQoSrequirementsare
obtainedthroughrequests.
• Algorithmsnotdefinedinstandard
NEC WiMax Hardware
Basestation
(IDU)Unit
RF(ODU)
Amplifier
RoofmountedAntenna
• Operational with an educational license
• Inherently IP based
WiMax Kit Architecture
Cons‐wm‐02
eth2
10.0.102.2
Outdoor
Network
Internal
Network
eth0
Outside
World
OutsideBus(Trunk)
vBTSSubstrate
eth1
Cons‐wm‐03
eth2
10.0.102.3
eth0
ASNSubstrate
VMBus(Trunk)
10.3.0.73
eth1
Instrumentation
Network
BaseStation(BTS)
eth1
10.3.0.61
WiMax WiMax BTS
vBTSSubstrate
Data
And
Control
Pipes
Un‐modifiedWiMAX
BTS
ASNSubstrate
(Blackbox)
BaseStation(BTS)
• TheBTSitselfisablackbox
• Hence,thesliceisolationmechanismandcontrol
frameworkisoutsideofthisbox
WiMax: ASN Packet Forwarding
vBTSSubstrate
ASNSubstrate
BaseStation(BTS)
• RemovedalldefaultIProuting,simplifiedASNcontroller*
• AllswitchingpurelybasedonMACaddresses
• ImplementedtheVNTSshapingmechanisminclickfor
sliceisolation
*WorkdoneatNEC
WiMax: vBTS Architecture
Dynamically
created
VLANs
Virtual
machine
instances
vBTSSubstrate
ASNSubstrate
BaseStation(BTS)
• RedirectalltrafficfromVLANstoindividualslices
• SimilarredirectionfromslicestooutboundVLAN
interfaces
• Gridservicesforcreation,destruction,maintenanceof
slices,addingclients,sliceallocationcontrol…
SB4
Fourth Exercise: Connect to the BS
modprobe, wimaxd, wimaxcu
wimaxrf
Basic WiMAX Commands (Intel 6250)
root@node1‐1:~#lsusb
Bus002Device003:ID03fd:000fXilinx,Inc.
Bus002Device002:ID8087:0020IntelCorp.IntegratedRateMatchingHub
Bus002Device001:ID1d6b:0002LinuxFoundation2.0roothub
Bus001Device003:ID8086:0186IntelCorp.WiMAXConnection2400m
Bus001Device002:ID8087:0020IntelCorp.IntegratedRateMatchingHub
Bus001Device001:ID1d6b:0002LinuxFoundation2.0roothub
root@node1‐1:~#modprobe ‐ii2400m_usb
root@node1‐1:~#ps ‐ef |grep wimax
root154101010:04?00:00:00/usr/bin/wimaxd ‐b‐iwmx0
root1543815378010:05pts/000:00:00grep ‐‐color=autowimax
root@node1‐1:~#wimaxcu connectnetwork51
CurrentPreferredProfileis:
ID:51
Name:GENI4G
ConnectingtoGENI4GNetwork...
Connectionsuccessful
OpenFlow in ORBIT
ORBIT SDN Deployment
SB9