The rd NS v Sim ulator W orkshop br ought to you by - - PDF document

the rd ns v sim ulator w orkshop br ought to you by kevin
SMART_READER_LITE
LIVE PREVIEW

The rd NS v Sim ulator W orkshop br ought to you by - - PDF document

The rd NS v Sim ulator W orkshop br ought to you by Kevin F all La wrence Berk eley National Lab oratory kfal le elblgov httpwwwnr ge elblgovkfal l AND Kannan V aradhan


slide-1
SLIDE 1 The rd NS v Sim ulator W
  • rkshop
br
  • ught
to you by Kevin F all La wrence Berk eley National Lab
  • ratory
kfal le elblgov httpwwwnr ge elblgovkfal l AND Kannan V aradhan formerly at USCISI kannanc atarinausce du httpwwwisie dukannan August
slide-2
SLIDE 2 Audience and Outline
  • Audience
  • net
w
  • rk
researc hers
  • educators
  • dev
elop ers
  • T
  • pics
for to da y
  • VINT
pro ject goals and status Kevin
  • arc
hitecture plus some history KevinKannan
  • v
erview
  • f
ma jor comp
  • nen
ts Kevin
  • pro
jectco de status Kevin
  • details
  • f
ma jor comp
  • nen
ts Kevin
  • em
ulation facilit y Kevin
  • COTcl
link age and sim ulation debugging Kannan
  • scenario
generation and sessionlev el supp
  • rt
Kannan
  • m
ulticast and reliable m ulticast Kannan
  • a
complex link CBQ Kevin
  • p
erformance issues Kannan
  • discussion
and futures Ev ery
  • ne
rd NSv W
  • rkshop
kfal le elblgov Slide
slide-3
SLIDE 3 NSv Arc hitecture
  • Ob
jectorien ted structure
  • ev
  • lution
from NSv C with regular Tcl
  • b
jects implemen ted in C and OTcl
  • OTcl
  • b
jectorien ted extension to Tcl from Da vid W etherall at MITLCS for V uSystem no w supp
  • rted
b y UCB Mash group
  • Con
trolData separation
  • con
trol
  • p
erations in OTcl
  • data
pass through C
  • b
jects for sp eed
  • Mo
dular approac h
  • negrain
  • b
ject decomp
  • sition
  • p
  • sitives
comp
  • sible
reusable
  • negatives
m ust plum b in OTcl dev elop er m ust b e comfortable with b
  • th
en vironmen ts to
  • ls
fairly steep learning curv e rd NSv W
  • rkshop
kfal le elblgov Slide
slide-4
SLIDE 4 Dev elopmen t Status
  • sim
ulator co de basis for VINT Pro ject
  • ish
p eople activ ely con tributing to the co de base
  • con
tributions from Xero x P AR C USCISI UCB LBNL
  • Some
appro ximate n um b ers
  • K
lines
  • f
C co de
  • K
lines
  • f
OTcl supp
  • rt
co de
  • K
lines
  • f
test suites examples
  • K
lines
  • f
do cumen tation
  • Users
w e kno w ab
  • ut
  • univ
ersities
  • companies
  • US
go v ernmen t sites
  • See
main VINT and NS w eb pages at httpnetwebusceduvint httpwwwmashcsberkeleyeduns nshtm l
  • Op
en mailing lists
  • nsusersmashcsb
erk eley edu
  • nsannouncemashcsb
erk eley edu
  • T
  • subscrib
e
  • ma
jordomomashcsb erk eley edu rd NSv W
  • rkshop
kfal le elblgov Slide
slide-5
SLIDE 5 Directory Structure
  • common
directory shared b et w een MASH UCB and VINT pro jects

Tcl

conf ... WORK common vint doc ns-2 nam lib test ex

bin

tcl www

rd NSv W
  • rkshop
kfal le elblgov Slide
slide-6
SLIDE 6 Class Hierarc h y
  • T
  • plev
el classes implemen t simple abstractions

NewReno Replicator

AddrClassifier

Agent/Message/Prober

McastClassifier

Queue Classifier

Agent/Message

Delay Agent/TCP TclObject Connector

Shared with MASH Project:

NsObject Trace/Drop Trace/Hop Trace RED Agent Trace/Enq ... ... Trace/Deq Reno DropTail

rd NSv W
  • rkshop
kfal le elblgov Slide
slide-7
SLIDE 7 Example a no de
  • No
de a collection
  • f
agents and classiers
  • Agen
ts usually proto col endp
  • in
ts and related
  • b
jects
  • Classiers
pac k et dem ultiplexers

Agent

Port Classifier Local Addr

Link Link

Classifier Addr

Node

Node.entry

Agent Agent

  • Note
that the no de routes to itself
  • r
to do wnstream links rd NSv W
  • rkshop
kfal le elblgov Slide
slide-8
SLIDE 8 Example a link
  • k
eeps trac k
  • f
from and to No de
  • b
jects
  • generally
encapsulates a queue dela y and p
  • ssibly
ttl c hec k er

Queue split classes (OTcl class) Link Delay

  • Man
y more complex
  • b
jects built from this base rd NSv W
  • rkshop
kfal le elblgov Slide
slide-9
SLIDE 9 Example routers
  • routers
unicast and m ulticast b y plum bing

Node ... ... Node

Node.entry

Link Link Link

  • m
ulticast router adds additional classiers and replicators
  • Replicators
dem uxers with m ultiple fanout

Addr Replicator Replicator Addr Classifier Classifier unicast? Mcast Classifier

MulticastNode

multicast?

... ...

(S1, G1) (S2, G2) (S3, G3)

Link Link

Node.entry

Link

rd NSv W
  • rkshop
kfal le elblgov Slide
slide-10
SLIDE 10 OTcl Basics
  • See
the page at ftpftptnslcsmitedupubotcl
  • b
ject
  • rien
ted extension to tcl
  • classes
are
  • b
jects with supp
  • rt
for inheritance
  • Analogs
to C
  • C
has single class decl
  • OTcl
attac hes metho ds to
  • b
ject
  • r
class
  • C
constructordestructor
  • OTcl
initdestro y metho ds
  • this
  • self
  • OTcl
metho ds alw a ys virtual
  • C
shado w ed metho ds called explicitly with scop e
  • p
erator
  • OTcl
metho ds com bined implicitly with self next
  • C
static v ariables
  • OTcl
class v ariables
  • m
ultiple inheritance is supp
  • rted
  • F
  • r
use with tcl see httpwwwmashcsberkeleyedudist rd NSv W
  • rkshop
kfal le elblgov Slide
slide-11
SLIDE 11 OTcl Basics con td
  • use
instvar and instpr
  • c
to deneaccess mem b er functions and v ariables
  • Example
Class Counter Counter instproc init fg f self instvar cnt set cnt
  • g
Counter instproc bump fg f self instvar cnt incr cnt g Counter instproc val fg f self instvar cnt return cnt g Counter c c val
  • c
