Use of /127 Prefix Length Between Routers Considered Harmful
RFC 3627

Document Type RFC - Historic (September 2003; Errata)
Obsoleted by RFC 6547
Last updated 2013-03-02
Stream ISE
Formats plain text pdf html bibtex
Stream ISE state (None)
Consensus Boilerplate Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 3627 (Historic)
Telechat date
Responsible AD Randy Bush
Send notices to <pekkas@netcore.fi>
Network Working Group                                          P. Savola
Request for Comments: 3627                                     CSC/FUNET
Category: Informational                                   September 2003

      Use of /127 Prefix Length Between Routers Considered Harmful

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 (2003).  All Rights Reserved.

Abstract

   In some cases, the operational decision may be to use IPv6 /127
   prefix lengths, especially on point-to-point links between routers.
   Under certain situations, this may lead to one router claiming both
   addresses due to subnet-router anycast being implemented.  This
   document discusses the issue and offers a couple of solutions to the
   problem; nevertheless, /127 should be avoided between two routers.

1.  Introduction

   [ADDRARCH] defines Subnet-router anycast address: in a subnet prefix
   of n bits, the last 128-n bits are all zero.  It is meant to be in
   use of any one router in the subnet.

   Even though having prefix length longer than /64 is forbidden by
   [ADDRARCH] section 2.4 for non-000/3 unicast prefixes, using /127
   prefix length has gained a lot of operational popularity; it seems
   like that these prefix lengths are being used heavily in point-to-
   point links.  The operational practise has often been to use the
   least amount of address space especially in the presence of a large
   number of point-to-point links; it may be unlikely that all of these
   links would start to use /64's.  Using /127 has also other
   operational benefits: you always know which address the other end
   uses, and there is no "ping-pong" [PINGPONG] problem with older ICMP
   implementations (fixed now in [ICMPv3]).

Savola                       Informational                      [Page 1]
RFC 3627         /127 Prefix Length Considered Harmful    September 2003

2.  Scope of this Memo

   This memo does not advocate the use of long prefixes, but brings up
   problems for those that do want to use them, for one reason or
   another.

   Detailed discussion on what is the "right" solution is out of the
   scope; it is not the goal of this memo to try to find the "best"
   addressing solution for everyone.

3.  Problem with /127 and Two Routers

   Note that this problem does not exist between a router and a host,
   assuming the PREFIX::0/127 address is assigned to the router.

   Using /127 can be especially harmful on a point-to-point link when
   Subnet-router anycast address is implemented.  Consider the following
   sequence of events:

   1. Router A and Router B are connected by a point-to-point link.

   2. Neither has anything configured or set up on this link.

   3. 3ffe:ffff::1/127 address is added to Router A; now it performs
      Duplicate Address Detection (DAD) [NDISC] for 3ffe:ffff::1.
      Router A also adds the Subnet-router anycast address
      3ffe:ffff::0/127.  (DAD is not performed for anycast addresses.)

   4. Now Router B has been planned and configured to use
      3ffe:ffff::0/127 as its unicast IPv6 address, but adding it will
      fail DAD, and Router B does not have any address.

   Similar scenarios also happen during router reboots, crashes and
   such.

   The usability of subnet-router anycast address between two routers on
   a point-to-point link is very questionable, but it is still a
   mandated feature of [ADDRARCH].  Workarounds for this are presented
   in the next section.

   As of yet, this kind of unexpected behavior hasn't been seen at large
   perhaps because the Subnet-router anycast address hasn't been
   implemented or too widely used.

Savola                       Informational                      [Page 2]
RFC 3627         /127 Prefix Length Considered Harmful    September 2003

4.  Solutions

   1. One could use /64 for subnets, including point-to-point links.

   2. One could use only link-local addresses, but that may make network
      maintenance and debugging impractical at least in bigger networks;
      for example, "traceroute" can only return a list of nodes on the
      path, not the links which would have been used.

   3. Failing that, /126 does not have this problem, and it can be used
      safely on a point-to-point link (e.g., using the 2nd and the 3rd
      address for unicast).  This is analogous to using /30 for IPv4.
      Using two /128 addresses is also one, though often cumbersome,
      approach.  Naturally, not much would be lost if even a shorter
Show full document text