Traffic Engineering 2015/2016. Fernando M. Silva. Instituto Superior Técnico. QoS, Scheduling & priority queues.

Size: px
Start display at page:

Download "Traffic Engineering 2015/2016. Fernando M. Silva. Instituto Superior Técnico. QoS, Scheduling & priority queues."

Transcription

1 Traffic Engineering 2015/2016 QoS, Scheduling & priority queues Instituto Superior Técnico Trafffic Engineering 2015/16 1

2 Outline Traffic optimization & QoS Scheduling Queuing disciplines Implementations Trafffic Engineering 2015/16 2

3 Traffic optimization & QoS Traffic optimization is a major goal of Traffic Engineering Traffic optimization can be analyzed at different levels Routing optimization End to end optimization (delay, bandwidth and/or number of hops) Flow optimization by traffic prioritization Traffic prioritization is a major requirement of critical flows demanding strict QoS conditions e.g. real time streams Trafffic Engineering 2015/16 3

4 Packet interference In practice, queuing occurs because there is packet interference: packets arrive before the previous one is processed If packets arrive spaced, no queuing occurs When packets spacing decreases, λ increases, and queuing increases. And QoS decreases Traffic burstiness contributes to packet interference Trafffic Engineering 2015/16 4

5 Traffic burstiness Different burstiness levels with the same packet rate: From top left to bottom right: H = {0.6, 0.7, 0.8, 0.9} (H - Hurst parameter) Trafffic Engineering 2015/16 5

6 Different approaches to QoS support Identify critical flows and increase priority Identify unfair usage and decrease flow priority Traffic shaping Often applied to p2p traffic Increase the bandwidth!! Leaves everybody happy Expensive Unsustainable above a given level For the first two solutions, the process requires Traffic classification Traffic prioritization / scheduling Trafffic Engineering 2015/16 6

7 Scheduling In the general case, scheduling is a common approach to distribute limited resources by a number of users / consumers of resources On traffic engineering, scheduling refers to distribution of the outgoing bandwidth (the limited resource) by a number of incoming flows (the users / consumers) Usual approach to scheduling in IP networks: Distribute incoming traffic by different queues Distribute outgoing bandwidth by the different queues adopting some fair criteria Trafffic Engineering 2015/16 7

8 Multiple queues When any queue fills up, packet drops occur, increasing delay and reducing observed bandwidth By servicing the several queues following different disciplines/policies, it is possible to reduce the probability of packet drops on a given queue or to keep the delay below a given threshold Trafffic Engineering 2015/16 8

9 Scheduling and fairness Scheduling defines service order Packet drop policy defines how and which packets are dropped IF a given queue fills up Scheduling should achieve a fair bandwidth distribution But what means fair? Trafffic Engineering 2015/16 9

10 Fair distribution of resources: Max-Min Fair allocation Resources are distributed by increasing requirement order Using this approach, flows with higher requirements may make use of spare (unused) capacity of lower requirement flows No flow receives a capacity higher than the required one All flows have a minimum equal guaranteed distributed capacity which is the total capacity divided by the number of flows. Trafffic Engineering 2015/16 10

11 Fair Share of a Resource Example reproduced from Ivan Marsic, Rutgers University. Trafffic Engineering 2015/16 11

12 Max-Min Fair Share (1) Trafffic Engineering 2015/16 12

13 Max-Min Fair Share (2) Trafffic Engineering 2015/16 13

14 Max-Min Fair Share (3) Trafffic Engineering 2015/16 14

15 Max-Min Fair Share Trafffic Engineering 2015/16 15

16 Max-min fair bandwidth allocation C: Channel capacity, N flows Bandwidth requirements: x 1 x 2 x 3... x N Min guaranteed capacity per flow: C/N Max min distribution: Flow 1 may use c 1 = C/N Spare capacity: s 1 = max(c 1 x 1, 0) if C/N < x 1 there is no spare capacity from flow 1) Flow 2 may use its min guaranteed plus its share of the spare from 1 (if any): c 2 = C/N + s 1 /(N 1) Spare capacity: s 2 = max(c 2 x 2, 0) Flow 3 may use c 3 = C/N + s 1 /(N 1) + s 2 /(N 2), s 3 = max(c 3 x 3, 0) Flow N may use C/N + N 1 k=1 s k/(n k) Trafffic Engineering 2015/16 16

17 Weighted max-min fair bandwidth allocation Weighted max-min bandwidth allocation is similar to the max-min above, but channel capacity is distributed according to the relative channel weight (instead of being equal for all) More precisely If the weights are w 1, w 2,.., w N, being k w k = 1, each weight translates to the percentage of bandwidth allocated to each flow The minimum guaranteed bandwidth of flow k is w k C Note: if w 1 = w 2 =... = w N, the minimum bandwidth of flow k is w k C = C/N Trafffic Engineering 2015/16 17

18 Implementing MMFS with Packets Problem: Packets are of different length, arrive randomly, and must be transmitted atomically, as a whole Packets cannot be split in pieces to satisfy the MMFS bandwidth allocation Solution: Try to approximate MMFS with different queuing disciplines. Trafffic Engineering 2015/16 18

19 Generalized Processor Sharing (GPS) Optimal algorithm Can not be implemented in TE since is defined considering continuous resources and requirements Often used as a reference (how near to GPS is a practical algorithm?) Ideally, all flows should be served at the same time, in proportion to a given weight and the total channel capacity, C. If the N queues have relative weights w 1, w 2,..., w N, with N j=1 w j = 1 the minimum guaranteed rate to each flow is r j = w j C Since some flows may not have packets to be served, the real bandwidth distributed to channel j is w j b j = C active i w i Trafffic Engineering 2015/16 19

20 Queueing disciplines There are several queue polices And anyone may create new ones Queues must obey to some optimality criteria Some disciplines try to approximate the Generalized Processor Sharing policy Can not be matched exactly Some practical common disciplines FIFO Priority Queuing Round robin Deficit round robin Weighted fair queing Trafffic Engineering 2015/16 20

21 FIFO Simple first in first out policy There is no priority distribution By nature, bandwidth is distributed in proportion to flow bandwidth It gives more bandwidth to flows with more traffic There is no selective packet drop: packet drop occur when the buffer queue fills up, irrespective of which flow is being dropped (and independently of which flow is causing service saturation) Important note: It is too simple, but it is the default policy in most routers! Trafffic Engineering 2015/16 21

22 Priority queuing In the strict priority queue discipline, packets on higher priority queues are allways served before lower priority queues In practice, it only guarantees service to the higher priority queue Lower priority queues may never be served Trafffic Engineering 2015/16 22

23 Round Robin In the Round-Robin discipline, one packet is served from each queue in a fixed sequence order Discussion: features vs limitations? Trafffic Engineering 2015/16 23

24 Round robin - features & limitations All flows are served No priority between flows / all flows equal Since each cycle serves one packet, this policy favors flows with larger packets Reasonable if all flows have equal size packets Trafffic Engineering 2015/16 24

