Presentation is loading. Please wait.

Presentation is loading. Please wait.

Network and Communications Hongsik Choi Department of Computer Science Virginia Commonwealth University.

Similar presentations


Presentation on theme: "Network and Communications Hongsik Choi Department of Computer Science Virginia Commonwealth University."— Presentation transcript:

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

27

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) 


Download ppt "Network and Communications Hongsik Choi Department of Computer Science Virginia Commonwealth University."

Similar presentations


Ads by Google