summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4554.txt
blob: 67f80d7578b0d7e638148c02499074400d427d05 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
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]
^L
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]
^L
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]
^L
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]
^L
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]
^L
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]
^L
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]
^L
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]
^L
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]
^L
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]
^L
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]
^L