430 likes | 514 Views
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
E N D
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 IP to 160 bit number (N. ID) Ring of 2^160 node Store (name,My IP address) at successor(hash(name))) Find successor or prede. Linear? Finger table with m entries Log n Key 3 14 16 at node 1
Link management Outgoing Link Packet streams Buffer • Admission (Drop Tail, Random Early Detection(RED)) • Scheduling FIFO • Time Division Multiplexing (TDM) and (FDM) • Rate proportional service
Drop Tail FIFO Outgoing Link Packet streams Buffer • 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
Multiplexing Streams of packets flow 0 flow 1 flow 2 flow 3 . . Capacity C Buffer How do we split up bandwidth to different flows?
TDM and FDM TDM: slot time and organize into frames each “channel” gets certain slots in a frame. C r1 r2 r3 r4 FDM: bandwidth is split up using analog techniques. BW is reserved for each flow: if flow has no packets then bw is unused r1 + r2 + r3 + r4 = C
Processor Sharing: best of both worldsCPU 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
In Network layer • Virtual Circuit versus datagram • Admission control • 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
Virtual Clock Service • 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)
Generalized Processor Sharing (GPS) Each flow k is assigned a rate r(k). Usually, flow 1 flow 2 . . flow n C A = set of active flows Bandwidth for flow k
Virtual Clock Service flow 1 flow 2 . . flow n Each flow k has rate r(k) C • 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)
Virtual Clock Service flow 1 flow 2 . . flow n C buffer • Packets in the buffer are transmitted according • to the smallest virtual departure time • What is going on? • The scheduler is emulating a TDM system
The TDM system r(1) flow 1 flow 2 . . flow n 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) GPS emulator that determines virtual departure times (VDT) of packets arrival times and packet lengths VDTs of packets flow 1 flow 2 . . flow n C buffer Packets are transmitted in order of their VDTs
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
Weighted Round Robin: APractical 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
Weighted Round Robin: APractical Scheduler r(k) Credit 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
Random Early Detection (RED) Fixed buffer size for B packets Tail Drop Queueing prob dropping Dropping can be bursty which can be bad for TCP 1 Occupancy
Random Early Detection (RED) Fixed buffer size for B packets RED prob dropping Dropping some small fraction early tells TCP to back off 1 Occupancy
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?
Jitter- delay variations Buffering – reliability, bandwidth, delay Can this smoothing work in server side? Traffic Shaping
tokens generated at rate r Leaky bucket flow control token bucket s (s,r) traffic R(t) Incoming traffic Buffer Require tokens to launch data
Input 250k 500k 750k 500k w/ 10MB/sec bucket
C = 250KB M = 25MB/sec r = 2MB/ sec S =250KB/(25MB/sec – 2MB/sec) =10.8msec Token bucket allows burst! Burst length , S Token bucket capacity, C bytes Token arrival rate r bytes/sec Maximum output rate, M bytes/sec Out put burst = C+ rS bytes Number of bytes in S = MS C+ rS = MS S = C/(M- r)
If all packets follow same route, we can reserve • Bandwidth, • buffer space, • 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 Service Protocol Addressing Packet Size QoS Error handling Congestion control Security etc How networks differ?
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 Performance R(t): rate of traffic flow at time t • Simple model: constant rate r, R(t) = r • More complicated model: (s,r) traffic • For all x < y, burstiness parameter
(s,r) Traffic Simple FIFO queue and link C B(t) R(t) backlog B(t) first packet arriving t s
(s,r) Traffic Simple FIFO queue and link C B(t) R(t) backlog B(t) first packet arriving t s
For FIFO buffer with (s,r) traffic, Buffer occupancy is at most s + L Delay is at most (s + L)/C
Rin(t) Dmax Rout(t) Bits may be arbitrarily delayed from 0 to Dmax output is burstier
R1(t) R2(t) R3(t) sout = s1 + s2 + s3 rout = r1 + r2 + r3 Rout How do we get such traffic? tokens generated at rate r Leaky bucket flow control token bucket s (s,r) traffic R(t) Incoming traffic Buffer Require tokens to launch data