bump c val
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-12
SLIDE 12 COTcl Split Ob jects
  • Split
  • b
jects implemen t metho ds in either language
  • new
and delete set c new Counter c val
  • c
bump c val
  • delete
c
  • Dene
instance v ariables in either C
  • r
OTcl CounterCounter f bindcnt
  • value
  • value
  • g
vs self set cnt
  • bind
simply uses Tcl T r ac eV ar rd NSv W
  • rkshop
kfal le elblgov Slide
slide-13
SLIDE 13 Example a simple sim ulation
  • A
small but complete sim ulation script
  • set
up no de top
  • logy
and
  • ne
bulkdata transfer TCP
  • arrange
to trace the queue
  • n
the rk link
  • place
trace
  • utput
in the le simpouttr
  • Create
a simple four node topology
  • s
  • Mbms
  • Mbms
  • r
  • k
  • Mbms
  • s
set stoptime
  • set
ns new Simulator set nodes ns node set nodes ns node set noder ns node set nodek ns node ns duplexlink nodes noder Mb ms DropTail ns duplexlink nodes noder Mb ms DropTail ns duplexlink noder nodek Kb ms DropTail ns queuelimit noder nodek
  • ns
queuelimit nodek noder
  • set
tcp ns createconnection TCP nodes TCPSink nodek
  • tcp
set window
  • tcp
set packetSize
  • Set
up FTP source set ftp tcp attachsource FTP set tf
  • pen
simpouttr w ns tracequeue noder nodek tf ns at
  • ftp
start ns at stoptime close tf puts simulation complete ns halt ns run rd NSv W
  • rkshop
kfal le elblgov Slide
slide-14
SLIDE 14 Example a simple sim ulation con t
  • The
trace le pro duced lo
  • ks
lik e this
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • d
  • tcp
  • tcp
  • tcp
  • tcp
  • d
  • tcp
  • tcp
  • tcp
  • tcp
  • d
  • tcp
  • tcp
  • tcp
  • tcp
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-15
SLIDE 15 The Sim ulator
  • Sim
ulator API is a set
  • f
metho ds b elonging to a simulator
  • b
ject
  • Create
a sim ulator with set ns new Simulator
  • What
this do es
  • initialize
the pac k et format calls create packetformat
  • create
a sc heduler defaults to using a calendar queue
  • Sc
heduler
  • handles
time timers and ev en ts pac k ets deferred executions A Ts
  • SchedulerList
  • link
edlist sc heduler
  • SchedulerHeap
  • heapbased
sc heduler
  • SchedulerCalendar
  • calendarqueue
sc heduler
  • SchedulerRealTime
  • realtime
for em ulation
  • see
Reev es Complexit y Analyses
  • f
Ev en t Set Algorithms The Computer Journal
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-16
SLIDE 16 Using the sc heduler
  • Sc
heduler API is through Sim ulator
  • b
ject Simulator instproc now
  • r
eturn sche dulers notion
  • f
curr ent time Simulator instproc at args
  • sche
dule exe cution
  • f
c
  • de
at sp e ci e d time Simulator instproc run args
  • start
sche duler Simulator instproc halt
  • stop
p ause the sche duler Simulator instproc createtrace type files src dst
  • cr
e ate tr ac e
  • bje
ct Simulator instproc createpacket fo rm at
  • set
up the simula tors p acket format
  • Example
MySim instproc begin
  • set
ns new Simulator ns usescheduler Heap ns at
  • self
completesim
  • MySim
instproc completesim
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-17
SLIDE 17 Sim ulator Timing
  • eac
h top
  • logy
  • b
ject has a generic receiv e metho d NsObjectrecvPacket Handler h
  • most
  • b
jects ha v e single neigh b
  • r
Connectortarget
  • cutthr
  • ugh
transfers send pac k et directly to neigh b
  • r
without in v
  • lving
sc heduler ConnectorsendPacket p f target recvp g
  • sche
duling b arriers
  • an
y p
  • in
t that adv ances time in to future ie dela y elemen t
  • need
in terob ject proto col to decouple timing
  • barrier
tak es nonn ull Handler
  • sc
hedule dela y and in v
  • k
e handler
  • n
completion
  • example
queuedela y
  • b
jects later rd NSv W
  • rkshop
kfal le elblgov Slide
slide-18
SLIDE 18 Mathematical Supp
  • rt
  • Random
n um b er generation
  • RNG
implemen ted in sim ulator should pro duce same results
  • n
v arious platforms
  • based
  • n
S P ark and K Miller CA CM
  • Oct
  • supp
  • rt
for m ultiple streams
  • dieren
t seeding
  • ptions
  • Random
v ariables
  • distributions
applied to RNG streams
  • distributions
uniform exp
  • nen
tial pareto constan t h yp er exp
  • nen
tial
  • In
tegrals
  • appro
ximation
  • f
in tegral b y discrete sums
  • used
for a v erage queue size computations
  • Samples
  • collect
samples
  • pro
vides mean v ariance sum and coun t rd NSv W
  • rkshop
kfal le elblgov Slide
slide-19
SLIDE 19 P ac k ets
  • pac
k ets are events ma y b e sc heduled to arriv e
  • con
tain header section and sometimes data
  • header
section is a cascade
  • f
all inuse headers
  • all
pac k ets con tain a c
  • mmon
he ader
  • pac
k et size
  • used
to compute transmission time
  • timestamp
t yp e uid in terface lab el for debugging and m ulticast routing
  • new
proto col agen ts ma y need to dene new headers rd NSv W
  • rkshop
kfal le elblgov Slide
slide-20
SLIDE 20 P ac k et Header F
  • rmat

hdrlen_ ip header body tcp header body rtp header body trace header body next_

Packet

at compile time at compile time size determined at compile time size determined at compile time size determined size determined points to next packet in either free list or in a PacketQueue bits() accessdata() packet data Size determined at simulator config time, stored in hdrlen_

Figure
  • A
P ac k et Ob ject
  • header
con ten ts are constructed at sim ulator initialization time
  • p
erformed b y create packetformat rd NSv W
  • rkshop
kfal le elblgov Slide
slide-21
SLIDE 21 Applications

timeout

Application Agent

idle (resume), recv data send, sendmsg, sendto, connect, close, listen, attachApp

  • Applic
ation a mo del
  • f
an application usually a trac source
  • has
an asso ciated agent whic h usually corresp
  • nds
to a trans p
  • rt
en tit y
  • in
terface is somewhat lik e so ckets rd NSv W
  • rkshop
kfal le elblgov Slide
slide-22
SLIDE 22 Sources and T rac Generation
  • Applications
are
  • f
t w
  • t
yp es sour c es and tr ac gener ators
  • Sources
are used to driv e stream transp
  • rts
eg TCP
  • T
rac generators are used to driv e connectionless transp
  • rts
eg UDP
  • Sources
  • T
