Network Working Group V. Jain
Internet-Draft R. Penno
Expires: March 2002 S. McGeown
Nortel Networks
Ly Loi
TahoeNetworks
Mark Rayson
BT Network and Systems
Marc Eaton-Brown
FrontRunner Solutions
September, 2001
L2TP Tunnel Switching
draft-ietf-l2tpext-tunnel-switching-01.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts. Internet-Drafts are draft documents valid for a maximum
of six months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet- Drafts
as reference material or to cite them other than as 'work in
progress.' The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract
For some time now several equipment manufactures have been
implementing what is called L2TP tunnel switching or L2TP multihop.
Although this technology has several applications and is quite
widespread, there has been no effort to standardize the nomenclature
and methods associated with it.
The goal of this document is to achieve a common denominator in what
is tunnel switching, its advantages and nomenclature associated with
it.
Penno, et al. [Page 1]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
Specification of Requirements
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
document, are to be interpreted as described in RFC 2119 [3].
Table of Contents
1. What is L2TP Tunnel Switching. . . . . . . . . . . . . . . 3
2. Tunnel Switching Nomenclature . . . . . . . . . . . . . . .3
3. Why L2TP Tunnel Switching. . . . . . . . . . . . . . . . . 4
4. Disadvantages of Tunnel Switching. . . . . . . . . . . . . 5
5. Extensions to enhance tunnel switching support. . . . . . .6
6. References . . . . . . . . . . . . . . . . . . . . . . . .11
7. Acknowledgments. . . . . . . . . . . . . . . . . . . . . .11
8. Author's Addresses. . . . . . . . . . . . . . . . . . . . 11
Full Copyright Statement. . . . . . . . . . . . . . . . . 12
Penno, et al. [Page 2]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
1. What is L2TP Tunnel Switching
L2TP tunneling allows processing of layer2 packets to be divorced
from the termination of layer2 circuit. L2TP tunnel switching
facilitates moving the termination of a layer2 session further to
another LNS potentially unknown to the first LAC. It does so by re-
tunneling the layer2 session over another L2TP tunnel to a different
LNS. The knowledge of whether to switch a layer2 session to another
L2TP tunnel can be static or dynamic (for example when a PPP session
is established).
_______ _______ _______ _______ _______
| L2 | | | | | | | |
| User | | LAC A | | LNS A | LAC B | | LNS B |
|_______| |_______| |_______|_______| |_______|
|------ L2- ------|
|---- L2/L2TP ----|
|-- L2 --|
|------ L2/L2TP -------|
|------- tunnel switching ------|
The figure above presents a typical tunnel switching scenario. The
user opens a layer2 (for example PPP) session to LAC A, which puts
the layer2 session into a L2TP tunnel that terminates on LNS A. If
LNS A decides to further tunnel the layer2 session, it puts the
layer2 session on another L2TP tunnel originating on LAC B and
terminating on LNS B. LNS A and LAC B reside on the same device.
The process of getting the layer2 session terminating on LNS A and
further tunneling it to another LNS, in the example above LNS B, is
called tunnel switching.
2. Tunnel Switching Nomenclature
Ingress Tunnel Aggregator (ITA): These devices are represented by
the first layer of LACs, represented in the picture by LAC A. This
is he node which terminates layer2 circuit and initiates the first
L2TP tunnel.
Penno, et al. [Page 3]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
Tunnel Switching Aggregator (TSA): These are the devices that act as
LNS as well as LAC for a particular layer2 session therefore it
typically re-tunnels layer2 session to another LNS. The TSA is
composed of two parts: the TSA-LAC and the TSA-LNS.
Egress Tunnel Aggregator (ETA): These are devices that terminate the
layer2 session. They are represented in the picture by LNS B.
3. Why L2TP Tunnel Switching
This section discusses the advantages of L2TP tunnel switching.
* Often, the administrative domain of a LAC, an ILEC or CLEC, is not
same as that of LNS, typically an ISP terminating subscriber's
Layer2 connection. In such situations, a multi tier deployment with
tunnel switching helps the LEC (ILEC or CLEC) mask its internal
network architecture from the ISPs. In particular, it eases the
configuration across different administrative domain. For example,
for every new ITA added in the system, ISP doesn't need to
reconfigure its LNSs - for them LACs are always same (TSAs).
* L2TP tunnel switching divorces the location of "decision-maker" LNS.
Certain deployments do not have decision-making capabilities on LAC
For example PC based LACs might not have mechanisms to be configured
with policies a service provider wants to adopt; On other hand, it
might not be desirable to expose such policies to every customer LAC
CPE. The decision to choose the right LNS, for load balancing or
other administrative purposes, when multiple LNSs are available,
might not be done best by the first LAC always. Not all LACs should
be expected to exhibit such rich functionality, features and
flexibility.
* L2TP tunnel switching allows using a common L2TP tunnel on LAC for
sessions that are actually destined to different LNSs. This enables
wholesaling layer2 sessions destined to any LNS go over a few
tunnels.
* L2TP tunnel switching might reduce the total number of tunnels in a
meshed environment. The advantage of fewer tunnels would primarily
be in a configuration and provisioning ease. The reduction of
tunnels can be seen from three different angles, from the entire
system, from the ITA and from the last ETA point of view.
* Entire System
In a traditional deployment, the total number of L2TP sessions
between N LACs (ITA) and M LNSs (ETA) is N*M, assuming there is
at least one layer2 session from every LAC that needs to be
terminated on each LNS. With tunnel switching, this number can be
reduced to (#ETA + #ITA) * (#TSA).
Penno, et al. [Page 4]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
Of course the advantage on the reduction of tunnels in the system
only holds when the (#TSA)is less than the number of LNS1s (see
picture below).
* ITA
From the first layer of LACs point of view, the reduction in the
number of tunnels holds whenever ITA*TSA < TSA*ETA, which is true
for most deployments.
* ETA
On the other hand, the advantage on the reduction of tunnels from
the last LNS (LNS2) point of view in comparison with LNS1 is
considerable, since the M*(#TSA) is usually much less than M*N.
____ ______ ______ ______ ______
| PC | | LAC1 |__________| LNS1 | LAC2 |______________| LNS2 |
|____| |______|\ ___|______|______| |______|
\ /
\__/
___/\
____ ______ / \ ______ ______ ______
| PC | | LAC1 |_______\__| LNS1 | LAC2 |______________| LNS2 |
|____| |______| |______|______| |______|
. . . .
. . .
. / \ . .
____ ______ / \ ______ ______ ______
| PC | | LAC1 |/ \_| LNS1 | LAC2 |______________| LNS2 |
|____| |______| |______|______| |______|
4. Disadvantages of L2TP tunnel switching:
* Focal point of failure: As TSA aggregates more and more tunnels,
it becomes a focal point for failure, as compared to if ITAs had
tunnels to ETAs directly.
* Multiple Negotiations: Subscriber might be authenticated/LCP
multiple times because each TSA might have its own criteria to
determine if subscriber should be authenticated or if LCP parameters
negotiated (proxy-LCP) are appropriate.
Penno, et al. [Page 5]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
* Session limit within an L2TP tunnel: Bundling sessions within a
single L2TP tunnel makes one deployment more likely to hit the 65k
limit inherent of the L2TP protocol faster than if you have unique
tunnels. Care should be taken while deploying L2TP tunnel switching
to not exceed this limit due to aggregation of various sessions in
limited number of tunnels.
5. Extensions to enhance tunnel switching support
In this section we present new AVPs (and motivation behind them)
that can enhance tunnel switching support beyond what is usually
deployed today. These extensions are only applicable for L2TP tunnel
switching.
5.1 Problem Statement
When an TSA <-> ETA tunnel collapses for one reason or another (link
failure, etc), the initial ITA<->TSA link continues to function
normally, even though there is nowhere for the layer2 traffic to go
once it gets to this TSA point. This causes a major disruption of
service impact, as several subscribers who were knocked off the
network will not be able to get back on the network. This creates a
"black hole" condition, which directs all new sessions to the TSA,
which has no path to the ETA. All new session attempts for this ETA
fail.
5.2 Tunnel Set Dependency
A new object L2TP Dependency should be defined to maintain a
relationship between the ITA to TSA tunnels and the TSA to ETA
tunnels.
This object can be utilized by ITA to route away L2TP sessions from
failures in the TSA to ETA connection. Information about failures
between TSA and ETA should be provided to ITA through a new set of
AVPs defined below.
5.3 Tunnel Dependency Load AVP (All Control Messages)
The Tunnel Dependency Load AVP, Attribute Type XS, indicates the
capacity to carry L2TP sessions from TSA to ETA for certain
"service profile" (e.g., a ISP or Domain Name)
Penno, et al. [Page 6]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
The Attribute Value field for this AVP has the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Services Profiles |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SPN Length | Service Profile Name ... (arbitrary length) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Maximum Load |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Current Load |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Number of Services Profiles indicates the number of
occurrences of the tuple (Service Profile Name, Maximum Load,
Current Load).
The Service Profile Name is up to 256 bytes long, but MUST be at
least 1 octet. This name should be as broadly unique as possible,
because the tunnels between ITA to TSA can contain sessions for
different service profiles.
The Maximum Load indicates the Maximum reference capacity for a
service profile. It could be the number of maximum tunnels
supported by the system at a point in time, maximum amount of
bandwidth, or some other metric that reflects ratio
The Current Load indicated the current capacity of the system, it
could be the number of active tunnels at a point in time, amount
of utilized bandwidth, or some other metric that reflects ratio.
This AVP MAY be be hidden (the H-bit can be either 0 or 1). The
M-bit for this AVP MUST be set to 0.
5.4. Loop Prevention AVP
The Loop Prevention AVP, Attribute Type TBD, can be used to detect
the existence of loops in the TSA network.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Nodes |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HN Length | HostName ... (arbitrary length) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP address of the Node |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Penno, et al. [Page 7]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
The Number of Nodes indicates the occurrences of the tuple (Host
Name, IP Address). Each tuple identifies a node in the tunnel-
switched-path.
The Hostname is MUST be same as used on the Hostname AVP when the
tunnel was established.
The IP address field represents the IP address which was used to
establish the tunnel.
This AVP is updated by LAC when a new tunnel is being
established. It adds (Hostname, IP address) tuple to the existing
AVP and increments Number of Nodes.
5.5 CDN Messages and L2TP Tunnel Switching
The Call-Disconnect-Notify (CDN) message is an L2TP control message
sent either by the LAC or LNS to request disconnection of a specific
call within the L2TP tunnel. Its purpose is to inform the peer of
the disconnection and the reason why it occurred.
As an indication to its use, an Incoming-Call-Request message is
generated by the LAC when the subscriber's call is detected. The LAC
selects a Session ID and sends the Incoming-Call-Request to the LNS;
it then waits for a response from the LNS - keeping the subscribers
call waiting. It is at this point that the LNS may decline to accept
the call
It is also understood that if the call is terminated before the LNS
accepts it, a Call-Disconnect-Notify is sent by the Calling LAC to
indicate this condition, and is understood to be catered for within
current L2TP implementation. Any CDN messages originating from the
LAC are therefore omitted from the scope of this proposal, however
the Calling LAC must interpret the CDN messages received from the
LNS correctly, and must take the appropriate steps to ensure that
the intention of the CDN messages are carried out as expected.
In the case where an L2TP Tunnel Switch has successfully extended
the Control Connection to the ETA, and it returns general CDN
messages during session establishment, any such messages may be
passed transparently through to the ITA or may be interpreted by the
TSA; such scenarios are included.
Penno, et al. [Page 8]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
The following is proposed with regards of tunnel switching and CDN
messages:
o To define the circumstances that warrants the ETA to send general
protocol CDN messages to the LAC over and above all other
signaling mechanisms defined in RFC2661.
o To include decisions that may be undertaken by an TSA.
o To include assurances that multiple TSA peering is supported.
5.6 Scenarios for generating CDN messages
The proposed causes and recommended LNS generated CDN messages for
each scenario are documented here.
5.6.1 LNS specific CDN Message
Here the TSA-LNS or Peering LNS cannot accept another Session and
signals to the downstream LAC.
o The TSA-LNS or Peering LNS reaches a pre-determined threshold,
this may be administrative or it may be a system function. As a
result, CDN Code-7 is generated by the LNS and passed to the
downstream LAC.
The downstream LAC should change the state of the upstream peer to
'busy' and apply an administrative hold-down. Thereafter the TSA-LAC
or ITA should try all possible LNS peers - if there are no
available LNS peers the CDN Code should be passed to the downstream
LAC by the TSA-LNS only. The Calling LAC may choose to clear the
call.
5.6.2 TSA-LAC specific CDN Message
This scenario only affects the TSA-LAC, which cannot establish
another session due to it reaching the aggregate session limit.
o If the TSA-LAC exceeds max-sessions then it may signal to the
TSA-LNS to generate a CDN Code-4 for the downstream LAC.
The downstream LAC should change the state of the upstream peer to
'busy' and apply an administrative hold-down. Thereafter the TSA-LAC
or Calling LAC should try all possible LNS peers - if there are no
available LNS peers the CDN Code should be passed to the downstream
LAC by the TSA-LNS only. The Calling LAC may choose to clear the
call.
Penno, et al. [Page 9]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
5.6.3 Calling LAC Control Connection failures
If there is a problem for the LAC to establish an L2TP tunnel,
because the Control Connection to the LNS is down, then a general
CDN message may or may not be appropriate depending upon the LAC
type. Three scenarios are mentioned here.
o The Calling LAC cannot establish a Control Connection with the
Peering LNS.
If the Calling LAC cannot continue with a session because there is
no Control Channel then it should try another L2TP peer. The Calling
LAC should record the unavailability of the Peering LNS and mark it
as unavailable for a period of time that is determined by the
Administrator.
o The TSA-LAC cannot establish a Control Connection with the
upstream LNS
If the TSA-LAC cannot continue with a session because there is no
Control Channel then a CDN Code-1 message may be generated by the
TSA-LNS to signal to the upstream LAC to try another L2TP peer.
The TSA-LAC should change the state of the upstream peer to 'dead'
and apply an administrative hold-down. Thereafter the TSA-LAC should
try all possible LNS peers - if there are no available LNS peers the
CDN Code should be passed to the downstream LAC by the TSA-LNS only.
o Calling LAC receives CDN Code-1
If the Calling LAC receives CDN Code-1, then it should try another
L2TP peer. The Calling LAC should record the unavailability of the
upstream LNS and mark it as unavailable for a period of time that is
determined by the Administrator. The Calling LAC will thereafter
clear the call.
5.6.4 LNS Session Failure
Unable to accept the incoming call the peer LNS may return the
correct CDN message defined above or it may be unaware of these
requirements.
The following are therefore best provided by implementation since
there are a number of options that may be selected.
* The Administrator may choose to interpret all CDN messages
generated by the upstream LNS. This is typically because the LNS
employs the CDN Codes defined above (and may be implemented as the
default option).
Penno, et al. [Page 10]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
* The Administrator may choose to ignore the CDN messages generated
by the upstream LNS, and by so doing may alert the downstream LAC
to mark it as unavailable for a period of time. This is typically
due to the upstream LNS being unaware of the CDN Codes defined
above.
* The Administrator may choose to relay any CDN messages generated
by the upstream LNS transparently through to the downstream LAC.
This caters for the scenario where the TSA is not interpreting the
CDN Codes correctly or the topology does not lend itself to the
TSA intercepting CDN messages.
6. References
[RFC 2661] W. Townsley, A. Valencia, A. Rubens, G. Pall, G. Zorn,
B. Palter, "Layer 2 Tunnel Protocol (L2TP)", RFC2661,
August 1999.
[RFC 1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD
51, RFC 1661, July 1994.
[RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
7. Acknowledgments
Thanks to W. Mark Townsley for his valuable comments
8. Author's Addresses
Vipin Jain
Nortel Networks, Inc.
2305 Mission College Boulevard
Building SC9
Santa Clara, CA 95054
Email: vipin@nortelnetworks.com
Reinaldo Penno
Nortel Networks, Inc.
2305 Mission College Boulevard
Building SC9
Santa Clara, CA 95054
Email: rpenno@nortelnetworks.com
Penno, et al. [Page 11]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
Ly Loi
Tahoe Networks, Inc.
3052 Orchard Drive
San Jose, CA 95134
Phone: +1 408.944.8630
Email: lll@tahoenetworks.com
Mark Rayson
British Telecom, Inc.
B67 Room 106
BT Research Laboratories
Martlesham Heath
IPSWITCH, Suffolk IP5 3RE
Phone: (01473) 649770
Email: mark.rayson@bt.com
Marc Eaton-Brown
FrontRunner Solutions, Ltd.
131 Finsbury Pavement
Moorgate
London EC2A 1NT
Phone: +44 7989 498337
Email: mebrown@frontrunner.eu.com
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Penno, et al. [Page 12]
Internet-Draft draft-ietf-l2tpext-switching-01.txt September, 2001
Acknowledgement
Funding for the RFC editor function is currently provided by the
Internet Society.