© 1999, cisco systems, inc. 6-1 qos chapter 6. © 1999, cisco systems, inc. cmpls 1.0—6-2...
TRANSCRIPT
© 1999, Cisco Systems, Inc. 6-1
QoSQoS
Chapter 6Chapter 6
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-2
ObjectivesObjectives
Upon completion of this chapter, you will be able to perform the following tasks:• Discuss Quality of Service Policies
• Discuss the Service Class Templates
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-3
TopicsTopics
• IP QoS Concepts
• IP+ATM QOS implementation: 8650
• MPLS Command Line Interface
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-4© 1999, Cisco Systems, Inc. www.cisco.com 6-4
IP QoS ConceptsIP QoS Concepts
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-5
Network Architecture
ConventionalRouter
Label EdgeRouters
ATM-LSR
Label SwitchingRouter (LSR)
Note: End to end service is IP; therefore, IP quality of service is what MPLS must support
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-6
Three Components of QOS Concepts
Three Components of QOS Concepts
• Packet Classification Policy
• Transmit Queue Scheduling Policy
• Transmit Queue Drop Policy
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-7
MPLS COS Differentiated Services
‘Differentiated Services’ approach:
• Classification: Set IP precedence at edge
• Scheduling: WFQ by class
• Transmit Drop: WRED by class
• Result: Provision for statistical delivery of high precedence traffic
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-8
Switching
rx queue tx queue
Tail Drop FIFO
tx hwrx hw
No QoS:No QoS:
•No Packet Classification Policy
•Scheduling Policy: Transmit Queue FIFO
•Transmit Queue Tail Drop Policy
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-9
Classification: Committed Access Rate (CAR)
Classification: Committed Access Rate (CAR)
• Used by router to classify received packets
• A flexible precedence setting mechanism
—Set precedence based on TCP and IP headers and conformance to a token bucket
—Uses Access-list logic to match packets
—Primary function: identify packets within profile and mark them at appropriate precedence value
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-10
Drop Policy: Weighted Random Early Detection
Manages queues that develop in routers during congestion
• Discards so that TCP windows are decreased, slowing ingress rate from application
• Provides RED benefits (shorter queues, improved fairness)
• Drops most from heaviest users, and from lower Precedence
P(drop)
Qavg
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-11
Scheduling Policy: Weighted Fair Queuing (WFQ)
Scheduling Policy: Weighted Fair Queuing (WFQ)
WFQ schedules transmission of packets during congestion
• Allocates link bandwidth to class by weight
• Unused bandwidth is available for other classes
• Provides bounded delay
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-12
MPLS Class of ServiceMPLS Class of Service
On non-ATM LSRs, it’s simple:
• Copy IP precedence to MPLS COS field
• Use MPLS COS as input to WRED
Net result is end-to-end QOS indistinguishable from non-MPLS network.
LERs connected to ATM and ATM-LSRs are the hard part.
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-13
COS on ATM-LSRsCOS on ATM-LSRs
Two challenges:
• No WRED in switches
• No COS field in cell header
Three modes:
• ATM Forum PVC
• Single ‘VC’ (LSP)
• Multi-’VC’ (LSP)
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-14
ATM Forum PVC mode
Usually used in non-MPLS enabled ATM core
Looks like a packet interface to MPLS CoS
BW and other parameters configured on the PVC
Requires significant amount of configuration
PVC
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-15
Multi-VC mode
MPLS ATM core provides MPLS CoS at each link by establishing parallel LVCs (up to 4)
Classification at MPLS ATM edge based on IP precedence
Scheduling Policy can assign weight to each class on per-link basis
Drop policy can use switch pre-existing discard thresholds mechanisms on switches
MPLS ‘LVCs’
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-16
Multi-VC mode example
• Queuing on all links is per-class WFQ
• E.g. Premium gets 80% of link, Standard gets 20%– Effect is to make premium see unloaded network
• Unused b/w available to other classes
• No per-router-pair configuration required
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-17
MPLS ‘VC’
Single ABR ‘VC’ modeSingle ABR ‘VC’ mode
• ABR control algorithms are enabled on LSRs
• ATM-LSRs push back on edge LSRs to eliminate congestion in ATM-LSR cloud
• non-ATM-LSRs respond to ABR feedback, manage per-VC queues using WRED, WFQ
• Drop decisions made where MPLS COS is visible - outside the ATM-LSR cloud.
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-18
Single VC ModeSingle VC Mode
ABR parameters• MCR is effectively zero (to avoid loss/blocking)
• Division of bandwidth among competing VCs may be uniform or configured
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-19
Single VC Mode Example
A
B
Chicago
New York
Nowheresville
Tinytown
• Fair sharing of link A-B is not always desirable
• Configure relative bandwidth on router-pair basis, e.g. Tinytown-Nowheresville = 1; Chicago-New York = 100
• Relative BW carried in TDP, used by ABR algorithms
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-20© 1999, Cisco Systems, Inc. www.cisco.com 6-20
IP+ATM QOS implementation:
8650 QBIN and SCT
IP+ATM QOS implementation:
8650 QBIN and SCT
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-21
COS in BPX SwitchesCOS in BPX Switches
Classification is at MPLS-ATM edge:
• Up to 4 LVC’s created per dest. prefix, based on TOS
• Scheduling Policy on BXMs based on weights given to each TOS
• Drop Policy based on cell discard features of QBINs
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-22
Scheduling Policy: 8650 QBINs
Scheduling Policy: 8650 QBINs
16 COS QBINs per interface
AutoRoute created VCs are placed into QBIN based on service type
CBR in QBIN 1, VBR in QBIN 2, etc.
MPLS uses QBINs 10-14
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-23
16 separate queues
CBR
UBR
ABR
ATM Queues
IP Queues
Class 1
Class 2
Class 3
IP Awareness in an IP+ATM Switch
IP Awareness in an IP+ATM Switch
ATM Partition:Bandwidth allocatedby VC
MPLS Partition:• Bandwidth allocated
by class• Separate labels per
class
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-24
Step 1:Define buffering
Step 2:Define bandwidth
50%
35%
15%
Gold
Silver
Bronze
Guaranteed: latency, deliveryGuaranteed: latency, delivery
Guaranteed: deliveryGuaranteed: delivery
Best effortBest effort
Class-Based WFQ: QoS Guarantees and Bandwidth Efficiency
Class-Based WFQ: QoS Guarantees and Bandwidth Efficiency
Weights guarantee minimum bandwidthBuffering controls latencyUnused capacity is shared amongst the other classes• proportional to their weights
Each queue can be separately configured for QoS (e.g. ABR)Benefits:• maximize transport of paying traffic• no loss of service class guarantees• no wasted bandwidth as with PVCs
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-25
Maximizing Bandwidth Utilization
Class-based WFQ: feature in Cisco IP+ATM switches
Each class is given guaranteed minimum bandwidth
If additional bandwidth is available each class can access a prioritized share
Used to manage available bandwidth between MPLS and ATM as well as individual IP and ATM service classes
For MPLS, applies to either ABR or Multi-TVC models
Unused BW
Sub-class 1Minimum BW = n
Time
Sub-class 2Minimum BW = 2n
Sub-class 3Minimum BW = n
Bandwidth
2n
n
n
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-26
BPX Drop PolicyBPX Drop Policy
Each QBIN has CLP low and high thresholds that define when cells should be discarded
Thresholds can be set on each QBIN
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-27
Service Class Template (SCT)
Provide a means of inferring extended parameters, which are generally platform-specific, from the set of standard ATM protocol parameters passed in VSI connection set-up primitives.
Provide support for different classes of service, I.E. MPLS COS 0, MPLS COS 1, etc.
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-28
SCT Definition
Service Templates have pre-defined, non-changeable values which are suited to typical interface uses
A set of Service Templates are stored on each switch, and are downloaded to the interface service modules as needed
In 9.2.1, 3 templates are supported: template 1 is for MPLS, 2 for UNI-ATMF, and 3 for NNI-ATMF
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-29
SCT Definition (cont.)
Service Templates contain two classes of data:
• One class consists of parameters necessary to establish a connection (i.e. per-VC)
• The second class of data items includes those necessary to configure the associated Class-of-Service Buffers that provide QoS support LSC Configuration
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-30
SCT VC Parameters
VC Descriptor Parameters MPLS Default ValuesMCR (%) MPLS 0-7: N/A TagAbr: 0Discard Selection EPDCDVT (msec) 250,000VSVD OffSCR (%) MPLS 0-7: N/A TagAbr: 0MBS (cells) MPLS 0-7: N/A TagAbr: 0Policing DisableICR (%) MPLS 0-7: N/A TagAbr:0ADTF (msec) MPLS 0-7: N/A TagAbr:500TRM (msec) MPLS 0-7: N/A TagAbr: 0VC Qdepth (cells) 61,440CLP Hi (%) 100CLP Lo/ EPD (%) 40EFCI (%) TagAbr: 20RIF (n where n is 1/(2^n)) TagAbr: 16RDF (n where n is 1/(2^n)) TagAbr: 16NRM (power of 2) TagAbr: 32FRTT (usec) TagAbr: 0TBE (cells) TagAbr: 16,777,215CAC Treatment LCNScaling Class MPLS 0-7: Scaled 1st TagAbr: Scaled 2nd
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-31
SCT QBIN Parameters
CoS Descriptor Parameters MPLS Default ValuesMax Threshold (usec) 95CLP High Threshold (%) 100CLP Low/EPD Threshold (%) 95EFCI (%) MPLS 0-7: 100 TagAbr: 6Discard Selection EPDVC Shaping On if BXM supports VC Shaping
CoS Number MPLS Class of Service10 MPLS 0, 411 MPLS 1, 512 MPLS 2, 613 MPLS 3, 714 TagAbr
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-32© 1999, Cisco Systems, Inc. www.cisco.com 6-32
QoS ConfigurationQoS Configuration
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-33
•A sample network
•A checklist of BPX and IOS configuration commands
•The configuration for the sample network, with command explanations and supporting dsp and show commands
ConfigurationConfiguration
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-34
Sample NetworkSample Network
bpx3bpx2
bpx1
2.1
4.1 4.1
2.1
2.2 2.1
mgx2
mgx1
mgx3
2.6
2.6 2.3
rtr2 rtr3
rtr1
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-35
Classification: Multi-VC mode (3 Steps)
Classification: Multi-VC mode (3 Steps)
1. Create COS map to correlate IP precedence to MPLS COS
2. Enable multi-vc mode on subinterfaces at MPLS-ATM edge
tag-switching atm multi-vc
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-36
Classification: Multi-VC mode (3 Steps)
Classification: Multi-VC mode (3 Steps)
3. Customize COS map, if desired
• Create COS map to define precedence-to-MPLS COS correlation
• Create ACL to match packets
• Create prefix map to connect COS map and ACL
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-37
Review: Existing RPM2 Configuration
Review: Existing RPM2 Configuration
Hostname rpm1ip cefrpmrscprtn par 100 100 0 299 0 3840 3840!addcon vpc switch 9/1.4 11 rslot 0 1 10!Interface loopback 0 ip address 10.2.2.2 255.255.255.255!Interface switch 9/1! Next sub is the sub connected to the LSCInterface switch 9/1.4 tag-switching ip unnumbered loopback 0 atm pvc 111 11 0 aal5snap tag-switching atm vp-tunnel 11 tag-switching ip!router eigrp 1 network 10.0.0.0
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-38
Classification: Multi-VC Mode (3 Steps)—Step 1
router#sho tag cos-map 1cos-map 1 class tag-VC 3 control
2 premium
1 standard
0 available
router#sho tag cos-map 1cos-map 1 class tag-VC 3 control
2 premium
1 standard
0 available
! Some commands from config review slide omitted to allow more space...Hostname rpm1ip cef!rpmrscprtn par 100 100 0 299 0 3840 3840!tag-switching cos-map 1!addcon vpc switch 9/1.4 11 rslot 0 1 10!Interface loopback 0 ip address 10.2.2.2 255.255.255.255!Interface switch 9/1! Next sub is the sub connected to the LSCInterface switch 9/1.4 tag-switching ip unnumbered loopback 0 atm pvc 111 11 0 aal5snap tag-switching atm vp-tunnel 11 tag-switching ip!router eigrp 1 network 10.0.0.0
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-39
Classification: Multi-VC Mode (3 Steps)—Step 2
! Some commands from config review slide omitted to allow more space...Hostname rpm1ip cef!rpmrscprtn par 100 100 0 299 0 3840 3840!tag-switching cos-map 1!addcon vpc switch 9/1.4 11 rslot 0 1 10!Interface loopback 0 ip address 10.2.2.2 255.255.255.255!Interface switch 9/1! Next sub is the sub connected to the LSCInterface switch 9/1.4 tag-switching ip unnumbered loopback 0 atm pvc 111 11 0 aal5snap tag-switching atm vp-tunnel 11 tag-switching ip tag-switching atm multi-vc!router eigrp 1 network 10.0.0.0
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-40
Classification: Multi-VC Mode (3 Steps)—Step 3
! Some commands from config review slide omitted to allow more space...! tag-switching cos-map 1 class 3 premium class 2 available class 1 available class 0 available!addcon vpc switch 9/1.4 11 rslot 0 1 10!Interface loopback 0 ip address 10.2.2.2 255.255.255.255!Interface switch 9/1! Next sub is the sub connected to the LSCInterface switch 9/1.4 tag-switching ip unnumbered loopback 0 atm pvc 111 11 0 aal5snap tag-switching atm vp-tunnel 11 tag-switching ip tag-switching atm multi-vc!router eigrp 1 network 10.0.0.0
router#show tag cos-map 1cos-map 1 class tag-VC 3 premium 2 available 1 available 0 available
router#show tag cos-map 1cos-map 1 class tag-VC 3 premium 2 available 1 available 0 available
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-41
Classification: Multi-VC mode (3 Steps)—Step 3 (cont.)
Assign cos-map to IP prefix using IP access list (multiple prefix-maps may be assigned):
router#sho ip access-list 1Standard IP access list 1 permit 10.0.0.0, wildcard bits 0.255.255.255
router#sho tag cos-map 2cos-map 2 class tag-VC 3 control 2 premium 1 available 0 available
router(config)#tag-switching prefix-map 1 access-list 1 cos-map 2
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-42
Scheduling: BPX (3 Steps)—Steps 1 and 2
Scheduling: BPX (3 Steps)—Steps 1 and 2
1. Confirm and/or assign SCT 1 to each trunk on BPX
cnfvsiif
2. On LSC, Assign % weights to each COS on each xtagatm extended port
tag-switching atm cos
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-43
3. On BPX, change QBIN discard threshold to affect latency
cnfqbin
Scheduling: BPX (3 Steps)—Step 3Scheduling: BPX (3 Steps)—Step 3
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-44
Interface 1/0
Sample Network Trunk Numbers
Sample Network Trunk Numbers
2.1
4.1 4.1
2.1
2.2 2.1
LSC1
bpx1
Trunk 2.8
bpx2
LSC2
bpx3
LSC3
Trunk 2.6RPM
PXM
mgx1
RPM
PXM
mgx3
Trunk 2.3RPM
PXM
mgx3
Trunk 2.6
Interface 1/0
Trunk 2.8
Interface 2/0
Trunk 2.8
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-45
! On LSC2:ip cef!interface atm 1/0 tag-control-protocol vsi id 1!interface loopback 0 ip address 10.1.1.2 255.255.255.255
interface XTagATM21 ip unnumbered Loopback0 extended-port ATM1/0 bpx 2.1 tag-switching ip!interface XTagATM41 ip unnumbered Loopback0 extended-port ATM1/0 bpx 4.1 tag-switching ip!router eigrp 1 network 10.0.0.0
Review: LSC ConfigurationReview: LSC Configuration
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-46
Scheduling: BPX (3 Steps)—Step 1
wegb134 TN StrataCom BPX 8620 9.2.01 June 29 1999 18:05 GMT
Trunk: 4.1
Service Class Template ID: 2
Last Command: dspvsiif 4.1
Next Command:
wegb134 TN StrataCom BPX 8620 9.2.01 June 29 1999 18:05 GMT
Trunk: 4.1
Service Class Template ID: 2
Last Command: dspvsiif 4.1
Next Command:
wegb134 TN StrataCom BPX 8620 9.2.01 June 29 1999 18:07 GMT
Trunk: 4.1
Service Class Template ID: 1
This Command: cnfvsiif 4.1 1
wegb134 TN StrataCom BPX 8620 9.2.01 June 29 1999 18:07 GMT
Trunk: 4.1
Service Class Template ID: 1
This Command: cnfvsiif 4.1 1
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-47
Scheduling: BPX (3 Steps)—Step 2
! On LSC2:ip cef!interface atm 1/0 tag-control-protocol vsi id 1!interface loopback 0 ip address 10.1.1.2 255.255.255.255!interface XTagATM21 ip unnumbered Loopback0 extended-port ATM1/0 bpx 2.1 tag-switching ip tag-switching atm cos control 50 tag-switching atm cos premium 25 tag-switching atm cos standard 15 tag-switching atm cos available 10
interface XTagATM41 ip unnumbered Loopback0 extended-port ATM1/0 bpx 1.5 tag-switching ip tag-switching atm cos control 50 tag-switching atm cos premium 25 tag-switching atm cos standard 15 tag-switching atm cos available 10
interface XTagATM261 ip unnumbered Loopback0 extended-port ATM1/0 bpx 2.6.1 tag-switching ip tag-switching atm cos control 50 tag-switching atm cos premium 25 tag-switching atm cos standard 15 tag-switching atm cos available 10
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-48
Scheduling: BPX (3 Steps)—Step 3
wegb134 TN StrataCom BPX 8620 9.2.01 June 29 1999 21:56 GMT
Qbin Database 4.1 on BXM qbin 10 (Configured by MPLS1 Template) (EPD Enabled on this qbin)
Qbin State: EnabledDiscard Threshold: 65536 cellsEPD Threshold: 95%High CLP Threshold: 100%EFCI Threshold: 100%
Last Command: dspqbin 4.1 10
Next Command:
wegb134 TN StrataCom BPX 8620 9.2.01 June 29 1999 21:56 GMT
Qbin Database 4.1 on BXM qbin 10 (Configured by MPLS1 Template) (EPD Enabled on this qbin)
Qbin State: EnabledDiscard Threshold: 65536 cellsEPD Threshold: 95%High CLP Threshold: 100%EFCI Threshold: 100%
Last Command: dspqbin 4.1 10
Next Command:
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-49
Example SummaryExample Summary
• Configuration for MGX2 and BPX2
• Default classification on MPLS-ATM edge (MGX2)
• No changes to BPX QBIN settings
• QBINs set to 50/30/15/5 for control, premium, standard, and available
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-50
Example: RPM2Example: RPM2
tag-switching cos-map 1 class 3 premium class 2 available class 1 available class 0 available!Interface switch 9/1! Next sub is the sub connected to the LSCInterface switch 9/1.4 tag-switching ip unnumbered loopback 0 atm pvc 111 11 0 aal5snap tag-switching atm vp-tunnel 11 tag-switching ip tag-switching atm multi-vc!router eigrp 1 network 10.0.0.0
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-51
Example: LSC2Example: LSC2
interface XTagATM21 ip unnumbered Loopback0 extended-port ATM1/0 bpx 2.1 tag-switching ip tag-switching atm cos control 50 tag-switching atm cos premium 30 tag-switching atm cos standard 15 tag-switching atm cos available 5!interface XTagATM41 ip unnumbered Loopback0 extended-port ATM1/0 bpx 4.1 tag-switching ip tag-switching atm cos control 50 tag-switching atm cos premium 30 tag-switching atm cos standard 15 tag-switching atm cos available 5
interface XTagATM261 ip unnumbered Loopback0 extended-port ATM1/0 bpx 2.6.1 tag-switching ip tag-switching atm cos control 50 tag-switching atm cos premium 30 tag-switching atm cos standard 15 tag-switching atm cos available 5!Router eigrp 1network 10.0.0.0
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-52
Summary Example: BPX2Summary Example: BPX2
bpx1 TN StrataCom BPX 8620 9.2.01 June 29 1999 18:07 GMT
Trunk: 1.2
Service Class Template ID: 1
This Command: cnfvsiif 1.2 1
bpx1 TN StrataCom BPX 8620 9.2.01 June 29 1999 18:07 GMT
Trunk: 1.2
Service Class Template ID: 1
This Command: cnfvsiif 1.2 1
cnfvsiif 2.1 1cnfvsiif 4.1 1cnfvsiif 2.6.1 1
© 1999, Cisco Systems, Inc. www.cisco.com CMPLS 1.0—6-53
SummarySummary
• Classification is done by using IP TOS
• Scheduling in core is based on BPX standard QBIN servicing
• Drop policy based on WRED if configured, and always by base BPX scheduling algorithms in IP+ATM