INFORMATIONAL

Network Working Group S. Glassman Request for Comments: 2550 M. Manasse Category: Stinkards Track J. Mogul Compaq Computer Corporation 1 April 1999 Y10K and Beyond 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 (1999). All Rights Reserved. Abstract As we approach the end of the millennium, much attention has been paid to the so-called "Y2K" problem. Nearly everyone now regrets the short-sightedness of the programmers of yore who wrote programs designed to fail in the year 2000. Unfortunately, the current fixes for Y2K lead inevitably to a crisis in the year 10,000 when the programs are again designed to fail. This specification provides a solution to the "Y10K" problem which has also been called the "YAK" problem (hex) and the "YXK" problem (Roman numerals). 1 . Introduction, Discussion, and Related Work Glassman, et. al. Informational [Page 1]

RFC 2550 Y10K and Beyond 1 April 1999 1.1 Current approaches UNIX] wraps in 2038. A 32-bit counter for the number of milli-seconds since booting crashes a Windows (TM) PC in 49.7 days [Microsoft]. In this specification, we focus on the Y10K problems since they are most common and a large number of existing standards and protocols are susceptible to them (section 7). These standards, and new proposals on their way, will lead to a serious world-wide problem unless efforts are made now to correct the computing, government, and business communities. Already, a small cottage industry is popping up to deal with the Y10K problem [YUCK]. We encourage these efforts and, in the coming years, this effort can only grow in size and importance. 1.2 A Fixed Format Y10K Fix Wilborne] directly deals with the Y10K problem. In that proposal, dates are represented as decimal numbers with the dates compared numerically. The proposed format is simply YYYYYMMDD - i.e. 5-digit years. To allow numerical comparison of dates, this representation requires a completely fixed representation for the date. There can be no optional fields, the date resolution is limited to the granularity of one day, and this solution fails in the year 100,000 (Y100K). Glassman, et. al. Informational [Page 2]

RFC 2550 Y10K and Beyond 1 April 1999 1.2.2 Limitations of Numerical Comparison 1.2.3 Granularity Issues 1.2.3.1 Extrapolation of Future Granularity Issues 1.2.3.2 Floating Point Is No Solution Glassman, et. al. Informational [Page 3]

RFC 2550 Y10K and Beyond 1 April 1999 2 Structure of Y10K Solution 2.1 Compatibility 2.2 Simplicity and Efficiency 2.3 Lexical Sorting 2.4 Future Extensibility 2.4.1 Environmental Considerations Zebu] as between 10 ** 10 and 2 * 10 ** 10 years. The death of the universe is estimated in [Nigel] to occur in 10 ** 11 - years and in [Drake] as occurring either in 10 ** 12 years for a closed universe (the big crunch) or 10 ** 14 years for an open universe (the heat death of the universe). In any case, the prevailing belief is that the life of the universe (and thus the range of possible dates) is finite. Glassman, et. al. Informational [Page 4]

RFC 2550 Y10K and Beyond 1 April 1999 2.4.2 Transcending Environmental Considerations 3 Syntax Overview NRAO]. When comparing dates, a date precedes every other date for which it is a prefix. So, the date "19990401000000" precedes the date "19990401000000000". In particular, dates with the format YYYYMMDD are interpreted to represent the exact instant that the day begins and precede any other date contained in that day. 3.1 Years 1 - 9999 Mike] dates will have to be converted. 3.2 Years 10,000 through 99,999 Glassman, et. al. Informational [Page 5]

RFC 2550 Y10K and Beyond 1 April 1999 3.3 Years 100,000 up to 10 ** 30 3.4 Years 10 ** 30 and beyond (Y10**30) 3.4.1 Naive Approach for Y10**30 Problem Glassman, et. al. Informational [Page 6]

RFC 2550 Y10K and Beyond 1 April 1999 3.4.2 Space Efficient Approach for Y10**30 Problem 3.4.2.1 Years 10 ** 30 to 10 ** 56 3.4.2.2 Years 10 ** 56 to 10 ** 732 3.4.2.3 Years 10 ** 732 to 10 ** 18308 3.4.2.4 General Format for Y10K Dates Glassman, et. al. Informational [Page 7]

RFC 2550 Y10K and Beyond 1 April 1999 3.5 B.C.E. (Before Common Era) Years Glassman, et. al. Informational [Page 8]

RFC 2550 Y10K and Beyond 1 April 1999 3.6 Restrictions on Y10K Dates Glassman, et. al. Informational [Page 9]

RFC 2550 Y10K and Beyond 1 April 1999 4 ABNF Crocker] gives the formal syntax for Y10K years. The initial characters definitions are given in their lexical collation (ASCII) order. exclamation = '!' star = '*' slash = '/' digit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 letter = A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z caret = '^' year = [*(caret | exclamation) | star | slash ] [ *letter ] *digit month = 2digit day = 2digit hour = 2digit minute = 2digit second = 2digit fraction = *digit date = year [ month [ day [ hour [ minute [ second [ fraction ]]]]]] 5 Open Issues Glassman, et. al. Informational [Page 10]

RFC 2550 Y10K and Beyond 1 April 1999 6 Affected Standards rfc2459: Internet X.509 Public Key Infrastructure Certificate and CRL Profile rfc2326: Real Time Streaming Protocol (RTSP) rfc2311: ODETTE File Transfer Protocol rfc2280: Routing Policy Specification Language (RPSL) rfc2259: Simple Nomenclator Query Protocol (SNQP) rfc2244: ACAP -- Application Configuration Access Protocol rfc2167: Referral Whois (RWhois) Protocol V1.5 rfc2065: Domain Name System Security Extensions rfc2060: Internet Message Access Protocol - Version 4rev1 rfc1922: Chinese Character Encoding for Internet Messages rfc1912: Common DNS Operational and Configuration Errors rfc1903: Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2) rfc1521: MIME (Multipurpose Internet Mail Extensions) Part One: rfc1123: Requirements for Internet hosts - application and support The following standards internally represent years as 16-bit numbers (0..65536) and are affected by this proposal: rfc2021: Remote Network Monitoring Management Information Base Version 2 using SMIv2 rfc1514: Host Resources MIB The following ISO standard is affected: ISO8601: International Date Format 8 Security Considerations Glassman, et. al. Informational [Page 11]

RFC 2550 Y10K and Beyond 1 April 1999 12 . Full Copyright Statement