InternetWeek99 QoS DiffServ kjc@csl.sony.co.jp DiffServ DiffServ DiffServ DiffServ
IP: TCP: QoS 90 QoS IP IP IP
QoS QoS (admission control) (classifier) (shaping)(policing) (packet scheduler)
(signaling)
IP src_addr, dst_addr, src_port, dst_port, proto TOS Priority Queueing WFQ (Weighted Fair Queueing) CBQ (Class-Based Queueing) Drop-Tail/Drop-Head/Drop-Random RED (Random Early Detection)
Priority Queueing priority queues packet classifier priority scheduler WFQ (Weighted Fair Queueing) per-flow queues packet classifier packet scheduler
Link 100% agency X 70% agency Y 30% ftp 40% telnet 30% ftp 20% telnet 10% class 0 class 1 class 3 class 4 pri: 2 pri: 3 pri: 2 pri: 3 CBQ (Class-Based Queueing) (set overlimit) packet default class estimator classifier class 1 packet scheduler (weighted-round robin) class 2
RED (Random Early Detection) TCP ECN (Explicit Congestion Notification) RED Penalty-box RED 1.0 Packet Drop Probability mark prob 0 0 min thresh max thresh Average Queue Size
ARPA o u
Queueing Delay 0 0 Load 1.0 Parekh
Parekh s Model WFQ sender WFQ WFQ WFQ receiver token backet Parekh + + D i b i g i (h - 1) l i g i i h m=1 l max r m D i b i g i h i l i r m delay bound for flow i token bucket size for flow i weighted rate for flow i hop count for flow i max packet length for flow i bandwidth at hop m
QoS ISDN ATM (Broadband ISDN) IntServ DiffServ ATM VC CBR, UBR, VBR,...
ATM ATM ATM
TOS (1) IPv4 4-bit version 4bit header length 8-bit time to live (TTL) 8-bit type of service (TOS) 16-bit identification 8-bit protocol 3-bit flags 32-bit source IP address 32-bit source IP address 16-bit total length (in bytes) 13-bit fragment offset 16-bit header checksum options (if any) data TOS (2) IP precedence (3bits) 0-7 TOS (4bits) precedence low delay throughput reliability min cost
TOS (3) precedence: telnet: Diffserv TOS IntServ/RSVP QoS 89 IETF 94 IntServ IntServ QoS RSVP (ReSerVation Protocol) IntServ IntServ
IntServ Guaranteed QoS control QoS Controlled-Load LAN App WAN TCP [ r, b, p, m, M ] r: rate Token Buffer b: bucket size Data Packet Data Buffer p: peak rate m: min policed unit M: max packet size
RSVP IntServ RSVP
DiffServ ISP IntServ/RSVP ISP TOS QoS QoS QoS
QoS QoS control best effort intserv QoS QoS DiffServ QoS provisioning control control best effort intserv best effort diffserv intserv
DiffServ QoS (CoS: Class of Service) TOS PHB (Per-Hop Behavior) DS QoS (CoS: Class of Service) QoS: QoS: QoS QoS
TOS DS 6 DSCP (DiffServ Code Point) DS 64 DS DSCP
DiffServe CodePoint TOSDS 2 ECN IPv6 Traffic Class precedence low delay throughput reliability min cost DS Field (differentiated services field) (currently unused) PHB (Per-Hop Behavior) DSCP
PHB DSCP PHB 64 DSCP PHB Default PHB DSCP in packet PHB 1 PHB 2 64 entry lookup table DS DS DSCP DS DSCP DS
DS ISP ISP DiffServ TOS TOS DS DiffServ IntServ/RSVP DiffServ RSVP
DiffServ (1) static DiffServ (2) forwarding behavior BA DiffServ
DSCP (behavior aggregate) DSCP PHB DS DS DS PHB DSCP ISP
DS (2) ISP A ISP B C SLA E B B SLA C SLA E B C: customer E: edge node B: border node DS DS DSCP PHB DSCP
DS Diffserv IETF 1997/08 Munich IETF Int-serv WG Diff-serv BOF Premium Service Model Drop precedence Model Cisco s CoS 1998/03 IETF Diff-serv WG ISP
Premium Service Model EF PHB V. Jacobson (LBL) 10 ATM CBR Drop precedence Model AF PHB D. Clark (MIT) RIO (RED with IN and OUT) RED RIO
RIO (RED with In and Out) IN/OUT IN OUT RED OUT 1.0 Packet Drop Probability mark prob OUT IN 0 0 OUTmin OUTmax INmin Average Queue Size INmax Cisco s CoS Class Selector PHB F. Baker (Cisco) Cisco IP Precedence WRED (Weighted RED): 7 RIO
IETF DiffServ DS (RFC1394 ) IPv4 TOS IPv6 Traffic Class PHB SLA (Serviece Level Agreement) Diffserv PHB ingress interface traffic conditioner egress interface PHB shaper classifier meter dropper marker forwarding classifier queues dropper marker scheduler
(marker, dropper) marker to Queue A input traffic classifier meter dropper marker discard to Queue B meter marker example traffic conditioner BA(Behavior Aggregate) DS MF(Multi-Field) DS
token-bucket r, b in-profile: out-of-profile: color-aware/color-blind
profile: r:rate, b:depth output: in-profile or out-of-profile packet input < (r, b) tokenbucket meter in-profile out-of-profile 2-rate 3-color meter/marker peak profile: r:rate, b:depth committed profile: R:rate, B:depth output: green, yellow or red < (R, B) green packet input < (r, b) yellow red peak rate tokenbucket committed rate tokenbucket 2-rate 3-color meter/marker
DS DSCP PHB (Per-Hop Behavior) PHB PHB AF Drop precedecnce PHB AF Class
PHB PHB Default PHB Class Selector PHB EF PHB AF PHB
xxxxx0: Standard PHBs xxxx11: Experimental/Local Use xxxx01: Experimental/Local Use* 000000: Default PHB xxx000: Class Selector PHBs cccdd0: Assured Forwarding PHBs ( ) ccc: class {1,2,3,4} dd: drop prec {1,2,3} 101110: Expedited Forwarding PHB Default PHB DSCP = 000000
Class Selector PHB IP Precedence Precedence WFQ, WRR, CBQ EF (Expedited Forwarding) PHB PHB Conditioning PQ WFQ, WRR, CBQ
AF (Assured Forwarding) PHB Precedence TCP UDP Precedence EF AF
EF (1) connection: from <src> to <dst> profile: <r>:rate, <b>:tokenbucket depth in-profile: delay: less than <msec> packet loss: less than <%> out-of-profile: discard classifier: <src><dst> to customer s TC TC (traffic conditioner): tokenbucket meter: <r>,<b> in-profile: mark <EF DSCP> out-of-profile: drop EF (2) Provisioning DS EF <src> to <dst> EF
AF (1) connection: from <src> committed profile: <R>:rate, <B>:tokenbucket depth peak profile: <r>:rate, <b>:tokenbucket depth in-committed-profile: packet loss less than <%> in-peak-profile: packet loss less than <%> out-of-profile: best effort classifier: <src> to customer s TC TC (traffic conditioner): trtcm: <R>,<B>,<r>,<b> green: mark <AF11 DSCP> yellow: mark <AF12 DSCP> red: mark <AF13 DSCP> AF (2) Provisioning DS AF1 green
DiffServ DS Bandwidth Broker RSVP over DiffServ DiffServ over MPLS DS PHB
Bandwidth Broker PDP: PEP: COPS PEP PEP PDP PEP PDP PEP COPS protocol PEP PDP: Policy Decision Point PEP: Policy Enforcement Point DiffServ
Provisioning RSVP over DiffServ DiffServ RSVP RSVP RSVP Edge RSVP Edge EF path
ISP DiffServ < > IETF: http://www.ietf.org/ IETF diffserv WG: http://www.ietf.org/html.charters/diffserv-charter.html IETF intserv WG: http://www.ietf.org/html.charters/intserv-charter.html IETF issll WG: http://www.ietf.org/html.charters/issll-charter.html IETF rsvp WG: http://www.ietf.org/html.charters/rsvp-charter.html RSVP: http://www.isi.edu/rsvp/ ALTQ: http://www.csl.sony.co.jp/~kjc/software.html < > Differentiated Services for the Internet. K. Kilkki. ISBN 1-57870-132-5. 1999. Quality of Service. P. Ferguson and G. Huston. Wiley, ISBN 0-471-24358-2. 1998. An Engineering Approach to Computer Networking. S. Keshav. Addison-Wesley, ISBN 0-201-63442-2. 1997. High-speed Networks: TCP/IP and ATM Design Principles. W. Stallings. Prentice Hall, ISBN 0-13-904954-1. 1998. Gigabit Networking. C. Partridge. Addison-Wesley, ISBN 0-201-56333-9. 1993.