QoS Terminology and Parameters

Download Report

Transcript QoS Terminology and Parameters

Cairo University
Faculty of Engineering
Electronics &Communication dpt.
4th year
Linux-based
Implementation Of a
Router
Supervisor:
Prof. Dr. Khaled Foad El-Sayed.
Submitted by:
Ashraf Kamal Rahoma
(B.Sc Graduation project)
Hazem Mohamed Sobhi Hassanein
Hossam El-Sayed Abd Allah
Tarek Amr Hamed
Zein El-Abidin Mohamed WALI
Apr-16
1
Introduction to QoS:
Motivation:
Internet Protocol (IP).was designed to provide best-effort
service.
•
VoIP
•
FTP
QoS Terminology and Parameters:
QOS: Quality of Service (QoS) implies the ability to
differentiate traffic streams and to define a level of
performance for those traffic streams across a network. When
heavily utilized networks are carrying various types of traffic
for different users, QoS is a mean of offering better service
Apr-16
2
Parameters
1. Latency
the delay a flow experiences when passing through a device
2. Jitter
the latency variations
3. loss probability
bandwidth distribution and availability (throughput or
goodput)
Apr-16
3
IntServ vs. DiffServ
IntServ overview
Data path:
 Per-flow
classification
 Per-flow
buffer
management
.
 Per-flow
scheduling
Control path:
 Install and
maintain
per-flow
state for data
and control
planes.
Apr-16
4
RSVP Protocol
Apr-16
5
RSVP Protocol
Apr-16
6
RSVP Protocol
Apr-16
7
RSVP Protocol
Apr-16
8
IntServ vs. DiffServ
Each has its won points of strength
And weakness
Apr-16
9
DiffServ Architecture
DiffServ Architectural Model
Differentiated Services Domain
DS Boundary Nodes and Interior Nodes:
DS Ingress Node and Egress Node:
Differentiated Services Region:
Traffic Classification and Conditioning:
Classifiers:
Traffic Profiles:
Traffic Conditioners:
Apr-16
10
Meters:
Markers:
Shapers:
Droppers:
Location of Traffic Conditioners and MF Classifiers:
Within the Source Domain:
At the Boundary of a DS Domain:
In non-DS-Capable Domains:
In Interior DS Nodes:
Apr-16
11
ToS VS DSCP
Introduction
Type of service byte definition
Apr-16
12
Type of service byte definition
Apr-16
13
Table 2.1: IP precedence bits
Bits (0-2)
111
110
101
100
011
101
001
000
IP-precedence definition
Network control
Internetwork control
CRITIC/ECP
Flash override
Flash
Immediate
Priority
routine
Table 2.2: ToS field values
Bits (3-6)
1000
0100
0010
0001
0000
Apr-16
ToS field definition
Minimize delay
Maximize throughput
Maximize reliability
Minimize monetary cost
Normal service
14
Disadvantages of ToS
•The IP-precedence scheme allows only specification of
relative priority of a packet. it has no provisions to specify
different drop precedence for packets of a certain priority.
•The 3 bits restrict the number of possible priority classes to 8
•The ToS mechanism is not powerful enough to allow an
application to quantify the level of service it desires.
Apr-16
15
Differentiated services field definition
Apr-16
16
Per Hop Behavior PHB
A per-hop behavior (PHB) is a description of the externally
observable forwarding behavior of a DS node applied to a
particular DS behavior aggregate (BA).
Different PHB’s
Currently there are 4 standard different per
hop behaviors PHB’s:
Default PHB
Class-Selector PHB.
Assured Forwarding (AFny) PHB.
Expedited Forwarding (EF) PHB.
Apr-16
17
Name
DSCP
(Hex)
Description
Default PHB
000000
0x0h
Best Effort (BE)
111000
110000
101000
100000
011000
101000
001000
0x38h
0x30h
0x28h
0x20h
0x18h
0x28h
0x8h
101110
0xB8h
Network Control
Inter-netwrok Control
CRITIC/ECP
Flash override
Flash
Immediate
Priority
Low-loss,
low-latency,
low-jitter and assured
bandwidth
Low dP
medium dP
high dP
low dP
medium dP
high dP
low dP
medium dP
high dP
low dP
medium dP
high dP
Class-selector
PHBs
’xxx000’
Expedited
Forwarding
EF
AF1y
001
Assured
Forwarding
AF
AF2y
010
AF3y
011
AF4y
100
Apr-16
010
100
110
010
100
110
010
100
110
010
100
110
18
0x28h
0x30h
0x38h
0x48h
0x50h
0x58h
0x68h
0x70h
0x78h
0x88h
0x90h
0x98h
DiffServ Support under Linux
Linux Traffic Control Overview
Apr-16
19
Linux Traffic Controller
Syntax:
tc [OPTIONS] OBJECT {COMMAND | help}
Where OBJECT: = {qdisc | class | filter}
OPTIONS: = {-s [tatistics] | -d [etails] | -r [aw]}
Apr-16
 Queueing disciplines
