CentralNic 注册局系统的历史

2021年3月18日 | 分类: 域名注册服务商

《CentralNic 注册局系统的历史》

原文网址:https://centralnicregistry.com/about/news/2021-03-05-history
发布日期:2021年3月5日 周五
翻译作者:雲將(dotwiki.com)

CentralNic 的故事可追溯到四分之一个世纪之前,即 1996 年(那年诞生了辣妹合唱团、毁灭公爵 3D、微软浏览器 IE3 和 DVD 等,诸如此类),当时 Stephen Dyer(译者按:CentraNic 的创始人)启动了 NomiNation 项目,在 .UK.COM 域名下提供三级注册。一直以来,我们开发并维护了自己的内部注册局系统。自启动以来,注册局系统的规模和成熟度都在增长,现已成为新域名后缀的领先域名注册局平台。

以下是至少有 20 年历史的内部文档的编辑版本。最近一条于 2006 年加入。这是一个引人好奇的历史文物,它描述了一些 CentralNic 曾经采用过的神秘的(古老的)技术。至于其作者的真实身份:未知;历史准确性:未知。

$Id: history.txt,v 1.14 2006/10/13 21:59:22 gavin Exp $

(译者按:此处的 gavin 应该是 Gavin Brown ,目前担任 CentraNic 的 Head of Registry Services)

CentralNic 注册局系统的历史

以”N”开头的版本是 NomiNation 品牌体系,以”C”开头的版本是 CentralNic 品牌体系。