elnet
  • sim
ulates c haracters t yp ed b y a user
  • FTP
  • bulk
data transfer
  • T
rac Generators
  • EXPOO
  • exp
  • nen
tial
  • no
times sen t at xed rate
  • POO
  • pareto
  • no
times sen t at xed rate
  • CBR
  • deterministic
rate
  • T
racT race
  • use
trace le con taining timelen pairs rd NSv W
  • rkshop
kfal le elblgov Slide
slide-23
SLIDE 23 Sources
  • class
ApplicationTelnet
  • ma
y sp ecify interval parameter
  • if
zero pic ks randomly among
  • measured
in terarriv als TCPLIB
  • if
nonzero uses scaled exp
  • nen
tial for in terarriv als
  • pac
k et size constan t but a v ailable via bind call
  • Metho
ds
  • start
  • con
tin uous send
  • stop
  • stop
sending
  • send
n
  • send
n b ytes
  • class
ApplicationFTP
  • bulk
data sender used to driv e TCP
  • implemen
ted en tirely in OTcl
  • Metho
ds
  • start
  • con
tin uous send
  • stop
  • stop
sending
  • send
n
  • send
n b ytes
  • produce
n
  • send
n pac k ets
  • producemore
n
  • send
n more pac k ets rd NSv W
  • rkshop
kfal le elblgov Slide
slide-24
SLIDE 24 T rac Generation
  • generate
trac according to distributions
  • r
traces
  • generally
used to driv e CBR
  • r
UDP transp
  • rt
agen ts
  • Exp
  • nen
tial class ApplicationTrafficExponential
  • exp
  • nen
tially distributed
  • no
times
  • parameters
  • n
time
  • time
rate pac k et size
  • what
these mean
  • burst
for exp
  • time
with mean
  • n
time
  • b
e silen t for exp
  • time
with mean
  • time
  • while
bursting send at rate rate
  • use
appropriate in terdeparture time giv en ratesize
  • P
areto class ApplicationTrafficPareto
  • pareto
distributed
  • no
times
  • man
y aggregated together can b e LRD
  • parameters
  • n
time
  • time
rate shap e pac k et size
  • what
these mean
  • lik
e exp
  • except
pareto using shap e parameter rd NSv W
  • rkshop
kfal le elblgov Slide
slide-25
SLIDE 25 T raceBased T rac Generator
  • generate
trac according to trace le
  • t
w
  • classes
Tracefile and ApplicationTrafficTrace
  • trace
le uses small binary format
  • rst
bit eld in terpac k et time microsecs
  • second
bit eld pac k et size b ytes rd NSv W
  • rkshop
kfal le elblgov Slide
slide-26
SLIDE 26 Agen ts
  • A
gents usually a transp
  • rt
proto col endp
  • in
ten tit y but ma y also b e used for implemen ting routing proto cols
  • Where
they t in

Agent

Port Classifier Local Addr

Link Link

Classifier Addr

Node

Node.entry

Agent Agent

  • What
they pro vide
  • a
lo cal and destination p
  • rt
address
  • functions
for helping to generatellin in pac k et elds
  • a
base class supp
  • rting
the application in terface rd NSv W
  • rkshop
kfal le elblgov Slide
slide-27
SLIDE 27 Creating a new Agen t
  • The
Agent class class Agent
  • public
Connector
  • public
Agentint pktType virtual Agent virtual void timeoutint tno virtual void sendmsgint nbytes const char flags
  • virtual
void sendint nbytes
  • sendmsgnbytes
virtual void sendtoint nbytes const char flags nsaddrt dst virtual void connectnsaddrt dst virtual void close virtual void listen virtual void attachAppApplication app virtual int! size
  • return
size inline nsaddrt! addr
  • return
addr protected int commandint argc const charconst argv void recvPacket Handler
  • basic
tasks to create a new agen t
  • decide
its inheritance structure
  • create
the class and ll in the API virtual functions
  • dene
OTcl link age functions later
  • write
the necessary OTcl co de to access y
  • ur
agen t
  • hardest
part ma y b e understanding the OTclC in teraction fortunately
  • m
uc h
  • f
this is shielded from y
  • u
if y
  • u
so c ho
  • se
rd NSv W
  • rkshop
kfal le elblgov Slide
slide-28
SLIDE 28 Example the Message Agen t
  • pro
vides a v ery simple place to store a message
  • P
ac k et header from messageh struct hdrmsg
  • char
msg
  • perfield
member functions
  • char
msg
  • return
msg
  • int
maxmsg
  • return
sizeofmsg
  • OTcl
link age for class creation from messagecc static class MessageHeaderC la ss
  • public
PacketHeaderC la ss
  • public
MessageHeaderCl as s
  • PacketHeaderCl
as s P ac ke tH ead er M es sa ge
  • sizeofhdrmsg
  • classmsghdr
rd NSv W
  • rkshop
kfal le elblgov Slide
slide-29
SLIDE 29 Example the Message Agen t con t
  • The
class denition constructor and v ariable link age static class MessageClass
  • public
TclClass
  • public
MessageClass
  • TclClassAgent
M es sa ge
  • TclObject
createint const charconst
  • return
new MessageAgent
  • classmessage
class MessageAgent
  • public
Agent
  • public
MessageAgent int commandint argc const charconst argv void recvPacket Handler protected int
  • ffmsg
  • MessageAgentM
es sa ge Ag en t
  • AgentPTMESSAG
E
  • bindpacketSiz
e
  • size
bindoffmsg
  • ffmsg
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-30
SLIDE 30 Example the Message Agen t con t
  • Main
functions void MessageAgentr ec v Pa ck et
  • pkt
Handler
  • hdrmsg
mh
  • hdrmsgpkt
  • ac
ce ss
  • f
f ms g
  • process
packet
  • int
MessageAgent co mm an d in t argc const charconst argv
  • Tcl
tcl
  • Tclinstance
  • call
into interp if argc
  • bj
send msgtext if strcmpargv
  • send
  • Packet
pkt
  • allocpkt
hdrmsg mh
  • hdrmsgpkt
a cc es s
  • f
f ms g
  • const
char s
  • argv
int n
  • strlens
if n
  • mhmaxmsg
  • tclresultm
es sa ge too big Packetfree pk t
  • return
TCLERROR
  • strcpymhmsg
  • s
sendpkt
  • return
TCLOK
  • return
Agentcomman d ar gc
  • argv
  • for
inheritance
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-31
SLIDE 31 CBR and UDP Agen t
  • CBR
Agen t
  • stands
for constan t bit rate not really used
  • nly
this w a y
  • nonconnectionorien
ted sending agen t
  • sends
pac k ets at p erio dic in terv al
  • r
quasip erio dically
  • constan
tsize pac k ets
  • UDP
Agen t
  • deriv
ed from CBR agen t
  • v
ery similar to CBR agen ts
  • uses
