7/31/2019 Seeren Cos Junos Module1
1/75
7/31/2019 Seeren Cos Junos Module1
2/75
2Copyright 2006 Juniper Networks, Inc. www.juniper.net
Agenda: QoS/CoS Workshop
Module 1: Overview of QoS/CoS
Module 2: JUNOS QoS implementation (J/M/T-Series)
Module 3: Introduction to JUNOS CLI
Module 4: GEANT2 QoS services Implementation
7/31/2019 Seeren Cos Junos Module1
3/75
3Copyright 2006 Juniper Networks, Inc. www.juniper.net
What is QoS? Methods to utilize existing network capacity efficiently
and meet performance requirements and achieve themaximum traffic throughput
Managed unfairness
7/31/2019 Seeren Cos Junos Module1
4/75
4Copyright 2006 Juniper Networks, Inc. www.juniper.net
To QoS or CoS? Class of service (CoS) and quality of service (QoS) work
together to ensure transmission requirements of varioustraffic types
Routers use CoS to ensure and enforce end to endnetwork QoS requirements
7/31/2019 Seeren Cos Junos Module1
5/75
5Copyright 2006 Juniper Networks, Inc. www.juniper.net
Why network QoS? Bandwidth isnt free and all traffic is not equal
Migration continues toward converged network, with multipleservices over IP
Need to distinguish between the multiple services on the convergednetwork infrastructure
Examples: voice and real-time video
Customers will pay for better service
Packet delivery guarantees
latency and jitter guarantees
QoS can smooth out peaks to utilize existing bandwidth better
7/31/2019 Seeren Cos Junos Module1
6/75
7/31/2019 Seeren Cos Junos Module1
7/757Copyright 2006 Juniper Networks, Inc. www.juniper.net
Why router CoS? A link can have more than one transmit queue
Need a queue servicing algorithm to arbitratethe queues access to the link
So congestion can be isolated to one queue
i.e., one class can be congested whileanother is not
But even the worst class still cant havesustained congestion
i.e., need careful provisioning per class
7/31/2019 Seeren Cos Junos Module1
8/758Copyright 2006 Juniper Networks, Inc. www.juniper.net
What is CoS not!? Bottom Line: CoS does NOT create Bandwidth
7/31/2019 Seeren Cos Junos Module1
9/759Copyright 2006 Juniper Networks, Inc. www.juniper.net
Why deploying QoS in R&E Networks?
Bandwidth management allows you to support differentcommunities and usage, by offering multiple serviceclasses over a shared infrastructure, such as a
converged IP/MPLS network A converged network allows you to reduce operating
expenses, to use multiple access technologies, and tooffer a wide range of integrated products, such asInternet access, VPN access, and videoconferencing,GRID support, etc
Over-provisioning is not always here
Even if over-provisioning is there, you cant avoidpunctual overload (GRID, failure in the network etc.)
Its a business decision for you, not a technical decision
7/31/2019 Seeren Cos Junos Module1
10/7510Copyright 2006 Juniper Networks, Inc. www.juniper.net
EdgeEdge
CoreCore
The Old Edge
RawTDM
RawTDM
PE4PE4
FrameRelay
FrameRelay
PE2PE2
PE1PE1
ATMATM
PE3PE3
EthernetEthernet
7/31/2019 Seeren Cos Junos Module1
11/7511Copyright 2006 Juniper Networks, Inc. www.juniper.net
Consolidated Multi-Service EdgeMobil e CoreMobil e Core
Layer 2/ 3 VPNLayer 2/ 3 VPN
DS0, T1/ E1, OC3, OC12DS0, T1/ E1, OC3, OC12
ATM/ FRATM/ FR
VoIPVoIP
ATM VoiceATM Voice
I nt ernet AccessI nt ernet Access
ATM/ FR, POS, GEATM/ FR, POS, GE
Metro Et hernetMetro Et hernet
I P/ MPLS
ATM/ FR, POS, GEATM/ FR, POS, GE
GEGE
ERX, M & T Ser ies
Consolidation Strategy
aligned around MPLS
ATMATM
ERX/ M-series T-series
7/31/2019 Seeren Cos Junos Module1
12/7512Copyright 2006 Juniper Networks, Inc. www.juniper.net
Module 1: Overview of QoS/CoS Introduction on CoS and QoS
QoS parameters and Impact on Protocols andApplications
ToS
Intserv
Diffserv
MPLS Traffic Engineering
MPLS Diffserv TE
7/31/2019 Seeren Cos Junos Module1
13/7513Copyright 2006 Juniper Networks, Inc. www.juniper.net
Definition of Network QoS Parameters
Quality-of-service parameters for networks include:
Throughput (bandwidth)
End-to-end data carrying capacity
Delay (latency)
End-to-end delay for data delivery (forwarding, queuing, propagation, serialization)
Delay variation (jitter)
Variation in end-to-end delays caused partly by packet queuing
Loss
Percentage of packets not delivered, usually related to congestion
Network QoS parameters affect and limit the users perception ofapplication performance
Most applications are not aware of network CoS
7/31/2019 Seeren Cos Junos Module1
14/7514Copyright 2006 Juniper Networks, Inc. www.juniper.net
How does a router influence these
parameters (Delay) ?Propagationdelay
Switchingdelay
Serializationdelay
Scheduling/
Queueingdelay:
5ms per 1000 km over optical fiber.
time difference between receiving a packet on an incominginterface and enqueuing of the packet in the scheduler of itsoutbound interface. ~10-50 us
time taken to clock a packet onto a link, depends on link speedand packet size, cant do better than line rate. E.g. 1500 bytepacket for oc-48 = 5us
time difference between enquiring the packet of the outboundinterface scheduler and the start of clocking the packet ontothe outbound link.
7/31/2019 Seeren Cos Junos Module1
15/75
7/31/2019 Seeren Cos Junos Module1
16/75
16Copyright 2006 Juniper Networks, Inc. www.juniper.net
Serialization Delays (in msec) by
Link Speed and Packet SizePacket size
in bytes
Link Speed
DS-1 DS-3 OC-3 OC-12 OC-48 OC-192
40 0.2073 0.0072 0.0021 0.0005 0.0001 0.0000
256 1.3264 0.0458 0.0132 0.0033 0.0008 0.0002
320 1.6580 0.0572 0.0165 0.0041 0.0010 0.0003
512 2.6528 0.0916 0.0264 0.0066 0.0016 0.0004
1500 7.7720 0.2682 0.0774 0.0193 0.0048 0.0012
4470 23.1606 0.7994 0.2307 0.0575 0.0144 0.0036
9180 47.5648 1.6416 0.4738 0.1181 0.0295 0.0074
7/31/2019 Seeren Cos Junos Module1
17/75
17Copyright 2006 Juniper Networks, Inc. www.juniper.net
Delay calculation
This is mostly the operators hard homework
Example 1500 byte packet take ~6ms to put out on E1 speed wire
1500 byte out on STM1 speed take ~0.08ms. But 1500 byte take~190ms to put out to the wire on 64kbps ds0. The speed of light take~70ms over the Atlantic etc forwarding delay through M series is~8us etc
Propagation delay
(Distance)
Serialisation delay
(Link bandwidth)
Queuing delay
(COS configuration)
Forward delay
(Lookup and ASIC)
7/31/2019 Seeren Cos Junos Module1
18/75
18Copyright 2006 Juniper Networks, Inc. www.juniper.net
How does a router influence these
parameters (Jitter) ? Jitter is the variation in delay over time
The primary contributor to jitter is the variability ofqueuing/scheduling delay over time
Conclusion: Jitter matters more on slower links, andbigger packets hurt most
Typical jitter budget for backbone is 5 to 10 msec.assuming 10 backbone hops, it is a jitter budget of 500 to1000 us per hop.
7/31/2019 Seeren Cos Junos Module1
19/75
19Copyright 2006 Juniper Networks, Inc. www.juniper.net
A visual on the source of jitter Best-effort queue starts being
serviced right before a VoIPpacket arrives
VoIP packet has to wait forbest-effort packet to beserviced
Wait time depends on size
of best-effort packet
This happens hop-by-hop
Best eff ortBest eff ort
VoIPVoIP
Best eff ortBest eff ort
VoIPVoIP
TimeTime t+ xt+ x : Best effor t is serviced: Best effor t is serviced
and VOI P j ust arr ivesand VOI P j ust arri ves
ServiceService
Best effortBest effort
VoIPVoIP
TimeTime t + x + yt + x + y : VOI P is serviced af t er: VOI P is serviced af t er
Best effort .Best effort .
ServiceService
ArriveArrive
TimeTime tt : 1: 1stst VOI P is serv icedVOI P is serviced
7/31/2019 Seeren Cos Junos Module1
20/75
20Copyright 2006 Juniper Networks, Inc. www.juniper.net
How does a router influence these
parameters (Loss)? Packets can be lost in two primary ways
Congestion a packet wants to go out a certain port but the
associated transmit queue is 100% full Errors a packet gets corrupted such that some hop in the path
needs to drop the packet
In practice for TCP, packet loss almost always means congestion equilibrium of maximum bandwidth without congestion; multiple
TCPs doing this in parallel results in fair allocation of bottleneckbandwidth
A loss of 2 consecutive 20ms samples of voice is perceptibledegradation
7/31/2019 Seeren Cos Junos Module1
21/75
21Copyright 2006 Juniper Networks, Inc. www.juniper.net
How does a router influence these
parameters (Loss)? contd. Throughput commitments between ingress/egress port pairs is way
easier to offer than from an ingress port to anywhere
Specifically, ensure the committed traffic hasadequate allocated bandwidth along the path
What to do with traffic sent along that path above the agreed-upon
rate is a policy question Drop it on ingress (to the network cloud) using a
policer
Pass it on with increased drop probability
Buffer and shape it on ingress
7/31/2019 Seeren Cos Junos Module1
22/75
7/31/2019 Seeren Cos Junos Module1
23/75
23Copyright 2006 Juniper Networks, Inc. www.juniper.net
Traffic flow Disharmony What isnt queue management? =>FIFO/Tail drop.
Example bandwidth mismatch problem from Intra ASpeers to Exchange points or Core towards edge.
STM-1STM-64
Bit bucketPacket drop
7/31/2019 Seeren Cos Junos Module1
24/75
24Copyright 2006 Juniper Networks, Inc. www.juniper.net
TCP the major flow A TCP sender reacts to a lost packet by slowing its
sending rate (packet loss indicates congestion)
If waiting until a queue is full and then doing 100% taildrop -> causes lots of TCP senders to slow down ->Global synchronization
After everyone slows down the link is underutilized ->The same link that should be 100% filled
Howeverthis theory is based upon close interactionTCP==Application, not necessary the whole truth
7/31/2019 Seeren Cos Junos Module1
25/75
25Copyright 2006 Juniper Networks, Inc. www.juniper.net
Random Early Detection Rather than wait for total congestion and then tail drop at
100%, how about notice congestion and react with
dropping randomly? Prevents total congestion because some people slow
down
Prevents global synchronization
Keeps utilization at ~100% because no taildrops andsynchronization problems. But thats the theory
RED scheme efficiency depends upon application.Essentially session have to be long lived, or that RED isflow aware and not just packet aware
7/31/2019 Seeren Cos Junos Module1
26/75
26Copyright 2006 Juniper Networks, Inc. www.juniper.net
TCP, Slow start function
Slow st art ,probe of connect ion
I f loss/ RTT t imeoutsender half datagram and size
Mult iple/ massive TCP dropsand result ing duplicat ed ACKs from receiverforce TCP Slow start
Sender Receiver
7/31/2019 Seeren Cos Junos Module1
27/75
27Copyright 2006 Juniper Networks, Inc. www.juniper.net
TCP flow control 1 TCP and application interaction in practise, long
lived session FTP !
RED is very efficient !
24 6.539281 192.168.1.100 -> 1.1.1.11 FTP Response: 150 Opening BINARY mode data connection for 'x' (14095132 bytes).25 6.539676 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes26 6.633393 1.1.1.11 -> 192.168.1.100 TCP 4983 > 21 [ACK] Seq=1270128481 Ack=2726329842 Win=17376 Len=027 6.633438 1.1.1.11 -> 192.168.1.100 TCP 51345 > 20 [ACK] Seq=1310902396 Ack=3467594828 Win=17376 Len=028 6.633813 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes29 6.633998 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes
30 6.637189 1.1.1.11 -> 192.168.1.100 TCP 51345 > 20 [ACK] Seq=1310902396 Ack=3467597724 Win=17376 Len=031 6.637518 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes32 6.637690 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes33 6.637862 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes34 6.641390 1.1.1.11 -> 192.168.1.100 TCP 51345 > 20 [ACK] Seq=1310902396 Ack=3467600620 Win=17376 Len=0[]
57 6.661649 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes
58 6.661828 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes59 6.662000 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes60 6.662280 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes61 6.662439 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes62 6.662591 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes63 6.662860 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes64 6.663044 192.168.1.100 -> 1.1.1.11 FTP-DATA FTP Data: 1448 bytes65 6.663122 1.1.1.11 -> 192.168.1.100 TCP 51345 > 20 [ACK] Seq=1310902396 Ack=3467623788 Win=17376 Len=0[]
7/31/2019 Seeren Cos Junos Module1
28/75
28Copyright 2006 Juniper Networks, Inc. www.juniper.net
TCP flow control 2 HTTP where is the long lived session ?
RED ? To be efficient its more multiple levels oftaildrop
158 33.614381 192.168.0.200 -> 207.17.137.68 HTTP GET /solutions/literature/app_note/350005.pdf HTTP/1.1159 33.848019 207.17.137.68 -> 192.168.0.200 TCP http > 1297 [ACK] Seq=2713032788 Ack=576311475 Win=24616 Len=0160 33.876638 207.17.137.68 -> 192.168.0.200 HTTP HTTP/1.1 200 OK
161 33.969018 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713033035 Win=17376 Len=0162 34.200987 207.17.137.68 -> 192.168.0.200 HTTP Continuation163 34.224733 207.17.137.68 -> 192.168.0.200 HTTP Continuation164 34.224918 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713035931 Win=14480 Len=0165 34.229408 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713035931 Win=17376 Len=0166 34.459063 207.17.137.68 -> 192.168.0.200 HTTP Continuation167 34.482887 207.17.137.68 -> 192.168.0.200 HTTP Continuation168 34.483069 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713037379 Win=17376 Len=0
169 34.507076 207.17.137.68 -> 192.168.0.200 HTTP Continuation170 34.507252 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713040275 Win=14480 Len=0171 34.519431 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713040275 Win=17376 Len=0172 34.707686 207.17.137.68 -> 192.168.0.200 HTTP Continuation173 34.732468 207.17.137.68 -> 192.168.0.200 HTTP Continuation174 34.732639 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713042675 Win=15928 Len=0175 34.756276 207.17.137.68 -> 192.168.0.200 HTTP Continuation176 34.779185 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713044123 Win=17376 Len=0
177 34.780125 207.17.137.68 -> 192.168.0.200 HTTP Continuation178 34.804460 207.17.137.68 -> 192.168.0.200 HTTP Continuation179 34.804618 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713047019 Win=14480 Len=0180 34.809485 192.168.0.200 -> 207.17.137.68 TCP 1297 > http [ACK] Seq=576311475 Ack=2713047019 Win=17376 Len=0
7/31/2019 Seeren Cos Junos Module1
29/75
29Copyright 2006 Juniper Networks, Inc. www.juniper.net
UDP
UDP guarantee nothing, no response to taildrops or
Random drops (RED) from endhost. But hard contractscan impact missbehaved UDP. Policing most effective !
Small overhead. Stateless, easy to re-route
No segment control, best effort.
Application responsable for control, timestamp ex withRTP header or application ACKs
Applications ACK...maybe
Dataforward
Sender Receiver
7/31/2019 Seeren Cos Junos Module1
30/75
30Copyright 2006 Juniper Networks, Inc. www.juniper.net
TFTP,
Example of old UDP implementation Application ACK for each 516 byte
datasegment
emilie# tcpdump -i fxp1tcpdump: listening on fxp113:09:48.040923 192.168.1.100.2134 > 1.1.1.11.2472: udp 51613:09:48.042117 1.1.1.11.2472 > 192.168.1.100.2134: udp 413:09:48.042512 192.168.1.100.2134 > 1.1.1.11.2472: udp 51613:09:48.043619 1.1.1.11.2472 > 192.168.1.100.2134: udp 413:09:48.044046 192.168.1.100.2134 > 1.1.1.11.2472: udp 51613:09:48.045151 1.1.1.11.2472 > 192.168.1.100.2134: udp 413:09:48.045547 192.168.1.100.2134 > 1.1.1.11.2472: udp 51613:09:48.046654 1.1.1.11.2472 > 192.168.1.100.2134: udp 4
13:09:48.047044 192.168.1.100.2134 > 1.1.1.11.2472: udp 51613:09:48.048155 1.1.1.11.2472 > 192.168.1.100.2134: udp 413:09:48.048548 192.168.1.100.2134 > 1.1.1.11.2472: udp 51613:09:48.049666 1.1.1.11.2472 > 192.168.1.100.2134: udp 4[]
7/31/2019 Seeren Cos Junos Module1
31/75
31Copyright 2006 Juniper Networks, Inc. www.juniper.net
Realtime 1
Multicast/RTP header Perhaps not delay sensitive (End-station playback
buffering) but loss sensitive and can be bursty.
166 [172.16.2.60] [239.239.239.119] 1494 0:00:29.242 0.007.079 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30316,T=317895538,SSRC=2233125814
167 [172.16.2.60] [239.239.239.119] 1494 0:00:29.247 0.005.675 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30317,T=317895538,SSRC=2233125814
168 [172.16.2.60] [239.239.239.119] 1494 0:00:29.253 0.006.041 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30318,T=317895538,SSRC=2233125814
169 [172.16.2.60] [239.239.239.119] 1494 0:00:29.259 0.006.023 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30319,T=317895538,SSRC=2233125814
170 [172.16.2.60] [239.239.239.119] 1494 0:00:29.265 0.006.040 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30320,T=317895538,SSRC=2233125814
171 [172.16.2.60] [239.239.239.119] 1494 0:00:29.271 0.006.061 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30321,T=317895538,SSRC=2233125814172 [172.16.2.60] [239.239.239.119] 1494 0:00:29.277 0.006.025 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30322,T=317895538,SSRC=2233125814
173 [172.16.2.60] [239.239.239.119] 1494 0:00:29.283 0.006.031 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30323,T=317895538,SSRC=2233125814
174 [172.16.2.60] [239.239.239.119] 1494 0:00:29.290 0.006.036 2000-04-05 12:23:26 RTP: PT=MPV video,SEQ=30324,T=317895538,SSRC=2233125814
[]
7/31/2019 Seeren Cos Junos Module1
32/75
32Copyright 2006 Juniper Networks, Inc. www.juniper.net
Realtime 2
VOIP or Voice trunking Has requirements for delay and jitter (variation in
delay)
Assumes careful provisioning of the realtime traffic ->over-provisioning that service/queue can result inwider jitter !
7/31/2019 Seeren Cos Junos Module1
33/75
Mobile Networks
7/31/2019 Seeren Cos Junos Module1
34/75
34Copyright 2006 Juniper Networks, Inc. www.juniper.net
Mobile NetworksUMTS
InfrastructureI P I nfrastructure
UMTS TerrestrialRadio Access
Network
UTRAN
PSTN,I SDN PLMN
HLR
SGSN
GGSN
MSC/ VLR
GW
RNC
BTS
Internet
I SP Serv ice
Co-location
Backbone
Corpor ate / VPNs
MS
The import ant note for I P freaks,
I t s t ransported over packet based I P netw orks !
7/31/2019 Seeren Cos Junos Module1
35/75
35Copyright 2006 Juniper Networks, Inc. www.juniper.net
Module 1: Overview of QoS/CoS Introduction on CoS and QoS
QoS parameters and Impact on Protocols andApplications
ToS
Intserv
Diffserv
MPLS Traffic Engineering
MPLS Diffserv TE
7/31/2019 Seeren Cos Junos Module1
36/75
36Copyright 2006 Juniper Networks, Inc. www.juniper.net
RFC 791TOS fieldBits 0-2: Precedence.
Bit 3: 0 = Normal Delay, 1 = Low Delay.
Bits 4: 0 = Normal Throughput, 1 = High Throughput.
Bits 5: 0 = Normal Relibility, 1 = High Relibility.
Bit 6-7: Reserved for Future Use.
0 1 2 3 4 5 6 7+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | |
| PRECEDENCE | D | T | R | 0 | 0 |
| | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+
Precedence
111 - Network Control
110 - Internetwork Control
101 - CRITIC/ECP
100 - Flash Override
011 - Flash010 - Immediate
001 - Priority
000 - Routine
RFC 791 (circa1981) defined thetype-of-servicefield in the IPheader:
3-bitprecedencefield to prioritizediscards
IP precedence / 802 1p
7/31/2019 Seeren Cos Junos Module1
37/75
37Copyright 2006 Juniper Networks, Inc. www.juniper.net
IP precedence / 802.1pDLC: ----- DLC Header -----
DLC: Frame 4 arrived at 23:07:49.0045; frame size is 759 (02F7 hex) bytes.DLC: Destination = Multicast 01005E020168
DLC: Source = Station 0030962EB724
8021Q: ----- 802.1Q Packet -----
8021Q: Tag Protocol Type = 8100
8021Q: Tag Control Information = 8002
8021Q: User Priority = 4
8021Q: Tunnel Type = 0 (Ethernet frame)
8021Q: VLAN ID = 2
8021Q: Ethertype = 0800 (IP)
IP: ----- IP Header -----
IP: Version = 4, header length = 20 bytes
IP: Type of service = 80
IP: 100. .... = flash override
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit
IP: .... ...0 = CE bit - no congestion
IP: Total length = 741 bytes
IP: Identification = 17077
IP: Flags = 0X
IP: .0.. .... = may fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 14 seconds/hops
IP: Protocol = 17 (UDP)
IP: Header checksum = 5C84 (correct)
IP: Source address = [192.168.1.100]
IP: Destination address = [224.2.1.104]
IP: No options
UDP: ----- UDP Header -----
7/31/2019 Seeren Cos Junos Module1
38/75
38Copyright 2006 Juniper Networks, Inc. www.juniper.net
Module 1: Overview of QoS/CoS Introduction on CoS and QoS
QoS parameters and Impact on Protocols andApplications
ToS
Intserv
Diffserv
MPLS Traffic Engineering
MPLS Diffserv TE
IntServ (circa 1994)
7/31/2019 Seeren Cos Junos Module1
39/75
39Copyright 2006 Juniper Networks, Inc. www.juniper.net
IntServ (circa 1994)
The IETFs first attempt at extending IP for other thanbest-effort services
Host based RSVP signaling used to describe specific QoS
requirements to the network Routers reserve resources and do packet-by-packet classification
to match packets to the appropriate resources
RSVP function is basic in turnaround order. The senderinitialize path request, but its the receiver who do thereservation. The reservation is hop per hop.
RSVP Reservation from
Receiver (H-323 Gateway)
RSVP Path Message fromSender (H323 terminal)
VoIPGateway
PSTN
VoI Pnode
Host
7/31/2019 Seeren Cos Junos Module1
40/75
40Copyright 2006 Juniper Networks, Inc. www.juniper.net
From IntServ to RSVP
Router to router this works fine and with limited number of sessions.With several routers in chain with host-route reservations FF (FixedFilter)and if re-routing occur, the reservation falls for all FFreservations -> massive re-signaling.
Everyone learned a lot, but IntServ was never deployed
Scalability of both the control and data planes consideredpoor
But RSVP becomes successful with MPLS
RSVP signaling is used to put up Traffic-Engineer LSP insteadwith success (aggregated traffic)
See later
7/31/2019 Seeren Cos Junos Module1
41/75
41Copyright 2006 Juniper Networks, Inc. www.juniper.net
Module 1: Overview of QoS/CoS Introduction on CoS and QoS
QoS parameters and Impact on Protocols andApplications
ToS
Intserv
Diffserv
MPLS Traffic Engineering
MPLS Diffserv TE
DiffServ Emerges
7/31/2019 Seeren Cos Junos Module1
42/75
42Copyright 2006 Juniper Networks, Inc. www.juniper.net
g DiffServ architecture defined in RFCs 2474/2475 (circa 1998)
Same approach as the precedence bits but more classes andlevels (AF PHB) and definitions of service (EF PHB)
Precedence-DSCP interopable based on class stucturethe
droplevels however can cause problem
Redefined the IPv4 ToS field to support a 6-bit DiffServ code point
DiffServ has no signaling component
DiffServ deals only with aggregate flows
IP ToSRFC 791
DiffServRFC 2474
IP Precedence ReservedD T R
DiffServ Code Point Reserved
0 1 2 4 5 6 73
MSB LSB
7/31/2019 Seeren Cos Junos Module1
43/75
43Copyright 2006 Juniper Networks, Inc. www.juniper.net
DiffServ Terminology
Key DiffServ terms:
Behavior aggregate (BA): Classification based onDSCP
Packets with a common DSCP belong to the same BA
DiffServ (DS) field: The original IPv4 ToS byte
DiffServ code points (DSCPs) occupy the 6 most significantbits of the DS field
Per-hop behavior (PHB): The per-hop forwardingtreatment associated with a given BA
DiffServ Model
7/31/2019 Seeren Cos Junos Module1
44/75
44Copyright 2006 Juniper Networks, Inc. www.juniper.net
Applications or edge devices classify and mark packets with
appropriate Diff-Serv code point values (DSCP) Edge devices make admission control (i.e. CAC) to maintain the
QoS for each class and prevent network overload
Edge devices use classifiers or DSCP to select PHB which is to
be experienced by each packet it forwards Core devices use DSCP to select PHB which is to be
experienced by each packet it forwards
DSCP and Multi-Field Classifiers are based on policies defined
according to SLA
Classification (MF)SchedulingPolicingMarking
Classification (BA)SchedulingPolicingMarking/Rewrite
Classification (BA)SchedulingPolicingMarking/Rewrite
Classification (BA)SchedulingPolicing
7/31/2019 Seeren Cos Junos Module1
45/75
45Copyright 2006 Juniper Networks, Inc. www.juniper.net
RFC 2597 (AF PHB)RFC 2597 Assured Forwarding PHB Group June 1999
Recommended codepoints for the four general use AF classes are given
below. These codepoints do not overlap with any other general use PHB
groups.
The RECOMMENDED values of the AF codepoints are as follows: AF11 = '
001010', AF12 = '001100', AF13 = '001110', AF21 = '010010', AF22 = '
010100', AF23 = '010110', AF31 = '011010', AF32 = '011100', AF33 = '
011110', AF41 = '100010', AF42 = '100100', and AF43 = '100110'. The
table below summarizes the recommended AF codepoint values.
Class 1 Class 2 Class 3 Class 4
+----------+----------+----------+----------+
Low Drop Prec | 00101010 | 010010 | 011010 | 100010 |
Medium Drop Prec | 00110100 | 010100 | 011100 | 100100 |
High Drop Prec | 00111110 | 010110 | 011110 | 100110 |
+----------+----------+----------+----------+
7/31/2019 Seeren Cos Junos Module1
46/75
46Copyright 2006 Juniper Networks, Inc. www.juniper.net
RFC 2598 (EF PHB)RFC 2598 An Expedited Forwarding PHB June 19991. Introduction
The EF PHB can be used to build a low loss, low latency, low jitter, assured bandwidth, end-to-
end service through DS domains.
Loss, latency and jitter are all due to the queues traffic experiences while transiting the
network. Therefore providing low loss, latency and jitter for some traffic aggregate means
ensuring that the aggregate sees no (or very small) queues. Queues arise when (short-term)
traffic arrival rate exceeds departure rate at some node.Thus a service that ensures no queues
for some aggregate is equivalent to bounding rates such that, at every transit node, the
aggregate's maximum arrival rate is less than that aggregate's minimum departure rate.
Creating such a service has two parts:
1) Configuring nodes so that the aggregate has a well-defined
minimum departure rate. ("Well-defined" means independent of
the dynamic state of the node. In particular, independent of
the intensity of other traffic at the node.)
2) Conditioning the aggregate (via policing and shaping) so that
its arrival rate at any node is always less than that node's
configured minimum departure rate.
7/31/2019 Seeren Cos Junos Module1
47/75
47Copyright 2006 Juniper Networks, Inc. www.juniper.net
RFC 2598 (EF PHB)2. Description of EF per-hop behavior
The EF PHB is defined as a forwarding treatment for a particular diffserv aggregate where the
departure rate of the aggregate's packets from any diffserv node must equal or exceed a
configurable rate. The EF traffic SHOULD receive this rate independent of the intensity of any
other traffic attempting to transit the node. It SHOULD average at least the configured rate
when measured over any time interval equal to or longer than the time it takes to send an
output link MTU sized packet at the configured rate.
2.2 Example Mechanisms to Implement the EF PHB
Several types of queue scheduling mechanisms may be employed to deliver the forwarding behavior
and thus implement the EF PHB.
1) A simplepriority queue [PQ] will give the appropriate behavior as long as there is no
higher priority queue that could preempt the EF for more than a packet time at the configured
rate.(This could be accomplished by having a rate policer such as a token bucket associated
with each priority queue to bound how much the queue can starve other traffic.) Eq Priority
Queueing
2) It's also possible to use a single queue in a group of queues serviced by a weighted roundrobin [WRR]scheduler where the share of the output bandwidth assigned to the EF queue is equal
to the configured rate. This could be implemented, for example, using one PHB of a Class
Selector Compliant set of PHBs [RFC2474].
3)Another possible implementation is a CBQ [CBQ] scheduler that gives the EF queue priority up
to the configured rate.
DSCP
7/31/2019 Seeren Cos Junos Module1
48/75
48Copyright 2006 Juniper Networks, Inc. www.juniper.net
SC
Internet ProtocolVersion: 4
Header length: 20 bytes
Differentiated Services Field: 0x80 (DSCP 0x20: Class Selector 4;
ECN: 0x00)
1000 00.. = Differentiated Services Codepoint: Class Selector 4(0x20)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 60
Identification: 0x72a6Flags: 0x00
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 253Protocol: ICMP (0x01)
Header checksum: 0x86ec (correct)
Source: 1.1.1.3 (1.1.1.3)
Destination: 192.168.1.2 (192.168.1.2)
MPLS Exp
7/31/2019 Seeren Cos Junos Module1
49/75
49Copyright 2006 Juniper Networks, Inc. www.juniper.net
MPLS ExpEthernet IIDestination: 00:02:b3:22:38:63 (00:02:b3:22:38:63)
Source: 00:02:b3:22:38:52 (00:02:b3:22:38:52)
Type: MPLS label switched packet (0x8847)
MultiProtocol Label Switching Header
MPLS Label: Unknown (100000)
MPLS Experimental Bits: 4
MPLS Bottom Of Label Stack: 1MPLS TTL: 255
Internet Protocol
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x80 (DSCP 0x20: Class Selector 4; ECN: 0x00)
1000 00.. = Differentiated Services Codepoint: Class Selector 4 (0x20)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 84
Identification: 0xa991
Flags: 0x00
.0.. = Don't fragment: Not set
..0. = More fragments: Not setFragment offset: 0
Time to live: 255
Protocol: ICMP (0x01)
Header checksum: 0x0d92 (correct)
Source: 1.1.1.1 (1.1.1.1)
Destination: 3.3.3.3 (3.3.3.3)
7/31/2019 Seeren Cos Junos Module1
50/75
50Copyright 2006 Juniper Networks, Inc. www.juniper.net
Module 1: Overview of QoS/CoS
Introduction on CoS and QoS
QoS parameters and Impact on Protocols andApplications
ToS
Intserv
Diffserv
MPLS Traffic Engineering
MPLS Diffserv TE
Constraint-Based Routing
7/31/2019 Seeren Cos Junos Module1
51/75
51Copyright 2006 Juniper Networks, Inc. www.juniper.net
Online LSP path calculation Operator configures LSP constraints at ingress LSR
Bandwidth reservation
Include or exclude a specific link(s) Include specific node traversal(s)
Network actively participates in selecting an LSP paththat meets the constraints
IngressLSR
User defined LSPconstraints
EgressLSR
Constraint-Based Routing: Service Model
7/31/2019 Seeren Cos Junos Module1
52/75
52Copyright 2006 Juniper Networks, Inc. www.juniper.net
Routing t able
Ext ended I GP
1) Store information fr om I GP flooding
UserConstraints
3) Examine user defined const raint s
ConstrainedShor t est Path First
4) Calculat e the physical path f or t he LSP
Explicit route
5) Represent path as an explicit rout eRSVP signaling
6) Pass ERO to RSVP for signaling
2) Store t raff ic engineering inform ation
Traff ic engineeringDatabase (TED)
Operat ions Performed by t he I ngress LSR
Constraint-Based Routing: RSVP Signaling
7/31/2019 Seeren Cos Junos Module1
53/75
53Copyright 2006 Juniper Networks, Inc. www.juniper.net
I ngressLSR
EgressLSR
CSPF
ERO
RSVP
Explicit route calculated by CSPF is handed to RSVP
RSVP is unaware of how the ERO was calculated
RSVP establishes LSP
PATH: Establish state and request label assignment
RESV: Distribute labels & reserve resources
PATH
RESV
Constraint Based-Routing: Example 1
7/31/2019 Seeren Cos Junos Module1
54/75
54Copyright 2006 Juniper Networks, Inc. www.juniper.net
NewYork
Atlanta
Chicago
Seattle
LosAngeles
SanFrancisco
KansasCity
Dallaslabel-sw it ched-path SF_t o_NY {
t o New _York;fr om San_Francisco;admin-group { exclude green}cspf}
Constraint-Based Routing: Example 2
7/31/2019 Seeren Cos Junos Module1
55/75
55Copyright 2006 Juniper Networks, Inc. www.juniper.net
label-switched-path madrid_to_stockholm{
to Stockholm;from Madrid;admin-group { include red, green}cspf}
Paris
London
Stockholm
Madrid
Rome
Geneva
Munich
M d l 1 O i f Q S/C S
7/31/2019 Seeren Cos Junos Module1
56/75
56Copyright 2006 Juniper Networks, Inc. www.juniper.net
Module 1: Overview of QoS/CoS
Introduction on CoS and QoS
QoS parameters and Impact on Protocols andApplications
ToS
Intserv
Diffserv
MPLS Traffic Engineering
MPLS Diffserv TE
Wh TE i t h
7/31/2019 Seeren Cos Junos Module1
57/75
57Copyright 2006 Juniper Networks, Inc. www.juniper.net
When TE is not enough
Traffic engineering operates at an aggregate level across allclasses of service.
The applications that generate most revenue are usually tied tostrict SLAs, and require strict QoS (delay, jitter, loss).
Traffic engineering alone cannot solve all applicationscenarios. Examples:
Limiting the proportion of traffic on a link (for voiceservices)
Providing guaranteed bandwidth services
C Diff l th bl ?
7/31/2019 Seeren Cos Junos Module1
58/75
58Copyright 2006 Juniper Networks, Inc. www.juniper.net
Can Diffserv solve the problem?
DiffServ dictates the scheduling/queuingbehavior given to traffic at every hop, but
does not control the path the traffic is taking.
If links are congested packets will bedropped (cannot guarantee low-loss).
If queues are long, queuing delays are long(cannot guarantee overall-delay).
Q S i i i i
7/31/2019 Seeren Cos Junos Module1
59/75
59Copyright 2006 Juniper Networks, Inc. www.juniper.net
QoS using over-provisioning
If the amount of delay-sensitive traffic issmall and the available bandwidth is plentiful
there is nothing to do, it just works.
Problems:
Wastes a lot of resources.
Problematic to guarantee for failure
scenarios. What happens when the traffic increases?
QoS the req irements
7/31/2019 Seeren Cos Junos Module1
60/75
60Copyright 2006 Juniper Networks, Inc. www.juniper.net
QoS the requirements
If links are congested packets will be dropped ->avoid congestion by mapping the traffic to paths thathave enough resources, both in the steady-statecase and in the failure case.
If queues are long, queuing delays are long ->ensure that queues are short limit the amount ofdelay-sensitive traffic on a link.
In addition to DiffServ, need Traffic Engineering =>MPLS TE
The goal of MPLS DS TE
7/31/2019 Seeren Cos Junos Module1
61/75
61Copyright 2006 Juniper Networks, Inc. www.juniper.net
The goal of MPLS DS-TE
Support different queuing behaviors perDiffServ class, give different forwarding
behavior based on the class.
Do traffic engineering at a per-class levelrather than at an aggregate level.
Enforce different bandwidth constraints fordifferent classes of traffic.
Diffserv TE
7/31/2019 Seeren Cos Junos Module1
62/75
62Copyright 2006 Juniper Networks, Inc. www.juniper.net
Diffserv TE
Diffserv enables scalable network designs withmultiple classes of service
MPLS TE enables resource reservation, fault-tolerance, and optimization of transmissionresources
Diffserv TE combines the advantages of both
Result is the ability to give strict QoS guaranteeswhile optimizing the use of network resources
Diffserv TE
7/31/2019 Seeren Cos Junos Module1
63/75
63Copyright 2006 Juniper Networks, Inc. www.juniper.net
Diffserv TE
E-LSPs and L-LSPs are defined as part of Diffserv (RFC3270)
E-LSP means that drop and scheduling behavior (perhop behavior at each router) is determined by theEXP bits in the MPLS header
L-LSP means that drop and scheduling behavior (perhop behavior at each router) is determined by theMPLS label and EXP bits
Diffserv aware MPLS TE Dimensions
7/31/2019 Seeren Cos Junos Module1
64/75
64Copyright 2006 Juniper Networks, Inc. www.juniper.net
Diffserv-aware MPLS-TE Dimensions
There are 3 types of LSPs for Diffserv aware MPLS-TE
Multi-class E-LSPs - An LSP with multiple classes, with eachclass represented by EXP bits, is traffic engineered across thenetwork
Single class E-LSPs - An LSP with a single class, with the class
represented by EXP bits, is traffic engineered across the network Single class L-LSPs - An LSP with a single class, with the class
represented by the label, is traffic engineered across the network
There is often confusion among the last two
Support for Multiclass E LSPs
7/31/2019 Seeren Cos Junos Module1
65/75
65Copyright 2006 Juniper Networks, Inc. www.juniper.net
Support for Multiclass E-LSPs
E-LSP
LSRLDP/RSVP LDP/RSVP
EF
AF1
Support of EF and AF on single LSP
EF and AF packets travel on single LSP (single label)
Packets have different MPLS EXP values and areplaced into different queues
AF1
EF
Support for single class E-LSPs
7/31/2019 Seeren Cos Junos Module1
66/75
66Copyright 2006 Juniper Networks, Inc. www.juniper.net
Support of EF and AF on individual dedicated LSPs
Example: EF and BE will each ride on separate E-LSP
Packets have different MPLS EXP values and are placed into different queues
Results in more LSPs in the core
E-LSPs
LSREF
BE
Terminology Class-type (CT)
7/31/2019 Seeren Cos Junos Module1
67/75
67Copyright 2006 Juniper Networks, Inc. www.juniper.net
Terminology Class-type (CT)
Class-Type (CT or traffic class): collection of traffic flows that willbe treated equivalently from a DS-TE perspective.
Maps to a queue, equivalent to the class-of-service forwarding-class concept.
CT0: Best effort
CT1: Expedited forwarding
CT2: Assured forwarding
CT3: Network control
The CoS configuration determines the BW available for each CTin JUNOS.
Terminology: TE Class
7/31/2019 Seeren Cos Junos Module1
68/75
68Copyright 2006 Juniper Networks, Inc. www.juniper.net
Terminology: TE Class
Each IGP needs to advertise the availablebandwidth per CT at each priority level on
every link There are 8 CTs and 8 priority levels
resulting on 64 values that need to be storedand propagated for each link
IETF decided to limit the advertisements to 8
values (from possible 64 values) TE Class is defines as (CT, priority)
Picking Eight TE-Classes
7/31/2019 Seeren Cos Junos Module1
69/75
69Copyright 2006 Juniper Networks, Inc. www.juniper.net
Picking Eight TE Classes
Constraint-Based Routing: Service Model
7/31/2019 Seeren Cos Junos Module1
70/75
70Copyright 2006 Juniper Networks, Inc. www.juniper.net
Routing t able
Ext ended I GP
1) St ore informat ion from I GP f looding (BW per CT)
UserConstraints
3) Examine user defined const raint s (BW per CT)
ConstrainedShor t est Path First
4) Calculat e the physical path for t he LSP(s)
Explicit route
5) Represent pat h as an explicit rout eRSVP signaling
6) Pass ERO to RSVP for signaling
2) St ore t raff ic engineering inf ormation
Traff ic engineeringDatabase (TED)
Operat ions Performed by t he I ngress LSR
How is bandwidth accounted?
7/31/2019 Seeren Cos Junos Module1
71/75
71Copyright 2006 Juniper Networks, Inc. www.juniper.net
How is bandwidth accounted?
The IETF defined bandwidth models.
They determine the partitioning of BWamong the different CTs
Bandwidth Models
7/31/2019 Seeren Cos Junos Module1
72/75
72Copyright 2006 Juniper Networks, Inc. www.juniper.net
There are 2 bandwidth models
Maximum allocation model(MAM) each class is
dedicated an amount ofbandwidth and other classescannot take advantage ofunused bandwidth
Russian dolls model eachclass gets an amount ofbandwidth but lower priorityclasses can use thebandwidth of higher priorityclasses when that bandwidthis available.
Components of DS-TE
7/31/2019 Seeren Cos Junos Module1
73/75
73Copyright 2006 Juniper Networks, Inc. www.juniper.net
Components of DS TE
Three components:
1. Per-class traffic engineering RSVP extensions,
IGP extensions
2. Per-class input policing at the edge LSPPolicing
3. Per-class scheduling (one queue for all traffic of agiven class) Diffserv
Per-class traffic engineering + policing at the edge +dedicated queue = QoS
What is DS-TE good for?
7/31/2019 Seeren Cos Junos Module1
74/75
74Copyright 2006 Juniper Networks, Inc. www.juniper.net
at s S good o
Guaranteed QoS for services VoIP,guaranteed BW service.
Quality-based transport of all traffic types
Emulating ATM and FR over MPLS (the
Juniper/Lucent Multiservice MPLS CoreSolution)
7/31/2019 Seeren Cos Junos Module1
75/75
75Copyright 2006 Juniper Networks, Inc. www.juniper.net
Thank you
Jean-Marc UzLiaison Research & Education, EMEA
[email protected]: +33615432512
31 Place Ronde, 92986 Paris-La-Defense, France
mailto:[email protected]:[email protected]:[email protected]