summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4219.txt
blob: 2ebbded8c87bfb56083422261c314cb008f61217 (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
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
Network Working Group                                            E. Lear
Request for Comments: 4219                                 Cisco Systems
Category: Informational                                     October 2005


   Things Multihoming in IPv6 (MULTI6) Developers Should Think About

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 (2005).

Abstract

   This document specifies a set of questions that authors should be
   prepared to answer as part of a solution to multihoming with IPv6.
   The questions do not assume that multihoming is the only problem of
   interest, nor do they demand a more general solution.

Table of Contents

   1. Introduction ....................................................3
      1.1. Reading this Document ......................................3
   2. On the Wire Behavior ............................................4
      2.1. How will your solution solve the multihoming problem? ......4
      2.2. At what layer is your solution applied, and how? ...........4
      2.3. Why is the layer you chose the correct one? ................4
      2.4. Does your solution address mobility? .......................4
      2.5. Does your solution expand the size of an IP packet? ........4
      2.6. Will your solution add additional latency? .................4
      2.7. Can multihoming capabilities be negotiated
           end-to-end during a ........................................4
      2.8. Do you change the way fragmenting is handled? ..............5
      2.9. Are there any layer 2 implications to your proposal? .......5
   3. Identifiers and Locators ........................................5
      3.1. Uniqueness .................................................5
      3.2. Does your solution provide for a split between
           identifiers and ............................................5
      3.3. What is the lifetime of a binding from an
           identifier to a locator? ...................................5
      3.4. How is the binding updated? ................................5
      3.5. How does a host know its identity? .........................5
      3.6. Can a host have multiple identifiers? ......................5



Lear                         Informational                      [Page 1]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


      3.7. If you have separate locators and identifiers, how
           will they be ...............................................5
      3.8. Does your solution create an alternate "DNS-like"
           service? ...................................................5
      3.9. Please describe authentication/authorization ...............6
      3.10. Is your mechanism hierarchical? ...........................6
      3.11. Middlebox interactions ....................................6
      3.12. Are there any implications for scoped addressing? .........6
   4. Routing System Interactions .....................................6
      4.1. Does your solution change existing aggregation methods? ....6
      4.2. Does the solution solve traffic engineering requirements? ..7
      4.3. Does the solution offer ways for the site to manage
           its traffic ................................................7
      4.4. If you introduce any new name spaces, do they
           require aggregation? .......................................7
      4.5. Does your solution interact with Autonomous System
           numbering? .................................................7
      4.6. Are there any changes to ICMP error semantics? .............7
   5. Name Service Interactions .......................................7
      5.1. Please explain the relationship of your solution to DNS ....7
      5.2. Please explain interactions with "2-faced" DNS .............7
      5.3. Does your solution require centralized registration? .......8
      5.4. Have you checked for DNS circular dependencies? ............8
      5.5. What if a DNS server itself is multihomed? .................8
      5.6. What additional load will be placed on DNS servers? ........8
      5.7. Any upstream provider support required? ....................8
      5.8. How do you debug connectivity? .............................8
   6. Application Concerns and Backward Compatibility .................8
      6.1. What application/API changes are needed? ...................8
      6.2. Is this solution backward compatible with "old" IP
           version 6? .................................................9
      6.3. Is your solution backward compatible with IPv4? ............9
      6.4. Can IPv4 devices take advantage of this solution? ..........9
      6.5. What is the impact of your solution on different
           types of sites? ............................................9
      6.6. How will your solution interact with other middleboxes? ...10
      6.7. Referrals .................................................10
      6.8. Demonstrate use with a real life complex application ......10
   7. Legal Concerns .................................................10
   8. Security Considerations ........................................10
   9. Acknowledgements ...............................................11
   10. References ....................................................11
      10.1. Normative References .....................................11
      10.2. Informative References ...................................11







Lear                         Informational                      [Page 2]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


1.  Introduction

   At the time of this writing there are quite a number of proposed
   solutions to the problem of multihoming within IPv6, and related
   problems such as the locator/identifier split.

   This document contains several sets of questions that attempt to
   focus these solutions on operational problems.  This document does
   not suggest methods to solve the problem.  Rather, we simply want to
   ensure that while solving a problem the medicine is not worse than
   the cure.  We focus on practical operational problems that both
   single-homed and multihomed deployments may face.

   It is the hope of the author that perhaps the authors of other
   proposed solutions will use this document to identify gaps in their
   solutions, and cooperate to close those gaps.

1.1.  Reading this Document

   The questions are organized along the following lines:

   o  changes to on the wire behavior;
   o  routing system interactions;
   o  identifier/mapping split;
   o  application concerns and backward compatibility;
   o  name service interactions;
   o  legal concerns; and
   o  security considerations.

   In reality many questions cut across all of these concerns.  For
   instance, the identifier / locator split has substantial application
   implications, and every area has security considerations.

   Unless it is blatantly obvious, each question contains some reasoning
   as to why it is being asked.  It is envisioned that no solution will
   answer every question with completeness, but that there will be
   tradeoffs to be made.  The answers by the various designers of
   solutions will hopefully shed some light on which tradeoffs we as a
   community wish to make.

   It would seem silly for people who have written detailed answers to
   these questions to have to repeat the exercise.  Therefore, a simple
   reference to existing documents will suffice, so long as the answer
   is complete.  If it is not complete, then feel free to reference it
   and add what text is necessary to make the answer complete.

   This document presumes a familiarity with RFC 3582 [2], and does not
   attempt to repeat the requirements work gathered there.



Lear                         Informational                      [Page 3]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


2.  On the Wire Behavior

2.1.  How will your solution solve the multihoming problem?

   Please scope the problem you are attempting to solve and what you are
   not attempting to solve.

2.2.  At what layer is your solution applied, and how?

   Is it applied in every packet?  If so, what fields are used?

2.3.  Why is the layer you chose the correct one?

   Each layer has its benefits and tradeoffs.  For instance, transport
   layer solutions would require that EVERY transport be modified, while
   IP layer solutions may entail expansion of the packet or a change to
   the pseudo-header (thus requiring changes to the transport layer).

2.4.  Does your solution address mobility?

   If so, how are rendezvous handled?  Can your solution handle both
   locators changing at the same time?  If so, please explain.  Should
   it?  If not, how will your solution interact with MOBILEIP-V6 [3]
   (MIPv6)

2.5.  Does your solution expand the size of an IP packet?

   Expanding the size of an IP packet may cause excessive fragmentation
   in some circumstances.

2.6.  Will your solution add additional latency?

   Latency is an important factor in many applications, including voice.
   Any substantial amount of additional latency, including session
   initiation would be highly undesirable.

2.7.  Can multihoming capabilities be negotiated end-to-end during a
      connection?

   If the proposal introduces additional overhead, can the information
   be somehow piggybacked on messages that are already used?  This would
   be useful in order to keep connection setup constant.  Please also
   indicate any drawbacks that might apply due to this piggybacking.








Lear                         Informational                      [Page 4]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


2.8.  Do you change the way fragmenting is handled?

   If you use a shim approach, do you fragment above or below the shim?
   How are fragments identified, so that they can be reassembled?  If
   you use any additional names, do they need to be associated with
   fragments?  If not, why not?  If so, how will that happen?

2.9.  Are there any layer 2 implications to your proposal?

   While IPv6 has a simplified approach to layer 2, perhaps you
   unsimplified it.  If so, please provide details.

3.  Identifiers and Locators

3.1.  Uniqueness

3.2.  Does your solution provide for a split between identifiers and
      locators?

3.3.  What is the lifetime of a binding from an identifier to a locator?

3.4.  How is the binding updated?

   Will transport connections remain up when new paths become available
   or when old ones become unavailable?  How does the end node discover
   these events?

3.5.  How does a host know its identity?

   If you are establishing a new identity, how does the host learn it?

3.6.  Can a host have multiple identifiers?

   If so, how does an application choose an identity?

3.7.  If you have separate locators and identifiers, how will they be
      mapped?

   Does the mapping work in both directions?  How would someone
   debugging a network determine which end stations are involved?

3.8.  Does your solution create an alternate "DNS-like" service?

   If you use mechanisms other than DNS, first, why was DNS not
   appropriate?  Also, how will this other mechanism interact with DNS?
   What are its scaling properties?





Lear                         Informational                      [Page 5]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


3.9.  Please describe authentication/authorization

   How are bindings authenticated and authorized.  What technology do
   you build on for this mechanism?

3.10.  Is your mechanism hierarchical?

   Please describe the hierarchical breakdown.

3.11.  Middlebox interactions

   What are the implications for firewalls?  What are the interactions
   with Network Address Translation (NAT)?  What are the interactions
   with web caches?  What complications are introduced with your
   solution?  For instance, are there implication for ingress filters?
   If so, what are they?

   When considering this question, there are really two issues.  First,
   will middleboxes impede your solution by rewriting headers in some
   way, as NATs do for IP addresses, and web caches do at higher layers?
   Second, is there a way in which middleboxes are actually part of your
   solution?  In particular, are they required?  This would be the case,
   for example, with Generalized Structure Element (GSE) (8+8).

3.12.  Are there any implications for scoped addressing?

   Please see RFC 3513 [1].  How does your mechanism interact with
   multicast?

   How does your solution interact with link-local addressing

   How does your solution interact with Son-Of-Sitelocal (whatever that
   will be)?

4.  Routing System Interactions

4.1.  Does your solution change existing aggregation methods?

   Routing on the Internet scales today because hosts and networks can
   be aggregated into a relatively small number of entries.  Does your
   solution change the way in which route aggregation occurs?










Lear                         Informational                      [Page 6]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


4.2.  Does the solution solve traffic engineering requirements?

   One of the significant goals of IPv4 multihoming solutions has been
   the ability to perform traffic engineering based on appropriately
   adjusting the BGP advertisements.  If the prefixes used by such sites
   was be aggregated (particularly beyond the site"s border), the site"s
   ability to perform traffic engineering would be diminished.

4.3.  Does the solution offer ways for the site to manage its traffic
      flows?

   If so, how?  Is this controllable on a per-host basis, or on a
   per-site basis?

4.4.  If you introduce any new name spaces, do they require aggregation?

   Is it desirable or required that, in order to scale distribution of
   any mapping information, an aggregation method be introduced?

4.5.  Does your solution interact with Autonomous System numbering?

   If your solution involves address prefixes distributed using BGP4+,
   does it interact with the use of AS numbers and, if so, how?  Will it
   require additional AS numbers?

4.6.  Are there any changes to ICMP error semantics?

   Do you create new codes?  If so, why and what do they mean?  Will a
   host that is not aware of your scheme see them?

5.  Name Service Interactions

5.1.  Please explain the relationship of your solution to DNS

   If your solution uses new names for identifiers, please explain what
   mappings are defined, and how they are performed?

   If there are any additional administrative requirements, such as new
   zones or RR types to manage, please explain them as well.

5.2.  Please explain interactions with "2-faced" DNS

   2-faced DNS is used so that hosts behind a NAT get one address for
   internal hosts, while hosts outside the NAT get another.  Similar
   mechanisms are used for application layer gateways, such as SOCKS
   [5].





Lear                         Informational                      [Page 7]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


5.3.  Does your solution require centralized registration?

   For instance, if you are using the DNS, what will be the top level
   domain, and how will the name space distribute through it?

   Also, how will the centralized registration be managed?

5.4.  Have you checked for DNS circular dependencies?

   If you are using the DNS in your solution, is it required for
   connectivity?  What happens if the DNS fails?  Can communication
   between the DNS resolver and the server make use of your solution?
   What about between the application and the resolver?

5.5.  What if a DNS server itself is multihomed?

   If a link fails or a service is dropped, how will it impact DNS?
   Again, are there any dependency loops?  Perhaps diagram out your
   dependencies to make sure.

5.6.  What additional load will be placed on DNS servers?

   Can the load be distributed?  Remember that DNS is optimized for READ
   operations.

5.7.  Any upstream provider support required?

   If so, please describe.  For instance, currently reverse mappings are
   delegated down from upstream providers.  How would this work with
   your solution?

5.8.  How do you debug connectivity?

   How would tools like ping and traceroute need to be enhanced?  What
   additional tools would prove useful or necessary?  For instance, if
   there is an id/locator split, can one ping an identifier?  If so,
   what gets returned?

6.  Application Concerns and Backward Compatibility

6.1.  What application/API changes are needed?

   Will old code work with the new mechanism?  For instance, what about
   code that uses gethostbyname()?

   Will getaddrinfo() need to change?

   What about other API calls?



Lear                         Informational                      [Page 8]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


   There are several possible approaches.  For instance, a multihoming
   service could attempt to require no changes to the API, in which case
   it is possible that IP addresses might become opaque blobs that work
   with the API, but might break operational assumptions that
   applications make about addresses.  Consider the case of a web server
   that wants to log IP addresses.  How will it accomplish this task?

   Another approach is to have some sort of compatibility library for
   legacy applications, but also provide a richer calling interface for
   transparency.

   Yet another approach would be to only provide the new functionality
   to those applications that make use of a new calling interface.

   One useful exercise would be to provide code fragments that
   demonstrate any API changes.

6.2.  Is this solution backward compatible with "old" IP version 6?

   Can it be deployed incrementally?  Please describe how.

   Does your solution impose requirements on non-multihomed/non-mobile
   hosts?

   What happens if someone plugs in a normal IPv6 node?

6.3.  Is your solution backward compatible with IPv4?

   How will your mechanism interact with 6to4 gateways and IPv4 hosts?

6.4.  Can IPv4 devices take advantage of this solution?

   Can the same mechanism somehow be used on the existing network?  N.B.
   this is NOT a primary consideration, but perhaps a side benefit of a
   particular solution.

6.5.  What is the impact of your solution on different types of sites?

   What will the impact of your solution be on the following types of
   systems?

   o  single homed sites
   o  small multihomed sites
   o  large multihomed sites
   o  ad-hoc sites
   o  short lived connections (think aggregator wireless ISPs)





Lear                         Informational                      [Page 9]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


   In particular, consider ongoing administration, renumbering events,
   and mobile work forces.

6.6.  How will your solution interact with other middleboxes?

6.7.  Referrals

   How will your solution handle referrals, such as those within FTP or
   various conferencing or other peer to peer systems?

   Referrals exist within various other protocols, such as so-called
   "peer to peer" applications.  Note that referrals might suffer three
   types of failure:

   firewall and NAT - Is there failure just as what FTP active mode
      experiences today with relatively simple firewalls?
   time-based - Is there something ephemeral about the nature of the
      solution that might cause a referral (such as a URL) to fail over
      time, more so than what we have today?
   location-based - If the binding varies based on where the parties are
      in the network, and if one moves, will they no longer be able to
      find each other?

6.8.  Demonstrate use with a real life complex application

   Provide a detailed walk-through of SIP + Real Time Streaming Protocol
   (SIP+RTSP) when one or several of the peers are multihomed.  How does
   your analysis change when encrypted RTSP is used or when SIP with
   S/MIME end-to-end (e2e) signalling is used?

7.  Legal Concerns

   Are you introducing a namespace that might involve mnemonics?  Doing
   so might introduce trademark concerns.  If so, how do you plan to
   address such concerns?

   Are there any organizations required to manage a new name space?  If
   so, please describe what they are and how the method will scale.

8.  Security Considerations

   How secure should a multi6 solution be?  This is a reasonable
   question for each solution to answer.  The author opines that the
   worst case should be no worse than what we have today.  For example,
   would a multi6 solution open up a host, on either end of a
   communication, to a time-based attack?  Any such risks should be
   clearly stated by the authors.  Considerable time should be spent on
   threat analysis.  Please see [4] for more details.



Lear                         Informational                     [Page 10]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


   As IP addresses can often be tied to individuals, are there any
   auditing or privacy concerns introduced by your solution?

9.  Acknowledgements

   The author wishes to acknowledge everyone in the multi6 group and
   elsewhere that is putting forward proposals.  It is easy to ask
   questions like the ones found in this document.  It is quite a bit
   harder to develop running code to answer them.  Marcelo Bagnulo, Kurt
   Erik Lindqvist, Joe Touch, Patrik Faltstrom, Brian Carpenter, and
   Iljitsch van Beijnum provided input to this document.

10.  References

10.1.  Normative References

   [1]  Hinden, R. and S. Deering, "Internet Protocol Version 6 (IPv6)
        Addressing Architecture", RFC 3513, April 2003.

   [2]  Abley, J., Black, B., and V. Gill, "Goals for IPv6 Site-
        Multihoming Architectures", RFC 3582, August 2003.

   [3]  Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in
        IPv6", RFC 3775, June 2004.

   [4]  Nordmark, E., "Threats Relating to IPv6 Multihoming Solutions",
        RFC 4218, October 2005.

10.2.  Informative References

   [5]  Kitamura, H., "A SOCKS-based IPv6/IPv4 Gateway Mechanism",
        RFC 3089, April 2001.

Author's Address

   Eliot Lear
   Cisco Systems GmbH
   Glatt-com, 2nd Floor
   CH-8301 Glattzentrum ZH
   Switzerland

   EMail: lear@cisco.com









Lear                         Informational                     [Page 11]
^L
RFC 4219             MULTI6 Solution Questionnaire          October 2005


Full Copyright Statement

   Copyright (C) The Internet Society (2005).

   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 currently provided by the
   Internet Society.







Lear                         Informational                     [Page 12]
^L