TrafficGenerator class for pac k et sizestimes rd NSv W
  • rkshop
kfal le elblgov Slide
slide-32
SLIDE 32 TCP Agen ts
  • Tw
  • categories
  • new
a y and t w
  • w
a y full TCP
  • Onew
a y v arian ts
  • f
TCP a v ailable
  • Agen
tTCP
  • a
taho e TCP sender
  • Agen
tTCPReno
  • a
Reno TCP sender
  • Agen
tTCPNewReno
  • Reno
with a mo dication
  • Agen
tTCPSac k
  • TCP
with selectiv e rep eat follo ws RF C
  • Agen
tTCPV egas
  • TCP
V egas
  • Agen
tTCPF ac k
  • Reno
TCP with forw ard ac kno wledge men t
  • Agen
tTCPSession
  • shared
congestion state wm ultiple connections
  • Agen
tTCPIn t
  • p
erconnection reliabilit y for use wSession
  • Agen
tTCPRBP
  • Reno
V egas with Rate Based P acing
  • Agen
tTCPAsym
  • TCP
mo ds for asymmetric c hannels
  • Onew
a y TCP receiving agen ts curren tly supp
  • rted
are
  • Agen
tTCPSink
  • ne
A CK p er pac k et
  • Agen
tTCPSinkDelAc k
  • congurable
dela y p er A CK
  • Agen
tTCPSinkSac k
  • selectiv
e A CK sink follo ws RF C
  • Agen
tTCPSinkSac kDelAc k
  • Sac
k with DelAc k
  • Agen
tTCPSinkAsym
  • sink
for Asym senders rd NSv W
  • rkshop
kfal le elblgov Slide
slide-33
SLIDE 33 Tw
  • W
a y TCP Agen ts
  • Tw
  • w
a y TCP agen ts b eta test
  • Agen
tTCPF ullTcp
  • pro
vides Reno functionalit y
  • Agen
tTCPF ullTcpT aho e new
  • Agen
tTCPF ullTcpSac k new
  • Onew
a y and t w
  • w
a y TCPs are not in terop erable rd NSv W
  • rkshop
kfal le elblgov Slide
slide-34
SLIDE 34 Base TCP Agen ts
  • TCP
T aho e TCPReno and TCPNewReno
  • Common
features
  • computations
all in pac k et units wcongurable pac k et size
  • fast
retransmit
  • slo
wstart and congestion a v
  • idance
  • dynamic
R TT estimation and R TX timeout assignmen t
  • sim
ulated constan t receiv ers adv ertised windo w
  • T
aho e TCP
  • p
erform slo wstart
  • n
an y loss R TO
  • r
fast retransmit
  • no
fast reco v ery
  • Reno
TCP
  • fast
r e c
  • very
inate cw nd b y dup ac k coun t un til new A CK
  • slo
wstart
  • n
R TO
  • n
fast retransmit cw nd
  • cur
w in
  • ssthr
esh
  • cw
nd
  • Newreno
TCP
  • mo
dest mo dication to Reno TCP
  • nly
exit fast reco v ery after A CK for highest segmen t arriv es
  • helps
reduce stalling due to m ultiple pac k et drops in a windo w rd NSv W
  • rkshop
kfal le elblgov Slide
slide-35
SLIDE 35 Other TCP Agen ts
  • TCPSack
TCPFack and TCPVegas
  • Selectiv
e A CK TCP
  • SA
CK sim ulation based
  • n
RF C
  • A
CKs carry extra information indicating receiv ed segmen ts
  • requires
SA CKa w are sink
  • sender
a v
  • ids
sending redundan t info
  • default
to
  • SA
CK blo c ks for using timestamps see RF C
  • blo
c k con tains startend sequence n um b ers
  • blo
c k con taining most recen tly receiv ed segmen t alw a ys presen t
  • regular
A CK n um b er still giv es nal sa y
  • F
ac k TCP
  • forw
ard A CK TCP exp erimen tal see SIGCOMM
  • use
SA CK info for estimate
  • f
pac k ets in the net w
  • rk
  • v
erdamping algorithm to limit slo wstart
  • v
ersho
  • t
  • ramp
do wn algorithm for transmission smo
  • thing
  • V
egas TCP
  • con
tributed co de from T ed Kuo NC State Univ rd NSv W
  • rkshop
kfal le elblgov Slide
slide-36
SLIDE 36 TCP Agen t P arameters
  • Common
conguration parameters and defaults for TCP agen ts AgentTCP set maxburst
  • max
pkts emitte d due to
  • r
e cvd AgentTCP set maxcwnd
  • max
b
  • und
  • n
c
  • ngestion
window AgentTCP set syn false
  • do
SYN exchange prior to data xfer AgentTCP set tcpipbasehdrsize
  • size
  • f
TCPIP hdr no
  • pts
AgentTCP set timestamps false
  • due
RF Cstyle time stamps AgentTCP set window
  • max
b
  • und
  • n
window size AgentTCP set windowInit
  • initialr
eset value
  • f
cwnd AgentTCP set windowOption
  • c
  • ng
avoid algorithm
  • standar
d AgentTCP set windowConstant
  • use
d
  • nly
when windowOption
  • AgentTCP
set windowThresh
  • use
d in c
  • mputing
aver age d window AgentTCP set
  • verhead
  • adds
r andom time b etwe en sends AgentTCP set ecn
  • TCP
should r e act to e cn bit AgentTCP set packetSize
  • p
acket size use d by sender bytes AgentTCP set bugFix true
  • se
e do cumentation AgentTCP set slowstartrestart true
  • do
slowstart after id le p erio d AgentTCP set tcpTick
  • timer
gr anularity in se c
  • is
NONST AND ARD AgentTCP set maxrto
  • b
  • und
  • n
R TO se c
  • nds
AgentTCP set srttinit
  • initial
value for smo
  • the
d rtt est AgentTCP set rttvarinit
  • initial
value for rtt var est AgentTCP set rtxcurinit
  • initial
value for curr ent rtx timer AgentTCP set TSRTTBITS
  • bits
after binary p
  • int
for SR TT AgentTCP set TRTTVARBITS
  • bits
after binary p
  • int
for R TTV AR AgentTCP set rttvarexp
  • exp
  • nent
  • f
  • which
multiples rttvar
  • Dynamic
v alues
  • f
in terest AgentTCP set dupacks
  • duplic
ate A CK c
  • unter
AgentTCP set ack
  • highest
A CK r e c eive d AgentTCP set cwnd
  • c
  • ngestion
window p ackets AgentTCP set awnd
  • aver
age d cwnd exp erimental AgentTCP set ssthresh
  • slowstat
thr eshold p ackets AgentTCP set rtt
  • rtt
sample AgentTCP set srtt
  • smo
  • the
d aver age d rtt AgentTCP set rttvar
  • me
an deviation
  • f
rtt samples AgentTCP set backoff
  • curr
