* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download General
Passive optical network wikipedia , lookup
Backpressure routing wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Distributed firewall wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Computer network wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Network tap wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Deep packet inspection wikipedia , lookup
Airborne Networking wikipedia , lookup
Traffic Management & Traffic Engineering An example Executives participating in a worldwide videoconference Proceedings are videotaped and stored in an archive Edited and placed on a Web site Accessed later by others During conference Sends email to an assistant Breaks off to answer a voice call 2 What this requires For video For voice low delay (< 100 ms one-way) For playback sustained bandwidth of at least 8 kbps low loss rate For interactive communication sustained bandwidth of at least 64 kbps low loss rate low delay jitter For email and archiving reliable bulk transport 3 What if… A million executives were simultaneously accessing the network? What capacity should each trunk have? How should packets be routed? (Can we spread load over alternate paths?) How can different traffic types get different services from the network? How should each endpoint regulate its load? How should we price the network? These types of questions lie at the heart of network design and operation, and form the basis for traffic management. 4 Traffic management Set of policies and mechanisms that allow a network to efficiently satisfy a diverse range of service requests The mechanisms and policies have to be deployed at both node level as well as network level Tension is between diversity and efficiency Traffic management is necessary for providing Quality of Service (QoS) Subsumes congestion control (congestion == loss of efficiency) 5 Traffic Engineering Engineering of a given network so that the underlying network can support the services with requested quality Encompasses Network Design Capacity Design (How many nodes, where) Link Dimensioning (How many links, what capacity) Path Provisioning (How much bandwidth end-to-end) Multi-homing (Reliability for customer) Protection for Reliability (Reliability in Network) Resource Allocation Congestion Control routing around failures adding more capacity 6 Why is it important? One of the most challenging open problems in networking Commercially important AOL ‘burnout’ Perceived reliability (necessary for infrastructure) Capacity sizing directly affects the bottom line At the heart of the next generation of data networks Traffic management = Connectivity + Quality of Service 7 Outline Economic principles Traffic classes Time scales Mechanisms Queueing Scheduling Congestion Control Admission Control Some open problems 8 Let’s order Pizza for home delivery Customer calls a closest pizza outlet (what is selection based on??) orders a pizza Requirement specification • type, toppings (measurable quantities) order arrives at home Service Quality • How fast it arrived • Is the right pizza? Anything missing (quality measurements) Customer Satisfaction (based on feeling!!, all parameters not measurable) How was the service? Is Pizza cold or hot? Is it fresh? Pizza company How many customers and how fast to serve Customer Satisfaction – Only through complaints (cannot really measure) What they know – only what customer ordered (Requirement!!) 9 Economics Basics: utility function Users are assumed to have a utility function that maps from a given quality of service to a level of satisfaction, or utility Utility functions are private information Cannot compare utility functions between users Rational users take actions that maximize their utility Can determine utility function by observing preferences Generally networks do not support signaling of utility They only support signaling of requirements (bandwidth, delay) Networks use resource allocation to make sure requirements are satisfied Measurements and Service Level Agreements (SLAs) determine customer satisfaction!! 10 Example: File Transfer Let u(t) = S - t u(t) = utility from file transfer S = satisfaction when transfer infinitely fast t = transfer time = rate at which satisfaction decreases with time As transfer time increases, utility decreases If t > S/ , user is worse off! (reflects time wasted) Assumes linear decrease in utility S and can be experimentally determined 11 Example: Video Conference Every packet must receive before a deadline Otherwise, the packet is too late and cannot be used Model: u(t) = if (t < D) then S else (-) t is the end to end delay experienced by a packet D is the delay deadline S is the satisfaction - is the cost (penalty) for missing deadline causes performance degradation Sophisticated Utility measures not only delay but packet loss too u() = S(1- ) where is the packet loss probability 12 Social welfare Suppose network manager knew the utility function of every user Social Welfare is maximized when some combination of the utility functions (such as sum) is maximized while minimizing the infrastructure cost An economy (network) is efficient when increasing the utility of one user must necessarily decrease the utility of another An economy (network) is envy-free if no user would trade places with another (better performance also costs more) Goal: maximize social welfare subject to efficiency, envy-freeness, and making a profit 13 Example Assume Conservation law [(idi) = Constant] 0.4d + 0.4d = C => d = 1.25 C => Sum of utilities = 12-3.75 C If B wants lower delay say to 0.5C, then A’s delay = 2C Single switch, each user imposes load (=0.4) A’s utility: 4 - d B’s utility : 8 - 2d Same delay (d) to both users Sum of utilities = 12 - 3C (Larger than before) By giving high priority to users that want lower delay, network can increase its utility Increase in social welfare need not benefit everyone A loses utility, but may pay less for service 14 Some economic principles A single network that provides heterogeneous QoS is better than separate networks for each QoS Lowering delay of delay-sensitive traffic increases welfare unused capacity is available to others can increase welfare by matching service menu to user requirements BUT need to know what users want (signaling) For typical utility functions, welfare increases more than linearly with increase in capacity individual users see smaller overall fluctuations can increase welfare by increasing capacity 15 Principles applied A single wire that carries both voice and data is more efficient than separate wires for voice and data Moving from a 20% loaded 10 Mbps Ethernet to a 20% loaded 100 Mbps Ethernet will still improve social welfare ADSL IP Phone increase capacity whenever possible Better to give 5% of the traffic lower delay than all traffic low delay should somehow mark and isolate low-delay traffic 16 The two camps Can increase welfare either by Which is cheaper? no one is really sure! small and smart vs. big and dumb It seems that smarter ought to be better matching services to user requirements or increasing capacity blindly otherwise, to get low delays for some traffic, we need to give all traffic low delay, even if it doesn’t need it But, perhaps, we can use the money spent on traffic management to increase capacity We will study traffic management, assuming that it matters! 17 How useful are utility functions and economic framework? Do users really have such functions that can be expressed mathematically? Practically no or less clear Even if users cannot come up with a mathematical formula, they can express preference of one set of resources over other These preferences can be codified as utility function Best way to think about utility functions is that they may allow us to come up with a mathematical formulation of the traffic management problem that gives some insight Practical economic algorithms may never be feasible But policies and mechanisms based on these are still relevant 18 Network Types Single-Service Networks Multi-Service Networks Provide services for single type of traffic e.g., Telephone Networks (Voice), Cable Networks (Video), Internet (Best effort Data) Provide services for multiple traffic types on the same network e.g., Asynchronous Transfer Mode (CBR, VBR, ABR, UBR), Frame Relay, Differentiated Services (Diff-Serv), Integrated Services (Int-Serv), MPLS with Traffic Engineering Application types need to match the service provided Traffic models are used for the applications in order to match services, design, deploy the equipment and links. 19 Application Types Elastic applications (Adjust bandwidth and take what they get) Continuous media applications. Wide range of acceptable rates, although faster is better E.g., data transfers such as FTP Lower and upper limit on acceptable performance Sometimes called “tolerant real-time” since they can adapt to the performance of the network E.g., changing frame rate of video stream “Network-aware” applications Hard real-time applications. Require hard limits on performance – “intolerant real-time” E.g., control applications 20 Traffic models To align services, need to have some idea of how applications, users or aggregates of users behave = traffic model e.g. how long a user uses a modem e.g. average size of a file transfer Models change with network usage We can only guess about the future Two types of models measurements educated guesses 21 Telephone traffic models How are calls placed? call arrival model studies show that time between calls is drawn from an exponential distribution call arrival process is therefore Poisson memoryless: the fact that a certain amount of time has passed since the last call gives no information of time to next call How long are calls held? usually modeled as exponential however, measurement studies show it to be heavy tailed means that a significant number of calls last a very long time specially after usage of modems!! 22 Traffic Engineering for Voice Networks For a switch with N trunks, and with large population of users (M), the probability of blocking (i.e., a call is lost) is given by Erlang-B formula PB p N AN N! , N n A n! n 0 where is the call arrival rate (calls /sec) 1/ is the call holding time (3 minutes) Example: (For A = 12 Erlangs) A PB = 1% for N = 20; A/N = 0.6 PB = 8% for N = 18; A/N = 0.8 PB = 30% for N = 7; A/N = 1.7 23 Distributions Long/heavy-tailed distributions power law P[X > x] cx x, ,c > 0 Pareto P[X > x] = c x , x > b Exponential Distribution P[X > x] = e-ax 24 Pareto distribution 1<<2 => infinite variance Power law decays more slowly than exponential heavy tail 25 Internet traffic modeling A few apps account for most of the traffic WWW FTP telnet A common approach is to model apps (this ignores distribution of destination!) time between app invocations connection duration # bytes transferred packet inter-arrival distribution Little consensus on models But two important features 26 Internet traffic models: features LAN connections differ from WAN connections Many parameters are heavy-tailed Higher bandwidth (more bytes/call) longer holding times examples # bytes in call call duration means that a few calls are responsible for most of the traffic these calls must be well-managed also means that even aggregates with many calls not be smooth can have long bursts New models appear all the time, to account for rapidly changing traffic mix 27 Outline Economic principles Traffic classes Time scales Mechanisms Some open problems 28 Traffic classes Networks should match offered service to source requirements (corresponds to utility functions) Example: telnet requires low bandwidth and low delay utility increases with decrease in delay network should provide a low-delay service or, telnet belongs to the low-delay traffic class Traffic classes encompass both user requirements and network service offerings Applications match the traffic to the service offering Request resources from the network accordingly 29 Traffic classes - details A basic division: guaranteed service and best effort Guaranteed-service like flying with reservation or standby utility is zero unless app gets a minimum level of service quality bandwidth, delay, loss open-loop flow control with admission control e.g. telephony, remote sensing, interactive multiplayer games Best-effort send and pray closed-loop flow control e.g. email, net news 30 GS vs. BE (cont.) Degree of synchrony time scale at which peer endpoints interact GS are typically synchronous or interactive interact on the timescale of a round trip time e.g. telephone conversation or telnet BE are typically asynchronous or non-interactive interact on longer time scales e.g. Email Sensitivity to time and delay GS apps are real-time performance depends on wall clock BE apps are typically indifferent to real time automatically scale back during overload 31 Best Effort (Flow Control) Explicit Implicit Packet drop is detected by the source and adjusts the window transmission (e.g., TCP) No flow control Network Tells at what rate the source should send the packets Network elements may compute connection fair share based on Max-Min allocation (e.g, ABR in ATM Networks) Or it can be based on 1 bit congestion indicator (e.g., EFCI in ABR of ATM Networks) Packets are dropped by the network nodes Sources may not react (e.g, UDP, UBR) Problems are caused if these two types are mixed!! 32 Traffic subclasses (roadmap) ATM Forum based on sensitivity to bandwidth GS CBR, VBR BE ABR, UBR IETF IETF based on RSVP based on ToS based on sensitivity to delay GS intolerant tolerant BE interactive burst interactive bulk asynchronous bulk IETF based in DiffServ PHB EF, 4 AFs and BE 33 ATM Basics See the ATM Forum Presentation 34 ATM Basics Logical or Virtual Connection Connection is first established using signaling protocol Route from the source to the destination is chosen The same route is used for all cells (fixed size packets) of the connection No routing decision for every cell (they are switched in the same path) 7 6 5 4 3 2 1 0 Generic Flow Virtual Path Control Identifier Virtual Path Virtual Channel Identifier Identifier Virtual Channel Identifier Virtual Channel Payload Type CLP Identifier Identifier Header Error Check Payload (48 bytes) 5 Bytes 48 Bytes CLP = Cell Loss Priority 35 Virtual Circuits in ATM Virtual Circuit Identifier is represented jointly by: Virtual Channel Identifier (VCI) Virtual Path Identifier (VPI) Virtual Channel (VC) Path for cell associated with a connection Supports transportation of a data stream Each VC is assigned a unique VCI on a link 36 Virtual Channels in ATM Virtual Path (VP) Grouping of virtual channels on a physical link Switching can be performed on the path basis: reduced overheads Each virtual path is assigned Virtual Path Identifier (VPI) 37 VCs In ATM Virtual Path Transmission Path Virtual Channel 38 Virtual Path Switch (VP - Switch) VP - Switch VP1 VP4 VC3 VC4 VC5 VC1 VC2 VP2 VP5 VC! VC2 VC3 VC4 VC5 VP3 VC6 VC7 VP6 VC6 VC7 39 VP / VC Switch VC3 VC2 VC1 VC2 VC1 VC3 VP3 VC2 VC3 VC1 VP1 VP4 VP2 VP5 VC4 VC5 VC4 VC5 VP/VC Switch 40 ATM Network Example D 2 Switch 2 Access S2 Switch 1 Mux S1 CAC Switch 3 Core D1 CAC Each connection has its own traffic descriptors such as PCR, SCR, MBS, CDVT, CLR, MCR A Connection Admission Control algorithm (CAC) will check for the resources at queuing points to make a decision on admissibility Network efficiency depends upon the CAC 41 ATM Forum GS subclasses Constant Bit Rate (CBR) constant, cell-smooth traffic mean and peak rate are the same e.g. telephone call evenly sampled and uncompressed constant bandwidth, variable quality Variable Bit Rate (VBR) long term average with occasional bursts try to minimize delay can tolerate loss and higher delays than CBR e.g. compressed video or audio with constant quality, variable bandwidth 42 ATM Forum BE subclasses Available Bit Rate (ABR) Unspecified Bit Rate (UBR) users get whatever is available zero loss if network signals (in RM cells) are obeyed no guarantee on delay or bandwidth like ABR, but no feedback no guarantee on loss presumably cheaper Guaranteed Frame Rate (GFR) like UBR/ABR, expressed in terms of frame rate 43 ATM Attributes How do we describe a flow (connection) of ATM Service? Service Category Traffic Parameters or descriptors QoS parameters Congestion (for ABR) Other (for UBR) Cell Loss Priority (CLP=0 or CLP=0+1) Connections are signaled with various parameters A Connection Admission Control (CAC) procedure checks for resources in the network If connection is accepted, a “traffic contract” is awarded to the user (Service Level Agreement) 44 Traffic Descriptors or Parameters Connection Traffic Descriptor Source Traffic Descriptor: PCR, SCR, MBS, MCR, MFS Cell Delay Variation Tolerance (): upper bound on amount of cell delay that is introduced by the network interface and the UNI (due to interleaving, physical layer overhead, multiplexing, etc.) Conformance Definition: unambiguous specification of conforming cells of a connection at the UNI ( a policing function is used to check for conformance such as Generic Cell Rate Algorithm (GCRA)) 45 Traffic Parameters (Source Traffic Descriptor) Peak Cell Rate (PCR): upper bound on traffic submitted by source (PCR = 1/T, where T = minimum cell spacing Sustainable Cell Rate (SCR): upper bound on “average rate” of traffic submitted by source (over a larger T) Maximum Burst Size (MBS): maximum number of cells sent continuously at PCR Minimum Cell Rate (MCR): used with ABR and GFR, minimum cell rate requested, access to unused capacity up to PCR (elastic capacity = PCR-MCR) Maximum Frame Size (MFS): maximum size of a frame in cells available for GFR service 46 Cell Rates Peak Cell Rate (PCR), Line Cell Rate (LCR) T=1/PCR t=1/LCR Sustained Cell Rate (SCR) = PCR*(Ton/Ton+Toff) Ton Toff 47 Quality of Service Cell Transfer Delay (CTD) Cell Delay Variation (CDV) time Cell arrival pattern Queuing point (e.g. mux, switch) Cell departure pattern without CDV Cell departure pattern with CDV Switch transit delay Negative CDV Positive CDV 48 Cell Transfer Delay Probability Density Variable component of delay, due to buffering and cell scheduling. 49 QoS Parameters Peak-to-peak cell delay variation (CDV): acceptable delay variation at destination. The peak-to-peak CDV is the (1 - ) quantile of the CTD minus the fixed CTD that could be experienced by any delivered cell on a connection during the entire connection holding time. Maximum Cell Transfer Delay (maxCTD): maximum time between transmission of first bit of a cell at the source UNI to receipt of its last bit at the destination UNI Cell Loss Ratio: ratio of lost cells to total transmitted cells on a connection = Lost Cells/Total Transmitted Cells 50 Other Attributes Congestion Control defined only for ABR service category uses network feedback controls ABR flow control mechanism (more later) Other Attributes (introduced July 2000) Behavior class selector (BCS): for IP differentiated services (DiffServ) provides for different levels of service among UBR connections implementation dependent, no guidance in specs Minimum desired cell rate (MDCR): UBR application minimum capacity objective 51 Attributes of Each Service Category 52 Service Paradigm Quantitative Commitments Sets explicit values Ensures service quality through resource allocation and traffic policing Qualitative Commitments Relative measure and no explicit guarantees Some unspecified level of quality through “network engineering” 53 Quantitative Commitments Generally connection oriented transport Network nodes maintain per-flow state info QoS (or GOS) requirements of each connection is explicitly specified and signaled Network enforces traffic regulation (policing, shaping) if necessary and allocates resources for each connection Examples: Voice networks (POTS), ATM, FR Expensive and under-utilized 54 Qualitative Commitments Generally connection less transport no per-flow state info is maintained due to flow aggregation QoS requirements are not explicitly specified Network may not enforce traffic regulation May allocate resources for logical groups (such as VPN) Examples: IP, LANs Cheap and over-utilized 55 QoS Building Blocks • Backbone supporting QoS: speed and scale • Packet / Service classification (sorting) • Bandwidth management and admission control • Queue management • Congestion management • Granular measurements 56 Functions Needed Admission control - some way to limit usage relative to resources. Packet scheduling - some way to treat different packets differently. Classifier mechanism - some way to sort packets into different treatment groups. Policies and rules for allocating resources. 57 IETF Internet currently provides only single class of “besteffort” service. Existing applications are elastic. No admission control and no assurances about delivery Tolerate delays and losses Can adapt to congestion Future “real-time” applications may be inelastic. Should we modify these applications to be more adaptive or should we modify the Internet to support inelastic behavior? 58 IETF ToS (1-byte Type-of-Service) Bits 0-2: Precedence. Bit 3: 0 = Normal Delay, 1 = Low Delay. Bits 4: 0 = Normal Throughput, 1 = High Throughput. Bits 5: 0 = Normal Relibility, 1 = High Relibility. Bit 6-7: Reserved for Future Use 59 IETF int-serv (Integrated Services) Focus on per-flow QoS. Many concerns: Support specific applications such as video streaming. Based on mathematical guarantees. Complexity Scalability Business model Charging Uses RSVP (Resource-Reservation Protocol) To signal QoS requirements 60 IETF int-serv (Integrated Services) Guaranteed service Targets hard real-time applications. User specifies traffic characteristics and a service requirement. Requires admission control at each of the routers. Can mathematically guarantee bandwidth, delay, and jitter. Controlled load. Targets applications that can adapt to network conditions within a certain performance window. User specifies traffic characteristics and bandwidth. Requires admission control at each of the routers. Guarantee not as strong as with the guaranteed service. e.g., measurement-based admission control. Best effort 61 RSVP 1. Sender sends PATH message to network 2. PATH leads data through the network 3. Routers install per-flow state 4. Receiver responds with RESV 5. RESV follows PATH trail back towards sender 6. Routers accept resource request (commit resources to flow) or reject resource request 7. Data is handled in network elements Direction of data flow 62 IETF GS subclasses Tolerant GS nominal mean delay, but can tolerate “occasional” variation not specified what this means exactly uses controlled-load service even at “high loads”, admission control assures a source that its service “does not suffer” it really is this imprecise! Intolerant GS need a worst case delay bound equivalent to CBR+VBR in ATM Forum model 63 IETF BE subclasses Interactive burst Interactive bulk bounded asynchronous service, where bound is qualitative, but pretty tight e.g. paging, messaging, email bulk, but a human is waiting for the result e.g. FTP Asynchronous bulk junk traffic e.g netnews 64 IETF Diff-Serv (Differentiated Services) Intended to address the following difficulties with Intserv and RSVP; Scalability: maintaining states by routers in high speed networks is difficult due to the very large number of flows Flexible Service Models: Intserv has only two classes, want to provide more qualitative service classes; want to provide ‘relative’ service distinction (Platinum, Gold, Silver, …) Simpler signaling: (than RSVP) many applications and users may only want to specify a more qualitative notion of service 65 Diffserv PHB (Per-Hop-Behavior) Packet is marked in the Type of Service (TOS) in IPv4, and Traffic Class in IPv6. 6 bits used for Differentiated Service Code Point (DSCP) and determine PHB that the packet will receive. EF, 4 classes of AF, each with 3 drop priorities (AF11, AF12, AF13, AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43)and Best-Effort (BE) 2 bits are currently unused. 66 PHB: Class Selector Derived from IP Precedence values 6 bit diff-serv code point (DSCP) determines per-hop behavior of packet treatment Expedited Forwarding (EF): low loss and latency Assured Forwarding (AF): 4 classes, 3 drop precedence Best Effort (BE): classical IP No absolute guarantees IP Service Type Byte Diff-Serv Header Precedence D PHB T R C MBZ Resv 67 DiffServ 1. Routers configured for certain PHBs (Per Hop Behavior) 2. Resources are allocated to PHBs 3. Edge routers are configured to mark DSCP (requests PHB) based on classification information 4. Traffic arriving at edge router marked with DSCP 5. Traffic in core routers go to PHB requested by DSCP DSCP marked at edge SLA defines capacity at each service level (DSCP) Direction of data flow 68 Diff-Serv Network Architecture POP POP Backbone POP Edge Functions • Packet classification • Bandwidth management • L3 metering • Security filtering • Access aggregation POP Scalable Solutions Require Cooperative Edge and Backbone Functions Backbone Functions • High-speed switching and transport • QoS enforcement • QoS interworking 69 Packet Classification • Up to six traffic classes via ToS precedence bits • Classification by physical port, IP address, application, IP protocol, etc. • Network or external assignment Backbone Customer Premise Network Edge Packet Classifier Policy Specification 70 Multi-field Packet Classification L3-DA Field 1 L3-SA Field 2 L4-PROT Field k … Rule 1 5.3.40.0/21 2.13.8.11/32 … UDP A1 Rule 2 5.168.3.0/24 152.133.0.0/16 … TCP A2 … … … … … … Rule N 5.168.0.0/16 152.0.0.0/8 … ANY AN Action Example: packet (5.168.3.32, 152.133.171.71, …, TCP) Packet Classification: Find the action associated with the highest priority rule matching an incoming packet header. 71 Courtesy Nick McKeown@Stanford Formal Problem Definition Given a classifier C with N rules, Rj, 1 j N, where Rj consists of three entities: 1) A regular expression Rj[i], 1 i d, on each of the d header fields, 2) A number, pri(Rj), indicating the priority of the rule in the classifier, and 3) An action, referred to as action(Rj). For an incoming packet P with the header considered as a d-tuple of points (P1, P2, …, Pd), the d-dimensional packet classification problem is to find the rule Rm with the highest priority among all the rules Rj matching the d-tuple; i.e., pri(Rm) > pri(Rj), j m, 1 j N, such that Pi matches Rj[i], 1 i d. We call rule Rm the best matching rule for packet P. 72 Courtesy Nick McKeown@Stanford Routing Lookup: Instance of 1D Classification One-dimension (destination address) Forwarding table classifier Routing table entry rule Outgoing interface action Prefix-length priority 73 Courtesy Nick McKeown@Stanford Example 4D Classifier Rule L3-DA L3-SA L4DP L4PROT Action R1 152.163.190.69/255. 255.255.255 152.163.80.11/25 5.255.255.255 * * Deny R2 152.168.3/255.255. 255 152.163.200.157/ 255.255.255.255 eq www udp Deny R3 152.168.3/255.255. 255 152.163.200.157/ 255.255.255.255 range 20-21 udp Permit R4 152.168.3/255.255. 255 152.163.200.157/ 255.255.255.255 eq www tcp Deny R5 * * * * Deny 74 Courtesy Nick McKeown@Stanford Example Classification Results Pkt L3-DA Hdr P1 P2 L3-SA L4- L4Rule, DP PROT Action 152.163.190.69 152.163.80.11 www tcp R1, Deny 152.168.3.21 www udp R2, Deny 152.163.200.157 75 Courtesy Nick McKeown@Stanford Classification algorithms Types Linear search Associative search Trie-based techniques Crossproducting Heuristic algorithms Algorithms So far Good for two fields, but do not scale to more than two fields, OR Good for very small classifiers (< 50 rules) only, OR Have non-deterministic classification time, OR Either too slow or consume too much storage Another Project Item 76 DiffServ Routers DiffServ Edge Router Classifier DiffServ Core Router Marker Select PHB Extract DSCP PHB PHB PHB PHB Meter Policer Local conditions Packet treatment 77 Edge Router/Host Functions Classification: marks packets according to classification rules to be specified. Metering: checks whether the traffic falls within the negotiated profile. Marking: marks traffic that falls within profile. Conditioning: delays and then forwards, discards, or remarks other traffic. 78 Core Functions Forwarding: according to “Per-Hop-Behavior” or PHB specified for the particular packet class; such PHB is strictly based on class marking (no other header fields can be used to influence PHB). BIG ADVANTAGE: No state info to be maintained by routers! 79 Forwarding (PHB) PHB results in a different observable (measurable) forwarding performance behavior. PHB does not specify what mechanisms to use to ensure required PHB performance behavior. Examples: Class A gets x% of outgoing link bandwidth over time intervals of a specified length. Class A packets leave first before packets from class B. 80 Forwarding (PHB) Expedited Forwarding (EF): Guarantees a certain minimum rate for the EF traffic. Implies isolation: guarantee for the EF traffic should not be influenced by the other traffic classes. Admitted based on peak rate. Non-conformant traffic is dropped or shaped. Possible service: providing a virtual wire. 81 Forwarding (PHB) Assured Forwarding (AF): AF defines 4 classes with some bandwidth and buffers allocated to them. The intent is that it will be used to implement services that differ relative to each other (e.g., gold, silver,…). Within each class, there are three drop priorities, which affect which packets will get dropped first if there is congestion. Lots of studies on how these classes and drop priorities interact with TCP flow control. Non-conformant traffic is remarked. 82 Example of EF: A Virtual Leased Line Service Service offers users a dedicated traffic pipe. Guaranteed bandwidth between two points. Very low latency and jitter since there should be no queuing delay (peak rate allocation). Admission control makes sure that all links in the network core have sufficient EF bandwidth. Simple case: sum of all virtual link bandwidth is less than the capacity of the slowest link. Traffic enforcement for EF traffic limits how much EF traffic enters the network. 83 Differentiated Services Issues The key to making Diffserv work is bandwidth management in the network core. Definition of end-to-end services for paths that cross networks with different forwarding behaviors Simple for simple services such as the virtual pipe, but it is much more challenging for complex service level agreements. Notion of a “bandwidth broker” that manages the core network bandwidth. Some packets will be handled differently in different routers. Some routers are not DiffServ capable. Per-Domain Behavior (PDB) 84 Some points to ponder The only thing out there is CBR and asynchronous bulk! There are application requirements. There are also organizational requirements (link sharing) Users needs QoS for other things too! billing privacy and security reliability and availability 85 Outline Economic principles Traffic classes Time scales Mechanisms Some open problems 86 Time scales Some actions are taken once per call Other actions are taken during the call, every few round trip times feedback flow control Still others are taken very rapidly,during the data transfer tell network about traffic characterization and request resources in ATM networks, finding a path from source to destination scheduling policing and regulation Traffic management mechanisms must deal with a range of traffic classes at a range of time scales 87 Summary of mechanisms at each time scale Less than one round-trip-time (cell or packet level) Scheduling and buffer management Regulation and policing Policy routing (datagram networks) One or more round-trip-times (burst-level) Feedback flow control Retransmission Renegotiation 88 Summary (cont.) Session (call-level) Day Signaling Admission control Service pricing Routing (connection-oriented networks) Peak load pricing Weeks or months Capacity planning 89 Outline Economic principles Traffic classes Mechanisms at each time scale Faster than one RTT scheduling and buffer management regulation and policing policy routing One RTT Session Day Weeks to months Some open problems 90 Faster than RTT Scheduling and buffer management Policing and Regulation In separate set of slides 91 Renegotiation Renegotiation An option for guaranteed-service traffic Static descriptors don’t make sense for many real traffic sources interactive video Multiple-time-scale traffic burst size B that lasts for time T for zero loss, descriptors (P,0), (A, B) P = peak rate, A = average; B= Burst Size T large => serving even slightly below P leads to large buffering requirements one-shot descriptor is inadequate 93 Renegotiation (cont.) Renegotiation matches service rate to traffic Renegotiating service rate about once every ten seconds is sufficient to reduce bandwidth requirement nearly to average rate Fast buffer reservation is similar works well in conjunction with optimal smoothing each burst of data preceded by a reservation Renegotiation is not free signaling overhead call admission ? perhaps measurement-based admission control 94 RCBR Extreme viewpoint All traffic sent as CBR Renegotiate CBR rate if necessary No need for complicated scheduling! Buffers at edge of network much cheaper Easy to price Open questions when to renegotiate? how much to ask for? admission control what to do on renegotiation failure 95 Outline Economic principles Traffic classes Mechanisms at each time scale Faster than one RTT One RTT Session Signaling Admission control Day Weeks to months Some open problems 96 Signaling Signaling How a source tells the network its utility function or resource requirements Two parts how to carry the message (transport) how to interpret it (semantics) Useful to separate these mechanisms 98 Signaling semantics Classic scheme: sender initiated SETUP, SETUP_ACK, SETUP_RESPONSE Admission control Tentative resource reservation and confirmation Simplex and duplex setup Doesn’t work for multicast 99 Resource translation Application asks for end-to-end quality How to translate to per-hop requirements? E.g. end-to-delay bound of 100 ms What should be bound at each hop? 100 Signaling: transport Telephone network uses Signaling System 7 (SS7) Carried on Common Channel Interoffice Signaling (CCIS) network CCIS is a datagram network SS7 protocol stack is loosely modeled on ISO (but predates it) Signaling in ATM networks uses Q.2931 standard part of User Network Interface (UNI) complex layered over Service Specific Connection Oriented Protocol SSCOP (a reliable transport protocol) and AAL5 101 Internet signaling transport: RSVP Main motivation is to efficiently support multipoint multicast with resource reservations In unicast, a source communicates with only one destination In multicast, a source communicates with more than one destination Signalling Progression Unicast Naive multicast Intelligent multicast Naive multipoint multicast RSVP 102 RSVP motivation 103 Multicast reservation styles Naive multicast (source initiated) Intelligent multicast (merge replies) source contacts each receiver in turn wasted signaling messages two messages per link of spanning tree source needs to know all receivers and the rate they can absorb doesn’t scale Naive multipoint multicast two messages per source per link can’t share resources among multicast groups 104 RSVP Receiver initiated Reservation state per group, instead of per connection PATH and RESV messages PATH sets up next hop towards source(s) RESV makes reservation Travel as far back up as necessary how does receiver know of success? 105 Reservation Styles How resource reservations are aggregated/merged for multiple receivers in the same multicast group Two options, specified in the receivers’ reservation requests Reservation attribute: reservation is shared over flows from multiple senders, or distinct for each sender Sender selection: explicit list or wildcard Three reservation styles are defined… 106 Filters Allow receivers to separate reservations Fixed filter receive from exactly one source Dynamic filter dynamically choose which source is allowed to use reservation Fixed-Filter: • Specifies a distinct reservation for each sender and an explicit list of senders • Symbolic representation: FF(S1{Q1}, S2{Q2}, …) Shared-Explicit: • Specifies that a single resource reservation is to be shared by an explicit list of senders • Symbolic representation: SE(S1, S2, … {Q}) Wildcard-Filter: • Specifies that a single resource reservation is to be shared by all senders to this address • Symbolic representation: WF(*{Q}) 107 Soft state State in switch controllers (routers) is periodically refreshed On a link failure, automatically find another route Transient! But, probably better than with ATM 108 Why is signaling hard ? Complex services Feature interaction call screening + call forwarding Tradeoff between performance and reliability Extensibility and maintainability 109 Outline Economic principles Traffic classes Mechanisms at each time scale Faster than one RTT One RTT Session Signaling Admission control Day Weeks to months Some open problems 110 Admission control Connection Admission Control (CAC) Can a call be admitted? (bandwidth allocated for all connections) Link Rate Otherwise call is inadmissible What bandwidth to allocate to connections?? Depends upon the traffic, traffic model assumed and the Queueing methodology deployed and model used to estimate the required bandwidth Procedure: Map the traffic descriptors associated with a connection onto a traffic model; Use this traffic model with an appropriate queuing model for each congestion point, to estimate whether there are enough system resources to admit the connection in order to guarantee the QoS at every congestion (or queuing) point. Allocate resources if the connection is accepted. 112 CAC (continued ..) Depending on the traffic models used, the CAC procedures can be too conservative by over allocating the resources. This reduces the statistical gains StasticalGain Number Connections admitted with Statistical Multiplexing Number of Connections admitted with peak rate allocation An efficient CAC is the one which produces maximum amount of statistical gain at a given congestion point without violating the QoS. The efficiency of the CAC thus depends on how closely the two steps (traffic model and queuing model) above model reality. Both the traffic and queuing models are well researched and widely published in the literature. 113 CBR and UBR Admission Control CBR admission control (Peak Rate Allocation) simple PCR Link Capacity i i on failure: try again, reroute, or hold Best-effort admission control trivial if minimum bandwidth needed, use CBR test 114 CAC for CBR (with small jitter) Given the buffer size B, the link capacity C and the peak cell rate of the connection PCRi, determine a load such that the probability of queue length exceeding B is less than , where is a small number such as 10-10 Using M/D/1 model: P( Buffer Length x ) 1 exp x1 ln( ) ln( ) Using nD/D/1 model: 2x 1 P( Buffer Length x) exp x 1 ln( ) ln( ) n 115 Cell Loss Probability versus Buffer Size 1 M/D/1 nD/D/1(n=10) nD/D/1(n=20) nD/D/1(n=50) nD/D/1(n=100) 0.1 0.01 0.001 0.0001 1e-005 1e-006 1e-007 1e-008 1e-009 1e-010 5 10 15 20 25 Buffer Size (x) in Cells =0.9 M/D/1 is conservative For large N, both give similar performance 30 35 116 VBR admission control VBR peak rate differs from average rate = burstiness if we reserve bandwidth at the peak rate, wastes bandwidth if we reserve at the average rate, may drop packets during peak key decision: how much to overbook Four known approaches peak rate admission control worst-case admission control admission control with statistical guarantees measurement-based admission control 117 1. Peak-rate admission control Reserve at a connection’s peak rate Pros simple (can use FIFO scheduling) connections get negligible delay and loss works well for a small number of sources Cons wastes bandwidth peak rate may increase because of scheduling jitter rate time 118 2. Worst-case admission control Characterize source by ‘average’ rate and burst size (LBAP) Use WFQ or rate-controlled discipline to reserve bandwidth at average rate Pros may use less bandwidth than with peak rate can get an end-to-end delay guarantee Cons for low delay bound, need to reserve at more than peak rate! implementation complexity rate 119 time 3. Admission with statistical guarantees Key insight is that as number of calls increases, probability that multiple sources send a burst decreases With enough sources, traffic from each source can be assumed to arrive at its average rate Put in enough buffers to make probability of loss low sum of connection rates is increasingly smooth Theory of large deviations quantitatively bounds the overflow probability By allowing a small loss, we can reduce the resources considerably 120 Example Consider an ensemble of 10 identical and independent sources, each of which is “on” with a probability 0.1. When “on” has a transmission rate of 1.0. What is the probability that they overflow a shared link of capacity 8? The probability that n sources are “on” out of 10 is given by 10 n 0.1 0.910 n n The probability of loss is less than 10-6 For peak allocation we need a capacity of 10 By allowing loss, we reduced resources by 20%!! 121 3. Admission with statistical guarantees (contd.) Assume that traffic from a source is sent to a buffer of size B which is drained at a constant rate R If source sends a burst, its delay goes up If the burst is too large, bits are lost Equivalent bandwidth (EBW) of the source is the rate at which we need to drain this buffer so that the probability of loss is less than L (and the delay in leaving the buffer is less than d) If many sources share a buffer, the equivalent bandwidth of each source decreases (why?) Equivalent bandwidth of an ensemble of connections is the sum of their equivalent bandwidths 122 3. Admission with statistical guarantees (contd.) When a source arrives, use its performance requirements and current network state to assign it an equivalent bandwidth Admission control: sum of equivalent bandwidths at the link should be less than link capacity Pros can trade off a small loss probability for a large decrease in bandwidth reservation mathematical treatment possible can obtain delay bounds Cons assumes uncorrelated sources hairy mathematics 123 Effective Bandwidth This model maps each connection’s traffic parameters into a real number EBWi, called the Equivalent Bandwidth or Effective Bandwidth of the connection such that the QoS constraints are satisfied. Thus, the effective bandwidth is derived as a source property and with this mapping, the CAC rule becomes very simple: EBW Link Capacity i For a connection with an average rate SCRi and peak rate as PCRi, the effective bandwidth is a number between the SCRi and PCRi. That is, i i i SCR EBW PCR There are many methods and models published in the literature 124 Properties of EBW Additive Property: Effective bandwidths are additive, i.e., the total effective bandwidth needed for N connections equals to the sum of effective bandwidth of each connection Independence Property: Effective bandwidth for a given connection is only a function of that connection’s parameters. due to the independence property, the effective bandwidth method could be far more conservative than a method which considers the true statistical multiplexing (i.e., the method which considers the presence of other connections) With the effective bandwidth’s method, the CAC function can add (or subtract) the effective bandwidth of the connection which is being set-up (or torn down) from the total effective bandwidth. This is not easily possible with any method which does not have the independence property 125 EBW (First Approach by Roberts) Assumes fluid sources and zero buffering (so that two simultaneously active sources would cause data loss) Let each source has a peak rate P, mean rate m and link capacity is C and required cell loss is smaller than 10-9 The heuristic to estimate the EBW of a source is: EBW = 1.2m + 60m(P-m) / C First term says EBW is 1.2 times of mean rate Second term increases EBW in proportion to the gap between peak and mean (an indicator of source burstiness). This is mitigated by the large link capacity. Expression is independent of cell loss!! 126 EBW (Second approach by Gibbens and Hunt) on-off sources with exponentially distributed ‘on’ and ‘off’ periods Let a source mean “on” period be 1 / i and mean “off” period be 1 / i. When the source is “on”, it is assumed to produce information at a constant rate i Let B be the buffer size; CLR is the cell loss ratio required and log CLR / B ,0 The Effective Bandwidth is given by: ci i i i i i i 2 4i i 2 127 Example Let traffic descriptors are SCR, PCR=100Mb/s, CLR=10-7 and ABS (Average Burst Size)=50 cells i PCR ABS i i .SCRi (PCR SCR) 9e+007 i PCR SCR=1Mb/s SCR=10Mb/s SCR=50Mb/s 8e+007 7e+007 6e+007 5e+007 4e+007 3e+007 2e+007 1e+007 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Buffer Size 128 EBW Observations Equation implies that for large B, 0 and EBW (ci ) equals to the mean rate of the source i i i i For a small buffer B, - and the effective bandwidth of the source will be , the peak information rate ci i The queue length distribution is assumed to be asymptotically exponential of form: P(Queue Length B) e f ci B 129 EBW for Self-similar traffic (By Norros) Let m is the mean bit rate of the traffic stream, a is the coefficient of variation, B is the buffer size, H is the Hurst parameter of the stream (0.5H1), CLR is the target cell loss ratio. The EBW is given by C m H 1 H H (1 H ) 2 ln CLR 1/ H a1/(2 H ) B(1H ) / H m1/(2 H ) Note that this equation does not follow the asymptotic exponential queue length distribution 130 Multi-class CAC In the real world, the traffic flow consists of multiple QoS classes, where, the services may be partitioned and queued separately To guarantee QoS, a certain amount of bandwidth (or capacity) is reserved for each of the service categories. With effective bandwidth approach, this assignment becomes very simple. Let Nj be the number of sources for class j and let j be the effective bandwidth of a source belonging to class j. Let there be K such classes. Then, the CAC for multi-class traffic should check that the total estimated capacity is less than the service rate. That is, K N j 1 j j LinkCapacity 131 4. Measurement-based admission For traffic that cannot describe itself also renegotiated traffic Measure ‘real’ average load due to ensemble of connections Users tell peak If peak + measured average load < capacity, admit Over time, new call becomes part of average Problems: assumes that past behavior is indicative of the future how long to measure? when to forget about the past? 132 Outline Economic principles Traffic classes Mechanisms at each time scale Faster than one RTT One RTT Session Day Weeks to months Some open problems 133 Peak load pricing Problems with cyclic demand Service providers want to avoid overload use all available capacity Hard to do both with cyclic demand (varies over time of day) if capacity C1, then waste capacity if capacity C2, overloaded part of the time 135 Peak load pricing Traffic shows strong daily peaks => cyclic demand 11AM to Noon and 2PM to 3PM Can shift demand to off-peak times using pricing Charge more during peak hours price is a signal to consumers about network preferences helps both the network provider and the user 136 Example Suppose network capacity = C peak demand = 100 units, off peak demand = 10 units user’s utility = -total price - overload network’s utility = revenue - idleness Price = 1 per unit during peak and off peak times revenue = 100 + 10 = 110 user’s utility = -110 -(100-C) network’s utility = 110 - (C - off peak load) e.g if C = 100, user’s utility = -110, network’s utility = 20 if C = 60, user’s utility = -150, network’s utility = 60 increase in user’s utility comes as the cost of network’s utility 137 Example (contd.) Peak price = 1, off-peak price = 0.2 Suppose this decreases peak load to 60, and off peak load increases to 50 Revenue = 60*1 + 50*0.2 = 70 lower than before But peak is 60, so set C = 60 User’s utility = -70 (greater than before) Network’s utility = 60 (same as before) Thus, with peak-load pricing, user’s utility increases at no cost to network!! Network can gain some increase in utility while still increasing user’s utility 138 Lessons Pricing can control user’s behavior Careful pricing helps both users and network operators Pricing is a signal of network’s preferences Rational users help the system by helping themselves 139 Outline Economic principles Traffic classes Mechanisms at each time scale Faster than one RTT One RTT Session Day Weeks to months Some open problems 140 Capacity planning Capacity planning How to modify network topology, link capacity, and routing to most efficiently use existing resources, or alleviate long-term congestion Usually a matter of trial and error A more systematic approach: measure network during its busy hour create traffic matrix (source-destination demands) decide topology assign capacity 142 1. Measure network during busy hour Traffic peaks and flows during day and during week A good rule of thumb is to build for the worst case traffic Measure traffic for some period of time, then pick the busiest hour Usually add a fudge factor for future growth Measure bits sent from each endpoint to each endpoint we are assuming that endpoint remain the same, only the internal network topology is being redesigned !! 143 2. Create traffic matrix Number of bits sent from each source to each destination We assume that the pattern predicts future behavior probably a weak assumption what if a web site suddenly becomes popular! Traffic over shorter time scales may be far heavier Doesn’t work if we are adding a new endpoint can assume that it is similar to an existing endpoint 144 3. Decide topology Topology depends on three considerations k-connectivity (protection against failures) path should exist between any two points despite single node or link failures geographical considerations some links may be easier to build than others existing capacity 145 4. Assign capacity Assign sufficient capacity to carry busy hour traffic Unfortunately, actual path of traffic depends on routing protocols which measure instantaneous load and link status So, we cannot directly influence path taken by traffic Circular relationship between capacity allocation and routing makes problem worse higher capacity link is more attractive to routing thus carries more traffic thus requires more capacity and so on… Easier to assign capacities if routing is static and links 146 are always up (as in telephone network) Telephone network capacity planning How to size a link so that the call blocking probability is less than a target? Solution due to Erlang (1927) Assume we know mean # calls on a trunk (in erlangs) Mean call arrival rate = l Mean call holding time = m Then, call load A = lm Let trunk capacity = N, infinite # of sources Erlang’s formula gives blocking probability PB p N AN N! N n A n! n 0 e.g. N = 5, A = 3, blocking probability = 0.11 For a fixed load, as N increases, the call blocking probability decreases exponentially 147 Sample Erlang curves 148 Capacity allocation Blocking probability along a path Assume traffic on links is independent Then, probability is product of probability on each link Routing table + traffic matrix tells us load on a link Assign capacity to each link given load and target blocking probability Or, add a new link and change the routing table 149 Capacity planning on the Internet Trial and error Some rules of thumb help Measurements indicate that sustained bandwidth per active user is about 50 Kbps add a fudge factor of 2 to get 100 Kbps During busy hour, about 40% of potential users are active So, a link of capacity C can support 2.5C/100 Kbps users e.g. 100 Mbps FDDI ring can support 2500 users 150 Capacity planning on the Internet About 10% of campus traffic enters the Internet A 2500-person campus usually uses a T1 and a 25,000person campus a T3 Why? regional and backbone providers throttle traffic using pricing e.g. T1 connection to Uunet costs about $1500/month T3 connection to Uunet costs about $50,000/month Restricts T3 to a few large customers Regional and backbone providers buy the fastest links they can Try to get a speedup of 10-30 over individual access links 151 Problems with capacity planning Routing and link capacity interact Measurements of traffic matrix Survivability features 152 Outline Economic principles Traffic classes Mechanisms at each time scale Some open problems 153 Some open problems Six open problems Resource translation Renegotiation Measurement-based admission control Peak-load pricing Capacity planning A metaproblem 155 1. Resource translation Application asks for end-to-end quality in terms of bandwidth and delay How to translate to resource requirements in the network? Bandwidth is relatively easy, delay is hard One approach is to translate from delay to an equivalent bandwidth can be inefficient if need to use worst case delay bound average-case delay usually requires strong source characterization Other approach is to directly obtain per-hop delay bound (for example, with EDD scheduling) How to translate from end-to-end to per-hop requirements? 156 2. Renegotiation Static descriptors don’t make sense for interactive sources or multiple-time scale traffic Renegotiation matches service rate to traffic Renegotiation is not free- incurs a signaling overhead Open questions when to renegotiate? how much to ask for? admission control? what to do on renegotiation failure? 157 3. Measurement based admission For traffic that cannot describe itself also renegotiated traffic Over what time interval to measure average? How to describe a source? How to account for non-stationary traffic? Traffic whose statically properties vary with time Are there better strategies? 158 4. Peak load pricing How to choose peak and off-peak prices? When should peak hour end? What does peak time mean in a global network? 159 5. Capacity planning Simultaneously choosing a topology, link capacity, and routing metrics But routing and link capacity interact What to measure for building traffic matrix? How to pick routing weights? Heterogeneity? 160 6. A metaproblem Can increase user utility either by Which is cheaper? no one is really sure! small and smart vs. big and dumb It seems that smarter ought to be better service alignment or overprovisioning for example, to get low delays for telnet, we need to give all traffic low delay, even if it doesn’t need it But, perhaps, we can use the money spent on traffic management to increase capacity! Do we really need traffic management? 161 QoS Building Blocks Signaling & Admission Control Resource reservation QoS routing Metering Policy Control Plane Service restoration Buffer management Traffic classification Data Congestion avoidance Traffic policing Packet marking Queuing and scheduling Service Level agreement Traffic shaping Plane 162 QoS Routing Selection of a path satisfying the QoS requirements of a flow Parameter (Constraint) Consideration Single QoS metric (Single Constraint) Bandwidth , delay Multiple QoS metrics (Multiple Constraints) Cost-delay, cost-bandwidth, and bandwidth-delay Path selection process Not necessarily the shortest path Find a path considering Flow’s QoS requirements, characteristic, and availability of network resources QoS routing tends to entail more frequent and complex path computation 163 What is Routing? Need to find a route from source to destination b Source Destination f c e 164 Single Objective Routing b S D f c e Assign certain weights (additive, typically, hopefully) to edges of graph. Find “shortest” route from source to destination (the route for which the SUM of weights is minimal). 165 Shortest Hop Count and Edge Length b 10 12 S D f 4 5 c 6 5 7 e Shortest hop-count: “S-b-D” = 2 Shortest edge length: “S-c-e-D” = 17 166 Routing – Distance Vector 0 1 Routing table at node 5: 3 2 Destination NextHop Distance 0 2 3 1 2 2 .. .. .. 4 5 167 What Are Routing Tables? 168 Routing Tables Purpose of a routing table The information in a routing table helps to determine the optimal route within an internetwork. The routing table is not exclusive to a router. Hosts (nonrouters) may also have a routing table that they use to determine the optimal route. Types of routing table entries Network route. A network route is a path to a specific network ID in the internetwork. Host route. A host route is a path to an internetwork address (network ID and node ID). Host routes are typically used to create custom routes to specific hosts to control or optimize network traffic. Default route. A default route is used when no other routes in the routing table are found. 169 Routing Protocols A routing protocol is a set of messages that routers use to determine the network topology and appropriate path to forward data. Routing protocols automatically manage changes in the routing table that occur because of network changes. Routing Information Protocol (RIP): Designed for exchanging routing information within a small to medium-size network. Open Shortest Path First (OSPF): Designed for exchanging routing information within a large or very large network. ATM uses Private Network to Network Interface (PNNI) 170 RIP RIP dynamically builds routing tables by announcing the contents of its routing table to its configured interfaces. Uses Distance-Vector and hop count as metric When a router receives a routing update that includes changes to an entry, it updates its routing table to reflect the new route RIP routers maintain only the best route (the route with the lowest metric value) to a destination Routers connected to those interfaces receive these announcements and use them to build the appropriate routing tables. The routers that receive the announcements then compile their own routing table, which is then transmitted to other routers. This process continues in a manner that should provide each configured router with the routes from each of the other routers. 171 OSPF Instead of exchanging routing table entries as RIP routers do, OSPF (link state protocol) routers maintain a map of the network that is updated after any change in the network topology. This map is called the link-state database. OSPF allows a router to calculate the shortest path for sending packets to each node. The router sends information, called link-state advertisements (LSAs), about the nodes to which it is linked to all other routers on the network. Information is flooded to all routers in the network In large networks, flooding delays and overheads can cause instabilities in the routing database The router collects information from the other routers, which it uses for link-state information and to make calculations. 172 Routing Entities The routing protocol manages the dynamics of the routing process: capturing the state of the network and its available network resources and distributing this information throughout the network. The routing algorithm uses this information to compute paths that optimize a criterion and/or obey constraints. Current best-effort routing consists of shortest path routing that optimizes the sum over the constituent links of a single measure like hop count or delay. QoS routing takes into account multiple QoS requirements, link dynamics, as well as the implication of the selected routes on network utilization, turning QoS routing into a notoriously challenging problem 173 Routing Problem The routing protocols (RIP, OSPF, etc.) mainly use hop counts (link costs generally set to 1) to select paths. This does not meet the requirements of many emerging communication applications. For example, live multimedia applications must make sure that Packet delays are bounded. Jitters (changes in packet delays) are well controlled. Bandwidth guarantees must be met 174 Today’s Routing Best Effort routing The network resources are fairly shared by packets from different sources Disadvantages Does not support resource reservation for guaranteed end-toend performance. Delays experienced by packets are unpredictable. The routing (for Traffic Engineering) for the next generation of high-speed wide area networks will be virtual connection-oriented QoS routing (e.g., MPLS) ATM PNNI uses QoS Routing!! 175 QoS Routing Dynamic determination of feasible paths Feasible path selection may be subject to policy constraints, such as path cost, provider selection, protection requirements etc or subject to QoS constraints such as bandwidth, delay, jitter. Optimization of resource usage. Based on efficient state-dependent network engineering. Routing protocol has to periodically distribute the current state of the link QoS metrics (e.g., delay, available bandwidth) to all nodes in the network. 176 Two States maintained by nodes Local State: Each node is assumed to maintain its up-to-date local state (queuing and propagation delay, the residual bandwidth of the outgoing link and availability of any other resource information) The local states are flooded in the network periodically to update other nodes Global State: The combination of the local state of all nodes. The global state kept by a node is always an approximation of the current network due to the delay of propagating local states as the network size grows. 177 What is QoS Routing? One of the key issues in providing QoS guarantees is how to determine paths that satisfy QoS constraints. Solving this problem is known as “QoS routing” or “ConstraintBased Routing (CBR)” or “Multi-Constrained Path (MCP)” Need: Link state database with up to date QoS information of all links Routing protocols are modified to provide this extra information to nodes in the network Hard problem: Accurate network state information is very expensive to maintain (flooding costs, how frequently and how often) Computing QoS paths can be expensive and may need to be done for each incoming request 178 QoS Routing Find the path for a given source and destination that best satisfies a given set of criteria (Multiple Constraints). Performance metrics include: – Hop count – Delay – Jitter – Data loss rate – Available bandwidth – Queue length (available buffer space) 179 Look for feasible path with least number of hops Constraints: Delay (D) <= 25, Available Bandwidth (BW) >= 30 D = 25, BW = 55 D = 30, BW = 20 A B D = 2, BW = 90 D = 5, BW = 90 D = 3, BW = 105 2 Hop Path ----> Fails (Total delay = 55 > 25 and Min. BW = 20 < 30) 3 Hop Path ----> Succeeds!! (Total delay = 24 < 25, and Min. BW = 90 > 30) 5 Hop Path ----> Don’t consider, although (Total Delay = 16 < 25, Min. BW = 90 > 30) 180 QoS Routing benefits Path setup Without QoS Routing must probe path & backtrack non optimal path Control traffic and processing overhead and latency Path setup with QoS Routing optimal route; “focused congestion” avoidance (TE) more efficient Call Admission Control (at the source) more efficient bandwidth allocation (per traffic class) resource renegotiation possible 181 Routing Strategies Tasks of QoS routing Collect the state information and keep it up to date Find a feasible path for a new connection Routing can be divided into three categories according to how the state information is maintained and the search of feasible paths is carried out: Source routing Distributed routing Hierarchical routing 182 Source Routing Each node maintains a database (image) of the global network state, based on which a feasible routing path is centrally computed at the source. The global network state is typically updated periodically by a link-state algorithm. Strengths Achieves simplicity by transforming a distributed problem into a centralized one. Guarantees loop-free. Easy to implement, evaluate, debug and upgrade Weakness Communication overhead excessively high for large scale networks The inaccuracy in the global state may cause the QoS routing fail. Computation overhead at the source is excessively high, especially when multiple constraints are involved. 183 Distributed Routing The path computation is distributed among the intermediate nodes between the source and the destination. Some algorithms may require each node to maintain global network state, based on which the routing decision is made on a hop-by-hop basis. In some flooding-based algorithms, the routing decision depends entirely on the local state. Strengths The routing response time can be made shorter and more scalable. Searching for multiple paths in parallel for a feasible one increase the chance of success Weaknesses Same problem as source routing because of the need of global state share. When global states at different nodes are inconsistent, loops may occur. 184 Hierarchical Routing Intra-domain routing: within a single autonomous system (or routing domain). Routing protocols are known as Interior Gateway Protocols (IGPs). (e.g., OSPF, RIP) Inter-domain routing: between multiple autonomous systems (or routing domains). Routing protocols are known as Exterior Gateway Protocols (EGPs) (e.g. BGP) How to extend QoS Routing across multiple areas and multiple domains (AS) is ongoing research at IETF 185 Intra-domain Routing OSPF: open shortest path first The domain is divided into various areas Using link state algorithm to determine routes Different costs can be used for different TOS Load will be distributed across several equal-cost-paths to destination (Balancing) (ECMP) Networks without virtual connections can use this Networks without virtual connections can use this Support for hierarchy through multiple areas 186 Type of Service (TOS) Routing “high throughput” “low delay” 187 OSPF Areas 188 Intra-domain routing BGP: Border Gateway Protocol Routing between nodes in different Autonomous Systems (AS). When the protocol is used within an AS for route exchange, it is called Interior BGP (IBGP) When it is used between AS, it is called Exterior BGP (EBGP) Uses a distance vector approach Policy-Based Routing 189 BGP Example 190 TE extensions to OSPF RFC3630 Intra-area only (not for Inter-area and Inter-AS) This extension makes use of the Opaque LSA of OSPF Opaque LSA (RFC 2370) is a mechanism to distribute any application specific information to routers. Based on this, a new LSA is defined, called the Traffic Engineering LSA Some parameters that are distributed are: Traffic engineering metric (4 octets) Maximum bandwidth (4 octets) Maximum reservable bandwidth (4 octets) Unreserved bandwidth (32 octets) Administrative group (4 octets): a bit mask designating the group’s Resource Color 191 Evaluating QoS Routing Algorithms Measuring routing performance Topology Blocking ratio, routed bandwidth ratio, average path length Linear, mesh, ring Type of traffic Uniform, Hotspots 192 QoS Update Policies When should routers update the QoS changes? Threshold based update triggered if relative change in bandwidth exceeds a threshold value more accurate for smaller values of available bandwidth Using clamp-down timers enforces a minimum spacing between two successive updates Large values will have adverse effect on routing performance small values increase network traffic with many updates and brings down efficiency 193 Routing Algorithms Given a graph G=(V,E), a shortest path algorithm finds a path with minimal distance, according to the given link costs, between a pair of source and destination. Shortest path algorithms are the foundation of network routing. Every real-world network routing protocol is either a centralized, distributed, or hybrid implementation of such algorithm Dijkstra Bellman-Ford 194 Dijkstra 1. Put all nodes in not-finalized with distance infinity. 2. Distance (S) 0. 3. v S 4. Add v to finalized 5. For all edges e from v to u (u in not-finalized) do: 6. Update distance(u) using MIN operation. Select minimal weight node in not-finalized, denote it v, and go to 4. Centralized algorithm in nature Hard to distribute. Result is shortest path from S to D 195 Bellman-Ford Algorithm Bellman Ford: For i=1 to |V| do For each edge (v,u) do relax(u,v) End relax:= d(u) := min { d(u), d(v) + w((v,u))} Suitable for distributed implementations Used by RIP Works for arbitrary link cost values (however, negative costs cannot form cycles) 196 QoS (Multi-Constraint) Routing Problem Consider a graph G = (V,E) in which each link u v from node u to node v is characterized by a m dimensional link weight vector w (u v) [w1 (u v), w2 (u v), , wm (u v)] where the component wi > 0 is a QoS measure such as delay, jitter, loss, minimum bandwidth, cost, etc. The QoS routing algorithm computes the path P that obeys multiple constraints, wi(P) Li for all 1 i m. For example, we seek a path for which the source-destination delay < 10 ms, total cost < 10, and minimum bandwidth per link is at least 1 Mb/s. The set Li is user requested quality of service desires and constitutes a constraint vector 197 Multi-Constraint Routing Example Consider one objective to be minimized (w1, cost) and one constraint (w2, delay) to be met. 1. Each edge has two weights w1(e) and w2(e). 2. Want to minimize the two objectives (or minimize one while constraining the other). 3. One approach is to consider some objective function (e.g., linear sum of the two weights, i.e, w1 + w2, a variable) as link cost 4. Run Dijkstra and find shortest route 5. If w2 constraint is met: OK. Done. 6. Otherwise: modify the object function and go back to 4. 198 P and NP Problems A Class P problem can be solved in polynomial time on real machines and is considered tractable. – Sorting, accounting, shortest path problems, spanning tree problems and many other problems you use computers to solve daily A Class NP problem can be solved in exponential time on real machines. – You may be able to solve it in polynomial time. – All Class P problems are also NP. A problem in NP-P, if exists, cannot be solved in polynomial time on real machines and is considered intractable in practice. A good way to find a NP-P problem is to consider problems that do not have known polynomial solutions (algorithms). – map coloring problem, traveling salesman problem, automatic theorem proving, and some QoS routing problems 199 NP-complete A metric d is said to be additive if, given a path P=L1,L2,…Ln, d(P) = d(L1)+d(L2)+ … +d(Ln). – The delay metric is additive. A metric d is said to be multiplicative if, given a path P=L1,L2,…Ln, d(P) = d(L1)*d(L2)* … *d(Ln). Theorem: Given any N additive/multiplicative metrics and their respective constraints, the problem of finding a path satisfying the N constraints is NP-complete. 200 Routing Types as per some metrics For some metrics (e.g. bandwidth, buffer space), the state of a path is determined by the state of its bottleneck link “Link-optimization routing” finds the path that “optimizes” the performance of its bottleneck link according to a given criteria. – Ex: bandwidth-optimization routing finds the path with the largest bandwidth in the bottleneck link “Link-constrained routing” finds a path whose bottleneck “satisfies” a given criteria. – Ex: bandwidth-constrained routing finds a path whose bottleneck supports the given bandwidth 201 Routing Types as per some metrics (contd ..) For other QoS metrics, such as delay and jitters, the state of a path is determined by the combined state over all links of the path. “Path-optimization routing” finds the path that optimizes given metric. – Example: delay-optimization routing finds a path with the minimum (accumulated) delay. “Path-constrained routing” finds a path that satisfies the requirement of the given metric. – Example: delay-constrained routing finds a path whose delay is bounded by the given value. 202 Some routing problems Link-constrained, path-optimization routing Link-constrained, link-optimization routing Link-constrained, path-constrained routing Path-constrained, link-optimization routing 203 Bandwidth-Delay Constrained Routing This is a case of link-constrained, path-constrained routing. It lends itself to multimedia applications that demand bandwidth availability and delay bound. Algorithm 1. Eliminate (Prune) all links that do not meet the bandwidth requirements. 2. Run a traditional shortest path algorithm to find the minimum delay path. 3. The path is accepted, if it meets the delay constraint; otherwise report failure. We can always get rid of the “link constrained” part by eliminating (pruning) unsatisfactory links. The trick gives rise to the solutions for all the polynomial cases, except the last one, path-constrained, link-optimization routing 204 Look for feasible path with least number of hops Constraints: Delay (D) <= 25, Available Bandwidth (BW) = 30 D = 25, BW = 55 D = 30, BW = 20 A B D = 2, BW = 90 D = 5, BW = 90 D = 3, BW = 105 2 Hop Path ----> Fails (Total delay = 55 > 25 and Min. BW = 20 < 30) 3 Hop Path ----> Succeeds!! (Total delay = 24 < 25, and Min. BW = 90 > 30) 5 Hop Path ----> Don’t consider, although (Total Delay = 16 < 25, Min. BW = 90 > 30) 205 Inter-Area and Inter-AS Generally we do not want to distribute QoS information across areas Unnecessary (other areas need not know) Increased complexity in large networks Flooding complexity, policy problems One solution is to use TE exchanges Border nodes at the intersection of areas or AS can be used as TE exchanges TE exchanges have QoS information in the area or AS Query the TE exchanges to a compute a feasible path in their respective areas when crossing multiple areas Compile the whole path 206