NomiNation 是 CentralNic 的前身:Steve Dyer 与 Laszlo Hasenau(UK.COM 的最初持有人)合作,于 1994 年创建了一个基于二级域名的注册局。该公司于 2000 年成立后并入 CentralNic 公司(https://www.centralnic.com/company/news/2000/launch)。

1995~1997年: N0 版

构建在 Altos 386 计算机系统(https://en.wikipedia.org/wiki/Altos_Computer_Systems)上,运行 Informix 系统(https://en.wikipedia.org/wiki/IBM_Informix)。这个时代的域名存量很少。由 Steven Dyer 使用 UUCP 协议(https://en.wikipedia.org/wiki/UUCP)编写代码,将系统设置信息迁移到 SunOS/Solaris 平台,定期重建 UK.COM 的区域文件(zonefile)。尚未实现自动化,一切都是手动操作。

后来,J. Bean(他以自己的名字命名了一个 Perl 包:Jelly::Bean ,它在相当长一段时间内是 NomiNation 代码中有趣的组成部分),在 Solaris 平台上写了一个自动处理程序,能够识别格式正确的电子邮件域名申请模板(译者按:早年的域名申请是通过电子邮件模式发送指定格式的域名申请模板而实现的),并使用Msql(miniSQL,https://en.wikipedia.org/wiki/MSQL)作为数据库。每当有人运行这个自动处理程序时,系统将进行非常基础的信息验证,然后把请求放入“队列”等待手工处理。

1997~1998年: N1 版

由 Craig B. 构建,在 Solaris 2.5.1 平台上使用 Perl 和 Shell 脚本编写,使用 MySQL 作为数据库。在此系统中,从 Altos系统导入的账单数据会出现各种数据异常。这些数据包括从 Altos 系统导入的数据和电子邮件模式提交的数据。数据完整性和数据流仍然是一个主要问题,系统仍然“混乱”。当时的账单系统使用 Nroff (译者按:Linux 下的 nroff 命令,是 new runoff 的缩写,用于格式化文档以进行显示或固定宽度打印。https://en.wikipedia.org/wiki/Nroff)来格式化账单。没有财务审计和基础会计。网页界面尚未列入议程,大多数工作都是使用命令行控制台界面完成。

关键日期:

1997-12-12 – 数据导入错误:所有从 Altos 系统导入的域名的过期日期被设置为这个日期。

1998 ~ 2000年4月: N2 版

由 Paul H 和 Joel R 编写,随后由 Andy S 修改,以进行预开账单和其他奇怪的财务计算。第一次系统更新于2000年9月左右完成。直到2000年9月左右,该系统被应用于自动未经验证的域名注册,域名仍然被手动”批准”。

自动处理程序把域名申请模板处理为类似 NetworkSolutions(译者按:世界上第一家被授权的域名注册服务商,垄断域名市场多年)的模板格式。

账单被处理为 postscript 格式,直接输出到 LaserWriter 激光打印机。

关键日期:2000年2月 – 迁移到预开账单。

04/2000 – 迁移到 CentralNic,具有双重会计的联合品牌系统。

请注意,在此期间存在大量会计弊端。

2000年4月~2000年6月: C1 版

由 Andy S 编写,包括 N2 版在内的双重系统的一部分。在 NomiNation 系统和 CentralNic 系统上的域名的区别在于:每个域名的”品牌”标志不一样。

2000年6月~2001年3月: C2 版

由 Peter C 和 Rob A 编写. 使用 Perl 编程语言和 MySQL 数据库。这是要记入”历史”的第一版系统。

把自动处理程序的域名申请模板迁移到 Nominet/RIPE(译者按:Nominet 是英国互联网络信息中心;RIPE 是欧洲地区 IP 地址管理及分配机构)模板格式。

账单通过 LaTeX/postscript 格式输出到打印机。

关键日期:

2000年6月 – 迁移到 C2 版导致一些预开账单被错误签发

2001年3月~2004年12月: C3 版

由 Joel R、Gavin Brown 等人编写。这个系统不再把集成到自动处理程序作为唯一的域名注册方法,而是为不同的任务使用相应的模块。同时,也第一次采用 DataCash(译者注:英国上市支付服务提供商)作为信用卡结算方式。

账单以 PDF 格式生成,被转换为 postscript 格式后输出到打印机。

随后的创新包括基于 HTTP 协议的实时分销商 API、推广联盟计划、电子邮件账单以及丰富的内部和外部网络。

关键日期:2002年4月 – 迁移到完整域名生命周期

2004年12月 ~ 目前: C3.1 (C4 版)

由 Gavin Brown、Jon H 等人编写。此系统使用与 C3 版相同的数据库和基础架构,但使用对象类库来减少重复代码和裸 SQL。基于 PHP5 和 DB_DataObject(译者按:一个PEAR包,一个完整的数据对象封装器)。密切参与到为 .LA 域名(译者按:.LA 是老挝国家代码顶级域名)开发的 GRS 注册局系统。

The History of the CentralNic Registry System

URL: https://centralnicregistry.com/about/news/2021-03-05-history

Friday, March 5th, 2021

CentralNic’s story goes back more than a quarter of a century, to 1996 (the year that gave birth to the Spice Girls, Duke Nukem 3D, Internet Explorer 3 and DVDs, amongst others), when NomiNation was launched, offering third-level registrations under the .UK.COM domain name. Throughout all that time, we’ve developed and maintained our own in-house registry systems. In the time since its launch, the registry system has grown in both its scale and maturity, and is now the leading domain registry platform for new TLDs.

What follows is an edited version of an internal document that is at least 20 years old. Its final entry was added in 2006. It is a curious historical artefact, which describes some of the arcane (and archaic) technology upon which the CentralNic registry system was once based. The true identity of its author(s), and its level of historical accuracy, are unfortunately unknown.

$Id: history.txt,v 1.14 2006/10/13 21:59:22 gavin Exp $

The History of the CentralNic Registry System

Versions beginning “N” are NomiNation-branded systems, versions beginning “C” are CentralNic-branded systems.

NomiNation was the predecessor company to CentralNic: Steve D went into partnership with Laszlo H (who was the original owner of UK.COM) to create a second-level domain registry in 1994. The company was folded into CentralNic upon its incorporation in 2000.

1995-1997: N0

Built on an Altos 386, running Informix. Very few domains still exist from this era. Coded by Steve D. Used UUCP protocols to transfer system setup information to a SunOS/Solaris box, which at regular intervals, rebuilt the UK.COM zonefile. There was no automaton and everything was manual.

Later on, J. Bean (who named a Perl package, Jelly::Bean after himself which was an amusingly integral part of the NomiNation code for quite some time), wrote an automaton on Solaris, that was capable of taking in correctly formatted email templates, and used Msql (miniSQL) as a back end. The system would do very basic validation of information, and then ‘queue’ the request, for manual processing, whenever anyone had time to run the script.

1997-1998: N1

Built by Craig B. System was writted in Perl and shell-script under Solaris 2.5.1, with a MySQL back-end. Various data anomalies appear in this system as a result of the port of invoice data from the Altos. Still taking data from the Altos system, as well as email submissions, data integrity and flow was still a major issue, the system was still ‘messy’. The invoicing system at the time was written to use Nroff to format invoices 🙂 There was no financial auditing and basic accounting. A web interface at this point had not been discussed at all, and most jobs were done using a command line console interface.

Key dates:

12/12/1997 – expiry dates set to this for all imported Altos stuff as a result of bugger-up import.

1998 – April 2000: N2

Written by Paul H and Joel R, and subsequently altered by Andy S to do proforma invoicing and other strange financial calculations. First renewal run completed around September 2000. Domain names were still manually “approved” up until around September 2000, when the system was placed onto automatic unvalidated registrations.

Automaton handled templates which looked like the Network Solutions template format.

Invoicing was handled as postscript documents which were sent directly to the Laserwriter printer.

Key dates: 02/2000 – move to proforma invoicing.

04/2000 – move to CentralNic, cobranded system with dual accounting.

Note that there are a *lot* of accounting evilnesses around this time.

April 2000 – June 2000: C1

Written by Andy S, part of the dual system which had N2 in it. Difference between NomiNation and CentralNic domains was with the inclusion of a “branding” flag associated with each domain.

June 2000 – March 2001: C2

Written by Peter C and Rob A. Used Perl and MySQL. First version of system to log as “History”.

A move was made to an automaton template format which resembled the Nominet/RIPE template format.

Invoicing was printed via LaTeX/postscript piped to a printer.

Key dates:

06/2000 – move to C2 caused some proformas to be issued in error

March 2001 – December 2004: C3

Written by Joel R, Gavin Brown, and others. First system which used modules for different tasks rather than integrating automaton as sole method of registration. Also first version to use Datacash as a credit card clearance method.

Invoicing is generated from PDF documents which are translated to postscript and piped to the printer.

Subsequent innovations included a real-time HTTP based reseller API, an affiliates scheme, e-mail invoicing and rich intra- and extranets.

Key dates: 04/2002 – move to full domain lifecycle

December 2004 – Present: C3.1 (C4)

Written by Gavin Brown, Jon H, and others. This system was built using the same database schema and underlying architecture as C3 but used a library of object classes to reduce duplicate code and naked SQL. Based on PHP5 and DB_DataObject. Closely associated with the GRS registry system developed for the .LA ccTLD.