[NNTP] 32 bit article counters

Steve Walker nntp at nntpserver.com
Fri Jul 8 14:28:41 PDT 2005


Russ has already heard most of this in private, but I thought I 
would post it here.

Russ Allbery wrote:
>  * It's likely that eventually some newsgroup will, in a normal
>    configuration, overflow a 32-bit counter.  My calculations indicate
>    that it's likely to take another 20 years or so, but assuming that

There can be many theories on how to estimate the point of 
collapse (I calculate <8 years), but I think everyone can agree 
that it will happen at some point.  NNTP V2 is the correct place 
to solve this problem.  If we solve it now, everyone can quit 
wasting their time talking about it.

>  * Arbitrary limits are bad and should be avoided wherever possible.

Which is how RFC977 solved it.

>    Requiring 64-bit article IDs would immediately declare out of
>    compliance quite a lot of existing software and using them in practice
>    would break quite a bit of software.  (Let alone arbitrary numbers.
>    Adding a bignum library to news software to be able to do range
>    calculations and range compaction seems like it's asking a lot to me.)

They are already non RFC977 compliant.  The developers choose to 
use 32 bit counters and they saw it as an acceptable trade off. 
In the real world, nothing changes if we declare no limits or 
even 64 bit limits.  Their software breaks at 2^32 regardless of 
what the protocol says.  If the protocol specifies 64 bit 
counters we have the hope that software will be updated in time. 
  If the new protocol specifies 32 bit counters we have no hope 
and the existing RFC977 compliant software become non-complaint. 
  This is very similar to Y2K problems.  Had software developers 
used 4 digit years in the first place there wouldn't have been 
any Y2K issues.

>  * Availability of 64-bit integers is only now becoming widespread, and
>    weren't widespread when this question was first considered by the
>    working group.

Personally, I feel that any protocol that deals with text based 
numbers should not place any restrictions other than line length. 
    If people feel some overwhelming need to place limits in the 
protocol then either 1) use a limit that is large enough that it 
doesn't matter or 2) specify what should happen when the limit is 
reached.

The current protocol specifies that high counters can't be less 
than low counters and you can't exceed 2^32-1.  You can't have 
both without breaking stuff.

> My personal preference (not speaking as chair) would be to leave this
> limit as is and deal with large article numbers via an extension.  The

It is more logical to not change RFC977 limits in a non 
compatible way.  Nothing changed means nothing broken.

> On the question of timing, while it is in theory possible to put the
> brakes on publication of the revised document at this stage, I believe it

Making a major non-RFC977 compatible change is serious enough to 
warrant removing one line and leaving the existing RFC977 rules 
unchanged.

> Note that this is a long-standing point of discussion for this working
> group.  We first reached consensus on the current text about eight years
> ago; Clive was the one who drafted it originally.  Since then, the topic

Eight years ago no one thought there would be 6 million articles 
posted each day, year here we are and still growing.  In another 
eight years you can expect that number to be over 100+ million 
per day.  Protocols need to consider the future, not just what 
happens today.  Which is why the RFC977 didn't place a limit and 
allowed the software developers the freedom to adapt to current 
needs.

Steve Walker
NNTPServer.com






More information about the ietf-nntp mailing list