network and communications

Post on 14-Jan-2016

21 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Network and Communications. Hongsik Choi. Department of Computer Science. Virginia Commonwealth University. 5bit id example. Peer to Peer Networks. Large number of nodes, symmetric,no central database nor control How to find the one that I want? Chord System. Name in ASCII - PowerPoint PPT Presentation

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)

top related