1 / 43

Network and Communications

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

dacian
Download Presentation

Network and Communications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. Congestion Control

  4. 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

  5. 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

  6. Multiplexing Streams of packets flow 0 flow 1 flow 2 flow 3 . . Capacity C Buffer How do we split up bandwidth to different flows?

  7. 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

  8. 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

  9. 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

  10. Which packet to drop? New or old Priority? Random Early Detection

  11. 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)

  12. 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

  13. 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)

  14. 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

  15. 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

  16. 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

  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: 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

  19. 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

  20. 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

  21. 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

  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. 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

  28. Input 250k 500k 750k 500k w/ 10MB/sec bucket

  29. 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)

  30. 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

  31. Fair queueing Weighted Fair queueing How to model? GPS How to implemented ? Virtual clock? Packetized GPS

  32. 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

  33. 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

  34. Label Switching and MPLS Routing Switching Forward equivalence class Data driven setup with colored thread

  35. Internetworking Service Protocol Addressing Packet Size QoS Error handling Congestion control Security etc How networks differ?

  36. 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

  37. 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

  38. (s,r) Traffic Simple FIFO queue and link C B(t) R(t) backlog B(t) first packet arriving t s

  39. (s,r) Traffic Simple FIFO queue and link C B(t) R(t) backlog B(t) first packet arriving t s

  40. For FIFO buffer with (s,r) traffic, Buffer occupancy is at most s + L Delay is at most (s + L)/C

  41. Rin(t) Dmax Rout(t) Bits may be arbitrarily delayed from 0 to Dmax output is burstier

  42. 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

More Related