Network Working Group T. Chown
Request for Comments: 4554 University of Southampton
Category: Informational June 2006
Use of VLANs for IPv4-IPv6 Coexistence in Enterprise Networks
Status of This Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
Ethernet VLANs are quite commonly used in enterprise networks for the
purposes of traffic segregation. This document describes how such
VLANs can be readily used to deploy IPv6 networking in an enterprise,
which focuses on the scenario of early deployment prior to
availability of IPv6-capable switch-router equipment. In this
method, IPv6 may be routed in parallel with the existing IPv4 in the
enterprise and delivered at Layer 2 via VLAN technology. The IPv6
connectivity to the enterprise may or may not enter the site via the
same physical link.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Enabling IPv6 per Link . . . . . . . . . . . . . . . . . . . . 3
2.1. IPv6 Routing over VLANs . . . . . . . . . . . . . . . . . 3
2.2. One VLAN per Router Interface . . . . . . . . . . . . . . 4
2.3. Collapsed VLANs on a Single Interface . . . . . . . . . . 4
2.4. Congruent IPv4 and IPv6 Subnets . . . . . . . . . . . . . 5
2.5. IPv6 Addressing . . . . . . . . . . . . . . . . . . . . . 5
2.6. Final IPv6 Deployment . . . . . . . . . . . . . . . . . . 5
3. Example VLAN Topology . . . . . . . . . . . . . . . . . . . . . 6
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
6. Informative References . . . . . . . . . . . . . . . . . . . . 7
Appendix A. Configuration Example . . . . . . . . . . . . . . . . 8
Chown Informational [Page 1]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
1. Introduction
Ethernet VLANs are quite commonly used in enterprise networks for the
purposes of traffic segregation. This document describes how such
VLANs can be readily used to deploy IPv6 networking in an enterprise,
including the scenario of early deployment prior to availability of
IPv6-capable switch-router equipment, where IPv6 may be routed in
parallel with the existing IPv4 in the enterprise and delivered to
the desired LANs via VLAN technology.
It is expected that in the long run, sites migrating to dual-stack
networking will either upgrade existing switch-router equipment to
support IPv6 or procure new equipment that supports IPv6. If a site
already has production routers deployed that support IPv6, the
procedures described in this document are not required. In the
interim, however, a method is required for early IPv6 adopters that
enables IPv6 to be deployed in a structured, managed way to some or
all of an enterprise network that currently lacks IPv6 support in its
core infrastructure.
The IEEE 802.1Q VLAN standard allows separate LANs to be deployed
over a single bridged LAN, by inserting "Virtual LAN" tagging or
membership information into Ethernet frames. Hosts and switches that
support VLANs effectively allow software-based reconfiguration of
LANs through configuration of the tagging parameters. The software
control means that VLANs can be used to alter the LAN infrastructure
without having to physically alter the wiring between the LAN
segments and Layer 3 routers.
Many IPv4 enterprise networks are utilising VLAN technology. Where a
site does not have IPv6-capable Layer 2/3 switch-router equipment,
but VLANs are supported, a simple yet effective method exists to
gradually introduce IPv6 to some or all of that site's network, in
advance of the site's core infrastructure having dual-stack
capability.
If such a site wishes to introduce IPv6, it may do so by deploying a
parallel IPv6 routing infrastructure (which is likely to be a
different platform to the site's main infrastructure equipment, i.e.,
one that supports IPv6 where the existing equipment does not), and
then using VLAN technology to "overlay" IPv6 links onto existing IPv4
links. This can be achieved without needing any changes to the IPv4
configuration. The VLANs don't need to differentiate between IPv4
and IPv6; the deployment is just dual-stack, as Ethernet is without
VLANs.
Chown Informational [Page 2]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
The IPv4 default route to the VLAN is provided by one (IPv4) router,
while the IPv6 default route to the VLAN is provided by a different
(IPv6) router. The IPv6 router can provide native IPv6 connectivity
to the whole site with just a single physical interface, thanks to
VLAN tagging and trunking, as described below.
The IPv6 connectivity to the enterprise may or may not enter the site
via the same physical link as the IPv4 traffic, and may be native or
tunneled from the external provider to the IPv6 routing equipment.
This VLAN usage is a solution adopted by a number of sites already,
including that of the author.
It should be noted that a parallel infrastructure will require
additional infrastructure and thus cost, and will often require a
separate link into the site (from an IPv6 provider), quite possibly
tunneled, that will require the site's security policy to be applied
(e.g., firewalling and intrusion detection). For sites that believe
early adoption of IPv6 is important, that price is one they may be
quite willing to pay. However, this document focuses on the
technical issues of VLAN usage in such a scenario.
2. Enabling IPv6 per Link
The precise method by which IPv6 would be "injected" into the
existing IPv4 network is deployment specific. For example, perhaps a
site has an IPv4-only router, connected to an Ethernet switch that
supports VLANs and a number of hosts connected to that VLAN. Let's
further assume that the site has a dozen of these setups that it
wishes to IPv6-enable immediately. This could be done by upgrading
the twelve routers to support IPv6, and turning IPv6 on those
routers. However, this may not be practical for various reasons.
The simplest approach would be to connect an IPv6 router with one
interface to an Ethernet switch, and connect that switch to other
switches, and then use VLAN tags between the switches and the IPv6
router to "reach" all the IPv4-only subnets from the IPv6 router.
Thus, the general principle is that the IPv6 router device (e.g.,
performing IPv6 Router Advertisements [1] in the case of stateless
autoconfiguration) is connected to the target link through the use of
VLAN-capable Layer 2 equipment.
2.1. IPv6 Routing over VLANs
In a typical scenario where connectivity is to be offered to a number
of existing IPv6 internal subnets, one IPv6 router could be deployed,
with both an external interface and one or more internal interfaces.
The external interface connects to the wider IPv6 internet, and may
Chown Informational [Page 3]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
be dual-stack if some tunnel mechanism is used for external
connectivity, or IPv6-only if a native external connection is
available.
The internal interface(s) can be connected directly to a VLAN-capable
switch. It is then possible to write VLAN tags on the packets sent
from the internal router interface based on the target IPv6 link
prefix. The VLAN-tagged traffic is then transported across the
internal VLAN-capable site infrastructure to the target IPv6 links
(which may be dispersed widely across the site network).
Where the IPv6 router is unable to VLAN-tag the packets, a protocol-
based VLAN can be created on the VLAN-capable device connected to the
IPv6 router, causing IPv6 traffic to be tagged and then redistributed
on (congruent) IPv4 subnet links that lie in the same VLAN.
2.2. One VLAN per Router Interface
The VLAN marking may be done in different ways. Some sites may
prefer to use one router interface per VLAN; for example, if there
are three internal IPv6 links, a standard PC-based IPv6 router with
four Ethernet ports could be used, one for the external link and
three for the internal links. In such a case, one switch port would
be needed per link, to receive the connectivity from each router
port.
In such a deployment, the IPv6 routing could be cascaded through
lower-tier internal IPv6-only routers. Here, the internal-facing
ports on the IPv6 edge router may feed other IPv6 routers over IPv6-
only links, which in turn inject the IPv6 connectivity (the stub
links using 64-bit subnet prefixes and associated Router
Advertisements) into the VLANs.
2.3. Collapsed VLANs on a Single Interface
Using multiple IPv6 routers and one port per IPv6 link (i.e., VLAN)
may be unnecessary. Many devices now support VLAN tagging based on
virtual interfaces such that multiple IPv6 VLANs could be assigned
(trunked) from one physical router interface port. Thus, it is
possible to use just one router interface for "aggregated" VLAN
trunking from a switch. This is a far more interesting case for a
site planning the introduction of IPv6 to (part of) its site network.
This approach is viable while the IPv6 traffic load is light. As
traffic volume grows, the single collapsed interface could be
extended to utilise two or more physical ports, where the capacity of
the IPv6 router device allows it.
Chown Informational [Page 4]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
2.4. Congruent IPv4 and IPv6 Subnets
Such a VLAN-based technique can be used to deploy IPv6-only VLANs in
an enterprise network. However, most enterprises will be interested
in dual-stack IPv4-IPv6 networking.
In such a case, the IPv6 connectivity may be injected into the
existing IPv4 VLANs, such that the IPv4 and IPv6 subnets are
congruent (i.e., they coincide exactly when superimposed). Such a
method may have desirable administrative properties; for example, the
devices in each IPv4 subnet will be in the same IPv6 subnets also.
This is the method used at the author's site.
Furthermore, IPv6-only devices may be gradually added into the subnet
without any need to resize the IPv6 subnet (which may hold in effect
an infinite number of hosts in a /64 in contrast to IPv4 where the
subnet size is often relatively limited, or kept to a minimum
possibly due to address space usage concerns). The lack of
requirement to periodically resize an IPv6 subnet is a useful
administrative advantage for IPv6.
2.5. IPv6 Addressing
One site using this VLAN technique has chosen to number its IPv6
links with the format [Site IPv6 prefix]:[VLAN ID]::/64. The VLAN
tag is 16 bits, so this can work with a typical maximum 48-bit site
prefix. Linking the VLAN ID into a site's addressing scheme may not
fit topology and aggregation, and thus is not necessarily a
recommended addressing plan, but some sites may wish to consider its
usage.
2.6. Final IPv6 Deployment
The VLAN technique for IPv6 deployment offers a more structured
alternative to opportunistic per-host intra-site tunnelling methods
such as Intra-Site Automatic Tunnel Addressing Protocol ISATAP [2].
It has the ability to offer a simple yet efficient method for early
IPv6 deployment to an enterprise site.
When the site acquires IPv6-capable switch-router equipment, the
VLAN-based method can still be used for delivery of IPv6 links to
physical switch interfaces, just as it is commonly used today for
IPv4 subnets, but with a common routing infrastructure.
Chown Informational [Page 5]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
3. Example VLAN Topology
The following figure shows how a VLAN topology may be used to
introduce IPv6 in an enterprise network, using a parallel IPv6
routing infrastructure and VLAN tagging.
External IPv6 Internet
|
|
IPv6 Access Router
|
|
Switch-router with VLAN support
|
|
+--------------+----------------+
|Site enterprise infrastructure |
| with support for VLANs |
+----+--------------------+-----+
| |
| |
VLAN switch A VLAN switch B
| | |
| | |
Subnet1 Subnet2 Subnet3
Figure 1: IPv6 deployment using VLANs (physical diagram)
In this scenario, the IPv6 access router has one physical port facing
toward the internal infrastructure. In this example, it need only be
IPv6-enabled, as its purpose is solely to handle IPv6 traffic for the
enterprise. The access router has an additional interface facing
toward the external infrastructure, which in this example could be
dual-stack if the external IPv6 connectivity is via a tunnel to an
IPv6 ISP.
A number of VLANs are handled by the internal-facing IPv6 router
port; in this case, IPv6 links Subnet1, Subnet2, Subnet3. The VLANs
are seen as logical subinterfaces of the physical interface on the
IPv6 access router, which is using the "collapsed VLAN" method
described above, tagging the inbound traffic with one of three VLAN
IDs depending on the target IPv6 Subnet prefix.
Chown Informational [Page 6]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
The following figure shows how the IPv6 view of the deployment looks;
all IPv6 subnets are on-link to the IPv6 access router, whether or
not they share the same physical links over the VLAN infrastructure.
External IPv6 Internet
|
|
Site IPv6 Access Router
| | |
| | |
Subnet1 Subnet2 Subnet3
Figure 2: IPv6 view of the deployment (logical view)
In this example, the router acts as an IPv6 first-hop access router
to the physical links, separately from the IPv4 first-hop router.
This technique allows a site to easily "inject" native IPv6 into all
the links where a VLAN-capable infrastructure is available, enabling
partial or full IPv6 deployment on the wire in a site.
4. Security Considerations
There are no additional security considerations particular to this
method of enabling IPv6 on a link.
Where the IPv6 connectivity is delivered into the enterprise network
by a different path from the IPv4 connectivity, care should be given
that equivalent application of security policy (e.g., firewalling) is
made to the IPv6 path.
5. Acknowledgements
The author would like to thank colleagues on the 6NET project, where
this technique for IPv4-IPv6 coexistence is widely deployed, in
particular Pekka Savola (CSC/FUNET), but also including Janos Mohacsi
(Hungarnet), Martin Dunmore and Chris Edwards (Lancaster University),
Christian Strauf (JOIN Project, University of Muenster), and Stig
Venaas (UNINETT).
6. Informative References
[1] Narten, T., Nordmark, E., and W. Simpson, "Neighbor Discovery
for IP Version 6 (IPv6)", RFC 2461, December 1998.
[2] Templin, F., Gleeson, T., Talwar, M., and D. Thaler, "Intra-Site
Automatic Tunnel Addressing Protocol (ISATAP)", RFC 4214,
October 2005.
Chown Informational [Page 7]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
Appendix A. Configuration Example
This section describes a configuration example for using a computer
running the FreeBSD variant of the Berkeley Software Distribution
(BSD) operating system as a router to deploy IPv6 networking across a
number of IPv6 links on an enterprise (in this case, six links), for
a scenario similar to the one described above. Here, the precise
configuration may of course vary depending on the existing site VLAN
deployment. This section highlights that the VLAN configuration must
be manually configured; the support is not "automatic".
In this example, the configuration is for an IPv6 BSD router
connected directly to a site's external IPv6 access router. The BSD
router has one interface (dc0) toward the site IPv6 access router,
and three interfaces (dc1, dc2, dc3) over which the internal routing
is performed (the number of interfaces can be varied; three are used
here to distribute the traffic load). The IPv6 documentation prefix
(2001:db8::/32) is used in the example.
--- Example IPv6 VLAN configuration, FreeBSD ---
#
# To IPv6 enable a vlan
#
# 1. Add a new vlan device to cloned_interfaces called vlanX
#
# 2. Add an ifconfig_vlanX line, the number is the vlan tag ID
#
# 3. Add vlanX to ipv6_network_interfaces
#
# 4. Add an ipv6_ifconfig_vlanX line, with a new unique prefix
#
# 5. Add vlanX to rtadvd_interface
#
# 6. Add vlanX to ipv6_router_flags
### Interfaces ###
# Bring physical interfaces up
ifconfig_dc0="up"
ifconfig_dc1="up"
ifconfig_dc2="up"
ifconfig_dc3="up"
Chown Informational [Page 8]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
# Create VLan interfaces
cloned_interfaces="vlan0 vlan1 vlan2 vlan3 vlan4 vlan5 vlan6"
# Upstream link to IPv6 Access Router
ifconfig_vlan0="vlan 37 vlandev dc0"
# Downstream interfaces, load balance over interfaces dc1,dc2,dc3
ifconfig_vlan1="vlan 11 vlandev dc1" # Subnet1
ifconfig_vlan2="vlan 17 vlandev dc2" # Subnet2
ifconfig_vlan3="vlan 24 vlandev dc3" # Subnet3
ifconfig_vlan4="vlan 25 vlandev dc1" # Subnet4
ifconfig_vlan5="vlan 34 vlandev dc2" # Subnet5
ifconfig_vlan6="vlan 14 vlandev dc3" # Subnet6
### IPv6 ###
# Enable ipv6
ipv6_enable="YES"
# Forwarding
ipv6_gateway_enable="YES"
# Define Interfaces
ipv6_network_interfaces="vlan0 vlan1 vlan2 vlan3 vlan4 vlan5 vlan6"
# Define addresses
ipv6_ifconfig_vlan0="2001:db8:d0:101::2 prefixlen 64" # Uplink
ipv6_ifconfig_vlan1="2001:db8:d0:111::1 prefixlen 64" # Subnet1
ipv6_ifconfig_vlan2="2001:db8:d0:112::1 prefixlen 64" # Subnet2
ipv6_ifconfig_vlan3="2001:db8:d0:121::1 prefixlen 64" # Subnet3
ipv6_ifconfig_vlan4="2001:db8:d0:113::1 prefixlen 64" # Subnet4
ipv6_ifconfig_vlan5="2001:db8:d0:114::1 prefixlen 64" # Subnet5
ipv6_ifconfig_vlan6="2001:db8:d0:115::1 prefixlen 64" # Subnet6
# Router advertisements
rtadvd_enable="YES"
rtadvd_interfaces="-s vlan0 vlan1 vlan2 vlan3 vlan4 vlan5 vlan6"
### Routing ###
# Multicast
mroute6d_enable="YES"
mroute6d_program="/sbin/pim6sd"
Chown Informational [Page 9]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
# RIP-ng
ipv6_router_enable="YES"
ipv6_router_flags="-N dc0,dc1,dc2,dc3, vlan1,vlan2,vlan3,
vlan4,vlan5,vlan6"
--- End of configuration ---
Note that if there was only one internal-facing interface, then again
so long as the OS supported VLAN trunking, all the VLAN IDs could be
associated to that interface (dc1, for example).
The VLAN IDs need to be managed by the site administrator, but would
probably already be assigned for existing IPv4 subnets (ones into
which IPv6 is being introduced).
For a large enterprise, a combination of internal tunnels and VLAN
usage could be used; the whole site need not be enabled by VLAN
tagging alone. This choice is one for the site administrator to
make.
Author's Address
Tim Chown
University of Southampton
Southampton, Hampshire SO17 1BJ
United Kingdom
EMail: tjc@ecs.soton.ac.uk
Chown Informational [Page 10]
RFC 4554 VLANs for IPv4-IPv6 Coexistence June 2006
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Chown Informational [Page 11]