Download presentation
Presentation is loading. Please wait.
Published byElijah Biringer Modified over 9 years ago
1
Network and Communications Hongsik Choi Department of Computer Science Virginia Commonwealth University
2
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 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 Log n Key 3 14 16 at node 1
3
Congestion Control
4
Link management Buffer Outgoing Link Packet streams Admission (Drop Tail, Random Early Detection(RED)) Scheduling FIFO Time Division Multiplexing (TDM) and (FDM) Rate proportional service
5
Drop Tail FIFO Statistical multiplexing: better average delay and loss probabilities (due to buffer overflow). Better utilization of resources -- Good Work conserving: as long as there is a packet then the 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 Buffer Outgoing Link Packet streams
6
Buffer Capacity C flow 0 flow 1 flow 2 flow 3. How do we split up bandwidth to different flows? Streams of packets Multiplexing
7
TDM and FDM C r1 r2 r3 r4 r1 + r2 + r3 + r4 = C TDM: slot time and organize into frames each “channel” gets certain slots in a frame. FDM: bandwidth is split up using analog techniques. BW is reserved for each flow: if flow has no packets then bw is unused
8
Processor Sharing: best of both worlds CPU burst and single CPU flow 1 flow 2. flow n C Divide bandwidth of the link C equally among active flows. Active means there are packets present. Each active flow gets C/A bandwidth, where A = # active flows
9
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
10
Which packet to drop? New or old Priority? Random Early Detection
11
Implementing processor sharing or GPS is difficult because 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 Service
12
Generalized Processor Sharing (GPS) flow 1 flow 2. flow n C Each flow k is assigned a rate r(k). Usually, Bandwidth for flow k A = set of active flows
13
Virtual 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 1 flow 2. flow n C Each flow k has rate r(k)
14
Virtual Clock Service Packets in the buffer are transmitted according to the smallest virtual departure time What is going on? The scheduler is emulating a TDM system flow 1 flow 2. flow n C buffer
15
The TDM system flow 1 flow 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
16
Packetized GPS (Weighted Fair Queueing) flow 1 flow 2. flow n C buffer GPS emulator that determines virtual departure times (VDT) of packets arrival times and packet lengths VDTs of packets Packets are transmitted in order of their VDTs
17
Performance For Virtual Clock Service and PGPS (or weighted fair queueing), the departure time of a packet is upper bounded by virtual departure time + Lmax/C Lmax = maximum packet size
18
Weighted Round Robin: A Practical Scheduler flow 1 flow 2. flow n Buffers The buffers are served in round robin fashion BUT a buffer may be skipped under certain conditions
19
Weighted Round Robin: A Practical 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 and Credit = Credit - packet length Credit r(k)
20
Random Early Detection (RED) Fixed buffer size for B packets Tail Drop Queueing prob dropping 1 Occupancy Dropping can be bursty which can be bad for TCP
21
Random Early Detection (RED) Fixed buffer size for B packets RED prob dropping 1 Occupancy Dropping some small fraction early tells TCP to back off
22
Congestion control in virtual Circuit subnet
23
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
24
Hop by hop choke Buffers or loss?
25
Quality of Service
26
Jitter- delay variations Buffering – reliability, bandwidth, delay Can this smoothing work in server side? Traffic Shaping
28
Leaky bucket flow control Incoming traffic Buffer token bucket tokens generated at rate Require tokens to launch data ( ) traffic R(t)
29
Input 250k 500k 750k 500k w/ 10MB/sec bucket
30
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
31
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
32
Fair queueing Weighted Fair queueing How to model? GPS How to implemented ? Virtual clock? Packetized GPS
33
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
34
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
35
Label Switching and MPLS Routing Switching Forward equivalence class Data driven setup with colored thread
36
Internetworking How networks differ? Service Protocol Addressing Packet Size QoS Error handling Congestion control Security etc
37
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
38
A Network Calculus for Performance 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, burstiness parameter
39
( , ) Traffic Simple FIFO queue and link B(t) C backlog R(t) s t first packet arriving B(t)
40
( , ) Traffic Simple FIFO queue and link B(t) C backlog R(t) s t first packet arriving B(t)
41
For FIFO buffer with ( ) traffic, Buffer occupancy is at most + L Delay is at most ( + L)/C
42
Dmax Rin(t) Bits may be arbitrarily delayed from 0 to Dmax Rout(t) output is burstier
43
R1(t) R2(t) R3(t) Rout out = 1 + 2 + 3 out = 1 + 2 + 3 How do we get such traffic? Leaky bucket flow control Incoming traffic Buffer token bucket tokens generated at rate Require tokens to launch data ( ) traffic R(t)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.