Diff Serv 2002
-
Upload
walied-farghaly -
Category
Documents
-
view
223 -
download
0
Transcript of Diff Serv 2002
-
7/31/2019 Diff Serv 2002
1/37
Aug-121
Cairo University
Faculty of Engineering
Electronics &Communication dpt.
4th year
Linux-basedImplementation Of a
Router
(B.Sc Graduation project)
Supervisor:
Prof. Dr. Khaled Foad El-Sayed.
Submitted by:
Ashraf Kamal Rahoma
Hazem Mohamed Sobhi Hassanein
Hossam El-Sayed Abd Allah
Tarek Amr Hamed
Zein El-Abidin Mohamed WALI
-
7/31/2019 Diff Serv 2002
2/37
Aug-122
Introduction to QoS:
Motivation:
QoS Terminology and Parameters:
Internet Protocol (IP).was designed to provide best-effort
service.
VoIP
FTP
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. Whenheavily utilized networks are carrying various types of traffic
for different users, QoS is a mean of offering better service
-
7/31/2019 Diff Serv 2002
3/37
Aug-123
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)
-
7/31/2019 Diff Serv 2002
4/37
Aug-124
IntServ vs. DiffServ
IntServ overviewData path:
Per-flowclassification
Per-flowbuffermanagement.
Per-flowscheduling
Control path: Install and
maintainper-flow
state for dataand control
planes.
-
7/31/2019 Diff Serv 2002
5/37
Aug-125
RSVP Protocol
-
7/31/2019 Diff Serv 2002
6/37
Aug-126
RSVP Protocol
-
7/31/2019 Diff Serv 2002
7/37
Aug-127
RSVP Protocol
-
7/31/2019 Diff Serv 2002
8/37
Aug-128
RSVP Protocol
-
7/31/2019 Diff Serv 2002
9/37
Aug-129
IntServ vs. DiffServ
Each has its won points of strength
And weakness
-
7/31/2019 Diff Serv 2002
10/37
Aug-1210
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:
-
7/31/2019 Diff Serv 2002
11/37
Aug-1211
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:
-
7/31/2019 Diff Serv 2002
12/37
Aug-1212
ToS VS DSCP
Introduction
Type of service byte definition
-
7/31/2019 Diff Serv 2002
13/37
Aug-1213
Type of service byte definition
-
7/31/2019 Diff Serv 2002
14/37
Aug-1214
Table 2.1: IP precedence bits
Bits (0-2) IP-precedence definition
111 Network control
110 Internetwork control
101 CRITIC/ECP
100 Flash override
011 Flash
101 Immediate
001 Priority
000 routine
Table 2.2: ToS field values
Bits (3-6) ToS field definition
1000 Minimize delay
0100 Maximize throughput
0010 Maximize reliability
0001 Minimize monetary cost0000 Normal service
-
7/31/2019 Diff Serv 2002
15/37
Aug-1215
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.
-
7/31/2019 Diff Serv 2002
16/37
Aug-1216
Differentiated services field definition
-
7/31/2019 Diff Serv 2002
17/37
Aug-12 17
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 PHBs
Currently there are 4 standard different per
hop behaviors PHBs:
Default PHBClass-Selector PHB.
Assured Forwarding (AFny) PHB.
Expedited Forwarding (EF) PHB.
-
7/31/2019 Diff Serv 2002
18/37
Aug-12 18
ame DSCP (Hex) Description
Default PHB 000000 0x0h Best Effort (BE)
111000 0x38h Network Control
110000 0x30h Inter-netwrok Control101000 0x28h CRITIC/ECP
100000 0x20h Flash override
011000 0x18h Flash
101000 0x28h Immediate
Class-selectorHBs
xxx000
001000 0x8h Priority
xpeditedorwarding
F
101110 0xB8hLow-loss, low-latency,low-jitter and assured
bandwidth
010 0x28h Low dP
100 0x30h medium dP
AF1y
001
110 0x38h high dP
010 0x48h low dP
100 0x50h medium dPAF2y010
110 0x58h high dP
010 0x68h low dP
100 0x70h medium dPAF3y
011110 0x78h high dP
010 0x88h low dP
100 0x90h medium dP
ssured
orwardingF
AF4y
100110 0x98h high dP
-
7/31/2019 Diff Serv 2002
19/37
Aug-12 19
DiffServ Support under Linux
Linux Traffic Control Overview
-
7/31/2019 Diff Serv 2002
20/37
Aug-12 20
Linux Traffic ControllerSyntax:
tc [OPTIONS] OBJECT {COMMAND | help}
Where OBJECT: = {qdisc | class | filter}
OPTIONS: = {-s [tatistics] | -d [etails] | -r [aw]}
Queueing disciplines1.DSMARK2.CBQ3.TBF4.p/bFIFO5.PRIO6.RED7.GRED8.Ingress
Classes1.DSMARK2.CBQ
filters (or classifier)1.U322.TCINDEX3.ROUTE4.
FIREWALL
Police
-
7/31/2019 Diff Serv 2002
21/37
Aug-12 21
Implementation and Code
TC Implementation
Note: In this drawing only one AF class is shown for the simplicity of the
-
7/31/2019 Diff Serv 2002
22/37
Aug-12 22
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 precedences (RED)
Bandwidth assurance,RED:
No bandwidth guarantee.
No quality of service: No policing filters, no
shaping.
-
7/31/2019 Diff Serv 2002
23/37
Aug-12 23
Traffic Classes
Variables:
Setting Functions:
Constructor.Destructor
Set Device
Set Network
Set Rates
Set PHBs
Set Police
Set ToS
-
7/31/2019 Diff Serv 2002
24/37
Aug-12 24
Infra-structure Functions:
t_start( ) t_reset( )
Make_phb( )
make_EF( )
make_AF( )
make_BE( )
make_Subfilter( )
make_marker( )
Filtering Functions:
Make Filter
Get Command
-
7/31/2019 Diff Serv 2002
25/37
Aug-12 25
Software implementation
Architecture Overview.
Graphical User Interface (GUI).
System programming.
-
7/31/2019 Diff Serv 2002
26/37
Aug-12 26
using C++ Classes
Architecture Overview
To ensure encapsulation & independence
To control the communication & error
tracing
To give the ability to change or
update any specific parts.
-
7/31/2019 Diff Serv 2002
27/37
Aug-12 27
using C++ Classes
Architecture Overview
-
7/31/2019 Diff Serv 2002
28/37
Aug-12 28
Detailed view
-
7/31/2019 Diff Serv 2002
29/37
Aug-12 29
Communication between Classes
TrafficClass
l nc t h
t l ic in
Apply_phb()Set_device()
Set_network()
Set_Rates()
Apply_advanced() Set_phb()Set_policing()
Set_tos()
Apply_filter() make_filter()
DiffServClass
l nc t h
t l ic in
-
7/31/2019 Diff Serv 2002
30/37
Aug-12 30
GUI tabs
PHB configuration tab
-
7/31/2019 Diff Serv 2002
31/37
Aug-12 31
Advanced PHB
-
7/31/2019 Diff Serv 2002
32/37
Aug-12 32
Filter Setup Tab
-
7/31/2019 Diff Serv 2002
33/37
Aug-12 33
Summary view Tab
-
7/31/2019 Diff Serv 2002
34/37
Aug-12 34
TC Experts Tab
-
7/31/2019 Diff Serv 2002
35/37
Aug-12 35
4.4 Testing:
Description PC1 DiffServ Router PC2
Platform Linux Linux Windows XP
Speed PIII 1000 MHZ PIII 850 MHZ PIII 600 MHZ
Running s/w Traffic Generator( TG)
DiffServ S/WTraffic Monitoring(CommView)
eth0Ethernetcards
eth0eth1
eth0
-
7/31/2019 Diff Serv 2002
36/37
Aug-12 36
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. PHBs Implementation: Monitoring different ratesassigned to each class
-
7/31/2019 Diff Serv 2002
37/37
Aug 12 37
Than You !