CS475 – Networks Lecture 21 Chapter 6: Congestion Control and Resource Allocation Assignments • Reading for Lecture 22: Sections 6.3-6.4 Chapter 6: Congestion Control and Resource Allocation Congestion control refers to the efforts make by network nodes Resource allocation refers to the process by which network to prevent or respond to overload conditions. (Congestion elements try to meet the competing demands that applications control is different from flow control, but they share some of the have for network resources – primarily link ________________ same control mechanisms.) and buffer space in routers. 6.1 Issues in Resource Allocation Resource allocation is partially implemented in the routers or End systems use _________________________ protocols to switches inside the network and partially in the transport convey resource requirements to network nodes. The nodes protocol. respond with information about resource availability. 6.1.1 Network Model 6.1.1 Network Model - Packet-Switched Network We will discuss resource allocation with respect to a network Links in a packet-switched network will typically have different that is: bandwidths. • packet switched Although a given source may have enough capacity on an • __________________________ outgoing link to send a packet. A slow link somewhere in the • and best-effort. middle can cause a ___________________________. 6.1.1 Network Model - Connectionless Flows Connectionless networks do not use setup messages to reserve when discussing resource allocation. A flow is a sequence of network resources prior to transmitting data. packets traveling between a source and destination along the Although our network is connectionless and packet-switched we same path. will see that the concept of a ______________ is important 11/08/2011 Page 1 of 4 Routers may maintain ____________________ about a flow so that it can perform more efficiently. (Routers in connected networks maintain hard state.) A flow can be detected implicitly by inspecting packet source and destination addresses or explicitly via flow setup messages. Multiple flows passing through a network. 6.1.1 Network Model - Service Model We will initially assume that our network is a best effort (throughput, delay, etc). Such a network is said to provide network. No guarantees are made on either throughput or delay. quality of service (_______________). This type of network is Some networks can guarantee certain levels of performance covered in Section 6.5, which we will be skipping. 6.1.2 Taxonomy - Router-Centric vs Host-Centric Resource allocation mechanisms can be categorized as being hosts of how much data they can send. either router-centric or host-centric. In a host-centric design, hosts observe the network and adjust In a router-centric design, the router decides when packets are their behavior accordingly. forwarded and ___________________. Routers inform sending 6.1.2 Taxonomy - Reservation vs Feedback In a reservation-based resource allocation scheme a host asks the In a feedback-based approach hosts begin sending data and network for capacity at the time a flow is established. If a route adjust sending rates based on feedback. Feedback may be can not satisfy the request the flow may be ________________. explicit (in the form of messages sent back from routers) or (A router-centric design is implied.) implicit. 6.1.2 Taxonomy - Window-Based vs Rate-Based In a window-based resource allocation method windows are used Alternatively, a sender could be asked to transmit at a particular to indicate to the sender how much data should be transmitted. rate (bits per second). Rate-based requests are common in Both TCP flow and congestion control methods are windows networks that support Quality of Service. based. 11/08/2011 Page 2 of 4 6.1.3 Evaluation Criteria - Effective Resource Allocation 6.1.3 Evaluation Criteria - Fair Resource Allocation We want to allocate resources so that we maximize throughput Unless there is a statement to the contrary, we will assume that while minimizing delay. fair resource allocation implies that all flows using a link should Many allocation methods seek to optimize the _____________ have __________________ throughput. of the network: Given a set of flow throughputs (x1, x2, ..., xn) one proposed Power = Throughput/Delay fairness index is: ∑ x n f x 1, x 2, , x n = i=1 2 i n n ∑i =1 xi2 For a given allocation scheme, power is optimized at a particular load value. 6.2 Queuing Disciplines A router's queuing discipline governs how packets are buffered deciding which packets get dropped). while waiting to be transmitted. We will examine the first-in-first-out (FIFO) and fair queuing The queuing algorithm affects ______________________ (by (FQ) algorithms. determining which packets get transmitted) and buffer space (by 6.2.1 FIFO FIFO is the simplest of FIFO is a scheduling discipline. Routers also use a drop policy all queuing algorithms. to determine which packets are dropped when the queue is full. It is currently also the FIFO routers typically use a tail drop drop policy. most widely used A simple variation on FIFO queuing is to have multiple algorithm on ______________________ queues. Packets could contain a ____________________ field that indicates the packet priority (the IP Type of Service or routers. TOS field could be used for this purpose). (a) FIFO Queue, (b) tail drop 11/08/2011 Page 3 of 4 6.2.2 Fair Queuing FIFO queues do not separate packets by flow. It is possible for FQ would prevent a UDP flow from using more than its fair an ill-behaved source to use up most of the available bandwidth. share of network bandwidth. We will see that TCP uses host-centric congestion control. It is possible for an application to use UDP instead and _________________ TCP's congestion control mechanism. With fair queuing (FQ) a queue is maintained for each flow and the flows are serviced in _______________________ fashion. Fair queuing is not quite that simple due to different packet The Fi values are treated as time stamps and we transmit packets lengths. We want to ensure equal _____________________ for in order of increasing time stamp. An arriving packet is not all flows rather than equal packet rates. permitted to ____________________ the transmission of packet To ensure equal bit rates we compute the time when the router even if it has a smaller Fi value. would finish transmitting the packet as: Fi = max(Fi – 1, Ai) + Pi where Fi is the finish time, Ai is the arrival time and Pi is the transmit time. FQ is ______________________________, the link is never idle A variation is __________________ fair queuing (WFQ) in as long as there is one packet in a queue. If one active flow is which each flow is given a weight. With three flows with sharing a link with several idle flows, the active flow will use the weights of 1, 2, and 3, the flows would get 1/6, 1/3, and 1/2 of full link capacity. the link capacity respectively. If there are n active flows then each flow will get no more than WFQ could be used on classes of traffic instead of on flows. 1/nth of the link capacity. If a source tries to send data at a faster The IP TOS field could be used to identify classes. The rate, the queue will fill and packets will be dropped. Differentiated Services architecture (Section 6.5) uses this approach. In Class Exercises: To be turned as part of Homework 7 • Problem 6.7 on pages 564-565 • Problem 6.10(a) on page 565 11/08/2011 Page 4 of 4