ent R TO b acko factor AgentTCP set maxseq
  • max
p acket se q numb er sent rd NSv W
  • rkshop
kfal le elblgov Slide
slide-37
SLIDE 37 TCP Sink Agen ts
  • Sinks
for
  • new
a y TCP senders
  • T
yp es
  • standard
sinks dela y edA CK sinks SA CK sinks
  • Standard
sinks
  • generate
  • ne
A CK p er pac k et receiv ed
  • A
CK n um b er
  • v
erloaded in sequence n um b er pac k et eld
  • Dela
y edA CK sinks
  • same
as standard but with v ariable dela y added b et w een A CKs
  • time
to dela y A CKs sp ecied in seconds
  • SA
CK sinks
  • generates
additional information for SA CK capable sender
  • congurable
maxSackBlocks parameter
  • Asym
sinks
  • A
CK pacing rd NSv W
  • rkshop
kfal le elblgov Slide
slide-38
SLIDE 38 Tw
  • W
a y TCP F ullTCP
  • most
TCP
  • b
jects are
  • new
a y and require a sourcesink pair
  • real
TCP can b e bidirectional
  • sim
ultaneous t w
  • w
a y data transfer alters TCP dynamics con siderably
  • considered
b eta at this p
  • in
t requesting feedbac k
  • the
TCPFullTcp agen t
  • follo
ws closely to Reno TCP implemen tation in
  • BSD
  • b
yteorien ted transfers
  • t
w
  • w
a y data supp
  • rted
  • most
  • f
the connection establishmen tteardo wn
  • symmetric
  • nly
  • ne
agen t t yp e used for b
  • th
sides
  • Dierences
from the real thing
  • no
receiv ers adv ertised windo wp ersist mo de
  • no
urgen t p
  • in
ter
  • no
MSL w ait
  • no
RST segmen ts
  • No
w supp
  • rts
T aho e NewReno and Sac k v arian ts rd NSv W
  • rkshop
kfal le elblgov Slide
slide-39
SLIDE 39 F ullTCP P arameters
  • P
arameters and defaults AgentTCPFullTcp set segsperack
  • se
gs r e c eive d b efor e gener ating A CK AgentTCPFullTcp set segsize
  • se
gment size MSS size for bulk xfers AgentTCPFullTcp set tcprexmtthresh
  • dupA
CKs thr esh to trigger fast r exmt AgentTCPFullTcp set iss
  • initial
send se quenc e numb er AgentTCPFullTcp set nodelay false
  • disable
senderside Nagle algorithm AgentTCPFullTcp set dataonsyn false
  • send
data
  • n
initial SYN AgentTCPFullTcp set dupsegfix true
  • avoid
fast rxt due to dup se gsacks AgentTCPFullTcp set dupackreset false
  • r
eset dupA CK ctr
  • n
  • len
data se g s c
  • ntaining
dup A CKs AgentTCPFullTcp set interval
  • delaye
d A CK interval AgentTCPFullTcp set closeonempty false
  • close
c
  • nn
after send al l data AgentTCPFullTcp set tsoptionsize
  • size
  • f
rfc ts
  • ption
bytes AgentTCPFullTcp set renofastrecov true
  • c
  • ngestion
window ination AgentTCPFullTcp set pipectrl false
  • use
pip e mo del c
  • ngestion
ctrl AgentTCPFullTcp set
  • pencwndonpack
true
  • incr
e ase cwnd
  • n
p artial acks AgentTCPFullTcpNewre no set recovmaxburst
  • maxburst
during r e c
  • very
AgentTCPFullTcpSack set sackblocksize
  • bytes
in a SA CK blo ck AgentTCPFullTcpSack set sackoptionsize
  • bytes
in
  • pt
hdr AgentTCPFullTcpSack set maxsackblocks
  • max
  • f
sack blks rd NSv W
  • rkshop
kfal le elblgov Slide
slide-40
SLIDE 40 R TP and R TCP Agen ts
  • R
TP
  • Realtime
transp
  • rt
proto col RF C
  • implemen
ted as AgentCBRRTP
  • b
ject
  • sp
ecial R TP header con tains seq n um b er and srcID
  • sends
data p erio dically similar to CBR sources
  • resets
faster when mo ving from high to lo w rate
  • R
TCP
  • con
trol proto col for R TP
  • implemen
ted as SessionRTP
  • b
ject
  • sends
at rate based
  • n
n um b er
  • f
  • ther
senders
  • rep
  • rts
kno wn sources and stats rd NSv W
  • rkshop
kfal le elblgov Slide
slide-41
SLIDE 41 Other Simple Agen ts
  • the
LossMonitor agen t
  • monitors
arriv als
  • f
pac k ets
  • lo
  • ks
for sequence n um b er holes
  • pro
vides coun ters for
  • nlost
  • n
um b er
  • f
holes in n um b er space
  • npkts
  • pac
k et arriv als
  • bytes
  • b
yte arriv als
  • lastPktTime
  • time
  • f
last arriv al
  • expected
  • next
seq n um b er exp ected
  • the
Message agen t
  • v
ery simple agen t
  • allo
ws for including text messages in pac k ets
  • curren
tly limited to at most
  • b
yte short messages rd NSv W
  • rkshop
kfal le elblgov Slide
slide-42
SLIDE 42 Connectors
  • Conne
ctor simple inout top
  • logy
  • b
ject with drop target
  • An
NsObject with
  • nly
a single neighbor
  • class
Connector
  • public
NsObject
  • public
Connector inline NsObject target
  • return
target
  • virtual
void dropPacket p protected int commandint argc const charconst argv void recvPacket Handler callback
  • inline
void sendPacket p Handler h
  • targetrecv
p
  • h
  • NsObject
target NsObject drop
  • dest
for drops
  • if
drop target undened dropp ed pac k ets are freed rd NSv W
  • rkshop
kfal le elblgov Slide
slide-43
SLIDE 43 In tro ducing Errors
  • P
ac k et errors ma y b e in tro duced in to the top
  • logy
  • Err
  • r
Mo dule
  • collection
  • f
error mo dels
  • Err
  • r
Mo del
  • determines
t yp es
  • f
errors
  • Error
Module capabilities
  • insert
classier for p ero w error con trol
  • insert
m ultiple error mo dels
  • collects
dropp ed pac k ets from eac h error mo del
  • default
en try indicates where nonmatc hing trac go es
  • Example
set lossylink ns link noder nodek set em new ErrorModule Fid set errmodel new ErrorModelPer io di c errmodel unit pkt errmodel set
  • ffset
  • errmodel
set period
  • lossylink
errormodule em em insert errmodel em bind errmodel
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-44
SLIDE 44 Error Mo dels
  • Err
  • r
Mo del a parameterized lossy connector can b e used as a base class for
  • ther
loss mo dels
  • drops
pac k et sets error bit
  • r
ECN indication
  • error
units pac k ets bits time
  • base