1. DSMARK
2. CBQ
3. TBF
4. p/bFIFO
5. PRIO
6. RED
7. GRED
8. Ingress
 Classes
1. DSMARK
2. CBQ
 filters (or classifier)
1. U32
2. TCINDEX
3. ROUTE
4. FIREWALL
20
 Police
Implementation and Code
TC Implementation
Apr-16
21
Note: In this drawing only one AF class is shown for the simplicity of the
drawing, the other ones are just the same.
DSMARK
CBQ
pFIFO:
Low queuing delay (latency).
Well defined minimum departure rate, i.e. independent of
the other traffic at the node.
No burst. (policing).
4 CBQ:
Four AF classes with different fractions of the bandwidth
allocated for each.
In each one we have three dropping precedence’s (RED)
Bandwidth assurance,
RED:
No bandwidth guarantee.
No quality of service: No policing filters, no
shaping.
Apr-16
22
Traffic Classes
Variables:
Setting Functions:
Constructor.
Destructor
Set Device
Set Network
Set Rates
Set PHB’s
Set Police
Set ToS
Apr-16
23
Infra-structure Functions:
t_reset( )
t_start( )
make_marker( )
Make_phb( )
make_BE( )
make_EF( )
make_Subfilter( )
make_AF( )
Filtering Functions:
Make Filter
Get Command
Apr-16
24
Software implementation
Architecture Overview.
Graphical User Interface (GUI).
System programming.
Apr-16
25
Architecture Overview
using C++ Classes
To ensure encapsulation & independence
To control the communication & error
tracing
To give the ability to change or
update any specific parts.
Apr-16
26
Architecture Overview
using C++ Classes
Apr-16
27
Detailed view
Apr-16
28
Communication between Classes
Apply_phb()
DiffServ
Class
A pp ly _advanced()
Apr-16
Set_device()
Set_network()
Set_Rates()
Apply_advanced()
Set_phb()
Set_policing()
Set_tos()
Apply_filter()
make_filter()
Set_phb ()
Set_ polici ng()
Traffic
Class
A pp ly _advanced()
29
Set_phb ()
Set_ polici ng()
GUI tabs
PHB configuration tab
Apr-16
30
Advanced PHB
Apr-16
31
Filter Setup Tab
Apr-16
32
Summary view Tab
Apr-16
33
TC Experts Tab
Apr-16
34
4.4 Testing:
Description PC1
DiffServ Router
PC2
Platform
Linux
Speed
PIII –1000 MHZ
Running s/w Traffic Generator
( TG)
Ethernet
eth0
cards
Linux
PIII –850 MHZ
Windows XP
PIII –600 MHZ
Traffic Monitoring
(CommView)
Apr-16
DiffServ S/W
eth0
eth1
35
eth0
4.5 Testing procedure
We have performed testing on 3 basic levels:
1. Marking: Testing if packets were marked according to
specified classification.
2. ToS: Testing if the classification according to ToS and
monitoring packets flow were mapped to the required
PHB
3. PHB’s Implementation: Monitoring different rates
assigned to each class
Apr-16
36
Than You !
Apr-16
37