Rule-based Modular Representation of QoS Policies)
Networking Architecture Workshop 2000-2-3
QoS
QoS
•
•
IntServDiffServ (IETF)
• Integrated services (IntServ)
• QoS
• !"
• Differentiated services (DiffServ)
• QoS
• #"$—%&'()*"+,-.
Networking Architecture Workshop 2000-2-3
DiffServ
QoS
• QoS !"#$%&
QoS()
- !"#$%& !"#$%& !"#$%& !"#$%&
• SNMP
• COPS
• API
(CORBA IIOP)
• CLI ('()*)
DiffServ Domain Deploying rules
with MF classifiers
Deploying rules with BA classifiers Policy Server
Application request Operator
command
Networking Architecture Workshop 2000-2-3
-
'()*'()*'()*'()*
• SNMP:
+,-get/set./&
• API:0123.4./&
• 56789:;
( 56:;).
+,-. )*+,-. )*+,-. )*+,-. )*
• 0<=>:?@AB;&
• CD'./AEFG#HI JK!LM4H?@AB;&
• NOPQRS!"
#LMTUV?@:$%
• /)012345 6789-:6;<$=!">
(COPS""?)
Syntactic and semantic gap
SNMP & MIB
COPS
& PIB
API (IIOP) Policy rules
Network nodes (routers, switches, …) Policy server
Networking Architecture Workshop 2000-2-3
!"
!"
!"
!" : #$% &'(&)* #$% &'(&)* #$% &'(&)* #$% &'(&)*
/0123/0123/0123/0123?
• 5WXLMYZ[\]:)*.HJ&
/04567863/04567863/04567863/04567863?
• ^_` ECDaaA[b&
• ()@AB6CDE(FE)45 GH I>
• BJKLM3NIIOGH-*/PQRS*!TI>
/09:;3/09:;3/09:;3/09:;3?
• ^Ecd_`CDae.HJ&
• f)*Egh`i` ejkS)*(OPS5, Nexpert Objectl)#mn4o;b&
Networking Architecture Workshop 2000-2-3
#$% )*+,
#$% )*+,
#$% )*+,
#$% )*+,
12'<=12'<=12'<=12'<=
• pDcd(building block rules)
• UVW&XYZ[\]IO^_N+&X>
• qr_
• Y!`a>
>?7;@/3>?7;@/3>?7;@/3>?7;@/3?
• DSCP2st(DSCP = DiffServ code point)&
• qr_1Euv&
• DSCPb66445—cde!
• qr_Eiwx#E;&
• fgh6()@ABi45 j=]>
• fgh6Bi 6C)k*,l*5m=]nI6op.
*5m=]>
Building block rule
Building block rule Linking
label Building block
rule
Networking Architecture Workshop 2000-2-3
DiffServ -./01 -./01 -./01 -./01
yz`
{|}~
|}~
yz`
{|}~
|}~
Line Line
{|/|B}~
Matcher Policer Marker Scheduler
pD q nI6 rsPA/tu
Networking Architecture Workshop 2000-2-3
+234,5 +234,5 +234,5
+234,5 : 6#$7 6#$7 6#$7 6#$7
Matching9:9:9:9:
• Dm!"cd&
• : if (Source_ip == 192.168.1.*) …;
Policing9:9:9:9:(Metering9:9:9:9:)
• ^a( )!"cd&
• : if (Average_rate <= 1Mbps) …;
Marking9:9:9:9:
• DSCPHBfZ!"cd&
• : if (…) DSCP = 46;
Discarding9:9:9:9:
• iw !"cd&
• : if (…) discard_all;
Scheduling9:9:9:9:
• zya/`wa!"cd&
• : if (…) queue_priority = 6;
Networking Architecture Workshop 2000-2-3
#$% )*8+
#$% )*8+
#$% )*8+
#$% )*8+
9:A9:A9:A9:A(BCDE/FGBCDE/FGBCDE/FGBCDE/FG)
• if (Source_ip == 192.168.1.*) { if (Average_rate <= 1Mbps) {
DSCP = 46; // EF queue_priority = 6;
} else {
discard_all;
};
};
Networking Architecture Workshop 2000-2-3
#$% )*8+
#$% )*8+
#$% )*8+
#$% )*8+ ( 19: 19: 19: 19: )
H12IFGAH12IFGAH12IFGAH12IFGA
• Matchingcd
• if (Source_ip == 192.168.1.*) Label = s1;
• Policingcd
• if (Label == s1 && Average_rate <= 1Mbps) Label = s1_conformant;
if (Label == s1 && Average_rate > 1Mbps) Label = s1_non_conformant;
• Markingcd
• if (Label == s1_conformant) { DSCP = 46; Label = s1_EF; };
• Discardingcd
• if (Label == s1_non_conformant) discard_all;
• Schedulingcd
• if (Label == s1_EF) queue_priority = 6;
Networking Architecture Workshop 2000-2-3
#$% )*8+
#$% )*8+
#$% )*8+
#$% )*8+ ( 19: 19: 19: 19: )
JKLM9:@NOPQJKLM9:@NOPQJKLM9:@NOPQJKLM9:@NOPQ?
• 4oZbXKlA;fX:\Hb&
Policing: Classification:
else ?
source_net_1 source_net_1_conformant
source_net_1_nonconformant Discarding:
drop_all_packets
Scheduling: queue_priority = 6;
or Source_IP ==
192.168.0.1 ?
Information_rate
<= 2Mbps ?
Marking: DSCP = 46
source_net_1_EF
Networking Architecture Workshop 2000-2-3
;<=
;<=
;<=
;<= / API >?6#$ >?6#$ >?6#$ >?6#$
H9:;12@RS%&TUVWH9:;12@RS%&TUVWH9:;12@RS%&TUVWH9:;12@RS%&TUVW
• SNMP (MIBS)
• PIB (PIBS)
• API (0123.4S)
X5 !Y45MZX5 !Y45MZX5 !Y45MZX5 !Y45MZMIB/PIB
• 46th IETF#(199911)
• )v: draft-kanada-diffserv-qospifmib-00.txt
• wxWG/BOF yz:
– RAP WG (Resource Allocation Protocol WG) – CFGMGMT BOF (Configuration Management BOF) – Diffserv WG —{|45
Networking Architecture Workshop 2000-2-3
@) @) @)
@)
DiffServ[/\]9:@9:;12I[/\]9:@9:;12I[/\]9:@9:;12I[/\]9:@9:;12I
^_FGW`
^_FGW`
^_FGW`
^_FGW`
• 5mpDcd:
matching, policing, marking, discarding, scheduling&
• qr_&
X5 abcYd- e@X5 abcYd- e@X5 abcYd- e@X5 abcYd- e@DiffServfghi/j`fghi/j`fghi/j`fghi/j`
• QoS #tS&
• pNO#tS(CDaaNO).
klmnklmnklmnklmn
• cd_`)*X ¡(COPSx)
• }~GR2000,a.