rfc-3308

Layer Two Tunneling Protocol (L2TP) Differentiated Services Extension

P. Calhoun, W. Luo, D. McPherson, K. Peirce
date2002-11 streamIETF areartg wgl2tpext statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc3308 doi10.17487/RFC3308
The Layer Two Tunneling Protocol (L2TP) provides a standard method for tunneling PPP packets. The current specification provides no provisions for supporting Differentiated Services (diffserv) over the L2TP control connection or subsequent data sessions. As a result, no standard mechanism currently exists within L2TP to provide L2TP protocol negotiations for service discrimination.

Extracted elements (17)

design-rationale §5

CCDS AVP and SDS AVP are independent; CCDS handles diffserv for the control connection while SDS handles data sessions. The PHB code in one SHOULD NOT imply anything about the PHB code in the other, allowing implementations to support either or both.

diffserv, qos

design-rationale §9

Signaling PHBs via L2TP is more appropriate than signaling DSCPs because it maintains a consistent end-to-end differentiated service as the L2TP connection traverses arbitrary DS domain boundaries, where DSCPs may be rewritten at each boundary node.

diffserv, qos

interoperability-note §9

It is acceptable that outer DS field markings on packets arriving on a given control connection or session differ from what the tunnel ingress node originally set, because DSCPs may be legitimately rewritten at DS domain boundaries.

diffserv, qos, ip

normative-requirement §8 MUST NOT

A set of PHBs signaled using a single PHB ID MUST NOT cause additional packet reordering within an individual connection versus using a single PHB, per RFC 3140.

diffserv, qos

normative-requirement §4 MUST

If the session initiator is unwilling to omit SDS upon receiving a response with no SDS AVP, it MUST send a CDN containing Result Code 12 indicating SDS AVP value (48) as the reason.

diffserv, qos

normative-requirement §4 MUST

If the session terminator does not support the requested PHB code upon receipt of ICRQ/OCRQ with SDS AVP, it MUST ignore the SDS AVP and send ICRP/OCRP without the SDS AVP.

diffserv, qos

normative-requirement §3 MUST

If the tunnel initiator receives an SCCRP with a CCDS AVP value different from that requested and is unwilling to use it, it MUST send a StopCCN with Result Code 8 indicating CCDS AVP value (47).

diffserv, qos

normative-requirement §3 MUST

If the tunnel terminator cannot support the requested PHB code, it MUST send an SCCRP with a CCDS AVP indicating the PHB code it is willing to use, serving as a counter-offer.

diffserv, qos

normative-requirement §3 MUST

If the tunnel terminator provides no support for the CCDS AVP upon receipt of an SCCRQ containing it, it MUST ignore the AVP and send an SCCRP without the CCDS AVP.

diffserv, qos

normative-requirement §6 MUST

Upon successful establishment of an L2TP tunnel control connection or session employing DS AVPs, both LAC and LNS MUST use their own PHB-to-DSCP mappings to map the PHB to a DSCP and place it in the DS field of the outer IP header of transmitted packets.

diffserv, qos, ip

protocol-element §3.1

The Control Connection DS (CCDS) AVP (Attribute Type 47, Vendor ID 0) is used to negotiate the desired Per Hop Behavior (PHB) code for all packets within an L2TP tunnel's control connection. It is carried in SCCRQ and SCCRP messages.

diffserv, multicast, qos

protocol-element §6

The PHB code is a left-justified 16-bit field using Per Hop Behavior (PHB) encoding as defined in RFC 3140. Both CCDS and SDS AVPs use this same encoding.

diffserv, qos

protocol-element §4.1

The Session DS (SDS) AVP (Attribute Type 48, Vendor ID 0) is used to negotiate the desired PHB code for all packets within an individual L2TP session. It is carried in ICRQ, ICRP, OCRQ, and OCRP messages.

diffserv, qos

registry §10

IANA assigned AVP Attribute Type 47 for the CCDS AVP and Attribute Type 48 for the SDS AVP within the L2TP namespace. IANA also assigned Result Code 8 (StopCCN, mismatching CCDS value) and Result Code 12 (CDN, mismatching SDS value).

registry, diffserv

security-consideration §11 MUST

Modifying a DSCP MAY constitute theft or denial of service, so protocols using this encoding MUST be adequately protected. No new security issues beyond those in RFC 2474 and RFC 2475 are introduced.

security, diffserv

wire-format §3.1

The CCDS AVP is encoded as a fixed 8-octet AVP with Vendor ID 0, Attribute Type 47, optional M and H bits, and a 16-bit left-justified PHB Code field in the last two octets. The length (before hiding) MUST be 8 octets.

diffserv, qos

wire-format §4.1

The SDS AVP is encoded as a fixed 8-octet AVP with Vendor ID 0, Attribute Type 48, optional M and H bits, and a 16-bit left-justified PHB Code field. The length (before hiding) MUST be 8 octets.

diffserv, qos