Post on 14-Jan-2016
description
transcript
Network and CommunicationsNetwork and Communications
Hongsik ChoiDepartment of Computer Science
Virginia Commonwealth University
Peer to Peer Networks Peer to Peer Networks
Large number of nodes, symmetric,no central database nor control
How to find the one that I want?
Chord SystemName in ASCII
IP to 160 bit number (N. ID)
Ring of 2^160 node
Store (name,My IP address) at successor(hash(name)))
5bit id example
Find successor or prede. Linear?
Finger table with m entries
)2(%2 mikstart Log n Key 3 14 16 at node 1
Congestion Control Congestion Control
Link management Link management
BufferOutgoing LinkPacket
streams
• Admission (Drop Tail, Random Early Detection(RED))• Scheduling FIFO• Time Division Multiplexing (TDM) and (FDM)• Rate proportional service
Drop Tail FIFODrop Tail FIFO
• Statistical multiplexing: better average delay andloss probabilities (due to buffer overflow). Betterutilization of resources -- Good
• Work conserving: as long as there is a packet thenthe link works at full capacity
• Simple: Good• Packet streams interfere with one another
Guaranteed QoS is harder to achieve• Packets are lost in bursts -- not good for TCP
BufferOutgoing LinkPacket
streams
BufferCapacity C
flow 0flow 1flow 2flow 3 . .
How do we split up bandwidth to different flows?
Streams of packets
MultiplexingMultiplexing
TDM and FDMTDM and FDM
C
r1r2r3r4
r1 + r2 + r3 + r4 = C
TDM: slot time and organize into frameseach “channel” gets certain slotsin a frame.
FDM: bandwidth is split up usinganalog techniques.
BW is reserved for each flow: if flow hasno packets then bw is unused
Processor Sharing: best of both worldsProcessor Sharing: best of both worldsCPU burst and single CPUCPU burst and single CPU
flow 1flow 2.. flow n
C
• Divide bandwidth of the link C equally among activeflows. Active means there are packets present.
• Each active flow gets C/A bandwidth, where A =# active flows
In Network layer
Virtual Circuit versus datagram
1. Admission control
2. Careful route discovery
Packet queuing and service policy
Packet discard policy
Routing algorithm
Packet life time management
Which packet to drop?
New or old
Priority?
Random Early Detection
• Implementing processor sharing or GPS is difficultbecause you have to split bandwidth dynamically
• We’ll look at virtual clock service• It’s actually a packetized version of TDM• We’ll look at packetized GPS (PGPS)
Virtual Clock ServiceVirtual Clock Service
Generalized Processor Sharing (GPS)Generalized Processor Sharing (GPS)
flow 1flow 2.. flow n
CEach flow k is assigneda rate r(k).
Usually,
n
iCir
1)(
Bandwidth for flow k
Aiir
krC
)(
)(A = set of active
flows
Virtual Clock ServiceVirtual Clock Service
Packets arrive into the link buffer:• a(i) = arrival time of the ith packet of flow k• L(i) = length of the packet• d(i) = virtual departure time of the packet
= max{a(i), d(i-1)} + L(i)/r(k)
flow 1flow 2.. flow n
CEach flow k hasrate r(k)
Virtual Clock ServiceVirtual Clock Service
• Packets in the buffer are transmitted accordingto the smallest virtual departure time
• What is going on?• The scheduler is emulating a TDM system
flow 1flow 2.. flow n
Cbuffer
The TDM systemThe TDM system
flow 1flow 2.. flow n
r(1)
r(2)
r(n)
Consider flow k: The ith packet of flow k departs at
d(i) = the time the packet begins transmission + L(i)/r(k)= max{d(i-1), a(i)} + L(i)/r(k)= virtual departure time of virtual clock system
Packetized GPS (Weighted Fair Queueing)Packetized GPS (Weighted Fair Queueing)
flow 1flow 2.. flow n
Cbuffer
GPS emulator thatdetermines virtual
departure times (VDT) ofpackets
arrival timesand packetlengths
VDTs of packets
Packets are transmitted inorder of their VDTs
PerformancePerformance
For Virtual Clock Service and PGPS (or weighted fairqueueing), the departure time of a packet is upperbounded by
virtual departure time + Lmax/C
Lmax = maximum packet size
Weighted Round Robin: AWeighted Round Robin: APractical SchedulerPractical Scheduler
flow 1flow 2.. flow n
Buffers
The buffers are served in round robin fashion BUTa buffer may be skipped under certain conditions
Weighted Round Robin: AWeighted Round Robin: APractical SchedulerPractical Scheduler
flow k
Buffer
• Each time flow is considered, it gets additional credit r(k)• If a flow is considered and its HOL packet has length
at most Credit then its packet is served andCredit = Credit - packet length
Creditr(k)
Random Early Detection Random Early Detection (RED)(RED)
Fixed buffer size for B packetsTail Drop Queueingprob
dropping
1
Occupancy
Dropping can bebursty which can bebad for TCP
Random Early Detection Random Early Detection (RED)(RED)
Fixed buffer size for B packetsREDprob
dropping
1
Occupancy
Dropping some smallfraction early tells TCP to back off
Congestion control in virtual Circuit subnet
Congestion happen -> send warnings to sources
The warning bit – any router along the path can set
Choke packet:
first packet reduce the flow rate by certain percent and ignore for some interval,
if another choke packet, reduce the rate with certain percent and so on
At high speed over long distance, it does not work well
Hop by hop choke
Buffers or loss?
Quality of Service
Jitter- delay variations
Buffering – reliability, bandwidth, delay
Can this smoothing work in server side? Traffic Shaping
Leaky bucket flow control
Incoming trafficBuffer
tokenbucket
tokens generated at rate
Require tokensto launch data
() trafficR(t)
Input
250k
500k
750k
500k w/
10MB/sec bucket
Token bucket allows burst!
Burst length , S
Token bucket capacity, C bytes
Token arrival rate bytes/sec
Maximum output rate, M bytes/sec
Out put burst = C+ S bytes
Number of bytes in S = MS
C+ S = MS
S = C/(M- )
C = 250KB
M = 25MB/sec
sec
S =250KB/(25MB/sec – 2MB/sec)
=10.8msec
If all packets follow same route, we can reserve
1. Bandwidth,
2. buffer space,
3. CPU cycles
If flow is well shaped and follows same route, router have to decide accept new flow or not based on Maximum packet size, minimum packet size,
peak data rate,token bucket size, token rate
What if there is one aggressive flow? Packet scheduling
Fair queueing
Weighted Fair queueing
How to model? GPS
How to implemented ? Virtual clock? Packetized GPS
Protocol for streaming Multimedia (flow based algorithm)
Multicast membership is dynamic
Can resource reservation scheme works?
RSVP(Resource reSerVation protocol):
Multi source multi receiver case
Flow based service
Disadvantage:
It is not scale well.
Require advanced set up
Marinating per flow information is too much
Too much overhead in frequent router code change
Class based? (differentiated services)
expedited forwarding
Assured Forwarding
•4 class
•low medium high
Label Switching and MPLS
Routing
Switching
Forward equivalence class
Data driven setup with colored thread
Internetworking
How networks differ?
Service
Protocol
Addressing
Packet Size
QoS
Error handling
Congestion control
Security
etc
How network can be connected?
Routers (multiprotocol routers) or switch
How to provide Internetwork routing?
Will be covered with IP
Next class we will discuss IP
A Network Calculus for A Network Calculus for PerformancePerformance
R(t): rate of traffic flow at time t
• Simple model: constant rate r, R(t) = r• More complicated model: () traffic
For all x < y,
y
xxydttR )(
burstinessparameter
((,,) Traffic) Traffic
Simple FIFO queue and link
B(t)C
backlog
R(t)
s tfirst packetarriving
B(t)
((,,) Traffic) Traffic
Simple FIFO queue and link
B(t)C
backlog
R(t)
s tfirst packetarriving
B(t)
For FIFO buffer with () traffic,Buffer occupancy is at most + LDelay is at most ( + L)/C
DmaxRin(t)
Bits may be arbitrarily delayed from 0 to Dmax
Rout(t)
)(max)(
max)()()(max
xyinDinin
DxyinindttRindttRouty
Dx
y
x
output is burstier
R1(t)R2(t)R3(t)
Rout out = 1 + 2 + 3out = 1 +2 + 3
How do we get such traffic?How do we get such traffic?
Leaky bucket flow control
Incoming trafficBuffer
tokenbucket
tokens generated at rate
Require tokensto launch data
() trafficR(t)