v ersion is asso ciated with random v ariable
  • r
p erio dic pa rameters set errmodel new ErrorModel errmodel unit pkt errmodel set rate
  • errmodel
ranvar new RandomVariable U nif
  • r
m
  • if
drop target undened sen t to mo dule drop target
  • Sp
ecialized Mo dels
  • TwoState
  • error
and errorfree Mark
  • v
mo del
  • MultiState
  • arbitrary
state transitions in Tcl
  • Periodic
  • sin
usoidal p erio d phase burst length
  • List
  • sp
ecies individual pac k etsb ytes
  • Select
  • lik
e P erio dic but uses pac k et uids
  • SRM
  • lik
e Select but for SRM data
  • nly
  • Trace
  • lik
e List but uses a le
  • Mroute
  • aects
certain t yp es
  • f
mcast prune messages rd NSv W
  • rkshop
kfal le elblgov Slide
slide-45
SLIDE 45 Queue Managemen t and P ac k et Sc heduling
  • buer
management ho w to hold and toss mark pac k ets
  • p
acket sche duling what pac k ets get to depart when
  • Buer
managemen t
  • Droptail
FIF O
  • Random
Early Detection RED
  • P
ac k et sc heduling
  • FIF
O
  • CBQ
includes priorit y
  • roundrobin
  • Roundrobin
DRR
  • V
arian ts
  • f
F Q WF Q SF Q rd NSv W
  • rkshop
kfal le elblgov Slide
slide-46
SLIDE 46 Queue Handlers
  • Dequeued
pac k ets are
  • ften
sen t do wnstream to delays
  • dela
ys usually cause t w
  • actions
  • the
pac k et is sc heduled to arriv e do wnstream at time t
  • d
  • the
queue b ecomes un blo c k ed at time t
  • t
is transmit time d is prop dela y time
  • so
dela ys represen t a commonlyo ccurring sche duling b arrier
  • Queue
parameters Queue set limit
  • max
p acket c
  • unt
in queue Queue set blocked false
  • queue
starts
  • blo
cke d Queue set unblockonres um e true
  • queue
is unblo cke d af ter r esume
  • con
trol
  • f
blo c king can b e useful for queue banks eg CBQ rd NSv W
  • rkshop
kfal le elblgov Slide
slide-47
SLIDE 47 Drop T ail and RED Queues
  • DropT
ail Queues QueueDropTail class
  • simple
FIF O droptail queues
  • drop
from tail when
  • ccupancy
reac hes qlim
  • RED
Random Early Detection Queues QueueRED class
  • active
buer managemen t tec hnique
  • t
w
  • thresholds
minth and maxth
  • also
a maxim um probabilit y maxpr
  • b
  • compute
aver age queue
  • ccupancy
  • v
er time
  • if
a v erage exceeds maxth
  • r
qlim
  • drop
a pac k et
  • if
a v erage is under min th allo w pac k et to en ter queue
  • b
et w een scale drop probabilit y linearly
  • n
  • maxpr
  • b
rd NSv W
  • rkshop
kfal le elblgov Slide
slide-48
SLIDE 48 RED Queue P arameters
  • bytes
do computations in b ytes instead
  • f
pac k ets requires assignmen t
  • f
a mean pac k et size estimate
  • thresh
  • min
thresh
  • maxthresh
  • max
thresh
  • mean
pktsize
  • used
for computing estimated link utilizations during idle p erio ds
  • q
weight
  • w
eigh t giv en to instan taneous queue
  • ccupancy
for EWMA
  • wait
  • RED
should force a w ait b et w een drops
  • linterm
  • recipro
cal
  • f
maxprob
  • setbit
  • mark
instead
  • f
drop
  • droptail
  • drop
new pkt instead
  • f
random
  • ne
rd NSv W
  • rkshop
kfal le elblgov Slide
slide-49
SLIDE 49 T race and Monitoring Supp
  • rt
  • Tw
  • main
items tr ac es and monitors
  • T
races
  • write
an en try for some ev en t
  • ften
pac k et arriv alsdeparturesdrops
  • TraceEnque
  • a
pac k et arriv al usually at a queue
  • TraceDeque
  • a
pac k et departure usually at a queue
  • TraceDrop
  • pac
k et drop pac k et deliv ered to droptarget
  • Monitors
  • k
eep statistics ab
  • ut
arriv alsdeparturesdrops and
  • ws
  • SnoopQueueOut
  • n
  • utput
collect a timesize sample pass pac k et
  • n
  • SnoopQueueDrop
  • n
drop collect a timesize sample pass pac k et
  • n
  • SnoopQueueEDrop
  • n
an early drop collect a timesize sampl e pass pac k et
  • n
  • QueueMonitor
  • receiv
e and aggregate collected samples from sno
  • p
ers
  • QueueMonitorED
  • queuemonitor
capable
  • f
distinguish ing b et w een early and standard pac k et drops
  • QueueMonitorEDFlowmon
  • p
ero w statistics monitor manager
  • QueueMonitorEDFlow
  • p
ero w statistics con tainer rd NSv W
  • rkshop
kfal le elblgov Slide
slide-50
SLIDE 50 T race File F
  • rmat
  • File
format for traces generally
  • f
this form
  • tcp
  • tcp
  • tcp
  • tcp
  • tcp
  • d
  • tcp
  • tcp
  • tcp
  • tcp
  • d
  • tcp
  • Fields
arriv aldeparturedrop time trace link endp
  • in
ts pac k et t yp e size ags
  • w
ID src addr dst addr sequence n um b er uid
  • Man
y
  • f
these elds are from the common pac k et header struct hdrcmn
  • int
ptype
  • packet
type see above int size
  • simulated
packet size int uid
  • unique
id int error
  • error
flag double ts
  • timestamp
for qdelay measurement int iface
  • receiving
interface label int refcount
  • free
the pkt until count to
  • static
int
  • ffset
  • ffset
for this header inline static int!
  • ffset
  • return
  • ffset
inline static hdrcmn accessPacket p int
  • ff
  • return
hdrcmn paccessoff "
  • #
  • ffset
  • ff
  • perfield
member functions
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-51
SLIDE 51 T race Callbac ks
  • ma
y
  • pt
to in v
  • k
e a Tcl function in lieu
  • f
writing to le
  • see
the le tclexcallback demotcl MyTest instproc begin
  • link
tracecallback ns self dofunc
  • MyTest
instproc dofunc args
  • process
args
  • Args
passed to the callbac k are a string con taining a trace
  • utput
line eg
  • tcp
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-52
SLIDE 52 Monitors
  • Queue
monitors aggregation p
  • in
ts for arriv aldepartdrop stats
  • Flo
w monitors similar but
  • n
a p ero w basis
  • Sno
  • p
queues part
  • f
the top
  • logy
  • taps
pac k et
  • w
deliv ers samples to asso ciated monitor

