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

Slides:



Advertisements
Similar presentations
1 IK1500 Communication Systems IK1330 Lecture 3: Networking Anders Västberg
Advertisements

1 CONGESTION CONTROL. 2 Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because.
EE 4272Spring, 2003 Chapter 12 Congestion in Data Networks Effect of Congestion Control  Ideal Performance  Practical Performance Congestion Control.
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
The Network Layer Functions: Congestion Control
Review: Routing algorithms Distance Vector algorithm. –What information is maintained in each router? –How to distribute the global network information?
William Stallings Data and Computer Communications 7 th Edition Chapter 13 Congestion in Data Networks.
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
1 Comnet 2010 Communication Networks Recitation 10 QoS.
Traffic Shaping Why traffic shaping? Isochronous shaping
Quality of Service Requirements
1.  Congestion Control Congestion Control  Factors that Cause Congestion Factors that Cause Congestion  Congestion Control vs Flow Control Congestion.
1 Quality of Service Requirements Techniques for Achieving Good Quality of Service Integrated Services Differentiated Services Label Switching and MPLS.
Engineering Internet QoS
Abhay.K.Parekh and Robert G.Gallager Laboratory for Information and Decision Systems Massachusetts Institute of Technology IEEE INFOCOM 1992.
Network Layer Chapter 5 Design Issues Routing Algorithms
Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.
Priority Scheduling and Buffer Management for ATM Traffic Shaping Authors: Todd Lizambri, Fernando Duran and Shukri Wakid Present: Hongming Wu.
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Service Disciplines for Guaranteed Performance Service Hui Zhang, “Service Disciplines for Guaranteed Performance Service in Packet-Switching Networks,”
Traffic Characterization Dr. Abdulaziz Almulhem. Almulhem©20012 Agenda Traffic characterization Switching techniques Internetworking, again.
School of Information Technologies IP Quality of Service NETS3303/3603 Weeks
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 3. QoS.
24-1 Chapter 24. Congestion Control and Quality of Service part Quality of Service 23.6 Techniques to Improve QoS 23.7 Integrated Services 23.8.
Chapter 4 Queuing, Datagrams, and Addressing
A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-Node Case Abhay K. Parekh, Member, IEEE, and Robert.
1 Computer Communication & Networks Lecture 4 Circuit Switching, Packet Switching, Delays Waleed.
CSE QoS in IP. CSE Improving QOS in IP Networks Thus far: “making the best of best effort”
Quality of Service (QoS)
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
ECE 466 Switching Networks. ECE 466 A communication network provides a scalable solution to connect a large number of end systems Communication Networks.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
Computer Networks with Internet Technology William Stallings
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
TCP Trunking: Design, Implementation and Performance H.T. Kung and S. Y. Wang.
CSC 581 Communication Networks II Chapter 7c: Congestion Control Dr. Cheer-Sun Yang.
March 29 Scheduling ?. What is Packet Scheduling? Decide when and what packet to send on output link 1 2 Scheduler flow 1 flow 2 flow n Buffer management.
Packet Scheduling and Buffer Management Switches S.Keshav: “ An Engineering Approach to Networking”
Bjorn Landfeldt, The University of Sydney 1 NETS3303 Networked Systems.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 23 Congestion Control and Quality of Service.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Forwarding.
1 Lecture, November 27, 2002 TCP Other Internet Protocols; Internet Traffic Scalability of Virtual Circuit Networks QoS.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 18: Quality of Service Slides used with.
CONGESTION CONTROL.
Lecture Network layer -- May Congestion control Algorithms.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Providing QoS in IP Networks
Integrated Services & RSVP Types of pplications Basic approach in IntServ Key components Service models.
-1- Georgia State UniversitySensorweb Research Laboratory CSC4220/6220 Computer Networks Dr. WenZhan Song Professor, Computer Science.
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Chapter 10 Congestion Control in Data Networks and Internets 1 Chapter 10 Congestion Control in Data Networks and Internets.
The Network Layer Congestion Control Algorithms & Quality-of-Service Chapter 5.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 17 – Multimedia Transport Subsystem (Part 3) Klara Nahrstedt Spring 2011.
QoS & Queuing Theory CS352.
Point-to-Point Network Switching
Topics discussed in this section:
Congestion Control, Quality of Service, and Internetworking
Queue Management Jennifer Rexford COS 461: Computer Networks
CONGESTION CONTROL.
CONGESTION CONTROL, QUALITY OF SERVICE, & INTERNETWORKING
Network Core and QoS.
Computer Science Division
Congestion Control, Quality of Service, & Internetworking
The Network Layer Congestion Control Algorithms & Quality-of-Service
کنترل جریان امیدرضا معروضی.
Network Core and QoS.
Presentation transcript:

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

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 at node 1

Congestion Control

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

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

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

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

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

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

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

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)

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

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

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

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

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)

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

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

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 traffic Buffer token bucket tokens generated at rate  Require tokens to launch data (  ) traffic R(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 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

( ,  ) Traffic Simple FIFO queue and link B(t) C backlog R(t) s t first packet arriving B(t)

( ,  ) Traffic Simple FIFO queue and link B(t) C backlog R(t) s t first packet arriving B(t)

For FIFO buffer with (  ) traffic, Buffer occupancy is at most  + L Delay is at most (  + L)/C

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

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