Requests for comment/IPv6 contributions and talk pages

This is a request for comments regarding IPv6 contributions and talk pages.

Request for comment (RFC)
IPv6 contributions and talk pages
Component General
Creation date
Author(s) ChiveFungi
Document status declined

Background edit

In IPv4 addressing, a single address typically represents a site. For example all IPv4 connections from one person’s house would typically come from a single address. Or all connections from a high school. Or all connections from one university building.

Thus it makes sense for MediaWiki administrators to block a single address at a time, and it makes sense to show one talk page and one list of contributions for each address.

Problem edit

IPv4 was not sustainable, and is currently being phased out and replaced by IPv6. Assumptions which applied to IPv4 do not always hold with IPv6. As it applies to MediaWiki, the assumption that has been made is that one IP address is a useful level of granularity. That was true for IPv4, but not for IPv6.

If you have a router interface with 2001:db8:aaaa:aaaa::/64 assigned to it and you are using SLAAC, different clients on the network (or the same client) may have the following IP addresses (simultaneously, or at different times):

  • 2001:db8:aaaa:aaaa:538:eee7:a9b4:4492
  • 2001:db8:aaaa:aaaa:15ea:818d:bffb:857c
  • 2001:db8:aaaa:aaaa:6dc0:49b2:e5ad:9508
  • 2001:db8:aaaa:aaaa:c8e1:8a62:7d7a:9b67

The latter half of each address is totally random, and the address will be discarded after a short period of time. So if you see an edit made 1 hour ago from an IPv6 address, there’s no point putting a message on their talk page because they probably stopped using the address already, and will likely never use the address ever again.

At the moment in MediaWiki, if you wanted to get in touch with a user (or users) connecting from the above addresses, you would need to edit 264 talk pages. And if you wanted to see all of their contributions, you would need to visit 264 user contribution pages (unless you had access to admin tools). This is impractical to the point that you would be justified in calling it impossible.

With IPv6, consumer ISPs typically issue one /64 to each customer. So for users connecting from home, using a /64 for IPv6 would be roughly equivalent to using one address with IPv4. Some consumer ISPs will use CGN so that one IPv4 address could represent thousands of users (this is more common in mobile providers, but is becoming fairly common in fixed-line providers too).

Larger deployments might use a /48 for each site and a /64 for each interface of each router within that site. Whereas in IPv4 land, you’d typically only see one address coming out of the site due to NAT.

Proposal edit

I believe the correct level of granularity for IPv6 addresses is the /64. This is because it allows looking at the contributions of and getting in touch with most IPv6 users, while simultaneously granting a similar or greater level of granularity than typically provided by a single IPv4 address.

As such, there should be one contributions page per /64, and one talk page per /64.

Old URLs:

  • /wiki/Special:Contributions/2001:DB8:AAAA:AAAA:C8E1:8A62:7D7A:9B67
  • /wiki/Special:Contributions/2001:DB8:AAAA:AAAA:6DC0:49b2:E5AD:9508
  • /wiki/User_talk:2001:DB8:AAAA:AAAA:C8E1:8A62:7D7A:9B67
  • /wiki/User_talk:2001:DB8:AAAA:AAAA:6DC0:49b2:E5AD:9508

New URLs:

  • /wiki/Special:Contributions/2001:DB8:AAAA:AAAA::/64
  • /wiki/User_talk:2001:DB8:AAAA:AAAA::/64

It is necessary to include /64 in the URL because 2001:DB8:AAAA:AAAA:: is a valid address and there may already be a talk page at that address.