Queue Delay Agent/Null Link Link::entry SnoopQueue/In SnoopQueue/Out SnoopQueue/Drop QueueMonitor

Figure
  • A
QueueMonitor and supp
  • rting
  • b
jects rd NSv W
  • rkshop
kfal le elblgov Slide
slide-53
SLIDE 53 Monitor Stats
  • Simple
stats k ept b y monitors
  • arriv
als b ytes and pac k ets
  • departures
b ytes and pac k ets
  • drops
b ytes and pac k ets
  • Aggregate
stats
  • ptional
  • queue
  • ccupancy
in tegral
  • b
ytes
  • r
pac k ets
  • QueueMonitorED
  • b
jects
  • early
drops b ytes and pac k ets
  • some
drops ha v e this distinction eg RED
  • Flo
w monitors
  • t
yp es QueueMonitorEDFlow and QueueMonitorEDFlowmon
  • same
as queue monitors but also
  • n
p ero w basis
  • w
dened as com b
  • s
  • f
srcdsto wid
  • w
mon aggregates and creates new
  • w
  • b
jects rd NSv W
  • rkshop
kfal le elblgov Slide
slide-54
SLIDE 54 Em ulation
  • allo
ws the sim ulator to in teract with a real net w
  • rk
curren tly exp erimen tal and under dev elopmen t
  • Uses
  • sub
ject realw
  • rld
implemen tations to sim ulated top
  • logies
  • sub
ject sim ulated algorithms to realw
  • rld
trac
  • T
rac transducers
  • real
pac k ets mapp ed tofrom sim ulated pac k ets via tap agent
  • real
from either liv e wire
  • r
tcp dumpformatted le via libp cap
  • Realtime
sc heduler
  • sp
ecial v ersion
  • f
curren tly Listbased sc heduler
  • ties
sim ulated time to realtime
  • for
no w pun ts if sim ulation gets far b ehind
  • can
still do in teresting things
  • Other
helpful agen ts
  • icmp
generation
  • ping
resp
  • nder
  • arp
resp
  • nder
  • NA
T function rd NSv W
  • rkshop
kfal le elblgov Slide
slide-55
SLIDE 55 T ap Agen ts
  • Maps
sim ulated pac k ets tofrom realw
  • rld
pac k ets
  • Asso
ciated Network
  • b
ject pro vides pac k et sourcesink
  • P
ac k ets are assumed to b e net w
  • rk
la y er generally IP
  • Real
trac is stored in sim ulated pac k ets data area void TapAgentrecvp kt
  • netsimulator
  • allocate
packet and a data payload Packet p
  • allocpktmaxpk
t
  • fill
up payload sockaddr addr
  • not
really used yet double tstamp int cc
  • netrecvpa
cc es sd at a
  • maxpkt
addr tstamp
  • inject
into simulator hdrcmn ch
  • hdrcmnpa
cc es s
  • ff
c mn
  • chsize
  • cc
  • double
when
  • tstamp
  • now
  • if
when
  • chtimestamp
  • when
Schedulerins ta nc e
  • sc
he dul e ta rg et
  • p
when
  • else
  • chtimestamp
  • now
targetrecv p
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-56
SLIDE 56 Net w
  • rk
Ob ject
  • abstraction
  • f
a realw
  • rld
trac sourcesink
  • p
ened read write
  • r
readwrite b y caller
  • base
class for sp ecic net w
  • rk
t yp es eg IP net w
  • rk
  • Net
w
  • rk
class
  • requires
so c k et system API UNIX
  • r
WinSo c k
  • supp
  • rts
a basic sendrecv in terface
  • separate
sendrecv c hannels ie so c k ets
  • nonblo
c king
  • ptional
  • framew
  • rk
supp
  • rts
m ulticast addriface selection etc
  • IP
Net w
  • rk
NetworkIP class
  • RA
W IP in terface requires privs for ra w readwrite
  • m
ulticast group joinlea v e
  • lo
  • pbac
k
  • no
  • m
ulticast ttl
  • UDPIP
Net w
  • rk
NetworkIPUDP class
  • access
to IPUDP through underlying so c k et la y er
  • do
es not require privs for use
  • F
rame Lev el P ac k et Filtering and Generation rd NSv W
  • rkshop
kfal le elblgov Slide
slide-57
SLIDE 57 P ac k et Capture Net w
  • rk
Ob ject
  • Use
LBNLs libpcap facilit y to access pac k et traces
  • Pro
vides access to trace les and liv e net w
  • rk
pac k ets
  • common
capabilities
  • stats
pac k ets captured and dropp ed
  • pac
k et lter function using p cap bpf
  • ptimizer
  • Liv
e P ac k et CaptureGeneration class NetworkPcapLive
  • promiscuous
  • r
  • rdinary
pac k et capture
  • framelev
el pac k et generation
  • sp
ecication
  • f
net w
  • rk
in terface name
  • File
P ac k et Capture class NetworkPcapFile
  • pac
k et capture and ltering
  • nly
rd NSv W
  • rkshop
kfal le elblgov Slide
slide-58
SLIDE 58 ARP Mo dule
  • not
really an agent not deriv ed from Agent class
  • uses
attac hed Network
  • b
ject for IO
  • pro
vides ARP queryresp
  • nse
pro cessing
  • also
pro vides pro xy ARP
  • nly
w
  • rks
for ethernet no w
  • resp
  • nder
is curren tly under dev elopmen t
  • useful
for generating linkla y er headers
  • ARP
cac he size congurable b y user
  • Metho
ds
  • network
  • set
  • r
gets asso ciated Net w
  • rk
  • b
ject
  • myether
  • sets
lo cal ethernet address
  • myip
  • sets
lo cal IP address
  • lookup
  • lo
  • ks
up mapping for IP address
  • resolve
  • sends
ARP request for IP address
  • insert
  • insert
an en try in to the ARP cac he rd NSv W
  • rkshop
kfal le elblgov Slide
slide-59
SLIDE 59 ICMP Agen t
  • generates
realw
  • rld
ICMP messages
  • class
AgentIcmpAgent
  • curren
tly supp
  • rts
  • nly
ICMP redirect generation
  • In
terface set become "who should have sent the redirect set target "who to send redirect to set dest "redirect for what destination set gw "new gateway to use ia send redirect become target dest gw
  • pro
vides abilit y to masquerade as curren t default gatew a y some systems c hec k and require this to pro cess a redirect
  • generates
dumm y pac k et uses defunct GGP proto col insp ected b y victim host to determine whic h destination mo d ify rd NSv W
  • rkshop
kfal le elblgov Slide
slide-60
SLIDE 60 NA T Agen t
  • supp
  • rts
Net w
  • rk
Address T ranslation NA T for use wem ulation
  • Curren
tly supp
  • rts
  • nly
TCP UDP is an easy extension
  • Supp
  • rted
mo des
  • source
address rewrite
  • destination
address rewrite
  • source
and destination address rewrite
  • do
es not rewrite p
  • rt