25 Weighted Round Robin In the weighted Round Robin scheme, in each cycle it is served a number of bytes from each queue proportional to the relative weight of the queue Assume that the weights are w 1, w 2,.., w N, with k w k = 1 If all queues have packets of equal size, one must find a set of integers n 1, n 2, n 3,..., n N that must be served from each cycle from each queue in proportion to the weights: n k N j=1 n j w k, n k w k N n j j=1 Usually, there is not an exact match, and an approximation must be used Trafffic Engineering 2015/16 25

26 Weighted Round Robin (WRR) If the average length q k of the packets in each queue k is different, one must adjust the service according to this length In fact, if we are concerned with effective bandwidth distribution between queues, we must think in bits instead of packets How? Take into account the average packet size in each queue!! More specifically, the n k must now verify the relation N n k q k w k j=1 q j n j Trafffic Engineering 2015/16 26

27 WRR with different queue sizes: alternative approach Start by normalizing the weight: w j = w j /q j w i are the new weights, weighted by the relative (averages) queue sizes Decreases the relative weight of large packets sizes Apply WRR as usual (but recall j w j 1) n k N j=1 n j w k N, n k w k N j=1 w j j=1 w j N j=1 n j Trafffic Engineering 2015/16 27

28 Weighted Round Robin - Implementation Approximate implementation of the WRR algorithm: for each flow f: f.norm_weight = f.weight / f.mean_packet_size min = findsmallestnormalizedweight for each flow f f.packets_to_be_served = f.normalized_weight / min loop for each non-empty flow queue f repeat min(f.packets_to_be_served, f.packets_waiting): servepacket f.getpacket Discuss: limitations/problems of the algorithm? Trafffic Engineering 2015/16 28

29 Limitations of WRR implementations Number of packets is almost always an approximation Average packet size per queue must be known in advance The server may stay in the same flow for a large time Trafffic Engineering 2015/16 29

30 Deficit Round Robin (DRR) The DRR algorithm enables an approximate implementation of WRR without requiring to know the average packet size in each queue Algorithm Assign at each queue an initial credit c j ; this is a variable parameter Assign at each queue a threshold L j. L j only depends on the queue. Larger L j higher priority Loop on the queues On each visit to queue j If n j > 0, c j = c j + L j If n j = 0, c j = 0 For each packet p i in queue j if(len(p i ) < c j ), process p i, c j = c j len(p i ) Trafffic Engineering 2015/16 30

31 Fair queuing This scheduling method is inspired by the most fair of methods: Attempts to implement GPS Also known as Packet Generalized Processor Sharing Transmit one bit from each queue in cyclic order (bit-by-bit round robin) Skip queues that are empty To approximate the bit-by-bit processing behavior, for each packet Calculate upon arrival its finish time under bit-by-bit round robin assuming all other queues are continuously busy, and transmit by FIFO within each queue Transmit next the packet with the minimum finish time Important properties: Priority is given to short packets Equal bandwidth is allocated to all queues that are continuously busy Trafffic Engineering 2015/16 31

32 Weighted fair queuing Fair queuing cannot be used to implement bandwidth allocation and soft priorities Weighted fair queuing is a variation that corrects this deficiency Let w k be the weight of the kth queue Think of round-robin with queue k transmitting w k bits upon its turn If all queues have always something to send, the kth queue receives bandwidth equal to a fraction w k / i w i of the total bandwidth Fair queuing corresponds to w k = 1, k Priority queuing corresponds to the weights being very high as we move to higher priorities Again, to deal with the segmentation problem, we approximate as follows: For each packet: We calculate its finish time (under the weighted bit-by-bit round robin scheme) We next transmit the packet with the minimum finish time Trafffic Engineering 2015/16 32

33 Fair Queueing (FQ): Implementation Think on an integer time, bit by bit RR Definitions: Round Robin Number (RN) - Current cycle number Finish Number (FN) - Cycle Number considering a bit by bit RR The final number of an arriving packet k to queue i and length L k is given by If there are packets on queue i: F N i,k = F N i,k 1 + L k If the queue i is empty F N i,k = RN + L k Select for transmission the pack on the queue with smallest F N But recall that in practice all packet is transmitted at once, and not in a bit by bit scheme Trafffic Engineering 2015/16 33

34 FQ in practice Round is a complete cycle through all queues sending one bit per cycle The time duration of a round depends on the number of active connections RN and FN work on a virtual time and can be fractional If the system can send C bits per second and there are N active flows RN(t + t) = RN(t) + C N act t Considering this definition and the channel capacity, the Finish Numbers in this virtual time basis are Non empty queue F N i,k = F N i,k 1 + L k Empty queue F N i,k = RN + L k Trafffic Engineering 2015/16 34

35 FQ in practice (2) Considering or F N i,k = F N i,k 1 + L k F N i,k = RN + L k The two equations above can be combined in a single one: F N i,k = max(f N i,k 1, RN) + L k RN(t) is reset to zero when the system is empty Trafffic Engineering 2015/16 35

36 FQ: Conceptual (simplified) Trafffic Engineering 2015/16 36

37 Weighted Fair Queuing (WFQ) We follow FQ, but conveniently weighted by the relative weight of each queue C RN(t + t) = RN(t) + j active w j t F N i,k = F N i,k 1 + L k w i F N i,k = RN + L k w i F N i,k = max(f N i,k 1, RN) + L k w i qualitative analysis: larger w i, means that L k /w i will be smaller, and therefore F N i,k will also be (realtively) smaller, increasing the possibility of queue i to be selected for packet transmission Trafffic Engineering 2015/16 37

38 WFQ: Conceptual (simplified) Trafffic Engineering 2015/16 38

39 Weighted fair queuing Discussion: features vs limitations? w 1 = 3, w 2 = w 3 = 1 Trafffic Engineering 2015/16 39

40 Scheduling disciplines: classification Work conserving The output channel is always used if there are packets on the queue Non-work conserving The output channel may not be used even if there are packets on the queue, depending on the scheduling discipline Trafffic Engineering 2015/16 40

41 Stop and go In short, on stop and go scheduling each flow can only use a pre-defined reserved amount of bandwidth, irrespective of the to available bandwidth Similar to time multiplexing Computationally simple Provides strict QoS, but makes an inefficient use of the overall channel Trafffic Engineering 2015/16 41

42 Packet drop policy When the system capacity is exceeded, packet drops occur The packet drop policy can be classified in four categories Aggregation level Packet to drop depends on the aggregation level: flow, queue, etc... It may be the last arrived packet or the last packet of the flow Priority Some packets may be marked with increased priority These packet should be protected Early drop Implements a preventive drop when some buffer is almost full Packet position Tail of the queue (default) Head of the queue Queue drop is proportional to channel use Random Fair distribution... Trafffic Engineering 2015/16 42

43 Traffic scheduling on Linux Linux implementation of scheduling disciplines is possibly one of the most obscure topics of Linux :-) Maybe not obscure, but surely complex... Most of the traffic shaping in linux is performed using the tc (traffic control) command We will only describe here some generic features; this does not intend to be a manual For more information, check the TC howto and iprtoute2 howto available from LDP (Linux Documentation Project). Trafffic Engineering 2015/16 43

