310 likes | 330 Views
Chapter 5 Traffic Shaping. Traffic shaping Algorithm. Two predominant methods for shaping traffic existing: 1. Token bucket Reference : http://en.wikipedia.org/wiki/Token_bucket 2. Leaky bucket Reference : http://en.wikipedia.org/wiki/Leaky_bucket. Traffic shaping Terminology.
E N D
Chapter 5 Traffic Shaping 1
Traffic shapingAlgorithm Two predominant methods for shaping traffic existing:1. Token bucket Reference : http://en.wikipedia.org/wiki/Token_bucket 2. Leaky bucket Reference : http://en.wikipedia.org/wiki/Leaky_bucket 2
Traffic shapingTerminology Two major components and two sub-items in DFL’s traffic shaping: • Pipeobject • PipeRule • Traffic filter factor • Service (protocol) • Direction (the traffic from…to…) • Pipe Chain • First Pipe • (a kinds of statement for declaring the traffic’s precedence) • Following Pipe • ( Assign the token for specific traffic) 3
Traffic shaping Terminology • Pipe • Is an object for loading up all kinds of traffics. • We can limit the total bandwidth or dynamic balancing bandwidth for First Pipe and Following Pipe respectively. 4
Traffic shaping Terminology • PipeRule • Traffic filter factor • Set up the specific traffic which you want to control. • Pipe Chain • Assign the role to Pipe (First / Following)for bi-direction (Forward chain, Return chain) traffic. • Declare the precedence of First pipe by following way: • Use the default from first pipe • Fixed precedence (0~7) • Use IP DSCP (TOS) • Assign the traffic’s token by Following pipe. 5
Traffic shaping Terminology • First Pipe • The role is assigned by PipeRule • Bandwidth control • Declare the precedence level (0~7) • Following Pipe • The role is assigned by PipeRule • Total bandwidth control • Assign the token for the traffic from First Pipe 6
Traffic shapingFlow chart Two tiers concept Following Pipe First Pipe BW Limitation: 50 kbpsDeclared precedence : 5 Total BW Limitation: 200 kbps Prec 7 : 200 Prec 6 : 200 Prec 5 : 200 Prec 5 : 150 Prec 5 : 200 Prec 5 : 100 Prec 4 : 200 Raw Packet A50 kbps Raw Packet A100 kbps Prec 3 : 200 Buffer Prec 2 : 200 Out Raw Packet A50 kbps Raw Packet A50 kbps (5) Prec 1 : 200 Raw Packet A50 kbps (5) Raw Packet A50 kbps Prec 0 : 200 Total BW : 200 7
Raw Packet A 100 kbps (5) Raw Packet A 100 kbps (0) Traffic shapingFlow chart Two tiers concept Following Pipe First Pipe BW Limitation: No limitationDeclared precedence : 5 Total BW Limitation: 200 kbps Prec 7 : 100 Prec 6 : 100 Prec 5 : 100 Prec 5 : 0 Prec 4 : 100 Raw Packet A200 kbps Raw Packet A200 kbps Prec 3 : 100 Prec 2 : 100 Out Prec 1 : 100 Prec 0 : 200 Prec 0 : 100 Total BW : 200 8
ISP Traffic shapingScenario hands-on 1 Upstream commit rate is500 kilobits/per secDownstreamcommit rate is500 kilobits/per sec1. Insure the HTTP CR to 200 kbps for bi-directiontraffic. (Marking the HTTP traffic to precedence 7 (highest priority) . HTTPdoesn’t utilize the rest of bandwidth.2. Set400 kbpstoprecedence 1for FTP bi-directiontraffic. When the FTP token is running out, the part of overflow have flow to precedence 0 to compete with other services , it’s so-called “utilize remaining bandwidth ”. HTTP/FTP server7.7.7.5 GW:3.3.3.2 Network: 3.3.3.0 /24 11 12 13 14 15 16 17 18 9
Traffic shapingTips1 Step 1 Create the “IP rule” set for specific service you want to control, and then make sure this rule set will be first triggered in all of the IP rules Step 2 Create the Pipe objects for containing each kinds of traffic. Step 3 Create the same rule set we created before in Step 1 under the pipe rule. Step 4 In the tab of traffic shaping, select the desired pipe object respectively for both forward sessions and return sessions along with the chain concept, and then announce the precedence by “Use defaults from first pipe”, “Use Fixed Precedence” or “Map IP DSCP (ToS)” for first pipe object of return chain or forward chain. Step 5 Make sure whether the specific pipe rule will be first triggered in all of the pipe rules. 10
Traffic shapingScenario hands-on 1 Settings-01/12 Changing the WAN1 IP address and subnet mask Set the default gateway on interface on wan1 1 2 12
Traffic shapingScenario hands-on 1 Settings-02/12 3 Add the necessary IP rule sets in IP rules 13
Traffic shapingScenario hands-on 1 Settings-03/12 4 Add a pipe object for inbound FTP traffic, and we don’t have to set anything in the tag of “Pipe limits” 14
Traffic shapingScenario hands-on 1 Settings-04/12 5 Add a pipe object for outbound FTP traffic, and we don’t have to set anything in the tag of “Pipe limits” 15
Traffic shapingScenario hands-on 1 Settings-05/12 6 Add a pipe object for inbound HTTP traffic, and we shall set the total Kbps to limit the HTTP traffic 16
Traffic shapingScenario hands-on 1 Settings-06/12 7 Add a pipe object for outbound HTTP traffic, and we shall set the total Kbps to limit the HTTP traffic 17
Traffic shapingScenario hands-on 1 Settings-07/12 Add a pipe object for:1.marking the total downstream commit rate.2.pointing out the bandwidth for each precedence, in another words, it’s marking out how much token we will give for each precedence level. 8 18
Traffic shapingScenario hands-on 1 Settings-08/12 Add a pipe object for marking the total upstream commit rate and also pointing out the bandwidth for each precedence level. 9 19
Step1 P 1 Traffic shapingScenario hands-on 1 Settings-09/12 Under the Pipe Rule,we have to point out which one target, service and traffic flow shall be applying the Shaper. 10 Outgoing traffic Outgoing FTP service (Forward Chain) which the traffic will flow to the First Pipe-- ftp-out and declare the precedence 1 first, then this traffic will take the token from Following Pipe--total-out. Vice versa for the traffic of Return FTP service. How to read the tab of Traffic Shaping in right page ? Step2 give p1 token 20
Traffic shapingScenario hands-on 1 Settings-10/12 Under the Pipe Rule,we have to point out which one target, service and traffic flow shall be applying the Shaper. 11 21
Traffic shapingScenario hands-on 1 Settings-11/12 Under the Pipe Rule,we shall mark the other services to precedence level “0”, let those services compete with each other under the precedence level zero. 12 22
Traffic shapingScenario hands-on 1 Settings-12/12 13 Below is an overview of pipe rule sets. The theory of operation is the same with the “IP rules”, it also following the rule of “first trigger first go ”. So based on the below rule’s order, you can’t put the pipe index 3 to the index 1 because of the original index 1 won’t be triggered anymore. 23
ISP Traffic shapingScenario hands-on 1 Upstream commit rate is 500 kilobits/per secDownstream commit rate is 500 kilobits/per sec1. Insure the HTTP CR to 200 kbps for bi-direction traffic. (Marking the HTTP traffic to precedence 7 (highest priority) ). HTTP have no Utilizing the rest of bandwidth.2. Setting the 400 kbps in precedence 1 for FTP bi-direction traffic. When the FTP token is running out, the part of overflow can flow to precedence 0 to compete with other services , it’s so-called “utilizing remaining bandwidth ”. HTTP/FTP server7.7.7.5 GW:3.3.3.2 Network: 3.3.3.0 /24 11 12 13 14 15 16 17 18 24
1. Check IP rules Triggered 2. Pipe rules Traffic shapingTraffic flow 1/5-Http-download 25
Traffic shapingTraffic flow 3/5-Http-download Following Pipe CLI 27
Traffic shapingTraffic flow 4/5-Http-downloadThe bandwidth limitation to First pipe First Pipe Following Pipe 28
Traffic shapingTraffic flow 5/5-Http-downloadWe don’t give the limitation to First Pipe First Pipe Following Pipe 29
Traffic shaping-Sum up the traffic flow IP rule pipe ruleset precedence for each service based on 1.use from default first pipe 2. fixed precedence setting 3. Map IP DSCP (TOS) pipe pipe chain (if required) prioritize packets in memory queue packet outgoing Note. the traffic shaper will buffer and delay packets when the speed specified in the pipe is reached. If the buffers get full we remove the longest and the lowest precedence packet when a new packet arrive. 30
TrafficShapingHow to observe the traffic shaping status The relative command: Pipe [pipename] Showing the specific pipe status, in common way we always showing the overall pipe object for checking the status easily. Pipe –users Showing the status of the pipe’s overall usage. 31