n um b ers
  • r
A CKsequence n um b ers rd NSv W
  • rkshop
kfal le elblgov Slide
slide-61
SLIDE 61 Break
  • rd
NSv W
  • rkshop
kfal le elblgov Slide
slide-62
SLIDE 62 Lo cal Area Net w
  • rks
  • The
lanlink sub class
  • f
Link
  • b
ject con tains
  • list
  • f
no des
  • c
hannel
  • b
ject
  • in
terface queues
  • MA
C
  • b
jects
  • Channel
  • b
ject
  • abstraction
  • f
ph ysical la y er PHY
  • supp
  • rts
con ten tion collisions and holdjam
  • simplex
  • r
duplex
  • ho
  • k
for a dem ux classier based
  • n
MA C id
  • Interfac
e Queues
  • lo
cated b et w een the LL and MA C
  • b
jects
  • same
as Queue
  • b
jects discussed elsewhere rd NSv W
  • rkshop
kfal le elblgov Slide
slide-63
SLIDE 63 MA C Media Access Con trol Proto cols
  • MA
C supp
  • rt
  • MA
C addresses
  • CSMACA
  • CSMACD
  • IEEE
  • Multihop
eg Metricom wireless net w
  • rk
  • Addresses
  • simple
in teger iden ties xmitrecv station
  • m
ulticast supp
  • rt
via c hannelclassier mo ds rd NSv W
  • rkshop
kfal le elblgov Slide
slide-64
SLIDE 64 CSMAbased MA C supp
  • rt
  • Common
items in CSMACA and CSMACD
  • xed
dela yo v erhead timing
  • in
ter frame spacing
  • slot
time
  • minmax
con ten tion windo w dela y range
  • retransmission
coun ter and limit
  • carrier
sense
  • no
  • endofcon
ten tion ev en t handler
  • bac
k
  • function
  • Dierences
  • CSMACA
  • bac
k
  • n
activit y sense
  • CSMACD
  • bac
k
  • n
collision rd NSv W
  • rkshop
kfal le elblgov Slide
slide-65
SLIDE 65 IEEE
  • Supp
  • rt
  • Mo
des supp
  • rted
  • DCF
  • basic
CSMACA con ten tion access
  • R
TSCTS
  • w
con trol
  • PCF
  • p
  • in
t co
  • rdination
  • P
arameters
  • DIFS
  • Distributed
Co
  • rdination
IFS
  • SIFS
  • Short
IFS
  • PIFS
  • PCFIFS
  • CSMACD
  • bac
k
  • n
collision
  • See
  • standard
for more details rd NSv W
  • rkshop
kfal le elblgov Slide
slide-66
SLIDE 66 Hash classier
  • Map
pac k ets to asso ciated
  • ws
  • r
classes
  • Curren
tly srcdst srcdstd d plus default

Hash Classifier

htab_ slot_ Hash Function Packet hnodes

Hash Functions: Source/Dest, Source/Dest/FID, FID Hnodes: active, slot, src, dst, fid

default

rd NSv W
  • rkshop
kfal le elblgov Slide
slide-67
SLIDE 67 CBQ Class Based Queueing
  • Flo
yd and Jacobson Linksharing and Resource Managemen t Mo dels for P ac k e t Net w
  • rks
T
  • N
Aug
  • rewrite
from CBQ co de in ns
  • pac
k ets are mem b ers
  • f
classes
  • classes
ma y con tain a priority and a b andwidth al lo c ation
  • classes
ma y b
  • rr
  • w
un used bandwidth from
  • ther
classes
  • pac
k ets are sc heduled using a roundrobin sc heduler according to the classes they b elong to
  • pac
k etb ypac k et RR
  • w
eigh ted RR
  • hightolo
w priorit y rd NSv W
  • rkshop
kfal le elblgov Slide
slide-68
SLIDE 68 CBQ Implemen tation

Queue (arbitrary) Queue (arbitrary) SD SD Connector CBQClass CBQClass Classifier (e.g. hash) SI SI SO SO CBQ (scheduler) QMon QMon

CBQLink

head_ drophead_ classifier_ queue_

  • Ma
jor comp
  • nen
ts
  • classier
maps pac k ets to classes
  • classes
holds class state
  • sc
heduler sc hedules pac k et departures
  • Implemen
ted as a sub class
  • f
link CBQ link rd NSv W
  • rkshop
kfal le elblgov Slide
slide-69
SLIDE 69 In tegrated Services Supp
  • rt
  • Dev
elop ed b y Breslau and
  • thers
at Xero x P AR C
  • Mo
del
  • applications
request QoS
  • net
w
  • rk
returns y esno decision
  • trac
  • btains
sp ecialized QoS pac k et sc heduling
  • Purp
  • se
  • comparison
  • f
admission con trol sc hemes
  • eect
  • n
trac
  • ne
mo del
  • f
IETF In tServ Con trolled Load CL
  • Comp
  • nen
ts
  • signalling
proto col
  • admission
con trol algorithms
  • QoSsensitiv
e pac k et sc heduling rd NSv W
  • rkshop
kfal le elblgov Slide
slide-70
SLIDE 70 In tServ Signalling
  • v
ery simple signalling proto col
  • not
robust against signalling proto col pac k et loss
  • p
erations supp
  • rted
  • request
accept reject conrm teardo wn
  • extensible
to
  • ther
proto cols eg RSVP
  • ne
mo del
  • f
IETF In tServ Con trolled Load CL
  • Request
includes tok en buc k et params rate plus depth
  • Conrm
is lik e request but for existing
  • w
  • decisions
are based
  • n
admission con trol algorithms rd NSv W
  • rkshop
kfal le elblgov Slide
slide-71
SLIDE 71 In tServ Admission Con trol
  • Measuremen
t Based Admission Con trol MBA C
  • acceptreject
decision algorithms
  • Measured
Sum Jamin
  • Ho
eding Bounds Flo yd
  • Acceptance
Region at Origin Kelly
  • Acceptance
Region T angen t at P eak Kelly
  • more
coming
  • Estimation
Algorithms
  • used
as input to decision algorithms
  • Time
Windo w
  • Exp
  • nen
tial Av erage
  • P
  • in
t Sample rd NSv W
  • rkshop
kfal le elblgov Slide
slide-72
SLIDE 72 Router Mec hanisms
  • Flo
yd and F all Router Mec hanisms to Supp
  • rt
EndtoEnd Congestion Con trol LBNL TR F eb
  • p
  • rt
from ns v ersion based
  • n
new Flo wMon and CBQ

Connector RED Queue RED Queue SD CBQClass CBQClass Classifier SI SI SO SO CBQ (scheduler) FlowMon head_ drophead_ classifier_ queue_

CBQLink with Router Mechanisms

FlowMon w/default SD ESD ESD

  • kboxfm_

pboxfm_

rd NSv W
  • rkshop
kfal le elblgov Slide