Upload
linh
View
43
Download
0
Embed Size (px)
DESCRIPTION
Flow Aware Networking. Queue Model. Table of contents:. Traffic conditioning mechanisms Scheduling mechanisms Is it possible to implement DiffServ congestion solutions into FAN? Fan Router Priority Fair Queuing Priority Deficit Round Robin PFQ vs PDRR What is the future?. - PowerPoint PPT Presentation
Citation preview
Flow Aware Networking
Dominik Najder © 2007 Katedra Telekomunikacji AGH
Flow Aware Networking
Queue Model
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 2/18
Table of contents:
Traffic conditioning mechanisms
Scheduling mechanisms
Is it possible to implement DiffServ congestion solutions into FAN?
Fan Router
Priority Fair Queuing
Priority Deficit Round Robin
PFQ vs PDRR
What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 3/18
Traffic conditioning mechanisms
4 types of operation
The last mechanisms before scheduling
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 4/18
Scheduling mechanisms
Assures differential quality in routing packets assigned to different flows
Different packet types Different quality of service
Many algorithms (FCFS, PS, FQ etc.)
Quality
Selecting which packets should be sent first Selecting which packets may be dropped
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 5/18
Is it possible to implement DiffServ congestion solutions into FAN?
Differences in congestion control ideas:
DiffServ FAN
AC, classifier, traffic conditioner, scheduler blocks Only AC and scheduler blocks – cross protect router
Admission control performed only in edge routers Admission control performed in every router
No information about flows inside router memory – QoS based on information about agregates
Router holds only flow list, without declaration info for traffic class
Domain agent Bandwidth Broker No central agents
No info about network state hold in routers Information based on measurements held in every router
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 6/18
Measurement Based Admission Control (MBAC)
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 7/18
Cross-protect in FAN router
Incoming packets Outgoing packets
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 8/18
Priority Fair Queuing
Modified version of Start-time Fair Queuing
Push-In First-Out queue, each element has timestamp
Active Flow list
Virtual Time counter
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 9/18
SFQ algorithm
Packet arrival:Packet arrival:
1. on arrival of l-byte packet p of flow f:
2. if f is a registered in ActiveList do
3. p.TimeStamp = f.FinishTag
4. f.FinishTag += l
5. else
6. add f to ActiveList
7. p.TimeStamp = VirtualTime
8. f.FinishTag = VirtualTime + l
Packet departure:Packet departure:
1. transmit packets in increasing TimeStamp order
2. at the start of transmission of packet p:
3. VirtualTime = p.TimeStamp
4. for all flows f registered in ActiveList
5. if (f.FinishTag < VirtualTime)
6. remove f
7. if no packets in scheduler VirtualTime = 0
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 10/18
PFQ algorithm
Packet arrival:Packet arrival:1. if PIFO congested, reject packet p at head of longest backlog
2. if f is registered in flow list F
3. if bytes >= MTU
4. p.TimeStamp = f.FinishTag
5. else begin
6. p.TimeStamp = virtual time
7. put behind P, update P
8. f.FinishTag += l
9. else
10. p.TimeStamp = VirtualTime
11. put behind P, update P
12. if flow list is not saturated
13. add flow
14. f.FinishTag = virtual time + l
Main disadvantage:Main disadvantage:
SCALABILTYSCALABILTY
Per packet computational Per packet computational complexity is complexity is O (logQ), where:O (logQ), where:
Q – number of flows server by the Q – number of flows server by the routerrouter
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 11/18
Priority Deficit Round Robin
Based on standard DRR
Per flow f state:
– f.Identier - the flow identifier (possibly a hash of the relevant header fields)
– f.Queue - current length in bytes of flow f queue
– f.Quantum - value of flow f quantum ( >= MTU bytes)
– f.Deficit - current flow deficit
– f.FIFO - addresses of head and tail packets of a linked list forming the flow f FIFO
– f.Next - the next flow in the DRR schedule following flow f
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 12/18
Priority Deficit Round Robin simplified algorithm
Packet Packet enqueueenqueue::1. If no free buffers left then
2. dropPacket();
3. i = ExtractFlow(p);
4. If (i is not registered in AFL)
5. InsertActiveList(i);
6. i.DC = 0;
7. i.ByteCount = size(p);
8. Enqueue(PQ, p)
9. Else
10. i.ByteCount += size(p);
11. If (i.ByteCount <= i.Q) then
12. Enqueue(PQ, p);
13. Else
14.Enqueue(i.Queue, p);
Packet Packet dequeuedequeue::1. While (PQ not empty) do
2. p = Dequeue(PQ); i = ExtractFlow(p);
3. Send(p); i.DC -= Size(p);
4. If (AFL is not empty) then
5. Get head of AFL - flow i;
6. i.DC += i.Q;
7. While ((i.DC >= 0) and (Queue i not empty)) do
8. PacketSize = Size (Head(i.Queue));
9. If (PacketSize <= i.DC) then
10.Send(Dequeue(i.Queue));
11. i.DC -= PacketSize;
12. Else
13.break;
14. RemoveActiveList(i);
15. If (Queue i is not empty) then
16. InsertActiveList(i);
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 13/18
Deficit Round Robin simple example introduction
1200
800
1500
1000
Traffic
Source 1
Traffic
Source 2
Traffic
Source 3
Quantum
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 14/18
Deficit Round Robin simple example, round 1
1200
800
1500
1000
Traffic
Source 1
Traffic
Source 2
Traffic
Source 3
Quantum
Deficit Packet served
1000 No
1000 – 800 = 200 Yes
1000 No
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 15/18
Deficit Round Robin simple example, round 2
1200
800
1500
1000
Traffic
Source 1
Traffic
Source 2
Traffic
Source 3
Quantum
Deficit Packet served
Deficit Packet served
1000 No 2000-1200 = 800 Yes
1000 – 800 = 200 Yes 0 No
1000 No2000–1500 = 500
Yes
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 16/18
PFQ vs PDRR
Which solution is better?
PFQ:PFQ:
-simple
-but higher computational complexity O(logQ) – not well scalable
PDRR:PDRR:
-more complex, bigger amount of data to be held inside router
-computation complexity O(1) – very scalable, main FAN feature over DiffServ
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 17/18
What is the future?
Redesign of IPv6 packet
Minimized header overhead and reduced header process for the majority of packets
Less essential fields removed or moved to extension headers
Traffic class in IPv6= TOS in IPv4
New Flow Label
Traffic conditioning mechanisms| Scheduling mechanisms| DiffServ congestion solutions in FAN| Fan Router| PFQ| PDRR| PFQ vs PDRR| What is the future?
Flow Aware Networking
© 2007 Katedra Telekomunikacji AGHDominik Najder slide 18/18
Thank you