1
Traffic Management
2
Traffic Management
• Congestion Overview
– Congestion can occur anytime the amount of data that needs to be transmitted by a particular media exceeds the bandwidth of that media.
– Congestion anywhere in the path results in delays for user applications
– Periodic congestion often occurs due to the busty nature of today’s network applications and some temporary congestion is to be expected in each network. Continual congestion or slowness is not normal and the causes should be determined.
3
Traffic Management
• Traffic in an IP Network
– Data: Examples are
• File transfer: FTP and TFTP protocols
• e-mail: SMTP protocol
– Overhead: Examples are
• Routing protocol updates
• Broadcast requests, such as for a Domain Name Server (DNS)
• The use of Address Resolution Protocol (ARP) to resolve logical-to-physical addressing issues.
• Traffic Congestion is Caused by the Following:
– Bursts of user application traffic
– Multicast and broadcast traffic
– Over-utilized low bandwidth links
– Network design issues
4
Traffic Management
• Network Congestion Can be Controlled in the Router Through the Use of:
– Adjusting timers on periodic announcements
• To lengthen the interval between the broadcast by adjusting timers reduces the overall traffic load on the link.
– Providing static entries in routing tables.
• The use of static entries in a routing table can obviate the need to dynamically advertise network routes across that link. This technique is very effective for serial lines.
– Applying standard access lists
• Standard access lists usually filter traffic based upon source addressing characteristics. It can prevent irrelevant traffic from reaching critical links.
– Priority and queues
• Reorder application traffic flowing across a serial link in a priority queue so that all traffic of a particular type gets through first, or in a queue where traffic gets a certain percentage of the bandwidth.
5
Traffic Management
• Access List
– An access list is a series of rules that control the traffic that flows into or out of an interface of a router. An access list is a sequential collection of permits and deny conditions that apply to IP addresses.
– The router tests addresses against the conditions in an access list one by one.
– The first match determines whether the router accept or rejects the address.
– Because the router stops testing conditions after the first match, the order of the conditions is critical.
– If no condition match, the router reject the address.
6
Traffic Management
Incoming packet Access list?
Does source address match?
More entries? Apply condition
Deny Permit Route to interface and forward packet
Next entry in list
Yes
Yes
Yes
No
No
Issue ICMP Host Unreachable
Message
No
Note: For inbound access lists, after receiving a packet, the router checks the source address of the packet against the access listIf the access list permits the address, the router continues to process the packet. If the access list rejects the address, the router discards the packet and returns an ICMP Host Unreachable message.
Inbound Access List Processing
7
Traffic Management
• The syntax of an entry in a standard access list (CISCO IOS)
#access-list number action source
The parameters are:
number: A number between 1 and 99, identifying the list for future reference
action: The keyword permit or deny, indicating whether to allow or block the packet
source: The packet’s source address
The following table shows three ways to specify the source
addresses. In most cases, the address/mask pairs is used to specify
blocks of addresses.
Source Syntax Example Explanation
address mask 192.168.2.0 0.0.0.255 Describes a block of IP address. The mask is used as a wildcard; a one(1) in the mask indicates that we “do not care” about the corresponding bit in the address. A zero (0) in the mask means that the corresponding bit must match exactly. This example specifies address from 192.168.2.0 to 192.168.2.255. That is, the wildcard mask says that we ignore the last byte of the address when figuring out whether an address matches
host address host 192.168.2.1 The given address must be matched exactly.
any any any IP address will match.
8
Traffic Management
• Examples of Access List Processing– Example 1
#access-list 1 deny 10.10.1.0 0.0.0.255#access-list 1 deny 10.10.2.0 0.0.0.255#access-list 1 permit anyNote:
The router processes each line in order until it finds a match. Therefore, if a packet arrives from 10.10.2.13, it matches the second rule in the list and so is denied.
– Example 2#access-list 1 permit any#access-list 1 deny 10.10.1.0 0.0.0.255
#access-list 1 deny 10.10.2.0 0.0.0.255Note:
The first line permits all traffic because all incoming packets match it. The second and third lines are never used. Therefore, access lists must be ordered carefully.
Traffic Management
Traffic Management is concerned with delivery of QoS to the end user and with efficient use of network resources.
Based on traffic granularity traffic management is classified into three levels:-
• Packet level
• Flow level
• Flow aggregated level
9
Traffic management at Packet level
10
11
Traffic Management
• FIFO (first in, first out)– The first packet received is the first to be sent out– Delay and loss experienced by packets in FIFO queuing system depends
on packet interarrival times and on packet length– The main problem with FIFO is that it does not separate packets
according to the queue to which they belong. Application, such as telephony, could flood the routers with its own packets, thereby causing other application’s packets to be discarded.
• Priority queuing – A very stringent algorithm that can cause one type of traffic to
monopolize available bandwidth, because as long as there are high-priority packets in the queue, they’ll be processed first. Other traffic is processed only when there’s available bandwidth left over from high-priority traffic.
• Fair queuing– Share equally with all traffic but gives low volume traffic higher
priority. Instead of assigning priorities to each packet, this algorithm tracks the session that a packet belongs to. There is no queue list to configure or apply to the interface.
– Three different systems• Ideal fluid flow fair queuing system• Packet-by packet fair queuing system• Packet-by-packet weighted fair queuing system
12
Traffic Management
• Quality of Service (QoS)
– A set of metrics used to measure the quality of transmission and service available of any given transmission system.
– A guaranteed throughput level for critical network application. QoS parameters are used in traffic engineering to state the level of loss (inverse of throughput), latency, and jitter that a traffic stream will be guaranteed in a network.
• Queue:
– Broadly, any list of elements arranged in an orderly fashion and ready for processing.
– In routing, it refers to a backlog of information packets waiting in line to be transmitted over a router interface.
13
Packet buffer
Transmission link
Arrivingpackets
Packet discardwhen full
Packet buffer
Transmissionlink
Arrivingpackets
Class 1 discardwhen full
Class 2discardwhen thresholdexceeded
(a)
(b)
Figure 7.41 (a) FIFO queuing; (b) FIFO queuing with discard priority
14
Transmission link
Packet discardwhen full
High-prioritypackets
Low-prioritypackets
Packet discardwhen full
When high-priorityqueue empty
Figure 7.42 Head-of-line (HOL) priority queueing
15
Sorted packet buffer
Transmissionlink
Arrivingpackets
Packet discardwhen full
Taggingunit
Figure 7.43 Sorting packets according to priority tag
16
Traffic Management
• Ideal fluid flow fair queuing system– Transmission bandwidth is divided equally among all nonempty
queues. (For example, if the total number of flows in the system is n and the transmission capacity is C, then each flow is guaranteed at least C/n (bits/second)
– One approach could be to service each nonempty queue one bit at a time in round-robin fashion
17
Transmission link
Packet flow 1
Packet flow 2
Packet flow n
C bits/second
Approximatedbit-levelround robinservice
Figure 7.44 Ideal fluid flow system
18
Traffic Management
• Packet-by-packet fair queueing system– One approach could be to service each nonempty queue one
packet at a time in round-robin fashion.
• This approach is not really fair. For example, if the packets of one flow are twice the size of packets in another flow, then in the long run the first flow will obtain twice the bandwidth of the second flow.
– A better approach is based on finish tag concept. The goal of this approach is to to have each packet’s completion time approximate that of a ideal fluid flow fair queuing system
• Each time a packet arrives at a queue, the completion time of the packet is derived from an ideal fluid flow fair queuing system. The number is used as a finish tag for the packet.
• Each time the transmission of a packet is complete. The next packet to be transmit is the one with smallest finish tag among all of the queues.
19
Queue 1@ t=0
Queue 2@ t=0
1
t1 2
Ideal fluid flow system:both packets served at rate 1/2
Both packetscomplete serviceat t=2
0
1
t1 2
Packet-by-packet queueing system:queue 1 served first at rate 1;then queue 2 served at rate 1.
Packet from queue 2being served
Packet fromqueue 1 beingserved
Packet fromqueue 2 waiting
0
Figure 7.45 Ideal fluid flow system and packet-by-packet fair queuing system
(two packets of equal length)
20
Traffic Management
• Round (in terms of ideal fluid flow fair queuing system)– A round consists of a cycle in which all n queues are offered
service, one bit at a time
– The actual duration of a given round is the actual number of queues nactive (t) that have information to transmit.
• When the number of active queues is large, the duration of a round is large
• When the number of active queue is small, the duration of a round is small
– Round is in unit of bit
21
Traffic Management
• Meaning of the equation dR(t)/dt = C/nactive(t)– Given a ideal fluid flow fair queuing system, and given the fact
that the system started at t = 0
– Let R(t) be the number of the rounds at time t, that is, the number of cycles of services to all n queues. Assuming R(t) is a continuous function, then
dR(t)/dt = C/nactive(t)
– Interpretation of the equation above
• For a given duration and number of active queues, the higher the transmission capacity in bits/second, the more rounds can be completed.
• For a given duration and transmission capacity, more active queues means less round can be completed.
22
Rounds Generalize so R(t) is continuous, not discrete
R(t) grows at rate inverselyproportional to nactive(t)
Figure 7.46 Computing the finishing time in packet-by-packet fair queueing and weighted fair queueing
23
Traffic Management
• Packet-by-packet weighted fair queuing system– Because different users have different requirements, each user
flow has a weight that determines its relative share of the bandwidth.
24
Queue 1@ t=0
Queue 2@ t=0
2
1
t3
Ideal fluid flow system:both packets served at rate 1/2
Packet from queues served at rate 1
0
2
1
t1 2
Packet-by-packet fair queueing:queue 2 served at rate 1
Packet fromqueue 1 beingserved at rate 1
Packet fromqueue 2 waiting
0 3
Figure 7.47 Ideal fluid flow system and packet-by-packet fair queuing system
(two packets of different lengths)
25
Queue 1@ t=0
Queue 2@ t=0
1
t1 2
Ideal fluid flow system:packet from queue 1served at rate 1/4;
Packet from queue 1 served at rate 1
Packet from queue 2served at rate 3/4 0
1
t1 2
Packet-by-packet weighted fair queueing:queue 2 served first at rate 1;then queue 1 served at rate 1.
Packet from queue 1being servedPacket from
queue 2 beingserved
Packet fromqueue 1 waiting
0
Figure 7.48 Ideal fluid flow system and Packet-by-packet weighted fair queuing system
26
Traffic Management
• Calculation of finish tags– Notation
• k: k-th packet• i: i-th flow• C: Capacity in bits/second• P(i,k): length of k-th packet from i-th flow in bits• R(t): the number of rounds at time t in bits• F(i,k): finish tag of k-th packet for i-th flow
– Case 1 Empty queue: Suppose that k-th packet from flow i arrives at an empty queue at time tk
i and suppose that the packet has length P(i,k), then
F(i,k) = R(tki )+ P(i,k)
finish tag bits completed at time tki packet length in bits
27
Traffic Management
• Calculation of finish tags
– Case 2 Non-empty queue: Suppose that k-th packet from flow i arrives at an non-empty queue at time tk
i and suppose that the packet has length P(i,k), then
F(i,k) = F(i, k-1) + P(i,k)
finish tag finish tag of the previous packet in queue packet length in bits
– General case for packet-by-packet fair queueing system
F(i,k) = max {F(i, k-1), R(tki) } + P(i,k)
28
Traffic Management
• Calculation of finish tags– General case for packet-by-packet weighted fair queueing system
F(i,k) = max {F(i, k-1), R(tki) } + P(i,k)/wi
where wi is the weight of i-th flow
29
Traffic Management
• Example ( Chapter 7 problem 51)
Problem statement: consider a packet-by-packet fair queuing system with three logical queues and with service rate of one unit per second. Show the sequence of transmission for this system for the following packet arrival pattern.
Queue 1: arrival at time t = 0, length 2; arrival at t = 4, length 1;
Queue 2: arrival at time t = 1, length 3; arrival at t = 2, length 1.
Queue 3: arrival at time t = 3, length 5.
30
Traffic Management
Queue Packets’ arrival time and length
F(queue number, packet number) Order of transmission
Queue 1 Packet 1: t = 0, L = 2
Packet 2: t = 4, L = 1
F(1,1) = R(0) + 2 = 0 + 2 = 2
F(1,2) = max{F(1,1), R(4)} + 1 =
Max {2, 4} + 1 = 4 +1 = 5
1
4
Queue 2 Packet 1: t = 1, L = 3
Packet 2: t = 2, L = 1
F(2,1) = R(1) + 3 = 1 + 3 = 4
F(2,2) = max {F(2,1),R(2)} + 1 =
Max (4,2} + 1 = 5
2
3
Queue 3 Packet 1: t = 3, L = 5
F(3,1) = R(3) + 5 = = 3+ 5 = 8 5
Recommended