44 Bandwidth control in Linux Bandwidth control is always performed on the outgoing traffic For example, if one wants to limit the D/L bandwidth from the Internet for a given user: There must be at least a router that receives packets from the internet and distributes them on the LAN side Traffic control shall be applied on the inner interface of the router, on the packets that are being sent over the LAN Trafffic Engineering 2015/16 44

45 Traffic Control command - overview [root@ist]# tc Usage: tc [ OPTIONS ] OBJECT { COMMAND help } where OBJECT := { qdisc class filter } OPTIONS := { -s[tatistics] -d[etails] -r[aw] } Trafffic Engineering 2015/16 45

46 Traffic Control command - variants tc qdisc [ add change replace link ] dev DEV [ parent qdisc-id root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ] tc class [ add change replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specific parameters ] tc filter [ add change replace ] dev DEV [ parent qdisc-id root ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id tc [-s -d ] qdisc show [ dev DEV ] tc [-s -d ] class show dev DEV tc filter show dev DEV Trafffic Engineering 2015/16 46

47 Traffic Control command - Example Example [root@ist# tc qdisc add \ A - Add a queuing discipline > dev eth0 \ B - Specify the device > root \ C - means "egress/outgoing" > handle 1:0 \ D - major:minor number, user define > htb E Discipline HTB=Hierarchical Token Bucket Trafffic Engineering 2015/16 47

48 Types of queuing disciplines Classless queuing disciplines Queing disciplines that are applied to all the traffic Classless disciplines apply to all traffic, irrespective of its source Classless disci. accept data and only reschedule, delay or drop it Classful queing disciplines Classfull disciplines apply when there are different kinds of traffic which should have differing treatment Trafffic Engineering 2015/16 48

49 Classless: pfifo fast pfifo fast is a somewhat sophisticated version of the simple FIFO queue Traffic is divided in three bands : 0, 1 and 2 Bands are strictly prioritized: traffic in band 1 is only processed when 0 is empty; the same applies to band 1 and 2 Band classification is based upon the TOS field TOS bits Binary Decimal Meaning Minimize delay (md) Maximize throughput (mt) Maximize reliability (mr) Minimize monetary cost (mmc) Normal Service Note: RFC2474 re-defined the TOS field with DiffServ bits and Congestion Notification... but it is seldom used. Trafffic Engineering 2015/16 49

50 pfifo fast bands TOS Bits Means Linux Priority Band x0 0 Normal Service 0 Best Effort 1 0x2 1 Minimize Monetary Cost 1 Filler 2 0x4 2 Maximize Reliability 0 Best Effort 1 0x6 3 mmc+mr 0 Best Effort 1 0x8 4 Maximize Throughput 2 Bulk 2 0xa 5 mmc+mt 2 Bulk 2 0xc 6 mr+mt 2 Bulk 2 0xe 7 mmc+mr+mt 2 Bulk 2 0x10 8 Minimize Delay 6 Interactive 0 0x12 9 mmc+md 6 Interactive 0 0x14 10 mr+md 6 Interactive 0 0x16 11 mmc+mr+md 6 Interactive 0 0x18 12 mt+md 4 Int. Bulk 1 0x1a 13 mmc+mt+md 4 Int. Bulk 1 0x1c 14 mr+mt+md 4 Int. Bulk 1 0x1e 15 mmc+mr+mt+md 4 Int. Bulk 1 Trafffic Engineering 2015/16 50

51 pfifo scheme Note: priomap is a user defined alternative to default TOS bands; not considered here Trafffic Engineering 2015/16 51

52 Token Bucket Filter (TBF) Adjusts outgoing packet rate to a given administrative set rate implementation consists of a buffer (bucket), constantly filled by some virtual pieces of information called tokens, at a specific rate (token rate) Outgoing packets are sent at a rate defined by the available tokens Trafffic Engineering 2015/16 52

53 TBF diagram Trafffic Engineering 2015/16 53

54 TBF operation The data arrives in TBF at a rate that s equal to the rate of incoming tokens. In this case each incoming packet has its matching token and passes the queue without delay. The data arrives in TBF at a rate that s smaller than the token rate. Only a part of the tokens are deleted at output of each data packet that s sent out the queue, so the tokens accumulate, up to the bucket size. The unused tokens can then be used to send data at a speed that s exceeding the standard token rate, in case short data bursts occur. The data arrives in TBF at a rate bigger than the token rate. This means that the bucket will soon be devoid of tokens, which causes the TBF to throttle itself for a while. This is called an overlimit situation. If packets keep coming in, packets will start to get dropped. Trafffic Engineering 2015/16 54

55 TBF parameters limit or latency Limit is the number of bytes that can be queued waiting for tokens to become available. burst/buffer/maxburst mpu rate Size of the bucket, in bytes. This is the maximum amount of bytes that tokens can be available for instantaneously. The Minimum Packet Unit determines the minimal token usage for a packet. Output rate. Trafffic Engineering 2015/16 55

56 TBF example Limit outgoing traffic on a ppp (serial) interface in order to improve interactive sessions: # tc qdisc add dev ppp0 root tbf rate 220kbit \ latency 50ms burst 1540 Trafffic Engineering 2015/16 56

57 SFQ (Stochastic Fair Queuing Traffic is divided into a large number of FIFO queues, one for each flow. Traffic is then sent in a round robin fashion, giving each flow the chance to send data in turn. Flows are distributed by queues based on hash algorithm In order to avoid bias and improve distribution, the hash is changed regularly, hence the name stochastic Trafffic Engineering 2015/16 57

58 SFQ Diagram Trafffic Engineering 2015/16 58

59 Parameters perturb Reconfigure hashing once this many seconds. Typical: 10 seconds quantum Amount of bytes a stream is allowed to dequeue before the next queue gets a turn. Defaults to 1 maximum sized packet (MTU-sized). limit The total number of packets that will be queued (after that it starts dropping them). Trafffic Engineering 2015/16 59

60 SFQ Example # tc qdisc add dev ppp0 root sfq perturb 10 Trafffic Engineering 2015/16 60

61 When to use each classless Slow down outgoing traffic - TBF Saturated link, one wants to give fair use to ALL sessions - SFQ Limiting incoming traffic (not forwarded): ingress policer (incoming control is called policing, not shaping) Trafffic Engineering 2015/16 61

62 Overview of TC in linux Userspace programs ˆ Y > IP Stack Y Y ˆ / > Forwarding -> ˆ / / Y ˆ Y /-qdisc1-\ Egress /--qdisc2--\ --->->Ingress Classifier ---qdisc > Qdisc \ qdisc4 / \-qdiscn_/ Trafffic Engineering 2015/16 62

63 Classful disciplines When traffic enters a classful qdisc, it needs to be sent to any of the classes within Implies packet classification. Classification is provided by filters, which are consulted Filters are called from within a qdisc, and not the other way around! The filters attached to that qdisc return a decision; qdisc uses this to enqueue the packet into one of the classes. Each subclass may try other filters to see if further instructions apply. If not, the class enqueues the packet to the qdisc it contains. Besides containing other qdiscs, most classful qdiscs also perform shaping. Trafffic Engineering 2015/16 63

64 Qdisc / class hierarchy Each qdisc have classes Each class has a qdisc The handle of a qdisc is always x:0 or x: Each disc or class may have further sub-classes 1: root qdisc 1:1 child class / \ / \ / \ / \ 1:10 1:11 1:12 child classes 11: leaf class 10: 12: qdisc / \ / \ 10:1 10:2 12:1 12:2 leaf classes Trafffic Engineering 2015/16 64

65 Handles As stated before, handles are user defined references in the form major:minor that designate classes and qdisc x: is a shorthand for x:0 The qdisc has always a minor 0 (x:0) Each class has a major equal to his parent Each major must be unique Each interface has one egress/outgoing root qdisc by default, this is a fifo fast qdisc A packet might be classified down the tree or sent directly to the leaf class Both situations can occur: 1 : 0 1 : 1 1 : : 0 12 : 2 1 : 0 12 : 2 Trafffic Engineering 2015/16 65

66 Dequeuing When packets are to be dequeued, the root 1: receives a dequeue request This dequeue request is passed to 1:1, which is in turn passed to 10:, 11: and 12:, each of which queries its siblings, and tries to dequeue() from them. Nested classes only talk to their parent qdiscs, never to an interface Trafffic Engineering 2015/16 66

67 PRIO qdisc Implements strict priority queueing :1 is tried before :2, before :3... PRIO is work conserving Parameters: bands - number of bands priomp - defines relative band priority Trafffic Engineering 2015/16 67

68 Sample PRIO qdisc 1: root qdisc PRIO / \ / \ / \ 1:1 1:2 1:3 classes 10: 20: 30: qdiscs sfq tbf sfq band # tc qdisc add dev eth0 root handle 1: prio ## This *instantly* creates classes 1:1, 1:2, 1:3 # tc qdisc add dev eth0 parent 1:1 handle 10: sfq # tc qdisc add dev eth0 parent 1:2 handle 20: tbf rate 20kbit \ buffer 1600 limit 3000 # tc qdisc add dev eth0 parent 1:3 handle 30: sfq Trafffic Engineering 2015/16 68

69 CBQ, Class Based Queuing CBQ performs shaping CBQ works by making sure that the link is idle just long enough to bring down the real bandwidth to the configured rate. CBQ also acts like the PRIO queue in the sense that classes can have differing priorities and that lower priority numbers will be polled before the higher priority ones. Trafffic Engineering 2015/16 69

70 HTB Hierarchical Token Bucket CBQ replacement/improvement Hierarchical version of TBF Enables nested versions of TBF Mostly applied to shaping transmitted traffic As in standard TBF, tokens are used to regulate/limit traffic Each class has a rate (guaranteed minimum bw) and a ceil (the maximum rate; more will not be available even if spare capacity is available) Borrowing Children classes borrow tokens from their parents once they have exceeded rate and if there siblings are not using it By other words parent classes may lend spare capacity to child classes When all child classes use more than the minimum guaranteed bandwidth (defined rate), the available excess is divided in proportion to the nominal rate of each one Trafffic Engineering 2015/16 70

71 HTB Borrowing scheme Trafffic Engineering 2015/16 71

72 HTB class parameters rate ceil Used to set the minimum desired speed to which to limit transmitted traffic. This can be considered the guaranteed bandwidth for a given leaf class. Used to set the maximum desired speed to which to limit the transmitted traffic. This can be considered the equivalent of burstable bandwidth. Excess bandwidth results from borrowing burst This is the size of the rate bucket. HTB will dequeue burst bytes before awaiting the arrival of more tokens. cburst This is the size of the ceil bucket. HTB will dequeue cburst bytes before awaiting the arrival of more ctokens. Trafffic Engineering 2015/16 72

73 Example 1: intended shaping, overall tree Trafffic Engineering 2015/16 73

74 Example 1: tc configuration for the previous slide # define root qdisc and default handle for non-classified traffic 1:30 # tc qdisc add dev eth0 root handle 1: htb default 30 # tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbit burst 15k # tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit \ ceil 10mbit burst 15k # tc class add dev eth0 parent 1:1 classid 1:20 htb rate 3mbit \ ceil 10mbit burst 15k # tc class add dev eth0 parent 1:1 classid 1:30 htb rate 2mbit\ ceil 10mbit burst 15k # SFQ for beneath these classes is optional, but guarantees # better equity between flows # tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10 # tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10 # tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10 #Add the filters which direct traffic to the right classes: # U32="tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32" # $U32 match ip dport 80 0xffff flowid 1:10 # $U32 match ip sport 25 0xffff flowid 1:20 Trafffic Engineering 2015/16 74

75 Example 2: intended shaping example from devik/qos/htb/manual/userg.htm Problem: We have two customers, A and B, both connected to the internet via eth0. We want to allocate 60 kbps to B and 40 kbps to A. Next we want to subdivide A s bandwidth 30kbps for WWW and 10kbps for everything else. Any unused bandwidth can be used by any class which needs it (in proportion of its allocated share). HTB ensures that the amount of service provided to each class is at least the minimum of the amount it requests and the amount assigned to it. When a class requests less than the amount assigned, the remaining (excess) bandwidth is distributed to other classes which request service. Trafffic Engineering 2015/16 75

76 Example 2: commands Parametrization tc qdisc add dev eth0 root handle 1: htb default 12 tc class add dev eth0 parent 1: classid 1:1 \ htb rate 100kbps ceil 100kbps tc class add dev eth0 parent 1:1 classid 1:10\ htb rate 30kbps ceil 100kbps tc class add dev eth0 parent 1:1 classid 1:11\ htb rate 10kbps ceil 100kbps tc class add dev eth0 parent 1:1 classid 1:12\ htb rate 60kbps ceil 100kbps Classification / filters tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \ match ip src match ip dport 80 0xffff flowid 1:10 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \ match ip src flowid 1:11 Now we can optionally attach queuing disciplines to the leaf classes. If none is specified the default is pfifo. tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 5 tc qdisc add dev eth0 parent 1:11 handle 30: pfifo limit 5 tc qdisc add dev eth0 parent 1:12 handle 40: sfq perturb 10 Trafffic Engineering 2015/16 76

77 Results Trafffic Engineering 2015/16 77

78 More information See htb manual and examples See iproute2 howto A nice and well described example of a complex, but simply explained, HTB application Trafffic Engineering 2015/16 78

Linux Traffic Control

Linux Traffic Control Linux Traffic Control Author: Ivan Delchev Course: Networks and Distributed Systems Seminar Instructor: Prof. Juergen Schoenwaelder International University Bremen, Spring 2006 Processing of Network Data

More information

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel Semra.gulder@crc.ca, mathieu.deziel@crc.ca Abstract: This paper describes a QoS mechanism suitable for Mobile Ad Hoc Networks

More information

Bandwidth Management

Bandwidth Management Bandwidth Management & Optimization Opensource Bandwidth Solutions 27 Feb 03 March '06 Nairobi, Kenya Facilitator: Nigel Kukard, Phd CompSc Page 1 Page 2 Copyright 2006, Nigel Kukard.

More information

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract 1 of 9 6/18/2006 7:41 PM Kernel Korner Analysis of the HTB Queuing Discipline Yaron Benita Abstract Can Linux do Quality of Service in a way that both offers high throughput and does not exceed the defined

More information

DiffServ over MPLS: Tuning QOS parameters for Converged Traffic using Linux Traffic Control

DiffServ over MPLS: Tuning QOS parameters for Converged Traffic using Linux Traffic Control 1 DiffServ over MPLS: Tuning QOS parameters for Converged Traffic using Linux Traffic Control Sundeep.B.Singh, Girish.P.Saraph, Chetan.P.Bhadricha and Girish.K.Dadhich Indian Institute of Technology Bombay,

More information

DiffServ over MPLS: Tuning QOS parameters for Converged Traffic using Linux Traffic Control

DiffServ over MPLS: Tuning QOS parameters for Converged Traffic using Linux Traffic Control 1 DiffServ over MPLS: Tuning QOS parameters for Converged Traffic using Linux Traffic Control Sundeep.B.Singh and Girish.P.Saraph Indian Institute of Technology Bombay, Powai, Mumbai-400076, India Abstract

More information

H3C S9500 QoS Technology White Paper

H3C S9500 QoS Technology White Paper H3C Key words: QoS, quality of service Abstract: The Ethernet technology is widely applied currently. At present, Ethernet is the leading technology in various independent local area networks (LANs), and

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks QoS in IP networks Prof. Andrzej Duda duda@imag.fr Contents QoS principles Traffic shaping leaky bucket token bucket Scheduling FIFO Fair queueing RED IntServ DiffServ http://duda.imag.fr

More information

Scheduling. Scheduling algorithms. Scheduling. Output buffered architecture. QoS scheduling algorithms. QoS-capable router

Scheduling. Scheduling algorithms. Scheduling. Output buffered architecture. QoS scheduling algorithms. QoS-capable router Scheduling algorithms Scheduling Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ Scheduling: choose a packet to transmit over a link among all

More information

HTB Network Packet Scheduler implementation: experimenting with the new bucket size feature

HTB Network Packet Scheduler implementation: experimenting with the new bucket size feature HTB Network Packet Scheduler implementation: experimenting with the new bucket size feature 2017 Alfredo Giordano, Matthew Ciantar Titania Networks Limited Alfredo Giordano MikroTik Certified Trainer.

More information

QBone Scavenger Service Implementation for Linux

QBone Scavenger Service Implementation for Linux QBone Scavenger Service Implementation for Linux Mathieu Goutelle Pascale Primet Overview of the QBSS model The QBSS model has been proposed by the Internet2 QoS Working Group. It is part of the Non-Elevated

More information

Multimedia Communication. Project 6: Intelligent DiffServ

Multimedia Communication. Project 6: Intelligent DiffServ Multimedia Communication Project 6: Intelligent DiffServ Preliminary Design and interface definition (2003-07-08) Steffen Moser - 1 / 9 - Necessary tasks of a DiffServ aware router: Classifying Marking

More information

Grandstream Networks, Inc. GWN7000 QoS - VoIP Traffic Management

Grandstream Networks, Inc. GWN7000 QoS - VoIP Traffic Management Grandstream Networks, Inc. GWN7000 QoS - VoIP Traffic Management Table of Contents INTRODUCTION... 4 DSCP CLASSIFICATION... 5 QUALITY OF SERVICE ON GWN7000... 6 USING QOS TO PRIORITIZE VOIP TRAFFIC...

More information

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services Overview 15-441 15-441 Computer Networking 15-641 Lecture 19 Queue Management and Quality of Service Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 What is QoS? Queuing discipline and scheduling

More information

Traffic Control HOWTO

Traffic Control HOWTO Traffic Control HOWTO Version 1.0.1 Martin A. Brown SecurePipe, Inc. Network Administration "Nov 2003" Revision History Revision 1.0.1 2003 11 17 Revised by: MAB Added link to

More information

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

Resource allocation in networks. Resource Allocation in Networks. Resource allocation Resource allocation in networks Resource Allocation in Networks Very much like a resource allocation problem in operating systems How is it different? Resources and jobs are different Resources are buffers

More information

Internet QoS 1. Integrated Service 2. Differentiated Service 3. Linux Traffic Control

Internet QoS 1. Integrated Service 2. Differentiated Service 3. Linux Traffic Control Internet QoS 1. Integrated Service 2. Differentiated Service 3. Linux Traffic Control weafon 2001/9/27 Concept of IntServ Network A flow is the basic management unit Supporting accurate quality control.

More information

Queuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines

Queuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines Resource allocation Drop disciplines Queuing disciplines Queuing 1 Congestion Control and Resource Allocation Handle congestion if and when it happens TCP Congestion Control Allocate resources to avoid

More information

IP QOS Theory and Practice. eng. Nikolay Milovanov CCIE SP# 20094

IP QOS Theory and Practice. eng. Nikolay Milovanov CCIE SP# 20094 IP QOS Theory and Practice eng. Nikolay Milovanov CCIE SP# 20094 QoS Architectures QoS Architecture Models Best Effort Service Integrated Service Differentiated Service 3 Best Effort Service What exactly

More information

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service TDDD82 Secure Mobile Systems Lecture 6: Quality of Service Mikael Asplund Real-time Systems Laboratory Department of Computer and Information Science Linköping University Based on slides by Simin Nadjm-Tehrani

More information

Configuring QoS. Finding Feature Information. Prerequisites for QoS

Configuring QoS. Finding Feature Information. Prerequisites for QoS Finding Feature Information, page 1 Prerequisites for QoS, page 1 Restrictions for QoS, page 3 Information About QoS, page 4 How to Configure QoS, page 28 Monitoring Standard QoS, page 80 Configuration

More information

Configuring QoS CHAPTER

Configuring QoS CHAPTER CHAPTER 34 This chapter describes how to use different methods to configure quality of service (QoS) on the Catalyst 3750 Metro switch. With QoS, you can provide preferential treatment to certain types

More information

Configuring QoS. Understanding QoS CHAPTER

Configuring QoS. Understanding QoS CHAPTER 29 CHAPTER This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on the Catalyst 3750 switch. With QoS, you can provide

More information

Kommunikationssysteme [KS]

Kommunikationssysteme [KS] Kommunikationssysteme [KS] Dr.-Ing. Falko Dressler Computer Networks and Communication Systems Department of Computer Sciences University of Erlangen-Nürnberg http://www7.informatik.uni-erlangen.de/~dressler/

More information

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov. Lecture 21 Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov. 7 http://money.cnn.com/2011/11/07/technology/juniper_internet_outage/

More information

QoS Configuration. Overview. Introduction to QoS. QoS Policy. Class. Traffic behavior

QoS Configuration. Overview. Introduction to QoS. QoS Policy. Class. Traffic behavior Table of Contents QoS Configuration 1 Overview 1 Introduction to QoS 1 QoS Policy 1 Traffic Policing 2 Congestion Management 3 Line Rate 9 Configuring a QoS Policy 9 Configuration Task List 9 Configuring

More information

Quality of Service in the Internet

Quality of Service in the Internet Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:

More information

Defining QoS for Multiple Policy Levels

Defining QoS for Multiple Policy Levels CHAPTER 13 In releases prior to Cisco IOS Release 12.0(22)S, you can specify QoS behavior at only one level. For example, to shape two outbound queues of an interface, you must configure each queue separately,

More information

Configuring QoS CHAPTER

Configuring QoS CHAPTER CHAPTER 37 This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on the Catalyst 3750-E or 3560-E switch. With QoS,

More information

Measuring Application's network behaviour

Measuring Application's network behaviour EuroNGI PhD measurement workshop - 1 Measuring Application's network behaviour EuroNGI PhD measurement workshop University of Linz,, Austria May, 12th 2006 Sven Hessler http://dps.uibk.ac.at/~sven Institute

More information

QoS Configuration. Page 1 of 13

QoS Configuration. Page 1 of 13 QoS Configuration Page 1 of 13 Contents Chapter 1 QoS Configuration...3 1.1 Brief Introduction to QoS...3 1.1.1 Traffic...3 1.1.2 Traffic Classification... 3 1.1.3 Priority...4 1.1.4 Access Control List...

More information

Configuring QoS CHAPTER

Configuring QoS CHAPTER CHAPTER 36 This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on the Catalyst 3750 switch. With QoS, you can provide

More information

Queuing Mechanisms. Overview. Objectives

Queuing Mechanisms. Overview. Objectives Queuing Mechanisms Overview Objectives This module describes the queuing mechanisms that can be used on output interfaces. It includes the following topics: Queuing Overview FIFO Queuing Priority Queuing

More information

Lecture Outline. Bag of Tricks

Lecture Outline. Bag of Tricks Lecture Outline TELE302 Network Design Lecture 3 - Quality of Service Design 1 Jeremiah Deng Information Science / Telecommunications Programme University of Otago July 15, 2013 2 Jeremiah Deng (Information

More information

Router s Queue Management

Router s Queue Management Router s Queue Management Manages sharing of (i) buffer space (ii) bandwidth Q1: Which packet to drop when queue is full? Q2: Which packet to send next? FIFO + Drop Tail Keep a single queue Answer to Q1:

More information

Quality of Service in the Internet

Quality of Service in the Internet Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:

More information

HTB vs PCQ. by: Valens Riyadi Citraweb Nusa Infomedia, Indonesia

HTB vs PCQ. by: Valens Riyadi Citraweb Nusa Infomedia, Indonesia HTB vs PCQ by: Valens Riyadi Citraweb Nusa Infomedia, Indonesia www.mikrotik.co.id Introduction Valens Riyadi Work for Citraweb/Citranet Mikrotik distributor, training partner ISP, web developer Using

More information

Basics (cont.) Characteristics of data communication technologies OSI-Model

Basics (cont.) Characteristics of data communication technologies OSI-Model 48 Basics (cont.) Characteristics of data communication technologies OSI-Model Topologies Packet switching / Circuit switching Medium Access Control (MAC) mechanisms Coding Quality of Service (QoS) 49

More information

Unit 2 Packet Switching Networks - II

Unit 2 Packet Switching Networks - II Unit 2 Packet Switching Networks - II Dijkstra Algorithm: Finding shortest path Algorithm for finding shortest paths N: set of nodes for which shortest path already found Initialization: (Start with source

More information

Fairness, Queue Management, and QoS

Fairness, Queue Management, and QoS Fairness, Queue Management, and QoS 15-441 Fall 2017 Profs Peter Steenkiste & Justine Sherry Slides borrowed from folks at CMU, Berkeley, and elsewhere. YINZ I AM GETTING T-SHIRTS If you TA for me next

More information

Advanced Lab in Computer Communications Meeting 6 QoS. Instructor: Tom Mahler

Advanced Lab in Computer Communications Meeting 6 QoS. Instructor: Tom Mahler Advanced Lab in Computer Communications Meeting 6 QoS Instructor: Tom Mahler Motivation Internet provides only single class of best-effort service. Some applications can be elastic. Tolerate delays and

More information

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of California Berkeley Review: Switch Architectures Input Queued

More information

Part1: Lecture 4 QoS

Part1: Lecture 4 QoS Part1: Lecture 4 QoS Last time Multi stream TCP: SCTP Multi path TCP RTP and RTCP SIP H.323 VoIP Router architectures Overview two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP)

More information

A DiffServ transport network to bring 3G access to villages in the Amazon forest: a case study

A DiffServ transport network to bring 3G access to villages in the Amazon forest: a case study A DiffServ transport network to bring 3G access to villages in the Amazon forest: a case study based on the EC FP7 project Wireless Technologies for isolated rural communities in developing countries based

More information

Lecture 24: Scheduling and QoS

Lecture 24: Scheduling and QoS Lecture 24: Scheduling and QoS CSE 123: Computer Networks Alex C. Snoeren HW 4 due Wednesday Lecture 24 Overview Scheduling (Weighted) Fair Queuing Quality of Service basics Integrated Services Differentiated

More information

Last time! Overview! 14/04/15. Part1: Lecture 4! QoS! Router architectures! How to improve TCP? SYN attacks SCTP. SIP and H.

Last time! Overview! 14/04/15. Part1: Lecture 4! QoS! Router architectures! How to improve TCP? SYN attacks SCTP. SIP and H. Last time Part1: Lecture 4 QoS How to improve TCP? SYN attacks SCTP SIP and H.323 RTP and RTCP Router architectures Overview two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding

More information

TELE Switching Systems and Architecture. Assignment Week 10 Lecture Summary - Traffic Management (including scheduling)

TELE Switching Systems and Architecture. Assignment Week 10 Lecture Summary - Traffic Management (including scheduling) TELE9751 - Switching Systems and Architecture Assignment Week 10 Lecture Summary - Traffic Management (including scheduling) Student Name and zid: Akshada Umesh Lalaye - z5140576 Lecturer: Dr. Tim Moors

More information

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies CSCD 433/533 Priority Traffic Advanced Networks Spring 2016 Lecture 21 Congestion Control and Queuing Strategies 1 Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation

More information

Modular Quality of Service Overview on Cisco IOS XR Software

Modular Quality of Service Overview on Cisco IOS XR Software Modular Quality of Service Overview on Cisco IOS XR Software Quality of Service (QoS) is the technique of prioritizing traffic flows and providing preferential forwarding for higher-priority packets. The

More information

Quality of Service (QoS)

Quality of Service (QoS) Quality of Service (QoS) The Internet was originally designed for best-effort service without guarantee of predictable performance. Best-effort service is often sufficient for a traffic that is not sensitive

More information

MQC Hierarchical Queuing with 3 Level Scheduler

MQC Hierarchical Queuing with 3 Level Scheduler MQC Hierarchical Queuing with 3 Level Scheduler The MQC Hierarchical Queuing with 3 Level Scheduler feature provides a flexible packet scheduling and queuing system in which you can specify how excess

More information

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:

More information

Congestion Control and Resource Allocation

Congestion Control and Resource Allocation Congestion Control and Resource Allocation Lecture material taken from Computer Networks A Systems Approach, Third Edition,Peterson and Davie, Morgan Kaufmann, 2007. Advanced Computer Networks Congestion

More information

048866: Packet Switch Architectures

048866: Packet Switch Architectures 048866: Packet Switch Architectures Output-Queued Switches Deterministic Queueing Analysis Fairness and Delay Guarantees Dr. Isaac Keslassy Electrical Engineering, Technion isaac@ee.technion.ac.il http://comnet.technion.ac.il/~isaac/

More information

Worksheet 8. Linux as a router, packet filtering, traffic shaping

Worksheet 8. Linux as a router, packet filtering, traffic shaping Worksheet 8 Linux as a router, packet filtering, traffic shaping Linux as a router Capable of acting as a router, firewall, traffic shaper (so are most other modern operating systems) Tools: netfilter/iptables

More information

CS551 Router Queue Management

CS551 Router Queue Management CS551 Router Queue Management Bill Cheng http://merlot.usc.edu/cs551-f12 1 Congestion Control vs. Resource Allocation Network s key role is to allocate its transmission resources to users or applications

More information

Configuring QoS. Finding Feature Information. Prerequisites for QoS. General QoS Guidelines

Configuring QoS. Finding Feature Information. Prerequisites for QoS. General QoS Guidelines Finding Feature Information, on page 1 Prerequisites for QoS, on page 1 Restrictions for QoS, on page 2 Information About QoS, on page 2 How to Configure QoS, on page 10 Monitoring Standard QoS, on page

More information

QoS Configuration FSOS

QoS Configuration FSOS FSOS QoS Configuration Contents 1. QoS Configuration...1 1.1 Brief Introduction to QoS... 1 1.1.1 Traffic... 1 1.1.2 Traffic Classification... 1 1.1.3 Priority... 2 1.1.4 Access Control List... 4 1.1.5

More information

Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module Quality of Service Monitoring and Delivery Part 01 ICT Technical Update Module Presentation Outline Introduction to IP-QoS IntServ Architecture DiffServ Architecture Post Graduate Certificate in Professional

More information

Mohammad Hossein Manshaei 1393

Mohammad Hossein Manshaei 1393 Mohammad Hossein Manshaei manshaei@gmail.com 1393 Voice and Video over IP Slides derived from those available on the Web site of the book Computer Networking, by Kurose and Ross, PEARSON 2 Multimedia networking:

More information

Presentation Outline. Evolution of QoS Architectures. Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

Presentation Outline. Evolution of QoS Architectures. Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module Quality of Service Monitoring and Delivery Part 01 ICT Technical Update Module Presentation Outline Introduction to IP-QoS IntServ Architecture DiffServ Architecture Post Graduate Certificate in Professional

More information

Network Support for Multimedia

Network Support for Multimedia Network Support for Multimedia Daniel Zappala CS 460 Computer Networking Brigham Young University Network Support for Multimedia 2/33 make the best of best effort use application-level techniques use CDNs

More information

Congestion Management Overview

Congestion Management Overview Congestion management features allow you to control congestion by determining the order in which packets are sent out an interface based on priorities assigned to those packets. Congestion management entails

More information

Before configuring standard QoS, you must have a thorough understanding of these items: Standard QoS concepts.

Before configuring standard QoS, you must have a thorough understanding of these items: Standard QoS concepts. Prerequisites for Quality of Service, on page 1 QoS Components, on page 2 QoS Terminology, on page 2 Information About QoS, on page 3 QoS Implementation, on page 4 QoS Wired Model, on page 8 Classification,

More information

EP2210 Scheduling. Lecture material:

EP2210 Scheduling. Lecture material: EP2210 Scheduling Lecture material: Bertsekas, Gallager, 6.1.2. MIT OpenCourseWare, 6.829 A. Parekh, R. Gallager, A generalized Processor Sharing Approach to Flow Control - The Single Node Case, IEEE Infocom

More information

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman A Preferred Service Architecture for Payload Data Flows Ray Gilstrap, Thom Stone, Ken Freeman NASA Research and Engineering Network NASA Advanced Supercomputing Division NASA Ames Research Center Outline

More information

Improving QOS in IP Networks. Principles for QOS Guarantees

Improving QOS in IP Networks. Principles for QOS Guarantees Improving QOS in IP Networks Thus far: making the best of best effort Future: next generation Internet with QoS guarantees RSVP: signaling for resource reservations Differentiated Services: differential

More information

Networking Issues in LAN Telephony. Brian Yang

Networking Issues in LAN Telephony. Brian Yang Networking Issues in LAN Telephony Brian Yang 5-3-00 Topics Some background Flow Based QoS Class Based QoS and popular algorithms Strict Priority (SP) Round-Robin (RR), Weighted Round Robin (WRR) and Weighted

More information

QoS provisioning. Lectured by Alexander Pyattaev. Department of Communications Engineering Tampere University of Technology

QoS provisioning. Lectured by Alexander Pyattaev. Department of Communications Engineering Tampere University of Technology QoS provisioning Lectured by Alexander Pyattaev Department of Communications Engineering Tampere University of Technology alexander.pyattaev@tut.fi March 6, 2012 Outline 1 Introduction 2 QoS support elements

More information

Internet Services & Protocols. Quality of Service Architecture

Internet Services & Protocols. Quality of Service Architecture Department of Computer Science Institute for System Architecture, Chair for Computer Networks Internet Services & Protocols Quality of Service Architecture Dr.-Ing. Stephan Groß Room: INF 3099 E-Mail:

More information

CBQ configuration example 7

CBQ configuration example 7 Contents QoS overview 1 Introduction to QoS 1 Networks without QoS guarantee 1 QoS requirements of new applications 1 Congestion: causes, impacts, and countermeasures 2 Causes 2 Impacts 2 Countermeasures

More information

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach Topic 4b: QoS Principles Chapter 9 Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley April 2016 9-1 Providing multiple classes of service thus far: making

More information

CSE 461 Quality of Service. David Wetherall

CSE 461 Quality of Service. David Wetherall CSE 461 Quality of Service David Wetherall djw@cs.washington.edu QOS Focus: How to provide better than best effort Fair queueing Application Application needs Transport Traffic shaping Guarantees IntServ

More information

Real-Time Protocol (RTP)

Real-Time Protocol (RTP) Real-Time Protocol (RTP) Provides standard packet format for real-time application Typically runs over UDP Specifies header fields below Payload Type: 7 bits, providing 128 possible different types of

More information

VLAN-based QoS Control in Mobile Networks

VLAN-based QoS Control in Mobile Networks VLAN-based QoS Control in Mobile Networks Misato Sasaki, Hidetoshi Yokota and Akira Idoue KDDI R&D Laboratories, Inc 2-1-15 Ohara, Fujimino-shi, Saitama, 356-8502, Japan Email: {m-sasaki, yokota, idoue}@kddilabs.jp

More information

Configuring Modular QoS Congestion Management on Cisco IOS XR Software

Configuring Modular QoS Congestion Management on Cisco IOS XR Software Configuring Modular QoS Congestion Management on Cisco IOS XR Software Congestion management controls congestion after it has occurred on a network. Congestion can be managed on Cisco IOS XR software by

More information

Prioritizing Services

Prioritizing Services CHAPTER 8 Voice, video, and data applications have differing quality of service needs. Voice applications, for example, require a small but guaranteed amount of bandwidth, are less tolerant of packet delay

More information

MUD: Send me your top 1 3 questions on this lecture

MUD: Send me your top 1 3 questions on this lecture Administrivia Review 1 due tomorrow Email your reviews to me Office hours on Thursdays 10 12 MUD: Send me your top 1 3 questions on this lecture Guest lectures next week by Prof. Richard Martin Class slides

More information

Cisco ASR 1000 Series Aggregation Services Routers: QoS Architecture and Solutions

Cisco ASR 1000 Series Aggregation Services Routers: QoS Architecture and Solutions Cisco ASR 1000 Series Aggregation Services Routers: QoS Architecture and Solutions Introduction Much more bandwidth is available now than during the times of 300-bps modems, but the same business principles

More information

Differentiated Service Router Architecture - Classification, Metering and Policing

Differentiated Service Router Architecture - Classification, Metering and Policing Differentiated Service Router Architecture - Classification, Metering and Policing Presenters: Daniel Lin and Frank Akujobi Carleton University, Department of Systems and Computer Engineering 94.581 Advanced

More information

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems Lecture 22 Queue Management and Quality of Service (QoS) Overview Queue management & RED Fair queuing Khaled Harras School of Computer Science niversity 15 441 Computer Networks Based on slides from previous

More information

Configuring Quality of Service

Configuring Quality of Service CHAPTER 13 This chapter describes the Quality of Service (QoS) features built into your ML-Series card and how to map QoS scheduling at both the system and interface levels. This chapter contains the following

More information

Episode 5. Scheduling and Traffic Management

Episode 5. Scheduling and Traffic Management Episode 5. Scheduling and Traffic Management Part 2 Baochun Li Department of Electrical and Computer Engineering University of Toronto Keshav Chapter 9.1, 9.2, 9.3, 9.4, 9.5.1, 13.3.4 ECE 1771: Quality

More information

"Charting the Course... Implementing Cisco Quality of Service (QOS) Course Summary

Charting the Course... Implementing Cisco Quality of Service (QOS) Course Summary Course Summary Description v2.5 provides learners with in-depth knowledge of QoS requirements, conceptual models such as best effort, IntServ, and DiffServ, and the implementation of QoS on Cisco platforms.

More information

Sharing Bandwidth Fairly During Congestion

Sharing Bandwidth Fairly During Congestion CHAPTER 12 When no QoS policies exist, the router serves traffic with best effort service. The router makes no distinction between high and low priority traffic and makes no allowances for the needs of

More information

Sections Describing Standard Software Features

Sections Describing Standard Software Features 30 CHAPTER This chapter describes how to configure quality of service (QoS) by using automatic-qos (auto-qos) commands or by using standard QoS commands. With QoS, you can give preferential treatment to

More information

Comparing the bandwidth and priority Commands of a QoS Service Policy

Comparing the bandwidth and priority Commands of a QoS Service Policy Comparing the and priority s of a QoS Service Policy Contents Introduction Prerequisites Requirements Components Used Conventions Summary of Differences Configuring the Configuring the priority Which Traffic

More information

Episode 5. Scheduling and Traffic Management

Episode 5. Scheduling and Traffic Management Episode 5. Scheduling and Traffic Management Part 3 Baochun Li Department of Electrical and Computer Engineering University of Toronto Outline What is scheduling? Why do we need it? Requirements of a scheduling

More information

Packet Scheduling for Link-Sharing and Quality of Service Support in Wireless Local Area Networks

Packet Scheduling for Link-Sharing and Quality of Service Support in Wireless Local Area Networks Packet Scheduling for Link-Sharing and Quality of Service Support in Wireless Local Area Networks Lars Wischhof John W. Lockwood WUCS-01-35 November 13, 2001 Department of Computer Science Applied Research

More information

Modern Computer Network

Modern Computer Network Modern Computer Network An Open Source Approach Chapter 6. Internet QoS Content 6.1 Issues: Requirements for the QoS Network Signal Protocol QoS Routing Admission Control Packet Classification Policing

More information

Lesson 14: QoS in IP Networks: IntServ and DiffServ

Lesson 14: QoS in IP Networks: IntServ and DiffServ Slide supporting material Lesson 14: QoS in IP Networks: IntServ and DiffServ Giovanni Giambene Queuing Theory and Telecommunications: Networks and Applications 2nd edition, Springer All rights reserved

More information

Configuring Quality of Service

Configuring Quality of Service CHAPTER 14 This chapter describes the Quality of Service (QoS) features built into your ML-Series card and how to map QoS scheduling at both the system and interface levels. This chapter contains the following

More information

Contents. QoS overview 1

Contents. QoS overview 1 Contents QoS overview 1 QoS service models 1 Best-effort service model 1 IntServ model 1 DiffServ model 1 QoS techniques overview 1 Deploying QoS in a network 2 QoS processing flow in a device 2 Configuring

More information

Configuring priority marking 63 Priority marking overview 63 Configuring priority marking 63 Priority marking configuration example 64

Configuring priority marking 63 Priority marking overview 63 Configuring priority marking 63 Priority marking configuration example 64 Contents QoS overview 1 Introduction to QoS 1 QoS service models 1 Best-effort service model 1 IntServ model 1 DiffServ model 2 QoS techniques overview 2 Deploying QoS in a network 2 QoS processing flow

More information

Common network/protocol functions

Common network/protocol functions Common network/protocol functions Goals: Identify, study common architectural components, protocol mechanisms Synthesis: big picture Depth: important topics not covered in introductory courses Overview:

More information

Configuring Quality of Service

Configuring Quality of Service CHAPTER 21 This chapter applies only to the ML-Series (ML100T-2, ML100X-8, and ML1000-2) cards. This chapter describes the quality of service (QoS) features built into your ML-Series card and how to map

More information

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren Lecture 22: Buffering & Scheduling CSE 123: Computer Networks Alex C. Snoeren Lecture 23 Overview Buffer Management FIFO RED Traffic Policing/Scheduling 2 Key Router Challenges Buffer management: which

More information

Implementation of a leaky bucket module for simulations in NS-3

Implementation of a leaky bucket module for simulations in NS-3 Implementation of a leaky bucket module for simulations in NS-3 P. Baltzis 2, C. Bouras 1,2, K. Stamos 1,2,3, G. Zaoudis 1,2 1 Computer Technology Institute and Press Diophantus Patra, Greece 2 Computer

More information

Quality of Service (QoS)

Quality of Service (QoS) Quality of Service (QoS) EE 122: Intro to Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew & Jorge Ortiz http://inst.eecs.berkeley.edu/~ee122/ Materials

More information

Before configuring standard QoS, you must have a thorough understanding of these items:

Before configuring standard QoS, you must have a thorough understanding of these items: Finding Feature Information, page 1 Prerequisites for QoS, page 1 QoS Components, page 2 QoS Terminology, page 3 Information About QoS, page 3 Restrictions for QoS on Wired Targets, page 41 Restrictions

More information