360 likes | 396 Views
Lecture 5. MPLS/DiffServ. D. Moltchanov , TUT, Spring 2010. Outline. QoS in IP domains Why MPLS/DiffServ? Mapping of PHB info Traffic engineering concepts Bandwidth allocation models. QoS in IP networks: which approach?. Overprovisioning!... Where? IntServ model: is not supported
E N D
Lecture 5. MPLS/DiffServ D. Moltchanov, TUT, Spring 2010
Outline • QoS in IP domains • Why MPLS/DiffServ? • Mapping of PHB info • Traffic engineering concepts • Bandwidth allocation models
QoS in IP networks: which approach? • Overprovisioning!... Where? • IntServ model:is not supported • DiffServ model • Scales well in backbone • QoS for aggregated traffic patterns • MPLS model • Resource reservation along the path • Scales well in backbone • Source routing • …. does not provide QoS! • MPLS + DiffServ • May complement each other • Dynamic QoS may finally become reality • Independent technologies
Problem ofMPLS • MPLS only network • Notraffic policing unit • We may not get any guarantees
Problem ofDiffServ • How to get rid of SPF routing? • No protocols for establishing reservation in routers on demand • No mechanisms to get rid of hop-by-fop forwarding • All the traffic here goes A-C-D or B-C-D
MLPS andDiffServ functionalities • What we have to have to provide QoS 1. Scheduling, queuing, etc.:class of service 2. Bandwidth provisioning for each class DiffServMPLSMPLS and DiffServ 1: yes 1: no 1: yes 2: no* 2: yes** 2: yes SLA: yes SLA: no SLA: yes CAC: yes CAC: no CAC: yes *there is no tool to signal DiffServ configuration to routers ** main route and backup routes + fast reroute of TE • Interoperation ofDiffServandMPLS • IETF RFC 3270, 2002 • MPLS Support of Differentiated Services
Interoperation of MLPS andDiffServ • How? Are there any problem? • DiffServ is L3,MPLS is L2… • How to exchange information between them? • How to assign PHB to LSP? • How to engineer the traffic? • How to isolate the traffic? • MPLS/DiffServ node must • Detect PHB of incoming packet • Detect PHB of outgoing packet • Handle packet according to MPLS label and DiffServ • MPLS engines handling packets • Vital: somehow encapsulate DiffServ info in MPLS header!
How to map DiffServ info into MPLS label? • LSR:switching based onMPLS header • LSRdoes not read IP header – does not knowDSCP • Why? This is initial philosophy of MPLS • We need to map betweenPHBtoMPLS header somehow • IETF RFC 3270 • Use EXP field in MPLS header • There are only 3 bits there • Differentiated Services Codepoint (DSCP):6bits • Problem:How to encode 6 bitsusing 3 bits only? • To method have been proposed inIETF 3270
DiffServ/MPLS mapping:E-LSP • Method 1: E-LSP • DiffServ network with less than 8 PHBs • In EXP filed we set PHB • One-to-one EXP-PHB mapping • LSP withEXP setis calledE-LSP • EXP-inferred LSP • There is no strict rules how to map • E-LSP determines PHB schedulerand dropping priority • PHB scheduler:how to treat packets with the same PHB • Example:
DiffServ/MPLS mapping:L-LSP • Method 2: L-LSP • What else we can use in MPLS header?Label field only! • IETF RFC 3270:useLabel field for • DetectPHB scheduler • Implicitly determines PHB • EXP field identifies the dropping probability • EXP/PSC-PHB mapping • This LSP is called L-LSP (Label-inferred LSP) • Scheduler information:carried byCR-LDPor RSVP-TE • label –> scheduler -> PHB • ifEF PHB is concernedLabel field is simply used! • Number of priorities can be more than 8
DiffServ/MPLS mapping • Example of L-LSP E-LSPL-LSP Defined byEXP onlyDefined byLabel and/or EXP Up to 8 PHBsUnlimited number of PHBs* Label:path onlyLabel:pathandscheduler Signaling is not neededSignaling required * Number of LSP is limited by DiffServ (64)
Example of mapping: E-LSP и L-LSP • E-LSP:up to 8 differentPHB • L-LSP: PHBswith different dropping probabilities
TE inDiffServ/MPLS • Some problems cannot be solved using • DiffServ only • MPLS only • What can we do: • UseDiffServ/MPLS • UseMPLS-TE designed for DiffServ/MPLS • MPLS/DiffServ-aware Traffic Engineering • New standards for DiffServ/MPLS-TE • IETF RFC 3564, 2003 • IETF RFC 4125, 2005 • IETF RFC 4127, 2005 • IETF RFC 4128, 2005
TE inDiffServ/MPLS: CTx • Reserve bandwidth for each class • RFC 3564: concept of“class type”, CT for short • Bandwidth reservation, traffic admission • RFC 3564 does not define how to map traffic toCT • We can come up with our own solutions • There are 8CTs with 8 priorities • CT0 – CT7 : CT0 – Best Effort • Priorities: preemption • LSP supportingCTis calledDiffServ-TE LSP • Example: • Two traffic classes:VoIPand data • Two network services:BEfor dataandEFforVoIP • Task:guarantees forVoIP
TE inDiffServ/MPLS: example • Providing guarantees toVoIP • CT0 for data + separate queue • CT1 for VoIP + separate queue • At each node organize separate queues • Define mappingPHB –> LSP –> CTx, x=0,1
TE inDiffServ/MPLS: TE • How to computeLSPs? • MPLS-TE • CSPF based on available bandwidth, link attributes • Then,SPF to find shortest path • ForDiffServ/MPLS-TE • We have to take into accountCTx • TED:avaiable bandwidth for eachCT +priorities, attributes, etc. • New changesfor IGPare required (OSPF, IS-IS) • Ideal case: support 64 values (8 CTx * 8 priorities) • IETF:only 8 values • 8 TEclasses (TE0-TE7) out ofpossible 64 • Define CT • Define priority
TE inDiffServ/MPLS: TE-CT mapping • ChoosingTEclasses for a network (at most 8) • IGPhave to carry info about available bandwidth perTE • MessageUnreserved Bandwidth • Earlier forMPLS-TE (underserved bandwidth forMPLS-TE) • СSPFuses this information
TE inDiffServ/MPLS: signaling • Signaling forDiffServ/MPLS-TE • MessageRSVP PATH • CT carries it in Classtype (CT) object • IdentifiesCT out of which bandwidth is reserved • Smooth transition toDiffServ/MPLS • CTobject is inRSVP PATHforCT1-CT7 only • If not defined then -CT0 (best effort) • A node that does not supportDiffServ/MPLS • Does not handle the message • Does not setup LSP • Return PATH ERR • If error is returned another attempt without CT object is made • After LSP successfully set • Available bandwidth for each TE=(CTx,priority) is recomputed • IGPbroadcasts this information
Example • Broadcasting info about available bandiwidth • For eachTE (CTx,priority) • TEDatAis filling
Example • А:computesLSPbased onCSPF • Available bandwidth for thisTE (CTx,priority) • Administrative groups • ClassicIGP metrics • ThenSPFwithout constraints
Example • IfRSVP PATH – RSVP RESVwas successful • LSP has been set • Recompute and distribute info about available bandwidth • NodesC, D • TEDatAis filling
Example • IfC doesnot supportDiffServ/MPLS-TE • LSPis not set • RSVP PATH-ERRreturned toA
Example • Upon reception ofRSVP PATH-ERR • А may try to set up LSP once again • In this caseRSVP PATH does notcontain CTobject
Traffic engineering inDiffServ/MPLS • Bandwidth distribution between CTx • Measured in percents • Percent of available bandwidth assigned to CTx • It is calledBandwidth Constraint, BC • How BCandCT are related to each other • Bandwidth constraint model • There are twoBCs currently defined • Maximum Allocation Model, MAM • Russians Dolls Model, RDM
Мaximum allocation model (MAM) • EachBCis assigned a single CT • Available bandwidth is strictly (somehow) divided between CTx • Advantages: • Isolated traffic of CTs well • Shortcomings: • Free bandwidth in CTx cannot be used by traffic of CTy
MAM: problem of full isolation • Example • All links are 10Mbps • Data traffic A-D: 10 Mbps • Reservations at all links: CT1 - 1Mbps; CT0 - 9Mbps • +: data traffic cannot use shortest path viaG even if it is free • -: VoIP traffic always use shortest path
Russian dolls model (RDM) • What RDM does? • Tries to decrease the level of isolation • Allows dynamically share available bandwidth between CTx • According to RDM: • CT0: Best effort • CT7:Strict guarantees • The level of bandwidth sharing is different • BC7: fixed available bandwidth forCT7 only • BC0:all available bandwidth of the link, shared between allCTx • Example of RDM: • BC6: can be used by CT7 and CT6 traffic • BC5:can be used byCT7, CT6, CT5 traffic • BC4:can be used byCT7, CT6, CT5, CT4 traffic
Russian dolls model (RDM) • Example of RDM • Advantages • Shares available bandwidth • The network is more dynamic • Shortcomings • Traffic is not well isolated • The level of isolation is different for CTx
RDM example • Example • Two CT (CT0-data, CT1-VoIP), all links are 10Mbps • Data traffic: A-D 9Mbps • BC1 = CT1 = 1Mbps; BC0 = CT0 + CT1 = 10 Mbps • If there is noVoIP traffic, this path can be used for data
RDM example • Example • Data traffic: A-D 10Mbps • If there is noVoIP traffic, this path can be used for data • All the bandwidth is used at C-G-D path
RDM example • VoIP traffic: A-D 1Mbps • using priority we intercept and take over this path forVoIP
Bandwidth constraints (BC) models • Propertiesof BC model • Different model at different links can be used • IGP ‘Bandwidth constraint’distributes • Type ofBC model • Available bandwidth for each TE=(CTx, priority) • Compare MAMandRDM MAM RDM OneBCto oneCT OneBCtoone/few СЕ Full traffic isolationWeak isolation Interception is not neededInterception is needed Not effective bandwidth usage Effective bandwidth usage
ImplementingDiffServ/MPLS-TE • Define bandwidth constraints mode • MAMor/and RDM for each link • Available bandwidth forBCat each link • Set these parameters in interior nodes • DefineTE=(CTx, priority) • Do we actually need priorities within a single CT? • ChooseIGP with DiffServ/MPLS-TE • IS-ISor OSPF • SetDiffServparameters in network nodes • Check traffic conformance to specifications • Define class mapping DiffServ/MPLS • E-LSP (if no more than 8 PHBs) • L-LSP (of more than 8 PHBs) • Define packet marking at ingress nodes
Transition:MPLS-TE ->DiffServ/MPLS-TE • Stage 1: • Define CTxand priorities • LSPwithoutCT object in RSVP-PATHcorresponds toCT0 • Stage 2: • Mapping (CTx,priority) ->TE class • Unreserved Bandwidth TLV carries info for eachTE • New and old nodes • Earlier (MPLS-TE)for each link • Old nodes:must interpret as(CT0,i) for alli • New nodes:TEi, i=0,1,…,7 • Define either MAM of RDM for each link • (CTx,j)should correspond to a certainTEi and be assigned to BCi • Stage 3: • Check whether all this stuff is working…