Loading in 2 Seconds...
Loading in 2 Seconds...
PCN WG (Pre-Congestion Notification)– a brief status update Philip Eardley, BT TSVAREA, IETF-73 Minneapolis 18 Nov 08 http://tools.ietf.org/wg/pcn/
Main message • The key docs are at critical stage… • Architecture (Info): about to do IETF Last Call • Baseline encoding (Std): WG Last Call very soon • Marking behaviour (Std): WG Last Call very soon • Feedback welcome asap • … so you may want to think about how to implement and/or use it, or how it might impact on what you’re doing
What is Pre-Congestion Notification? • Objective: • Protect the quality of service of established inelastic flows within a single DiffServ domain, • by using flow admission and termination based on pre-congestion information • Flow Admission (for “normal” situations) • Flow Termination (for “unusual” situations, eg failures) • Motivation: • Admission control: there are a range of existing CAC approaches with a range of scalability-accuracy tradeoffs • classic trade-off between flow admission ctrl (smarts) vs. generous sizing (capacity) • PCN offers a scalable light-weight solution with strong QoS assurances • Flow termination: typical current approach is just to wait for users to hang up • PCN rapidly removes some flows in order to preserve QoS of the rest
MSC MSC V V V BTS BTS PCN: Example scenario • PCN-boundary-node = VoIP Trunk GW • VoIP Trunk GW handles high number of calls • All per-flow state restricted to VoIP GWs PCN-interior-node PCN-boundary-node PCN PCN-boundary-node
MSC MSC V V V BTS BTS PCN: Example scenario • DiffServ forwarding • typically EF PHB • measure current load of PCN-traffic • selectively mark packets if congestion appears imminent (hence pre-congestion) PCN-interior-node PCN-boundary-node PCN PCN-boundary-node • monitor PCN-marks (for a pair of boundary nodes) • and hence make decisions about whether to admit new flows (or terminate existing flows)
PCN Concept • 2 levels of pre-congestion notification encoded into pkt headers • or 1 level if short of PCN codepoints
Encoding • (STD) Baseline encoding • Uses 1 DSCP • Allows re-use of other DSCPs • Switches on PCN behaviour using ECN field • Compatible with existing tunnels (RFC 3168 & 4301) • Gives 1 level of PCN-marking • (EXPTL) Extension encodings • Extra encoding states so can distinguish different sorts of PCN-marking
Next steps • Complete current WG docs to RFC • Architecture; baseline encoding; marking behaviour • Progress one or more boundary node behaviours (EXPTL) • ie methods to do flow admission & termination based on the PCN-marked pkts • Several on the table • Progress one or more Encoding extensions (EXPTL) • Several on the table • Signalling reqts for PCN info (eg ingress informed about measurements made by egress)
generoussizing PCN motivation • flow admission ctrl (smarts) vs. generous sizing (capacity) • classic trade-off with diseconomy of scale either way • the more hops away from admission control smarts • the more generous sizing is needed for the voice/video class edge & interiorflow admission controlover Diffserv € € €€ €€ €€ € € edge flowadmission controlover Diffserv € € €€ €€ €€€ PCN with Diffserv Customer Access Provider Backbone provider Access Provider Customer CustomerN/wk CustomerN/wk Core Access Backhaul Backhaul Access Customerrouter MSAN MetroNode MetroNode MSAN Customerrouter
Is it a PCN-pkt? If rate of PCN-pkts > PCN-threshold-rate then mark all pkts (optional) PCN-interior-node If rate of PCN-pkts > PCN-excess-rate then mark pkts above this rate Write encoding in pkt Marking behaviour